about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.circleci/config.yml6
-rw-r--r--.devcontainer/Dockerfile24
-rw-r--r--.devcontainer/devcontainer.json26
-rw-r--r--.devcontainer/docker-compose.yml84
-rw-r--r--.rubocop.yml3
-rw-r--r--AUTHORS.md639
-rw-r--r--CHANGELOG.md198
-rw-r--r--Gemfile7
-rw-r--r--Gemfile.lock179
-rw-r--r--SECURITY.md18
-rw-r--r--app/chewy/statuses_index.rb2
-rw-r--r--app/controllers/admin/custom_emojis_controller.rb3
-rw-r--r--app/controllers/admin/domain_blocks_controller.rb4
-rw-r--r--app/controllers/admin/instances_controller.rb26
-rw-r--r--app/controllers/api/v1/emails/confirmations_controller.rb4
-rw-r--r--app/controllers/api/v1/notifications_controller.rb19
-rw-r--r--app/controllers/api/v1/statuses_controller.rb1
-rw-r--r--app/controllers/auth/omniauth_callbacks_controller.rb6
-rw-r--r--app/helpers/application_helper.rb2
-rw-r--r--app/helpers/jsonld_helper.rb10
-rw-r--r--app/helpers/languages_helper.rb18
-rw-r--r--app/helpers/statuses_helper.rb12
-rw-r--r--app/javascript/flavours/glitch/components/admin/Counter.js6
-rw-r--r--app/javascript/flavours/glitch/components/media_attachments.js119
-rw-r--r--app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.js12
-rw-r--r--app/javascript/flavours/glitch/features/report/components/status_check_box.js49
-rw-r--r--app/javascript/flavours/glitch/features/ui/components/compare_history_modal.js20
-rw-r--r--app/javascript/flavours/glitch/locales/af.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ckb.js7
-rw-r--r--app/javascript/flavours/glitch/locales/es-MX.js7
-rw-r--r--app/javascript/flavours/glitch/locales/gd.js7
-rw-r--r--app/javascript/flavours/glitch/locales/kw.js7
-rw-r--r--app/javascript/flavours/glitch/locales/pa.js7
-rw-r--r--app/javascript/flavours/glitch/locales/si.js7
-rw-r--r--app/javascript/flavours/glitch/locales/szl.js7
-rw-r--r--app/javascript/flavours/glitch/locales/tai.js7
-rw-r--r--app/javascript/flavours/glitch/locales/tt.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ug.js7
-rw-r--r--app/javascript/flavours/glitch/styles/admin.scss50
-rw-r--r--app/javascript/flavours/glitch/styles/components/index.scss35
-rw-r--r--app/javascript/flavours/glitch/styles/components/modal.scss41
-rw-r--r--app/javascript/flavours/glitch/styles/components/status.scss2
-rw-r--r--app/javascript/flavours/glitch/styles/mastodon-light/diff.scss22
-rw-r--r--app/javascript/flavours/glitch/styles/tables.scss18
-rw-r--r--app/javascript/mastodon/components/admin/Counter.js6
-rw-r--r--app/javascript/mastodon/components/media_attachments.js116
-rw-r--r--app/javascript/mastodon/features/explore/index.js2
-rw-r--r--app/javascript/mastodon/features/getting_started/index.js14
-rw-r--r--app/javascript/mastodon/features/hashtag_timeline/components/column_settings.js12
-rw-r--r--app/javascript/mastodon/features/report/components/status_check_box.js52
-rw-r--r--app/javascript/mastodon/features/ui/components/compare_history_modal.js20
-rw-r--r--app/javascript/mastodon/features/ui/components/navigation_panel.js2
-rw-r--r--app/javascript/mastodon/features/ui/components/tabs_bar.js6
-rw-r--r--app/javascript/mastodon/locales/af.json8
-rw-r--r--app/javascript/mastodon/locales/ar.json66
-rw-r--r--app/javascript/mastodon/locales/ast.json78
-rw-r--r--app/javascript/mastodon/locales/bg.json8
-rw-r--r--app/javascript/mastodon/locales/bn.json8
-rw-r--r--app/javascript/mastodon/locales/br.json8
-rw-r--r--app/javascript/mastodon/locales/ca.json202
-rw-r--r--app/javascript/mastodon/locales/ckb.json543
-rw-r--r--app/javascript/mastodon/locales/co.json8
-rw-r--r--app/javascript/mastodon/locales/cs.json8
-rw-r--r--app/javascript/mastodon/locales/cy.json8
-rw-r--r--app/javascript/mastodon/locales/da.json300
-rw-r--r--app/javascript/mastodon/locales/de.json6
-rw-r--r--app/javascript/mastodon/locales/defaultMessages.json48
-rw-r--r--app/javascript/mastodon/locales/el.json8
-rw-r--r--app/javascript/mastodon/locales/en.json6
-rw-r--r--app/javascript/mastodon/locales/eo.json72
-rw-r--r--app/javascript/mastodon/locales/es-AR.json86
-rw-r--r--app/javascript/mastodon/locales/es-MX.json116
-rw-r--r--app/javascript/mastodon/locales/es.json22
-rw-r--r--app/javascript/mastodon/locales/et.json8
-rw-r--r--app/javascript/mastodon/locales/eu.json86
-rw-r--r--app/javascript/mastodon/locales/fa.json8
-rw-r--r--app/javascript/mastodon/locales/fi.json6
-rw-r--r--app/javascript/mastodon/locales/fr.json8
-rw-r--r--app/javascript/mastodon/locales/ga.json6
-rw-r--r--app/javascript/mastodon/locales/gd.json6
-rw-r--r--app/javascript/mastodon/locales/gl.json86
-rw-r--r--app/javascript/mastodon/locales/he.json8
-rw-r--r--app/javascript/mastodon/locales/hi.json8
-rw-r--r--app/javascript/mastodon/locales/hr.json8
-rw-r--r--app/javascript/mastodon/locales/hu.json12
-rw-r--r--app/javascript/mastodon/locales/hy.json8
-rw-r--r--app/javascript/mastodon/locales/id.json86
-rw-r--r--app/javascript/mastodon/locales/io.json8
-rw-r--r--app/javascript/mastodon/locales/is.json6
-rw-r--r--app/javascript/mastodon/locales/it.json6
-rw-r--r--app/javascript/mastodon/locales/ja.json70
-rw-r--r--app/javascript/mastodon/locales/ka.json8
-rw-r--r--app/javascript/mastodon/locales/kab.json22
-rw-r--r--app/javascript/mastodon/locales/kk.json8
-rw-r--r--app/javascript/mastodon/locales/kmr.json541
-rw-r--r--app/javascript/mastodon/locales/kn.json8
-rw-r--r--app/javascript/mastodon/locales/ko.json92
-rw-r--r--app/javascript/mastodon/locales/ku.json1078
-rw-r--r--app/javascript/mastodon/locales/kw.json8
-rw-r--r--app/javascript/mastodon/locales/locale-data/sa.js97
-rw-r--r--app/javascript/mastodon/locales/lt.json8
-rw-r--r--app/javascript/mastodon/locales/lv.json6
-rw-r--r--app/javascript/mastodon/locales/mk.json8
-rw-r--r--app/javascript/mastodon/locales/ml.json8
-rw-r--r--app/javascript/mastodon/locales/mr.json8
-rw-r--r--app/javascript/mastodon/locales/ms.json8
-rw-r--r--app/javascript/mastodon/locales/nl.json8
-rw-r--r--app/javascript/mastodon/locales/nn.json8
-rw-r--r--app/javascript/mastodon/locales/no.json8
-rw-r--r--app/javascript/mastodon/locales/oc.json8
-rw-r--r--app/javascript/mastodon/locales/pa.json8
-rw-r--r--app/javascript/mastodon/locales/pl.json8
-rw-r--r--app/javascript/mastodon/locales/pt-BR.json54
-rw-r--r--app/javascript/mastodon/locales/pt-PT.json84
-rw-r--r--app/javascript/mastodon/locales/ro.json8
-rw-r--r--app/javascript/mastodon/locales/ru.json70
-rw-r--r--app/javascript/mastodon/locales/sa.json8
-rw-r--r--app/javascript/mastodon/locales/sc.json8
-rw-r--r--app/javascript/mastodon/locales/si.json12
-rw-r--r--app/javascript/mastodon/locales/sk.json66
-rw-r--r--app/javascript/mastodon/locales/sl.json86
-rw-r--r--app/javascript/mastodon/locales/sq.json6
-rw-r--r--app/javascript/mastodon/locales/sr-Latn.json8
-rw-r--r--app/javascript/mastodon/locales/sr.json8
-rw-r--r--app/javascript/mastodon/locales/sv.json32
-rw-r--r--app/javascript/mastodon/locales/szl.json8
-rw-r--r--app/javascript/mastodon/locales/ta.json8
-rw-r--r--app/javascript/mastodon/locales/tai.json8
-rw-r--r--app/javascript/mastodon/locales/te.json8
-rw-r--r--app/javascript/mastodon/locales/th.json64
-rw-r--r--app/javascript/mastodon/locales/tr.json8
-rw-r--r--app/javascript/mastodon/locales/tt.json14
-rw-r--r--app/javascript/mastodon/locales/ug.json8
-rw-r--r--app/javascript/mastodon/locales/uk.json12
-rw-r--r--app/javascript/mastodon/locales/ur.json8
-rw-r--r--app/javascript/mastodon/locales/vi.json118
-rw-r--r--app/javascript/mastodon/locales/whitelist_ckb.json (renamed from app/javascript/mastodon/locales/whitelist_kmr.json)0
-rw-r--r--app/javascript/mastodon/locales/zgh.json8
-rw-r--r--app/javascript/mastodon/locales/zh-CN.json10
-rw-r--r--app/javascript/mastodon/locales/zh-HK.json8
-rw-r--r--app/javascript/mastodon/locales/zh-TW.json12
-rw-r--r--app/javascript/styles/mastodon-light/diff.scss20
-rw-r--r--app/javascript/styles/mastodon/admin.scss50
-rw-r--r--app/javascript/styles/mastodon/components.scss8
-rw-r--r--app/javascript/styles/mastodon/tables.scss18
-rw-r--r--app/lib/activitypub/activity.rb10
-rw-r--r--app/lib/activitypub/activity/update.rb4
-rw-r--r--app/lib/admin/metrics/dimension.rb2
-rw-r--r--app/lib/admin/metrics/dimension/instance_accounts_dimension.rb35
-rw-r--r--app/lib/admin/metrics/dimension/instance_languages_dimension.rb37
-rw-r--r--app/lib/admin/metrics/measure.rb6
-rw-r--r--app/lib/admin/metrics/measure/base_measure.rb8
-rw-r--r--app/lib/admin/metrics/measure/instance_accounts_measure.rb58
-rw-r--r--app/lib/admin/metrics/measure/instance_followers_measure.rb59
-rw-r--r--app/lib/admin/metrics/measure/instance_follows_measure.rb59
-rw-r--r--app/lib/admin/metrics/measure/instance_media_attachments_measure.rb69
-rw-r--r--app/lib/admin/metrics/measure/instance_reports_measure.rb59
-rw-r--r--app/lib/admin/metrics/measure/instance_statuses_measure.rb60
-rw-r--r--app/lib/delivery_failure_tracker.rb2
-rw-r--r--app/lib/feed_manager.rb2
-rw-r--r--app/lib/rss/serializer.rb2
-rw-r--r--app/models/admin/account_action.rb14
-rw-r--r--app/models/admin/status_batch_action.rb4
-rw-r--r--app/models/concerns/account_merging.rb7
-rw-r--r--app/models/concerns/omniauthable.rb23
-rw-r--r--app/models/domain_block.rb8
-rw-r--r--app/models/featured_tag.rb4
-rw-r--r--app/models/instance.rb36
-rw-r--r--app/models/instance_filter.rb16
-rw-r--r--app/models/notification.rb24
-rw-r--r--app/models/preview_card.rb4
-rw-r--r--app/models/report.rb16
-rw-r--r--app/models/status.rb132
-rw-r--r--app/models/status_edit.rb52
-rw-r--r--app/serializers/activitypub/note_serializer.rb6
-rw-r--r--app/serializers/rest/admin/measure_serializer.rb10
-rw-r--r--app/serializers/rest/status_edit_serializer.rb10
-rw-r--r--app/serializers/rest/status_serializer.rb2
-rw-r--r--app/services/activitypub/fetch_remote_status_service.rb30
-rw-r--r--app/services/activitypub/process_status_update_service.rb40
-rw-r--r--app/services/fan_out_on_write_service.rb2
-rw-r--r--app/services/post_status_service.rb8
-rw-r--r--app/services/remove_status_service.rb2
-rw-r--r--app/services/update_status_service.rb23
-rw-r--r--app/views/admin/custom_emojis/new.html.haml2
-rw-r--r--app/views/admin/domain_blocks/edit.html.haml4
-rw-r--r--app/views/admin/domain_blocks/new.html.haml4
-rw-r--r--app/views/admin/domain_blocks/show.html.haml25
-rw-r--r--app/views/admin/instances/_exhausted_deliveries_days.haml2
-rw-r--r--app/views/admin/instances/_instance.html.haml28
-rw-r--r--app/views/admin/instances/index.html.haml19
-rw-r--r--app/views/admin/instances/show.html.haml156
-rw-r--r--app/views/admin/reports/_status.html.haml14
-rw-r--r--app/views/admin/reports/index.html.haml4
-rw-r--r--app/views/admin/trends/links/_preview_card.html.haml4
-rw-r--r--app/views/admin/trends/statuses/_status.html.haml6
-rw-r--r--app/views/disputes/strikes/show.html.haml2
-rw-r--r--app/views/notification_mailer/_status.html.haml4
-rw-r--r--app/views/statuses/_detailed_status.html.haml8
-rw-r--r--app/views/statuses/_og_image.html.haml2
-rw-r--r--app/views/statuses/_simple_status.html.haml8
-rw-r--r--app/views/user_mailer/warning.text.erb3
-rw-r--r--app/workers/admin/domain_purge_worker.rb2
-rw-r--r--config/application.rb2
-rw-r--r--config/initializers/content_security_policy.rb16
-rw-r--r--config/initializers/omniauth.rb41
-rw-r--r--config/initializers/pghero.rb1
-rw-r--r--config/initializers/rack_attack.rb4
-rw-r--r--config/locales-glitch/en.yml3
-rw-r--r--config/locales/activerecord.ca.yml4
-rw-r--r--config/locales/activerecord.ckb.yml17
-rw-r--r--config/locales/activerecord.da.yml4
-rw-r--r--config/locales/activerecord.fr.yml2
-rw-r--r--config/locales/activerecord.kmr.yml32
-rw-r--r--config/locales/activerecord.ku.yml23
-rw-r--r--config/locales/activerecord.nn.yml1
-rw-r--r--config/locales/activerecord.th.yml2
-rw-r--r--config/locales/activerecord.tt.yml2
-rw-r--r--config/locales/ar.yml85
-rw-r--r--config/locales/ast.yml62
-rw-r--r--config/locales/bg.yml1
-rw-r--r--config/locales/bn.yml2
-rw-r--r--config/locales/br.yml6
-rw-r--r--config/locales/ca.yml88
-rw-r--r--config/locales/ckb.yml1213
-rw-r--r--config/locales/co.yml20
-rw-r--r--config/locales/cs.yml22
-rw-r--r--config/locales/cy.yml13
-rw-r--r--config/locales/da.yml602
-rw-r--r--config/locales/de.yml88
-rw-r--r--config/locales/devise.ast.yml3
-rw-r--r--config/locales/devise.ca.yml2
-rw-r--r--config/locales/devise.ckb.yml115
-rw-r--r--config/locales/devise.da.yml38
-rw-r--r--config/locales/devise.eo.yml10
-rw-r--r--config/locales/devise.kmr.yml119
-rw-r--r--config/locales/devise.ku.yml178
-rw-r--r--config/locales/devise.zh-CN.yml12
-rw-r--r--config/locales/doorkeeper.ar.yml21
-rw-r--r--config/locales/doorkeeper.ast.yml11
-rw-r--r--config/locales/doorkeeper.bg.yml6
-rw-r--r--config/locales/doorkeeper.br.yml5
-rw-r--r--config/locales/doorkeeper.ca.yml43
-rw-r--r--config/locales/doorkeeper.ckb.yml143
-rw-r--r--config/locales/doorkeeper.co.yml6
-rw-r--r--config/locales/doorkeeper.cs.yml6
-rw-r--r--config/locales/doorkeeper.cy.yml6
-rw-r--r--config/locales/doorkeeper.da.yml45
-rw-r--r--config/locales/doorkeeper.de.yml43
-rw-r--r--config/locales/doorkeeper.el.yml33
-rw-r--r--config/locales/doorkeeper.eo.yml6
-rw-r--r--config/locales/doorkeeper.es-AR.yml43
-rw-r--r--config/locales/doorkeeper.es-MX.yml43
-rw-r--r--config/locales/doorkeeper.es.yml43
-rw-r--r--config/locales/doorkeeper.et.yml5
-rw-r--r--config/locales/doorkeeper.eu.yml43
-rw-r--r--config/locales/doorkeeper.fa.yml6
-rw-r--r--config/locales/doorkeeper.fi.yml33
-rw-r--r--config/locales/doorkeeper.fr.yml45
-rw-r--r--config/locales/doorkeeper.gd.yml6
-rw-r--r--config/locales/doorkeeper.gl.yml43
-rw-r--r--config/locales/doorkeeper.he.yml5
-rw-r--r--config/locales/doorkeeper.hr.yml4
-rw-r--r--config/locales/doorkeeper.hu.yml43
-rw-r--r--config/locales/doorkeeper.hy.yml6
-rw-r--r--config/locales/doorkeeper.id.yml10
-rw-r--r--config/locales/doorkeeper.is.yml43
-rw-r--r--config/locales/doorkeeper.it.yml43
-rw-r--r--config/locales/doorkeeper.ja.yml33
-rw-r--r--config/locales/doorkeeper.ka.yml5
-rw-r--r--config/locales/doorkeeper.kab.yml5
-rw-r--r--config/locales/doorkeeper.kk.yml5
-rw-r--r--config/locales/doorkeeper.kmr.yml154
-rw-r--r--config/locales/doorkeeper.ko.yml51
-rw-r--r--config/locales/doorkeeper.ku.yml245
-rw-r--r--config/locales/doorkeeper.lv.yml43
-rw-r--r--config/locales/doorkeeper.ml.yml3
-rw-r--r--config/locales/doorkeeper.nl.yml6
-rw-r--r--config/locales/doorkeeper.nn.yml6
-rw-r--r--config/locales/doorkeeper.no.yml6
-rw-r--r--config/locales/doorkeeper.oc.yml6
-rw-r--r--config/locales/doorkeeper.pl.yml6
-rw-r--r--config/locales/doorkeeper.pt-BR.yml27
-rw-r--r--config/locales/doorkeeper.pt-PT.yml43
-rw-r--r--config/locales/doorkeeper.ro.yml6
-rw-r--r--config/locales/doorkeeper.ru.yml36
-rw-r--r--config/locales/doorkeeper.sc.yml6
-rw-r--r--config/locales/doorkeeper.si.yml5
-rw-r--r--config/locales/doorkeeper.sk.yml9
-rw-r--r--config/locales/doorkeeper.sl.yml43
-rw-r--r--config/locales/doorkeeper.sq.yml43
-rw-r--r--config/locales/doorkeeper.sr-Latn.yml6
-rw-r--r--config/locales/doorkeeper.sr.yml6
-rw-r--r--config/locales/doorkeeper.sv.yml32
-rw-r--r--config/locales/doorkeeper.ta.yml1
-rw-r--r--config/locales/doorkeeper.th.yml43
-rw-r--r--config/locales/doorkeeper.tr.yml43
-rw-r--r--config/locales/doorkeeper.tt.yml3
-rw-r--r--config/locales/doorkeeper.uk.yml20
-rw-r--r--config/locales/doorkeeper.vi.yml43
-rw-r--r--config/locales/doorkeeper.zgh.yml5
-rw-r--r--config/locales/doorkeeper.zh-CN.yml49
-rw-r--r--config/locales/doorkeeper.zh-HK.yml6
-rw-r--r--config/locales/doorkeeper.zh-TW.yml43
-rw-r--r--config/locales/el.yml29
-rw-r--r--config/locales/en.yml58
-rw-r--r--config/locales/en_GB.yml1
-rw-r--r--config/locales/eo.yml24
-rw-r--r--config/locales/es-AR.yml90
-rw-r--r--config/locales/es-MX.yml144
-rw-r--r--config/locales/es.yml90
-rw-r--r--config/locales/et.yml13
-rw-r--r--config/locales/eu.yml59
-rw-r--r--config/locales/fa.yml22
-rw-r--r--config/locales/fi.yml56
-rw-r--r--config/locales/fr.yml110
-rw-r--r--config/locales/gd.yml119
-rw-r--r--config/locales/gl.yml94
-rw-r--r--config/locales/he.yml14
-rw-r--r--config/locales/hr.yml1
-rw-r--r--config/locales/hu.yml106
-rw-r--r--config/locales/hy.yml12
-rw-r--r--config/locales/id.yml85
-rw-r--r--config/locales/io.yml4
-rw-r--r--config/locales/is.yml90
-rw-r--r--config/locales/it.yml88
-rw-r--r--config/locales/ja.yml51
-rw-r--r--config/locales/ka.yml7
-rw-r--r--config/locales/kab.yml14
-rw-r--r--config/locales/kk.yml13
-rw-r--r--config/locales/kmr.yml1688
-rw-r--r--config/locales/ko.yml147
-rw-r--r--config/locales/ku.yml2478
-rw-r--r--config/locales/lt.yml12
-rw-r--r--config/locales/lv.yml91
-rw-r--r--config/locales/ms.yml18
-rw-r--r--config/locales/nl.yml19
-rw-r--r--config/locales/nn.yml15
-rw-r--r--config/locales/no.yml15
-rw-r--r--config/locales/oc.yml14
-rw-r--r--config/locales/pl.yml42
-rw-r--r--config/locales/pt-BR.yml42
-rw-r--r--config/locales/pt-PT.yml88
-rw-r--r--config/locales/ro.yml1
-rw-r--r--config/locales/ru.yml104
-rw-r--r--config/locales/sc.yml14
-rw-r--r--config/locales/si.yml9
-rw-r--r--config/locales/simple_form.ar.yml7
-rw-r--r--config/locales/simple_form.ast.yml2
-rw-r--r--config/locales/simple_form.ca.yml3
-rw-r--r--config/locales/simple_form.ckb.yml206
-rw-r--r--config/locales/simple_form.co.yml1
-rw-r--r--config/locales/simple_form.cs.yml2
-rw-r--r--config/locales/simple_form.cy.yml1
-rw-r--r--config/locales/simple_form.da.yml103
-rw-r--r--config/locales/simple_form.de.yml3
-rw-r--r--config/locales/simple_form.el.yml1
-rw-r--r--config/locales/simple_form.eo.yml6
-rw-r--r--config/locales/simple_form.es-AR.yml3
-rw-r--r--config/locales/simple_form.es-MX.yml12
-rw-r--r--config/locales/simple_form.es.yml3
-rw-r--r--config/locales/simple_form.et.yml1
-rw-r--r--config/locales/simple_form.eu.yml11
-rw-r--r--config/locales/simple_form.fa.yml2
-rw-r--r--config/locales/simple_form.fi.yml2
-rw-r--r--config/locales/simple_form.fr.yml5
-rw-r--r--config/locales/simple_form.gd.yml2
-rw-r--r--config/locales/simple_form.gl.yml5
-rw-r--r--config/locales/simple_form.hu.yml3
-rw-r--r--config/locales/simple_form.hy.yml1
-rw-r--r--config/locales/simple_form.id.yml3
-rw-r--r--config/locales/simple_form.is.yml3
-rw-r--r--config/locales/simple_form.it.yml3
-rw-r--r--config/locales/simple_form.ja.yml2
-rw-r--r--config/locales/simple_form.kab.yml1
-rw-r--r--config/locales/simple_form.kmr.yml231
-rw-r--r--config/locales/simple_form.ko.yml4
-rw-r--r--config/locales/simple_form.ku.yml351
-rw-r--r--config/locales/simple_form.lv.yml3
-rw-r--r--config/locales/simple_form.nl.yml1
-rw-r--r--config/locales/simple_form.nn.yml1
-rw-r--r--config/locales/simple_form.no.yml1
-rw-r--r--config/locales/simple_form.oc.yml1
-rw-r--r--config/locales/simple_form.pl.yml2
-rw-r--r--config/locales/simple_form.pt-BR.yml2
-rw-r--r--config/locales/simple_form.pt-PT.yml3
-rw-r--r--config/locales/simple_form.ro.yml1
-rw-r--r--config/locales/simple_form.ru.yml6
-rw-r--r--config/locales/simple_form.sc.yml1
-rw-r--r--config/locales/simple_form.sk.yml1
-rw-r--r--config/locales/simple_form.sl.yml3
-rw-r--r--config/locales/simple_form.sq.yml4
-rw-r--r--config/locales/simple_form.sv.yml1
-rw-r--r--config/locales/simple_form.th.yml8
-rw-r--r--config/locales/simple_form.tr.yml3
-rw-r--r--config/locales/simple_form.tt.yml2
-rw-r--r--config/locales/simple_form.uk.yml2
-rw-r--r--config/locales/simple_form.vi.yml25
-rw-r--r--config/locales/simple_form.zh-CN.yml11
-rw-r--r--config/locales/simple_form.zh-HK.yml2
-rw-r--r--config/locales/simple_form.zh-TW.yml3
-rw-r--r--config/locales/sk.yml15
-rw-r--r--config/locales/sl.yml52
-rw-r--r--config/locales/sq.yml100
-rw-r--r--config/locales/sr-Latn.yml7
-rw-r--r--config/locales/sr.yml12
-rw-r--r--config/locales/sv.yml22
-rw-r--r--config/locales/ta.yml1
-rw-r--r--config/locales/th.yml107
-rw-r--r--config/locales/tr.yml100
-rw-r--r--config/locales/tt.yml35
-rw-r--r--config/locales/uk.yml35
-rw-r--r--config/locales/vi.yml145
-rw-r--r--config/locales/zgh.yml1
-rw-r--r--config/locales/zh-CN.yml217
-rw-r--r--config/locales/zh-HK.yml19
-rw-r--r--config/locales/zh-TW.yml87
-rw-r--r--config/routes.rb2
-rw-r--r--db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb2
-rw-r--r--db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb2
-rw-r--r--db/migrate/20220302232632_add_ordered_media_attachment_ids_to_statuses.rb5
-rw-r--r--db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb8
-rw-r--r--db/migrate/20220307094650_fix_featured_tags_constraints.rb17
-rw-r--r--db/migrate/20220309213005_fix_reblog_deleted_at.rb9
-rw-r--r--db/migrate/20220316233212_update_kurdish_locales.rb17
-rw-r--r--db/post_migrate/20220303203437_remove_media_attachments_changed_from_status_edits.rb7
-rw-r--r--db/post_migrate/20220307083603_optimize_null_index_conversations_uri.rb17
-rw-r--r--db/post_migrate/20220310060545_optimize_null_index_statuses_in_reply_to_account_id.rb17
-rw-r--r--db/post_migrate/20220310060556_optimize_null_index_statuses_in_reply_to_id.rb17
-rw-r--r--db/post_migrate/20220310060614_optimize_null_index_media_attachments_scheduled_status_id.rb17
-rw-r--r--db/post_migrate/20220310060626_optimize_null_index_media_attachments_shortcode.rb17
-rw-r--r--db/post_migrate/20220310060641_optimize_null_index_users_reset_password_token.rb17
-rw-r--r--db/post_migrate/20220310060653_optimize_null_index_users_created_by_application_id.rb17
-rw-r--r--db/post_migrate/20220310060706_optimize_null_index_statuses_uri.rb17
-rw-r--r--db/post_migrate/20220310060722_optimize_null_index_accounts_moved_to_account_id.rb17
-rw-r--r--db/post_migrate/20220310060740_optimize_null_index_oauth_access_tokens_refresh_token.rb17
-rw-r--r--db/post_migrate/20220310060750_optimize_null_index_accounts_url.rb17
-rw-r--r--db/post_migrate/20220310060809_optimize_null_index_oauth_access_tokens_resource_owner_id.rb17
-rw-r--r--db/post_migrate/20220310060833_optimize_null_index_announcement_reactions_custom_emoji_id.rb17
-rw-r--r--db/post_migrate/20220310060854_optimize_null_index_appeals_approved_by_account_id.rb17
-rw-r--r--db/post_migrate/20220310060913_optimize_null_index_account_migrations_target_account_id.rb17
-rw-r--r--db/post_migrate/20220310060926_optimize_null_index_appeals_rejected_by_account_id.rb17
-rw-r--r--db/post_migrate/20220310060939_optimize_null_index_list_accounts_follow_id.rb17
-rw-r--r--db/post_migrate/20220310060959_optimize_null_index_web_push_subscriptions_access_token_id.rb17
-rw-r--r--db/schema.rb49
-rw-r--r--lib/mastodon/maintenance_cli.rb41
-rw-r--r--lib/mastodon/migration_helpers.rb28
-rw-r--r--lib/mastodon/version.rb6
-rw-r--r--lib/tasks/db.rake15
-rw-r--r--package.json20
-rw-r--r--spec/controllers/admin/domain_blocks_controller_spec.rb9
-rw-r--r--spec/controllers/api/v1/emails/confirmations_controller_spec.rb64
-rw-r--r--spec/controllers/api/v1/notifications_controller_spec.rb79
-rw-r--r--spec/models/report_spec.rb13
-rw-r--r--spec/rails_helper.rb4
-rw-r--r--spec/services/activitypub/fetch_remote_status_service_spec.rb48
-rw-r--r--spec/services/activitypub/process_collection_service_spec.rb140
-rw-r--r--spec/services/activitypub/process_status_update_service_spec.rb37
-rw-r--r--spec/services/reblog_service_spec.rb12
-rw-r--r--spec/services/update_status_service_spec.rb14
-rw-r--r--yarn.lock266
461 files changed, 13030 insertions, 9230 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 6d89e670a..4fcc8c618 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,8 +1,8 @@
 version: 2.1
 
 orbs:
-  ruby: circleci/ruby@1.2.0
-  node: circleci/node@4.7.0
+  ruby: circleci/ruby@1.4.0
+  node: circleci/node@5.0.1
 
 executors:
   default:
@@ -23,7 +23,7 @@ executors:
         environment:
           POSTGRES_USER: root
           POSTGRES_HOST_AUTH_METHOD: trust
-      - image: circleci/redis:6-alpine
+      - image: cimg/redis:6.2
 
 commands:
   install-system-dependencies:
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
new file mode 100644
index 000000000..ac495e1c9
--- /dev/null
+++ b/.devcontainer/Dockerfile
@@ -0,0 +1,24 @@
+# [Choice] Ruby version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.1, 3.0, 2, 2.7, 2.6, 3-bullseye, 3.1-bullseye, 3.0-bullseye, 2-bullseye, 2.7-bullseye, 2.6-bullseye, 3-buster, 3.1-buster, 3.0-buster, 2-buster, 2.7-buster, 2.6-buster
+ARG VARIANT=3.1-bullseye
+FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT}
+
+# Install Rails
+# RUN gem install rails webdrivers
+
+# Default value to allow debug server to serve content over GitHub Codespace's port forwarding service
+# The value is a comma-separated list of allowed domains
+ENV RAILS_DEVELOPMENT_HOSTS=".githubpreview.dev"
+
+# [Choice] Node.js version: lts/*, 16, 14, 12, 10
+ARG NODE_VERSION="lts/*"
+RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"
+
+# [Optional] Uncomment this section to install additional OS packages.
+RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
+    && apt-get -y install --no-install-recommends libicu-dev libidn11-dev ffmpeg imagemagick libpam-dev
+
+# [Optional] Uncomment this line to install additional gems.
+RUN gem install foreman
+
+# [Optional] Uncomment this line to install global node packages.
+RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g yarn" 2>&1
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 000000000..78e940763
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,26 @@
+{
+  "name": "Mastodon",
+  "dockerComposeFile": "docker-compose.yml",
+  "service": "app",
+  "workspaceFolder": "/workspaces/mastodon",
+
+  // Set *default* container specific settings.json values on container create.
+	"settings": {},
+
+  // Add the IDs of extensions you want installed when the container is created.
+	"extensions": [
+    "EditorConfig.EditorConfig",
+    "dbaeumer.vscode-eslint",
+		"rebornix.Ruby"
+	],
+
+  // Use 'forwardPorts' to make a list of ports inside the container available locally.
+	// This can be used to network with other containers or the host.
+	"forwardPorts": [3000, 4000],
+
+	// Use 'postCreateCommand' to run commands after the container is created.
+	"postCreateCommand": "bundle install --path vendor/bundle && yarn install && ./bin/rails db:setup",
+
+	// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
+	"remoteUser": "vscode"
+}
diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml
new file mode 100644
index 000000000..906fce430
--- /dev/null
+++ b/.devcontainer/docker-compose.yml
@@ -0,0 +1,84 @@
+version: '3'
+
+services:
+  app:
+    build:
+      context: .
+      dockerfile: Dockerfile
+      args:
+        # Update 'VARIANT' to pick a version of Ruby: 3, 3.1, 3.0, 2, 2.7, 2.6
+        # Append -bullseye or -buster to pin to an OS version.
+        # Use -bullseye variants on local arm64/Apple Silicon.
+        VARIANT: "3.0-bullseye"
+        # Optional Node.js version to install
+        NODE_VERSION: "14"
+    volumes:
+      - ..:/workspaces/mastodon:cached
+    environment:
+      RAILS_ENV: development
+      NODE_ENV: development
+
+      REDIS_HOST: redis
+      REDIS_PORT: '6379'
+      DB_HOST: db
+      DB_USER: postgres
+      DB_PASS: postgres
+      DB_PORT: '5432'
+      ES_ENABLED: 'true'
+      ES_HOST: es
+      ES_PORT: '9200'
+    # Overrides default command so things don't shut down after the process ends.
+    command: sleep infinity
+    networks:
+      - external_network
+      - internal_network
+    user: vscode
+
+
+  db:
+    image: postgres:14-alpine
+    restart: unless-stopped
+    volumes:
+      - postgres-data:/var/lib/postgresql/data
+    environment:
+      POSTGRES_USER: postgres
+      POSTGRES_DB: postgres
+      POSTGRES_PASSWORD: postgres
+      POSTGRES_HOST_AUTH_METHOD: trust
+    networks:
+      - internal_network
+
+  redis:
+    image: redis:6-alpine
+    restart: unless-stopped
+    volumes:
+      - redis-data:/data
+    networks:
+      - internal_network
+
+  es:
+    image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
+    restart: unless-stopped
+    environment:
+      ES_JAVA_OPTS: -Xms512m -Xmx512m
+      cluster.name: es-mastodon
+      discovery.type: single-node
+      bootstrap.memory_lock: 'true'
+    volumes:
+      - es-data:/usr/share/elasticsearch/data
+    networks:
+      - internal_network
+    ulimits:
+      memlock:
+        soft: -1
+        hard: -1
+
+volumes:
+  postgres-data:
+  redis-data:
+  es-data:
+
+networks:
+  external_network:
+  internal_network:
+    internal: true
diff --git a/.rubocop.yml b/.rubocop.yml
index 68634e9e3..4948aea5a 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -29,6 +29,9 @@ Layout/EmptyLineAfterMagicComment:
 Layout/EmptyLineAfterGuardClause:
   Enabled: false
 
+Layout/EmptyLineBetweenDefs:
+  AllowAdjacentOneLineDefs: true
+
 Layout/EmptyLinesAroundAttributeAccessor:
   Enabled: true
 
diff --git a/AUTHORS.md b/AUTHORS.md
index 596451737..9fc5f44f1 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -12,31 +12,32 @@ and provided thanks to the work of the following contributors:
 * [akihikodaki](https://github.com/akihikodaki)
 * [mjankowski](https://github.com/mjankowski)
 * [unarist](https://github.com/unarist)
+* [noellabo](https://github.com/noellabo)
 * [abcang](https://github.com/abcang)
 * [yiskah](https://github.com/yiskah)
-* [noellabo](https://github.com/noellabo)
-* [nolanlawson](https://github.com/nolanlawson)
 * [mayaeh](https://github.com/mayaeh)
+* [nolanlawson](https://github.com/nolanlawson)
 * [ysksn](https://github.com/ysksn)
+* [tribela](https://github.com/tribela)
 * [sorin-davidoi](https://github.com/sorin-davidoi)
 * [lynlynlynx](https://github.com/lynlynlynx)
 * [m4sk1n](mailto:me@m4sk.in)
 * [Marcin Mikołajczak](mailto:me@m4sk.in)
-* [tribela](https://github.com/tribela)
 * [renatolond](https://github.com/renatolond)
+* [shleeable](https://github.com/shleeable)
 * [alpaca-tc](https://github.com/alpaca-tc)
 * [zunda](https://github.com/zunda)
 * [nclm](https://github.com/nclm)
 * [ineffyble](https://github.com/ineffyble)
-* [shleeable](https://github.com/shleeable)
+* [ariasuni](https://github.com/ariasuni)
 * [Masoud Abkenar](mailto:ampbox@gmail.com)
 * [blackle](https://github.com/blackle)
 * [Quent-in](https://github.com/Quent-in)
 * [JantsoP](https://github.com/JantsoP)
-* [ariasuni](https://github.com/ariasuni)
+* [Brawaru](https://github.com/Brawaru)
 * [nullkal](https://github.com/nullkal)
 * [yookoala](https://github.com/yookoala)
-* [Brawaru](https://github.com/Brawaru)
+* [dunn](https://github.com/dunn)
 * [Aditoo17](https://github.com/Aditoo17)
 * [Quenty31](https://github.com/Quenty31)
 * [marek-lach](https://github.com/marek-lach)
@@ -46,10 +47,9 @@ and provided thanks to the work of the following contributors:
 * [eramdam](https://github.com/eramdam)
 * [Jeroen](mailto:jeroenpraat@users.noreply.github.com)
 * [takayamaki](https://github.com/takayamaki)
-* [dunn](https://github.com/dunn)
 * [masarakki](https://github.com/masarakki)
-* [ticky](https://github.com/ticky)
 * [trwnh](https://github.com/trwnh)
+* [ticky](https://github.com/ticky)
 * [ThisIsMissEm](https://github.com/ThisIsMissEm)
 * [hinaloe](https://github.com/hinaloe)
 * [hcmiya](https://github.com/hcmiya)
@@ -73,13 +73,13 @@ and provided thanks to the work of the following contributors:
 * [MaciekBaron](https://github.com/MaciekBaron)
 * [SerCom_KC](mailto:sercom-kc@users.noreply.github.com)
 * [Sylvhem](https://github.com/Sylvhem)
+* [koyuawsmbrtn](https://github.com/koyuawsmbrtn)
 * [MitarashiDango](https://github.com/MitarashiDango)
 * [rinsuki](https://github.com/rinsuki)
 * [angristan](https://github.com/angristan)
 * [JeanGauthier](https://github.com/JeanGauthier)
 * [kschaper](https://github.com/kschaper)
 * [beatrix-bitrot](https://github.com/beatrix-bitrot)
-* [koyuawsmbrtn](https://github.com/koyuawsmbrtn)
 * [BenLubar](https://github.com/BenLubar)
 * [mkljczk](https://github.com/mkljczk)
 * [adbelle](https://github.com/adbelle)
@@ -89,11 +89,12 @@ and provided thanks to the work of the following contributors:
 * [yhirano55](https://github.com/yhirano55)
 * [devkral](https://github.com/devkral)
 * [camponez](https://github.com/camponez)
-* [hugogameiro](https://github.com/hugogameiro)
+* [Hugo Gameiro](mailto:hmgameiro@gmail.com)
 * [SerCom_KC](mailto:szescxz@gmail.com)
 * [aschmitz](https://github.com/aschmitz)
 * [mfmfuyu](https://github.com/mfmfuyu)
 * [kedamaDQ](https://github.com/kedamaDQ)
+* [mashirozx](https://github.com/mashirozx)
 * [fpiesche](https://github.com/fpiesche)
 * [gandaro](https://github.com/gandaro)
 * [johnsudaar](https://github.com/johnsudaar)
@@ -115,41 +116,41 @@ and provided thanks to the work of the following contributors:
 * [pfm-eyesightjp](https://github.com/pfm-eyesightjp)
 * [fakenine](https://github.com/fakenine)
 * [tsuwatch](https://github.com/tsuwatch)
+* [progval](https://github.com/progval)
 * [victorhck](https://github.com/victorhck)
-* [manuelviens](https://github.com/manuelviens)
+* [manuelviens](mailto:manuelviens@users.noreply.github.com)
 * [tateisu](https://github.com/tateisu)
 * [fvh-P](https://github.com/fvh-P)
+* [lfuelling](https://github.com/lfuelling)
 * [rtucker](https://github.com/rtucker)
 * [Anna e só](mailto:contraexemplos@gmail.com)
 * [dariusk](https://github.com/dariusk)
 * [kazu9su](https://github.com/kazu9su)
-* [Komic](https://github.com/Komic)
+* [komic](https://github.com/komic)
 * [lmorchard](https://github.com/lmorchard)
 * [diomed](https://github.com/diomed)
 * [Neetshin](mailto:neetshin@neetsh.in)
 * [rainyday](https://github.com/rainyday)
 * [tcitworld](https://github.com/tcitworld)
-* [ProgVal](https://github.com/ProgVal)
 * [valentin2105](https://github.com/valentin2105)
 * [yuntan](https://github.com/yuntan)
 * [goofy-bz](mailto:goofy@babelzilla.org)
 * [kadiix](https://github.com/kadiix)
 * [kodacs](https://github.com/kodacs)
 * [marcin mikołajczak](mailto:me@m4sk.in)
+* [berkes](https://github.com/berkes)
 * [KScl](https://github.com/KScl)
 * [sterdev](https://github.com/sterdev)
-* [mashirozx](https://github.com/mashirozx)
 * [TheKinrar](https://github.com/TheKinrar)
-* [007lva](https://github.com/007lva)
 * [AA4ch1](https://github.com/AA4ch1)
 * [alexgleason](https://github.com/alexgleason)
-* [Bèr Kessels](mailto:ber@berk.es)
 * [cpytel](https://github.com/cpytel)
 * [northerner](https://github.com/northerner)
+* [weex](https://github.com/weex)
 * [fhemberger](https://github.com/fhemberger)
 * [Gomasy](https://github.com/Gomasy)
 * [greysteil](https://github.com/greysteil)
-* [hendotcat](https://github.com/hendotcat)
+* [henrycatalinismith](https://github.com/henrycatalinismith)
 * [d6rkaiz](https://github.com/d6rkaiz)
 * [ladyisatis](https://github.com/ladyisatis)
 * [JMendyk](https://github.com/JMendyk)
@@ -160,6 +161,8 @@ and provided thanks to the work of the following contributors:
 * [pawelngei](https://github.com/pawelngei)
 * [reneklacan](https://github.com/reneklacan)
 * [ekiru](https://github.com/ekiru)
+* [Izorkin](https://github.com/Izorkin)
+* [unasuke](https://github.com/unasuke)
 * [geta6](https://github.com/geta6)
 * [happycoloredbanana](https://github.com/happycoloredbanana)
 * [joenepraat](https://github.com/joenepraat)
@@ -168,11 +171,11 @@ and provided thanks to the work of the following contributors:
 * [spla](mailto:sp@mastodont.cat)
 * [tomfhowe](https://github.com/tomfhowe)
 * [noraworld](https://github.com/noraworld)
-* [lfuelling](https://github.com/lfuelling)
 * [aji-su](https://github.com/aji-su)
+* [ikuradon](https://github.com/ikuradon)
 * [nzws](https://github.com/nzws)
 * [duxovni](https://github.com/duxovni)
-* [smorimoto](https://github.com/smorimoto)
+* [SuperSandro2000](https://github.com/SuperSandro2000)
 * [178inaba](https://github.com/178inaba)
 * [acid-chicken](https://github.com/acid-chicken)
 * [xgess](https://github.com/xgess)
@@ -194,37 +197,37 @@ and provided thanks to the work of the following contributors:
 * [Dar13](https://github.com/Dar13)
 * [nevillepark](https://github.com/nevillepark)
 * [ornithocoder](https://github.com/ornithocoder)
-* [pwoolcoc](https://github.com/pwoolcoc)
+* [Paul Woolcock](mailto:paul@woolcock.us)
 * [pierreozoux](https://github.com/pierreozoux)
 * [qguv](https://github.com/qguv)
 * [Ram Lmn](mailto:ramlmn@users.noreply.github.com)
+* [rgroothuijsen](https://github.com/rgroothuijsen)
 * [Sascha](mailto:sascha@serenitylabs.cloud)
 * [harukasan](https://github.com/harukasan)
 * [stamak](https://github.com/stamak)
 * [Technowix](https://github.com/Technowix)
 * [Zoeille](https://github.com/Zoeille)
-* [Thor Harald Johansen](mailto:thj@thj.no)
+* [Thorwegian](https://github.com/Thorwegian)
 * [0x70b1a5](https://github.com/0x70b1a5)
 * [gled-rs](https://github.com/gled-rs)
 * [Valentin_NC](mailto:valentin.ouvrard@nautile.sarl)
 * [R0ckweb](https://github.com/R0ckweb)
-* [Izorkin](https://github.com/Izorkin)
-* [unasuke](https://github.com/unasuke)
 * [caasi](https://github.com/caasi)
+* [chandrn7](https://github.com/chandrn7)
 * [chr-1x](https://github.com/chr-1x)
 * [esetomo](https://github.com/esetomo)
 * [foxiehkins](https://github.com/foxiehkins)
 * [highemerly](https://github.com/highemerly)
 * [hoodie](mailto:hoodiekitten@outlook.com)
 * [kaiyou](https://github.com/kaiyou)
+* [007lva](https://github.com/007lva)
 * [luzi82](https://github.com/luzi82)
 * [slice](https://github.com/slice)
 * [tmm576](https://github.com/tmm576)
 * [unsmell](mailto:unsmell@users.noreply.github.com)
 * [valerauko](https://github.com/valerauko)
+* [Grawl](https://github.com/Grawl)
 * [chriswmartin](https://github.com/chriswmartin)
-* [SuperSandro2000](https://github.com/SuperSandro2000)
-* [ikuradon](https://github.com/ikuradon)
 * [AndreLewin](https://github.com/AndreLewin)
 * [0xflotus](https://github.com/0xflotus)
 * [redtachyons](https://github.com/redtachyons)
@@ -234,18 +237,21 @@ and provided thanks to the work of the following contributors:
 * [Andrew](mailto:andrewlchronister@gmail.com)
 * [arielrodrigues](https://github.com/arielrodrigues)
 * [aurelien-reeves](https://github.com/aurelien-reeves)
+* [BSKY](mailto:git@bsky.moe)
 * [elegaanz](https://github.com/elegaanz)
 * [estuans](https://github.com/estuans)
 * [dissolve](https://github.com/dissolve)
 * [PurpleBooth](https://github.com/PurpleBooth)
 * [bradurani](https://github.com/bradurani)
 * [wavebeem](https://github.com/wavebeem)
-* [bruwalfas](https://github.com/bruwalfas)
+* [thermosflasche](https://github.com/thermosflasche)
 * [LottieVixen](https://github.com/LottieVixen)
 * [wchristian](https://github.com/wchristian)
 * [muffinista](https://github.com/muffinista)
 * [cdutson](https://github.com/cdutson)
 * [farlistener](https://github.com/farlistener)
+* [baby-gnu](https://github.com/baby-gnu)
+* [danieljakots](https://github.com/danieljakots)
 * [divergentdave](https://github.com/divergentdave)
 * [DavidLibeau](https://github.com/DavidLibeau)
 * [dmerejkowsky](https://github.com/dmerejkowsky)
@@ -256,8 +262,10 @@ and provided thanks to the work of the following contributors:
 * [unstabler](https://github.com/unstabler)
 * [potato4d](https://github.com/potato4d)
 * [h-izumi](https://github.com/h-izumi)
+* [HolgerHuo](https://github.com/HolgerHuo)
 * [ErikXXon](https://github.com/ErikXXon)
 * [ian-kelling](https://github.com/ian-kelling)
+* [eltociear](https://github.com/eltociear)
 * [immae](https://github.com/immae)
 * [J0WI](https://github.com/J0WI)
 * [vahnj](https://github.com/vahnj)
@@ -283,10 +291,12 @@ and provided thanks to the work of the following contributors:
 * [Nathaniel Suchy](mailto:me@lunorian.is)
 * [ndarville](https://github.com/ndarville)
 * [NimaBoscarino](https://github.com/NimaBoscarino)
+* [aquarla](https://github.com/aquarla)
 * [Abzol](https://github.com/Abzol)
 * [PatOnTheBack](https://github.com/PatOnTheBack)
 * [xPaw](https://github.com/xPaw)
 * [petzah](https://github.com/petzah)
+* [PeterDaveHello](https://github.com/PeterDaveHello)
 * [ignisf](https://github.com/ignisf)
 * [lumenwrites](https://github.com/lumenwrites)
 * [remram44](https://github.com/remram44)
@@ -310,25 +320,30 @@ and provided thanks to the work of the following contributors:
 * [yannicka](https://github.com/yannicka)
 * [ikasoumen](https://github.com/ikasoumen)
 * [zacanger](https://github.com/zacanger)
+* [l2dy](https://github.com/l2dy)
 * [amazedkoumei](https://github.com/amazedkoumei)
 * [anon5r](https://github.com/anon5r)
 * [aus-social](https://github.com/aus-social)
+* [bsky](mailto:git@bsky.moe)
 * [bsky](mailto:me@imbsky.net)
-* [chandrn7](https://github.com/chandrn7)
 * [codl](https://github.com/codl)
 * [cpsdqs](https://github.com/cpsdqs)
 * [barzamin](https://github.com/barzamin)
 * [gol-cha](https://github.com/gol-cha)
+* [gunchleoc](https://github.com/gunchleoc)
 * [fhalna](https://github.com/fhalna)
 * [haoyayoi](https://github.com/haoyayoi)
 * [ik11235](https://github.com/ik11235)
 * [kawax](https://github.com/kawax)
 * [shrft](https://github.com/shrft)
+* [luigi](mailto:lvargas@rankia.com)
+* [luzpaz](https://github.com/luzpaz)
 * [mbajur](https://github.com/mbajur)
 * [matsurai25](https://github.com/matsurai25)
 * [mecab](https://github.com/mecab)
 * [nicobz25](https://github.com/nicobz25)
 * [niwatori24](https://github.com/niwatori24)
+* [noiob](https://github.com/noiob)
 * [oliverkeeble](https://github.com/oliverkeeble)
 * [partev](https://github.com/partev)
 * [pinfort](https://github.com/pinfort)
@@ -341,7 +356,6 @@ and provided thanks to the work of the following contributors:
 * [vidarlee](https://github.com/vidarlee)
 * [vjackson725](https://github.com/vjackson725)
 * [wxcafe](https://github.com/wxcafe)
-* [Grawl](https://github.com/Grawl)
 * [新都心(Neet Shin)](mailto:nucx@dio-vox.com)
 * [clarfonthey](https://github.com/clarfonthey)
 * [cygnan](https://github.com/cygnan)
@@ -390,7 +404,6 @@ and provided thanks to the work of the following contributors:
 * [Brad Janke](mailto:brad.janke@gmail.com)
 * [bclindner](https://github.com/bclindner)
 * [brycied00d](https://github.com/brycied00d)
-* [berkes](https://github.com/berkes)
 * [carlosjs23](https://github.com/carlosjs23)
 * [cgxxx](https://github.com/cgxxx)
 * [kibitan](https://github.com/kibitan)
@@ -411,7 +424,6 @@ and provided thanks to the work of the following contributors:
 * [dalehenries](https://github.com/dalehenries)
 * [daprice](https://github.com/daprice)
 * [da2x](https://github.com/da2x)
-* [danieljakots](https://github.com/danieljakots)
 * [codesections](https://github.com/codesections)
 * [dar5hak](https://github.com/dar5hak)
 * [kant](https://github.com/kant)
@@ -420,7 +432,7 @@ and provided thanks to the work of the following contributors:
 * [caldwell](https://github.com/caldwell)
 * [davidcelis](https://github.com/davidcelis)
 * [davefp](https://github.com/davefp)
-* [yipdw](https://github.com/yipdw)
+* [hannahwhy](https://github.com/hannahwhy)
 * [debanshuk](https://github.com/debanshuk)
 * [mascali33](https://github.com/mascali33)
 * [DerekNonGeneric](https://github.com/DerekNonGeneric)
@@ -445,20 +457,20 @@ and provided thanks to the work of the following contributors:
 * [GenbuHase](https://github.com/GenbuHase)
 * [nilsding](https://github.com/nilsding)
 * [hattori6789](https://github.com/hattori6789)
-* [algernon](https://github.com/algernon)
-* [Fastbyte01](https://github.com/Fastbyte01)
-* [unrelentingtech](https://github.com/unrelentingtech)
-* [gfaivre](https://github.com/gfaivre)
-* [Fiaxhs](https://github.com/Fiaxhs)
-* [rasjonell](https://github.com/rasjonell)
-* [reedcourty](https://github.com/reedcourty)
-* [anneau](https://github.com/anneau)
-* [lanodan](https://github.com/lanodan)
-* [Harmon758](https://github.com/Harmon758)
-* [HellPie](https://github.com/HellPie)
-* [Habu-Kagumba](https://github.com/Habu-Kagumba)
-* [suzukaze](https://github.com/suzukaze)
-* [Hiromi-Kai](https://github.com/Hiromi-Kai)
+* [Gergely Nagy](mailto:algernon@users.noreply.github.com)
+* [Giuseppe Pignataro](mailto:rogepix@gmail.com)
+* [Greg V](mailto:greg@unrelenting.technology)
+* [Guewen FAIVRE](mailto:guewen.faivre@elao.com)
+* [Guillaume Lo Re](mailto:lowreg@gmail.com)
+* [Gurgen Hayrapetyan](mailto:info.gurgen@gmail.com)
+* [György Nádudvari](mailto:reedcourty@users.noreply.github.com)
+* [HIKARU KOBORI](mailto:hk.uec.univ@gmail.com)
+* [Haelwenn Monnier](mailto:lanodan@users.noreply.github.com)
+* [Harmon](mailto:harmon758@gmail.com)
+* [HellPie](mailto:hellpie@users.noreply.github.com)
+* [Herbert Kagumba](mailto:habukagumba@gmail.com)
+* [Hiroe Jun](mailto:jun.hiroe@gmail.com)
+* [Hiromi Kai](mailto:pie05041008@gmail.com)
 * [Hisham Muhammad](mailto:hisham@gobolinux.org)
 * [Hugo "Slaynash" Flores](mailto:hugoflores@hotmail.fr)
 * [INAGAKI Hiroshi](mailto:musashino205@users.noreply.github.com)
@@ -466,7 +478,6 @@ and provided thanks to the work of the following contributors:
 * [Ian McCowan](mailto:imccowan@gmail.com)
 * [Ian McDowell](mailto:me@ianmcdowell.net)
 * [Iijima Yasushi](mailto:kurage.cc@gmail.com)
-* [Ikko Ashimine](mailto:eltociear@gmail.com)
 * [Ingo Blechschmidt](mailto:iblech@web.de)
 * [J Yeary](mailto:usbsnowcrash@users.noreply.github.com)
 * [Jack Michaud](mailto:jack-michaud@users.noreply.github.com)
@@ -486,6 +497,7 @@ and provided thanks to the work of the following contributors:
 * [Jordan Guerder](mailto:jguerder@fr.pulseheberg.net)
 * [Joseph Mingrone](mailto:jehops@users.noreply.github.com)
 * [Josh Leeb-du Toit](mailto:mail@joshleeb.com)
+* [Josh Soref](mailto:2119212+jsoref@users.noreply.github.com)
 * [Joshua Wood](mailto:josh@joshuawood.net)
 * [Julien](mailto:tiwy57@users.noreply.github.com)
 * [Julien Deswaef](mailto:juego@requiem4tv.com)
@@ -502,6 +514,7 @@ and provided thanks to the work of the following contributors:
 * [Leo Wzukw](mailto:leowzukw@users.noreply.github.com)
 * [Leonie](mailto:62470640+bubblineyuri@users.noreply.github.com)
 * [Lex Alexander](mailto:l.alexander10@gmail.com)
+* [LinAGKar](mailto:linus.kardell@gmail.com)
 * [Lorenz Diener](mailto:lorenzd@gmail.com)
 * [Luc Didry](mailto:ldidry@users.noreply.github.com)
 * [Lukas Burk](mailto:jemus42@users.noreply.github.com)
@@ -534,6 +547,7 @@ and provided thanks to the work of the following contributors:
 * [Milton Mazzarri](mailto:milmazz@gmail.com)
 * [Minku Lee](mailto:premist@me.com)
 * [Minori Hiraoka](mailto:mnkai@users.noreply.github.com)
+* [MitarashiDango](mailto:mitarashi_dango@mail.matcha-soft.com)
 * [Mitchell Hentges](mailto:mitch9654@gmail.com)
 * [Mostafa Ahangarha](mailto:ahangarha@users.noreply.github.com)
 * [Mouse Reeve](mailto:mousereeve@riseup.net)
@@ -553,7 +567,6 @@ and provided thanks to the work of the following contributors:
 * [Norayr Chilingarian](mailto:norayr@arnet.am)
 * [Noëlle Anthony](mailto:noelle.d.anthony@gmail.com)
 * [N氏](mailto:uenok.htc@gmail.com)
-* [OSAMU SATO](mailto:satosamu@gmail.com)
 * [Olivier Nicole](mailto:olivierthnicole@gmail.com)
 * [Oskari Noppa](mailto:noppa@users.noreply.github.com)
 * [Otakan](mailto:otakan951@gmail.com)
@@ -566,6 +579,7 @@ and provided thanks to the work of the following contributors:
 * [Ratmir Karabut](mailto:rkarabut@sfmodern.ru)
 * [Reto Kromer](mailto:retokromer@users.noreply.github.com)
 * [Rob Watson](mailto:rfwatson@users.noreply.github.com)
+* [Rohan Sharma](mailto:i.am.lone.survivor@protonmail.com)
 * [Ryan Freebern](mailto:ryan@freebern.org)
 * [Ryan Wade](mailto:ryan.wade@protonmail.com)
 * [Ryo Kajiwara](mailto:kfe-fecn6.prussian@s01.info)
@@ -595,6 +609,8 @@ and provided thanks to the work of the following contributors:
 * [StefOfficiel](mailto:pichard.stephane@free.fr)
 * [Steven Tappert](mailto:admin@dark-it.net)
 * [Stéphane Guillou](mailto:stephane.guillou@member.fsf.org)
+* [Su Yang](mailto:soulteary@users.noreply.github.com)
+* [Sumak](mailto:44816995+kawsay@users.noreply.github.com)
 * [Svetlozar Todorov](mailto:svetlik@users.noreply.github.com)
 * [Sébastien Santoro](mailto:dereckson@espace-win.org)
 * [Tad Thorley](mailto:phaedryx@users.noreply.github.com)
@@ -611,6 +627,7 @@ and provided thanks to the work of the following contributors:
 * [Tomonori Murakami](mailto:crosslife777@gmail.com)
 * [TomoyaShibata](mailto:wind.of.hometown@gmail.com)
 * [Treyssat-Vincent Nino](mailto:treyssatvincent@users.noreply.github.com)
+* [Truong Nguyen](mailto:truongnmt.dev@gmail.com)
 * [Udo Kramer](mailto:optik@fluffel.io)
 * [Una](mailto:una@unascribed.com)
 * [Ushitora Anqou](mailto:ushitora@anqou.net)
@@ -621,6 +638,7 @@ and provided thanks to the work of the following contributors:
 * [Wenceslao Páez Chávez](mailto:wcpaez@gmail.com)
 * [Wesley Ellis](mailto:tahnok@gmail.com)
 * [Wiktor](mailto:wiktor@metacode.biz)
+* [Wonderfall](mailto:wonderfall@protonmail.com)
 * [Wonderfall](mailto:wonderfall@schrodinger.io)
 * [Y.Yamashiro](mailto:shukukei@mojizuri.jp)
 * [YDrogen](mailto:ydrogen45@gmail.com)
@@ -634,11 +652,13 @@ and provided thanks to the work of the following contributors:
 * [Yeechan Lu](mailto:wz.bluesnow@gmail.com)
 * [Your Name](mailto:lorenzd@gmail.com)
 * [Yusuke Abe](mailto:moonset20@gmail.com)
+* [Zach Neill](mailto:neillz@berea.edu)
 * [Zachary Spector](mailto:logicaldash@gmail.com)
 * [ZiiX](mailto:ziix@users.noreply.github.com)
 * [asria-jp](mailto:is@alicematic.com)
 * [ava](mailto:vladooku@users.noreply.github.com)
 * [benklop](mailto:benklop@gmail.com)
+* [bobbyd0g](mailto:93697464+bobbyd0g@users.noreply.github.com)
 * [bsky](mailto:git@imbsky.net)
 * [caesarologia](mailto:lopesgemelli.1@gmail.com)
 * [cbayerlein](mailto:c.bayerlein@gmail.com)
@@ -646,6 +666,7 @@ and provided thanks to the work of the following contributors:
 * [chrolis](mailto:chrolis@users.noreply.github.com)
 * [cormo](mailto:cormorant2+github@gmail.com)
 * [d0p1](mailto:dopi-sama@hush.com)
+* [dogelover911](mailto:84288771+dogelover911@users.noreply.github.com)
 * [dxwc](mailto:dxwc@users.noreply.github.com)
 * [evilny0](mailto:evilny0@moomoocamp.net)
 * [febrezo](mailto:felixbrezo@gmail.com)
@@ -656,6 +677,8 @@ and provided thanks to the work of the following contributors:
 * [guigeekz](mailto:pattusg@gmail.com)
 * [hakoai](mailto:hk--76@qa2.so-net.ne.jp)
 * [haosbvnker](mailto:github@chaosbunker.com)
+* [heguro](mailto:65112898+heguro@users.noreply.github.com)
+* [helloworldstack](mailto:66512512+helloworldstack@users.noreply.github.com)
 * [ichi_i](mailto:51489410+ichi-i@users.noreply.github.com)
 * [isati](mailto:phil@juchnowi.cz)
 * [jacob](mailto:jacobherringtondeveloper@gmail.com)
@@ -671,7 +694,7 @@ and provided thanks to the work of the following contributors:
 * [kedama](mailto:32974885+kedamadq@users.noreply.github.com)
 * [kuro5hin](mailto:rusty@kuro5hin.org)
 * [leo60228](mailto:leo@60228.dev)
-* [luzpaz](mailto:luzpaz@users.noreply.github.com)
+* [matildepark](mailto:matilde.park@pm.me)
 * [maxypy](mailto:maxime@mpigou.fr)
 * [mhe](mailto:mail@marcus-herrmann.com)
 * [mike castleman](mailto:m@mlcastle.net)
@@ -681,14 +704,15 @@ and provided thanks to the work of the following contributors:
 * [muan](mailto:muan@github.com)
 * [namelessGonbai](mailto:43787036+namelessgonbai@users.noreply.github.com)
 * [neetshin](mailto:neetshin@neetsh.in)
-* [noiob](mailto:8197071+noiob@users.noreply.github.com)
 * [notozeki](mailto:notozeki@users.noreply.github.com)
 * [ntl-purism](mailto:57806346+ntl-purism@users.noreply.github.com)
 * [nzws](mailto:git-yuzu@svk.jp)
+* [potpro](mailto:pptppctt@gmail.com)
 * [proxy](mailto:51172302+3n-k1@users.noreply.github.com)
 * [rch850](mailto:rich850@gmail.com)
 * [roikale](mailto:roikale@users.noreply.github.com)
 * [rysiekpl](mailto:rysiek@hackerspace.pl)
+* [sasanquaneuf](mailto:sasanquaneuf@gmail.com)
 * [saturday06](mailto:dyob@lunaport.net)
 * [scd31](mailto:57571338+scd31@users.noreply.github.com)
 * [scriptjunkie](mailto:scriptjunkie@scriptjunkie.us)
@@ -698,6 +722,7 @@ and provided thanks to the work of the following contributors:
 * [syui](mailto:syui@users.noreply.github.com)
 * [tackeyy](mailto:mailto.takita.yusuke@gmail.com)
 * [taicv](mailto:chuvantai@gmail.com)
+* [tkr](mailto:account@kgtkr.net)
 * [tmyt](mailto:shigure@refy.net)
 * [trevDev()](mailto:trev@trevdev.ca)
 * [tsia](mailto:github@tsia.de)
@@ -707,6 +732,7 @@ and provided thanks to the work of the following contributors:
 * [y-temp4](mailto:y.temp4@gmail.com)
 * [ymmtmdk](mailto:ymmtmdk@gmail.com)
 * [yoshipc](mailto:yoooo@yoshipc.net)
+* [zunda](mailto:zundan@gmail.com)
 * [Özcan Zafer AYAN](mailto:ozcanzaferayan@gmail.com)
 * [ばん](mailto:detteiu0321@gmail.com)
 * [ふるふる](mailto:frfs@users.noreply.github.com)
@@ -726,107 +752,126 @@ This document is provided for informational purposes only. Since it is only upda
 Following people have contributed to translation of Mastodon:
 
 - GunChleoc (*Scottish Gaelic*)
-- ᛤᚤᛠᛥⴲ 👽 (KNTRO) (*Spanish, Argentina*)
-- adrmzz (*Sardinian*)
-- Hồ Nhất Duy (kantcer) (*Vietnamese*)
-- Zoltán Gera (gerazo) (*Hungarian*)
+- ケインツロ 👾 (KNTRO) (*Spanish, Argentina*)
 - Sveinn í Felli (sveinki) (*Icelandic*)
-- qezwan (*Persian, Sorani (Kurdish)*)
-- NCAA (*Danish*)
-- Ramdziana F Y (rafeyu) (*Indonesian*)
-- taicv (*Vietnamese*)
-- ButterflyOfFire (BoFFire) (*French, Arabic, Kabyle*)
+- Hồ Nhất Duy (honhatduy) (*Vietnamese*)
+- Zoltán Gera (gerazo) (*Hungarian*)
+- Kristaps_M (*Latvian*)
+- NCAA (*French, Danish*)
+- adrmzz (*Sardinian*)
 - Xosé M. (XoseM) (*Spanish, Galician*)
-- Evert Prants (IcyDiamond) (*Estonian*)
-- Besnik_b (*Albanian*)
+- Ramdziana F Y (rafeyu) (*Indonesian*)
+- Jeong Arm (Kjwon15) (*Spanish, Japanese, Korean, Esperanto*)
 - Emanuel Pina (emanuelpina) (*Portuguese*)
-- Jeong Arm (Kjwon15) (*Japanese, Korean, Esperanto*)
-- Alix Rossi (palindromordnilap) (*French, Esperanto, Corsican*)
+- qezwan (*Persian, Sorani (Kurdish)*)
+- Besnik_b (*Albanian*)
+- ButterflyOfFire (BoFFire) (*French, Arabic, Kabyle*)
 - Thai Localization (thl10n) (*Thai*)
+- Cyax (Cyaxares) (*Kurmanji (Kurdish)*)
+- taicv (*Vietnamese*)
 - Daniele Lira Mereb (danilmereb) (*Portuguese, Brazilian*)
+- spla (*Spanish, Catalan*)
+- Evert Prants (IcyDiamond) (*Estonian*)
+- koyu (*German*)
+- Alix Rossi (palindromordnilap) (*French, Esperanto, Corsican*)
 - Joene (joenepraat) (*Dutch*)
-- Kristijan Tkalec (lapor) (*Slovenian*)
 - stan ionut (stanionut12) (*Romanian*)
-- spla (*Spanish, Catalan*)
+- Mastodon 中文译者 (mastodon-linguist) (*Chinese Simplified*)
+- Kristijan Tkalec (lapor) (*Slovenian*)
+- Danial Behzadi (danialbehzadi) (*Persian*)
+- Asier Iturralde Sarasola (aldatsa) (*Basque*)
+- ManeraKai (*Arabic*)
 - мачко (ma4ko) (*Bulgarian*)
-- 奈卜拉 (nebula_moe) (*Chinese Simplified*)
+- Roboron (*Spanish*)
+- Alessandro Levati (Oct326) (*Italian*)
+- xatier (*Chinese Traditional, Chinese Traditional, Hong Kong*)
+- Ondřej Pokorný (unextro) (*Czech*)
+- Alexander Sorokin (Brawaru) (*French, Catalan, Danish, German, Greek, Hungarian, Armenian, Korean, Portuguese, Russian, Albanian, Swedish, Ukrainian, Vietnamese, Galician*)
 - kamee (*Armenian*)
-- AJ-عجائب البرمجة (Esmail_Hazem) (*Arabic*)
 - Michal Stanke (mstanke) (*Czech*)
-- Danial Behzadi (danialbehzadi) (*Persian*)
 - borys_sh (*Ukrainian*)
-- Asier Iturralde Sarasola (aldatsa) (*Basque*)
 - Imre Kristoffer Eilertsen (DandelionSprout) (*Norwegian*)
-- koyu (*German*)
 - yeft (*Chinese Traditional, Chinese Traditional, Hong Kong*)
 - Miguel Mayol (mitcoes) (*Spanish, Catalan*)
-- Sasha Sorokin (Brawaru) (*French, Catalan, Danish, German, Greek, Hungarian, Armenian, Korean, Russian, Albanian, Swedish, Ukrainian, Vietnamese, Galician*)
-- Roboron (*Spanish*)
+- Marek Ľach (mareklach) (*Polish, Slovak*)
+- Manuel Viens (manuelviens) (*French*)
+- Kimmo Kujansuu (mrkujansuu) (*Finnish*)
 - Koala Yeung (yookoala) (*Chinese Traditional, Hong Kong*)
-- Ondřej Pokorný (unextro) (*Czech*)
+- enolp (*Asturian*)
 - Osoitz (*Basque*)
 - Peterandre (*Norwegian, Norwegian Nynorsk*)
 - tzium (*Sardinian*)
-- Mélanie Chauvel (ariasuni) (*French, Arabic, Czech, German, Greek, Hungarian, Slovenian, Ukrainian, Chinese Simplified, Portuguese, Brazilian, Persian, Norwegian Nynorsk, Esperanto, Breton, Corsican, Sardinian, Kabyle*)
-- Iváns (Ivans_translator) (*Galician*)
 - Maya Minatsuki (mayaeh) (*Japanese*)
-- Manuel Viens (manuelviens) (*French*)
-- Alessandro Levati (Oct326) (*Italian*)
+- Mélanie Chauvel (ariasuni) (*French, Arabic, Czech, German, Greek, Hungarian, Slovenian, Ukrainian, Chinese Simplified, Portuguese, Brazilian, Persian, Norwegian Nynorsk, Esperanto, Breton, Corsican, Sardinian, Kabyle*)
+- T. E. Kalaycı (tekrei) (*Turkish*)
+- Takeçi (polygoat) (*French, Italian*)
+- Galician Translator (Galician_translator) (*Galician*)
 - lamnatos (*Greek*)
 - Sean Young (assanges) (*Chinese Traditional*)
 - tolstoevsky (*Russian*)
-- enolp (*Asturian*)
+- Ihor Hordiichuk (ihor_ck) (*Ukrainian*)
+- Ali Demirtaş (alidemirtas) (*Turkish*)
 - Jasmine Cam Andrever (gourmas) (*Cornish*)
+- coxde (*Chinese Simplified*)
 - gagik_ (*Armenian*)
 - Masoud Abkenar (mabkenar) (*Persian*)
 - arshat (*Kazakh*)
 - Marcin Mikołajczak (mkljczkk) (*Czech, Polish, Russian*)
-- Marek Ľach (mareklach) (*Polish, Slovak*)
-- Ali Demirtaş (alidemirtas) (*Turkish*)
+- Jeff Huang (s8321414) (*Chinese Traditional*)
 - Blak Ouille (BlakOuille16) (*French*)
+- e (diveedd) (*Kurmanji (Kurdish)*)
 - Em St Cenydd (cancennau) (*Welsh*)
 - Diluns (*Occitan*)
-- Muha Aliss (muhaaliss) (*Turkish*)
+- Nurul Azeera Hidayah @ Muhammad Nur Hidayat Yasuyoshi (MNH48.moe) (mnh48) (*Malay*)
+- Tagomago (tagomago) (*French, Spanish*)
 - Jurica (ahjk) (*Croatian*)
 - Aditoo17 (*Czech*)
+- Tigran (tigransimonyan) (*Armenian*)
 - vishnuvaratharajan (*Tamil*)
 - pulmonarycosignerkindness (*Swedish*)
+- calypsoopenmail (*French*)
 - cybergene (cyber-gene) (*Japanese*)
-- Takeçi (polygoat) (*French, Italian*)
-- xatier (*Chinese Traditional*)
-- Ihor Hordiichuk (ihor_ck) (*Ukrainian*)
+- Bran_Ruz (*Breton*)
+- Gearguy (*Finnish*)
+- GiorgioHerbie (*Italian*)
+- Balázs Meskó (mesko.balazs) (*Czech, Hungarian*)
+- Martin (miles) (*Slovenian*)
 - regulartranslator (*Portuguese, Brazilian*)
+- Saederup92 (*Danish*)
 - ozzii (*French, Serbian (Cyrillic)*)
 - Irfan (Irfan_Radz) (*Malay*)
-- Saederup92 (*Danish*)
-- Akarshan Biswas (biswasab) (*Bengali, Sanskrit*)
 - Yi-Jyun Pan (pan93412) (*Chinese Traditional*)
+- ClearlyClaire (*French, Icelandic*)
+- Akarshan Biswas (biswasab) (*Bengali, Sanskrit*)
+- Kristoffer Grundström (Umeaboy) (*Swedish*)
 - Rafael H L Moretti (Moretti) (*Portuguese, Brazilian*)
 - d5Ziif3K (*Ukrainian*)
-- GiorgioHerbie (*Italian*)
+- හෙළබස (HelaBasa) (*Sinhala*)
+- xpil (*Polish*)
+- Rojdayek (*Kurmanji (Kurdish)*)
 - christalleras (*Norwegian Nynorsk*)
+- Allen Zhong (AstroProfundis) (*Chinese Simplified*)
 - Taloran (*Norwegian Nynorsk*)
-- ThibG (*French, Icelandic*)
+- Sokratis Alichanidis (alichani) (*Greek*)
+- Catalina (catalina.st) (*Romanian*)
 - otrapersona (*Spanish, Spanish, Mexico*)
-- Store (HelaBasa) (*Sinhala*)
+- Ryo (DrRyo) (*Korean*)
 - Mauzi (*German, Swedish*)
 - atarashiako (*Chinese Simplified*)
-- 101010 (101010pl) (*Polish*)
 - erictapen (*German*)
-- Tagomago (tagomago) (*French, Spanish*)
+- 101010 (101010pl) (*Polish*)
 - Jaz-Michael King (jazmichaelking) (*Welsh*)
-- coxde (*Chinese Simplified*)
-- T. E. Kalaycı (tekrei) (*Turkish*)
+- axi (*Finnish*)
 - silkevicious (*Italian*)
 - Floxu (fredrikdim1) (*Norwegian Nynorsk*)
-- Ryo (DrRyo) (*Korean*)
+- NadieAishi (*Spanish, Spanish, Mexico*)
 - Bertil Hedkvist (Berrahed) (*Swedish*)
 - William(ѕ)ⁿ (wmlgr) (*Spanish*)
+- Eshagh (eshagh79) (*Persian*)
+- LNDDYL (*Chinese Traditional*)
 - norayr (*Armenian*)
 - Satnam S Virdi (pika10singh) (*Punjabi*)
 - Tiago Epifânio (tfve) (*Portuguese*)
-- Balázs Meskó (mesko.balazs) (*Hungarian*)
-- Sokratis Alichanidis (alichani) (*Greek*)
 - Mentor Gashi (mentorgashi.com) (*Albanian*)
 - carolinagiorno (*Portuguese, Brazilian*)
 - Hayk Khachatryan (brutusromanus123) (*Armenian*)
@@ -834,394 +879,472 @@ Following people have contributed to translation of Mastodon:
 - Bharat Kumar (Marwari) (*Hindi*)
 - Austra Muizniece (aus_m) (*Latvian*)
 - ThonyVezbe (*Breton*)
+- Just Spanish (7_7) (*Spanish, Mexico*)
 - v4vachan (*Malayalam*)
+- bilfri (*Danish*)
 - dkdarshan760 (*Sanskrit*)
-- tykayn (*French*)
-- axi (*Finnish*)
-- Selyan Slimane AMIRI (SelyanKab) (*Kabyle*)
 - Timur Seber (seber) (*Tatar*)
+- Slimane Selyan AMIRI (SelyanKab) (*Kabyle*)
+- VaiTon (*Italian*)
+- Vik (ViktorOn) (*Danish, Russian*)
+- tykayn (*French*)
+- GCardo (*Portuguese, Brazilian*)
 - taoxvx (*Danish*)
 - Hrach Mkrtchyan (mhrach87) (*Armenian*)
 - sabri (thetomatoisavegetable) (*Spanish, Spanish, Argentina*)
 - Dewi (Unkorneg) (*French, Breton*)
 - CoelacanthusHex (*Chinese Simplified*)
-- syncopams (*Chinese Simplified, Chinese Traditional, Chinese Traditional, Hong Kong*)
 - Rhys Harrison (rhedders) (*Esperanto*)
-- Hakim Oubouali (zenata1) (*Standard Moroccan Tamazight*)
+- syncopams (*Chinese Simplified, Chinese Traditional, Chinese Traditional, Hong Kong*)
 - SteinarK (*Norwegian Nynorsk*)
+- Maxine B. Vågnes (vagnes) (*Norwegian, Norwegian Nynorsk*)
+- Hakim Oubouali (zenata1) (*Standard Moroccan Tamazight*)
+- ahangarha (*Persian*)
 - Lalo Tafolla (lalotafo) (*Spanish, Spanish, Mexico*)
-- Mathias B. Vagnes (vagnes) (*Norwegian*)
 - dashersyed (*Urdu (Pakistan)*)
-- Acolyte (666noob404) (*Ukrainian*)
 - Conight Wang (xfddwhh) (*Chinese Simplified*)
 - liffon (*Swedish*)
 - Damjan Dimitrioski (gnud) (*Macedonian*)
+- Rikard Linde (rikardlinde) (*Swedish*)
+- rondnunes (*Portuguese, Brazilian*)
+- strubbl (*German*)
 - PPNplus (*Thai*)
+- Frontier Translation Ltd. (frontier-translation) (*Chinese Simplified*)
 - shioko (*Chinese Simplified*)
+- Kahina Mess (K_hina) (*Kabyle*)
 - ZiriSut (*Kabyle*)
-- Evgeny Petrov (kondra007) (*Russian*)
+- Groosha (groosha) (*Russian*)
+- Hexandcube (hexandcube) (*Polish*)
 - Gwenn (Belvar) (*Breton*)
+- 游荡 (MamaShip) (*Chinese Simplified*)
 - StanleyFrew (*French*)
+- mynameismonkey (*Welsh*)
+- Edward Navarro (EdwardNavarro) (*Spanish*)
 - Nikita Epifanov (Nikets) (*Russian*)
 - jaranta (*Finnish*)
 - Slobodan Simić (Слободан Симић) (slsimic) (*Serbian (Cyrillic)*)
+- retiolus (*Catalan*)
+- iVampireSP (*Chinese Simplified, Chinese Traditional*)
 - Felicia Jongleur (midsommar) (*Swedish*)
 - Denys (dector) (*Ukrainian*)
-- iVampireSP (*Chinese Simplified, Chinese Traditional*)
-- Pukima (pukimaaa) (*German*)
-- 游荡 (MamaShip) (*Chinese Simplified*)
+- Mo_der Steven (SakuraPuare) (*Chinese Simplified*)
 - Vanege (*Esperanto*)
-- Rikard Linde (rikardlinde) (*Swedish*)
 - Jess Rafn (therealyez) (*Danish*)
-- strubbl (*German*)
 - Stasiek Michalski (hellcp) (*Polish*)
 - dxwc (*Bengali*)
-- jmontane (*Catalan*)
+- Filbert Salim (gamesbert6) (*Indonesian*)
 - Liboide (*Spanish*)
-- Hexandcube (hexandcube) (*Polish*)
+- jmontane (*Catalan*)
 - Chris Kay (chriskarasoulis) (*Greek*)
 - Johan Schiff (schyffel) (*Swedish*)
+- Rex_sa (rex07) (*Arabic*)
 - Arunmozhi (tecoholic) (*Tamil*)
 - zer0-x (ZER0-X) (*Arabic*)
 - kat (katktv) (*Russian, Ukrainian*)
 - Lauren Liberda (selfisekai) (*Polish*)
-- mynameismonkey (*Welsh*)
 - oti4500 (*Hungarian, Ukrainian*)
+- Delta (Delta-Time) (*Japanese*)
+- Michael Zeevi (maze88) (*Hebrew*)
+- SarfarazAhmed (*Urdu (Pakistan)*)
 - Mats Gunnar Ahlqvist (goqbi) (*Swedish*)
 - diazepan (*Spanish, Spanish, Argentina*)
 - marzuquccen (*Kabyle*)
+- atriix (*Swedish*)
 - VictorCorreia (victorcorreia1984) (*Afrikaans*)
-- Tigran (tigransimonyan) (*Armenian*)
+- Remito (remitocat) (*Japanese*)
+- AlexKoala (alexkoala) (*Korean*)
 - Juan José Salvador Piedra (JuanjoSalvador) (*Spanish*)
 - BurekzFinezt (*Serbian (Cyrillic)*)
+- 森の子リスのミーコの大冒険 (Phroneris) (*Japanese*)
+- asnomgtu (*Hungarian*)
 - SHeija (*Finnish*)
-- Gearguy (*Finnish*)
-- atriix (*Swedish*)
+- Врабац (Slovorad) (*Serbian (Cyrillic)*)
+- Dženan (Dzenan) (*Swedish*)
 - Jack R (isaac.97_WT) (*Spanish*)
 - antonyho (*Chinese Traditional, Hong Kong*)
-- asnomgtu (*Hungarian*)
-- ahangarha (*Persian*)
+- FreddyG (*Esperanto*)
 - andruhov (*Russian, Ukrainian*)
 - phena109 (*Chinese Traditional, Hong Kong*)
 - Aryamik Sharma (Aryamik) (*Swedish, Hindi*)
 - Unmual (*Spanish*)
-- 森の子リスのミーコの大冒険 (Phroneris) (*Japanese*)
+- Adrián Graña (alaris83) (*Spanish*)
+- cruz2020 (*Portuguese*)
+- vpei (*Chinese Simplified*)
 - るいーね (ruine) (*Japanese*)
 - Sam Tux (imahbub) (*Bengali*)
-- Kristoffer Grundström (Umeaboy) (*Swedish*)
 - igordrozniak (*Polish*)
+- Michał Sidor (michcioperz) (*Polish*)
 - Isaac Huang (caasih) (*Chinese Traditional*)
 - AW Unad (awcodify) (*Indonesian*)
-- Allen Zhong (AstroProfundis) (*Chinese Simplified*)
+- 1Alino (*Slovak*)
 - Cutls (cutls) (*Japanese*)
+- Goudarz Jafari (Goudarz) (*Persian*)
+- Parodper (*Galician*)
+- 1 (Ipsumry) (*Spanish*)
 - Falling Snowdin (tghgg) (*Vietnamese*)
-- Ray (Ipsumry) (*Spanish*)
-- Gianfranco Fronteddu (gianfro.gianfro) (*Sardinian*)
 - Rasmus Lindroth (RasmusLindroth) (*Swedish*)
+- Gianfranco Fronteddu (gianfro.gianfro) (*Sardinian*)
 - Andrea Lo Iacono (niels0n) (*Italian*)
-- Parodper (*Galician*)
 - fucsia (*Italian*)
-- NadieAishi (*Spanish, Spanish, Mexico*)
+- Vedran Serbu (SerenoXGen) (*Croatian*)
 - Kinshuk Sunil (kinshuksunil) (*Hindi*)
 - Ullas Joseph (ullasjoseph) (*Malayalam*)
-- Goudarz Jafari (Goudarz) (*Persian*)
+- al_._ (*German, Russian*)
+- Matthías Páll Gissurarson (icetritlo) (*Icelandic*)
+- Percy (kecrily) (*Chinese Simplified*)
 - Yu-Pai Liu (tedliou) (*Chinese Traditional*)
+- KcKcZi (*Chinese Simplified*)
 - Amarin Cemthong (acitmaster) (*Thai*)
 - Johannes Nilsson (nlssn) (*Swedish*)
 - juanda097 (juanda-097) (*Spanish*)
+- xsml (*Chinese Simplified*)
 - Anunnakey (*Macedonian*)
 - erikkemp (*Dutch*)
 - erikstl (*Esperanto*)
-- bobchao (*Chinese Traditional*)
 - twpenguin (*Chinese Traditional*)
-- MadeInSteak (*Finnish*)
+- Po-chiang Chao (bobchao) (*Chinese Traditional*)
+- Marcus Myge (mygg-priv) (*Norwegian*)
 - Esther (esthermations) (*Portuguese*)
+- MadeInSteak (*Finnish*)
 - t_aus_m (*German*)
+- serapolis (*Japanese, Chinese Simplified, Chinese Traditional, Chinese Traditional, Hong Kong*)
 - Heimen Stoffels (Vistaus) (*Dutch*)
 - Rajarshi Guha (rajarshiguha) (*Bengali*)
-- Mo_der Steven (SakuraPuare) (*Chinese Simplified*)
 - Gopal Sharma (gopalvirat) (*Hindi*)
-- arethsu (*Swedish*)
-- Carlos Solís (csolisr) (*Esperanto*)
+- Linnéa (lesbian_subnet) (*Swedish*)
+- 北䑓如法 (Nyoho) (*Japanese*)
+- abidin toumi (Zet24) (*Arabic*)
 - Tofiq Abdula (Xwla) (*Sorani (Kurdish)*)
+- Carlos Solís (csolisr) (*Esperanto*)
+- Yamagishi Kazutoshi (ykzts) (*Japanese, Vietnamese, Icelandic, Sorani (Kurdish)*)
 - Parthan S Ramanujam (parthan) (*Tamil*)
 - Kasper Nymand (KasperNymand) (*Danish*)
-- Jeff Huang (s8321414) (*Chinese Traditional*)
-- TS (morte) (*Finnish*)
 - subram (*Turkish*)
+- TS (morte) (*Finnish*)
 - SensDeViata (*Ukrainian*)
 - Ptrcmd (ptrcmd) (*Chinese Traditional*)
+- megaleo (*Portuguese, Brazilian*)
 - SergioFMiranda (*Portuguese, Brazilian*)
-- Percy (scvoet) (*Chinese Simplified*)
-- Vivek K J (Vivekkj) (*Malayalam*)
 - hiroTS (*Chinese Traditional*)
+- Vivek K J (Vivekkj) (*Malayalam*)
+- arielcostas3 (*Galician*)
 - johne32rus23 (*Russian*)
 - AzureNya (*Chinese Simplified*)
 - OctolinGamer (octolingamer) (*Portuguese, Brazilian*)
+- filippodb (*Italian*)
 - Ram varma (ram4varma) (*Tamil*)
-- 北䑓如法 (Nyoho) (*Japanese*)
+- sanser (*Russian*)
+- Y.Yamashiro (uist1idrju3i) (*Japanese*)
 - Pukima (Pukimaa) (*German*)
 - diorama (*Italian*)
-- Daniel Dimitrov (daniel.dimitrov) (*Bulgarian*)
 - frumble (*German*)
+- Daniel Dimitrov (daniel.dimitrov) (*Bulgarian*)
 - kekkepikkuni (*Tamil*)
+- MODcraft (*Chinese Simplified*)
 - oorsutri (*Tamil*)
 - Neo_Chen (NeoChen1024) (*Chinese Traditional*)
 - Nithin V (Nithin896) (*Tamil*)
-- Marcus Myge (mygg-priv) (*Norwegian*)
 - Miro Rauhala (mirorauhala) (*Finnish*)
-- AlexKoala (alexkoala) (*Korean*)
+- Oymate (*Bengali*)
 - ಚಿರಾಗ್ ನಟರಾಜ್ (chiraag-nataraj) (*Kannada*)
-- Aswin C (officialcjunior) (*Malayalam*)
 - Guillaume Turchini (orion78fr) (*French*)
+- Aswin C (officialcjunior) (*Malayalam*)
 - Ganesh D (auntgd) (*Marathi*)
+- Yuval Nehemia (yuvalne) (*Hebrew*)
 - mawoka-myblock (mawoka) (*German*)
 - dragnucs2 (*Arabic*)
 - Ryan Ho (koungho) (*Chinese Traditional*)
-- Pedro Henrique (exploronauta) (*Portuguese, Brazilian*)
 - Tejas Harad (h_tejas) (*Marathi*)
+- Pedro Henrique (exploronauta) (*Portuguese, Brazilian*)
+- Amir Reza (ElAmir) (*Persian*)
+- Tatsuto "Laminne" Yamamoto (laminne) (*Japanese*)
 - Vasanthan (vasanthan) (*Tamil*)
 - 硫酸鶏 (acid_chicken) (*Japanese*)
-- clarmin b8 (clarminb8) (*Sorani (Kurdish)*)
 - programizer (*German*)
+- clarmin b8 (clarminb8) (*Sorani (Kurdish)*)
 - manukp (*Malayalam*)
-- earth dweller (sanethoughtyt) (*Marathi*)
 - psymyn (*Hebrew*)
+- earth dweller (sanethoughtyt) (*Marathi*)
+- Marek Ľach (marek-lach) (*Slovak*)
 - meijerivoi (toilet) (*Finnish*)
 - essaar (*Tamil*)
+- Nemuj (Dentrado) (*Japanese, Esperanto*)
 - serubeena (*Swedish*)
 - Rintan (*Japanese*)
 - Karol Kosek (krkkPL) (*Polish*)
-- Khó͘ Tiat-lêng (khotiatleng) (*Chinese Traditional, Taigi*)
-- Hernik (hernik27) (*Czech*)
+- Khó͘ Tiatlêng (khotiatleng) (*Chinese Traditional, Taigi*)
 - valarivan (*Tamil*)
-- kuchengrab (*German*)
+- Hernik (hernik27) (*Czech*)
+- revarioba (*Spanish*)
 - friedbeans (*Croatian*)
+- kuchengrab (*German*)
 - Abi Turi (abi123) (*Georgian*)
 - Hinaloe (hinaloe) (*Japanese*)
 - Sebastián Andil (Selrond) (*Slovak*)
-- KEINOS (*Japanese*)
-- filippodb (*Italian*)
+- Ifnuth (*German*)
 - Asbjørn Olling (a2) (*Danish*)
+- KEINOS (*Japanese*)
 - Balázs Meskó (meskobalazs) (*Hungarian*)
+- Artem Mikhalitsin (artemmikhalitsin) (*Russian*)
+- Algustionesa Yoshi (algustionesa) (*Indonesian*)
 - Bottle (suryasalem2010) (*Tamil*)
 - Wrya ali (John12) (*Sorani (Kurdish)*)
 - JzshAC (*Chinese Simplified*)
+- siamano (*Thai, Esperanto*)
+- gnu-ewm (*Polish*)
 - Antillion (antillion99) (*Spanish*)
 - Steven Tappert (sammy8806) (*German*)
 - Reg3xp (*Persian*)
 - Wassim EL BOUHAMIDI (elbouhamidiw) (*Arabic*)
+- Maciej Błędkowski (mble) (*Polish*)
 - gowthamanb (*Tamil*)
 - hiphipvargas (*Portuguese*)
-- Ch. (sftblw) (*Korean*)
+- tunisiano187 (*French*)
 - Arttu Ylhävuori (arttu.ylhavuori) (*Finnish*)
-- tctovsli (*Norwegian Nynorsk*)
-- Timo Tijhof (Krinkle) (*Dutch*)
+- Ch. (sftblw) (*Korean*)
+- eorn (*Breton*)
+- Jona (88wcJoWl) (*Spanish*)
 - Mikkel B. Goldschmidt (mikkelbjoern) (*Danish*)
+- Timo Tijhof (Krinkle) (*Dutch*)
+- Ka2n (kaanmetu) (*Turkish*)
+- tctovsli (*Norwegian Nynorsk*)
 - mecqor labi (mecqorlabi) (*Persian*)
 - Odyssey346 (alexader612) (*Norwegian*)
-- Yamagishi Kazutoshi (ykzts) (*Japanese, Icelandic, Sorani (Kurdish)*)
-- Eban (ebanDev) (*French, Esperanto*)
 - vjasiegd (*Polish*)
+- Eban (ebanDev) (*French, Esperanto*)
 - SamitiMed (samiti3d) (*Thai*)
 - Nícolas Lavinicki (nclavinicki) (*Portuguese, Brazilian*)
-- snatcher (*Portuguese, Brazilian*)
 - Rekan Adl (rekan-adl1) (*Sorani (Kurdish)*)
+- Antara2Cinta (Se7enTime) (*Indonesian*)
+- Yassine Aït-El-Mouden (yaitelmouden) (*Standard Moroccan Tamazight*)
 - VSx86 (*Russian*)
 - umelard (*Hebrew*)
-- Antara2Cinta (Se7enTime) (*Indonesian*)
 - parnikkapore (*Thai*)
+- Lagash (lagash) (*Esperanto*)
 - Sherwan Othman (sherwanothman11) (*Sorani (Kurdish)*)
-- Yassine Aït-El-Mouden (yaitelmouden) (*Standard Moroccan Tamazight*)
 - SKELET (*Danish*)
+- Exbu (*Dutch*)
+- Chine Sebastien (chine.sebastien) (*French*)
 - Fei Yang (Fei1Yang) (*Chinese Traditional*)
+- A A (sebastien.chine) (*French*)
 - Ğani (freegnu) (*Tatar*)
-- Renato "Lond" Cerqueira (renatolond) (*Portuguese, Brazilian*)
 - enipra (*Armenian*)
-- ALEM FARID (faridatcemlulaqbayli) (*Kabyle*)
+- Renato "Lond" Cerqueira (renatolond) (*Portuguese, Brazilian*)
 - musix (*Persian*)
 - ギャラ (gyara) (*Japanese, Chinese Simplified*)
+- ALEM FARID (faridatcemlulaqbayli) (*Kabyle*)
 - Hougo (hougo) (*French*)
-- ybardapurkar (*Marathi*)
-- 亜緯丹穂 (ayiniho) (*Japanese*)
-- Adrián Lattes (haztecaso) (*Spanish*)
 - Mordi Sacks (MordiSacks) (*Hebrew*)
 - Trinsec (*Dutch*)
+- Adrián Lattes (haztecaso) (*Spanish*)
 - Tigran's Tips (tigrank08) (*Armenian*)
-- TracyJacks (*Chinese Simplified*)
+- 亜緯丹穂 (ayiniho) (*Japanese*)
+- ybardapurkar (*Marathi*)
 - Szabolcs Gál (galszabolcs810624) (*Hungarian*)
 - Vladislav Săcrieriu (vladislavs14) (*Romanian*)
-- danreznik (*Hebrew*)
+- TracyJacks (*Chinese Simplified*)
 - rasheedgm (*Kannada*)
-- omquylzu (*Latvian*)
-- c6ristian (*German*)
-- Belkacem Mohammed (belkacem77) (*Kabyle*)
+- danreznik (*Hebrew*)
+- Cirelli (cirelli94) (*Italian*)
+- Siddharastro Doraku (sidharastro) (*Spanish, Mexico*)
 - lexxai (*Ukrainian*)
+- omquylzu (*Latvian*)
 - Navjot Singh (nspeaks) (*Hindi*)
+- mkljczk (*Polish*)
+- Belkacem Mohammed (belkacem77) (*Kabyle*)
+- c6ristian (*German*)
+- damascene (*Arabic*)
 - Ozai (*German*)
 - Sahak Petrosyan (petrosyan) (*Armenian*)
-- Oymate (*Bengali*)
 - Viorel-Cătălin Răpițeanu (rapiteanu) (*Romanian*)
-- siamano (*Thai, Esperanto*)
 - Siddhartha Sarathi Basu (quinoa_biryani) (*Bengali*)
 - Pachara Chantawong (pachara2202) (*Thai*)
-- Zijian Zhao (jobs2512821228) (*Chinese Simplified*)
 - Skew (noan.perrot) (*French*)
-- mkljczk (*Polish*)
+- Zijian Zhao (jobs2512821228) (*Chinese Simplified*)
+- Overflow Cat (OverflowCat) (*Chinese Simplified, Chinese Traditional*)
+- dbeaver (*German*)
+- zordsdavini (*Lithuanian*)
 - Guru Prasath Anandapadmanaban (guruprasath) (*Tamil*)
 - turtle836 (*German*)
 - Marcepanek_ (thekingmarcepan) (*Polish*)
-- Lamin (laminne) (*Japanese*)
-- Yann Aguettaz (yann-a) (*French*)
 - Feruz Oripov (FeruzOripov) (*Russian*)
-- serapolis (*Chinese Simplified, Chinese Traditional*)
+- Yann Aguettaz (yann-a) (*French*)
 - Mick Onio (xgc.redes) (*Asturian*)
 - Malik Mann (dermalikmann) (*German*)
+- padulafacundo (*Spanish*)
 - dadosch (*German*)
-- r3dsp1 (*Chinese Traditional, Hong Kong*)
 - hg6 (*Hindi*)
 - Tianqi Zhang (tina.zhang040609) (*Chinese Simplified*)
-- padulafacundo (*Spanish*)
+- r3dsp1 (*Chinese Traditional, Hong Kong*)
 - johannes hove-henriksen (J0hsHH) (*Norwegian*)
 - Orlando Murcio (Atos20) (*Spanish, Mexico*)
-- Padraic Calpin (padraic-padraic) (*Slovenian*)
 - cenegd (*Chinese Simplified*)
-- piupiupiudiu (*Chinese Simplified*)
+- Youngeon Lee (YoungeonLee) (*Korean*)
 - shdy (*German*)
+- Umi (mtrumi) (*Chinese Simplified, Chinese Traditional, Hong Kong*)
+- Padraic Calpin (padraic-padraic) (*Slovenian*)
 - Ильзира Рахматуллина (rahmatullinailzira53) (*Tatar*)
-- Hugh Liu (youloveonlymeh) (*Chinese Simplified*)
+- piupiupiudiu (*Chinese Simplified*)
 - Pixelcode (realpixelcode) (*German*)
+- Dennis Reimund (reimunddennis7) (*German*)
 - Yogesh K S (yogi) (*Kannada*)
 - Adithya K (adithyak04) (*Malayalam*)
-- Dennis Reimund (reimunddennis7) (*German*)
+- DAI JIE (daijie) (*Chinese Simplified*)
+- Hugh Liu (youloveonlymeh) (*Chinese Simplified*)
 - Rakino (rakino) (*Chinese Simplified*)
-- Michał Sidor (michcioperz) (*Polish*)
-- AmazighNM (*Kabyle*)
-- Miquel Sabaté Solà (mssola) (*Catalan*)
+- ZQYD (*Chinese Simplified*)
+- X.M (kimonoki) (*Chinese Simplified*)
+- boni777 (*Chinese Simplified*)
 - Jothipazhani Nagarajan (jothipazhani.n) (*Tamil*)
-- hallomaurits (*Dutch*)
+- Miquel Sabaté Solà (mssola) (*Catalan*)
+- Stanisław Jelnicki (JelNiSlaw) (*Polish*)
+- AmazighNM (*Kabyle*)
 - alnd hezh (alndhezh) (*Sorani (Kurdish)*)
+- CloudSet (*Chinese Simplified*)
 - Clash Clans (KURD12345) (*Sorani (Kurdish)*)
-- Solid Rhino (SolidRhino) (*Dutch*)
 - Metehan Özyürek (MetehanOzyurek) (*Turkish*)
+- Paula SIMON (EncoreEutIlFalluQueJeLeSusse) (*French*)
+- Solid Rhino (SolidRhino) (*Dutch*)
+- nua_kr (*Korean*)
+- hallomaurits (*Dutch*)
 - 林水溶 (shuiRong) (*Chinese Simplified*)
-- Sébastien Feugère (smonff) (*French*)
-- Y.Yamashiro (uist1idrju3i) (*Japanese*)
+- rikrise (*Swedish*)
 - Takeshi Umeda (noellabo) (*Japanese*)
 - k_taka (peaceroad) (*Japanese*)
-- hussama (*Portuguese, Brazilian*)
+- Sébastien Feugère (smonff) (*French*)
 - Hallo Abdullah (hallo_hamza12) (*Sorani (Kurdish)*)
-- Ashok314 (ashok314) (*Hindi*)
-- PifyZ (*French*)
-- OminousCry (*Russian*)
+- hussama (*Portuguese, Brazilian*)
+- EzigboOmenana (*Cornish*)
 - Robert Yano (throwcalmbobaway) (*Spanish, Mexico*)
-- Tom_ (*Czech*)
-- Tagada (Tagadda) (*French*)
-- shafouz (*Portuguese, Brazilian*)
 - Yasin İsa YILDIRIM (redsfyre) (*Turkish*)
+- PifyZ (*French*)
+- Tagada (Tagadda) (*French*)
 - eichkat3r (*German*)
+- Ashok314 (ashok314) (*Hindi*)
+- Zlr- (cZeler) (*French*)
 - SnDer (*Dutch*)
-- Kahina Mess (K_hina) (*Kabyle*)
-- Swati Sani (swatisani) (*Urdu (Pakistan)*)
+- OminousCry (*Russian*)
+- Adam Sapiński (Adamos9898) (*Polish*)
+- Tom_ (*Czech*)
+- shafouz (*Portuguese, Brazilian*)
+- Shrinivasan T (tshrinivasan) (*Tamil*)
 - Kk (kishorkumara3) (*Kannada*)
+- Swati Sani (swatisani) (*Urdu (Pakistan)*)
+- papayaisnotafood (*Chinese Traditional*)
+- さっかりんにーさん (saccharin23) (*Japanese*)
 - Daniel M. (daniconil) (*Catalan*)
-- Shrinivasan T (tshrinivasan) (*Tamil*)
-- 夜楓Yoka (Yoka2627) (*Chinese Simplified*)
+- César Daniel Cavanzo Quintero (LeinadCQ) (*Esperanto*)
 - Nathaël Noguès (NatNgs) (*French*)
-- さっかりんにーさん (saccharin23) (*Japanese*)
-- Rex_sa (rex07) (*Arabic*)
+- 夜楓Yoka (Yoka2627) (*Chinese Simplified*)
+- Mt Front (mtfront) (*Chinese Simplified*)
+- Artem (Artem4ik) (*Russian*)
 - Robin van der Vliet (RobinvanderVliet) (*Esperanto*)
-- Vikatakavi (*Kannada*)
 - Tradjincal (tradjincal) (*French*)
-- pullopen (*Chinese Simplified*)
 - SusVersiva (*Catalan*)
-- Marvin (magicmarvman) (*German*)
 - Zinkokooo (*Basque*)
-- Livingston Samuel (livingston) (*Tamil*)
-- CyberAmoeba (pseudoobscura) (*Chinese Simplified*)
-- tsundoker (*Malayalam*)
-- eorn (*Breton*)
+- Marvin (magicmarvman) (*German*)
+- Vikatakavi (*Kannada*)
+- pullopen (*Chinese Simplified*)
+- sergioaraujo1 (*Portuguese, Brazilian*)
 - prabhjot (*Hindi*)
+- CyberAmoeba (pseudoobscura) (*Chinese Simplified*)
 - mmokhi (*Persian*)
-- sergioaraujo1 (*Portuguese, Brazilian*)
 - Entelekheia-ousia (*Chinese Simplified*)
-- Pierre Morvan (Iriep) (*Breton*)
-- oscfd (*Spanish*)
+- Livingston Samuel (livingston) (*Tamil*)
+- tsundoker (*Malayalam*)
 - skaaarrr (*German*)
-- mkljczk (mykylyjczyk) (*Polish*)
-- fedot (*Russian*)
+- Pierre Morvan (Iriep) (*Breton*)
 - Paz Galindo (paz.almendra.g) (*Spanish*)
+- fedot (*Russian*)
+- mkljczk (mykylyjczyk) (*Polish*)
 - Ricardo Colin (rysard) (*Spanish*)
 - Philipp Fischbeck (PFischbeck) (*German*)
+- oscfd (*Spanish*)
 - Zoé Bőle (zoe1337) (*German*)
-- EzigboOmenana (*Cornish*)
 - GaggiX (*Italian*)
-- Lukas Fülling (lfuelling) (*German*)
 - JackXu (Merman-Jack) (*Chinese Simplified*)
+- Lukas Fülling (lfuelling) (*German*)
 - ralozkolya (*Georgian*)
-- Apple (blackteaovo) (*Chinese Simplified*)
+- Jason Gibson (barberpike606) (*Slovenian, Chinese Simplified*)
+- Dremski (*Bulgarian*)
+- Kaede (kaedech) (*Japanese*)
+- Aymeric (AymBroussier) (*French*)
+- mashirozx (*Chinese Simplified*)
+- María José Vera (mjverap) (*Spanish*)
 - asala4544 (*Basque*)
-- Xurxo Guerra (xguerrap) (*Galician*)
+- ronee (*Kurmanji (Kurdish)*)
 - qwerty287 (*German*)
-- Anoop (anoopp) (*Malayalam*)
 - pezcurrel (*Italian*)
-- Samir Tighzert (samir_t7) (*Kabyle*)
-- Dremski (*Bulgarian*)
-- Dennis Reimund (reimund_dennis) (*German*)
+- Anoop (anoopp) (*Malayalam*)
+- Apple (blackteaovo) (*Chinese Simplified*)
+- Lilian Nabati (Lilounab49) (*French*)
 - ru_mactunnag (*Scottish Gaelic*)
 - Nocta (*French*)
-- Aymeric (AymBroussier) (*French*)
-- mashirozx (*Chinese Simplified*)
+- Tangcuyu (*Chinese Simplified*)
+- Dennis Reimund (reimund_dennis) (*German*)
 - Albatroz Jeremias (albjeremias) (*Portuguese*)
+- Xurxo Guerra (xguerrap) (*Galician*)
+- Samir Tighzert (samir_t7) (*Kabyle*)
+- lokalisoija (*Finnish*)
+- codl (*French*)
+- thisdudeisvegan (braydofficial) (*German*)
+- tamaina (*Japanese*)
 - Matias Lavik (matiaslavik) (*Norwegian Nynorsk*)
+- Aman Alam (aalam) (*Punjabi*)
+- Holger Huo (holgerhuo) (*Chinese Simplified*)
 - Amith Raj Shetty (amithraj1989) (*Kannada*)
-- abidin toumi (Zet24) (*Arabic*)
-- mikel (mikelalas) (*Spanish*)
-- OpenAlgeria (*Arabic*)
-- random_person (*Spanish*)
-- Sais Lakshmanan (Saislakshmanan) (*Tamil*)
-- Trond Boksasp (boksasp) (*Norwegian*)
-- xpac1985 (xpac) (*German*)
-- Zlr- (cZeler) (*French*)
-- Mohammad Adnan Mahmood (adnanmig) (*Arabic*)
 - mimikun (*Japanese*)
-- smedvedev (*Russian*)
-- asretro (*Chinese Traditional, Hong Kong*)
-- tamaina (*Japanese*)
-- Aman Alam (aalam) (*Punjabi*)
+- Ragnars Eggerts (rmegg1933) (*Latvian*)
 - ÀŘǾŚ PÀŚĦÀÍ (arospashai) (*Sorani (Kurdish)*)
-- Kaede (kaedech) (*Japanese*)
+- smedvedev (*Russian*)
+- Sais Lakshmanan (Saislakshmanan) (*Tamil*)
+- Mohammad Adnan Mahmood (adnanmig) (*Arabic*)
+- OpenAlgeria (*Arabic*)
+- Trond Boksasp (boksasp) (*Norwegian*)
 - Doug (douglasalvespe) (*Portuguese, Brazilian*)
+- Mohd Bilal (mdb571) (*Malayalam*)
 - Fleva (*Sardinian*)
-- Abijeet Patro (Abijeet) (*Basque*)
-- SamOak (*Portuguese, Brazilian*)
-- Aries (orlea) (*Japanese*)
+- xpac1985 (xpac) (*German*)
+- mikel (mikelalas) (*Spanish*)
+- random_person (*Spanish*)
+- asretro (*Chinese Traditional, Hong Kong*)
+- Arĝentakato (argxentakato) (*Japanese*)
+- Nithya Mary (nithyamary25) (*Tamil*)
+- Azad ahmad (dashty) (*Sorani (Kurdish)*)
 - Bartek Fijałkowski (brateq) (*Polish*)
-- NeverMine17 (*Russian*)
-- Brodi (brodi1) (*Dutch*)
-- Ács Zoltán (zoli111) (*Hungarian*)
-- capiscuas (*Spanish*)
-- Benjamin Cobb (benjamincobb) (*German*)
-- djoerd (*Dutch*)
-- waweic (*German*)
-- Amir Kurdo (kuraking202) (*Sorani (Kurdish)*)
+- ebrezhoneg (*Breton*)
+- maksutheam (*Finnish*)
+- majorblazr (*Danish*)
+- Jill H. (kokakiwi) (*French*)
+- Patrice Boivin (patriceboivin58) (*French*)
+- centumix (*Japanese*)
+- 江尚寒 (jiangshanghan) (*Chinese Simplified*)
+- hud5634j (*Spanish*)
+- おさ (osapon) (*Japanese*)
+- Jiniux (*Italian*)
+- Hannah (Aniqueper1) (*Chinese Simplified*)
+- Ni Futchi (futchitwo) (*Japanese*)
 - dobrado (*Portuguese, Brazilian*)
-- Baban Abdulrahman (baban.abdulrehman) (*Sorani (Kurdish)*)
 - dcapillae (*Spanish*)
-- Azad ahmad (dashty) (*Sorani (Kurdish)*)
-- Salh_haji6 (*Sorani (Kurdish)*)
 - Ranj A Abdulqadir (RanjAhmed) (*Sorani (Kurdish)*)
-- tateisu (*Japanese*)
+- Kurdish Translator (Kurdish.boy) (*Sorani (Kurdish)*)
+- Amir Kurdo (kuraking202) (*Sorani (Kurdish)*)
+- umonaca (*Chinese Simplified*)
+- Jari Ronkainen (ronchaine) (*Finnish*)
+- djoerd (*Dutch*)
 - Savarín Electrográfico Marmota Intergalactica (herrero.maty) (*Spanish*)
-- ebrezhoneg (*Breton*)
 - 于晚霞 (xissshawww) (*Chinese Simplified*)
-- silverscat_3 (SilversCat) (*Japanese*)
-- centumix (*Japanese*)
-- umonaca (*Chinese Simplified*)
-- Ni Futchi (futchitwo) (*Japanese*)
-- おさ (osapon) (*Japanese*)
+- tateisu (*Japanese*)
+- NeverMine17 (*Russian*)
+- soheilkhanalipur (*Persian*)
+- SamOak (*Portuguese, Brazilian*)
 - kavitha129 (*Tamil*)
-- Hannah (Aniqueper1) (*Chinese Simplified*)
-- Jiniux (*Italian*)
-- Jari Ronkainen (ronchaine) (*Finnish*)
-- Nithya Mary (nithyamary25) (*Tamil*)
+- Salh_haji6 (*Sorani (Kurdish)*)
+- Brodi (brodi1) (*Dutch*)
+- capiscuas (*Spanish*)
+- HSD Channel (kvdbve34) (*Russian*)
+- Abijeet Patro (Abijeet) (*Basque*)
+- Ács Zoltán (zoli111) (*Hungarian*)
+- Benjamin Cobb (benjamincobb) (*German*)
+- waweic (*German*)
+- Aries (orlea) (*Japanese*)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d8fde27fe..519c561a6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,194 @@ Changelog
 
 All notable changes to this project will be documented in this file.
 
+## Unreleased
+### Added
+
+- **Add support for post editing** ([Gargron](https://github.com/mastodon/mastodon/pull/16697), [Gargron](https://github.com/mastodon/mastodon/pull/17727), [Gargron](https://github.com/mastodon/mastodon/pull/17728), [Gargron](https://github.com/mastodon/mastodon/pull/17320), [Gargron](https://github.com/mastodon/mastodon/pull/17404), [Gargron](https://github.com/mastodon/mastodon/pull/17390), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17335), [Gargron](https://github.com/mastodon/mastodon/pull/17696), [Gargron](https://github.com/mastodon/mastodon/pull/17745), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17740), [Gargron](https://github.com/mastodon/mastodon/pull/17697), [Gargron](https://github.com/mastodon/mastodon/pull/17648), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17531), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17499), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17498), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17380), [Gargron](https://github.com/mastodon/mastodon/pull/17373), [Gargron](https://github.com/mastodon/mastodon/pull/17334), [Gargron](https://github.com/mastodon/mastodon/pull/17333), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17699), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17748))
+  - Previous versions remain available for perusal and comparison
+  - People who reblogged a post are notified when it's edited
+  - New REST APIs:
+    - `PUT /api/v1/statuses/:id`
+    - `GET /api/v1/statuses/:id/history`
+    - `GET /api/v1/statuses/:id/source`
+  - New streaming API event:
+    - `update`
+- **Add appeals for moderator decisions** ([Gargron](https://github.com/mastodon/mastodon/pull/17364), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17725), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17566), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17652), [Gargron](https://github.com/mastodon/mastodon/pull/17616), [Gargron](https://github.com/mastodon/mastodon/pull/17615), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17554), [Gargron](https://github.com/mastodon/mastodon/pull/17523))
+  - All default moderator decisions now notify the affected user by e-mail
+  - They now link to an appeal page instead of suggesting replying to the e-mail
+  - They can now be found in account settings and not just e-mail
+  - Users can submit one appeal within 20 days of the decision
+  - Moderators can approve or reject the appeal
+- **Add notifications for posts deleted by moderators** ([Gargron](https://github.com/mastodon/mastodon/pull/17204), [Gargron](https://github.com/mastodon/mastodon/pull/17668), [Gargron](https://github.com/mastodon/mastodon/pull/17746), [Gargron](https://github.com/mastodon/mastodon/pull/17679), [Gargron](https://github.com/mastodon/mastodon/pull/17487))
+  - New, redesigned report view in admin UI
+  - Common report actions now only take one click to complete
+  - Deleting posts or marking as sensitive from report now notifies user
+  - Reports can be categorized by reason and specific rules violated
+  - The reasons are automatically cited in the notifications, except for spam
+  - Marking posts as sensitive now federates using post editing
+- **Add explore page with trending posts and links** ([Gargron](https://github.com/mastodon/mastodon/pull/17123), [Gargron](https://github.com/mastodon/mastodon/pull/17431), [Gargron](https://github.com/mastodon/mastodon/pull/16917), [Gargron](https://github.com/mastodon/mastodon/pull/17677), [Gargron](https://github.com/mastodon/mastodon/pull/16938), [Gargron](https://github.com/mastodon/mastodon/pull/17044), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16978), [Gargron](https://github.com/mastodon/mastodon/pull/16979), [tribela](https://github.com/mastodon/mastodon/pull/17066), [Gargron](https://github.com/mastodon/mastodon/pull/17072), [Gargron](https://github.com/mastodon/mastodon/pull/17403), [noiob](https://github.com/mastodon/mastodon/pull/17624), [mayaeh](https://github.com/mastodon/mastodon/pull/17755), [mayaeh](https://github.com/mastodon/mastodon/pull/17757), [Gargron](https://github.com/mastodon/mastodon/pull/17760), [mayaeh](https://github.com/mastodon/mastodon/pull/17762))
+  - Hashtag trends algorithm is extended to work for posts and links
+  - Links are only considered if they have an adequate preview card
+  - Preview card generation has been improved to support structured data
+  - Links can only trend if the publisher (domain) has been approved
+  - Posts can only trend if the author has been approved
+  - Individual approval and rejection for posts and links is also available
+  - Moderators are notified about pending trends at most once every 2 hours
+  - Posts and link trends are language-specific
+  - Search page is redesigned into explore page in web UI
+  - Discovery tab is coming soon in official iOS and Android apps
+  - New REST APIs:
+    - `GET /api/v1/trends/links`
+    - `GET /api/v1/trends/statuses`
+    - `GET /api/v1/trends/tags` (alias of `GET /api/v1/trends`)
+    - `GET /api/v1/admin/trends/links`
+    - `GET /api/v1/admin/trends/statuses`
+    - `GET /api/v1/admin/trends/tags`
+- **Add graphs and retention metrics to admin dashboard** ([Gargron](https://github.com/mastodon/mastodon/pull/16829), [Gargron](https://github.com/mastodon/mastodon/pull/17617), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17570), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16910), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16909), [mashirozx](https://github.com/mastodon/mastodon/pull/16884), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16854))
+  - Dashboard shows more numbers with development over time
+  - Other data such as most used interface languages and sign-up sources
+  - User retention graph shows how many new users stick around
+  - New REST APIs:
+    - `POST /api/v1/admin/measures`
+    - `POST /api/v1/admin/dimensions`
+    - `POST /api/v1/admin/retention`
+- Add `GET /api/v1/accounts/familiar_followers` to REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17700))
+- Add `POST /api/v1/accounts/:id/remove_from_followers` to REST API ([noellabo](https://github.com/mastodon/mastodon/pull/16864))
+- Add `category` and `rule_ids` params to `POST /api/v1/reports` IN REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17492), [Gargron](https://github.com/mastodon/mastodon/pull/17682), [Gargron](https://github.com/mastodon/mastodon/pull/17713))
+  - `category` can be one of: `spam`, `violation`, `other` (default)
+  - `rule_ids` must reference `rules` returned in `GET /api/v1/instance`
+- Add global `lang` param to REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17464), [Gargron](https://github.com/mastodon/mastodon/pull/17592))
+- Add `types` param to `GET /api/v1/notifications` in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17767))
+- **Add notifications for moderators about new sign-ups** ([Gargron](https://github.com/mastodon/mastodon/pull/16953), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17629))
+  - When a new user confirms e-mail, moderators receive a notification
+  - New streaming API event:
+    - `admin.sign_up`
+- Add authentication history ([Gargron](https://github.com/mastodon/mastodon/pull/16408), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16428), [baby-gnu](https://github.com/mastodon/mastodon/pull/16654))
+- Add ability to automatically delete old posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16529), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17691), [tribela](https://github.com/mastodon/mastodon/pull/16653))
+- Add ability to pin private posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16954), [tribela](https://github.com/mastodon/mastodon/pull/17326), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17304), [MitarashiDango](https://github.com/mastodon/mastodon/pull/17647))
+- Add ability to filter search results by author using `from:` syntax ([tribela](https://github.com/mastodon/mastodon/pull/16526))
+- Add ability to delete canonical email blocks in admin UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16644))
+- Add ability to purge undeliverable domains in admin UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16686), [tribela](https://github.com/mastodon/mastodon/pull/17210), [tribela](https://github.com/mastodon/mastodon/pull/17741), [tribela](https://github.com/mastodon/mastodon/pull/17209))
+- Add ability to disable e-mail token authentication for specific users in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/16427))
+- **Add ability to suspend accounts in batches in admin UI** ([Gargron](https://github.com/mastodon/mastodon/pull/17009), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17301), [Gargron](https://github.com/mastodon/mastodon/pull/17444))
+  - New, redesigned accounts list in admin UI
+  - Batch suspensions are meant to help clean up spam and bot accounts
+  - They do not generate notifications
+- Add ability to filter reports by origin of target account in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/16487))
+- Add support for login through OpenID Connect ([chandrn7](https://github.com/mastodon/mastodon/pull/16221))
+- Add lazy loading for emoji picker in web UI ([mashirozx](https://github.com/mastodon/mastodon/pull/16907), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17011))
+- Add single option votes tooltip in polls in web UI ([Brawaru](https://github.com/mastodon/mastodon/pull/16849))
+- Add confirmation modal when closing media edit modal with unsaved changes in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16518))
+- Add support for fetching Create and Announce activities by URI in ActivityPub ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16383))
+- Add `S3_FORCE_SINGLE_REQUEST` environment variable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16866))
+- Add `OMNIAUTH_ONLY` environment variable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17288), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17345))
+- Add `ES_USER` and `ES_PASS` environment variables for Elasticsearch authentication ([tribela](https://github.com/mastodon/mastodon/pull/16890))
+- Add `CAS_SECURITY_ASSUME_EMAIL_IS_VERIFIED` environment variable ([baby-gnu](https://github.com/mastodon/mastodon/pull/16655))
+- Add ability to pass specific domains to `tootctl accounts cull` ([tribela](https://github.com/mastodon/mastodon/pull/16511))
+- Add `--by-uri` option to `tootctl domains purge` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16434))
+- Add `--batch-size` option to `tootctl search deploy` ([aquarla](https://github.com/mastodon/mastodon/pull/17049))
+- Add `--remove-orphans` option to `tootctl statuses remove` ([noellabo](https://github.com/mastodon/mastodon/pull/17067))
+
+### Changed
+
+- Change design of federation pages in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/17704), [noellabo](https://github.com/mastodon/mastodon/pull/17735), [Gargron](https://github.com/mastodon/mastodon/pull/17765))
+- Change design of account cards in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17689))
+- Change `follow` scope to be covered by `read` and `write` scopes in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17678))
+- Change design of authorized applications page ([Gargron](https://github.com/mastodon/mastodon/pull/17656), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17686))
+- Change e-mail domain blocks to block IPs dynamically ([Gargron](https://github.com/mastodon/mastodon/pull/17635), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17650), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17649))
+- Change report modal to include category selection in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17565), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17734), [Gargron](https://github.com/mastodon/mastodon/pull/17654), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17632))
+- Change reblogs to not count towards hashtag trends anymore ([Gargron](https://github.com/mastodon/mastodon/pull/17501))
+- Change languages to be listed under standard instead of native name in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/17485))
+- Change routing paths to use usernames in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/16171), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16772), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16773), [mashirozx](https://github.com/mastodon/mastodon/pull/16793), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17060))
+- Change list title input design in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17092))
+- Change "Opt-in to profile directory" preference to be general discoverability preference ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16637))
+- Change API rate limits to use /64 masking on IPv6 addresses ([tribela](https://github.com/mastodon/mastodon/pull/17588), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17600), [zunda](https://github.com/mastodon/mastodon/pull/17590))
+- Change allowed formats for locally uploaded custom emojis to include GIF ([rgroothuijsen](https://github.com/mastodon/mastodon/pull/17706), [Gargron](https://github.com/mastodon/mastodon/pull/17759))
+- Change error message when chosen password is too long ([rgroothuijsen](https://github.com/mastodon/mastodon/pull/17082))
+- Change minimum required Elasticsearch version from 6 to 7 ([noellabo](https://github.com/mastodon/mastodon/pull/16915))
+
+### Removed
+
+- Remove profile directory link from main navigation panel in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17688))
+- **Remove language detection through cld3** ([Gargron](https://github.com/mastodon/mastodon/pull/17478), [ykzts](https://github.com/mastodon/mastodon/pull/17539), [Gargron](https://github.com/mastodon/mastodon/pull/17496), [Gargron](https://github.com/mastodon/mastodon/pull/17722))
+  - cld3 is very inaccurate on short-form content even with unique alphabets
+  - Post language can be overriden individually using `language` param
+  - Otherwise, it defaults to the user's interface language
+- Remove support for `OAUTH_REDIRECT_AT_SIGN_IN` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17287))
+  - Use `OMNIAUTH_ONLY` instead
+- Remove Keybase integration ([Gargron](https://github.com/mastodon/mastodon/pull/17045))
+- Remove old columns and indexes ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17245), [Gargron](https://github.com/mastodon/mastodon/pull/16409), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17191))
+- Remove shortcodes from newly-created media attachments ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16730), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16763))
+
+### Deprecated
+
+- `GET /api/v1/trends` → `GET /api/v1/trends/tags`
+- OAuth `follow` scope → `read` and/or `write`
+- `text` attribute on `DELETE /api/v1/statuses/:id` → `GET /api/v1/statuses/:id/source`
+
+### Fixed
+
+- Fix web manifest not permitting PWA usage from alternate domains ([HolgerHuo](https://github.com/mastodon/mastodon/pull/16714))
+- Fix not being able to edit media attachments for scheduled posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17690))
+- Fix subscribed relay activities being recorded as boosts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17571))
+- Fix streaming API server error messages when JSON parsing fails not specifying the source ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17559))
+- Fix browsers autofilling new password field with old password ([mashirozx](https://github.com/mastodon/mastodon/pull/17702))
+- Fix text being invisible before fonts load in web UI ([tribela](https://github.com/mastodon/mastodon/pull/16330))
+- Fix public profile pages of unconfirmed users being accessible ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17385), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17457))
+- Fix nil error when trying to fetch key for signature verification ([Gargron](https://github.com/mastodon/mastodon/pull/17747))
+- Fix null values being included in some indexes ([Gargron](https://github.com/mastodon/mastodon/pull/17711))
+- Fix `POST /api/v1/emails/confirmations` not being available after sign-up ([Gargron](https://github.com/mastodon/mastodon/pull/17743))
+- Fix rare race condition when reblogged post is deleted ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17693), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17730))
+- Fix being able to add more than 4 hashtags to hashtag column in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17729))
+- Fix data integrity of featured tags ([Gargron](https://github.com/mastodon/mastodon/pull/17712))
+- Fix performance of account timelines ([Gargron](https://github.com/mastodon/mastodon/pull/17709))
+- Fix returning empty `<p>` tag for blank account `note` in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17687))
+- Fix leak of existence of otherwise inaccessible posts in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17684))
+- Fix not showing loading indicator when searching in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17655))
+- Fix media modal footer's “external link” not being a link ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17561))
+- Fix reply button on media modal not giving focus to compose form ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17626))
+- Fix some media attachments being converted with too high framerates ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17619))
+- Fix sign in token and warning emails failing to send when contact e-mail address is malformed ([helloworldstack](https://github.com/mastodon/mastodon/pull/17589))
+- Fix opening the emoji picker scrolling the single-column view to the top ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17579))
+- Fix edge case where settings/admin page sidebar would be incorrectly hidden ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17580))
+- Fix performance of server-side filtering ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17575))
+- Fix privacy policy link not being visible on small screens ([Gargron](https://github.com/mastodon/mastodon/pull/17533))
+- Fix duplicate accounts when searching by IP range in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/17524), [tribela](https://github.com/mastodon/mastodon/pull/17150))
+- Fix error when performing a batch action on posts in admin UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17532))
+- Fix deletes not being signed in authorized fetch mode ([Gargron](https://github.com/mastodon/mastodon/pull/17484))
+- Fix Undo Announce sometimes inlining the originally Announced status ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17516))
+- Fix localization of cold-start follow recommendations ([Gargron](https://github.com/mastodon/mastodon/pull/17479), [Gargron](https://github.com/mastodon/mastodon/pull/17486))
+- Fix replies collection incorrectly looping ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17462))
+- Fix errors when multiple Delete are received for a given actor ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17460))
+- Fixed prototype pollution bug and only allow trusted origin ([r0hanSH](https://github.com/mastodon/mastodon/pull/17420))
+- Fix text being incorrectly pre-selected in composer textarea on /share ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17339))
+- Fix SMTP_ENABLE_STARTTLS_AUTO/SMTP_TLS/SMTP_SSL environment variables don't work ([kgtkr](https://github.com/mastodon/mastodon/pull/17216))
+- Fix media upload specific rate limits only being applied to v1 endpoint in REST API ([tribela](https://github.com/mastodon/mastodon/pull/17272))
+- Fix media descriptions not being used for client-side filtering ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17206))
+- Fix cold-start follow recommendation favouring older accounts due to wrong sorting ([noellabo](https://github.com/mastodon/mastodon/pull/17126))
+- Fix not redirect to the right page after authenticating with WebAuthn ([heguro](https://github.com/mastodon/mastodon/pull/17098))
+- Fix searching for additional hashtags in hashtag column ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17054))
+- Fix color of hashtag column settings inputs ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17058))
+- Fix performance of `tootctl statuses remove` ([noellabo](https://github.com/mastodon/mastodon/pull/17052))
+- Fix `tootctl accounts cull` not excluding domains on timeouts and certificate issues ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16433))
+- Fix 404 error when filtering admin action logs by non-existent target account ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16643))
+- Fix error when accessing streaming API without any OAuth scopes ([Brawaru](https://github.com/mastodon/mastodon/pull/16823))
+- Fix follow request count not updating when new follow requests arrive over streaming API in web UI ([matildepark](https://github.com/mastodon/mastodon/pull/16652))
+- Fix error when unsuspending a local account ([HolgerHuo](https://github.com/mastodon/mastodon/pull/16605))
+- Fix crash when a notification contains a not yet processed media attachment in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16573))
+- Fix wrong color of download button in audio player in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16572))
+- Fix notes for others accounts not being deleted when an account is deleted ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16579))
+- Fix error when logging occurrence of unsupported video file ([noellabo](https://github.com/mastodon/mastodon/pull/16581))
+- Fix wrong elements in trends widget being hidden on smaller screens in web UI ([tribela](https://github.com/mastodon/mastodon/pull/16570))
+- Fix link to about page being displayed in limited federation mode ([weex](https://github.com/mastodon/mastodon/pull/16432))
+- Fix styling of boost button in media modal not reflecting ability to boost ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16387))
+- Fix OCR failure when erroneous lang data is in cache ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16386))
+- Fix downloading media from blocked domains in `tootctl media refresh` ([tribela](https://github.com/mastodon/mastodon/pull/16914))
+- Fix login form being displayed on landing page when already logged in ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17348))
+- Fix polling for media processing status too frequently in web UI ([tribela](https://github.com/mastodon/mastodon/pull/17271))
+- Fix hashtag autocomplete overriding user-typed case ([weex](https://github.com/mastodon/mastodon/pull/16460))
+- Fix WebAuthn authentication setup to not prompt for PIN ([truongnmt](https://github.com/mastodon/mastodon/pull/16545))
+
 ## [3.4.6] - 2022-02-03
 ### Fixed
 
@@ -572,7 +760,7 @@ All notable changes to this project will be documented in this file.
     - `EMAIL_DOMAIN_WHITELIST` → `EMAIL_DOMAIN_ALLOWLIST`
   - CLI option changed:
     - `tootctl domains purge --whitelist-mode` → `tootctl domains purge --limited-federation-mode`
-- Remove some unnecessary database indices ([lfuelling](https://github.com/mastodon/mastodon/pull/13695), [noellabo](https://github.com/mastodon/mastodon/pull/14259))
+- Remove some unnecessary database indexes ([lfuelling](https://github.com/mastodon/mastodon/pull/13695), [noellabo](https://github.com/mastodon/mastodon/pull/14259))
 - Remove unnecessary Node.js version upper bound ([ykzts](https://github.com/mastodon/mastodon/pull/14139))
 
 ### Fixed
@@ -591,7 +779,7 @@ All notable changes to this project will be documented in this file.
 - Fix new posts pushing down origin of opened dropdown in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14271), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14348))
 - Fix timeline markers not being saved sometimes ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13887), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/13889), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14155))
 - Fix CSV uploads being rejected ([noellabo](https://github.com/mastodon/mastodon/pull/13835))
-- Fix incompatibility with ElasticSearch 7.x ([noellabo](https://github.com/mastodon/mastodon/pull/13828))
+- Fix incompatibility with Elasticsearch 7.x ([noellabo](https://github.com/mastodon/mastodon/pull/13828))
 - Fix being able to search posts where you're in the target audience but not actively mentioned ([noellabo](https://github.com/mastodon/mastodon/pull/13829))
 - Fix non-local posts appearing on local-only hashtag timelines in web UI ([noellabo](https://github.com/mastodon/mastodon/pull/13827))
 - Fix `tootctl media remove-orphans` choking on unknown files in storage ([Gargron](https://github.com/mastodon/mastodon/pull/13765))
@@ -1195,7 +1383,7 @@ All notable changes to this project will be documented in this file.
 - Fix URLs appearing twice in errors of ActivityPub::DeliveryWorker ([Gargron](https://github.com/mastodon/mastodon/pull/11231))
 - Fix support for HTTP proxies ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/11245))
 - Fix HTTP requests to IPv6 hosts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/11240))
-- Fix error in ElasticSearch index import ([mayaeh](https://github.com/mastodon/mastodon/pull/11192))
+- Fix error in Elasticsearch index import ([mayaeh](https://github.com/mastodon/mastodon/pull/11192))
 - Fix duplicate account error when seeding development database ([ysksn](https://github.com/mastodon/mastodon/pull/11366))
 - Fix performance of session clean-up scheduler ([abcang](https://github.com/mastodon/mastodon/pull/11871))
 - Fix older migrations not running ([zunda](https://github.com/mastodon/mastodon/pull/11377))
@@ -1205,8 +1393,8 @@ All notable changes to this project will be documented in this file.
 - Fix muted text color not applying to all text ([trwnh](https://github.com/mastodon/mastodon/pull/11996))
 - Fix follower/following lists resetting on back-navigation in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/11986))
 - Fix n+1 query when approving multiple follow requests ([abcang](https://github.com/mastodon/mastodon/pull/12004))
-- Fix records not being indexed into ElasticSearch sometimes ([Gargron](https://github.com/mastodon/mastodon/pull/12024))
-- Fix needlessly indexing unsearchable statuses into ElasticSearch ([Gargron](https://github.com/mastodon/mastodon/pull/12041))
+- Fix records not being indexed into Elasticsearch sometimes ([Gargron](https://github.com/mastodon/mastodon/pull/12024))
+- Fix needlessly indexing unsearchable statuses into Elasticsearch ([Gargron](https://github.com/mastodon/mastodon/pull/12041))
 - Fix new user bootstrapping crashing when to-be-followed accounts are invalid ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/12037))
 - Fix featured hashtag URL being interpreted as media or replies tab ([Gargron](https://github.com/mastodon/mastodon/pull/12048))
 - Fix account counters being overwritten by parallel writes ([Gargron](https://github.com/mastodon/mastodon/pull/12045))
diff --git a/Gemfile b/Gemfile
index bdabf54ea..2621b77a5 100644
--- a/Gemfile
+++ b/Gemfile
@@ -7,7 +7,7 @@ gem 'pkg-config', '~> 1.4'
 gem 'rexml', '~> 3.2'
 
 gem 'puma', '~> 5.6'
-gem 'rails', '~> 6.1.4'
+gem 'rails', '~> 6.1.5'
 gem 'sprockets', '~> 3.7.2'
 gem 'thor', '~> 1.2'
 gem 'rack', '~> 2.2.3'
@@ -40,6 +40,7 @@ end
 gem 'net-ldap', '~> 0.17'
 gem 'omniauth-cas', '~> 2.0'
 gem 'omniauth-saml', '~> 1.10'
+gem 'gitlab-omniauth-openid-connect', '~>0.5.0', require: 'omniauth_openid_connect'
 gem 'omniauth', '~> 1.9'
 gem 'omniauth-rails_csrf_protection', '~> 0.1'
 
@@ -67,7 +68,7 @@ gem 'parslet'
 gem 'posix-spawn'
 gem 'pundit', '~> 2.2'
 gem 'premailer-rails'
-gem 'rack-attack', '~> 6.5'
+gem 'rack-attack', '~> 6.6'
 gem 'rack-cors', '~> 1.1', require: 'rack/cors'
 gem 'rails-i18n', '~> 6.0'
 gem 'rails-settings-cached', '~> 0.6'
@@ -115,7 +116,7 @@ end
 group :test do
   gem 'capybara', '~> 3.36'
   gem 'climate_control', '~> 0.2'
-  gem 'faker', '~> 2.19'
+  gem 'faker', '~> 2.20'
   gem 'microformats', '~> 4.2'
   gem 'rails-controller-testing', '~> 1.0'
   gem 'rspec-sidekiq', '~> 3.1'
diff --git a/Gemfile.lock b/Gemfile.lock
index 26429aec4..2275d9453 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,40 +1,40 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    actioncable (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actioncable (6.1.5)
+      actionpack (= 6.1.5)
+      activesupport (= 6.1.5)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
-    actionmailbox (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      activejob (= 6.1.4.6)
-      activerecord (= 6.1.4.6)
-      activestorage (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actionmailbox (6.1.5)
+      actionpack (= 6.1.5)
+      activejob (= 6.1.5)
+      activerecord (= 6.1.5)
+      activestorage (= 6.1.5)
+      activesupport (= 6.1.5)
       mail (>= 2.7.1)
-    actionmailer (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      actionview (= 6.1.4.6)
-      activejob (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actionmailer (6.1.5)
+      actionpack (= 6.1.5)
+      actionview (= 6.1.5)
+      activejob (= 6.1.5)
+      activesupport (= 6.1.5)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (6.1.4.6)
-      actionview (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actionpack (6.1.5)
+      actionview (= 6.1.5)
+      activesupport (= 6.1.5)
       rack (~> 2.0, >= 2.0.9)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actiontext (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      activerecord (= 6.1.4.6)
-      activestorage (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actiontext (6.1.5)
+      actionpack (= 6.1.5)
+      activerecord (= 6.1.5)
+      activestorage (= 6.1.5)
+      activesupport (= 6.1.5)
       nokogiri (>= 1.8.5)
-    actionview (6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actionview (6.1.5)
+      activesupport (= 6.1.5)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
@@ -45,22 +45,22 @@ GEM
       case_transform (>= 0.2)
       jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
     active_record_query_trace (1.8)
-    activejob (6.1.4.6)
-      activesupport (= 6.1.4.6)
+    activejob (6.1.5)
+      activesupport (= 6.1.5)
       globalid (>= 0.3.6)
-    activemodel (6.1.4.6)
-      activesupport (= 6.1.4.6)
-    activerecord (6.1.4.6)
-      activemodel (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
-    activestorage (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      activejob (= 6.1.4.6)
-      activerecord (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
-      marcel (~> 1.0.0)
+    activemodel (6.1.5)
+      activesupport (= 6.1.5)
+    activerecord (6.1.5)
+      activemodel (= 6.1.5)
+      activesupport (= 6.1.5)
+    activestorage (6.1.5)
+      actionpack (= 6.1.5)
+      activejob (= 6.1.5)
+      activerecord (= 6.1.5)
+      activesupport (= 6.1.5)
+      marcel (~> 1.0)
       mini_mime (>= 1.1.0)
-    activesupport (6.1.4.6)
+    activesupport (6.1.5)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -68,6 +68,7 @@ GEM
       zeitwerk (~> 2.3)
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
+    aes_key_wrap (1.1.0)
     airbrussh (1.4.0)
       sshkit (>= 1.6.1, != 1.7.0)
     android_key_attestation (0.3.0)
@@ -77,6 +78,7 @@ GEM
     ast (2.4.2)
     attr_encrypted (3.1.0)
       encryptor (~> 3.0.0)
+    attr_required (1.0.1)
     awrence (1.1.1)
     aws-eventstream (1.2.0)
     aws-partitions (1.558.0)
@@ -126,7 +128,7 @@ GEM
       sshkit (>= 1.9.0)
     capistrano-bundler (2.0.1)
       capistrano (~> 3.1)
-    capistrano-rails (1.6.1)
+    capistrano-rails (1.6.2)
       capistrano (~> 3.1)
       capistrano-bundler (>= 1.1, < 3)
     capistrano-rbenv (2.2.0)
@@ -210,8 +212,8 @@ GEM
       tzinfo
     excon (0.76.0)
     fabrication (2.27.0)
-    faker (2.19.0)
-      i18n (>= 1.6, < 2)
+    faker (2.20.0)
+      i18n (>= 1.8.11, < 2)
     faraday (1.9.3)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
@@ -260,6 +262,10 @@ GEM
     fuubar (2.5.1)
       rspec-core (~> 3.0)
       ruby-progressbar (~> 1.4)
+    gitlab-omniauth-openid-connect (0.5.0)
+      addressable (~> 2.7)
+      omniauth (~> 1.9)
+      openid_connect (~> 1.2)
     globalid (1.0.0)
       activesupport (>= 5.0)
     hamlit (2.13.0)
@@ -288,10 +294,11 @@ GEM
       domain_name (~> 0.5)
     http-form_data (2.3.0)
     http_accept_language (2.1.1)
+    httpclient (2.8.3)
     httplog (1.5.0)
       rack (>= 1.0)
       rainbow (>= 2.0.0)
-    i18n (1.9.1)
+    i18n (1.10.0)
       concurrent-ruby (~> 1.0)
     i18n-tasks (0.9.37)
       activesupport (>= 4.0.2)
@@ -308,6 +315,10 @@ GEM
     jmespath (1.6.0)
     json (2.5.1)
     json-canonicalization (0.3.0)
+    json-jwt (1.13.0)
+      activesupport (>= 4.2)
+      aes_key_wrap
+      bindata
     json-ld (3.2.0)
       htmlentities (~> 4.3)
       json-canonicalization (~> 0.3)
@@ -356,7 +367,7 @@ GEM
       activesupport (>= 4)
       railties (>= 4)
       request_store (~> 1.0)
-    loofah (2.14.0)
+    loofah (2.15.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     mail (2.7.1)
@@ -408,17 +419,27 @@ GEM
     omniauth-saml (1.10.3)
       omniauth (~> 1.3, >= 1.3.2)
       ruby-saml (~> 1.9)
+    openid_connect (1.2.0)
+      activemodel
+      attr_required (>= 1.0.0)
+      json-jwt (>= 1.5.0)
+      rack-oauth2 (>= 1.6.1)
+      swd (>= 1.0.0)
+      tzinfo
+      validate_email
+      validate_url
+      webfinger (>= 1.0.1)
     openssl (2.2.0)
     openssl-signature_algorithm (0.4.0)
     orm_adapter (0.5.0)
-    ox (2.14.9)
+    ox (2.14.10)
     parallel (1.21.0)
     parser (3.1.0.0)
       ast (~> 2.4.1)
     parslet (2.0.0)
     pastel (0.8.0)
       tty-color (~> 0.5)
-    pg (1.3.3)
+    pg (1.3.4)
     pghero (2.8.2)
       activerecord (>= 5)
     pkg-config (1.4.7)
@@ -447,28 +468,34 @@ GEM
     raabro (1.4.0)
     racc (1.6.0)
     rack (2.2.3)
-    rack-attack (6.5.0)
+    rack-attack (6.6.0)
       rack (>= 1.0, < 3)
     rack-cors (1.1.1)
       rack (>= 2.0.0)
+    rack-oauth2 (1.16.0)
+      activesupport
+      attr_required
+      httpclient
+      json-jwt (>= 1.11.0)
+      rack (>= 2.1.0)
     rack-proxy (0.7.0)
       rack
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
-    rails (6.1.4.6)
-      actioncable (= 6.1.4.6)
-      actionmailbox (= 6.1.4.6)
-      actionmailer (= 6.1.4.6)
-      actionpack (= 6.1.4.6)
-      actiontext (= 6.1.4.6)
-      actionview (= 6.1.4.6)
-      activejob (= 6.1.4.6)
-      activemodel (= 6.1.4.6)
-      activerecord (= 6.1.4.6)
-      activestorage (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    rails (6.1.5)
+      actioncable (= 6.1.5)
+      actionmailbox (= 6.1.5)
+      actionmailer (= 6.1.5)
+      actionpack (= 6.1.5)
+      actiontext (= 6.1.5)
+      actionview (= 6.1.5)
+      activejob (= 6.1.5)
+      activemodel (= 6.1.5)
+      activerecord (= 6.1.5)
+      activestorage (= 6.1.5)
+      activesupport (= 6.1.5)
       bundler (>= 1.15.0)
-      railties (= 6.1.4.6)
+      railties (= 6.1.5)
       sprockets-rails (>= 2.0.0)
     rails-controller-testing (1.0.5)
       actionpack (>= 5.0.1.rc1)
@@ -484,11 +511,11 @@ GEM
       railties (>= 6.0.0, < 7)
     rails-settings-cached (0.6.6)
       rails (>= 4.2.0)
-    railties (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    railties (6.1.5)
+      actionpack (= 6.1.5)
+      activesupport (= 6.1.5)
       method_source
-      rake (>= 0.13)
+      rake (>= 12.2)
       thor (~> 1.0)
     rainbow (3.1.1)
     rake (13.0.6)
@@ -498,7 +525,7 @@ GEM
       rdf (~> 3.2)
     redcarpet (3.5.1)
     redis (4.5.1)
-    redis-namespace (1.8.1)
+    redis-namespace (1.8.2)
       redis (>= 3.0.4)
     regexp_parser (2.2.0)
     request_store (1.5.0)
@@ -521,7 +548,7 @@ GEM
     rspec-mocks (3.11.0)
       diff-lcs (>= 1.2.0, < 2.0)
       rspec-support (~> 3.11.0)
-    rspec-rails (5.1.0)
+    rspec-rails (5.1.1)
       actionpack (>= 5.2)
       activesupport (>= 5.2)
       railties (>= 5.2)
@@ -606,11 +633,15 @@ GEM
     sshkit (1.21.2)
       net-scp (>= 1.1.2)
       net-ssh (>= 2.8.0)
-    stackprof (0.2.17)
+    stackprof (0.2.19)
     statsd-ruby (1.5.0)
     stoplight (2.2.1)
     strong_migrations (0.7.9)
       activerecord (>= 5)
+    swd (1.2.0)
+      activesupport (>= 3)
+      attr_required (>= 0.0.5)
+      httpclient (>= 2.4)
     temple (0.8.2)
     terminal-table (3.0.2)
       unicode-display_width (>= 1.1.1, < 3)
@@ -645,6 +676,12 @@ GEM
     unf_ext (0.0.8)
     unicode-display_width (2.1.0)
     uniform_notifier (1.14.2)
+    validate_email (0.1.6)
+      activemodel (>= 3.0)
+      mail (>= 2.2.5)
+    validate_url (1.0.13)
+      activemodel (>= 3.0.0)
+      public_suffix
     warden (1.2.9)
       rack (>= 2.0.9)
     webauthn (3.0.0.alpha1)
@@ -657,6 +694,9 @@ GEM
       safety_net_attestation (~> 0.4.0)
       securecompare (~> 1.0)
       tpm-key_attestation (~> 0.9.0)
+    webfinger (1.1.0)
+      activesupport
+      httpclient (>= 2.4)
     webmock (3.14.0)
       addressable (>= 2.8.0)
       crack (>= 0.3.2)
@@ -714,12 +754,13 @@ DEPENDENCIES
   dotenv-rails (~> 2.7)
   ed25519 (~> 1.3)
   fabrication (~> 2.27)
-  faker (~> 2.19)
+  faker (~> 2.20)
   fast_blank (~> 1.0)
   fastimage
   fog-core (<= 2.1.0)
   fog-openstack (~> 0.3)
   fuubar (~> 2.5)
+  gitlab-omniauth-openid-connect (~> 0.5.0)
   hamlit-rails (~> 0.2)
   hcaptcha (~> 7.1)
   hiredis (~> 0.6)
@@ -763,9 +804,9 @@ DEPENDENCIES
   puma (~> 5.6)
   pundit (~> 2.2)
   rack (~> 2.2.3)
-  rack-attack (~> 6.5)
+  rack-attack (~> 6.6)
   rack-cors (~> 1.1)
-  rails (~> 6.1.4)
+  rails (~> 6.1.5)
   rails-controller-testing (~> 1.0)
   rails-i18n (~> 6.0)
   rails-settings-cached (~> 0.6)
diff --git a/SECURITY.md b/SECURITY.md
index 9d351fce6..5531a306e 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -1,13 +1,19 @@
 # Security Policy
 
+If you believe you've identified a security vulnerability in Mastodon (a bug that allows something to happen that shouldn't be possible), you should submit the report through our [Bug Bounty Program][bug-bounty]. Alternatively, you can reach us at <hello@joinmastodon.org>.
+
+You should *not* report such issues on GitHub or in other public spaces to give us time to publish a fix for the issue without exposing Mastodon's users to increased risk.
+
+## Scope
+
+A "vulnerability in Mastodon" is a vulnerability in the code distributed through our main source code repository on GitHub. Vulnerabilities that are specific to a given installation (e.g. misconfiguration) should be reported to the owner of that installation and not us.
+
 ## Supported Versions
 
 | Version | Supported          |
 | ------- | ------------------ |
-| 3.4.x   | :white_check_mark: |
-| 3.3.x   | :white_check_mark: |
-| < 3.3   | :x:                |
-
-## Reporting a Vulnerability
+| 3.4.x   | Yes                |
+| 3.3.x   | Yes                |
+| < 3.3   | No                 |
 
-hello@joinmastodon.org
+[bug-bounty]: https://app.intigriti.com/programs/mastodon/mastodonio/detail
diff --git a/app/chewy/statuses_index.rb b/app/chewy/statuses_index.rb
index 1903c2ea3..65cbb6fcd 100644
--- a/app/chewy/statuses_index.rb
+++ b/app/chewy/statuses_index.rb
@@ -57,7 +57,7 @@ class StatusesIndex < Chewy::Index
     field :id, type: 'long'
     field :account_id, type: 'long'
 
-    field :text, type: 'text', value: ->(status) { [status.spoiler_text, Formatter.instance.plaintext(status)].concat(status.media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do
+    field :text, type: 'text', value: ->(status) { [status.spoiler_text, Formatter.instance.plaintext(status)].concat(status.ordered_media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do
       field :stemmed, type: 'text', analyzer: 'content'
     end
 
diff --git a/app/controllers/admin/custom_emojis_controller.rb b/app/controllers/admin/custom_emojis_controller.rb
index 71efb543e..47138bf6c 100644
--- a/app/controllers/admin/custom_emojis_controller.rb
+++ b/app/controllers/admin/custom_emojis_controller.rb
@@ -35,6 +35,9 @@ module Admin
       flash[:alert] = I18n.t('admin.accounts.no_account_selected')
     rescue Mastodon::NotPermittedError
       flash[:alert] = I18n.t('admin.custom_emojis.not_permitted')
+    rescue ActiveRecord::RecordInvalid => e
+      error_message = action_from_button == 'copy' ? 'admin.custom_emojis.batch_copy_error' : 'admin.custom_emojis.batch_error'
+      flash[:alert] = I18n.t(error_message, message: e.message)
     ensure
       redirect_to admin_custom_emojis_path(filter_params)
     end
diff --git a/app/controllers/admin/domain_blocks_controller.rb b/app/controllers/admin/domain_blocks_controller.rb
index b140c454c..16defc1ea 100644
--- a/app/controllers/admin/domain_blocks_controller.rb
+++ b/app/controllers/admin/domain_blocks_controller.rb
@@ -56,10 +56,6 @@ module Admin
       end
     end
 
-    def show
-      authorize @domain_block, :show?
-    end
-
     def destroy
       authorize @domain_block, :destroy?
       UnblockDomainService.new.call(@domain_block)
diff --git a/app/controllers/admin/instances_controller.rb b/app/controllers/admin/instances_controller.rb
index 306ec1f53..5c82331de 100644
--- a/app/controllers/admin/instances_controller.rb
+++ b/app/controllers/admin/instances_controller.rb
@@ -4,28 +4,26 @@ module Admin
   class InstancesController < BaseController
     before_action :set_instances, only: :index
     before_action :set_instance, except: :index
-    before_action :set_exhausted_deliveries_days, only: :show
 
     def index
       authorize :instance, :index?
+      preload_delivery_failures!
     end
 
     def show
       authorize :instance, :show?
+      @time_period = (6.days.ago.to_date...Time.now.utc.to_date)
     end
 
     def destroy
       authorize :instance, :destroy?
-
       Admin::DomainPurgeWorker.perform_async(@instance.domain)
-
       log_action :destroy, @instance
       redirect_to admin_instances_path, notice: I18n.t('admin.instances.destroyed_msg', domain: @instance.domain)
     end
 
     def clear_delivery_errors
       authorize :delivery, :clear_delivery_errors?
-
       @instance.delivery_failure_tracker.clear_failures!
       redirect_to admin_instance_path(@instance.domain)
     end
@@ -33,11 +31,9 @@ module Admin
     def restart_delivery
       authorize :delivery, :restart_delivery?
 
-      last_unavailable_domain = unavailable_domain
-
-      if last_unavailable_domain.present?
+      if @instance.unavailable?
         @instance.delivery_failure_tracker.track_success!
-        log_action :destroy, last_unavailable_domain
+        log_action :destroy, @instance.unavailable_domain
       end
 
       redirect_to admin_instance_path(@instance.domain)
@@ -45,8 +41,7 @@ module Admin
 
     def stop_delivery
       authorize :delivery, :stop_delivery?
-
-      UnavailableDomain.create(domain: @instance.domain)
+      unavailable_domain = UnavailableDomain.create!(domain: @instance.domain)
       log_action :create, unavailable_domain
       redirect_to admin_instance_path(@instance.domain)
     end
@@ -57,12 +52,11 @@ module Admin
       @instance = Instance.find(params[:id])
     end
 
-    def set_exhausted_deliveries_days
-      @exhausted_deliveries_days = @instance.delivery_failure_tracker.exhausted_deliveries_days
-    end
-
     def set_instances
       @instances = filtered_instances.page(params[:page])
+    end
+
+    def preload_delivery_failures!
       warning_domains_map = DeliveryFailureTracker.warning_domains_map
 
       @instances.each do |instance|
@@ -70,10 +64,6 @@ module Admin
       end
     end
 
-    def unavailable_domain
-      UnavailableDomain.find_by(domain: @instance.domain)
-    end
-
     def filtered_instances
       InstanceFilter.new(whitelist_mode? ? { allowed: true } : filter_params).results
     end
diff --git a/app/controllers/api/v1/emails/confirmations_controller.rb b/app/controllers/api/v1/emails/confirmations_controller.rb
index f1d9954d0..3faaea2fb 100644
--- a/app/controllers/api/v1/emails/confirmations_controller.rb
+++ b/app/controllers/api/v1/emails/confirmations_controller.rb
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 class Api::V1::Emails::ConfirmationsController < Api::BaseController
-  before_action :doorkeeper_authorize!
+  before_action -> { doorkeeper_authorize! :write, :'write:accounts' }
   before_action :require_user_owned_by_application!
   before_action :require_user_not_confirmed!
 
@@ -19,6 +19,6 @@ class Api::V1::Emails::ConfirmationsController < Api::BaseController
   end
 
   def require_user_not_confirmed!
-    render json: { error: 'This method is only available while the e-mail is awaiting confirmation' }, status: :forbidden if current_user.confirmed? || current_user.unconfirmed_email.blank?
+    render json: { error: 'This method is only available while the e-mail is awaiting confirmation' }, status: :forbidden unless !current_user.confirmed? || current_user.unconfirmed_email.present?
   end
 end
diff --git a/app/controllers/api/v1/notifications_controller.rb b/app/controllers/api/v1/notifications_controller.rb
index eefd28d45..c47d6ccfd 100644
--- a/app/controllers/api/v1/notifications_controller.rb
+++ b/app/controllers/api/v1/notifications_controller.rb
@@ -44,13 +44,18 @@ class Api::V1::NotificationsController < Api::BaseController
       limit_param(DEFAULT_NOTIFICATIONS_LIMIT),
       params_slice(:max_id, :since_id, :min_id)
     )
+
     Notification.preload_cache_collection_target_statuses(notifications) do |target_statuses|
       cache_collection(target_statuses, Status)
     end
   end
 
   def browserable_account_notifications
-    current_account.notifications.without_suspended.browserable(exclude_types, from_account)
+    current_account.notifications.without_suspended.browserable(
+      types: Array(browserable_params[:types]),
+      exclude_types: Array(browserable_params[:exclude_types]),
+      from_account_id: browserable_params[:account_id]
+    )
   end
 
   def target_statuses_from_notifications
@@ -81,17 +86,11 @@ class Api::V1::NotificationsController < Api::BaseController
     @notifications.first.id
   end
 
-  def exclude_types
-    val = params.permit(exclude_types: [])[:exclude_types] || []
-    val = [val] unless val.is_a?(Enumerable)
-    val
-  end
-
-  def from_account
-    params[:account_id]
+  def browserable_params
+    params.permit(:account_id, types: [], exclude_types: [])
   end
 
   def pagination_params(core_params)
-    params.slice(:limit, :exclude_types).permit(:limit, exclude_types: []).merge(core_params)
+    params.slice(:limit, :account_id, :types, :exclude_types).permit(:limit, :account_id, types: [], exclude_types: []).merge(core_params)
   end
 end
diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb
index ddd7c33ae..7de446ac4 100644
--- a/app/controllers/api/v1/statuses_controller.rb
+++ b/app/controllers/api/v1/statuses_controller.rb
@@ -10,6 +10,7 @@ class Api::V1::StatusesController < Api::BaseController
   before_action :set_thread, only:       [:create]
 
   override_rate_limit_headers :create, family: :statuses
+  override_rate_limit_headers :update, family: :statuses
 
   # This API was originally unlimited, pagination cannot be introduced without
   # breaking backwards-compatibility. Arbitrarily high number to cover most
diff --git a/app/controllers/auth/omniauth_callbacks_controller.rb b/app/controllers/auth/omniauth_callbacks_controller.rb
index 991a50b03..f9cf6d655 100644
--- a/app/controllers/auth/omniauth_callbacks_controller.rb
+++ b/app/controllers/auth/omniauth_callbacks_controller.rb
@@ -4,8 +4,6 @@ class Auth::OmniauthCallbacksController < Devise::OmniauthCallbacksController
   skip_before_action :verify_authenticity_token
 
   def self.provides_callback_for(provider)
-    provider_id = provider.to_s.chomp '_oauth2'
-
     define_method provider do
       @user = User.find_for_oauth(request.env['omniauth.auth'], current_user)
 
@@ -20,7 +18,7 @@ class Auth::OmniauthCallbacksController < Devise::OmniauthCallbacksController
         )
 
         sign_in_and_redirect @user, event: :authentication
-        set_flash_message(:notice, :success, kind: provider_id.capitalize) if is_navigational_format?
+        set_flash_message(:notice, :success, kind: Devise.omniauth_configs[provider].strategy.display_name.capitalize) if is_navigational_format?
       else
         session["devise.#{provider}_data"] = request.env['omniauth.auth']
         redirect_to new_user_registration_url
@@ -33,7 +31,7 @@ class Auth::OmniauthCallbacksController < Devise::OmniauthCallbacksController
   end
 
   def after_sign_in_path_for(resource)
-    if resource.email_verified?
+    if resource.email_present?
       root_path
     else
       auth_setup_path(missing_email: '1')
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 818253e86..eace78af6 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -9,9 +9,9 @@ module ApplicationHelper
 
   RTL_LOCALES = %i(
     ar
+    ckb
     fa
     he
-    ku
   ).freeze
 
   def friendly_number_to_human(number, **options)
diff --git a/app/helpers/jsonld_helper.rb b/app/helpers/jsonld_helper.rb
index c6557817d..102e4b132 100644
--- a/app/helpers/jsonld_helper.rb
+++ b/app/helpers/jsonld_helper.rb
@@ -15,6 +15,14 @@ module JsonLdHelper
     value.is_a?(Array) ? value.first : value
   end
 
+  def uri_from_bearcap(str)
+    if str&.start_with?('bear:')
+      Addressable::URI.parse(str).query_values['u']
+    else
+      str
+    end
+  end
+
   # The url attribute can be a string, an array of strings, or an array of objects.
   # The objects could include a mimeType. Not-included mimeType means it's text/html.
   def url_to_href(value, preferred_type = nil)
@@ -54,7 +62,7 @@ module JsonLdHelper
   end
 
   def unsupported_uri_scheme?(uri)
-    !uri.start_with?('http://', 'https://')
+    uri.nil? || !uri.start_with?('http://', 'https://')
   end
 
   def invalid_origin?(url)
diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb
index 626987561..cbda21b2a 100644
--- a/app/helpers/languages_helper.rb
+++ b/app/helpers/languages_helper.rb
@@ -88,7 +88,7 @@ module LanguagesHelper
     ko: ['Korean', '한국어'].freeze,
     kr: ['Kanuri', 'Kanuri'].freeze,
     ks: ['Kashmiri', 'कश्मीरी'].freeze,
-    ku: ['Kurdish', 'Kurdî'].freeze,
+    ku: ['Kurmanji (Kurdish)', 'Kurmancî'].freeze,
     kv: ['Komi', 'коми кыв'].freeze,
     kw: ['Cornish', 'Kernewek'].freeze,
     ky: ['Kyrgyz', 'Кыргызча'].freeze,
@@ -108,7 +108,7 @@ module LanguagesHelper
     ml: ['Malayalam', 'മലയാളം'].freeze,
     mn: ['Mongolian', 'Монгол хэл'].freeze,
     mr: ['Marathi', 'मराठी'].freeze,
-    ms: ['Malay', 'Bahasa Malaysia'].freeze,
+    ms: ['Malay', 'Bahasa Melayu'].freeze,
     mt: ['Maltese', 'Malti'].freeze,
     my: ['Burmese', 'ဗမာစာ'].freeze,
     na: ['Nauru', 'Ekakairũ Naoero'].freeze,
@@ -117,7 +117,7 @@ module LanguagesHelper
     ne: ['Nepali', 'नेपाली'].freeze,
     ng: ['Ndonga', 'Owambo'].freeze,
     nl: ['Dutch', 'Nederlands'].freeze,
-    nn: ['Norwegian Nynorsk', 'Norsk nynorsk'].freeze,
+    nn: ['Norwegian Nynorsk', 'Norsk Nynorsk'].freeze,
     no: ['Norwegian', 'Norsk'].freeze,
     nr: ['Southern Ndebele', 'isiNdebele'].freeze,
     nv: ['Navajo', 'Diné bizaad'].freeze,
@@ -188,8 +188,9 @@ module LanguagesHelper
 
   ISO_639_3 = {
     ast: ['Asturian', 'Asturianu'].freeze,
+    ckb: ['Sorani (Kurdish)', 'سۆرانی'].freeze,
     kab: ['Kabyle', 'Taqbaylit'].freeze,
-    kmr: ['Northern Kurdish', 'Kurmancî'].freeze,
+    kmr: ['Kurmanji (Kurdish)', 'Kurmancî'].freeze,
     zgh: ['Standard Moroccan Tamazight', 'ⵜⴰⵎⴰⵣⵉⵖⵜ'].freeze,
   }.freeze
   
@@ -245,6 +246,15 @@ module LanguagesHelper
     code
   end
 
+  def valid_locale_cascade(*arr)
+    arr.each do |str|
+      locale = valid_locale_or_nil(str)
+      return locale if locale.present?
+    end
+
+    nil
+  end
+
   def valid_locale?(locale)
     locale.present? && SUPPORTED_LOCALES.key?(locale.to_sym)
   end
diff --git a/app/helpers/statuses_helper.rb b/app/helpers/statuses_helper.rb
index 25f079e9d..d328f89b7 100644
--- a/app/helpers/statuses_helper.rb
+++ b/app/helpers/statuses_helper.rb
@@ -132,7 +132,7 @@ module StatusesHelper
   end
 
   def render_video_component(status, **options)
-    video = status.media_attachments.first
+    video = status.ordered_media_attachments.first
 
     meta = video.file.meta || {}
 
@@ -150,12 +150,12 @@ module StatusesHelper
     }.merge(**options)
 
     react_component :video, component_params do
-      render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments }
+      render partial: 'statuses/attachment_list', locals: { attachments: status.ordered_media_attachments }
     end
   end
 
   def render_audio_component(status, **options)
-    audio = status.media_attachments.first
+    audio = status.ordered_media_attachments.first
 
     meta = audio.file.meta || {}
 
@@ -170,7 +170,7 @@ module StatusesHelper
     }.merge(**options)
 
     react_component :audio, component_params do
-      render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments }
+      render partial: 'statuses/attachment_list', locals: { attachments: status.ordered_media_attachments }
     end
   end
 
@@ -178,11 +178,11 @@ module StatusesHelper
     component_params = {
       sensitive: sensitized?(status, current_account),
       autoplay: prefers_autoplay?,
-      media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json },
+      media: status.ordered_media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json },
     }.merge(**options)
 
     react_component :media_gallery, component_params do
-      render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments }
+      render partial: 'statuses/attachment_list', locals: { attachments: status.ordered_media_attachments }
     end
   end
 
diff --git a/app/javascript/flavours/glitch/components/admin/Counter.js b/app/javascript/flavours/glitch/components/admin/Counter.js
index 2bc9ce482..ecb242950 100644
--- a/app/javascript/flavours/glitch/components/admin/Counter.js
+++ b/app/javascript/flavours/glitch/components/admin/Counter.js
@@ -68,12 +68,12 @@ export default class Counter extends React.PureComponent {
       );
     } else {
       const measure = data[0];
-      const percentChange = percIncrease(measure.previous_total * 1, measure.total * 1);
+      const percentChange = measure.previous_total && percIncrease(measure.previous_total * 1, measure.total * 1);
 
       content = (
         <React.Fragment>
-          <span className='sparkline__value__total'><FormattedNumber value={measure.total} /></span>
-          <span className={classNames('sparkline__value__change', { positive: percentChange > 0, negative: percentChange < 0 })}>{percentChange > 0 && '+'}<FormattedNumber value={percentChange} style='percent' /></span>
+          <span className='sparkline__value__total'>{measure.human_value || <FormattedNumber value={measure.total} />}</span>
+          {measure.previous_total && (<span className={classNames('sparkline__value__change', { positive: percentChange > 0, negative: percentChange < 0 })}>{percentChange > 0 && '+'}<FormattedNumber value={percentChange} style='percent' /></span>)}
         </React.Fragment>
       );
     }
diff --git a/app/javascript/flavours/glitch/components/media_attachments.js b/app/javascript/flavours/glitch/components/media_attachments.js
new file mode 100644
index 000000000..c8d133f09
--- /dev/null
+++ b/app/javascript/flavours/glitch/components/media_attachments.js
@@ -0,0 +1,119 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { MediaGallery, Video, Audio } from 'flavours/glitch/util/async-components';
+import Bundle from 'flavours/glitch/features/ui/components/bundle';
+import noop from 'lodash/noop';
+
+export default class MediaAttachments extends ImmutablePureComponent {
+
+  static propTypes = {
+    status: ImmutablePropTypes.map.isRequired,
+    height: PropTypes.number,
+    width: PropTypes.number,
+    revealed: PropTypes.bool,
+  };
+
+  static defaultProps = {
+    height: 110,
+    width: 239,
+  };
+
+  updateOnProps = [
+    'status',
+  ];
+
+  renderLoadingMediaGallery = () => {
+    const { height, width } = this.props;
+
+    return (
+      <div className='media-gallery' style={{ height, width }} />
+    );
+  }
+
+  renderLoadingVideoPlayer = () => {
+    const { height, width } = this.props;
+
+    return (
+      <div className='video-player' style={{ height, width }} />
+    );
+  }
+
+  renderLoadingAudioPlayer = () => {
+    const { height, width } = this.props;
+
+    return (
+      <div className='audio-player' style={{ height, width }} />
+    );
+  }
+
+  render () {
+    const { status, width, height, revealed } = this.props;
+    const mediaAttachments = status.get('media_attachments');
+
+    if (mediaAttachments.size === 0) {
+      return null;
+    }
+
+    if (mediaAttachments.getIn([0, 'type']) === 'audio') {
+      const audio = mediaAttachments.get(0);
+
+      return (
+        <Bundle fetchComponent={Audio} loading={this.renderLoadingAudioPlayer} >
+          {Component => (
+            <Component
+              src={audio.get('url')}
+              alt={audio.get('description')}
+              width={width}
+              height={height}
+              poster={audio.get('preview_url') || status.getIn(['account', 'avatar_static'])}
+              backgroundColor={audio.getIn(['meta', 'colors', 'background'])}
+              foregroundColor={audio.getIn(['meta', 'colors', 'foreground'])}
+              accentColor={audio.getIn(['meta', 'colors', 'accent'])}
+              duration={audio.getIn(['meta', 'original', 'duration'], 0)}
+            />
+          )}
+        </Bundle>
+      );
+    } else if (mediaAttachments.getIn([0, 'type']) === 'video') {
+      const video = mediaAttachments.get(0);
+
+      return (
+        <Bundle fetchComponent={Video} loading={this.renderLoadingVideoPlayer} >
+          {Component => (
+            <Component
+              preview={video.get('preview_url')}
+              frameRate={video.getIn(['meta', 'original', 'frame_rate'])}
+              blurhash={video.get('blurhash')}
+              src={video.get('url')}
+              alt={video.get('description')}
+              width={width}
+              height={height}
+              inline
+              sensitive={status.get('sensitive')}
+              revealed={revealed}
+              onOpenVideo={noop}
+            />
+          )}
+        </Bundle>
+      );
+    } else {
+      return (
+        <Bundle fetchComponent={MediaGallery} loading={this.renderLoadingMediaGallery} >
+          {Component => (
+            <Component
+              media={mediaAttachments}
+              sensitive={status.get('sensitive')}
+              defaultWidth={width}
+              revealed={revealed}
+              height={height}
+              onOpenMedia={noop}
+            />
+          )}
+        </Bundle>
+      );
+    }
+  }
+
+}
diff --git a/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.js b/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.js
index 142118cef..ede8907e5 100644
--- a/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.js
+++ b/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.js
@@ -40,7 +40,17 @@ class ColumnSettings extends React.PureComponent {
     }
   };
 
-  onSelect = mode => value => this.props.onChange(['tags', mode], value);
+  onSelect = mode => value => {
+    const oldValue = this.tags(mode);
+
+    // Prevent changes that add more than 4 tags, but allow removing
+    // tags that were already added before
+    if ((value.length > 4) && !(value < oldValue)) {
+      return;
+    }
+
+    this.props.onChange(['tags', mode], value);
+  };
 
   onToggle = () => {
     if (this.state.open && this.hasTags()) {
diff --git a/app/javascript/flavours/glitch/features/report/components/status_check_box.js b/app/javascript/flavours/glitch/features/report/components/status_check_box.js
index adb5e77a7..76bf0eb85 100644
--- a/app/javascript/flavours/glitch/features/report/components/status_check_box.js
+++ b/app/javascript/flavours/glitch/features/report/components/status_check_box.js
@@ -1,14 +1,12 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import noop from 'lodash/noop';
 import StatusContent from 'flavours/glitch/components/status_content';
-import { MediaGallery, Video } from 'flavours/glitch/util/async-components';
-import Bundle from 'flavours/glitch/features/ui/components/bundle';
 import Avatar from 'flavours/glitch/components/avatar';
 import DisplayName from 'flavours/glitch/components/display_name';
 import RelativeTimestamp from 'flavours/glitch/components/relative_timestamp';
 import Option from './option';
+import MediaAttachments from 'flavours/glitch/components/media_attachments';
 
 export default class StatusCheckBox extends React.PureComponent {
 
@@ -27,53 +25,10 @@ export default class StatusCheckBox extends React.PureComponent {
   render () {
     const { status, checked } = this.props;
 
-    let media = null;
-
     if (status.get('reblog')) {
       return null;
     }
 
-    if (status.get('media_attachments').size > 0) {
-      if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {
-
-      } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {
-        const video = status.getIn(['media_attachments', 0]);
-
-        media = (
-          <Bundle fetchComponent={Video} loading={this.renderLoadingVideoPlayer} >
-            {Component => (
-              <Component
-                preview={video.get('preview_url')}
-                blurhash={video.get('blurhash')}
-                src={video.get('url')}
-                alt={video.get('description')}
-                width={239}
-                height={110}
-                inline
-                sensitive={status.get('sensitive')}
-                revealed={false}
-                onOpenVideo={noop}
-              />
-            )}
-          </Bundle>
-        );
-      } else {
-        media = (
-          <Bundle fetchComponent={MediaGallery} loading={this.renderLoadingMediaGallery} >
-            {Component => (
-              <Component
-                media={status.get('media_attachments')}
-                sensitive={status.get('sensitive')}
-                revealed={false}
-                height={110}
-                onOpenMedia={noop}
-              />
-            )}
-          </Bundle>
-        );
-      }
-    }
-
     const labelComponent = (
       <div className='status-check-box__status poll__option__text'>
         <div className='detailed-status__display-name'>
@@ -84,7 +39,7 @@ export default class StatusCheckBox extends React.PureComponent {
           <div><DisplayName account={status.get('account')} /> · <RelativeTimestamp timestamp={status.get('created_at')} /></div>
         </div>
 
-        <StatusContent status={status} media={media} />
+        <StatusContent status={status} media={<MediaAttachments status={status} revealed={false} />} />
       </div>
     );
 
diff --git a/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.js b/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.js
index 198443221..8fd528da0 100644
--- a/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.js
+++ b/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.js
@@ -9,6 +9,7 @@ import escapeTextContentForBrowser from 'escape-html';
 import InlineAccount from 'flavours/glitch/components/inline_account';
 import IconButton from 'flavours/glitch/components/icon_button';
 import RelativeTimestamp from 'flavours/glitch/components/relative_timestamp';
+import MediaAttachments from 'flavours/glitch/components/media_attachments';
 
 const mapStateToProps = (state, { statusId }) => ({
   versions: state.getIn(['history', statusId, 'items']),
@@ -70,6 +71,25 @@ class CompareHistoryModal extends React.PureComponent {
             )}
 
             <div className='status__content__text status__content__text--visible translate' dangerouslySetInnerHTML={content} />
+
+            {!!currentVersion.get('poll') && (
+              <div className='poll'>
+                <ul>
+                  {currentVersion.getIn(['poll', 'options']).map(option => (
+                    <li key={option.get('title')}>
+                      <span className='poll__input disabled' />
+
+                      <span
+                        className='poll__option__text translate'
+                        dangerouslySetInnerHTML={{ __html: emojify(escapeTextContentForBrowser(option.get('title')), emojiMap) }}
+                      />
+                    </li>
+                  ))}
+                </ul>
+              </div>
+            )}
+
+            <MediaAttachments status={currentVersion} />
           </div>
         </div>
       </div>
diff --git a/app/javascript/flavours/glitch/locales/af.js b/app/javascript/flavours/glitch/locales/af.js
new file mode 100644
index 000000000..4c97b644a
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/af.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/af.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ckb.js b/app/javascript/flavours/glitch/locales/ckb.js
new file mode 100644
index 000000000..c2e177d5f
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ckb.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ckb.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/es-MX.js b/app/javascript/flavours/glitch/locales/es-MX.js
new file mode 100644
index 000000000..eaefa20ef
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/es-MX.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/es-MX.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/gd.js b/app/javascript/flavours/glitch/locales/gd.js
new file mode 100644
index 000000000..604ee86dc
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/gd.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/gd.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/kw.js b/app/javascript/flavours/glitch/locales/kw.js
new file mode 100644
index 000000000..1325ca825
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/kw.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/kw.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/pa.js b/app/javascript/flavours/glitch/locales/pa.js
new file mode 100644
index 000000000..c3e0e2b84
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/pa.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/pa.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/si.js b/app/javascript/flavours/glitch/locales/si.js
new file mode 100644
index 000000000..d43266254
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/si.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/si.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/szl.js b/app/javascript/flavours/glitch/locales/szl.js
new file mode 100644
index 000000000..0b50afe45
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/szl.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/szl.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/tai.js b/app/javascript/flavours/glitch/locales/tai.js
new file mode 100644
index 000000000..f26cec5bd
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/tai.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/tai.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/tt.js b/app/javascript/flavours/glitch/locales/tt.js
new file mode 100644
index 000000000..ff74f6c29
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/tt.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/tt.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ug.js b/app/javascript/flavours/glitch/locales/ug.js
new file mode 100644
index 000000000..ab7ee0761
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ug.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ug.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/styles/admin.scss b/app/javascript/flavours/glitch/styles/admin.scss
index 0873ac300..40cd899b3 100644
--- a/app/javascript/flavours/glitch/styles/admin.scss
+++ b/app/javascript/flavours/glitch/styles/admin.scss
@@ -367,6 +367,21 @@ body,
     }
   }
 
+  .positive-hint,
+  .negative-hint,
+  .neutral-hint {
+    a {
+      color: inherit;
+      text-decoration: underline;
+
+      &:focus,
+      &:hover,
+      &:active {
+        text-decoration: none;
+      }
+    }
+  }
+
   .positive-hint {
     color: $valid-value-color;
     font-weight: 500;
@@ -1612,3 +1627,38 @@ a.sparkline {
     }
   }
 }
+
+.availability-indicator {
+  display: flex;
+  align-items: center;
+  margin-bottom: 30px;
+  font-size: 14px;
+  line-height: 21px;
+
+  &__hint {
+    padding: 0 15px;
+  }
+
+  &__graphic {
+    display: flex;
+    margin: 0 -2px;
+
+    &__item {
+      display: block;
+      flex: 0 0 auto;
+      width: 4px;
+      height: 21px;
+      background: lighten($ui-base-color, 8%);
+      margin: 0 2px;
+      border-radius: 2px;
+
+      &.positive {
+        background: $valid-value-color;
+      }
+
+      &.negative {
+        background: $error-value-color;
+      }
+    }
+  }
+}
diff --git a/app/javascript/flavours/glitch/styles/components/index.scss b/app/javascript/flavours/glitch/styles/components/index.scss
index 7364eba91..016e31c63 100644
--- a/app/javascript/flavours/glitch/styles/components/index.scss
+++ b/app/javascript/flavours/glitch/styles/components/index.scss
@@ -1563,41 +1563,6 @@ button.icon-button.active i.fa-retweet {
   filter: none;
 }
 
-.compare-history-modal {
-  .report-modal__target {
-    border-bottom: 1px solid $ui-secondary-color;
-  }
-
-  &__container {
-    padding: 30px;
-    pointer-events: all;
-  }
-
-  .status__content {
-    color: $inverted-text-color;
-    font-size: 19px;
-    line-height: 24px;
-
-    .emojione {
-      width: 24px;
-      height: 24px;
-      margin: -1px 0 0;
-    }
-
-    a {
-      color: $highlight-text-color;
-    }
-
-    hr {
-      height: 0.25rem;
-      padding: 0;
-      background-color: $ui-secondary-color;
-      border: 0;
-      margin: 20px 0;
-    }
-  }
-}
-
 .loading-bar {
   background-color: $ui-highlight-color;
   height: 3px;
diff --git a/app/javascript/flavours/glitch/styles/components/modal.scss b/app/javascript/flavours/glitch/styles/components/modal.scss
index ae1afc320..7e6918356 100644
--- a/app/javascript/flavours/glitch/styles/components/modal.scss
+++ b/app/javascript/flavours/glitch/styles/components/modal.scss
@@ -1041,6 +1041,47 @@
   }
 }
 
+.compare-history-modal {
+  .report-modal__target {
+    border-bottom: 1px solid $ui-secondary-color;
+  }
+
+  &__container {
+    padding: 30px;
+    pointer-events: all;
+  }
+
+  .status__content {
+    color: $inverted-text-color;
+    font-size: 19px;
+    line-height: 24px;
+
+    .emojione {
+      width: 24px;
+      height: 24px;
+      margin: -1px 0 0;
+    }
+
+    a {
+      color: $highlight-text-color;
+    }
+
+    hr {
+      height: 0.25rem;
+      padding: 0;
+      background-color: $ui-secondary-color;
+      border: 0;
+      margin: 20px 0;
+    }
+  }
+
+  .media-gallery,
+  .audio-player,
+  .video-player {
+    margin-top: 15px;
+  }
+}
+
 .embed-modal {
   width: auto;
   max-width: 80vw;
diff --git a/app/javascript/flavours/glitch/styles/components/status.scss b/app/javascript/flavours/glitch/styles/components/status.scss
index 77541ab74..b9dd3107b 100644
--- a/app/javascript/flavours/glitch/styles/components/status.scss
+++ b/app/javascript/flavours/glitch/styles/components/status.scss
@@ -542,7 +542,7 @@
   .media-gallery,
   .audio-player,
   .video-player {
-    margin-top: 8px;
+    margin-top: 15px;
     max-width: 250px;
   }
 
diff --git a/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss
index 8f5309f2b..020d39aff 100644
--- a/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss
+++ b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss
@@ -116,7 +116,8 @@
 }
 
 .dropdown-menu__item {
-  a {
+  a,
+  button {
     background: $ui-base-color;
     color: $ui-secondary-color;
   }
@@ -172,7 +173,15 @@
   }
 }
 
-.dropdown-menu__separator {
+.dropdown-menu__separator,
+.dropdown-menu__item.edited-timestamp__history__item,
+.dropdown-menu__container__header,
+.compare-history-modal .report-modal__target,
+.report-dialog-modal .poll__option.dialog-option {
+  border-bottom-color: lighten($ui-base-color, 12%);
+}
+
+.report-dialog-modal__container {
   border-bottom-color: lighten($ui-base-color, 12%);
 }
 
@@ -229,15 +238,22 @@
 .mute-modal,
 .block-modal,
 .report-modal,
+.report-dialog-modal,
 .embed-modal,
 .error-modal,
 .onboarding-modal,
+.compare-history-modal,
 .report-modal__comment .setting-text__wrapper,
-.report-modal__comment .setting-text {
+.report-modal__comment .setting-text,
+.report-dialog-modal__textarea {
   background: $white;
   border: 1px solid lighten($ui-base-color, 8%);
 }
 
+.report-dialog-modal .dialog-option .poll__input {
+  color: $white;
+}
+
 .report-modal__comment {
   border-right-color: lighten($ui-base-color, 8%);
 }
diff --git a/app/javascript/flavours/glitch/styles/tables.scss b/app/javascript/flavours/glitch/styles/tables.scss
index 8b5933b7b..598c67034 100644
--- a/app/javascript/flavours/glitch/styles/tables.scss
+++ b/app/javascript/flavours/glitch/styles/tables.scss
@@ -65,6 +65,24 @@
     }
   }
 
+  &.horizontal-table {
+    border-collapse: collapse;
+    border-style: hidden;
+
+    & > tbody > tr > th,
+    & > tbody > tr > td {
+      padding: 11px 10px;
+      background: transparent;
+      border: 1px solid lighten($ui-base-color, 8%);
+      color: $secondary-text-color;
+    }
+
+    & > tbody > tr > th {
+      color: $darker-text-color;
+      font-weight: 600;
+    }
+  }
+
   &.batch-table {
     & > thead > tr > th {
       background: $ui-base-color;
diff --git a/app/javascript/mastodon/components/admin/Counter.js b/app/javascript/mastodon/components/admin/Counter.js
index 047e864b2..6edb7bcfc 100644
--- a/app/javascript/mastodon/components/admin/Counter.js
+++ b/app/javascript/mastodon/components/admin/Counter.js
@@ -68,12 +68,12 @@ export default class Counter extends React.PureComponent {
       );
     } else {
       const measure = data[0];
-      const percentChange = percIncrease(measure.previous_total * 1, measure.total * 1);
+      const percentChange = measure.previous_total && percIncrease(measure.previous_total * 1, measure.total * 1);
 
       content = (
         <React.Fragment>
-          <span className='sparkline__value__total'><FormattedNumber value={measure.total} /></span>
-          <span className={classNames('sparkline__value__change', { positive: percentChange > 0, negative: percentChange < 0 })}>{percentChange > 0 && '+'}<FormattedNumber value={percentChange} style='percent' /></span>
+          <span className='sparkline__value__total'>{measure.human_value || <FormattedNumber value={measure.total} />}</span>
+          {measure.previous_total && (<span className={classNames('sparkline__value__change', { positive: percentChange > 0, negative: percentChange < 0 })}>{percentChange > 0 && '+'}<FormattedNumber value={percentChange} style='percent' /></span>)}
         </React.Fragment>
       );
     }
diff --git a/app/javascript/mastodon/components/media_attachments.js b/app/javascript/mastodon/components/media_attachments.js
new file mode 100644
index 000000000..d27720de4
--- /dev/null
+++ b/app/javascript/mastodon/components/media_attachments.js
@@ -0,0 +1,116 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { MediaGallery, Video, Audio } from 'mastodon/features/ui/util/async-components';
+import Bundle from 'mastodon/features/ui/components/bundle';
+import noop from 'lodash/noop';
+
+export default class MediaAttachments extends ImmutablePureComponent {
+
+  static propTypes = {
+    status: ImmutablePropTypes.map.isRequired,
+    height: PropTypes.number,
+    width: PropTypes.number,
+  };
+
+  static defaultProps = {
+    height: 110,
+    width: 239,
+  };
+
+  updateOnProps = [
+    'status',
+  ];
+
+  renderLoadingMediaGallery = () => {
+    const { height, width } = this.props;
+
+    return (
+      <div className='media-gallery' style={{ height, width }} />
+    );
+  }
+
+  renderLoadingVideoPlayer = () => {
+    const { height, width } = this.props;
+
+    return (
+      <div className='video-player' style={{ height, width }} />
+    );
+  }
+
+  renderLoadingAudioPlayer = () => {
+    const { height, width } = this.props;
+
+    return (
+      <div className='audio-player' style={{ height, width }} />
+    );
+  }
+
+  render () {
+    const { status, width, height } = this.props;
+    const mediaAttachments = status.get('media_attachments');
+
+    if (mediaAttachments.size === 0) {
+      return null;
+    }
+
+    if (mediaAttachments.getIn([0, 'type']) === 'audio') {
+      const audio = mediaAttachments.get(0);
+
+      return (
+        <Bundle fetchComponent={Audio} loading={this.renderLoadingAudioPlayer} >
+          {Component => (
+            <Component
+              src={audio.get('url')}
+              alt={audio.get('description')}
+              width={width}
+              height={height}
+              poster={audio.get('preview_url') || status.getIn(['account', 'avatar_static'])}
+              backgroundColor={audio.getIn(['meta', 'colors', 'background'])}
+              foregroundColor={audio.getIn(['meta', 'colors', 'foreground'])}
+              accentColor={audio.getIn(['meta', 'colors', 'accent'])}
+              duration={audio.getIn(['meta', 'original', 'duration'], 0)}
+            />
+          )}
+        </Bundle>
+      );
+    } else if (mediaAttachments.getIn([0, 'type']) === 'video') {
+      const video = mediaAttachments.get(0);
+
+      return (
+        <Bundle fetchComponent={Video} loading={this.renderLoadingVideoPlayer} >
+          {Component => (
+            <Component
+              preview={video.get('preview_url')}
+              frameRate={video.getIn(['meta', 'original', 'frame_rate'])}
+              blurhash={video.get('blurhash')}
+              src={video.get('url')}
+              alt={video.get('description')}
+              width={width}
+              height={height}
+              inline
+              sensitive={status.get('sensitive')}
+              onOpenVideo={noop}
+            />
+          )}
+        </Bundle>
+      );
+    } else {
+      return (
+        <Bundle fetchComponent={MediaGallery} loading={this.renderLoadingMediaGallery} >
+          {Component => (
+            <Component
+              media={mediaAttachments}
+              sensitive={status.get('sensitive')}
+              defaultWidth={width}
+              height={height}
+              onOpenMedia={noop}
+            />
+          )}
+        </Bundle>
+      );
+    }
+  }
+
+}
diff --git a/app/javascript/mastodon/features/explore/index.js b/app/javascript/mastodon/features/explore/index.js
index ddacf5812..8082f2d99 100644
--- a/app/javascript/mastodon/features/explore/index.js
+++ b/app/javascript/mastodon/features/explore/index.js
@@ -56,7 +56,7 @@ class Explore extends React.PureComponent {
           </div>
         ) : (
           <ColumnHeader
-            icon={isSearching ? 'search' : 'globe'}
+            icon={isSearching ? 'search' : 'hashtag'}
             title={intl.formatMessage(isSearching ? messages.searchResults : messages.title)}
             onClick={this.handleHeaderClick}
             multiColumn={multiColumn}
diff --git a/app/javascript/mastodon/features/getting_started/index.js b/app/javascript/mastodon/features/getting_started/index.js
index 07572c530..a9000a3d9 100644
--- a/app/javascript/mastodon/features/getting_started/index.js
+++ b/app/javascript/mastodon/features/getting_started/index.js
@@ -21,6 +21,7 @@ const messages = defineMessages({
   public_timeline: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' },
   settings_subheading: { id: 'column_subheading.settings', defaultMessage: 'Settings' },
   community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },
+  explore: { id: 'navigation_bar.explore', defaultMessage: 'Explore' },
   direct: { id: 'navigation_bar.direct', defaultMessage: 'Direct messages' },
   bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: 'Bookmarks' },
   preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
@@ -97,11 +98,22 @@ class GettingStarted extends ImmutablePureComponent {
     if (multiColumn) {
       navItems.push(
         <ColumnSubheading key='header-discover' text={intl.formatMessage(messages.discover)} />,
+      );
+      height += 34;
+    }
+
+    navItems.push(
+      <ColumnLink key='explore' icon='hashtag' text={intl.formatMessage(messages.explore)} to='/explore' />,
+    );
+    height += 48;
+
+    if (multiColumn) {
+      navItems.push(
         <ColumnLink key='community_timeline' icon='users' text={intl.formatMessage(messages.community_timeline)} to='/public/local' />,
         <ColumnLink key='public_timeline' icon='globe' text={intl.formatMessage(messages.public_timeline)} to='/public' />,
       );
 
-      height += 34 + 48*2;
+      height += 48*2;
 
       navItems.push(
         <ColumnSubheading key='header-personal' text={intl.formatMessage(messages.personal)} />,
diff --git a/app/javascript/mastodon/features/hashtag_timeline/components/column_settings.js b/app/javascript/mastodon/features/hashtag_timeline/components/column_settings.js
index 142118cef..ede8907e5 100644
--- a/app/javascript/mastodon/features/hashtag_timeline/components/column_settings.js
+++ b/app/javascript/mastodon/features/hashtag_timeline/components/column_settings.js
@@ -40,7 +40,17 @@ class ColumnSettings extends React.PureComponent {
     }
   };
 
-  onSelect = mode => value => this.props.onChange(['tags', mode], value);
+  onSelect = mode => value => {
+    const oldValue = this.tags(mode);
+
+    // Prevent changes that add more than 4 tags, but allow removing
+    // tags that were already added before
+    if ((value.length > 4) && !(value < oldValue)) {
+      return;
+    }
+
+    this.props.onChange(['tags', mode], value);
+  };
 
   onToggle = () => {
     if (this.state.open && this.hasTags()) {
diff --git a/app/javascript/mastodon/features/report/components/status_check_box.js b/app/javascript/mastodon/features/report/components/status_check_box.js
index a2eb3d6f5..373c60e21 100644
--- a/app/javascript/mastodon/features/report/components/status_check_box.js
+++ b/app/javascript/mastodon/features/report/components/status_check_box.js
@@ -1,14 +1,12 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import noop from 'lodash/noop';
 import StatusContent from 'mastodon/components/status_content';
-import { MediaGallery, Video } from 'mastodon/features/ui/util/async-components';
-import Bundle from 'mastodon/features/ui/components/bundle';
 import Avatar from 'mastodon/components/avatar';
 import DisplayName from 'mastodon/components/display_name';
 import RelativeTimestamp from 'mastodon/components/relative_timestamp';
 import Option from './option';
+import MediaAttachments from 'mastodon/components/media_attachments';
 
 export default class StatusCheckBox extends React.PureComponent {
 
@@ -27,51 +25,10 @@ export default class StatusCheckBox extends React.PureComponent {
   render () {
     const { status, checked } = this.props;
 
-    let media = null;
-
     if (status.get('reblog')) {
       return null;
     }
 
-    if (status.get('media_attachments').size > 0) {
-      if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {
-
-      } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {
-        const video = status.getIn(['media_attachments', 0]);
-
-        media = (
-          <Bundle fetchComponent={Video} loading={this.renderLoadingVideoPlayer} >
-            {Component => (
-              <Component
-                preview={video.get('preview_url')}
-                blurhash={video.get('blurhash')}
-                src={video.get('url')}
-                alt={video.get('description')}
-                width={239}
-                height={110}
-                inline
-                sensitive={status.get('sensitive')}
-                onOpenVideo={noop}
-              />
-            )}
-          </Bundle>
-        );
-      } else {
-        media = (
-          <Bundle fetchComponent={MediaGallery} loading={this.renderLoadingMediaGallery} >
-            {Component => (
-              <Component
-                media={status.get('media_attachments')}
-                sensitive={status.get('sensitive')}
-                height={110}
-                onOpenMedia={noop}
-              />
-            )}
-          </Bundle>
-        );
-      }
-    }
-
     const labelComponent = (
       <div className='status-check-box__status poll__option__text'>
         <div className='detailed-status__display-name'>
@@ -79,12 +36,13 @@ export default class StatusCheckBox extends React.PureComponent {
             <Avatar account={status.get('account')} size={46} />
           </div>
 
-          <div><DisplayName account={status.get('account')} /> · <RelativeTimestamp timestamp={status.get('created_at')} /></div>
+          <div>
+            <DisplayName account={status.get('account')} /> · <RelativeTimestamp timestamp={status.get('created_at')} />
+          </div>
         </div>
 
         <StatusContent status={status} />
-
-        {media}
+        <MediaAttachments status={status} />
       </div>
     );
 
diff --git a/app/javascript/mastodon/features/ui/components/compare_history_modal.js b/app/javascript/mastodon/features/ui/components/compare_history_modal.js
index 40cfba335..ecccc8f7d 100644
--- a/app/javascript/mastodon/features/ui/components/compare_history_modal.js
+++ b/app/javascript/mastodon/features/ui/components/compare_history_modal.js
@@ -9,6 +9,7 @@ import escapeTextContentForBrowser from 'escape-html';
 import InlineAccount from 'mastodon/components/inline_account';
 import IconButton from 'mastodon/components/icon_button';
 import RelativeTimestamp from 'mastodon/components/relative_timestamp';
+import MediaAttachments from 'mastodon/components/media_attachments';
 
 const mapStateToProps = (state, { statusId }) => ({
   versions: state.getIn(['history', statusId, 'items']),
@@ -70,6 +71,25 @@ class CompareHistoryModal extends React.PureComponent {
             )}
 
             <div className='status__content__text status__content__text--visible translate' dangerouslySetInnerHTML={content} />
+
+            {!!currentVersion.get('poll') && (
+              <div className='poll'>
+                <ul>
+                  {currentVersion.getIn(['poll', 'options']).map(option => (
+                    <li key={option.get('title')}>
+                      <span className='poll__input disabled' />
+
+                      <span
+                        className='poll__option__text translate'
+                        dangerouslySetInnerHTML={{ __html: emojify(escapeTextContentForBrowser(option.get('title')), emojiMap) }}
+                      />
+                    </li>
+                  ))}
+                </ul>
+              </div>
+            )}
+
+            <MediaAttachments status={currentVersion} />
           </div>
         </div>
       </div>
diff --git a/app/javascript/mastodon/features/ui/components/navigation_panel.js b/app/javascript/mastodon/features/ui/components/navigation_panel.js
index 51a0757bc..eb42115b7 100644
--- a/app/javascript/mastodon/features/ui/components/navigation_panel.js
+++ b/app/javascript/mastodon/features/ui/components/navigation_panel.js
@@ -13,7 +13,7 @@ const NavigationPanel = () => (
     <NavLink className='column-link column-link--transparent' to='/home' data-preview-title-id='column.home' data-preview-icon='home' ><Icon className='column-link__icon' id='home' fixedWidth /><FormattedMessage id='tabs_bar.home' defaultMessage='Home' /></NavLink>
     <NavLink className='column-link column-link--transparent' to='/notifications' data-preview-title-id='column.notifications' data-preview-icon='bell' ><NotificationsCounterIcon className='column-link__icon' /><FormattedMessage id='tabs_bar.notifications' defaultMessage='Notifications' /></NavLink>
     <FollowRequestsNavLink />
-    <NavLink className='column-link column-link--transparent' to='/explore' data-preview-title-id='explore.title' data-preview-icon='globe'><Icon className='column-link__icon' id='globe' fixedWidth /><FormattedMessage id='explore.title' defaultMessage='Explore' /></NavLink>
+    <NavLink className='column-link column-link--transparent' to='/explore' data-preview-title-id='explore.title' data-preview-icon='hashtag'><Icon className='column-link__icon' id='hashtag' fixedWidth /><FormattedMessage id='explore.title' defaultMessage='Explore' /></NavLink>
     <NavLink className='column-link column-link--transparent' to='/public/local' data-preview-title-id='column.community' data-preview-icon='users' ><Icon className='column-link__icon' id='users' fixedWidth /><FormattedMessage id='tabs_bar.local_timeline' defaultMessage='Local' /></NavLink>
     <NavLink className='column-link column-link--transparent' exact to='/public' data-preview-title-id='column.public' data-preview-icon='globe' ><Icon className='column-link__icon' id='globe' fixedWidth /><FormattedMessage id='tabs_bar.federated_timeline' defaultMessage='Federated' /></NavLink>
     <NavLink className='column-link column-link--transparent' to='/conversations'><Icon className='column-link__icon' id='envelope' fixedWidth /><FormattedMessage id='navigation_bar.direct' defaultMessage='Direct messages' /></NavLink>
diff --git a/app/javascript/mastodon/features/ui/components/tabs_bar.js b/app/javascript/mastodon/features/ui/components/tabs_bar.js
index 195403fd3..55668cab6 100644
--- a/app/javascript/mastodon/features/ui/components/tabs_bar.js
+++ b/app/javascript/mastodon/features/ui/components/tabs_bar.js
@@ -10,9 +10,9 @@ import NotificationsCounterIcon from './notifications_counter_icon';
 export const links = [
   <NavLink className='tabs-bar__link' to='/home' data-preview-title-id='column.home' data-preview-icon='home' ><Icon id='home' fixedWidth /><FormattedMessage id='tabs_bar.home' defaultMessage='Home' /></NavLink>,
   <NavLink className='tabs-bar__link' to='/notifications' data-preview-title-id='column.notifications' data-preview-icon='bell' ><NotificationsCounterIcon /><FormattedMessage id='tabs_bar.notifications' defaultMessage='Notifications' /></NavLink>,
-  <NavLink className='tabs-bar__link optional' to='/public/local' data-preview-title-id='column.community' data-preview-icon='users' ><Icon id='users' fixedWidth /><FormattedMessage id='tabs_bar.local_timeline' defaultMessage='Local' /></NavLink>,
-  <NavLink className='tabs-bar__link optional' exact to='/public' data-preview-title-id='column.public' data-preview-icon='globe' ><Icon id='globe' fixedWidth /><FormattedMessage id='tabs_bar.federated_timeline' defaultMessage='Federated' /></NavLink>,
-  <NavLink className='tabs-bar__link' to='/explore' data-preview-title-id='tabs_bar.search' data-preview-icon='search' ><Icon id='search' fixedWidth /><FormattedMessage id='tabs_bar.search' defaultMessage='Search' /></NavLink>,
+  <NavLink className='tabs-bar__link' to='/public/local' data-preview-title-id='column.community' data-preview-icon='users' ><Icon id='users' fixedWidth /><FormattedMessage id='tabs_bar.local_timeline' defaultMessage='Local' /></NavLink>,
+  <NavLink className='tabs-bar__link' exact to='/public' data-preview-title-id='column.public' data-preview-icon='globe' ><Icon id='globe' fixedWidth /><FormattedMessage id='tabs_bar.federated_timeline' defaultMessage='Federated' /></NavLink>,
+  <NavLink className='tabs-bar__link optional' to='/explore' data-preview-title-id='tabs_bar.search' data-preview-icon='search' ><Icon id='search' fixedWidth /><FormattedMessage id='tabs_bar.search' defaultMessage='Search' /></NavLink>,
   <NavLink className='tabs-bar__link' style={{ flexGrow: '0', flexBasis: '30px' }} to='/getting-started' data-preview-title-id='getting_started.heading' data-preview-icon='bars' ><Icon id='bars' fixedWidth /></NavLink>,
 ];
 
diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json
index a7e5313a3..088b5ff36 100644
--- a/app/javascript/mastodon/locales/af.json
+++ b/app/javascript/mastodon/locales/af.json
@@ -18,12 +18,12 @@
   "account.followers": "Followers",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Follows you",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Unblock @{name}",
   "account.unblock_domain": "Unblock domain {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Unfollow",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Edit profile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index 84708b1e2..6580f5d44 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -18,12 +18,12 @@
   "account.followers": "المُتابِعون",
   "account.followers.empty": "لا أحدَ يُتابع هذا المُستخدم حتى الآن.",
   "account.followers_counter": "{count, plural, zero{لا مُتابع} one {مُتابعٌ واحِد} two{مُتابعانِ اِثنان} few{{counter} مُتابِعين} many{{counter}  مُتابِعًا} other {{counter}  مُتابع}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, zero{لا يُتابِع} one {يُتابِعُ واحد} two{يُتابِعُ اِثنان} few{يُتابِعُ {counter}} many{يُتابِعُ {counter}} other {يُتابِعُ {counter}}}",
   "account.follows.empty": "لا يُتابع هذا المُستخدمُ أيَّ أحدٍ حتى الآن.",
   "account.follows_you": "يُتابِعُك",
   "account.hide_reblogs": "إخفاء مشاركات @{name}",
   "account.joined": "انضم في {date}",
-  "account.last_status": "آخر نشاط",
   "account.link_verified_on": "تمَّ التَّحقق مِن مِلْكيّة هذا الرابط بتاريخ {date}",
   "account.locked_info": "تمَّ تعيين حالة خصوصية هذا الحساب إلى مُقفَل. يُراجع المالك يدويًا من يمكنه متابعته.",
   "account.media": "وسائط",
@@ -32,7 +32,6 @@
   "account.mute": "كَتم @{name}",
   "account.mute_notifications": "كَتم الإشعارات من @{name}",
   "account.muted": "مَكتوم",
-  "account.never_active": "أبدًا",
   "account.posts": "منشورات",
   "account.posts_with_replies": "المنشورات والرُدود",
   "account.report": "الإبلاغ عن @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, zero {لَا تَبويقات} one {تَبويقةٌ واحدة} two {تَبويقَتانِ اِثنتان} few {{counter} تَبويقات} many {{counter} تَبويقتًا} other {{counter} تَبويقة}}",
   "account.unblock": "إلغاء الحَظر عن @{name}",
   "account.unblock_domain": "إلغاء الحَظر عن النِّطاق {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "لا تُرَوِّج لهُ في الملف الشخصي",
   "account.unfollow": "إلغاء المُتابعة",
   "account.unmute": "إلغاء الكَتم عن @{name}",
   "account.unmute_notifications": "إلغاء كَتم الإشعارات عن @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -186,12 +187,12 @@
   "error.unexpected_crash.next_steps_addons": "حاول تعطيلهم وإنعاش الصفحة. إن لم ينجح ذلك، يمكنك دائمًا استخدام ماستدون عبر متصفح آخر أو تطبيق أصلي.",
   "errors.unexpected_crash.copy_stacktrace": "انسخ تتبع الارتباطات إلى الحافظة",
   "errors.unexpected_crash.report_issue": "الإبلاغ عن خلل",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.search_results": "نتائج البحث",
+  "explore.suggested_follows": "لك",
+  "explore.title": "استكشف",
+  "explore.trending_links": "الأخبار",
+  "explore.trending_statuses": "المنشورات",
+  "explore.trending_tags": "الوسوم",
   "follow_recommendations.done": "تم",
   "follow_recommendations.heading": "تابع الأشخاص الذين ترغب في رؤية منشوراتهم! إليك بعض الاقتراحات.",
   "follow_recommendations.lead": "ستظهر منشورات الأشخاص الذين تُتابعتهم بترتيب تسلسلي زمني على صفحتك الرئيسية. لا تخف إذا ارتكبت أي أخطاء، تستطيع إلغاء متابعة أي شخص في أي وقت تريد!",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "اكتشف",
   "navigation_bar.domain_blocks": "النطاقات المخفية",
   "navigation_bar.edit_profile": "عدّل الملف التعريفي",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "المفضلة",
   "navigation_bar.filters": "الكلمات المكتومة",
   "navigation_bar.follow_requests": "طلبات المتابعة",
@@ -319,7 +321,7 @@
   "notification.update": "{name} edited a post",
   "notifications.clear": "امسح الإخطارات",
   "notifications.clear_confirmation": "أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "التسجيلات الجديدة:",
   "notifications.column_settings.alert": "إشعارات سطح المكتب",
   "notifications.column_settings.favourite": "المُفَضَّلة:",
   "notifications.column_settings.filter_bar.advanced": "اعرض كافة الفئات",
@@ -336,7 +338,7 @@
   "notifications.column_settings.status": "منشورات جديدة:",
   "notifications.column_settings.unread_notifications.category": "إشعارات غير مقروءة",
   "notifications.column_settings.unread_notifications.highlight": "علّم الإشعارات غير المقرؤة",
-  "notifications.column_settings.update": "Edits:",
+  "notifications.column_settings.update": "التعديلات:",
   "notifications.filter.all": "الكل",
   "notifications.filter.boosts": "الترقيات",
   "notifications.filter.favourites": "المفضلة",
@@ -387,43 +389,43 @@
   "relative_time.seconds": "{number}ثا",
   "relative_time.today": "اليوم",
   "reply_indicator.cancel": "إلغاء",
-  "report.block": "Block",
-  "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
+  "report.block": "حظر",
+  "report.block_explanation": "لن ترى مشاركاتهم ولن يمكنهم متابعتك أو رؤية مشاركاتك، سيكون بديهيا لهم أنهم مكتمون.",
   "report.categories.other": "أخرى",
   "report.categories.spam": "مزعج",
   "report.categories.violation": "المحتوى ينتهك شرطا أو عدة شروط استخدام للخادم",
   "report.category.subtitle": "Choose the best match",
   "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.category.title_account": "ملف تعريفي",
+  "report.category.title_status": "منشور",
+  "report.close": "تم",
+  "report.comment.title": "هل لديك شيء آخر لتخبرنا به؟",
   "report.forward": "التحويل إلى {target}",
   "report.forward_hint": "هذا الحساب ينتمي إلى خادوم آخَر. هل تودّ إرسال نسخة مجهولة مِن التقرير إلى هنالك أيضًا؟",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.mute": "كتم",
+  "report.mute_explanation": "لن ترى مشاركاتهم. لكن سيبقى بإمكانهم متابعتك ورؤية مشاركاتك دون أن يعرفوا أنهم مكتمون.",
+  "report.next": "التالي",
   "report.placeholder": "تعليقات إضافية",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
+  "report.reasons.dislike": "لايعجبني",
+  "report.reasons.dislike_description": "ألا ترغب برؤيته",
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
+  "report.reasons.violation": "ينتهك قواعد الخادم",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
+  "report.rules.title": "ما هي القواعد المنتهكة؟",
   "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.statuses.title": "هل توجد مشاركات تدعم صحة هذا البلاغ؟",
   "report.submit": "إرسال",
   "report.target": "ابلغ عن {target}",
   "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.thanks.take_action_actionable": "في أثناء مراجعتنا للبلاغ، يمكنك اتخاذ إجراء ضد @{name}:",
+  "report.thanks.title": "هل ترغب في مشاهدة هذا؟",
+  "report.thanks.title_actionable": "شُكرًا لَكَ على الإبلاغ، سَوفَ نَنظُرُ فِي هَذَا الأمر.",
+  "report.unfollow": "إلغاء متابعة @{name}",
+  "report.unfollow_explanation": "أنت تتابع هذا الحساب، لإزالة مَنشوراته من تغذيَتِكَ الرئيسة ألغ متابعته.",
   "search.placeholder": "ابحث",
   "search_popout.search_format": "نمط البحث المتقدم",
   "search_popout.tips.full_text": "النص البسيط يقوم بعرض المنشورات التي كتبتها أو قمت بإرسالها أو ترقيتها أو تمت الإشارة إليك فيها من طرف آخرين ، بالإضافة إلى مطابقة أسماء المستخدمين وأسماء العرض وعلامات التصنيف.",
@@ -432,9 +434,9 @@
   "search_popout.tips.text": "جملة قصيرة تُمكّنُك من عرض أسماء و حسابات و كلمات رمزية",
   "search_popout.tips.user": "مستخدِم",
   "search_results.accounts": "أشخاص",
-  "search_results.all": "All",
+  "search_results.all": "الكل",
   "search_results.hashtags": "الوُسوم",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "تعذر العثور على نتائج تتضمن هذه المصطلحات",
   "search_results.statuses": "المنشورات",
   "search_results.statuses_fts_disabled": "البحث عن المنشورات عن طريق المحتوى ليس مفعل في خادم ماستدون هذا.",
   "search_results.total": "{count, number} {count, plural, zero {} one {نتيجة} two {نتيجتين} few {نتائج} many {نتائج} other {نتائج}}",
diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json
index 0627f57e1..14e46e458 100644
--- a/app/javascript/mastodon/locales/ast.json
+++ b/app/javascript/mastodon/locales/ast.json
@@ -18,12 +18,12 @@
   "account.followers": "Siguidores",
   "account.followers.empty": "Naide sigue a esti usuariu entá.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "Esti usuariu entá nun sigue a naide.",
   "account.follows_you": "Síguete",
   "account.hide_reblogs": "Anubrir les comparticiones de @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Cabera actividá",
   "account.link_verified_on": "La propiedá d'esti enllaz foi comprobada'l {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Media",
@@ -32,20 +32,21 @@
   "account.mute": "Silenciar a @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Enxamás",
   "account.posts": "Barritos",
   "account.posts_with_replies": "Barritos y rempuestes",
   "account.report": "Report @{name}",
   "account.requested": "Esperando pola aprobación. Calca pa encaboxar la solicitú de siguimientu",
   "account.share": "Share @{name}'s profile",
   "account.show_reblogs": "Amosar les comparticiones de @{name}",
-  "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
+  "account.statuses_counter": "{count, plural, one {{counter} artículu} other {{counter} artículos}}",
   "account.unblock": "Desbloquiar a @{name}",
   "account.unblock_domain": "Amosar {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Nun destacar nel perfil",
   "account.unfollow": "Dexar de siguir",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -155,14 +156,14 @@
   "emoji_button.objects": "Oxetos",
   "emoji_button.people": "Persones",
   "emoji_button.recent": "Úsase davezu",
-  "emoji_button.search": "Guetar…",
+  "emoji_button.search": "Buscar…",
   "emoji_button.search_results": "Search results",
   "emoji_button.symbols": "Símbolos",
   "emoji_button.travel": "Viaxes y llugares",
   "empty_column.account_suspended": "Account suspended",
   "empty_column.account_timeline": "¡Equí nun hai barritos!",
   "empty_column.account_unavailable": "Profile unavailable",
-  "empty_column.blocks": "Entá nun bloquiesti a nunengún usuariu.",
+  "empty_column.blocks": "Entá nun bloquiesti a nengún usuariu.",
   "empty_column.bookmarked_statuses": "Entá nun tienes nengún barritu en Marcadores. Cuando amiestes unu, va amosase equí.",
   "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
   "empty_column.direct": "Entá nun tienes nuengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.",
@@ -181,17 +182,17 @@
   "empty_column.notifications": "Entá nun tienes nunengún avisu. Interactúa con otros p'aniciar la conversación.",
   "empty_column.public": "¡Equí nun hai nada! Escribi daqué público o sigui a usuarios d'otros sirvidores pa rellenar esto",
   "error.unexpected_crash.explanation": "Pola mor d'un fallu nel códigu o un problema de compatibilidá del restolador, esta páxina nun se pudo amosar correutamente.",
-  "error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.",
+  "error.unexpected_crash.explanation_addons": "Esta páxina nun se pudo amosar correutamente. Ye probable que dalgún complementu del restolador o dalguna ferramienta de traducción automática produxere esti fallu.",
   "error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
   "error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
   "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
   "errors.unexpected_crash.report_issue": "Report issue",
   "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
+  "explore.suggested_follows": "Pa ti",
   "explore.title": "Explore",
-  "explore.trending_links": "News",
+  "explore.trending_links": "Noticies",
   "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.trending_tags": "Etiquetes",
   "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!",
@@ -217,7 +218,7 @@
   "hashtag.column_settings.tag_mode.none": "Nenguna d'estes",
   "hashtag.column_settings.tag_toggle": "Incluyir les etiquetes adicionales d'esta columna",
   "home.column_settings.basic": "Basic",
-  "home.column_settings.show_reblogs": "Amosar toots compartíos",
+  "home.column_settings.show_reblogs": "Show boosts",
   "home.column_settings.show_replies": "Amosar rempuestes",
   "home.hide_announcements": "Hide announcements",
   "home.show_announcements": "Show announcements",
@@ -225,38 +226,38 @@
   "intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
   "intervals.full.minutes": "{number, plural, one {# minutu} other {# minutos}}",
   "keyboard_shortcuts.back": "pa dir p'atrás",
-  "keyboard_shortcuts.blocked": "p'abrir la llista d'usuarios bloquiaos",
+  "keyboard_shortcuts.blocked": "Abrir la llista d'usuarios bloquiaos",
   "keyboard_shortcuts.boost": "pa compartir un toot",
   "keyboard_shortcuts.column": "to focus a status in one of the columns",
-  "keyboard_shortcuts.compose": "pa enfocar l'área de composición",
+  "keyboard_shortcuts.compose": "Enfocar l'área de composición",
   "keyboard_shortcuts.description": "Descripción",
-  "keyboard_shortcuts.direct": "p'abrir la columna de los mensaxes direutos",
+  "keyboard_shortcuts.direct": "Abrir la columna de los mensaxes direutos",
   "keyboard_shortcuts.down": "pa baxar na llista",
   "keyboard_shortcuts.enter": "p'abrir estaos",
   "keyboard_shortcuts.favourite": "p'amestar a Favoritos",
-  "keyboard_shortcuts.favourites": "p'abrir la llista de favoritos",
-  "keyboard_shortcuts.federated": "p'abrir la llinia temporal federada",
+  "keyboard_shortcuts.favourites": "Abrir la llista de favoritos",
+  "keyboard_shortcuts.federated": "Abrir la llinia temporal federada",
   "keyboard_shortcuts.heading": "Atayos del tecláu",
   "keyboard_shortcuts.home": "p'abrir la llinia temporal d'aniciu",
   "keyboard_shortcuts.hotkey": "Atayu",
   "keyboard_shortcuts.legend": "p'amosar esta lleenda",
   "keyboard_shortcuts.local": "p'abrir la llinia temporal llocal",
   "keyboard_shortcuts.mention": "pa mentar al autor",
-  "keyboard_shortcuts.muted": "p'abrir la llista d'usuarios silenciaos",
+  "keyboard_shortcuts.muted": "Abrir la llista d'usuarios colos avisos desactivaos",
   "keyboard_shortcuts.my_profile": "p'abrir el to perfil",
-  "keyboard_shortcuts.notifications": "p'abrir la columna d'avisos",
+  "keyboard_shortcuts.notifications": "Abrir la columna d'avisos",
   "keyboard_shortcuts.open_media": "to open media",
-  "keyboard_shortcuts.pinned": "p'abrir la llista de barritos fixaos",
-  "keyboard_shortcuts.profile": "p'abrir el perfil del autor",
+  "keyboard_shortcuts.pinned": "Abrir la llista d'artículos fixaos",
+  "keyboard_shortcuts.profile": "Abrir el perfil del autor/a",
   "keyboard_shortcuts.reply": "pa responder",
-  "keyboard_shortcuts.requests": "p'abrir la llista de solicitúes de siguimientu",
-  "keyboard_shortcuts.search": "pa enfocar la gueta",
+  "keyboard_shortcuts.requests": "Abrir la llista de solicitúes de siguimientu",
+  "keyboard_shortcuts.search": "Enfocar la barra de busca",
   "keyboard_shortcuts.spoilers": "to show/hide CW field",
-  "keyboard_shortcuts.start": "p'abrir la columna «entamar»",
+  "keyboard_shortcuts.start": "Abrir la columna «Entamar»",
   "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
   "keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
   "keyboard_shortcuts.toot": "p'apenzar un barritu nuevu",
-  "keyboard_shortcuts.unfocus": "pa desenfocar l'área de composición/gueta",
+  "keyboard_shortcuts.unfocus": "Desenfocar l'área de composición/busca",
   "keyboard_shortcuts.up": "pa xubir na llista",
   "lightbox.close": "Close",
   "lightbox.compress": "Compress image view box",
@@ -274,14 +275,14 @@
   "lists.replies_policy.list": "Members of the list",
   "lists.replies_policy.none": "No one",
   "lists.replies_policy.title": "Show replies to:",
-  "lists.search": "Guetar ente la xente que sigues",
+  "lists.search": "Buscar ente la xente que sigues",
   "lists.subheading": "Les tos llistes",
   "load_pending": "{count, plural, one {# elementu nuevu} other {# elementos nuevos}}",
   "loading_indicator.label": "Cargando…",
   "media_gallery.toggle_visible": "Alternar la visibilidá",
-  "missing_indicator.label": "Nun s'alcontró",
-  "missing_indicator.sublabel": "Esti recursu nun pudo alcontrase",
-  "mute_modal.duration": "Duration",
+  "missing_indicator.label": "Nun s'atopó",
+  "missing_indicator.sublabel": "Nun se pudo atopar esti recursu",
+  "mute_modal.duration": "Duración",
   "mute_modal.hide_notifications": "¿Anubrir los avisos d'esti usuariu?",
   "mute_modal.indefinite": "Indefinite",
   "navigation_bar.apps": "Aplicaciones pa móviles",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Dominios anubríos",
   "navigation_bar.edit_profile": "Editar el perfil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favoritos",
   "navigation_bar.filters": "Pallabres silenciaes",
   "navigation_bar.follow_requests": "Solicitúes de siguimientu",
@@ -315,8 +317,8 @@
   "notification.own_poll": "Your poll has ended",
   "notification.poll": "Finó una encuesta na que votesti",
   "notification.reblog": "{name} compartió'l to estáu",
-  "notification.status": "{name} just posted",
-  "notification.update": "{name} edited a post",
+  "notification.status": "{name} ta acabante d'espublizar",
+  "notification.update": "{name} editó l'artículu",
   "notifications.clear": "Llimpiar avisos",
   "notifications.clear_confirmation": "¿De xuru que quies llimpiar dafechu tolos avisos?",
   "notifications.column_settings.admin.sign_up": "New sign-ups:",
@@ -349,7 +351,7 @@
   "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_required": "Los avisos d'escritoriu nun tán disponibles porque nun se concedió'l permisu riquíu.",
   "notifications_permission_banner.enable": "Activar los avisos d'escritoriu",
   "notifications_permission_banner.how_to_control": "Pa recibir avisos cuando Mastodon nun tea abiertu, activa los avisos del escritoriu. Pues controlar al milímetru qué tipu d'interaiciones xeneren avisos namás que s'activen, pente'l botón {icon} d'arriba.",
   "notifications_permission_banner.title": "Never miss a thing",
@@ -360,7 +362,7 @@
   "poll.total_votes": "{count, plural, one {# votu} other {# votos}}",
   "poll.vote": "Vote",
   "poll.voted": "You voted for this answer",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll.votes": "{votes, plural, one {# votu} other {# votos}}",
   "poll_button.add_poll": "Amestar una encuesta",
   "poll_button.remove_poll": "Quitar la encuesta",
   "privacy.change": "Adjust status privacy",
@@ -368,7 +370,7 @@
   "privacy.direct.short": "Direct",
   "privacy.private.long": "Post to followers only",
   "privacy.private.short": "Namái siguidores",
-  "privacy.public.long": "Post to public timelines",
+  "privacy.public.long": "Visible for all, shown in public timelines",
   "privacy.public.short": "Public",
   "privacy.unlisted.long": "Nun apaez nes llinies temporales públiques",
   "privacy.unlisted.short": "Nun llistar",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
@@ -424,7 +426,7 @@
   "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
   "report.unfollow": "Unfollow @{name}",
   "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
-  "search.placeholder": "Guetar",
+  "search.placeholder": "Buscar",
   "search_popout.search_format": "Formatu de gueta avanzada",
   "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
   "search_popout.tips.hashtag": "etiqueta",
@@ -434,7 +436,7 @@
   "search_results.accounts": "Xente",
   "search_results.all": "All",
   "search_results.hashtags": "Etiquetes",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "Nun se pudo atopar nada con esos términos de busca",
   "search_results.statuses": "Barritos",
   "search_results.statuses_fts_disabled": "Esti sirvidor de Mastodon tien activada la gueta de barritos pol so conteníu.",
   "search_results.total": "{count, number} {count, plural, one {resultáu} other {resultaos}}",
@@ -443,7 +445,7 @@
   "status.block": "Bloquiar a @{name}",
   "status.bookmark": "Amestar a Marcadores",
   "status.cancel_reblog_private": "Dexar de compartir",
-  "status.cannot_reblog": "Esti artículu nun pue compartise",
+  "status.cannot_reblog": "Esti artículu nun se pue compartir",
   "status.copy": "Copiar l'enllaz al estáu",
   "status.delete": "Desaniciar",
   "status.detailed_status": "Detailed conversation view",
@@ -493,10 +495,10 @@
   "tabs_bar.notifications": "Avisos",
   "tabs_bar.search": "Search",
   "time_remaining.days": "{number, plural, one {Queda # día} other {Queden # díes}}",
-  "time_remaining.hours": "{number, plural, one {# hora restante} other {# hores restantes}}",
+  "time_remaining.hours": "{number, plural, one {Queda # hora} other {Queden # hores}}",
   "time_remaining.minutes": "{number, plural, one {Queda # minutu} other {Queden # minutos}}",
   "time_remaining.moments": "Moments remaining",
-  "time_remaining.seconds": "{number, plural, one {# segundu restante} other {# segundos restantes}}",
+  "time_remaining.seconds": "{number, plural, one {Queda # segundu} other {Queden # segundos}}",
   "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
   "timeline_hint.resources.followers": "Followers",
   "timeline_hint.resources.follows": "Follows",
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index f037444d6..e65681394 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -18,12 +18,12 @@
   "account.followers": "Последователи",
   "account.followers.empty": "Все още никой не следва този потребител.",
   "account.followers_counter": "{count, plural, one {{counter} Последовател} other {{counter} Последователи}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Последван} other {{counter} Последвани}}",
   "account.follows.empty": "Този потребител все още не следва никого.",
   "account.follows_you": "Твой последовател",
   "account.hide_reblogs": "Скриване на споделяния от @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Последно активен/а",
   "account.link_verified_on": "Собствеността върху тази връзка е проверена на {date}",
   "account.locked_info": "Този акаунт е поверително заключен. Собственикът преглежда ръчно кой може да го следва.",
   "account.media": "Мултимедия",
@@ -32,7 +32,6 @@
   "account.mute": "Заглушаване на @{name}",
   "account.mute_notifications": "Заглушаване на известия от @{name}",
   "account.muted": "Заглушено",
-  "account.never_active": "Никога",
   "account.posts": "Публикации",
   "account.posts_with_replies": "Toots with replies",
   "account.report": "Докладване на @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Публикация} other {{counter} Публикации}}",
   "account.unblock": "Не блокирай",
   "account.unblock_domain": "Unhide {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Не включвайте в профила",
   "account.unfollow": "Не следвай",
   "account.unmute": "Раззаглушаване на @{name}",
   "account.unmute_notifications": "Раззаглушаване на известия от @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Откриване",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Редактирай профил",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Любими",
   "navigation_bar.filters": "Заглушени думи",
   "navigation_bar.follow_requests": "Заявки за последване",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json
index 3387289a4..3542c4e46 100644
--- a/app/javascript/mastodon/locales/bn.json
+++ b/app/javascript/mastodon/locales/bn.json
@@ -18,12 +18,12 @@
   "account.followers": "অনুসরণকারী",
   "account.followers.empty": "এই ব্যক্তিকে এখনো কেউ অনুসরণ করে না।",
   "account.followers_counter": "{count, plural,one {{counter} জন অনুসরণকারী } other {{counter} জন অনুসরণকারী}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural,one {{counter} জনকে অনুসরণ} other {{counter} জনকে অনুসরণ}}",
   "account.follows.empty": "এই সদস্য কাওকে এখনো অনুসরণ করেন না.",
   "account.follows_you": "তোমাকে অনুসরণ করে",
   "account.hide_reblogs": "@{name}'র সমর্থনগুলি লুকিয়ে ফেলুন",
   "account.joined": "Joined {date}",
-  "account.last_status": "শেষ সক্রিয় ছিল",
   "account.link_verified_on": "এই লিংকের মালিকানা চেক করা হয়েছে {date} তারিখে",
   "account.locked_info": "এই নিবন্ধনের গোপনীয়তার ক্ষেত্র তালা দেওয়া আছে। নিবন্ধনকারী অনুসরণ করার অনুমতি যাদেরকে দেবেন, শুধু তারাই অনুসরণ করতে পারবেন।",
   "account.media": "মিডিয়া",
@@ -32,7 +32,6 @@
   "account.mute": "@{name} কে নিঃশব্দ করুন",
   "account.mute_notifications": "@{name} র প্রজ্ঞাপন আপনার কাছে নিঃশব্দ করুন",
   "account.muted": "নিঃশব্দ",
-  "account.never_active": "কখনও নয়",
   "account.posts": "টুট",
   "account.posts_with_replies": "টুট এবং মতামত",
   "account.report": "@{name} কে রিপোর্ট করুন",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural,one {{counter} টুট} other {{counter} টুট}}",
   "account.unblock": "@{name} র কার্যকলাপ দেখুন",
   "account.unblock_domain": "{domain} কে আবার দেখুন",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "আপনার নিজের পাতায় এটা দেখবেন না",
   "account.unfollow": "অনুসরণ করো না",
   "account.unmute": "@{name} র কার্যকলাপ আবার দেখুন",
   "account.unmute_notifications": "@{name} র প্রজ্ঞাপন দেখুন",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "ঘুরে দেখুন",
   "navigation_bar.domain_blocks": "লুকানো ডোমেনগুলি",
   "navigation_bar.edit_profile": "নিজের পাতা সম্পাদনা করতে",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "পছন্দের",
   "navigation_bar.filters": "বন্ধ করা শব্দ",
   "navigation_bar.follow_requests": "অনুসরণের অনুরোধগুলি",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json
index 9a78feaab..51b78f777 100644
--- a/app/javascript/mastodon/locales/br.json
+++ b/app/javascript/mastodon/locales/br.json
@@ -18,12 +18,12 @@
   "account.followers": "Heulier·ezed·ien",
   "account.followers.empty": "Den na heul an implijer-mañ c'hoazh.",
   "account.followers_counter": "{count, plural, other{{counter} Heulier}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, other {{counter} Heuliañ}}",
   "account.follows.empty": "An implijer·ez-mañ na heul den ebet.",
   "account.follows_you": "Ho heul",
   "account.hide_reblogs": "Kuzh toudoù rannet gant @{name}",
   "account.joined": "Amañ abaoe {date}",
-  "account.last_status": "Oberiantiz zivezhañ",
   "account.link_verified_on": "Gwiriet eo bet perc'hennidigezh al liamm d'an deiziad-mañ : {date}",
   "account.locked_info": "Prennet eo ar gont-mañ. Dibab a ra ar perc'henn ar re a c'hall heuliañ anezhi pe anezhañ.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Kuzhat @{name}",
   "account.mute_notifications": "Kuzh kemennoù eus @{name}",
   "account.muted": "Kuzhet",
-  "account.never_active": "Birviken",
   "account.posts": "a doudoù",
   "account.posts_with_replies": "Toudoù ha respontoù",
   "account.report": "Disklêriañ @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toud} other {{counter} Toud}}",
   "account.unblock": "Diverzañ @{name}",
   "account.unblock_domain": "Diverzañ an domani {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Paouez da lakaat war-wel war ar profil",
   "account.unfollow": "Diheuliañ",
   "account.unmute": "Diguzhat @{name}",
   "account.unmute_notifications": "Diguzhat kemennoù a @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Klikit evit ouzhpenniñ un notenn",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Dizoleiñ",
   "navigation_bar.domain_blocks": "Domanioù kuzhet",
   "navigation_bar.edit_profile": "Aozañ ar profil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Ar re vuiañ-karet",
   "navigation_bar.filters": "Gerioù kuzhet",
   "navigation_bar.follow_requests": "Pedadoù heuliañ",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index 915278f95..287fd0771 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -9,50 +9,51 @@
   "account.browse_more_on_origin_server": "Navega més en el perfil original",
   "account.cancel_follow_request": "Anul·la la sol·licitud de seguiment",
   "account.direct": "Missatge directe @{name}",
-  "account.disable_notifications": "Deixa de notificar-me els tuts de @{name}",
-  "account.domain_blocked": "Domini ocult",
+  "account.disable_notifications": "Deixa de notificar-me les publicacions de @{name}",
+  "account.domain_blocked": "Domini bloquejat",
   "account.edit_profile": "Edita el perfil",
-  "account.enable_notifications": "Notifica’m els tuts de @{name}",
+  "account.enable_notifications": "Notifica’m les publicacions de @{name}",
   "account.endorse": "Recomana en el teu perfil",
   "account.follow": "Segueix",
   "account.followers": "Seguidors",
   "account.followers.empty": "Encara ningú no segueix aquest usuari.",
   "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidors}}",
+  "account.following": "Seguint",
   "account.following_counter": "{count, plural, other {{counter} Seguint}}",
   "account.follows.empty": "Aquest usuari encara no segueix a ningú.",
   "account.follows_you": "Et segueix",
   "account.hide_reblogs": "Amaga els impulsos de @{name}",
   "account.joined": "Unit des de {date}",
-  "account.last_status": "Darrer actiu",
   "account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}",
   "account.locked_info": "Aquest estat de privadesa del compte està definit com a bloquejat. El propietari revisa manualment qui pot seguir-lo.",
   "account.media": "Mèdia",
-  "account.mention": "Esmentar @{name}",
+  "account.mention": "Esmenta @{name}",
   "account.moved_to": "{name} s'ha mogut a:",
   "account.mute": "Silencia @{name}",
-  "account.mute_notifications": "Notificacions desactivades de @{name}",
+  "account.mute_notifications": "Notificacions silenciades de @{name}",
   "account.muted": "Silenciat",
-  "account.never_active": "Mai",
-  "account.posts": "Tuts",
-  "account.posts_with_replies": "Tuts i respostes",
+  "account.posts": "Publicacions",
+  "account.posts_with_replies": "Publicacions i respostes",
   "account.report": "Informar sobre @{name}",
   "account.requested": "Esperant aprovació. Clic per a cancel·lar la petició de seguiment",
   "account.share": "Comparteix el perfil de @{name}",
   "account.show_reblogs": "Mostra els impulsos de @{name}",
   "account.statuses_counter": "{count, plural, one {{counter} Tut} other {{counter} Tuts}}",
   "account.unblock": "Desbloqueja @{name}",
-  "account.unblock_domain": "Mostra {domain}",
+  "account.unblock_domain": "Desbloqueja el domini {domain}",
+  "account.unblock_short": "Desbloqueja",
   "account.unendorse": "No recomanar en el perfil",
   "account.unfollow": "Deixa de seguir",
   "account.unmute": "Treure silenci de @{name}",
   "account.unmute_notifications": "Activar notificacions de @{name}",
+  "account.unmute_short": "Deixa de silenciar",
   "account_note.placeholder": "Fes clic per afegir una nota",
   "admin.dashboard.daily_retention": "Ràtio de retenció per dia després del registre",
   "admin.dashboard.monthly_retention": "Ràtio de retenció per mes després del registre",
   "admin.dashboard.retention.average": "Mitjana",
   "admin.dashboard.retention.cohort": "Registres mes",
   "admin.dashboard.retention.cohort_size": "Nous usuaris",
-  "alert.rate_limited.message": "Si us plau torna-ho a provar després de {retry_time, time, medium}.",
+  "alert.rate_limited.message": "Si us plau prova-ho després de {retry_time, time, medium}.",
   "alert.rate_limited.title": "Límit de freqüència",
   "alert.unexpected.message": "S'ha produït un error inesperat.",
   "alert.unexpected.title": "Vaja!",
@@ -71,14 +72,14 @@
   "column.community": "Línia de temps local",
   "column.direct": "Missatges directes",
   "column.directory": "Navega els perfils",
-  "column.domain_blocks": "Dominis ocults",
+  "column.domain_blocks": "Dominis bloquejats",
   "column.favourites": "Favorits",
-  "column.follow_requests": "Peticions per seguir-te",
+  "column.follow_requests": "Peticions per a seguir-te",
   "column.home": "Inici",
   "column.lists": "Llistes",
   "column.mutes": "Usuaris silenciats",
   "column.notifications": "Notificacions",
-  "column.pins": "Tuts fixats",
+  "column.pins": "Publicacions fixades",
   "column.public": "Línia de temps federada",
   "column_back_button.label": "Enrere",
   "column_header.hide_settings": "Amaga la configuració",
@@ -91,10 +92,10 @@
   "community.column_settings.local_only": "Només local",
   "community.column_settings.media_only": "Només multimèdia",
   "community.column_settings.remote_only": "Només remot",
-  "compose_form.direct_message_warning": "Aquest tut només serà enviat als usuaris esmentats.",
+  "compose_form.direct_message_warning": "Aquesta publicació només serà enviat als usuaris esmentats.",
   "compose_form.direct_message_warning_learn_more": "Aprèn més",
-  "compose_form.hashtag_warning": "Aquesta tut no es mostrarà en cap etiqueta ja que no està llistat. Només els tuts públics poden ser cercats per etiqueta.",
-  "compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges a seguidors.",
+  "compose_form.hashtag_warning": "Aquesta publicació no es mostrarà en cap etiqueta ja que no està llistada. Només les publicacions públiques poden ser cercades per etiqueta.",
+  "compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges només a seguidors.",
   "compose_form.lock_disclaimer.lock": "bloquejat",
   "compose_form.placeholder": "En què penses?",
   "compose_form.poll.add_option": "Afegir una opció",
@@ -106,23 +107,23 @@
   "compose_form.publish": "Publicar",
   "compose_form.publish_loud": "{publish}!",
   "compose_form.save_changes": "Desa els canvis",
-  "compose_form.sensitive.hide": "Marcar mèdia com a sensible",
-  "compose_form.sensitive.marked": "Mèdia marcat com a sensible",
-  "compose_form.sensitive.unmarked": "Mèdia no està marcat com a sensible",
-  "compose_form.spoiler.marked": "Text es ocult sota l'avís",
-  "compose_form.spoiler.unmarked": "Text no ocult",
+  "compose_form.sensitive.hide": "{count, plural, one {Marca mèdia com a sensible} other {Marca mèdia com a sensible}}",
+  "compose_form.sensitive.marked": "{count, plural, one {Mèdia està marcat com a sensible} other {Mèdia estan marcats com a sensible}}",
+  "compose_form.sensitive.unmarked": "{count, plural, one {Mèdia no està marcada com a sensible} other {Mèdia no estan marcats com a sensibles}}",
+  "compose_form.spoiler.marked": "Treu l'avís de contingut",
+  "compose_form.spoiler.unmarked": "Afegeix avís de contingut",
   "compose_form.spoiler_placeholder": "Escriu l'avís aquí",
   "confirmation_modal.cancel": "Cancel·la",
-  "confirmations.block.block_and_report": "Bloquejar i informar",
+  "confirmations.block.block_and_report": "Bloqueja i informa",
   "confirmations.block.confirm": "Bloqueja",
   "confirmations.block.message": "Estàs segur que vols bloquejar a {name}?",
   "confirmations.delete.confirm": "Suprimeix",
-  "confirmations.delete.message": "Estàs segur que vols suprimir aquest tut?",
+  "confirmations.delete.message": "Estàs segur que vols suprimir aquesta publicació?",
   "confirmations.delete_list.confirm": "Suprimeix",
   "confirmations.delete_list.message": "Estàs segur que vols suprimir permanentment aquesta llista?",
   "confirmations.discard_edit_media.confirm": "Descarta",
   "confirmations.discard_edit_media.message": "Tens canvis no desats de la descripciò de mèdia o previsualització, els vols descartar?",
-  "confirmations.domain_block.confirm": "Amaga tot el domini",
+  "confirmations.domain_block.confirm": "Bloqueja el domini sencer",
   "confirmations.domain_block.message": "Estàs segur, realment segur que vols bloquejar totalment {domain}? En la majoria dels casos bloquejar o silenciar uns pocs objectius és suficient i preferible. No veuràs contingut d’aquest domini en cap de les línies de temps ni en les notificacions. Els teus seguidors d’aquest domini seran eliminats.",
   "confirmations.logout.confirm": "Tancar sessió",
   "confirmations.logout.message": "Segur que vols tancar la sessió?",
@@ -130,7 +131,7 @@
   "confirmations.mute.explanation": "Això amagarà les seves publicacions i les que els mencionen però encara els permetrà veure les teves i seguir-te.",
   "confirmations.mute.message": "Estàs segur que vols silenciar {name}?",
   "confirmations.redraft.confirm": "Esborrar i refer",
-  "confirmations.redraft.message": "Estàs segur que vols esborrar aquest tut i tornar a redactar-lo? Perdràs tots els impulsos i favorits, i les respostes al tut original es quedaran orfes.",
+  "confirmations.redraft.message": "Estàs segur que vols esborrar aquesta publicació i tornar a redactar-la? Perdràs tots els impulsos i favorits, i les respostes a la publicació original es quedaran orfes.",
   "confirmations.reply.confirm": "Respon",
   "confirmations.reply.message": "Responen ara es sobreescriurà el missatge que estàs editant. Estàs segur que vols continuar?",
   "confirmations.unfollow.confirm": "Deixa de seguir",
@@ -144,14 +145,14 @@
   "directory.new_arrivals": "Arribades noves",
   "directory.recently_active": "Recentment actius",
   "embed.instructions": "Incrusta aquest tut al lloc web copiant el codi a continuació.",
-  "embed.preview": "Aquí tenim quin aspecte tindrà:",
+  "embed.preview": "Aquí està quin aspecte tindrà:",
   "emoji_button.activity": "Activitat",
   "emoji_button.custom": "Personalitzat",
   "emoji_button.flags": "Banderes",
   "emoji_button.food": "Menjar i beure",
   "emoji_button.label": "Insereix un emoji",
   "emoji_button.nature": "Natura",
-  "emoji_button.not_found": "Emojis no!! (╯°□°)╯︵ ┻━┻",
+  "emoji_button.not_found": "No s'han trobat emojis coincidents",
   "emoji_button.objects": "Objectes",
   "emoji_button.people": "Gent",
   "emoji_button.recent": "Usats freqüentment",
@@ -160,26 +161,26 @@
   "emoji_button.symbols": "Símbols",
   "emoji_button.travel": "Viatges i Llocs",
   "empty_column.account_suspended": "Compte suspès",
-  "empty_column.account_timeline": "No hi ha tuts aquí!",
+  "empty_column.account_timeline": "No hi ha publicacions aquí!",
   "empty_column.account_unavailable": "Perfil no disponible",
   "empty_column.blocks": "Encara no has bloquejat cap usuari.",
-  "empty_column.bookmarked_statuses": "Encara no tens marcat cap tut. Quan marquis un apareixerà aquí.",
+  "empty_column.bookmarked_statuses": "Encara no tens desada a marcadors cap publicació. Quan desis una apareixerà aquí.",
   "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per a fer rodar la pilota!",
   "empty_column.direct": "Encara no tens missatges directes. Quan enviïs o rebis un, es mostrarà aquí.",
-  "empty_column.domain_blocks": "Encara no hi ha dominis ocults.",
+  "empty_column.domain_blocks": "Encara no hi ha dominis bloquejats.",
   "empty_column.explore_statuses": "No hi ha res en tendència ara mateix. Verifica-ho més tard!",
-  "empty_column.favourited_statuses": "Encara no has marcat com a favorit cap tut. Quan en facis, apareixerà aquí.",
-  "empty_column.favourites": "Ningú no ha marcat aquest tut com a preferit encara. Quan algú ho faci, apareixerà aquí.",
+  "empty_column.favourited_statuses": "Encara no has afavorit cap publicació. Quan ho facis, apareixerà aquí.",
+  "empty_column.favourites": "Ningú no ha afavorit aquesta publicació encara. Quan algú ho faci, apareixerà aquí.",
   "empty_column.follow_recommendations": "Sembla que no es poden generar sugerencies per a tu. Pots provar d'emprar la cerca per a trobar gent que voldries conèixer o explorar les etiquetes en tendència.",
-  "empty_column.follow_requests": "Encara no tens cap petició de seguiment. Quan rebis una, apareixerà aquí.",
+  "empty_column.follow_requests": "Encara no tens cap petició de seguiment. Quan en rebis una, apareixerà aquí.",
   "empty_column.hashtag": "Encara no hi ha res en aquesta etiqueta.",
-  "empty_column.home": "Encara no segueixes ningú. Visita {public} o fes cerca per començar i conèixer altres usuaris.",
+  "empty_column.home": "La teva línia de temps és buida! Segueix més gent per a emplenar-la. {suggestions}",
   "empty_column.home.suggestions": "Mira algunes sugerencies",
-  "empty_column.list": "Encara no hi ha res en aquesta llista. Quan els membres d'aquesta llista publiquin nous tuts, apareixeran aquí.",
+  "empty_column.list": "Encara no hi ha res en aquesta llista. Quan els membres d'aquesta llista publiquin noves publicacions, apareixeran aquí.",
   "empty_column.lists": "Encara no tens cap llista. Quan en facis una, apareixerà aquí.",
   "empty_column.mutes": "Encara no has silenciat cap usuari.",
-  "empty_column.notifications": "Encara no tens notificacions. Interactua amb altres per iniciar la conversa.",
-  "empty_column.public": "No hi ha res aquí! Escriu públicament alguna cosa o manualment segueix usuaris d'altres servidors per omplir-ho",
+  "empty_column.notifications": "Encara no tens notificacions. Quan altre gent interactuï amb tu, les veuràs aquí.",
+  "empty_column.public": "No hi ha res aquí! Escriu públicament alguna cosa o manualment segueix usuaris d'altres servidors per a omplir-ho",
   "error.unexpected_crash.explanation": "A causa d'un bug en el nostre codi o un problema de compatibilitat del navegador, aquesta pàgina podria no ser mostrada correctament.",
   "error.unexpected_crash.explanation_addons": "Aquesta pàgina podria no mostrar-se correctament. Aquest error és possiblement causat per una extensió del navegador o per eienes automàtiques de traducció.",
   "error.unexpected_crash.next_steps": "Prova recarregant la pàgina. Si això no ajuda, encara podries ser capaç d'utilitzar Mastodon a través d'un navegador diferent o amb una aplicació nativa.",
@@ -193,19 +194,19 @@
   "explore.trending_statuses": "Publicacions",
   "explore.trending_tags": "Etiquetes",
   "follow_recommendations.done": "Fet",
-  "follow_recommendations.heading": "Segueix a la gent de la que t'agradaria veure els seus tuts! Aquí hi ha algunes recomanacions.",
-  "follow_recommendations.lead": "Els tuts del usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!",
-  "follow_request.authorize": "Autoritzar",
-  "follow_request.reject": "Rebutjar",
+  "follow_recommendations.heading": "Segueix a la gent de la que t'agradaria veure les seves publicacions! Aquí hi ha algunes recomanacions.",
+  "follow_recommendations.lead": "Les publicacions del usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!",
+  "follow_request.authorize": "Autoritza",
+  "follow_request.reject": "Rebutja",
   "follow_requests.unlocked_explanation": "Tot i que el teu compte no està bloquejat, el personal de {domain} ha pensat que és possible que vulguis revisar les sol·licituds de seguiment d’aquests comptes de forma manual.",
-  "generic.saved": "Guardat",
+  "generic.saved": "Desat",
   "getting_started.developers": "Desenvolupadors",
   "getting_started.directory": "Directori de perfils",
   "getting_started.documentation": "Documentació",
-  "getting_started.heading": "Començant",
+  "getting_started.heading": "Primeres passes",
   "getting_started.invite": "Convida gent",
   "getting_started.open_source_notice": "Mastodon és un programari de codi obert. Pots contribuir-hi o informar de problemes a GitHub a {github}.",
-  "getting_started.security": "Seguretat",
+  "getting_started.security": "Configuració del compte",
   "getting_started.terms": "Termes del servei",
   "hashtag.column_header.tag_mode.all": "i {additional}",
   "hashtag.column_header.tag_mode.any": "o {additional}",
@@ -224,41 +225,41 @@
   "intervals.full.days": "{number, plural, one {# dia} other {# dies}}",
   "intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
   "intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}",
-  "keyboard_shortcuts.back": "navegar enrere",
-  "keyboard_shortcuts.blocked": "per obrir la llista d'usuaris bloquejats",
-  "keyboard_shortcuts.boost": "impulsar",
-  "keyboard_shortcuts.column": "per a centrar un tut en una de les columnes",
-  "keyboard_shortcuts.compose": "per centrar l'àrea de composició de text",
+  "keyboard_shortcuts.back": "Navegar enrere",
+  "keyboard_shortcuts.blocked": "Obre la llista d'usuaris bloquejats",
+  "keyboard_shortcuts.boost": "Impulsa publicació",
+  "keyboard_shortcuts.column": "Centra columna",
+  "keyboard_shortcuts.compose": "Centra l'àrea de composició de text",
   "keyboard_shortcuts.description": "Descripció",
-  "keyboard_shortcuts.direct": "per obrir la columna de missatges directes",
-  "keyboard_shortcuts.down": "per baixar en la llista",
-  "keyboard_shortcuts.enter": "per a obrir el tut",
-  "keyboard_shortcuts.favourite": "afavorir",
-  "keyboard_shortcuts.favourites": "per obrir la llista de favorits",
-  "keyboard_shortcuts.federated": "per obrir la línia de temps federada",
+  "keyboard_shortcuts.direct": "Obre la columna de missatges directes",
+  "keyboard_shortcuts.down": "Baixar en la llista",
+  "keyboard_shortcuts.enter": "Obre publicació",
+  "keyboard_shortcuts.favourite": "Afavorir publicació",
+  "keyboard_shortcuts.favourites": "Obre la llista de favorits",
+  "keyboard_shortcuts.federated": "Obre la línia de temps federada",
   "keyboard_shortcuts.heading": "Dreceres de teclat",
-  "keyboard_shortcuts.home": "per a obrir la línia de temps Inici",
+  "keyboard_shortcuts.home": "Obre la línia de temps Inici",
   "keyboard_shortcuts.hotkey": "Tecla d'accés directe",
-  "keyboard_shortcuts.legend": "per a mostrar aquesta llegenda",
-  "keyboard_shortcuts.local": "per a obrir la línia de temps local",
-  "keyboard_shortcuts.mention": "per a esmentar l'autor",
-  "keyboard_shortcuts.muted": "per a obrir la llista d'usuaris silenciats",
-  "keyboard_shortcuts.my_profile": "per a obrir el teu perfil",
-  "keyboard_shortcuts.notifications": "per a obrir la columna de notificacions",
-  "keyboard_shortcuts.open_media": "obrir mèdia",
-  "keyboard_shortcuts.pinned": "per a obrir la llista de tuts fixats",
-  "keyboard_shortcuts.profile": "per a obrir el perfil de l'autor",
-  "keyboard_shortcuts.reply": "respondre",
-  "keyboard_shortcuts.requests": "per a obrir la llista de sol·licituds de seguiment",
-  "keyboard_shortcuts.search": "per a centrar la cerca",
-  "keyboard_shortcuts.spoilers": "mostrar/amagar el camp CW",
-  "keyboard_shortcuts.start": "per a obrir la columna \"Començar\"",
-  "keyboard_shortcuts.toggle_hidden": "Mostrar/ocultar el text marcat com a sensible",
-  "keyboard_shortcuts.toggle_sensitivity": "per a mostrar o amagar contingut multimèdia",
+  "keyboard_shortcuts.legend": "Mostra aquesta llegenda",
+  "keyboard_shortcuts.local": "Obre la línia de temps local",
+  "keyboard_shortcuts.mention": "Esmenta l'autor",
+  "keyboard_shortcuts.muted": "Obre la llista d'usuaris silenciats",
+  "keyboard_shortcuts.my_profile": "Obre el teu perfil",
+  "keyboard_shortcuts.notifications": "Obre la columna de notificacions",
+  "keyboard_shortcuts.open_media": "Obre mèdia",
+  "keyboard_shortcuts.pinned": "Obre la llista de publicacions fixades",
+  "keyboard_shortcuts.profile": "Obre el perfil de l'autor",
+  "keyboard_shortcuts.reply": "Respon publicació",
+  "keyboard_shortcuts.requests": "Obre la llista de sol·licituds de seguiment",
+  "keyboard_shortcuts.search": "Centra la barra de cerca",
+  "keyboard_shortcuts.spoilers": "Mostra/amaga el camp CW",
+  "keyboard_shortcuts.start": "Obre la columna \"Primeres passes\"",
+  "keyboard_shortcuts.toggle_hidden": "Mostra/oculta el text marcat com a sensible",
+  "keyboard_shortcuts.toggle_sensitivity": "Mostra/amaga contingut multimèdia",
   "keyboard_shortcuts.toot": "per a començar un tut nou de trinca",
-  "keyboard_shortcuts.unfocus": "descentrar l'àrea de composició de text/cerca",
-  "keyboard_shortcuts.up": "moure amunt en la llista",
-  "lightbox.close": "Tancar",
+  "keyboard_shortcuts.unfocus": "Descentra l'àrea de composició de text/cerca",
+  "keyboard_shortcuts.up": "Moure amunt en la llista",
+  "lightbox.close": "Tanca",
   "lightbox.compress": "Quadre de visualització d’imatge comprimida",
   "lightbox.expand": "Amplia el quadre de visualització de l’imatge",
   "lightbox.next": "Següent",
@@ -269,7 +270,7 @@
   "lists.edit": "Editar llista",
   "lists.edit.submit": "Canvi de títol",
   "lists.new.create": "Afegir llista",
-  "lists.new.title_placeholder": "Nova llista",
+  "lists.new.title_placeholder": "Nou títol de llista",
   "lists.replies_policy.followed": "Qualsevol usuari seguit",
   "lists.replies_policy.list": "Membres de la llista",
   "lists.replies_policy.none": "Ningú",
@@ -278,22 +279,23 @@
   "lists.subheading": "Les teves llistes",
   "load_pending": "{count, plural, one {# element nou} other {# elements nous}}",
   "loading_indicator.label": "Carregant...",
-  "media_gallery.toggle_visible": "Alternar visibilitat",
+  "media_gallery.toggle_visible": "{number, plural, one {Amaga imatge} other {Amaga imatges}}",
   "missing_indicator.label": "No trobat",
   "missing_indicator.sublabel": "Aquest recurs no pot ser trobat",
   "mute_modal.duration": "Durada",
   "mute_modal.hide_notifications": "Amagar notificacions d'aquest usuari?",
   "mute_modal.indefinite": "Indefinit",
-  "navigation_bar.apps": "Apps mòbils",
+  "navigation_bar.apps": "Aplicacions mòbils",
   "navigation_bar.blocks": "Usuaris bloquejats",
   "navigation_bar.bookmarks": "Marcadors",
   "navigation_bar.community_timeline": "Línia de temps Local",
-  "navigation_bar.compose": "Redacta un nou tut",
+  "navigation_bar.compose": "Redacta una nova publicació",
   "navigation_bar.direct": "Missatges directes",
   "navigation_bar.discover": "Descobrir",
-  "navigation_bar.domain_blocks": "Dominis ocults",
+  "navigation_bar.domain_blocks": "Dominis bloquejats",
   "navigation_bar.edit_profile": "Editar perfil",
-  "navigation_bar.favourites": "Preferits",
+  "navigation_bar.explore": "Explora",
+  "navigation_bar.favourites": "Favorits",
   "navigation_bar.filters": "Paraules silenciades",
   "navigation_bar.follow_requests": "Sol·licituds de seguiment",
   "navigation_bar.follows_and_followers": "Seguits i seguidors",
@@ -303,12 +305,12 @@
   "navigation_bar.logout": "Tancar sessió",
   "navigation_bar.mutes": "Usuaris silenciats",
   "navigation_bar.personal": "Personal",
-  "navigation_bar.pins": "Tuts fixats",
+  "navigation_bar.pins": "Publicacions fixades",
   "navigation_bar.preferences": "Preferències",
   "navigation_bar.public_timeline": "Línia de temps federada",
   "navigation_bar.security": "Seguretat",
   "notification.admin.sign_up": "{name} s'ha registrat",
-  "notification.favourite": "{name} ha afavorit el teu estat",
+  "notification.favourite": "{name} ha afavorit la teva publicació",
   "notification.follow": "{name} et segueix",
   "notification.follow_request": "{name} ha sol·licitat seguir-te",
   "notification.mention": "{name} t'ha esmentat",
@@ -333,7 +335,7 @@
   "notifications.column_settings.reblog": "Impulsos:",
   "notifications.column_settings.show": "Mostra en la columna",
   "notifications.column_settings.sound": "Reproduir so",
-  "notifications.column_settings.status": "Nous tuts:",
+  "notifications.column_settings.status": "Noves publicacions:",
   "notifications.column_settings.unread_notifications.category": "Notificacions no llegides",
   "notifications.column_settings.unread_notifications.highlight": "Destaca notificacions no llegides",
   "notifications.column_settings.update": "Edicions:",
@@ -347,7 +349,7 @@
   "notifications.grant_permission": "Concedir permís.",
   "notifications.group": "{count} notificacions",
   "notifications.mark_as_read": "Marca cada notificació com a llegida",
-  "notifications.permission_denied": "No s’ha pogut activar les notificacions d’escriptori perquè s’ha denegat el permís.",
+  "notifications.permission_denied": "Les notificacions d’escriptori no estan disponibles perquè prèviament s’ha denegat el permís al navegador",
   "notifications.permission_denied_alert": "No es poden activar les notificacions del escriptori perquè el permís del navegador ha estat denegat abans",
   "notifications.permission_required": "Les notificacions d'escriptori no estan disponibles perquè el permís requerit no ha estat concedit.",
   "notifications_permission_banner.enable": "Activar les notificacions d’escriptori",
@@ -363,14 +365,14 @@
   "poll.votes": "{votes, plural, one {# vot} other {# vots}}",
   "poll_button.add_poll": "Afegir una enquesta",
   "poll_button.remove_poll": "Elimina l'enquesta",
-  "privacy.change": "Ajustar l'estat de privacitat",
-  "privacy.direct.long": "Publicar només per als usuaris esmentats",
+  "privacy.change": "Ajustar la privacitat de la publicació",
+  "privacy.direct.long": "Visible només per als usuaris esmentats",
   "privacy.direct.short": "Directe",
-  "privacy.private.long": "Publicar només a seguidors",
+  "privacy.private.long": "Visible només pels seguidors",
   "privacy.private.short": "Només seguidors",
-  "privacy.public.long": "Publicar en línies de temps públiques",
+  "privacy.public.long": "Visible per a tothom, mostrat en línies de temps públiques",
   "privacy.public.short": "Públic",
-  "privacy.unlisted.long": "No publicar en línies de temps públiques",
+  "privacy.unlisted.long": "Visible per a tothom però no en les línies de temps públiques",
   "privacy.unlisted.short": "No llistat",
   "refresh": "Actualitza",
   "regeneration_indicator.label": "Carregant…",
@@ -388,7 +390,7 @@
   "relative_time.today": "avui",
   "reply_indicator.cancel": "Cancel·lar",
   "report.block": "Bloqueja",
-  "report.block_explanation": "No veuràs les seves publicacions. Ell no podran veure les teves publicacions ni seguir-te. Ell podran dir que estan bloquejats.",
+  "report.block_explanation": "No veuràs les seves publicacions. Ell no podran veure les teves publicacions ni seguir-te. Ells podran dir que estan bloquejats.",
   "report.categories.other": "Altres",
   "report.categories.spam": "Contingut brossa",
   "report.categories.violation": "El contingut viola una o més regles del servidor",
@@ -426,20 +428,20 @@
   "report.unfollow_explanation": "Estàs seguint aquest compte. Per a no veure més les seves publicacions en la teva línia de temps Inici, deixa de seguir-lo.",
   "search.placeholder": "Cercar",
   "search_popout.search_format": "Format de cerca avançada",
-  "search_popout.tips.full_text": "Text simple recupera publicacions que has escrit, les marcades com a preferides, les impulsades o en les que has estat esmentat, així com usuaris, noms d'usuari i etiquetes.",
+  "search_popout.tips.full_text": "Text simple recupera publicacions que has escrit, les afavorides, les impulsades o en les que has estat esmentat, així com usuaris, noms d'usuari i etiquetes.",
   "search_popout.tips.hashtag": "etiqueta",
-  "search_popout.tips.status": "tut",
+  "search_popout.tips.status": "publicació",
   "search_popout.tips.text": "El text simple retorna coincidències amb els noms de visualització, els noms d'usuari i les etiquetes",
   "search_popout.tips.user": "usuari",
   "search_results.accounts": "Gent",
   "search_results.all": "Tots",
   "search_results.hashtags": "Etiquetes",
   "search_results.nothing_found": "No s'ha pogut trobar res per a aquests termes de cerca",
-  "search_results.statuses": "Tuts",
-  "search_results.statuses_fts_disabled": "La cerca de tuts pel seu contingut no està habilitada en aquest servidor Mastodon.",
+  "search_results.statuses": "Publicacions",
+  "search_results.statuses_fts_disabled": "La cerca de publicacions pel seu contingut no està habilitada en aquest servidor Mastodon.",
   "search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}",
   "status.admin_account": "Obre l'interfície de moderació per a @{name}",
-  "status.admin_status": "Obre aquest tut a la interfície de moderació",
+  "status.admin_status": "Obre aquesta publicació a la interfície de moderació",
   "status.block": "Bloqueja @{name}",
   "status.bookmark": "Marcador",
   "status.cancel_reblog_private": "Desfer l'impuls",
@@ -451,7 +453,7 @@
   "status.edit": "Edita",
   "status.edited": "Editat {date}",
   "status.edited_x_times": "Editat {count, plural, one {{count} vegada} other {{count} vegades}}",
-  "status.embed": "Incrustar",
+  "status.embed": "Incrustat",
   "status.favourite": "Favorit",
   "status.filtered": "Filtrat",
   "status.history.created": "{name} ha creat {date}",
@@ -464,12 +466,12 @@
   "status.mute_conversation": "Silenciar conversació",
   "status.open": "Ampliar aquest estat",
   "status.pin": "Fixat en el perfil",
-  "status.pinned": "Tut fixat",
+  "status.pinned": "Publicació fixada",
   "status.read_more": "Llegir més",
   "status.reblog": "Impuls",
   "status.reblog_private": "Impulsar a l'audiència original",
   "status.reblogged_by": "{name} ha impulsat",
-  "status.reblogs.empty": "Encara ningú no ha impulsat aquest tut. Quan algú ho faci, apareixeran aquí.",
+  "status.reblogs.empty": "Encara ningú no ha impulsat aquesta publicació. Quan algú ho faci, apareixeran aquí.",
   "status.redraft": "Esborrar i reescriure",
   "status.remove_bookmark": "Suprimeix el marcador",
   "status.reply": "Respondre",
diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json
new file mode 100644
index 000000000..7209633ad
--- /dev/null
+++ b/app/javascript/mastodon/locales/ckb.json
@@ -0,0 +1,543 @@
+{
+  "account.account_note_header": "تێبینی    ",
+  "account.add_or_remove_from_list": "زیادکردن یان سڕینەوە لە پێرستەکان",
+  "account.badges.bot": "بوت",
+  "account.badges.group": "گرووپ",
+  "account.block": "بلۆکی @{name}",
+  "account.block_domain": "بلۆکی هەموو شتێک لە {domain}",
+  "account.blocked": "بلۆککرا",
+  "account.browse_more_on_origin_server": "گەڕانی فرەتر لە سەر پرۆفایلی سەرەکی",
+  "account.cancel_follow_request": "بەتاڵکردنی داوای شوێنکەوتن",
+  "account.direct": "پەیامی تایبەت بە @{name}",
+  "account.disable_notifications": "ئاگانامە مەنێرە بۆم کاتێک @{name} پۆست دەکرێت",
+  "account.domain_blocked": "دۆمەین قەپاتکرا",
+  "account.edit_profile": "دەستکاری پرۆفایل",
+  "account.enable_notifications": "ئاگادارم بکەوە کاتێک @{name} بابەتەکان",
+  "account.endorse": "ناساندن لە پرۆفایل",
+  "account.follow": "شوێنکەوتن",
+  "account.followers": "شوێنکەوتووان",
+  "account.followers.empty": "کەسێک شوێن ئەم بەکارهێنەرە نەکەوتووە",
+  "account.followers_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}",
+  "account.following": "Following",
+  "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
+  "account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.",
+  "account.follows_you": "شوێنکەوتووەکانت",
+  "account.hide_reblogs": "داشاردنی بووستەکان لە @{name}",
+  "account.joined": "Joined {date}",
+  "account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە",
+  "account.locked_info": "تایبەتمەندی ئەم هەژمارەیە ڕیکخراوە بۆ قوفڵدراوە. خاوەنەکە بە دەستی پێداچوونەوە دەکات کە کێ دەتوانێت شوێنیان بکەوێت.",
+  "account.media": "میدیا",
+  "account.mention": "ئاماژە @{name}",
+  "account.moved_to": "{name} گواسترایەوە بۆ:",
+  "account.mute": "بێدەنگکردن @{name}",
+  "account.mute_notifications": "هۆشیارکەرەوەکان لاببە لە @{name}",
+  "account.muted": "بێ دەنگ",
+  "account.posts": "توتس",
+  "account.posts_with_replies": "توتس و وەڵامەکان",
+  "account.report": "گوزارشت @{name}",
+  "account.requested": "چاوەڕێی ڕەزامەندین. کرتە بکە بۆ هەڵوەشاندنەوەی داواکاری شوێنکەوتن",
+  "account.share": "پرۆفایلی @{name} هاوبەش بکە",
+  "account.show_reblogs": "پیشاندانی بەرزکردنەوەکان لە @{name}",
+  "account.statuses_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
+  "account.unblock": "@{name} لاببە",
+  "account.unblock_domain": "کردنەوەی دۆمەینی {domain}",
+  "account.unblock_short": "Unblock",
+  "account.unendorse": "تایبەتمەندی لەسەر پرۆفایلەکە نیە",
+  "account.unfollow": "بەدوادانەچو",
+  "account.unmute": "بێدەنگکردنی @{name}",
+  "account.unmute_notifications": "بێدەنگکردنی هۆشیارییەکان لە @{name}",
+  "account.unmute_short": "Unmute",
+  "account_note.placeholder": "کرتەبکە بۆ زیادکردنی تێبینی",
+  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
+  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.retention.average": "Average",
+  "admin.dashboard.retention.cohort": "Sign-up month",
+  "admin.dashboard.retention.cohort_size": "New users",
+  "alert.rate_limited.message": "تکایە هەوڵبدەرەوە دوای {retry_time, time, medium}.",
+  "alert.rate_limited.title": "ڕێژەی سنووردار",
+  "alert.unexpected.message": "هەڵەیەکی چاوەڕوان نەکراو ڕوویدا.",
+  "alert.unexpected.title": "تەححح!",
+  "announcement.announcement": "بانگەواز",
+  "attachments_list.unprocessed": "(unprocessed)",
+  "autosuggest_hashtag.per_week": "{count} هەرهەفتە",
+  "boost_modal.combo": "دەتوانیت دەست بنێی بە سەر {combo} بۆ بازدان لە جاری داهاتوو",
+  "bundle_column_error.body": "هەڵەیەک ڕوویدا لەکاتی بارکردنی ئەم پێکهاتەیە.",
+  "bundle_column_error.retry": "دووبارە هەوڵبدە",
+  "bundle_column_error.title": "هەڵيی تۆڕ",
+  "bundle_modal_error.close": "داخستن",
+  "bundle_modal_error.message": "هەڵەیەک ڕوویدا لەکاتی بارکردنی ئەم پێکهاتەیە.",
+  "bundle_modal_error.retry": "دووبارە تاقی بکەوە",
+  "column.blocks": "بەکارهێنەرە بلۆککراوەکان",
+  "column.bookmarks": "نیشانەکان",
+  "column.community": "هێڵی کاتی ناوخۆیی",
+  "column.direct": "نامە ڕاستەوخۆکان",
+  "column.directory": "گەڕان لە پرۆفایلەکان",
+  "column.domain_blocks": "دۆمەینە داخراوەکان",
+  "column.favourites": "دڵخوازترینەکان",
+  "column.follow_requests": "بەدواداچوی داواکاریەکان بکە",
+  "column.home": "سەرەتا",
+  "column.lists": "پێرست",
+  "column.mutes": "بێدەنگکردنی بەکارهێنەران",
+  "column.notifications": "ئاگادارییەکان",
+  "column.pins": "تووتسی چەسپاو",
+  "column.public": "نووسراوەکانی هەمووشوێنێک",
+  "column_back_button.label": "دواوە",
+  "column_header.hide_settings": "شاردنەوەی ڕێکخستنەکان",
+  "column_header.moveLeft_settings": "ستوون بگوێزەرەوە بۆ لای چەپ",
+  "column_header.moveRight_settings": "جوولاندنی ئەستوون بۆ لای ڕاست",
+  "column_header.pin": "سنجاق",
+  "column_header.show_settings": "نیشاندانی رێکخستنەکان",
+  "column_header.unpin": "سنجاق نەکردن",
+  "column_subheading.settings": "رێکخستنەکان",
+  "community.column_settings.local_only": "تەنها خۆماڵی",
+  "community.column_settings.media_only": "تەنها میدیا",
+  "community.column_settings.remote_only": "تەنها بۆ دوور",
+  "compose_form.direct_message_warning": "ئەم توتە تەنیا بۆ بەکارهێنەرانی ناوبراو دەنێردرێت.",
+  "compose_form.direct_message_warning_learn_more": "زیاتر فێربه",
+  "compose_form.hashtag_warning": "ئەم توتە لە ژێر هیچ هاشتاگییەک دا ناکرێت وەک ئەوەی لە لیستەکەدا نەریزراوە. تەنها توتی گشتی دەتوانرێت بە هاشتاگی بگەڕێت.",
+  "compose_form.lock_disclaimer": "هەژمێرەکەی لە حاڵەتی {locked}. هەر کەسێک دەتوانێت شوێنت بکەوێت بۆ پیشاندانی بابەتەکانی تەنها دوایخۆی.",
+  "compose_form.lock_disclaimer.lock": "قفڵ دراوە",
+  "compose_form.placeholder": "چی لە مێشکتدایە?",
+  "compose_form.poll.add_option": "زیادکردنی هەڵبژاردەیەک",
+  "compose_form.poll.duration": "ماوەی ڕاپرسی",
+  "compose_form.poll.option_placeholder": "هەڵبژاردن {number}",
+  "compose_form.poll.remove_option": "لابردنی ئەم هەڵبژاردەیە",
+  "compose_form.poll.switch_to_multiple": "ڕاپرسی بگۆڕە بۆ ڕێگەدان بە چەند هەڵبژاردنێک",
+  "compose_form.poll.switch_to_single": "گۆڕینی ڕاپرسی بۆ ڕێگەدان بە تاکە هەڵبژاردنێک",
+  "compose_form.publish": "توت",
+  "compose_form.publish_loud": "{publish}!",
+  "compose_form.save_changes": "Save changes",
+  "compose_form.sensitive.hide": "نیشانکردنی میدیا وەک هەستیار",
+  "compose_form.sensitive.marked": "وادەی کۆتایی",
+  "compose_form.sensitive.unmarked": "میدیا وەک هەستیار نیشان نەکراوە",
+  "compose_form.spoiler.marked": "دەق لە پشت ئاگاداریدا شاراوەتەوە",
+  "compose_form.spoiler.unmarked": "دەق شاراوە نییە",
+  "compose_form.spoiler_placeholder": "ئاگاداریەکەت لێرە بنووسە",
+  "confirmation_modal.cancel": "هەڵوەشاندنەوه",
+  "confirmations.block.block_and_report": "بلۆک & گوزارشت",
+  "confirmations.block.confirm": "بلۆک",
+  "confirmations.block.message": "ئایا دڵنیایت لەوەی دەتەوێت {name} بلۆک بکەیت?",
+  "confirmations.delete.confirm": "سڕینەوە",
+  "confirmations.delete.message": "ئایا دڵنیایت لەوەی دەتەوێت ئەم توتە بسڕیتەوە?",
+  "confirmations.delete_list.confirm": "سڕینەوە",
+  "confirmations.delete_list.message": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی ئەم لیستە بسڕیتەوە?",
+  "confirmations.discard_edit_media.confirm": "Discard",
+  "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
+  "confirmations.domain_block.confirm": "بلۆککردنی هەموو دۆمەینەکە",
+  "confirmations.domain_block.message": "ئایا بەڕاستی، بەڕاستی تۆ دەتەوێت هەموو {domain} بلۆک بکەیت؟ لە زۆربەی حاڵەتەکاندا چەند بلۆکێکی ئامانجدار یان بێدەنگەکان پێویست و پەسەندن. تۆ ناوەڕۆک ێک نابینیت لە دۆمەینەکە لە هیچ هێڵی کاتی گشتی یان ئاگانامەکانت. شوێنکەوتوانی تۆ لەو دۆمەینەوە لادەبرێن.",
+  "confirmations.logout.confirm": "چوونە دەرەوە",
+  "confirmations.logout.message": "ئایا دڵنیایت لەوەی دەتەوێت بچیتە دەرەوە?",
+  "confirmations.mute.confirm": "بێدەنگ",
+  "confirmations.mute.explanation": "ئەمەش دەبێتە هۆی شاردنەوەی پۆستەکان یان ئەو بابەتانەی کە ئاماژەیان پێ دەکات ، بەڵام هێشتا ڕێگەیان پێ دەدات کە پۆستەکانتان ببینن و شوێنتان بکەون.",
+  "confirmations.mute.message": "ئایا دڵنیایت لەوەی دەتەوێت بیلێیت {name}?",
+  "confirmations.redraft.confirm": "سڕینەوە & دووبارە ڕەشکردنەوە",
+  "confirmations.redraft.message": "ئایا دڵنیایت لەوەی دەتەوێت ئەم توتە بسڕیتەوە و دووبارە دایبنووسیتەوە؟ دڵخوازەکان و بەرزکردنەوەکان وون دەبن، و وەڵامەکان بۆ پۆستە ڕەسەنەکە هەتیو دەبن.",
+  "confirmations.reply.confirm": "وەڵام",
+  "confirmations.reply.message": "وەڵامدانەوە ئێستا ئەو نامەیە ی کە تۆ ئێستا دایڕشتووە، دەنووسێتەوە. ئایا دڵنیایت کە دەتەوێت بەردەوام بیت?",
+  "confirmations.unfollow.confirm": "بەدوادانەچو",
+  "confirmations.unfollow.message": "ئایا دڵنیایت لەوەی دەتەوێت پەیڕەوی {name}?",
+  "conversation.delete": "سڕینەوەی گفتوگۆ",
+  "conversation.mark_as_read": "نیشانەکردن وەک خوێندراوە",
+  "conversation.open": "نیشاندان گفتوگۆ",
+  "conversation.with": "لەگەڵ{names}",
+  "directory.federated": "لە ڕاژەکانی ناسراو",
+  "directory.local": "تەنها لە {domain}",
+  "directory.new_arrivals": "تازە گەیشتنەکان",
+  "directory.recently_active": "بەم دواییانە چالاکە",
+  "embed.instructions": "ئەم توتە بنچین بکە لەسەر وێب سایتەکەت بە کۆپیکردنی کۆدەکەی خوارەوە.",
+  "embed.preview": "ئەمە ئەو شتەیە کە لە شێوەی خۆی دەچێت:",
+  "emoji_button.activity": "چالاکی",
+  "emoji_button.custom": "ئاسایی",
+  "emoji_button.flags": "ئاڵاکان",
+  "emoji_button.food": "خواردن& خواردنەوە",
+  "emoji_button.label": "ئیمۆجی بکەنێو",
+  "emoji_button.nature": "سروشت",
+  "emoji_button.not_found": "بێ ئیمۆجی! (╯°□°)╯( ┻━┻",
+  "emoji_button.objects": "ئامانجەکان",
+  "emoji_button.people": "خەڵک",
+  "emoji_button.recent": "زۆرجار بەکارهێنراوە",
+  "emoji_button.search": "گەڕان...",
+  "emoji_button.search_results": "ئەنجامەکانی گەڕان",
+  "emoji_button.symbols": "هێماکان",
+  "emoji_button.travel": "گەشت & شوێنەکان",
+  "empty_column.account_suspended": "Account suspended",
+  "empty_column.account_timeline": "لێرە هیچ توتەک نییە!",
+  "empty_column.account_unavailable": "پرۆفایل بەردەست نیە",
+  "empty_column.blocks": "تۆ هێشتا هیچ بەکارهێنەرێکت بلۆک نەکردووە.",
+  "empty_column.bookmarked_statuses": "تۆ هێشتا هیچ توتێکی دیاریکراوت نیە کاتێک نیشانەیەک نیشان دەکەیت، لێرە دەرئەکەویت.",
+  "empty_column.community": "هێڵی کاتی ناوخۆیی بەتاڵە. شتێک بە ئاشکرا بنووسە بۆ ئەوەی تۆپەکە بسووڕێت!",
+  "empty_column.direct": "تۆ هیچ نامەی ڕاستەوخۆت نیە تا ئێستا. کاتێک دانەیەک دەنێریت یان وەرت دەگرێت، لێرە پیشان دەدات.",
+  "empty_column.domain_blocks": "هێشتا هیچ دۆمەینێکی بلۆک کراو نییە.",
+  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.favourited_statuses": "تۆ هێشتا هیچ توتێکی دڵخوازت نییە، کاتێک حەزت لە دانەیەکی باشە، لێرە دەرئەکەویت.",
+  "empty_column.favourites": "کەس ئەم توتەی دڵخواز نەکردووە،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.",
+  "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
+  "empty_column.follow_requests": "تۆ هێشتا هیچ داواکارییەکی بەدواداچووت نیە. کاتێک یەکێکت بۆ هات، لێرە دەرئەکەویت.",
+  "empty_column.hashtag": "هێشتا هیچ شتێک لەم هاشتاگەدا نییە.",
+  "empty_column.home": "تایم لاینی ماڵەوەت بەتاڵە! سەردانی {public} بکە یان گەڕان بەکاربێنە بۆ دەستپێکردن و بینینی بەکارهێنەرانی تر.",
+  "empty_column.home.suggestions": "See some suggestions",
+  "empty_column.list": "هێشتا هیچ شتێک لەم لیستەدا نییە. کاتێک ئەندامانی ئەم لیستە دەنگی نوێ بڵاودەکەن، لێرە دەردەکەون.",
+  "empty_column.lists": "تۆ هێشتا هیچ لیستت دروست نەکردووە، کاتێک دانەیەک دروست دەکەیت، لێرە پیشان دەدرێت.",
+  "empty_column.mutes": "تۆ هێشتا هیچ بەکارهێنەرێکت بێدەنگ نەکردووە.",
+  "empty_column.notifications": "تۆ هێشتا هیچ ئاگانامێکت نیە. چالاکی لەگەڵ کەسانی دیکە بکە بۆ دەستپێکردنی گفتوگۆکە.",
+  "empty_column.public": "لێرە هیچ نییە! شتێک بە ئاشکرا بنووسە(بەگشتی)، یان بە دەستی شوێن بەکارهێنەران بکەوە لە ڕاژەکانی ترەوە بۆ پڕکردنەوەی",
+  "error.unexpected_crash.explanation": "بەهۆی بوونی کێشە لە کۆدەکەمان یان کێشەی گونجانی وێبگەڕەکە، ئەم لاپەڕەیە بە دروستی پیشان نادرێت.",
+  "error.unexpected_crash.explanation_addons": "ئەم لاپەڕەیە ناتوانرێت بە دروستی پیشان بدرێت. ئەم هەڵەیە لەوانەیە بەهۆی ئامێری وەرگێڕانی خۆکار یان زیادکراوی وێبگەڕەوە بێت.",
+  "error.unexpected_crash.next_steps": "هەوڵدە لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکەیان کاربەرنامەی ڕەسەن.",
+  "error.unexpected_crash.next_steps_addons": "هەوڵدە لەکاریان بخەیت و لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکانی دیکە یان نەرمەکالاکانی ئەسڵی.",
+  "errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد",
+  "errors.unexpected_crash.report_issue": "کێشەی گوزارشت",
+  "explore.search_results": "Search results",
+  "explore.suggested_follows": "For you",
+  "explore.title": "Explore",
+  "explore.trending_links": "News",
+  "explore.trending_statuses": "Posts",
+  "explore.trending_tags": "Hashtags",
+  "follow_recommendations.done": "Done",
+  "follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
+  "follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
+  "follow_request.authorize": "ده‌سه‌ڵاتپێدراو",
+  "follow_request.reject": "ڕەتکردنەوە",
+  "follow_requests.unlocked_explanation": "هەرچەندە هەژمارەکەت داخراو نییە، ستافی {domain} وا بیریان کردەوە کە لەوانەیە بتانەوێت پێداچوونەوە بە داواکاریەکانی ئەم هەژمارەدا بکەن بە دەستی.",
+  "generic.saved": "پاشکەوتکرا",
+  "getting_started.developers": "پەرەپێدەران",
+  "getting_started.directory": "پەڕەی پرۆفایل",
+  "getting_started.documentation": "بەڵگەنامە",
+  "getting_started.heading": "دەست پێکردن",
+  "getting_started.invite": "بانگهێشتکردنی خەڵک",
+  "getting_started.open_source_notice": "ماستۆدۆن نەرمەکالایەکی سەرچاوەی کراوەیە. دەتوانیت بەشداری بکەیت یان گوزارشت بکەیت لەسەر کێشەکانی لە پەڕەی گیتهاب {github}.",
+  "getting_started.security": "ڕێکخستنەکانی هەژمارە",
+  "getting_started.terms": "مەرجەکانی خزمەتگوزاری",
+  "hashtag.column_header.tag_mode.all": "و {additional}",
+  "hashtag.column_header.tag_mode.any": "یا {additional}",
+  "hashtag.column_header.tag_mode.none": "بەبێ {additional}",
+  "hashtag.column_settings.select.no_options_message": "هیچ پێشنیارێک نەدۆزرایەوە",
+  "hashtag.column_settings.select.placeholder": "هاشتاگی تێبنووسە…",
+  "hashtag.column_settings.tag_mode.all": "هەموو ئەمانە",
+  "hashtag.column_settings.tag_mode.any": "هەر کام لەمانە",
+  "hashtag.column_settings.tag_mode.none": "هیچ کام لەمانە",
+  "hashtag.column_settings.tag_toggle": "تاگی زیادە ی ئەم ستوونە لەخۆ بنووسە",
+  "home.column_settings.basic": "بنەڕەتی",
+  "home.column_settings.show_reblogs": "پیشاندانی بەهێزکردن",
+  "home.column_settings.show_replies": "وەڵامدانەوەکان پیشان بدە",
+  "home.hide_announcements": "شاردنەوەی راگەیەنراوەکان",
+  "home.show_announcements": "پیشاندانی راگەیەنراوەکان",
+  "intervals.full.days": "{number, plural, one {# ڕۆژ} other {# ڕۆژەک}}",
+  "intervals.full.hours": "{number, plural, one {# کات} other {# کات}}",
+  "intervals.full.minutes": "{number, plural, one {# خولەک} other {# خولەک}}",
+  "keyboard_shortcuts.back": "بۆ گەڕانەوە",
+  "keyboard_shortcuts.blocked": "بۆ کردنەوەی لیستی بەکارهێنەرە بلۆککراوەکان",
+  "keyboard_shortcuts.boost": "بۆ بەهێزکردن",
+  "keyboard_shortcuts.column": "بۆ ئەوەی تیشک بخاتە سەر توتێک لە یەکێک لە ستوونەکان",
+  "keyboard_shortcuts.compose": "بۆ سەرنجدان بە نووسینی ناوچەی دەق",
+  "keyboard_shortcuts.description": "وه‌سف",
+  "keyboard_shortcuts.direct": "بۆ کردنەوەی ستوونی نامە ڕاستەوخۆکان",
+  "keyboard_shortcuts.down": "بۆ چوونە خوارەوە لە لیستەکەدا",
+  "keyboard_shortcuts.enter": "بۆ کردنەوەی توت",
+  "keyboard_shortcuts.favourite": "بۆ دڵخواز",
+  "keyboard_shortcuts.favourites": "بۆ کردنەوەی لیستی دڵخوازەکان",
+  "keyboard_shortcuts.federated": "بۆ کردنەوەی نووسراوەکانی هەمووشوێن",
+  "keyboard_shortcuts.heading": "قه‌دبڕەکانی تەختەکلیل",
+  "keyboard_shortcuts.home": "بۆ کردنەوەی هێڵی کاتی ماڵەوە",
+  "keyboard_shortcuts.hotkey": "هۆتکەی",
+  "keyboard_shortcuts.legend": "بۆ نیشاندانی ئەم نیشانە",
+  "keyboard_shortcuts.local": "بۆ کردنەوەی نووسراوەکانی خۆماڵی",
+  "keyboard_shortcuts.mention": "نۆ ناوبردن لە نووسەر",
+  "keyboard_shortcuts.muted": "بۆ کردنەوەی پێرستی بەکارهێنەرانی بێدەنگ",
+  "keyboard_shortcuts.my_profile": "بۆ کردنەوەی پرۆفایڵ",
+  "keyboard_shortcuts.notifications": "بۆ کردنەوەی ستوونی ئاگانامەکان",
+  "keyboard_shortcuts.open_media": "بۆ کردنەوەی میدیا",
+  "keyboard_shortcuts.pinned": "بۆ کردنەوەی لیستی توتەکانی چەسپێنراو",
+  "keyboard_shortcuts.profile": "بۆ کردنەوەی پرۆفایڵی نووسەر",
+  "keyboard_shortcuts.reply": "بۆ وەڵامدانەوە",
+  "keyboard_shortcuts.requests": "بۆ کردنەوەی لیستی داواکاریەکانی بەدوادا",
+  "keyboard_shortcuts.search": "بۆ جەختکردن لەسەر گەڕان",
+  "keyboard_shortcuts.spoilers": "بۆ پیشاندان/شاردنەوەی خانەی CW",
+  "keyboard_shortcuts.start": "بۆ کردنەوەی ستوونی \"دەست پێبکە\"",
+  "keyboard_shortcuts.toggle_hidden": "بۆ پیشاندان/شاردنەوەی دەق لە پشت CW",
+  "keyboard_shortcuts.toggle_sensitivity": "بۆ پیشاندان/شاردنەوەی میدیا",
+  "keyboard_shortcuts.toot": "بۆ دەست کردن بە براندێکی تازە",
+  "keyboard_shortcuts.unfocus": "بۆ دروستکردنی ناوچەی دەق/گەڕان",
+  "keyboard_shortcuts.up": "بۆ ئەوەی لە لیستەکەدا بڕۆیت",
+  "lightbox.close": "دابخە",
+  "lightbox.compress": "سندوقی نیشاندانی وێنە بپەستێنە",
+  "lightbox.expand": "فراوانکردنی سندوقی بینینی وێنە",
+  "lightbox.next": "داهاتوو",
+  "lightbox.previous": "پێشوو",
+  "lists.account.add": "زیادکردن بۆ لیست",
+  "lists.account.remove": "لابردن لە لیست",
+  "lists.delete": "سڕینەوەی لیست",
+  "lists.edit": "دەستکاری لیست",
+  "lists.edit.submit": "گۆڕینی ناونیشان",
+  "lists.new.create": "زیادکردنی لیست",
+  "lists.new.title_placeholder": "ناونیشانی لیستی نوێ",
+  "lists.replies_policy.followed": "Any followed user",
+  "lists.replies_policy.list": "Members of the list",
+  "lists.replies_policy.none": "No one",
+  "lists.replies_policy.title": "پیشاندانی وەڵامەکان بۆ:",
+  "lists.search": "بگەڕێ لەناو ئەو کەسانەی کە شوێنیان کەوتویت",
+  "lists.subheading": "لیستەکانت",
+  "load_pending": "{count, plural, one {# new item} other {# new items}}",
+  "loading_indicator.label": "بارکردن...",
+  "media_gallery.toggle_visible": "شاردنەوەی {number, plural, one {image} other {images}}",
+  "missing_indicator.label": "نەدۆزرایەوە",
+  "missing_indicator.sublabel": "ئەو سەرچاوەیە نادۆزرێتەوە",
+  "mute_modal.duration": "ماوە",
+  "mute_modal.hide_notifications": "شاردنەوەی ئاگانامەکان لەم بەکارهێنەرە؟ ",
+  "mute_modal.indefinite": "نادیار",
+  "navigation_bar.apps": "بەرنامەی مۆبایل",
+  "navigation_bar.blocks": "بەکارهێنەرە بلۆککراوەکان",
+  "navigation_bar.bookmarks": "نیشانکراوەکان",
+  "navigation_bar.community_timeline": "دەمنامەی ناوخۆیی",
+  "navigation_bar.compose": "نووسینی توتی نوێ",
+  "navigation_bar.direct": "نامە ڕاستەوخۆکان",
+  "navigation_bar.discover": "دۆزینەوە",
+  "navigation_bar.domain_blocks": "دۆمەینە بلۆک کراوەکان",
+  "navigation_bar.edit_profile": "دەستکاری پرۆفایل بکە",
+  "navigation_bar.explore": "Explore",
+  "navigation_bar.favourites": "دڵخوازەکان",
+  "navigation_bar.filters": "وشە کپەکان",
+  "navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە",
+  "navigation_bar.follows_and_followers": "شوێنکەوتوو و شوێنکەوتوان",
+  "navigation_bar.info": "دەربارەی ئەم ڕاژە",
+  "navigation_bar.keyboard_shortcuts": "هۆتکەی",
+  "navigation_bar.lists": "لیستەکان",
+  "navigation_bar.logout": "دەرچوون",
+  "navigation_bar.mutes": "کپکردنی بەکارهێنەران",
+  "navigation_bar.personal": "کەسی",
+  "navigation_bar.pins": "توتی چەسپاو",
+  "navigation_bar.preferences": "پەسەندەکان",
+  "navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک",
+  "navigation_bar.security": "ئاسایش",
+  "notification.admin.sign_up": "{name} signed up",
+  "notification.favourite": "{name} نووسراوەکەتی پەسەند کرد",
+  "notification.follow": "{name} دوای تۆ کەوت",
+  "notification.follow_request": "{name} داوای کردووە کە شوێنت بکەوێت",
+  "notification.mention": "{name} باسی ئێوەی کرد",
+  "notification.own_poll": "ڕاپرسیەکەت کۆتایی هات",
+  "notification.poll": "ڕاپرسییەک کە دەنگی پێداویت کۆتایی هات",
+  "notification.reblog": "{name} نووسراوەکەتی دووبارە توتاند",
+  "notification.status": "{name} تازە بڵاوکرایەوە",
+  "notification.update": "{name} edited a post",
+  "notifications.clear": "ئاگانامەکان بسڕیەوە",
+  "notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?",
+  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.alert": "ئاگانامەکانی پیشانگەرر ڕومێزی",
+  "notifications.column_settings.favourite": "دڵخوازترین:",
+  "notifications.column_settings.filter_bar.advanced": "هەموو پۆلەکان پیشان بدە",
+  "notifications.column_settings.filter_bar.category": "شریتی پاڵێوەری خێرا",
+  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
+  "notifications.column_settings.follow": "شوێنکەوتوانی نوێ:",
+  "notifications.column_settings.follow_request": "شوینکەوتنی داواکاری نوێ:",
+  "notifications.column_settings.mention": "ئاماژەکان:",
+  "notifications.column_settings.poll": "ئەنجامەکانی ڕاپرسی:",
+  "notifications.column_settings.push": "ئاگانامەکان پاڵ بنێ",
+  "notifications.column_settings.reblog": "دووبارەتوتەکان:",
+  "notifications.column_settings.show": "لە ستووندا پیشان بدە",
+  "notifications.column_settings.sound": "لێدانی دەنگ",
+  "notifications.column_settings.status": "توتەکانی نوێ:",
+  "notifications.column_settings.unread_notifications.category": "Unread notifications",
+  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
+  "notifications.column_settings.update": "Edits:",
+  "notifications.filter.all": "هەموو",
+  "notifications.filter.boosts": "دووبارەتوتەکان",
+  "notifications.filter.favourites": "دڵخوازەکان",
+  "notifications.filter.follows": "شوێنکەوتن",
+  "notifications.filter.mentions": "ئاماژەکان",
+  "notifications.filter.polls": "ئەنجامەکانی ڕاپرسی",
+  "notifications.filter.statuses": "نوێکردنەوەکان ئەو کەسانەی کە پەیڕەوی دەکەیت",
+  "notifications.grant_permission": "Grant permission.",
+  "notifications.group": "{count} ئاگانامە",
+  "notifications.mark_as_read": "هەموو ئاگانامەکان وەک خوێندراوەتەوە نیشان بکە",
+  "notifications.permission_denied": "ناتوانرێت ئاگانامەکانی دێسکتۆپ چالاک بکرێت وەک ڕێپێدان ڕەتکرایەوە.",
+  "notifications.permission_denied_alert": "ناتوانرێت ئاگانامەکانی دێسکتۆپ چالاک بکرێت، چونکە پێشتر مۆڵەتی وێبگەڕ ڕەتکرایەوە",
+  "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.",
+  "notifications_permission_banner.enable": "چالاککردنی ئاگانامەکانی دێسکتۆپ",
+  "notifications_permission_banner.how_to_control": "بۆ وەرگرتنی ئاگانامەکان کاتێک ماستۆدۆن نەکراوەیە، ئاگانامەکانی دێسکتۆپ چالاک بکە. دەتوانیت بە وردی کۆنترۆڵی جۆری کارلێکەکان بکەیت کە ئاگانامەکانی دێسکتۆپ دروست دەکەن لە ڕێگەی دوگمەی {icon} لەسەرەوە کاتێک چالاک دەکرێن.",
+  "notifications_permission_banner.title": "هەرگیز شتێک لە دەست مەدە",
+  "picture_in_picture.restore": "بیگەڕێنەوە",
+  "poll.closed": "دابخە",
+  "poll.refresh": "نوێکردنەوە",
+  "poll.total_people": "{count, plural, one {# خەڵک} other {# خەڵک}}",
+  "poll.total_votes": "{count, plural, one {# دەنگ} other {# دەنگ}}\n",
+  "poll.vote": "دەنگ",
+  "poll.voted": "تۆ دەنگت بەو وەڵامە دا",
+  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
+  "poll_button.add_poll": "ڕاپرسییەک زیاد بکە",
+  "poll_button.remove_poll": "ده‌نگدان بسڕه‌وه‌‌",
+  "privacy.change": "ڕێکخستنی تایبەتمەندی توت",
+  "privacy.direct.long": "تەنیا بۆ بەکارهێنەرانی ناوبراو",
+  "privacy.direct.short": "ڕاستەوخۆ",
+  "privacy.private.long": "بینراو تەنها بۆ شوێنکەوتوان",
+  "privacy.private.short": "تەنها بۆ شوێنکەوتوان",
+  "privacy.public.long": "بۆ هەمووان دیاربێت، لە هێڵی کاتی گشتی دا نیشان دەدرێت",
+  "privacy.public.short": "گشتی",
+  "privacy.unlisted.long": "بۆ هەمووان دیارە، بەڵام لە هێڵی کاتی گشتیدا نا",
+  "privacy.unlisted.short": "لە لیست نەکراو",
+  "refresh": "نوێکردنەوە",
+  "regeneration_indicator.label": "بارکردن…",
+  "regeneration_indicator.sublabel": "ڕاگەیەنەری ماڵەوەت ئامادە دەکرێت!",
+  "relative_time.days": "{number}ڕۆژ",
+  "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
+  "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
+  "relative_time.full.just_now": "just now",
+  "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
+  "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
+  "relative_time.hours": "{number}کات",
+  "relative_time.just_now": "ئێستا",
+  "relative_time.minutes": "{number}کات",
+  "relative_time.seconds": "{number}کات",
+  "relative_time.today": "ئیمڕۆ",
+  "reply_indicator.cancel": "هەڵوەشاندنەوه",
+  "report.block": "Block",
+  "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
+  "report.categories.other": "Other",
+  "report.categories.spam": "Spam",
+  "report.categories.violation": "Content violates one or more server rules",
+  "report.category.subtitle": "Choose the best match",
+  "report.category.title": "Tell us what's going on with this {type}",
+  "report.category.title_account": "profile",
+  "report.category.title_status": "post",
+  "report.close": "Done",
+  "report.comment.title": "Is there anything else you think we should know?",
+  "report.forward": "ناردن بۆ {target}",
+  "report.forward_hint": "هەژمارەکە لە ڕاژەیەکی ترە. ڕونووسێکی نەناسراو بنێرە بۆ گوزارشت لەوێ?",
+  "report.mute": "Mute",
+  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
+  "report.next": "Next",
+  "report.placeholder": "سەرنجەکانی زیاتر",
+  "report.reasons.dislike": "I don't like it",
+  "report.reasons.dislike_description": "It is not something you want to see",
+  "report.reasons.other": "It's something else",
+  "report.reasons.other_description": "The issue does not fit into other categories",
+  "report.reasons.spam": "It's spam",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
+  "report.reasons.violation": "It violates server rules",
+  "report.reasons.violation_description": "You are aware that it breaks specific rules",
+  "report.rules.subtitle": "Select all that apply",
+  "report.rules.title": "Which rules are being violated?",
+  "report.statuses.subtitle": "Select all that apply",
+  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.submit": "ناردن",
+  "report.target": "گوزارشتکردنی{target}",
+  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
+  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
+  "report.thanks.title": "Don't want to see this?",
+  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
+  "report.unfollow": "Unfollow @{name}",
+  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "search.placeholder": "گەڕان",
+  "search_popout.search_format": "شێوەی گەڕانی پێشکەوتوو",
+  "search_popout.tips.full_text": "گەڕانێکی دەقی سادە دەتوانێت توتەکانی ئێوە کە، نووسیوتانە،پەسەنتان کردووە، دووبارەتانکردووە، یان ئەو توتانە کە باسی ئێوەی تێدا کراوە پەیدا دەکا. هەروەها ناوی بەکارهێنەران، ناوی پیشاندراو و هەشتەگەکانیش لە خۆ دەگرێت.",
+  "search_popout.tips.hashtag": "هەشتاگ",
+  "search_popout.tips.status": "توت",
+  "search_popout.tips.text": "دەقی سادە هەڵدەسێ بە گەڕاندنەوەی هاوتایی ناوی پیشاندان، ناوی بەکارهێنەر و هاشتاگەکان",
+  "search_popout.tips.user": "بەکارهێنەر",
+  "search_results.accounts": "خەڵک",
+  "search_results.all": "All",
+  "search_results.hashtags": "هەشتاگ",
+  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.statuses": "توتەکان",
+  "search_results.statuses_fts_disabled": "گەڕانی توتەکان بە ناوەڕۆکیان لەسەر ئەم ڕاژەی ماستۆدۆن چالاک نەکراوە.",
+  "search_results.total": "{count, number} {count, plural, one {دەرئەنجام} other {دەرئەنجام}}",
+  "status.admin_account": "کردنەوەی میانڕەوی بەڕێوەبەر بۆ @{name}",
+  "status.admin_status": "ئەم توتە بکەوە لە ناو ڕووکاری بەڕیوەبەر",
+  "status.block": "بلۆکی @{name}",
+  "status.bookmark": "نیشانه",
+  "status.cancel_reblog_private": "بێبەهێزکردن",
+  "status.cannot_reblog": "ئەم بابەتە ناتوانرێت بەرزبکرێتەوە",
+  "status.copy": "ڕوونووسی بەستەر بۆ توت",
+  "status.delete": "سڕینەوە",
+  "status.detailed_status": "ڕوانگەی گفتوگۆ بە وردەکاری",
+  "status.direct": "پەیامی ڕاستەوخۆ @{name}",
+  "status.edit": "Edit",
+  "status.edited": "Edited {date}",
+  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
+  "status.embed": "نیشتەجێ بکە",
+  "status.favourite": "دڵخواز",
+  "status.filtered": "پاڵاوتن",
+  "status.history.created": "{name} created {date}",
+  "status.history.edited": "{name} edited {date}",
+  "status.load_more": "بارکردنی زیاتر",
+  "status.media_hidden": "میدیای شاراوە",
+  "status.mention": "ناوبنێ @{name}",
+  "status.more": "زیاتر",
+  "status.mute": "بێدەنگکردن @{name}",
+  "status.mute_conversation": "گفتوگۆی بێدەنگ",
+  "status.open": "ئەم توتە فراوان بکە",
+  "status.pin": "لکاندن لەسەر پرۆفایل",
+  "status.pinned": "توتی چەسپکراو",
+  "status.read_more": "زیاتر بخوێنەوە",
+  "status.reblog": "بەهێزکردن",
+  "status.reblog_private": "بەهێزکردن بۆ بینەرانی سەرەتایی",
+  "status.reblogged_by": "{name} توتی کردەوە",
+  "status.reblogs.empty": "کەس ئەم توتەی دووبارە نەتوتاندوە ،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.",
+  "status.redraft": "سڕینەوەی و دووبارە ڕەشنووس",
+  "status.remove_bookmark": "لابردنی نیشانه",
+  "status.reply": "وەڵام",
+  "status.replyAll": "بە نووسراوە وەڵام بدەوە",
+  "status.report": "گوزارشت @{name}",
+  "status.sensitive_warning": "ناوەڕۆکی هەستیار",
+  "status.share": "هاوبەش کردن",
+  "status.show_less": "کەمتر نیشان بدە",
+  "status.show_less_all": "کەمتر نیشان بدە بۆ هەمووی",
+  "status.show_more": "زیاتر پیشان بدە",
+  "status.show_more_all": "زیاتر نیشان بدە بۆ هەمووی",
+  "status.show_thread": "نیشاندانی گفتوگۆ",
+  "status.uncached_media_warning": "بەردەست نیە",
+  "status.unmute_conversation": "گفتوگۆی بێدەنگ",
+  "status.unpin": "لابردن لە پرۆفایل",
+  "suggestions.dismiss": "ڕەتکردنەوەی پێشنیار",
+  "suggestions.header": "لەوانەیە حەزت لەمەش بێت…",
+  "tabs_bar.federated_timeline": "گشتی",
+  "tabs_bar.home": "سەرەتا",
+  "tabs_bar.local_timeline": "ناوخۆیی",
+  "tabs_bar.notifications": "ئاگادارییەکان",
+  "tabs_bar.search": "گەڕان",
+  "time_remaining.days": "{number, plural, one {# ڕۆژ} other {# ڕۆژ}} ماوە",
+  "time_remaining.hours": "{number, plural, one {# کات} other {# کات}} ماوە",
+  "time_remaining.minutes": "{number, plural, one {# خۆلەک} other {# خولەک}} ماوە",
+  "time_remaining.moments": "ئەو ساتانەی ماونەتەوە",
+  "time_remaining.seconds": "{number, plural, one {# چرکە} other {# چرکە}} ماوە",
+  "timeline_hint.remote_resource_not_displayed": "{resource} لە ڕاژەکانی ترەوە پیشان نادرێت.",
+  "timeline_hint.resources.followers": "شوێنکەوتووان",
+  "timeline_hint.resources.follows": "شوێنکەوتن",
+  "timeline_hint.resources.statuses": "توتی کۆن",
+  "trends.counter_by_accounts": "{count, plural, one {{counter} کەس} other {{counter} کەس}} گفتوگۆ دەکا",
+  "trends.trending_now": "گۆگران",
+  "ui.beforeunload": "ڕەشنووسەکەت لە دەست دەچێت ئەگەر لە ماستۆدۆن بڕۆیت.",
+  "units.short.billion": "{count}ملیار",
+  "units.short.million": "{count}ملیۆن",
+  "units.short.thousand": "{count}هەزار",
+  "upload_area.title": "ڕاکێشان & دانان بۆ بارکردن",
+  "upload_button.label": "زیادکردنی وێنەکان، ڤیدیۆیەک یان فایلێکی دەنگی",
+  "upload_error.limit": "سنووری بارکردنی فایل تێپەڕیوە.",
+  "upload_error.poll": "پەڕگەکە ڕێی پێنەدراوە بە ڕاپرسی باربکرێت.",
+  "upload_form.audio_description": "بۆ ئەو کەسانەی کە گوێ بیستیان هەیە وەسف دەکات",
+  "upload_form.description": "وەسف بکە بۆ کەمبینایان",
+  "upload_form.edit": "دەستکاری",
+  "upload_form.thumbnail": "گۆڕانی وینۆچکە",
+  "upload_form.undo": "سڕینەوە",
+  "upload_form.video_description": "بۆ کەم بینایان و کەم بیستان وەسفی بکە",
+  "upload_modal.analyzing_picture": "شیکردنەوەی وێنە…",
+  "upload_modal.apply": "جێبەجێ کردن",
+  "upload_modal.applying": "Applying…",
+  "upload_modal.choose_image": "وێنە هەڵبژێرە",
+  "upload_modal.description_placeholder": "بە دڵ کەین با بە نەشئەی مەی غوباری میحنەتی دونیا",
+  "upload_modal.detect_text": "دەقی وێنەکە بدۆزیەوە",
+  "upload_modal.edit_media": "دەستکاریکردنی میدیا",
+  "upload_modal.hint": "گەر وێنە چکۆلە یان بڕاوەبێت، خاڵی ناوەندی دیار دەکەوێت. خاڵی ناوەندی وێنە بە کرتە یان جێبەجیکردنی رێکبخەن.",
+  "upload_modal.preparing_ocr": "ئامادەکردنی OCR…",
+  "upload_modal.preview_label": "پێشبینی ({ratio})",
+  "upload_progress.label": "بارکردن...",
+  "video.close": "داخستنی ڤیدیۆ",
+  "video.download": "داگرتنی فایل",
+  "video.exit_fullscreen": "دەرچوون لە پڕ شاشە",
+  "video.expand": "ڤیدیۆفراوان بکە",
+  "video.fullscreen": "پڕپیشانگەر",
+  "video.hide": "شاردنەوەی ڤیدیۆ",
+  "video.mute": "دەنگی کپ",
+  "video.pause": "وەستان",
+  "video.play": "پەخشکردن",
+  "video.unmute": "دەنگ لابدە"
+}
diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json
index 799fc877d..21240bc3b 100644
--- a/app/javascript/mastodon/locales/co.json
+++ b/app/javascript/mastodon/locales/co.json
@@ -18,12 +18,12 @@
   "account.followers": "Abbunati",
   "account.followers.empty": "Nisunu hè abbunatu à st'utilizatore.",
   "account.followers_counter": "{count, plural, one {{counter} Abbunatu} other {{counter} Abbunati}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Abbunamentu} other {{counter} Abbunamenti}}",
   "account.follows.empty": "St'utilizatore ùn seguita nisunu.",
   "account.follows_you": "Vi seguita",
   "account.hide_reblogs": "Piattà spartere da @{name}",
   "account.joined": "Quì dapoi {date}",
-  "account.last_status": "Ultima attività",
   "account.link_verified_on": "A prupietà di stu ligame hè stata verificata u {date}",
   "account.locked_info": "U statutu di vita privata di u contu hè chjosu. U pruprietariu esamina manualmente e dumande d'abbunamentu.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Piattà @{name}",
   "account.mute_notifications": "Piattà nutificazione da @{name}",
   "account.muted": "Piattatu",
-  "account.never_active": "Mai",
   "account.posts": "Statuti",
   "account.posts_with_replies": "Statuti è risposte",
   "account.report": "Palisà @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Statutu} other {{counter} Statuti}}",
   "account.unblock": "Sbluccà @{name}",
   "account.unblock_domain": "Ùn piattà più {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Ùn fà figurà nant'à u prufilu",
   "account.unfollow": "Ùn siguità più",
   "account.unmute": "Ùn piattà più @{name}",
   "account.unmute_notifications": "Ùn piattà più nutificazione da @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Senza cummentariu",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Scopre",
   "navigation_bar.domain_blocks": "Duminii piattati",
   "navigation_bar.edit_profile": "Mudificà u prufile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favuriti",
   "navigation_bar.filters": "Parolle silenzate",
   "navigation_bar.follow_requests": "Dumande d'abbunamentu",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json
index 65043cc0e..d48780042 100644
--- a/app/javascript/mastodon/locales/cs.json
+++ b/app/javascript/mastodon/locales/cs.json
@@ -18,12 +18,12 @@
   "account.followers": "Sledující",
   "account.followers.empty": "Tohoto uživatele ještě nikdo nesleduje.",
   "account.followers_counter": "{count, plural, one {{counter} Sledující} few {{counter} Sledující} many {{counter} Sledujících} other {{counter} Sledujících}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Sledovaný} few {{counter} Sledovaní} many {{counter} Sledovaných} other {{counter} Sledovaných}}",
   "account.follows.empty": "Tento uživatel ještě nikoho nesleduje.",
   "account.follows_you": "Sleduje vás",
   "account.hide_reblogs": "Skrýt boosty od @{name}",
   "account.joined": "Založen {date}",
-  "account.last_status": "Naposledy aktivní",
   "account.link_verified_on": "Vlastnictví tohoto odkazu bylo zkontrolováno {date}",
   "account.locked_info": "Stav soukromí tohoto účtu je nastaven na zamčeno. Jeho vlastník ručně posuzuje, kdo ho může sledovat.",
   "account.media": "Média",
@@ -32,7 +32,6 @@
   "account.mute": "Skrýt @{name}",
   "account.mute_notifications": "Skrýt oznámení od @{name}",
   "account.muted": "Skryt",
-  "account.never_active": "Nikdy",
   "account.posts": "Příspěvky",
   "account.posts_with_replies": "Příspěvky a odpovědi",
   "account.report": "Nahlásit @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Příspěvek} few {{counter} Příspěvky} many {{counter} Příspěvků} other {{counter} Příspěvků}}",
   "account.unblock": "Odblokovat @{name}",
   "account.unblock_domain": "Odblokovat doménu {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Nezvýrazňovat na profilu",
   "account.unfollow": "Přestat sledovat",
   "account.unmute": "Zrušit skrytí @{name}",
   "account.unmute_notifications": "Zrušit skrytí oznámení od @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Klikněte pro přidání poznámky",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Objevujte",
   "navigation_bar.domain_blocks": "Blokované domény",
   "navigation_bar.edit_profile": "Upravit profil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Oblíbené",
   "navigation_bar.filters": "Skrytá slova",
   "navigation_bar.follow_requests": "Žádosti o sledování",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json
index ad7316865..d3ac8d806 100644
--- a/app/javascript/mastodon/locales/cy.json
+++ b/app/javascript/mastodon/locales/cy.json
@@ -18,12 +18,12 @@
   "account.followers": "Dilynwyr",
   "account.followers.empty": "Nid oes neb yn dilyn y defnyddiwr hwn eto.",
   "account.followers_counter": "{count, plural, one {{counter} Ddilynwr} other {{counter} o Ddilynwyr}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} yn Dilyn} other {{counter} yn Dilyn}}",
   "account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.",
   "account.follows_you": "Yn eich dilyn chi",
   "account.hide_reblogs": "Cuddio bwstiau o @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Gweithredol olaf",
   "account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}",
   "account.locked_info": "Mae'r statws preifatrwydd cyfrif hwn wedi'i osod i gloi. Mae'r perchennog yn adolygu'r sawl sy'n gallu eu dilyn.",
   "account.media": "Cyfryngau",
@@ -32,7 +32,6 @@
   "account.mute": "Tawelu @{name}",
   "account.mute_notifications": "Cuddio hysbysiadau o @{name}",
   "account.muted": "Distewyd",
-  "account.never_active": "Byth",
   "account.posts": "Tŵtiau",
   "account.posts_with_replies": "Tŵtiau ac atebion",
   "account.report": "Adrodd @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Dŵt} other {{counter} o Dŵtiau}}",
   "account.unblock": "Dadflocio @{name}",
   "account.unblock_domain": "Dadguddio {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Peidio a'i arddangos ar fy mhroffil",
   "account.unfollow": "Dad-ddilyn",
   "account.unmute": "Dad-dawelu @{name}",
   "account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Clicio i ychwanegu nodyn",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Darganfod",
   "navigation_bar.domain_blocks": "Parthau cuddiedig",
   "navigation_bar.edit_profile": "Golygu proffil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Ffefrynnau",
   "navigation_bar.filters": "Geiriau a dawelwyd",
   "navigation_bar.follow_requests": "Ceisiadau dilyn",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json
index 3c7a658a3..12023bfb0 100644
--- a/app/javascript/mastodon/locales/da.json
+++ b/app/javascript/mastodon/locales/da.json
@@ -1,29 +1,29 @@
 {
-  "account.account_note_header": "Note",
+  "account.account_note_header": "Notat",
   "account.add_or_remove_from_list": "Tilføj eller fjern fra lister",
   "account.badges.bot": "Bot",
   "account.badges.group": "Gruppe",
   "account.block": "Blokér @{name}",
   "account.block_domain": "Blokér domænet {domain}",
   "account.blocked": "Blokeret",
-  "account.browse_more_on_origin_server": "Se mere på den oprindelige profil",
+  "account.browse_more_on_origin_server": "Tjek mere ud på den oprindelige profil",
   "account.cancel_follow_request": "Annullér følgeanmodning",
   "account.direct": "Direkte besked til @{name}",
   "account.disable_notifications": "Advisér mig ikke længere, når @{name} poster",
   "account.domain_blocked": "Domæne blokeret",
   "account.edit_profile": "Redigér profil",
-  "account.enable_notifications": "Giv besked når @{name} udgiver nyt",
+  "account.enable_notifications": "Advisér mig, når @{name} poster",
   "account.endorse": "Fremhæv på profil",
   "account.follow": "Følg",
   "account.followers": "Følgere",
-  "account.followers.empty": "Ingen følger brugeren endnu.",
+  "account.followers.empty": "Ingen følger denne bruger endnu.",
   "account.followers_counter": "{count, plural, one {{counter} Følger} other {{counter} Følgere}}",
+  "account.following": "Følger",
   "account.following_counter": "{count, plural, one {{counter} Følges} other {{counter} Følges}}",
   "account.follows.empty": "Denne bruger følger ikke nogen endnu.",
   "account.follows_you": "Følger dig",
-  "account.hide_reblogs": "Skjul fremhævelser fra @{name}",
+  "account.hide_reblogs": "Skjul boosts fra @{name}",
   "account.joined": "Tilmeldt {date}",
-  "account.last_status": "Senest aktiv",
   "account.link_verified_on": "Ejerskab af dette link blev tjekket {date}",
   "account.locked_info": "Denne kontos fortrolighedsstatus er sat til låst. Ejeren bedømmer manuelt, hvem der kan følge vedkommende.",
   "account.media": "Medier",
@@ -32,7 +32,6 @@
   "account.mute": "Skjul @{name}",
   "account.mute_notifications": "Skjul notifikationer fra @{name}",
   "account.muted": "Tystnet",
-  "account.never_active": "Aldrig",
   "account.posts": "Indlæg",
   "account.posts_with_replies": "Indlæg og svar",
   "account.report": "Anmeld @{name}",
@@ -40,40 +39,42 @@
   "account.share": "Del @{name}s profil",
   "account.show_reblogs": "Vis fremhævelser fra @{name}",
   "account.statuses_counter": "{count, plural, one {{counter} Indlæg} other {{counter} Indlæg}}",
-  "account.unblock": "Fjern blokeringen af @{name}",
+  "account.unblock": "Afblokér @{name}",
   "account.unblock_domain": "Afblokér domænet {domain}",
+  "account.unblock_short": "Afblokér",
   "account.unendorse": "Fjern visning på din profil",
   "account.unfollow": "Følg ikke længere",
-  "account.unmute": "Fjern tavsgjort for @{name}",
-  "account.unmute_notifications": "Slå notifikationer om @{name} til igen",
+  "account.unmute": "Fjern tavsgørelsen af @{name}",
+  "account.unmute_notifications": "Fjern tavsgørelsen af notifikationer fra @{name}",
+  "account.unmute_short": "Fjern tavsgørelse",
   "account_note.placeholder": "Klik for at tilføje notat",
   "admin.dashboard.daily_retention": "Brugerfastholdelsesrate efter dag efter tilmelding",
-  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.monthly_retention": "Brugerfastholdelsesrate efter måned efter tilmelding",
   "admin.dashboard.retention.average": "Gennemsnitlig",
   "admin.dashboard.retention.cohort": "Tilmeldingsmåned",
   "admin.dashboard.retention.cohort_size": "Nye brugere",
   "alert.rate_limited.message": "Forsøg igen efter {retry_time, time, medium}.",
   "alert.rate_limited.title": "Hastighedsbegrænset",
-  "alert.unexpected.message": "Der skete en uventet fejl.",
+  "alert.unexpected.message": "En uventet fejl opstod.",
   "alert.unexpected.title": "Ups!",
   "announcement.announcement": "Bekendtgørelse",
-  "attachments_list.unprocessed": "(ubearbejdet)",
+  "attachments_list.unprocessed": "(ubehandlet)",
   "autosuggest_hashtag.per_week": "{count} pr. uge",
-  "boost_modal.combo": "Du kan trykke på {combo} for at springe over næste gang",
+  "boost_modal.combo": "Du kan trykke på {combo} for at overspringe dette næste gang",
   "bundle_column_error.body": "Noget gik galt under indlæsningen af denne komponent.",
-  "bundle_column_error.retry": "Prøv igen",
+  "bundle_column_error.retry": "Forsøg igen",
   "bundle_column_error.title": "Netværksfejl",
   "bundle_modal_error.close": "Luk",
   "bundle_modal_error.message": "Noget gik galt under indlæsningen af denne komponent.",
-  "bundle_modal_error.retry": "Prøv igen",
+  "bundle_modal_error.retry": "Forsøg igen",
   "column.blocks": "Blokerede brugere",
   "column.bookmarks": "Bogmærker",
   "column.community": "Lokal tidslinje",
   "column.direct": "Direkte beskeder",
-  "column.directory": "Se profiler",
+  "column.directory": "Tjek profiler",
   "column.domain_blocks": "Blokerede domæner",
   "column.favourites": "Favoritter",
-  "column.follow_requests": "Følg-anmodninger",
+  "column.follow_requests": "Følgeanmodninger",
   "column.home": "Hjem",
   "column.lists": "Lister",
   "column.mutes": "Tavsgjorte brugere",
@@ -91,16 +92,16 @@
   "community.column_settings.local_only": "Kun lokalt",
   "community.column_settings.media_only": "Kun medier",
   "community.column_settings.remote_only": "Kun udefra",
-  "compose_form.direct_message_warning": "Indlægget bliver kun sendt til de nævnte brugere.",
+  "compose_form.direct_message_warning": "Indlægget sendes kun til de nævnte brugere.",
   "compose_form.direct_message_warning_learn_more": "Få mere at vide",
-  "compose_form.hashtag_warning": "Dette trut vises ikke under noget hashtag, da det ikke er listet. Kun offentlige trut kan søges via hashtags.",
-  "compose_form.lock_disclaimer": "Din konto er ikke {locked}. Alle kan følge dig, så de også kan se de indlæg, der kun er til følgere.",
+  "compose_form.hashtag_warning": "Da indlægget ikke er offentligt, vises det ikke under noget hashtag, idet kun offentlige indlæg kan søges via hashtags.",
+  "compose_form.lock_disclaimer": "Din konto er ikke {locked}. Enhver kan følge dig og se indlæg kun beregnet for følgere.",
   "compose_form.lock_disclaimer.lock": "låst",
-  "compose_form.placeholder": "Hvad vil du gerne fortælle om?",
+  "compose_form.placeholder": "Hvad tænker du på?",
   "compose_form.poll.add_option": "Tilføj valgmulighed",
   "compose_form.poll.duration": "Afstemningens varighed",
   "compose_form.poll.option_placeholder": "Valgmulighed {number}",
-  "compose_form.poll.remove_option": "Fjern valgmulighed",
+  "compose_form.poll.remove_option": "Fjern denne valgmulighed",
   "compose_form.poll.switch_to_multiple": "Ændr afstemning til flervalgstype",
   "compose_form.poll.switch_to_single": "Ændr afstemning til enkeltvalgstype",
   "compose_form.publish": "Udgiv",
@@ -109,41 +110,41 @@
   "compose_form.sensitive.hide": "{count, plural, one {Markér medie som følsomt} other {Markér medier som følsomme}}",
   "compose_form.sensitive.marked": "{count, plural, one {Medie er markeret som sensitivt} other {Medier er markerede som sensitive}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Medie er ikke market som sensitivt} other {Medier er ikke markerede som sensitive}}",
-  "compose_form.spoiler.marked": "Fjern advarsel",
-  "compose_form.spoiler.unmarked": "Skjul bag advarsel",
+  "compose_form.spoiler.marked": "Fjern indholdsadvarsel",
+  "compose_form.spoiler.unmarked": "Tilføj indholdsadvarsel",
   "compose_form.spoiler_placeholder": "Skriv din advarsel hér",
   "confirmation_modal.cancel": "Afbryd",
   "confirmations.block.block_and_report": "Blokér og Anmeld",
   "confirmations.block.confirm": "Blokér",
-  "confirmations.block.message": "Er du sikker på, du vil blokere {name}?",
+  "confirmations.block.message": "Sikker på, at du vil blokere {name}?",
   "confirmations.delete.confirm": "Slet",
-  "confirmations.delete.message": "Er du sikker på, at du vil slette indlægget?",
+  "confirmations.delete.message": "Sikker på, at du vil slette dette indlæg?",
   "confirmations.delete_list.confirm": "Slet",
   "confirmations.delete_list.message": "Sikker på, at du vil slette denne liste permanent?",
   "confirmations.discard_edit_media.confirm": "Kassér",
   "confirmations.discard_edit_media.message": "Der er ugemte ændringer i mediebeskrivelsen eller forhåndsvisningen, kassér dem alligevel?",
   "confirmations.domain_block.confirm": "Blokér hele domænet",
-  "confirmations.domain_block.message": "Er du helt sikker på, at du vil blokere hele {domain}-domænet? Oftest vil det være at foretrække istedet målrettet at blokere eller skjule nogle få brugere. Hvis du blokerer domænet, vil du ikke se indhold fra domænet på offentlige tidslinjer eller i dine notifikationer. Dine følgere fra domænet fjernes.",
+  "confirmations.domain_block.message": "Fuldstændig sikker på, at du vil blokere hele {domain}-domænet? Oftest vil nogle få målrettede blokeringer eller tavsgørelser være tilstrækkelige og at foretrække. Du vil ikke se indhold fra dette domæne i nogle offentlige tidslinjer eller i dine notifikationer, og dine følgere herfra fjernes ligeledes.",
   "confirmations.logout.confirm": "Log ud",
   "confirmations.logout.message": "Log ud, sikker?",
-  "confirmations.mute.confirm": "Skjul",
-  "confirmations.mute.explanation": "Dette skjuler indlæg fra (og om) dem, men de kan stadig se dine indlæg og følge dig.",
+  "confirmations.mute.confirm": "Tavsgør",
+  "confirmations.mute.explanation": "Dette skjuler indlæg fra (og om) dem, men lader dem fortsat se dine indlæg og følge dig.",
   "confirmations.mute.message": "Er du sikker på, du vil skjule {name}?",
-  "confirmations.redraft.confirm": "Slet og omskriv",
-  "confirmations.redraft.message": "Er du sikker på, at du vil slette og omskrive indlægget? Favoritter og fremhævelser går tabt og svar til det oprindelige indlæg afassocieres.",
+  "confirmations.redraft.confirm": "Slet og omformulér",
+  "confirmations.redraft.message": "Sikker på, at du vil slette dette indlæg for at omskrive det? Favoritter og boosts går tabt, og svar til det oprindelige indlæg afassocieres.",
   "confirmations.reply.confirm": "Svar",
   "confirmations.reply.message": "At svare nu vil overskrive den besked, du er ved at skrive. Fortsæt alligevel?",
   "confirmations.unfollow.confirm": "Følg ikke længere",
-  "confirmations.unfollow.message": "Er du sikker på, at du ikke vil følge {name}?",
+  "confirmations.unfollow.message": "Sikker på, at du ikke længere vil følge {name}?",
   "conversation.delete": "Slet samtale",
   "conversation.mark_as_read": "Markér som læst",
-  "conversation.open": "Vis samtale",
+  "conversation.open": "Vis konversation",
   "conversation.with": "Med {names}",
-  "directory.federated": "Fra kendt Fællesvers",
+  "directory.federated": "Fra kendt fedivers",
   "directory.local": "Kun fra {domain}",
   "directory.new_arrivals": "Nye ankomster",
-  "directory.recently_active": "Aktive for nyligt",
-  "embed.instructions": "Indlejr indlægget på din side ved at kopiere koden nedenfor.",
+  "directory.recently_active": "Nyligt aktive",
+  "embed.instructions": "Indlejr dette indlæg på dit websted ved at kopiere nedenstående kode.",
   "embed.preview": "Sådan kommer det til at se ud:",
   "emoji_button.activity": "Aktivitet",
   "emoji_button.custom": "Tilpasset",
@@ -151,38 +152,38 @@
   "emoji_button.food": "Mad og drikke",
   "emoji_button.label": "Indsæt emoji",
   "emoji_button.nature": "Natur",
-  "emoji_button.not_found": "Kunne ikke finde tilsvarende emojis",
+  "emoji_button.not_found": "Ingen matchende emojis fundet",
   "emoji_button.objects": "Objekter",
   "emoji_button.people": "Personer",
-  "emoji_button.recent": "De sædvanlige",
+  "emoji_button.recent": "Oftest brugt",
   "emoji_button.search": "Søg...",
   "emoji_button.search_results": "Søgeresultater",
   "emoji_button.symbols": "Symboler",
   "emoji_button.travel": "Rejser og steder",
   "empty_column.account_suspended": "Konto suspenderet",
-  "empty_column.account_timeline": "Ingen trut her!",
+  "empty_column.account_timeline": "Ingen indlæg hér!",
   "empty_column.account_unavailable": "Profil utilgængelig",
-  "empty_column.blocks": "Du har ikke blokeret nogen endnu.",
-  "empty_column.bookmarked_statuses": "Du har ingen indlæg med bogmærke endnu. Når du sætter et bogmærke, vil det dukke op hér.",
+  "empty_column.blocks": "Ingen brugere blokeret endnu.",
+  "empty_column.bookmarked_statuses": "Du har ingen bogmærkede indlæg endnu. Når du bogmærker ét, vil det dukke op hér.",
   "empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at sætte tingene i gang!",
-  "empty_column.direct": "Du har ingen direkte beskeder endnu. Hvis du sender eller modtager en, bliver den vist hér.",
-  "empty_column.domain_blocks": "Der er ingen skjulte domæner endnu.",
-  "empty_column.explore_statuses": "Intet nye tendensen pt. Tjek igen senere!",
-  "empty_column.favourited_statuses": "Du har ikke markeret nogle indlæg som favorit. Når du markerer ét, bliver det vist hér.",
-  "empty_column.favourites": "Ingen har markeret indlægget som favorit endnu. Hvis der er nogen der gør, bliver det vist hér.",
-  "empty_column.follow_recommendations": "Det ser ud til, at der ikke kunne blive lavet forslag til dig. Du kan prøve med Søg for at finde personer, du kender, eller udforske hashtags.",
-  "empty_column.follow_requests": "Du har ingen følgeanmodninger endnu. Hvis du modtager en, bliver den vist her.",
-  "empty_column.hashtag": "Der er ingen indlæg med hashtagget endnu.",
-  "empty_column.home": "Din hjemmetidslinje er tom! Besøg {public} eller brug søgningen for at komme igang og møde andre brugere.",
-  "empty_column.home.suggestions": "Se nogle foreslag",
+  "empty_column.direct": "Du har endnu ingen direkte beskeder. Når du sender eller modtager én, vil den dukke op hér.",
+  "empty_column.domain_blocks": "Ingen blokerede domæner endnu.",
+  "empty_column.explore_statuses": "Ingen nye tendensen pt. Tjek igen senere!",
+  "empty_column.favourited_statuses": "Du har endnu ingen favoritindlæg. Når du favoritmarkerer ét, vil det dukke op hér.",
+  "empty_column.favourites": "Ingen har endnu gjort dette indlæg til favorit. Når nogen gør dét, vil det dukke op hér.",
+  "empty_column.follow_recommendations": "Ser ud til, at der ikke kunne genereres forslag til dig. Du kan prøve med Søg for at lede efter personer, du måske kender, eller udforske hashtags.",
+  "empty_column.follow_requests": "Du har endnu ingen følgeanmodninger. Når du modtager én, vil den dukke op hér.",
+  "empty_column.hashtag": "Der er intet med dette hashtag endnu.",
+  "empty_column.home": "Din hjemmetidslinje er tom! Følg nogle personer, for at udfylde den. {suggestions}",
+  "empty_column.home.suggestions": "Se nogle forslag",
   "empty_column.list": "Der er ikke noget på denne liste endnu. Når medlemmer af listen udgiver nye indlæg vil de fremgå hér.",
   "empty_column.lists": "Du har endnu ingen lister. Når du opretter én, vil den fremgå hér.",
   "empty_column.mutes": "Du har endnu ikke tystnet nogle brugere.",
-  "empty_column.notifications": "Du har ingen notifikationer. Hvis andre interagerer med dig, bliver det vist her.",
+  "empty_column.notifications": "Du har endnu ingen notifikationer. Når andre interagerer med dig, vil det fremgå hér.",
   "empty_column.public": "Der er intet hér! Skriv noget offentligt eller følg manuelt brugere fra andre servere for at se indhold",
   "error.unexpected_crash.explanation": "Grundet en fejl i vores kode, eller en browser-kompatibilitetsfejl, kunne siden ikke vises korrekt.",
   "error.unexpected_crash.explanation_addons": "Denne side kunne ikke vises korrekt. Fejlen skyldes sandsynligvis en browsertilføjelse eller automatiske oversættelsesværktøjer.",
-  "error.unexpected_crash.next_steps": "Prøv at genindlæs siden. Hvis dette ikke hjælper, så forsøg venligst, at tilgå Mastodon via en anden browser eller app.",
+  "error.unexpected_crash.next_steps": "Prøv at opfriske siden. Hjælper dette ikke, kan Mastodon muligvis stadig bruges via en anden browser eller app.",
   "error.unexpected_crash.next_steps_addons": "Prøv at deaktivere dem og genindlæse siden. Hvis det ikke hjælper, kan Mastodon muligvis stadig bruges via en anden browser eller app.",
   "errors.unexpected_crash.copy_stacktrace": "Kopiér stacktrace til udklipsholderen",
   "errors.unexpected_crash.report_issue": "Anmeld problem",
@@ -194,13 +195,13 @@
   "explore.trending_tags": "Hashtags",
   "follow_recommendations.done": "Udført",
   "follow_recommendations.heading": "Følg personer du gerne vil se indlæg fra! Her er nogle forslag.",
-  "follow_recommendations.lead": "Indlæg, fra personer du følger, vises i kronologisk rækkefølge i hjemmetidslinjen. Bare prøv dig frem med hvem du følger her. Du kan altid vælge om igen!",
+  "follow_recommendations.lead": "Indlæg, fra personer du følger, vil fremgå kronologisk ordnet i dit hjemmefeed. Vær ikke bange for at begå fejl, da du altid og meget nemt kan ændre dit valg!",
   "follow_request.authorize": "Godkend",
   "follow_request.reject": "Afvis",
   "follow_requests.unlocked_explanation": "Selvom din konto ikke er låst, antog {domain}-personalet, at du måske vil gennemgå dine anmodninger manuelt.",
   "generic.saved": "Gemt",
   "getting_started.developers": "Udviklere",
-  "getting_started.directory": "Profilliste",
+  "getting_started.directory": "Profilmappe",
   "getting_started.documentation": "Dokumentation",
   "getting_started.heading": "Startmenu",
   "getting_started.invite": "Invitér folk",
@@ -212,52 +213,52 @@
   "hashtag.column_header.tag_mode.none": "uden {additional}",
   "hashtag.column_settings.select.no_options_message": "Ingen forslag fundet",
   "hashtag.column_settings.select.placeholder": "Angiv hashtags…",
-  "hashtag.column_settings.tag_mode.all": "Allesammen",
+  "hashtag.column_settings.tag_mode.all": "Alle disse",
   "hashtag.column_settings.tag_mode.any": "Nogle af disse",
   "hashtag.column_settings.tag_mode.none": "Ingen af disse",
   "hashtag.column_settings.tag_toggle": "Inkludér ekstra tags for denne kolonne",
   "home.column_settings.basic": "Grundlæggende",
-  "home.column_settings.show_reblogs": "Vis fremhævelser",
+  "home.column_settings.show_reblogs": "Vis boosts",
   "home.column_settings.show_replies": "Vis svar",
   "home.hide_announcements": "Skjul bekendtgørelser",
   "home.show_announcements": "Vis bekendtgørelser",
   "intervals.full.days": "{number, plural, one {# dag} other {# dage}}",
   "intervals.full.hours": "{number, plural, one {# time} other {# timer}}",
   "intervals.full.minutes": "{number, plural, one {# minut} other {# minutter}}",
-  "keyboard_shortcuts.back": "for at navigere tilbage",
-  "keyboard_shortcuts.blocked": "Vis listen over blokerede brugere",
-  "keyboard_shortcuts.boost": "Fremhæv indlæg",
-  "keyboard_shortcuts.column": "for at fokusere et trut i en af kolonnerne",
-  "keyboard_shortcuts.compose": "for at fokusere på skriveområdet",
+  "keyboard_shortcuts.back": "Gå tilbage",
+  "keyboard_shortcuts.blocked": "Åbn Blokerede brugere-listen",
+  "keyboard_shortcuts.boost": "Boost indlæg",
+  "keyboard_shortcuts.column": "Fokusér kolonne",
+  "keyboard_shortcuts.compose": "Fokusér skriveområdet",
   "keyboard_shortcuts.description": "Beskrivelse",
-  "keyboard_shortcuts.direct": "Åben kolonnen med direkte beskeder",
-  "keyboard_shortcuts.down": "for at rykke nedad på listen",
-  "keyboard_shortcuts.enter": "Åben indlæg",
-  "keyboard_shortcuts.favourite": "Markér som favorit",
-  "keyboard_shortcuts.favourites": "for at åbne favoritlisten",
-  "keyboard_shortcuts.federated": "Åben den fælles tidslinje",
+  "keyboard_shortcuts.direct": "Åbn Direkte beskeder-kolonnen",
+  "keyboard_shortcuts.down": "Flyt nedad på listen",
+  "keyboard_shortcuts.enter": "Åbn indlæg",
+  "keyboard_shortcuts.favourite": "Favoritmarkér indlæg",
+  "keyboard_shortcuts.favourites": "Åbn favoritlisten",
+  "keyboard_shortcuts.federated": "Åbn fælles tidslinje",
   "keyboard_shortcuts.heading": "Tastaturgenveje",
-  "keyboard_shortcuts.home": "for at åbne hjemmetidslinjen",
+  "keyboard_shortcuts.home": "Åbn hjemmetidslinje",
   "keyboard_shortcuts.hotkey": "Hurtigtast",
-  "keyboard_shortcuts.legend": "for at vise dette symbol",
-  "keyboard_shortcuts.local": "for at åbne den lokale tidslinje",
-  "keyboard_shortcuts.mention": "for at nævne forfatteren",
-  "keyboard_shortcuts.muted": "for at åbne listen over tavsgjorte brugere",
-  "keyboard_shortcuts.my_profile": "for at åbne din profil",
+  "keyboard_shortcuts.legend": "Vis dette symbol",
+  "keyboard_shortcuts.local": "Åbn lokal tidslinje",
+  "keyboard_shortcuts.mention": "Nævn forfatter",
+  "keyboard_shortcuts.muted": "Åbn listen over tavsgjorte brugere",
+  "keyboard_shortcuts.my_profile": "Åbn din profil",
   "keyboard_shortcuts.notifications": "for at åbne notifikationskolonnen",
-  "keyboard_shortcuts.open_media": "for at åbne medier",
-  "keyboard_shortcuts.pinned": "Åben listen over fastgjorte indlæg",
-  "keyboard_shortcuts.profile": "for at åbne forfatterens profil",
-  "keyboard_shortcuts.reply": "for at besvare",
-  "keyboard_shortcuts.requests": "Åben listen over følgeanmodninger",
-  "keyboard_shortcuts.search": "for at fokusere søgningen",
-  "keyboard_shortcuts.spoilers": "for at vise/skjule CW-felt",
-  "keyboard_shortcuts.start": "for at åbne \"komme i gang\"-kolonnen",
-  "keyboard_shortcuts.toggle_hidden": "for at vise/skjule tekst bag CW",
-  "keyboard_shortcuts.toggle_sensitivity": "for at vise/skjule medier",
-  "keyboard_shortcuts.toot": "for at påbegynde et helt nyt indlæg",
-  "keyboard_shortcuts.unfocus": "for at fjerne fokus fra skriveområde/søgning",
-  "keyboard_shortcuts.up": "for at bevæge sig opad på listen",
+  "keyboard_shortcuts.open_media": "Åbn medier",
+  "keyboard_shortcuts.pinned": "Åbn liste over fastgjorte indlæg",
+  "keyboard_shortcuts.profile": "Åbn forfatters profil",
+  "keyboard_shortcuts.reply": "Besvar indlægget",
+  "keyboard_shortcuts.requests": "Åbn liste over følgeanmodninger",
+  "keyboard_shortcuts.search": "Fokusér søgebjælke",
+  "keyboard_shortcuts.spoilers": "Vis/skjul CW-felt",
+  "keyboard_shortcuts.start": "Åbn \"komme i gang\"-kolonne",
+  "keyboard_shortcuts.toggle_hidden": "Vis/skjul tekst bag CW",
+  "keyboard_shortcuts.toggle_sensitivity": "Vis/skjul medier",
+  "keyboard_shortcuts.toot": "Påbegynd nyt indlæg",
+  "keyboard_shortcuts.unfocus": "Fjern fokus fra teksskrivningsområde/søgning",
+  "keyboard_shortcuts.up": "Flyt opad på listen",
   "lightbox.close": "Luk",
   "lightbox.compress": "Komprimér billedvisningsfelt",
   "lightbox.expand": "Udvid billedevisningsfelt",
@@ -270,21 +271,21 @@
   "lists.edit.submit": "Skift titel",
   "lists.new.create": "Tilføj liste",
   "lists.new.title_placeholder": "Ny listetitel",
-  "lists.replies_policy.followed": "Enhver fulgt bruger",
-  "lists.replies_policy.list": "Medlemmer af listen",
+  "lists.replies_policy.followed": "Enhver bruger, der følges",
+  "lists.replies_policy.list": "Listemedlemmer",
   "lists.replies_policy.none": "Ingen",
   "lists.replies_policy.title": "Vis svar til:",
-  "lists.search": "Søg blandt personer, du følger",
+  "lists.search": "Søg blandt personer, som følges",
   "lists.subheading": "Dine lister",
-  "load_pending": "{count, plural, one {# nyt punkt} other {# nye punkter}}",
+  "load_pending": "{count, plural, one {# nyt emne} other {# nye emner}}",
   "loading_indicator.label": "Indlæser...",
-  "media_gallery.toggle_visible": "Skjul {number, plural, one {billede} other {billeder}}",
+  "media_gallery.toggle_visible": "{number, plural, one {Skjul billede} other {Skjul billeder}}",
   "missing_indicator.label": "Ikke fundet",
   "missing_indicator.sublabel": "Denne ressource kunne ikke findes",
   "mute_modal.duration": "Varighed",
-  "mute_modal.hide_notifications": "Skjul notifikationer fra brugeren?",
+  "mute_modal.hide_notifications": "Skjul notifikationer fra denne bruger?",
   "mute_modal.indefinite": "Tidsubegrænset",
-  "navigation_bar.apps": "Apps til mobilen",
+  "navigation_bar.apps": "Mobil-apps",
   "navigation_bar.blocks": "Blokerede brugere",
   "navigation_bar.bookmarks": "Bogmærker",
   "navigation_bar.community_timeline": "Lokal tidslinje",
@@ -293,34 +294,35 @@
   "navigation_bar.discover": "Opdag",
   "navigation_bar.domain_blocks": "Blokerede domæner",
   "navigation_bar.edit_profile": "Redigér profil",
+  "navigation_bar.explore": "Udforsk",
   "navigation_bar.favourites": "Favoritter",
-  "navigation_bar.filters": "Tystnede ord",
+  "navigation_bar.filters": "Tavsgjorte ord",
   "navigation_bar.follow_requests": "Følgeanmodninger",
   "navigation_bar.follows_and_followers": "Følges og følgere",
   "navigation_bar.info": "Om denne server",
-  "navigation_bar.keyboard_shortcuts": "Hurtigtaster",
+  "navigation_bar.keyboard_shortcuts": "Genvejstaster",
   "navigation_bar.lists": "Lister",
   "navigation_bar.logout": "Log af",
-  "navigation_bar.mutes": "Tystnede brugere",
+  "navigation_bar.mutes": "Tavsgjorte brugere",
   "navigation_bar.personal": "Personlig",
   "navigation_bar.pins": "Fastgjorte indlæg",
   "navigation_bar.preferences": "Præferencer",
   "navigation_bar.public_timeline": "Fælles tidslinje",
   "navigation_bar.security": "Sikkerhed",
   "notification.admin.sign_up": "{name} tilmeldte sig",
-  "notification.favourite": "{name} favoriserede dit trut",
-  "notification.follow": "{name} fulgte dig",
+  "notification.favourite": "{name} favoritmarkerede dit indlæg",
+  "notification.follow": "{name} begyndte at følge dig",
   "notification.follow_request": "{name} har anmodet om at følge dig",
   "notification.mention": "{name} nævnte dig",
   "notification.own_poll": "Din afstemning er afsluttet",
-  "notification.poll": "En afstemning, du deltog i, er færdig",
-  "notification.reblog": "{name} fremhævede dit indlæg",
-  "notification.status": "{name} har netop udgivet",
+  "notification.poll": "En afstemning, hvori du stemte, er slut",
+  "notification.reblog": "{name} boostede dit indlæg",
+  "notification.status": "{name} har netop postet",
   "notification.update": "{name} redigerede et indlæg",
   "notifications.clear": "Ryd notifikationer",
-  "notifications.clear_confirmation": "Er du sikker på, du vil rydde alle dine notifikationer permanent?",
+  "notifications.clear_confirmation": "Sikker på, at du vil rydde alle dine notifikationer permanent?",
   "notifications.column_settings.admin.sign_up": "Nye tilmeldinger:",
-  "notifications.column_settings.alert": "Skrivebordsnotifikationer",
+  "notifications.column_settings.alert": "Computernotifikationer",
   "notifications.column_settings.favourite": "Favoritter:",
   "notifications.column_settings.filter_bar.advanced": "Vis alle kategorier",
   "notifications.column_settings.filter_bar.category": "Hurtigfilterbjælke",
@@ -329,8 +331,8 @@
   "notifications.column_settings.follow_request": "Nye følgeanmodninger:",
   "notifications.column_settings.mention": "Omtaler:",
   "notifications.column_settings.poll": "Afstemningsresultater:",
-  "notifications.column_settings.push": "Pushnotifikationer",
-  "notifications.column_settings.reblog": "Fremhævelser:",
+  "notifications.column_settings.push": "Push-notifikationer",
+  "notifications.column_settings.reblog": "Boosts:",
   "notifications.column_settings.show": "Vis i kolonne",
   "notifications.column_settings.sound": "Afspil lyd",
   "notifications.column_settings.status": "Nye indlæg:",
@@ -338,7 +340,7 @@
   "notifications.column_settings.unread_notifications.highlight": "Fremhæv ulæste notifikationer",
   "notifications.column_settings.update": "Redigeringer:",
   "notifications.filter.all": "Alle",
-  "notifications.filter.boosts": "Fremhævelser",
+  "notifications.filter.boosts": "Boosts",
   "notifications.filter.favourites": "Favoritter",
   "notifications.filter.follows": "Følger",
   "notifications.filter.mentions": "Omtaler",
@@ -347,13 +349,13 @@
   "notifications.grant_permission": "Tildel tilladelse.",
   "notifications.group": "{count} notifikationer",
   "notifications.mark_as_read": "Markér alle notifikationer som læst",
-  "notifications.permission_denied": "Skrivebordsnotifikationer er utilgængelige grundet tidligere afvist browsertilladelsesanmodning",
-  "notifications.permission_denied_alert": "Skrivebordsnotifikationer kan ikke aktiveres, da browsertilladelse er blevet nægtet før",
-  "notifications.permission_required": "Skrivebordsnotifikationer er utilgængelige, da den krævede tilladelse ikke er tildelt.",
-  "notifications_permission_banner.enable": "Aktivér skrivebordsnotifikationer",
-  "notifications_permission_banner.how_to_control": "Aktivér skrivebordsnotifikationer for at modtage notifikationer, når Mastodon ikke er åben. Du kan styre, præcist hvilke typer af interaktioner, som genererer skrivebordsnotifikationer via knappen {icon} ovenfor, når de er aktiveret.",
+  "notifications.permission_denied": "Computernotifikationer er utilgængelige grundet tidligere afvist browsertilladelsesanmodning",
+  "notifications.permission_denied_alert": "Computernotifikationer kan ikke aktiveres, da browsertilladelse tidligere blev nægtet",
+  "notifications.permission_required": "Computernotifikationer er utilgængelige, da den krævede tilladelse ikke er tildelt.",
+  "notifications_permission_banner.enable": "Aktivér computernotifikationer",
+  "notifications_permission_banner.how_to_control": "Aktivér computernotifikationer for at få besked, når Mastodon ikke er åben. Når de er aktiveret, kan man via knappen {icon} ovenfor præcist styre, hvilke typer af interaktioner, som genererer computernotifikationer.",
   "notifications_permission_banner.title": "Gå aldrig glip af noget",
-  "picture_in_picture.restore": "Sæt det tilbage",
+  "picture_in_picture.restore": "Indsæt det igen",
   "poll.closed": "Lukket",
   "poll.refresh": "Opdatér",
   "poll.total_people": "{count, plural, one {# person} other {# personer}}",
@@ -363,14 +365,14 @@
   "poll.votes": "{votes, plural, one {# stemme} other {# stemmer}}",
   "poll_button.add_poll": "Tilføj en afstemning",
   "poll_button.remove_poll": "Fjern afstemning",
-  "privacy.change": "Justér fortrolighed",
+  "privacy.change": "Justér indlægsfortrolighed",
   "privacy.direct.long": "Kun synlig for nævnte brugere",
   "privacy.direct.short": "Direkte",
   "privacy.private.long": "Kun synlig for følgere",
   "privacy.private.short": "Kun for følgere",
-  "privacy.public.long": "Synlig for alle og vises på offentlige tidslinjer",
+  "privacy.public.long": "Synlig for alle, fremgår på offentlige tidslinjer",
   "privacy.public.short": "Offentlig",
-  "privacy.unlisted.long": "Synlig for alle, men vises ikke på offentlige tidslinjer",
+  "privacy.unlisted.long": "Synlig for alle, fremgår ikke på offentlige tidslinjer",
   "privacy.unlisted.short": "Diskret",
   "refresh": "Genindlæs",
   "regeneration_indicator.label": "Indlæser…",
@@ -397,11 +399,11 @@
   "report.category.title_account": "profil",
   "report.category.title_status": "indlæg",
   "report.close": "Udført",
-  "report.comment.title": "Findes der noget andet, som vi burde vide?",
+  "report.comment.title": "Er der andet, som vi bør vide?",
   "report.forward": "Videresend til {target}",
-  "report.forward_hint": "Kontoen er fra en anden server. Send en anonymiseret kopi af anmeldelsen dertil også?",
+  "report.forward_hint": "Kontoen er fra en anden server. Send også en anonymiseret anmeldelseskopi dertil?",
   "report.mute": "Tavsgør",
-  "report.mute_explanation": "Du vil ikke se vedkommendes indlæg, men vedkommende kan stadig se dine/følge dig. Vedkommende vil ikke være bekendt med tavsgørelsen.",
+  "report.mute_explanation": "Du vil ikke se vedkommendes indlæg, men vedkommende kan stadig se dine og følge dig. Vedkommende vil ikke være bekendt med tavsgørelsen.",
   "report.next": "Næste",
   "report.placeholder": "Yderligere kommentarer",
   "report.reasons.dislike": "Synes ikke om den/dem",
@@ -413,20 +415,20 @@
   "report.reasons.violation": "Overtræder serverregler",
   "report.reasons.violation_description": "Det står klart, at det bryder bestemte regler",
   "report.rules.subtitle": "Vælg alle relevante",
-  "report.rules.title": "Hvilke regler brydes?",
+  "report.rules.title": "Hvilke regler overtrædes?",
   "report.statuses.subtitle": "Vælg alle relevante",
   "report.statuses.title": "Er der indlæg, som kan bekræfte denne anmeldelse?",
   "report.submit": "Indsend",
   "report.target": "Anmelder {target}",
-  "report.thanks.take_action": "Her er mulighederne styring af, hvad man ses på Mastodon:",
+  "report.thanks.take_action": "Dette er mulighederne for styring af, hvad man ses på Mastodon:",
   "report.thanks.take_action_actionable": "Mens dette gennemgås, kan der skrides til handling mod @{name}:",
   "report.thanks.title": "Ønsker ikke at se dette?",
-  "report.thanks.title_actionable": "Tak for anmeldelsen, der vil set nærmere på dette.",
+  "report.thanks.title_actionable": "Tak for anmeldelsen, der vil blive set nærmere på dette.",
   "report.unfollow": "Følg ikke længere @{name}",
-  "report.unfollow_explanation": "Denne konto følges. For at ophøre medat se vedkommendes indlæg i hjemmefeedet, vælg Følg ikke længere.",
+  "report.unfollow_explanation": "Denne konto følges. For at ophøre med at se vedkommendes indlæg på hjemmetidslinjen, vælg Følg ikke længere.",
   "search.placeholder": "Søg",
   "search_popout.search_format": "Avanceret søgeformat",
-  "search_popout.tips.full_text": "Simpel tekst returnerer trut, du har skrevet, favoriseret, fremhævede eller som er nævnt i/matcher bruger- og profilnavne samt hashtags.",
+  "search_popout.tips.full_text": "Simpel tekst returnerer indlæg, du har skrevet, favoritmarkeret, boostet eller som er nævnt i/matcher bruger- og profilnavne samt hashtags.",
   "search_popout.tips.hashtag": "hashtag",
   "search_popout.tips.status": "indlæg",
   "search_popout.tips.text": "Simpel tekst returnerer matchende visnings- og brugernavne samt hashtags",
@@ -436,15 +438,15 @@
   "search_results.hashtags": "Hashtags",
   "search_results.nothing_found": "Ingen resultater for disse søgeord",
   "search_results.statuses": "Indlæg",
-  "search_results.statuses_fts_disabled": "På denne Mastodon-server er trutsøgning efter deres indhold ikke aktiveret.",
+  "search_results.statuses_fts_disabled": "Søgning på indlæg efter deres indhold ikke aktiveret på denne Mastodon-server.",
   "search_results.total": "{count, number} {count, plural, one {resultat} other {resultater}}",
   "status.admin_account": "Åbn modereringsbrugerflade for @{name}",
-  "status.admin_status": "Åbn dette trut i modereringsbrugerflade",
+  "status.admin_status": "Åbn dette indlæg i modereringsbrugerfladen",
   "status.block": "Blokér @{name}",
-  "status.bookmark": "Tilføj bogmærke",
+  "status.bookmark": "Bogmærk",
   "status.cancel_reblog_private": "Fjern fremhævning",
-  "status.cannot_reblog": "Indlægget kan ikke fremhæves",
-  "status.copy": "Kopiér link til trut",
+  "status.cannot_reblog": "Dette indlæg kan ikke boostes",
+  "status.copy": "Kopiér link til indlæg",
   "status.delete": "Slet",
   "status.detailed_status": "Detaljeret samtalevisning",
   "status.direct": "Direkte besked til @{name}",
@@ -460,20 +462,20 @@
   "status.media_hidden": "Medie skjult",
   "status.mention": "Nævn @{name}",
   "status.more": "Mere",
-  "status.mute": "Skjul @{name}",
-  "status.mute_conversation": "Skjul samtale",
-  "status.open": "Udvid indlægget",
+  "status.mute": "Tystn @{name}",
+  "status.mute_conversation": "Tystn samtale",
+  "status.open": "Udvid dette indlæg",
   "status.pin": "Fastgør til profil",
-  "status.pinned": "Fastgjort trut",
+  "status.pinned": "Fastgjort indlæg",
   "status.read_more": "Læs mere",
   "status.reblog": "Fremhæv",
-  "status.reblog_private": "Fremhæv med oprindelig synlighed",
-  "status.reblogged_by": "{name} fremhævet",
-  "status.reblogs.empty": "Ingen har fremhævet indlægget endnu. Når nogen gør, vil det fremgå hér.",
-  "status.redraft": "Slet og omskriv",
+  "status.reblog_private": "Boost med oprindelig synlighed",
+  "status.reblogged_by": "{name} boostede",
+  "status.reblogs.empty": "Ingen har endnu boostet dette indlæg. Når nogen gør, vil det fremgå hér.",
+  "status.redraft": "Slet og omformulér",
   "status.remove_bookmark": "Fjern bogmærke",
   "status.reply": "Besvar",
-  "status.replyAll": "Svar på tråd",
+  "status.replyAll": "Besvar alle",
   "status.report": "Anmeld @{name}",
   "status.sensitive_warning": "Følsomt indhold",
   "status.share": "Del",
@@ -495,7 +497,7 @@
   "time_remaining.days": "{number, plural, one {# dag} other {# dage}} tilbage",
   "time_remaining.hours": "{number, plural, one {# time} other {# timer}} tilbage",
   "time_remaining.minutes": "{number, plural, one {# minut} other {# minutter}} tilbage",
-  "time_remaining.moments": "Et øjeblik tilbage",
+  "time_remaining.moments": "Få øjeblikke tilbage",
   "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} tilbage",
   "timeline_hint.remote_resource_not_displayed": "{resource} fra andre servere vises ikke.",
   "timeline_hint.resources.followers": "Følgere",
@@ -504,24 +506,24 @@
   "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} personer}} taler",
   "trends.trending_now": "Hot lige nu",
   "ui.beforeunload": "Dit udkast går tabt, hvis du lukker Mastodon.",
-  "units.short.billion": "{count}G",
-  "units.short.million": "{count}M",
-  "units.short.thousand": "{count}k",
+  "units.short.billion": "{count} MIA",
+  "units.short.million": "{count} M",
+  "units.short.thousand": "{count} K",
   "upload_area.title": "Træk og slip for at uploade",
-  "upload_button.label": "Tilføj billeder, en video- eller lydfil",
+  "upload_button.label": "Tilføj billed-, video- eller lydfil(er)",
   "upload_error.limit": "Grænse for filupload nået.",
   "upload_error.poll": "Filupload ikke tilladt for afstemninger.",
   "upload_form.audio_description": "Beskrivelse til hørehæmmede",
   "upload_form.description": "Beskrivelse til svagtseende",
   "upload_form.edit": "Redigér",
-  "upload_form.thumbnail": "Skift miniaturer",
+  "upload_form.thumbnail": "Skift miniature",
   "upload_form.undo": "Slet",
   "upload_form.video_description": "Beskrivelse for hørehæmmede eller synshandicappede personer",
   "upload_modal.analyzing_picture": "Analyserer billede…",
   "upload_modal.apply": "Anvend",
   "upload_modal.applying": "Effektuerer…",
   "upload_modal.choose_image": "Vælg billede",
-  "upload_modal.description_placeholder": "Høj bly gom vandt fræk sexquiz på wc",
+  "upload_modal.description_placeholder": "En hurtig brun ræv hopper over den dovne hund",
   "upload_modal.detect_text": "Detektér tekst i billede",
   "upload_modal.edit_media": "Redigér medie",
   "upload_modal.hint": "Klik eller træk cirklen i forhåndsvisningen for at vælge det fokuspunkt, der altid vil være synligt på alle miniaturer.",
@@ -534,8 +536,8 @@
   "video.expand": "Udvid video",
   "video.fullscreen": "Fuldskærm",
   "video.hide": "Skjul video",
-  "video.mute": "Sluk lyden",
-  "video.pause": "Sæt på pause",
+  "video.mute": "Tavsgør lyd",
+  "video.pause": "Pausér",
   "video.play": "Afspil",
-  "video.unmute": "Tænd for lyden"
+  "video.unmute": "Fjern lydtavsgørelse"
 }
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index 5c5618962..1178c0260 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -18,12 +18,12 @@
   "account.followers": "Follower",
   "account.followers.empty": "Diesem Profil folgt noch niemand.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Follower}}",
+  "account.following": "Folgt",
   "account.following_counter": "{count, plural, one {{counter} Folgender} other {{counter} Folgende}}",
   "account.follows.empty": "Dieses Profil folgt noch niemandem.",
   "account.follows_you": "Folgt dir",
   "account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen",
   "account.joined": "Beigetreten am {date}",
-  "account.last_status": "Zuletzt aktiv",
   "account.link_verified_on": "Besitz dieses Links wurde geprüft am {date}",
   "account.locked_info": "Der Privatsphärenstatus dieses Accounts wurde auf gesperrt gesetzt. Die Person bestimmt manuell wer ihm/ihr folgen darf.",
   "account.media": "Medien",
@@ -32,7 +32,6 @@
   "account.mute": "@{name} stummschalten",
   "account.mute_notifications": "Benachrichtigungen von @{name} stummschalten",
   "account.muted": "Stummgeschaltet",
-  "account.never_active": "Nie",
   "account.posts": "Beiträge",
   "account.posts_with_replies": "Beiträge und Antworten",
   "account.report": "@{name} melden",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Beitrag} other {{counter} Beiträge}}",
   "account.unblock": "@{name} entblocken",
   "account.unblock_domain": "{domain} wieder anzeigen",
+  "account.unblock_short": "Blockierung aufheben",
   "account.unendorse": "Nicht auf Profil hervorheben",
   "account.unfollow": "Entfolgen",
   "account.unmute": "@{name} nicht mehr stummschalten",
   "account.unmute_notifications": "Benachrichtigungen von @{name} einschalten",
+  "account.unmute_short": "Nicht mehr stummschalten",
   "account_note.placeholder": "Notiz durch Klicken hinzufügen",
   "admin.dashboard.daily_retention": "Benutzerverbleibrate nach Tag nach Anmeldung",
   "admin.dashboard.monthly_retention": "Benutzerverbleibrate nach Monat nach Anmeldung",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Entdecken",
   "navigation_bar.domain_blocks": "Versteckte Domains",
   "navigation_bar.edit_profile": "Profil bearbeiten",
+  "navigation_bar.explore": "Entdecken",
   "navigation_bar.favourites": "Favoriten",
   "navigation_bar.filters": "Stummgeschaltene Wörter",
   "navigation_bar.follow_requests": "Folgeanfragen",
diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json
index 42e84d9b8..4b6aef7b0 100644
--- a/app/javascript/mastodon/locales/defaultMessages.json
+++ b/app/javascript/mastodon/locales/defaultMessages.json
@@ -1625,30 +1625,38 @@
   {
     "descriptors": [
       {
+        "defaultMessage": "Unfollow",
+        "id": "account.unfollow"
+      },
+      {
         "defaultMessage": "Follow",
         "id": "account.follow"
       },
       {
-        "defaultMessage": "Unfollow",
-        "id": "account.unfollow"
+        "defaultMessage": "Cancel follow request",
+        "id": "account.cancel_follow_request"
       },
       {
-        "defaultMessage": "Awaiting approval",
+        "defaultMessage": "Awaiting approval. Click to cancel follow request",
         "id": "account.requested"
       },
       {
-        "defaultMessage": "Unblock @{name}",
-        "id": "account.unblock"
+        "defaultMessage": "Unblock",
+        "id": "account.unblock_short"
       },
       {
-        "defaultMessage": "Unmute @{name}",
-        "id": "account.unmute"
+        "defaultMessage": "Unmute",
+        "id": "account.unmute_short"
       },
       {
         "defaultMessage": "Unfollow",
         "id": "confirmations.unfollow.confirm"
       },
       {
+        "defaultMessage": "Edit profile",
+        "id": "account.edit_profile"
+      },
+      {
         "defaultMessage": "Are you sure you want to unfollow {name}?",
         "id": "confirmations.unfollow.message"
       },
@@ -1661,12 +1669,8 @@
         "id": "account.followers"
       },
       {
-        "defaultMessage": "Never",
-        "id": "account.never_active"
-      },
-      {
-        "defaultMessage": "Last active",
-        "id": "account.last_status"
+        "defaultMessage": "Following",
+        "id": "account.following"
       }
     ],
     "path": "app/javascript/mastodon/features/directory/components/account_card.json"
@@ -1953,6 +1957,10 @@
         "id": "navigation_bar.community_timeline"
       },
       {
+        "defaultMessage": "Explore",
+        "id": "navigation_bar.explore"
+      },
+      {
         "defaultMessage": "Direct messages",
         "id": "navigation_bar.direct"
       },
@@ -2007,10 +2015,6 @@
       {
         "defaultMessage": "Getting started",
         "id": "getting_started.heading"
-      },
-      {
-        "defaultMessage": "Profile directory",
-        "id": "getting_started.directory"
       }
     ],
     "path": "app/javascript/mastodon/features/getting_started/index.json"
@@ -2742,7 +2746,7 @@
         "id": "report.reasons.spam"
       },
       {
-        "defaultMessage": "Malicious links, fake engagement, or repetetive replies",
+        "defaultMessage": "Malicious links, fake engagement, or repetitive replies",
         "id": "report.reasons.spam_description"
       },
       {
@@ -3403,6 +3407,10 @@
         "id": "navigation_bar.info"
       },
       {
+        "defaultMessage": "Profile directory",
+        "id": "getting_started.directory"
+      },
+      {
         "defaultMessage": "Mobile apps",
         "id": "navigation_bar.apps"
       },
@@ -3530,10 +3538,6 @@
         "id": "navigation_bar.lists"
       },
       {
-        "defaultMessage": "Profile directory",
-        "id": "getting_started.directory"
-      },
-      {
         "defaultMessage": "Preferences",
         "id": "navigation_bar.preferences"
       },
diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json
index 96fe6c609..3c797d47d 100644
--- a/app/javascript/mastodon/locales/el.json
+++ b/app/javascript/mastodon/locales/el.json
@@ -18,12 +18,12 @@
   "account.followers": "Ακόλουθοι",
   "account.followers.empty": "Κανείς δεν ακολουθεί αυτό τον χρήστη ακόμα.",
   "account.followers_counter": "{count, plural, one {{counter} Ακόλουθος} other {{counter} Ακόλουθοι}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, other {{counter} Ακολουθεί}}",
   "account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.",
   "account.follows_you": "Σε ακολουθεί",
   "account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}",
   "account.joined": "Μέλος από τις {date}",
-  "account.last_status": "Τελευταία δραστηριότητα",
   "account.link_verified_on": "Η ιδιοκτησία αυτού του συνδέσμου ελέχθηκε την {date}",
   "account.locked_info": "Η κατάσταση απορρήτου αυτού του λογαριασμού είναι κλειδωμένη. Ο ιδιοκτήτης επιβεβαιώνει χειροκίνητα ποιος μπορεί να τον ακολουθήσει.",
   "account.media": "Πολυμέσα",
@@ -32,7 +32,6 @@
   "account.mute": "Σώπασε @{name}",
   "account.mute_notifications": "Σώπασε τις ειδοποιήσεις από @{name}",
   "account.muted": "Αποσιωπημένος/η",
-  "account.never_active": "Ποτέ",
   "account.posts": "Τουτ",
   "account.posts_with_replies": "Τουτ και απαντήσεις",
   "account.report": "Κατάγγειλε @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Τουτ} other {{counter} Τουτ}}",
   "account.unblock": "Ξεμπλόκαρε @{name}",
   "account.unblock_domain": "Αποκάλυψε το {domain}",
+  "account.unblock_short": "Ξεμπλοκάρισμα",
   "account.unendorse": "Άνευ προβολής στο προφίλ",
   "account.unfollow": "Διακοπή παρακολούθησης",
   "account.unmute": "Διακοπή αποσιώπησης @{name}",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Ανακάλυψη",
   "navigation_bar.domain_blocks": "Κρυμμένοι τομείς",
   "navigation_bar.edit_profile": "Επεξεργασία προφίλ",
+  "navigation_bar.explore": "Εξερεύνηση",
   "navigation_bar.favourites": "Αγαπημένα",
   "navigation_bar.filters": "Αποσιωπημένες λέξεις",
   "navigation_bar.follow_requests": "Αιτήματα ακολούθησης",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index d520ccf5f..6b638c3ae 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -18,12 +18,12 @@
   "account.followers": "Followers",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Follows you",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "Posts",
   "account.posts_with_replies": "Posts and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Post} other {{counter} Posts}}",
   "account.unblock": "Unblock @{name}",
   "account.unblock_domain": "Unblock domain {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Unfollow",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -297,6 +298,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Blocked domains",
   "navigation_bar.edit_profile": "Edit profile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index 8ef35c03b..7f999c34f 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -18,21 +18,20 @@
   "account.followers": "Sekvantoj",
   "account.followers.empty": "Ankoraŭ neniu sekvas tiun uzanton.",
   "account.followers_counter": "{count, plural, one{{counter} Sekvanto} other {{counter} Sekvantoj}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Sekvato} other {{counter} Sekvatoj}}",
   "account.follows.empty": "Tiu uzanto ankoraŭ ne sekvas iun.",
   "account.follows_you": "Sekvas vin",
   "account.hide_reblogs": "Kaŝi diskonigojn de @{name}",
   "account.joined": "Kuniĝis {date}",
-  "account.last_status": "Laste aktiva",
   "account.link_verified_on": "La posedanto de tiu ligilo estis kontrolita je {date}",
   "account.locked_info": "La privateco de tiu konto estas elektita kiel fermita. La posedanto povas mane akcepti tiun, kiu povas sekvi rin.",
-  "account.media": "Amaskomunikiloj",
+  "account.media": "Aŭdovidaĵoj",
   "account.mention": "Mencii @{name}",
   "account.moved_to": "{name} moviĝis al:",
   "account.mute": "Silentigi @{name}",
   "account.mute_notifications": "Silentigi sciigojn de @{name}",
   "account.muted": "Silentigita",
-  "account.never_active": "Neniam",
   "account.posts": "Mesaĝoj",
   "account.posts_with_replies": "Kun respondoj",
   "account.report": "Signali @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Mesaĝo} other {{counter} Mesaĝoj}}",
   "account.unblock": "Malbloki @{name}",
   "account.unblock_domain": "Malbloki {domain}",
+  "account.unblock_short": "Malbloki",
   "account.unendorse": "Ne montri en profilo",
   "account.unfollow": "Ne plu sekvi",
   "account.unmute": "Malsilentigi @{name}",
   "account.unmute_notifications": "Malsilentigi sciigojn de @{name}",
+  "account.unmute_short": "Malsilentigi",
   "account_note.placeholder": "Alklaku por aldoni noton",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -105,7 +106,7 @@
   "compose_form.poll.switch_to_single": "Ŝanĝi la balotenketon por permesi unu solan elekton",
   "compose_form.publish": "Hup",
   "compose_form.publish_loud": "{publish}!",
-  "compose_form.save_changes": "Save changes",
+  "compose_form.save_changes": "Konservi ŝanĝojn",
   "compose_form.sensitive.hide": "Marki la aŭdovidaĵojn kiel tiklaj",
   "compose_form.sensitive.marked": "Aŭdovidaĵo markita tikla",
   "compose_form.sensitive.unmarked": "Aŭdovidaĵo ne markita tikla",
@@ -124,8 +125,8 @@
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Bloki la tutan domajnon",
   "confirmations.domain_block.message": "Ĉu vi vere, vere certas, ke vi volas tute bloki {domain}? Plej ofte, trafa blokado kaj silentigado sufiĉas kaj preferindas. Vi ne vidos enhavon de tiu domajno en publika templinio aŭ en viaj sciigoj. Viaj sekvantoj de tiu domajno estos forigitaj.",
-  "confirmations.logout.confirm": "Elsaluti",
-  "confirmations.logout.message": "Ĉu vi certas ke vi volas elsaluti?",
+  "confirmations.logout.confirm": "Adiaŭi",
+  "confirmations.logout.message": "Ĉu vi certas ke vi volas adiaŭi?",
   "confirmations.mute.confirm": "Silentigi",
   "confirmations.mute.explanation": "Ĉi-tio kaŝos mesaĝojn el ili kaj mesaĝojn kiuj mencias ilin, sed ili ankoraŭ rajtos vidi viajn mesaĝojn kaj sekvi vin.",
   "confirmations.mute.message": "Ĉu vi certas, ke vi volas silentigi {name}?",
@@ -186,12 +187,12 @@
   "error.unexpected_crash.next_steps_addons": "Provu malaktivigi ilin kaj tiam refreŝigi la paĝon. Se tio ne helpas, vi ankoraŭ povus uzi Mastodon per malsama retumilo aŭ operaciuma aplikajo.",
   "errors.unexpected_crash.copy_stacktrace": "Kopii stakspuron en tondujo",
   "errors.unexpected_crash.report_issue": "Raporti problemon",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.search_results": "Serĉaj rezultoj",
+  "explore.suggested_follows": "Por vi",
+  "explore.title": "Esplori",
+  "explore.trending_links": "Novaĵoj",
+  "explore.trending_statuses": "Afiŝoj",
+  "explore.trending_tags": "Kradvortoj",
   "follow_recommendations.done": "Farita",
   "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!",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Esplori",
   "navigation_bar.domain_blocks": "Blokitaj domajnoj",
   "navigation_bar.edit_profile": "Redakti profilon",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Stelumoj",
   "navigation_bar.filters": "Silentigitaj vortoj",
   "navigation_bar.follow_requests": "Petoj de sekvado",
@@ -300,14 +302,14 @@
   "navigation_bar.info": "Pri ĉi tiu servilo",
   "navigation_bar.keyboard_shortcuts": "Rapidklavoj",
   "navigation_bar.lists": "Listoj",
-  "navigation_bar.logout": "Elsaluti",
+  "navigation_bar.logout": "Adiaŭi",
   "navigation_bar.mutes": "Silentigitaj uzantoj",
   "navigation_bar.personal": "Persone",
   "navigation_bar.pins": "Alpinglitaj mesaĝoj",
   "navigation_bar.preferences": "Preferoj",
   "navigation_bar.public_timeline": "Fratara templinio",
   "navigation_bar.security": "Sekureco",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} registris",
   "notification.favourite": "{name} stelumis vian mesaĝon",
   "notification.follow": "{name} eksekvis vin",
   "notification.follow_request": "{name} petis sekvi vin",
@@ -316,7 +318,7 @@
   "notification.poll": "Partoprenita balotenketo finiĝis",
   "notification.reblog": "{name} diskonigis vian mesaĝon",
   "notification.status": "{name} ĵus afiŝita",
-  "notification.update": "{name} edited a post",
+  "notification.update": "{name} redaktis afiŝon",
   "notifications.clear": "Forviŝi sciigojn",
   "notifications.clear_confirmation": "Ĉu vi certas, ke vi volas porĉiame forviŝi ĉiujn viajn sciigojn?",
   "notifications.column_settings.admin.sign_up": "New sign-ups:",
@@ -336,7 +338,7 @@
   "notifications.column_settings.status": "Novaj mesaĝoj:",
   "notifications.column_settings.unread_notifications.category": "Nelegitaj sciigoj",
   "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
-  "notifications.column_settings.update": "Edits:",
+  "notifications.column_settings.update": "Redaktoj:",
   "notifications.filter.all": "Ĉiuj",
   "notifications.filter.boosts": "Diskonigoj",
   "notifications.filter.favourites": "Stelumoj",
@@ -378,7 +380,7 @@
   "relative_time.days": "{number}t",
   "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
   "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
-  "relative_time.full.just_now": "just now",
+  "relative_time.full.just_now": "ĵus nun",
   "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
   "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
   "relative_time.hours": "{number}h",
@@ -387,30 +389,30 @@
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hodiaŭ",
   "reply_indicator.cancel": "Nuligi",
-  "report.block": "Block",
+  "report.block": "Bloki",
   "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
-  "report.categories.other": "Other",
-  "report.categories.spam": "Spam",
+  "report.categories.other": "Aliaj",
+  "report.categories.spam": "Spamo",
   "report.categories.violation": "Content violates one or more server rules",
   "report.category.subtitle": "Choose the best match",
   "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
+  "report.category.title_account": "profilo",
+  "report.category.title_status": "afiŝo",
+  "report.close": "Farita",
   "report.comment.title": "Is there anything else you think we should know?",
   "report.forward": "Plusendi al {target}",
   "report.forward_hint": "La konto estas en alia servilo. Ĉu sendi sennomigitan kopion de la signalo ankaŭ tien?",
-  "report.mute": "Mute",
+  "report.mute": "Silentigi",
   "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.next": "Sekva",
   "report.placeholder": "Pliaj komentoj",
-  "report.reasons.dislike": "I don't like it",
+  "report.reasons.dislike": "Mi ne ŝatas ĝin",
   "report.reasons.dislike_description": "It is not something you want to see",
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
+  "report.reasons.violation": "Ĝi malrespektas servilajn regulojn",
   "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?",
@@ -422,7 +424,7 @@
   "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
   "report.thanks.title": "Don't want to see this?",
   "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
+  "report.unfollow": "Malsekvi @{name}",
   "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
   "search.placeholder": "Serĉi",
   "search_popout.search_format": "Detala serĉo",
@@ -432,7 +434,7 @@
   "search_popout.tips.text": "Simpla teksto montras la kongruajn afiŝitajn nomojn, uzantnomojn kaj kradvortojn",
   "search_popout.tips.user": "uzanto",
   "search_results.accounts": "Homoj",
-  "search_results.all": "All",
+  "search_results.all": "Ĉiuj",
   "search_results.hashtags": "Kradvortoj",
   "search_results.nothing_found": "Could not find anything for these search terms",
   "search_results.statuses": "Mesaĝoj",
@@ -448,14 +450,14 @@
   "status.delete": "Forigi",
   "status.detailed_status": "Detala konversacia vido",
   "status.direct": "Rekte mesaĝi @{name}",
-  "status.edit": "Edit",
-  "status.edited": "Edited {date}",
-  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
+  "status.edit": "Redakti",
+  "status.edited": "Redaktita {date}",
+  "status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}",
   "status.embed": "Enkorpigi",
   "status.favourite": "Stelumi",
   "status.filtered": "Filtrita",
-  "status.history.created": "{name} created {date}",
-  "status.history.edited": "{name} edited {date}",
+  "status.history.created": "{name} kreis {date}",
+  "status.history.edited": "{name} redaktis {date}",
   "status.load_more": "Ŝargi pli",
   "status.media_hidden": "Aŭdovidaĵo kaŝita",
   "status.mention": "Mencii @{name}",
diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json
index cfda3360f..b239c69e6 100644
--- a/app/javascript/mastodon/locales/es-AR.json
+++ b/app/javascript/mastodon/locales/es-AR.json
@@ -18,12 +18,12 @@
   "account.followers": "Seguidores",
   "account.followers.empty": "Todavía nadie sigue a este usuario.",
   "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidores}}",
+  "account.following": "Siguiendo",
   "account.following_counter": "{count, plural, other {{counter} Siguiendo}}",
   "account.follows.empty": "Todavía este usuario no sigue a nadie.",
   "account.follows_you": "Te sigue",
   "account.hide_reblogs": "Ocultar adhesiones de @{name}",
   "account.joined": "En este servidor desde {date}",
-  "account.last_status": "Última actividad",
   "account.link_verified_on": "La propiedad de este enlace fue verificada el {date}",
   "account.locked_info": "Esta cuenta es privada. El propietario manualmente revisa quién puede seguirle.",
   "account.media": "Medios",
@@ -32,7 +32,6 @@
   "account.mute": "Silenciar a @{name}",
   "account.mute_notifications": "Silenciar notificaciones de @{name}",
   "account.muted": "Silenciado",
-  "account.never_active": "Nunca",
   "account.posts": "Mensajes",
   "account.posts_with_replies": "Mensajes y respuestas públicas",
   "account.report": "Denunciar a @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Mensaje} other {{counter} Mensajes}}",
   "account.unblock": "Desbloquear a @{name}",
   "account.unblock_domain": "Desbloquear dominio {domain}",
+  "account.unblock_short": "Desbloquear",
   "account.unendorse": "No destacar en el perfil",
   "account.unfollow": "Dejar de seguir",
   "account.unmute": "Dejar de silenciar a @{name}",
   "account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
+  "account.unmute_short": "Dejar de silenciar",
   "account_note.placeholder": "Hacé clic par agregar una nota",
   "admin.dashboard.daily_retention": "Tasa de retención de usuarios por día, después del registro",
   "admin.dashboard.monthly_retention": "Tasa de retención de usuarios por mes, después del registro",
@@ -167,7 +168,7 @@
   "empty_column.community": "La línea temporal local está vacía. ¡Escribí algo en modo público para que se empiece a correr la bola!",
   "empty_column.direct": "Todavía no tenés ningún mensaje directo. Cuando enviés o recibás uno, se mostrará acá.",
   "empty_column.domain_blocks": "Todavía no hay dominios bloqueados.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "No hay nada en tendencia ahora mismo. ¡Volvé a revisar más tarde!",
   "empty_column.favourited_statuses": "Todavía no tenés mensajes favoritos. Cuando marqués uno como favorito, se mostrará acá.",
   "empty_column.favourites": "Todavía nadie marcó este mensaje como favorito. Cuando alguien lo haga, se mostrará acá.",
   "empty_column.follow_recommendations": "Parece que no se pudieron generar sugerencias para vos. Podés intentar buscar gente que conozcas o explorar las tendencias de las etiquetas.",
@@ -186,12 +187,12 @@
   "error.unexpected_crash.next_steps_addons": "Intentá deshabilitarlos y recargá la página. Si eso no ayuda, podés usar Mastodon a través de un navegador web diferente o aplicación nativa.",
   "errors.unexpected_crash.copy_stacktrace": "Copiar stacktrace al portapapeles",
   "errors.unexpected_crash.report_issue": "Informar problema",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.search_results": "Resultados de búsqueda",
+  "explore.suggested_follows": "Para vos",
+  "explore.title": "Explorá",
+  "explore.trending_links": "Noticias",
+  "explore.trending_statuses": "Mensajes",
+  "explore.trending_tags": "Etiquetas",
   "follow_recommendations.done": "Listo",
   "follow_recommendations.heading": "¡Seguí cuentas cuyos mensajes te gustaría ver! Acá tenés algunas sugerencias.",
   "follow_recommendations.lead": "Los mensajes de las cuentas que seguís aparecerán en orden cronológico en la columna \"Inicio\". No tengás miedo de meter la pata, ¡podés dejar de seguir cuentas fácilmente en cualquier momento!",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Descubrir",
   "navigation_bar.domain_blocks": "Dominios bloqueados",
   "navigation_bar.edit_profile": "Editar perfil",
+  "navigation_bar.explore": "Explorá",
   "navigation_bar.favourites": "Favoritos",
   "navigation_bar.filters": "Palabras silenciadas",
   "navigation_bar.follow_requests": "Solicitudes de seguimiento",
@@ -307,7 +309,7 @@
   "navigation_bar.preferences": "Configuración",
   "navigation_bar.public_timeline": "Línea temporal federada",
   "navigation_bar.security": "Seguridad",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "Se registró {name}",
   "notification.favourite": "{name} marcó tu mensaje como favorito",
   "notification.follow": "{name} te empezó a seguir",
   "notification.follow_request": "{name} solicitó seguirte",
@@ -319,7 +321,7 @@
   "notification.update": "{name} editó un mensaje",
   "notifications.clear": "Limpiar notificaciones",
   "notifications.clear_confirmation": "¿Estás seguro que querés limpiar todas tus notificaciones permanentemente?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "Nuevos registros:",
   "notifications.column_settings.alert": "Notificaciones de escritorio",
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías",
@@ -387,43 +389,43 @@
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hoy",
   "reply_indicator.cancel": "Cancelar",
-  "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.block": "Bloquear",
+  "report.block_explanation": "No verás sus mensajes. No podrán ver tus mensajes ni seguirte. Se van a dar cuentra de que están bloqueados.",
   "report.categories.other": "Otra",
   "report.categories.spam": "Spam",
   "report.categories.violation": "El contenido viola una o más reglas del servidor",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.category.subtitle": "Elegí la mejor coincidencia",
+  "report.category.title": "Contanos lo que pasa con este {type}",
+  "report.category.title_account": "perfil",
+  "report.category.title_status": "mensaje",
+  "report.close": "Listo",
+  "report.comment.title": "¿Hay algo más que creés que deberíamos saber?",
   "report.forward": "Reenviar a {target}",
   "report.forward_hint": "La cuenta es de otro servidor. ¿Querés enviar una copia anonimizada del informe también ahí?",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.mute": "Silenciar",
+  "report.mute_explanation": "No verás sus mensajes. Todavía pueden seguirte y ver tus mensajes y no sabrán que están silenciados.",
+  "report.next": "Siguiente",
   "report.placeholder": "Comentarios adicionales",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "No me gusta",
+  "report.reasons.dislike_description": "No es algo que querés ver",
+  "report.reasons.other": "Es otra cosa",
+  "report.reasons.other_description": "El problema no aplica en otras categorías",
+  "report.reasons.spam": "Es spam",
+  "report.reasons.spam_description": "Enlaces maliciosos, interacciones falsas o respuestas repetitivas",
+  "report.reasons.violation": "Viola las reglas del servidor",
+  "report.reasons.violation_description": "Sos consciente de que infringe normas específicas",
+  "report.rules.subtitle": "Seleccioná todo lo que corresponda",
+  "report.rules.title": "¿Qué reglas se están violando?",
+  "report.statuses.subtitle": "Seleccioná todo lo que corresponda",
+  "report.statuses.title": "¿Hay algún mensaje que respalde esta denuncia?",
   "report.submit": "Enviar",
   "report.target": "Denunciando a {target}",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.thanks.take_action": "Acá están tus opciones para controlar lo que ves en Mastodon:",
+  "report.thanks.take_action_actionable": "Mientras revisamos esto, podés tomar medidas contra @{name}:",
+  "report.thanks.title": "¿No querés ver esto?",
+  "report.thanks.title_actionable": "Gracias por tu denuncia, vamos a revisarla.",
+  "report.unfollow": "Dejar de seguir a @{name}",
+  "report.unfollow_explanation": "Estás siguiendo a esta cuenta. Para no ver sus mensajes en tu línea temporal principal, dejá de seguirla.",
   "search.placeholder": "Buscar",
   "search_popout.search_format": "Formato de búsqueda avanzada",
   "search_popout.tips.full_text": "Las búsquedas de texto simple devuelven los mensajes que escribiste, los marcados como favoritos, los adheridos o en los que te mencionaron, así como nombres de usuarios, nombres mostrados y etiquetas.",
@@ -432,9 +434,9 @@
   "search_popout.tips.text": "Las búsquedas de texto simple devuelven nombres de usuarios, nombres mostrados y etiquetas que coincidan",
   "search_popout.tips.user": "usuario",
   "search_results.accounts": "Gente",
-  "search_results.all": "All",
+  "search_results.all": "Todos",
   "search_results.hashtags": "Etiquetas",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "No se pudo encontrar nada para estos términos de búsqueda",
   "search_results.statuses": "Mensajes",
   "search_results.statuses_fts_disabled": "No se pueden buscar mensajes por contenido en este servidor de Mastodon.",
   "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json
index e243bb8d8..ccdca8d9c 100644
--- a/app/javascript/mastodon/locales/es-MX.json
+++ b/app/javascript/mastodon/locales/es-MX.json
@@ -4,7 +4,7 @@
   "account.badges.bot": "Bot",
   "account.badges.group": "Grupo",
   "account.block": "Bloquear a @{name}",
-  "account.block_domain": "Ocultar todo de {domain}",
+  "account.block_domain": "Bloquear dominio {domain}",
   "account.blocked": "Bloqueado",
   "account.browse_more_on_origin_server": "Ver más en el perfil original",
   "account.cancel_follow_request": "Cancelar la solicitud de seguimiento",
@@ -13,42 +13,43 @@
   "account.domain_blocked": "Dominio oculto",
   "account.edit_profile": "Editar perfil",
   "account.enable_notifications": "Notificarme cuando @{name} publique algo",
-  "account.endorse": "Mostrar en perfil",
+  "account.endorse": "Destacar en mi perfil",
   "account.follow": "Seguir",
   "account.followers": "Seguidores",
   "account.followers.empty": "Todavía nadie sigue a este usuario.",
   "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidores}}",
+  "account.following": "Siguiendo",
   "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.hide_reblogs": "Ocultar retoots de @{name}",
   "account.joined": "Se unió el {date}",
-  "account.last_status": "Última actividad",
   "account.link_verified_on": "El proprietario de este link fue comprobado el {date}",
   "account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.",
   "account.media": "Multimedia",
-  "account.mention": "Mencionar a @{name}",
+  "account.mention": "Mencionar @{name}",
   "account.moved_to": "{name} se ha mudado a:",
   "account.mute": "Silenciar a @{name}",
   "account.mute_notifications": "Silenciar notificaciones de @{name}",
   "account.muted": "Silenciado",
-  "account.never_active": "Nunca",
-  "account.posts": "Toots",
-  "account.posts_with_replies": "Toots con respuestas",
+  "account.posts": "Publicaciones",
+  "account.posts_with_replies": "Publicaciones y respuestas",
   "account.report": "Reportar a @{name}",
-  "account.requested": "Esperando aprobación",
+  "account.requested": "Esperando aprobación. Haga clic para cancelar la solicitud de seguimiento",
   "account.share": "Compartir el perfil de @{name}",
   "account.show_reblogs": "Mostrar retoots de @{name}",
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Desbloquear a @{name}",
   "account.unblock_domain": "Mostrar a {domain}",
+  "account.unblock_short": "Desbloquear",
   "account.unendorse": "No mostrar en el perfil",
   "account.unfollow": "Dejar de seguir",
   "account.unmute": "Dejar de silenciar a @{name}",
   "account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
+  "account.unmute_short": "Desmutear",
   "account_note.placeholder": "Clic para añadir nota",
-  "admin.dashboard.daily_retention": "Tasa de retención de usuarios por día después del registro",
-  "admin.dashboard.monthly_retention": "Tasa de retención de usuarios por mes después del registro",
+  "admin.dashboard.daily_retention": "Tasa de retención de usuarios por día después de unirse",
+  "admin.dashboard.monthly_retention": "Tasa de retención de usuarios por mes después de unirse",
   "admin.dashboard.retention.average": "Promedio",
   "admin.dashboard.retention.cohort": "Mes de registro",
   "admin.dashboard.retention.cohort_size": "Nuevos usuarios",
@@ -167,7 +168,7 @@
   "empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!",
   "empty_column.direct": "Aún no tienes ningún mensaje directo. Cuando envíes o recibas uno, se mostrará aquí.",
   "empty_column.domain_blocks": "Todavía no hay dominios ocultos.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "Nada es tendencia en este momento. ¡Revisa más tarde!",
   "empty_column.favourited_statuses": "Aún no tienes toots preferidos. Cuando marques uno como favorito, aparecerá aquí.",
   "empty_column.favourites": "Nadie ha marcado este toot como preferido. Cuando alguien lo haga, aparecerá aquí.",
   "empty_column.follow_recommendations": "Parece que no se ha podido generar ninguna sugerencia para ti. Puedes probar a buscar a gente que quizá conozcas o explorar los hashtags que están en tendencia.",
@@ -186,11 +187,11 @@
   "error.unexpected_crash.next_steps_addons": "Intenta deshabilitarlos y recarga la página. Si eso no ayuda, podrías usar Mastodon a través de un navegador web diferente o aplicación nativa.",
   "errors.unexpected_crash.copy_stacktrace": "Copiar el seguimiento de pila en el portapapeles",
   "errors.unexpected_crash.report_issue": "Informar de un problema/error",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
+  "explore.search_results": "Resultados de búsqueda",
+  "explore.suggested_follows": "Para ti",
+  "explore.title": "Descubrir",
+  "explore.trending_links": "Noticias",
+  "explore.trending_statuses": "Publicaciones",
   "explore.trending_tags": "Hashtags",
   "follow_recommendations.done": "Hecho",
   "follow_recommendations.heading": "¡Sigue a gente que publique cosas que te gusten! Aquí tienes algunas sugerencias.",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Descubrir",
   "navigation_bar.domain_blocks": "Dominios ocultos",
   "navigation_bar.edit_profile": "Editar perfil",
+  "navigation_bar.explore": "Explorar",
   "navigation_bar.favourites": "Favoritos",
   "navigation_bar.filters": "Palabras silenciadas",
   "navigation_bar.follow_requests": "Solicitudes para seguirte",
@@ -307,7 +309,7 @@
   "navigation_bar.preferences": "Preferencias",
   "navigation_bar.public_timeline": "Historia federada",
   "navigation_bar.security": "Seguridad",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} se unio",
   "notification.favourite": "{name} marcó tu estado como favorito",
   "notification.follow": "{name} te empezó a seguir",
   "notification.follow_request": "{name} ha solicitado seguirte",
@@ -319,7 +321,7 @@
   "notification.update": "{name} editó una publicación",
   "notifications.clear": "Limpiar notificaciones",
   "notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "Registros nuevos:",
   "notifications.column_settings.alert": "Notificaciones de escritorio",
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías",
@@ -360,7 +362,7 @@
   "poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
   "poll.vote": "Votar",
   "poll.voted": "Has votado a favor de esta respuesta",
-  "poll.votes": "{votes, plural, one {# voto} other {# votos}}",
+  "poll.votes": "{votes, plural, one {# voto} other {# votes}}",
   "poll_button.add_poll": "Añadir una encuesta",
   "poll_button.remove_poll": "Eliminar encuesta",
   "privacy.change": "Ajustar privacidad",
@@ -376,54 +378,54 @@
   "regeneration_indicator.label": "Cargando…",
   "regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",
   "relative_time.days": "{number} d",
-  "relative_time.full.days": "hace {number, plural, one {# día} other {# días}}",
-  "relative_time.full.hours": "hace {number, plural, one {# hora} other {# horas}}",
+  "relative_time.full.days": "{number, plural, one {# día} other {# días hace}}",
+  "relative_time.full.hours": "{number, plural, one {# hora} other {# horas}} hace",
   "relative_time.full.just_now": "justo ahora",
-  "relative_time.full.minutes": "hace {number, plural, one {# minuto} other {# minutos}}",
-  "relative_time.full.seconds": "hace {number, plural, one {# segundo} other {# segundos}}",
+  "relative_time.full.minutes": "Hace {number, plural, one {# minute} other {# minutos}}",
+  "relative_time.full.seconds": "Hace {number, plural, one {# second} other {# segundos}}",
   "relative_time.hours": "{number} h",
   "relative_time.just_now": "ahora",
   "relative_time.minutes": "{number} m",
   "relative_time.seconds": "{number} s",
   "relative_time.today": "hoy",
   "reply_indicator.cancel": "Cancelar",
-  "report.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": "Otros",
+  "report.block": "Bloquear",
+  "report.block_explanation": "No veras sus publicaciones. No podrán ver tus publicaciones ni seguirte. Podrán saber que están bloqueados.",
+  "report.categories.other": "Otro",
   "report.categories.spam": "Spam",
   "report.categories.violation": "El contenido viola una o más reglas del servidor",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.category.subtitle": "Selecciona la mejor coincidencia",
+  "report.category.title": "Cuéntanos lo que sucede con este {type}",
+  "report.category.title_account": "perfil",
+  "report.category.title_status": "publicación",
+  "report.close": "Realizado",
+  "report.comment.title": "¿Hay algo más que usted cree que debamos saber?",
   "report.forward": "Reenviar a {target}",
   "report.forward_hint": "Esta cuenta es de otro servidor. ¿Enviar una copia anonimizada del informe allí también?",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.mute": "Silenciar",
+  "report.mute_explanation": "No veras sus publiaciones. Todavía pueden seguirte y ver tus publicaciones y no sabrán que están silenciados.",
+  "report.next": "Siguiente",
   "report.placeholder": "Comentarios adicionales",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "No me gusta",
+  "report.reasons.dislike_description": "No es algo que desee ver",
+  "report.reasons.other": "Es algo más",
+  "report.reasons.other_description": "El problema no encaja en otras categorías",
+  "report.reasons.spam": "Es spam",
+  "report.reasons.spam_description": "Enlaces maliciosos, Interacciones falsas, o respuestas repetitivas",
+  "report.reasons.violation": "Viola las reglas del servidor",
+  "report.reasons.violation_description": "Es consciente de que infringe normas específicas",
+  "report.rules.subtitle": "Selecciona todos los que apliquen",
+  "report.rules.title": "¿Qué reglas se están violando?",
+  "report.statuses.subtitle": "Seleccione todos lo que aplican",
+  "report.statuses.title": "¿Hay alguna publicación que respalde este informe?",
   "report.submit": "Publicar",
   "report.target": "Reportando",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.thanks.take_action": "Aqui hay algunas opciones para controlar lo que ves en Mastodon:",
+  "report.thanks.take_action_actionable": "Mientras revisamos esto, puedes tomar medidas contra @{name}:",
+  "report.thanks.title": "¿No quieres ver esto?",
+  "report.thanks.title_actionable": "Gracias por informar, estudiaremos esto.",
+  "report.unfollow": "Dejar de seguir @{name}",
+  "report.unfollow_explanation": "Estás siguiendo esta cuenta. Para no ver sus publicaciones en tu sección de noticias, deja de seguirlo.",
   "search.placeholder": "Buscar",
   "search_popout.search_format": "Formato de búsqueda avanzada",
   "search_popout.tips.full_text": "Búsquedas de texto recuperan posts que has escrito, marcado como favoritos, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.",
@@ -432,9 +434,9 @@
   "search_popout.tips.text": "El texto simple devuelve correspondencias de nombre, usuario y hashtag",
   "search_popout.tips.user": "usuario",
   "search_results.accounts": "Gente",
-  "search_results.all": "All",
+  "search_results.all": "Todos",
   "search_results.hashtags": "Etiquetas",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "No se pudo encontrar nada para estos términos de busqueda",
   "search_results.statuses": "Toots",
   "search_results.statuses_fts_disabled": "Buscar toots por su contenido no está disponible en este servidor de Mastodon.",
   "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
@@ -450,12 +452,12 @@
   "status.direct": "Mensaje directo a @{name}",
   "status.edit": "Editar",
   "status.edited": "Editado {date}",
-  "status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}",
+  "status.edited_x_times": "Editado {count, plural, one {{count} time} other {{count} veces}}",
   "status.embed": "Incrustado",
   "status.favourite": "Favorito",
   "status.filtered": "Filtrado",
   "status.history.created": "{name} creó {date}",
-  "status.history.edited": "{name} editó {date}",
+  "status.history.edited": "{name} editado {date}",
   "status.load_more": "Cargar más",
   "status.media_hidden": "Contenido multimedia oculto",
   "status.mention": "Mencionar",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index bfe9c1534..9215c65d1 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -18,12 +18,12 @@
   "account.followers": "Seguidores",
   "account.followers.empty": "Todavía nadie sigue a este usuario.",
   "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidores}}",
+  "account.following": "Siguiendo",
   "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.hide_reblogs": "Ocultar retoots de @{name}",
   "account.joined": "Se unió el {date}",
-  "account.last_status": "Última actividad",
   "account.link_verified_on": "El proprietario de este link fue comprobado el {date}",
   "account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.",
   "account.media": "Multimedia",
@@ -32,7 +32,6 @@
   "account.mute": "Silenciar a @{name}",
   "account.mute_notifications": "Silenciar notificaciones de @{name}",
   "account.muted": "Silenciado",
-  "account.never_active": "Nunca",
   "account.posts": "Publicaciones",
   "account.posts_with_replies": "Publicaciones y respuestas",
   "account.report": "Reportar a @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Publicación} other {{counter} Publicaciones}}",
   "account.unblock": "Desbloquear a @{name}",
   "account.unblock_domain": "Mostrar a {domain}",
+  "account.unblock_short": "Desbloquear",
   "account.unendorse": "No mostrar en el perfil",
   "account.unfollow": "Dejar de seguir",
   "account.unmute": "Dejar de silenciar a @{name}",
   "account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
+  "account.unmute_short": "Dejar de silenciar",
   "account_note.placeholder": "Clic para añadir nota",
   "admin.dashboard.daily_retention": "Tasa de retención de usuarios por día después del registro",
   "admin.dashboard.monthly_retention": "Tasa de retención de usuarios por mes después del registro",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Descubrir",
   "navigation_bar.domain_blocks": "Dominios ocultos",
   "navigation_bar.edit_profile": "Editar perfil",
+  "navigation_bar.explore": "Explorar",
   "navigation_bar.favourites": "Favoritos",
   "navigation_bar.filters": "Palabras silenciadas",
   "navigation_bar.follow_requests": "Solicitudes para seguirte",
@@ -319,7 +321,7 @@
   "notification.update": "{name} editó una publicación",
   "notifications.clear": "Limpiar notificaciones",
   "notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?",
-  "notifications.column_settings.admin.sign_up": "Nuevas inscripciones:",
+  "notifications.column_settings.admin.sign_up": "Nuevos registros:",
   "notifications.column_settings.alert": "Notificaciones de escritorio",
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías",
@@ -388,7 +390,7 @@
   "relative_time.today": "hoy",
   "reply_indicator.cancel": "Cancelar",
   "report.block": "Bloquear",
-  "report.block_explanation": "No verás sus publicaciones. No podrán ver tus publicaciones ni seguirte. Podrán decir que están bloqueados.",
+  "report.block_explanation": "No verás sus publicaciones. No podrán ver tus publicaciones ni seguirte. Podrán saber que están bloqueados.",
   "report.categories.other": "Otros",
   "report.categories.spam": "Spam",
   "report.categories.violation": "El contenido viola una o más reglas del servidor",
@@ -409,21 +411,21 @@
   "report.reasons.other": "Es otra cosa",
   "report.reasons.other_description": "El problema no encaja en otras categorías",
   "report.reasons.spam": "Es spam",
-  "report.reasons.spam_description": "Enlaces maliciosos, compromisos falsos o respuestas repetitivas",
+  "report.reasons.spam_description": "Enlaces maliciosos, interacciones falsas o respuestas repetitivas",
   "report.reasons.violation": "Viola las reglas del servidor",
-  "report.reasons.violation_description": "Usted es consciente de que infringe las normas específicas",
-  "report.rules.subtitle": "Selecciona todos los que aplica",
+  "report.reasons.violation_description": "Eres consciente de que infringe las normas específicas",
+  "report.rules.subtitle": "Selecciona todos los que correspondan",
   "report.rules.title": "¿Qué normas se están violando?",
-  "report.statuses.subtitle": "Selecciona todos los que aplican",
+  "report.statuses.subtitle": "Selecciona todos los que correspondan",
   "report.statuses.title": "¿Hay alguna publicación que respalde este informe?",
   "report.submit": "Publicar",
   "report.target": "Reportando",
   "report.thanks.take_action": "Aquí están tus opciones para controlar lo que ves en Mastodon:",
   "report.thanks.take_action_actionable": "Mientras revisamos esto, puedes tomar medidas contra @{name}:",
   "report.thanks.title": "¿No quieres esto?",
-  "report.thanks.title_actionable": "Gracias por reportar, estudiaremos esto.",
+  "report.thanks.title_actionable": "Gracias por informar, estudiaremos esto.",
   "report.unfollow": "Dejar de seguir a @{name}",
-  "report.unfollow_explanation": "Estás siguiendo esta cuenta. Para no ver sus publicaciones en tu muro de inicio, deja de seguirlas.",
+  "report.unfollow_explanation": "Estás siguiendo esta cuenta. Para no ver sus publicaciones en tu muro de inicio, deja de seguirla.",
   "search.placeholder": "Buscar",
   "search_popout.search_format": "Formato de búsqueda avanzada",
   "search_popout.tips.full_text": "Las búsquedas de texto recuperan publicaciones que has escrito, marcado como favoritas, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.",
diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json
index 2eca42e09..e3bcdb521 100644
--- a/app/javascript/mastodon/locales/et.json
+++ b/app/javascript/mastodon/locales/et.json
@@ -18,12 +18,12 @@
   "account.followers": "Jälgijad",
   "account.followers.empty": "Keegi ei jälgi seda kasutajat veel.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "See kasutaja ei jälgi veel kedagi.",
   "account.follows_you": "Jälgib Teid",
   "account.hide_reblogs": "Peida upitused kasutajalt @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Viimati aktiivne",
   "account.link_verified_on": "Selle lingi autorsust kontrolliti {date}",
   "account.locked_info": "Selle konto privaatsussätteks on lukustatud. Omanik vaatab manuaalselt üle, kes teda jägida saab.",
   "account.media": "Meedia",
@@ -32,7 +32,6 @@
   "account.mute": "Vaigista @{name}",
   "account.mute_notifications": "Vaigista teated kasutajalt @{name}",
   "account.muted": "Vaigistatud",
-  "account.never_active": "Mitte kunagi",
   "account.posts": "Tuututused",
   "account.posts_with_replies": "Tuututused ja vastused",
   "account.report": "Raporteeri @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Eemalda blokeering @{name}",
   "account.unblock_domain": "Tee {domain} nähtavaks",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Ära kuva profiilil",
   "account.unfollow": "Ära jälgi",
   "account.unmute": "Ära vaigista @{name}",
   "account.unmute_notifications": "Ära vaigista teateid kasutajalt @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Avasta",
   "navigation_bar.domain_blocks": "Peidetud domeenid",
   "navigation_bar.edit_profile": "Muuda profiili",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Lemmikud",
   "navigation_bar.filters": "Vaigistatud sõnad",
   "navigation_bar.follow_requests": "Jälgimistaotlused",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json
index 0d3eec701..a5cbf5128 100644
--- a/app/javascript/mastodon/locales/eu.json
+++ b/app/javascript/mastodon/locales/eu.json
@@ -18,12 +18,12 @@
   "account.followers": "Jarraitzaileak",
   "account.followers.empty": "Ez du inork erabiltzaile hau jarraitzen oraindik.",
   "account.followers_counter": "{count, plural, one {Jarraitzaile {counter}} other {{counter} jarraitzaile}}",
+  "account.following": "Jarraitzen",
   "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.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak",
   "account.joined": "{date}(e)an elkartua",
-  "account.last_status": "Azkenekoz aktiboa",
   "account.link_verified_on": "Esteka honen jabetzaren egiaztaketa data: {date}",
   "account.locked_info": "Kontu honen pribatutasun egoera blokeatuta gisa ezarri da. Jabeak eskuz erabakitzen du nork jarraitu diezaioken.",
   "account.media": "Multimedia",
@@ -32,7 +32,6 @@
   "account.mute": "Mututu @{name}",
   "account.mute_notifications": "Mututu @{name}(r)en jakinarazpenak",
   "account.muted": "Mutututa",
-  "account.never_active": "Inoiz ez",
   "account.posts": "Bidalketa",
   "account.posts_with_replies": "Bidalketak eta erantzunak",
   "account.report": "Salatu @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {Bidalketa {counter}} other {{counter} bidalketa}}",
   "account.unblock": "Desblokeatu @{name}",
   "account.unblock_domain": "Berriz erakutsi {domain}",
+  "account.unblock_short": "Desblokeatu",
   "account.unendorse": "Ez nabarmendu profilean",
   "account.unfollow": "Utzi jarraitzeari",
   "account.unmute": "Desmututu @{name}",
   "account.unmute_notifications": "Desmututu @{name}(r)en jakinarazpenak",
+  "account.unmute_short": "Desmututu",
   "account_note.placeholder": "Click to add a note",
   "admin.dashboard.daily_retention": "Erabiltzaile atxikitze-tasa izena eman ondorengo eguneko",
   "admin.dashboard.monthly_retention": "Erabiltzaile atxikitze-tasa izena eman ondorengo hilabeteko",
@@ -167,7 +168,7 @@
   "empty_column.community": "Denbora-lerro lokala hutsik dago. Idatzi zerbait publikoki pilota biraka jartzeko!",
   "empty_column.direct": "Ez duzu mezu zuzenik oraindik. Baten bat bidali edo jasotzen duzunean, hemen agertuko da.",
   "empty_column.domain_blocks": "Ez dago ezkutatutako domeinurik oraindik.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "Ez dago joerarik une honetan. Begiratu beranduago!",
   "empty_column.favourited_statuses": "Ez duzu gogokorik oraindik. Gogokoren bat duzunean hemen agertuko da.",
   "empty_column.favourites": "Ez du inork gogokoetara gehitu bidalketa hau oraindik. Inork egiten duenean, hemen agertuko dira.",
   "empty_column.follow_recommendations": "Dirudienez ezin izan da zuretzako proposamenik sortu. Bilaketa erabili dezakezu ezagutzen duzun jendea aurkitzeko edo traolen joerak arakatu.",
@@ -186,12 +187,12 @@
   "error.unexpected_crash.next_steps_addons": "Saiatu desgaitu eta orria berritzen. Horrek ez badu laguntzen, agian Mastodon erabiltzeko aukera duzu oraindik ere beste nabigatzaile bat edo aplikazio natibo bat erabilita.",
   "errors.unexpected_crash.copy_stacktrace": "Kopiatu irteera arbelera",
   "errors.unexpected_crash.report_issue": "Eman arazoaren berri",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.search_results": "Bilaketaren emaitzak",
+  "explore.suggested_follows": "Zuretzat",
+  "explore.title": "Arakatu",
+  "explore.trending_links": "Berriak",
+  "explore.trending_statuses": "Bidalketak",
+  "explore.trending_tags": "Traolak",
   "follow_recommendations.done": "Egina",
   "follow_recommendations.heading": "Jarraitu jendea beren bidalketak ikusteko! Hemen dituzu iradokizun batzuk.",
   "follow_recommendations.lead": "Jarraitzen duzun jendearen bidalketak ordena kronologikoan agertuko dira zure hasierako jarioan. Ez izan akatsak egiteko beldurrik, jendea jarraitzeari uztea erraza da!",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Aurkitu",
   "navigation_bar.domain_blocks": "Ezkutatutako domeinuak",
   "navigation_bar.edit_profile": "Aldatu profila",
+  "navigation_bar.explore": "Arakatu",
   "navigation_bar.favourites": "Gogokoak",
   "navigation_bar.filters": "Mutututako hitzak",
   "navigation_bar.follow_requests": "Jarraitzeko eskariak",
@@ -307,7 +309,7 @@
   "navigation_bar.preferences": "Hobespenak",
   "navigation_bar.public_timeline": "Federatutako denbora-lerroa",
   "navigation_bar.security": "Segurtasuna",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} erabiltzailea erregistratu da",
   "notification.favourite": "{name}(e)k zure bidalketa gogoko du",
   "notification.follow": "{name}(e)k jarraitzen zaitu",
   "notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du",
@@ -319,7 +321,7 @@
   "notification.update": "{name} erabiltzaileak bidalketa bat editatu du",
   "notifications.clear": "Garbitu jakinarazpenak",
   "notifications.clear_confirmation": "Ziur zure jakinarazpen guztiak behin betirako garbitu nahi dituzula?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "Izen-emate berriak:",
   "notifications.column_settings.alert": "Mahaigaineko jakinarazpenak",
   "notifications.column_settings.favourite": "Gogokoak:",
   "notifications.column_settings.filter_bar.advanced": "Erakutsi kategoria guztiak",
@@ -387,43 +389,43 @@
   "relative_time.seconds": "{number}s",
   "relative_time.today": "gaur",
   "reply_indicator.cancel": "Utzi",
-  "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.block": "Blokeatu",
+  "report.block_explanation": "Ez dituzu bere bidalketak ikusiko. Ezingo dituzte zure bidalketak ikusi eta ez jarraitu. Blokeatu dituzula jakin dezakete.",
   "report.categories.other": "Bestelakoak",
   "report.categories.spam": "Spam",
   "report.categories.violation": "Edukiak zerbitzariko arau bat edo gehiago urratzen ditu",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.category.subtitle": "Aukeratu egokiena",
+  "report.category.title": "Kontaiguzu zer gertatzen den {type} honekin",
+  "report.category.title_account": "profil",
+  "report.category.title_status": "bidalketa",
+  "report.close": "Egina",
+  "report.comment.title": "Beste zerbait jakin beharko genuke?",
   "report.forward": "Birbidali hona: {target}",
   "report.forward_hint": "Kontu hau beste zerbitzari batekoa da. Bidali txostenaren kopia anonimo hara ere?",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.mute": "Mututu",
+  "report.mute_explanation": "Ez dituzu bere bidalketak ikusiko. Zu jarraitu eta zure bidalketak ikusteko aukera izango dute eta ezingo dute jakin mututu dituzula.",
+  "report.next": "Hurrengoa",
   "report.placeholder": "Iruzkin gehigarriak",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "Ez dut gustukoa",
+  "report.reasons.dislike_description": "Ikusi nahi ez dudan zerbait da",
+  "report.reasons.other": "Beste zerbait da",
+  "report.reasons.other_description": "Arazoa ezin da beste kategorietan sailkatu",
+  "report.reasons.spam": "Spama da",
+  "report.reasons.spam_description": "Esteka maltzurrak, gezurrezko elkarrekintzak edo erantzun errepikakorrak",
+  "report.reasons.violation": "Zerbitzariaren arauak hausten ditu",
+  "report.reasons.violation_description": "Arau zehatzak urratzen dituela badakizu",
+  "report.rules.subtitle": "Hautatu dagozkion guztiak",
+  "report.rules.title": "Ze arau hautsi ditu?",
+  "report.statuses.subtitle": "Hautatu dagozkion guztiak",
+  "report.statuses.title": "Salaketa hau babesten duen bidalketarik badago?",
   "report.submit": "Bidali",
   "report.target": "{target} salatzen",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.thanks.take_action": "Hemen dituzu Mastodonen ikusiko duzuna kontrolatzeko aukerak:",
+  "report.thanks.take_action_actionable": "Hau berrikusten dugun bitartean, @{name} erabiltzailearen aurkako neurriak hartu ditzakezu:",
+  "report.thanks.title": "Ez duzu hau ikusi nahi?",
+  "report.thanks.title_actionable": "Mila esker salaketagatik, berrikusiko dugu.",
+  "report.unfollow": "@{name} jarraitzeari utzi",
+  "report.unfollow_explanation": "Kontu hau jarraitzen ari zara. Zure denbora-lerro nagusian bere bidalketak ez ikusteko, jarraitzeari utzi.",
   "search.placeholder": "Bilatu",
   "search_popout.search_format": "Bilaketa aurreratuaren formatua",
   "search_popout.tips.full_text": "Testu hutsarekin zuk idatzitako bidalketak, gogokoak, bultzadak edo aipamenak aurkitu ditzakezu, bat datozen erabiltzaile-izenak, pantaila-izenak, eta traolak.",
@@ -432,9 +434,9 @@
   "search_popout.tips.text": "Testu hutsak pantaila-izenak, erabiltzaile-izenak eta traolak bilatzen ditu",
   "search_popout.tips.user": "erabiltzailea",
   "search_results.accounts": "Jendea",
-  "search_results.all": "All",
+  "search_results.all": "Guztiak",
   "search_results.hashtags": "Traolak",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "Ez da emaitzarik aurkitu bilaketa-termino horientzat",
   "search_results.statuses": "Bidalketak",
   "search_results.statuses_fts_disabled": "Mastodon zerbitzari honek ez du bidalketen edukiaren bilaketa gaitu.",
   "search_results.total": "{count, number} {count, plural, one {emaitza} other {emaitza}}",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index 2024903d0..659336393 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -18,12 +18,12 @@
   "account.followers": "پی‌گیرندگان",
   "account.followers.empty": "هنوز کسی این کاربر را پی‌گیری نمی‌کند.",
   "account.followers_counter": "{count, plural, one {{counter} پی‌گیرنده} other {{counter} پی‌گیرنده}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} پی‌گرفته} other {{counter} پی‌گرفته}}",
   "account.follows.empty": "این کاربر هنوز پی‌گیر کسی نیست.",
   "account.follows_you": "پی می‌گیردتان",
   "account.hide_reblogs": "نهفتن تقویت‌های @{name}",
   "account.joined": "پیوسته از {date}",
-  "account.last_status": "آخرین فعّالیت",
   "account.link_verified_on": "مالکیت این پیوند در {date} بررسی شد",
   "account.locked_info": "این حساب خصوصی است. صاحبش تصمیم می‌گیرد که چه کسی پی‌گیرش باشد.",
   "account.media": "رسانه",
@@ -32,7 +32,6 @@
   "account.mute": "خموشاندن @{name}",
   "account.mute_notifications": "خموشاندن آگاهی‌ها از @{name}",
   "account.muted": "خموش",
-  "account.never_active": "هرگز",
   "account.posts": "فرسته",
   "account.posts_with_replies": "فرسته‌ها و پاسخ‌ها",
   "account.report": "گزارش @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} فرسته} other {{counter} فرسته}}",
   "account.unblock": "رفع مسدودیت @{name}",
   "account.unblock_domain": "رفع مسدودیت دامنهٔ {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "معرّفی نکردن در نمایه",
   "account.unfollow": "ناپی‌گیری",
   "account.unmute": "ناخموشی @{name}",
   "account.unmute_notifications": "ناخموشی آگاهی‌ها از @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "گشت و گذار",
   "navigation_bar.domain_blocks": "دامنه‌های مسدود شده",
   "navigation_bar.edit_profile": "ویرایش نمایه",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "پسندیده‌ها",
   "navigation_bar.filters": "واژه‌های خموش",
   "navigation_bar.follow_requests": "درخواست‌های پی‌گیری",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index a508ddbdc..b1ad55088 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -18,12 +18,12 @@
   "account.followers": "Seuraajat",
   "account.followers.empty": "Kukaan ei seuraa tätä käyttäjää vielä.",
   "account.followers_counter": "{count, plural, one {{counter} seuraaja} other {{counter} seuraajat}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} seuraa} other {{counter} seuraa}}",
   "account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.",
   "account.follows_you": "Seuraa sinua",
   "account.hide_reblogs": "Piilota buustaukset käyttäjältä @{name}",
   "account.joined": "Liittynyt {date}",
-  "account.last_status": "Aktiivinen viimeksi",
   "account.link_verified_on": "Tämän linkin omistaja tarkistettiin {date}",
   "account.locked_info": "Tämän tilin yksityisyyden tila on asetettu lukituksi. Omistaja arvioi manuaalisesti, kuka voi seurata niitä.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Mykistä @{name}",
   "account.mute_notifications": "Mykistä ilmoitukset käyttäjältä @{name}",
   "account.muted": "Mykistetty",
-  "account.never_active": "Ei koskaan",
   "account.posts": "Viestit",
   "account.posts_with_replies": "Viestit ja vastaukset",
   "account.report": "Raportoi @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Salli @{name}",
   "account.unblock_domain": "Salli {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Poista suosittelu profiilistasi",
   "account.unfollow": "Lopeta seuraaminen",
   "account.unmute": "Poista käyttäjän @{name} mykistys",
   "account.unmute_notifications": "Poista mykistys käyttäjän @{name} ilmoituksilta",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Lisää muistiinpano napsauttamalla",
   "admin.dashboard.daily_retention": "Käyttäjän säilyminen rekisteröitymisen jälkeiseen päivään mennessä",
   "admin.dashboard.monthly_retention": "Käyttäjän säilyminen rekisteröitymisen jälkeiseen kuukauteen mennessä",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Löydä uutta",
   "navigation_bar.domain_blocks": "Estetyt verkkotunnukset",
   "navigation_bar.edit_profile": "Muokkaa profiilia",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Suosikit",
   "navigation_bar.filters": "Mykistetyt sanat",
   "navigation_bar.follow_requests": "Seuraamispyynnöt",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index fc050a7da..791b802a1 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -18,12 +18,12 @@
   "account.followers": "Abonnés",
   "account.followers.empty": "Personne ne suit cet·te utilisateur·rice pour l’instant.",
   "account.followers_counter": "{count, plural, one {{counter} Abonné·e} other {{counter} Abonné·e·s}}",
+  "account.following": "Abonnements",
   "account.following_counter": "{count, plural, other {{counter} Abonnements}}",
   "account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.",
   "account.follows_you": "Vous suit",
   "account.hide_reblogs": "Masquer les partages de @{name}",
   "account.joined": "Ici depuis {date}",
-  "account.last_status": "Dernière activité",
   "account.link_verified_on": "La propriété de ce lien a été vérifiée le {date}",
   "account.locked_info": "Ce compte est privé. Son ou sa propriétaire approuve manuellement qui peut le suivre.",
   "account.media": "Médias",
@@ -32,7 +32,6 @@
   "account.mute": "Masquer @{name}",
   "account.mute_notifications": "Ignorer les notifications de @{name}",
   "account.muted": "Masqué·e",
-  "account.never_active": "Jamais",
   "account.posts": "Messages",
   "account.posts_with_replies": "Messages et réponses",
   "account.report": "Signaler @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Message} other {{counter} Messages}}",
   "account.unblock": "Débloquer @{name}",
   "account.unblock_domain": "Débloquer le domaine {domain}",
+  "account.unblock_short": "Débloquer",
   "account.unendorse": "Ne plus recommander sur le profil",
   "account.unfollow": "Ne plus suivre",
   "account.unmute": "Ne plus masquer @{name}",
   "account.unmute_notifications": "Ne plus masquer les notifications de @{name}",
+  "account.unmute_short": "Ne plus masquer",
   "account_note.placeholder": "Cliquez pour ajouter une note",
   "admin.dashboard.daily_retention": "Taux de maintien des utilisateur·rice·s par jour après inscription",
   "admin.dashboard.monthly_retention": "Brugerfastholdelsesrate efter måned efter tilmelding",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Découvrir",
   "navigation_bar.domain_blocks": "Domaines bloqués",
   "navigation_bar.edit_profile": "Modifier le profil",
+  "navigation_bar.explore": "Explorer",
   "navigation_bar.favourites": "Favoris",
   "navigation_bar.filters": "Mots masqués",
   "navigation_bar.follow_requests": "Demandes d’abonnement",
@@ -409,7 +411,7 @@
   "report.reasons.other": "Pour une autre raison",
   "report.reasons.other_description": "Le problème ne correspond pas aux autres catégories",
   "report.reasons.spam": "C'est du spam",
-  "report.reasons.spam_description": "Liens malveillants, engagement mensonger ou réponses répétitives",
+  "report.reasons.spam_description": "Liens malveillants, faux engagement ou réponses répétitives",
   "report.reasons.violation": "Infraction des règles du serveur",
   "report.reasons.violation_description": "Vous savez que des règles précises sont enfreintes",
   "report.rules.subtitle": "Sélectionnez toutes les réponses appropriées",
diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json
index 06a6bca5b..5bf1681a8 100644
--- a/app/javascript/mastodon/locales/ga.json
+++ b/app/javascript/mastodon/locales/ga.json
@@ -18,12 +18,12 @@
   "account.followers": "Followers",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Follows you",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Unblock @{name}",
   "account.unblock_domain": "Unhide {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Unfollow",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "No comment provided",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Edit profile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json
index 35ab5e83e..aae73a23e 100644
--- a/app/javascript/mastodon/locales/gd.json
+++ b/app/javascript/mastodon/locales/gd.json
@@ -18,12 +18,12 @@
   "account.followers": "Luchd-leantainn",
   "account.followers.empty": "Chan eil neach sam bith a’ leantainn air a’ chleachdaiche seo fhathast.",
   "account.followers_counter": "{count, plural, one {{counter} neach-leantainn} two {{counter} neach-leantainn} few {{counter} luchd-leantainn} other {{counter} luchd-leantainn}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {A’ leantainn air {counter}} two {A’ leantainn air {counter}} few {A’ leantainn air {counter}} other {A’ leantainn air {counter}}}",
   "account.follows.empty": "Chan eil an cleachdaiche seo a’ leantainn air neach sam bith fhathast.",
   "account.follows_you": "’Gad leantainn",
   "account.hide_reblogs": "Falaich na brosnachaidhean o @{name}",
   "account.joined": "Air ballrachd fhaighinn {date}",
-  "account.last_status": "An gnìomh mu dheireadh",
   "account.link_verified_on": "Chaidh dearbhadh cò leis a tha an ceangal seo {date}",
   "account.locked_info": "Tha prìobhaideachd ghlaiste aig a’ chunntais seo. Nì an sealbhadair lèirmheas a làimh air cò dh’fhaodas leantainn orra.",
   "account.media": "Meadhanan",
@@ -32,7 +32,6 @@
   "account.mute": "Mùch @{name}",
   "account.mute_notifications": "Mùch na brathan o @{name}",
   "account.muted": "’Ga mhùchadh",
-  "account.never_active": "Chan ann idir",
   "account.posts": "Postaichean",
   "account.posts_with_replies": "Postaichean ’s freagairtean",
   "account.report": "Dèan gearan mu @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} phost} two {{counter} phost} few {{counter} postaichean} other {{counter} post}}",
   "account.unblock": "Dì-bhac @{name}",
   "account.unblock_domain": "Dì-bhac an àrainn {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Na brosnaich air a’ phròifil",
   "account.unfollow": "Na lean tuilleadh",
   "account.unmute": "Dì-mhùch @{name}",
   "account.unmute_notifications": "Dì-mhùch na brathan o @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Briog airson nòta a chur ris",
   "admin.dashboard.daily_retention": "Reat glèidheadh nan cleachdaichean às dèidh an clàradh a-rèir latha",
   "admin.dashboard.monthly_retention": "Reat glèidheadh nan cleachdaichean às dèidh an clàradh a-rèir mìos",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Fidir",
   "navigation_bar.domain_blocks": "Àrainnean bacte",
   "navigation_bar.edit_profile": "Deasaich a’ phròifil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Na h-annsachdan",
   "navigation_bar.filters": "Faclan mùchte",
   "navigation_bar.follow_requests": "Iarrtasan leantainn",
diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json
index 63d4d7dbc..56fd5ca7f 100644
--- a/app/javascript/mastodon/locales/gl.json
+++ b/app/javascript/mastodon/locales/gl.json
@@ -18,12 +18,12 @@
   "account.followers": "Seguidoras",
   "account.followers.empty": "Aínda ninguén segue esta usuaria.",
   "account.followers_counter": "{count, plural, one {{counter} Seguidora} other {{counter} Seguidoras}}",
+  "account.following": "Seguindo",
   "account.following_counter": "{count, plural, one {{counter} Seguindo} other {{counter} Seguindo}}",
   "account.follows.empty": "Esta usuaria aínda non segue a ninguén.",
   "account.follows_you": "Séguete",
   "account.hide_reblogs": "Agochar repeticións de @{name}",
   "account.joined": "Uníuse {date}",
-  "account.last_status": "Última actividade",
   "account.link_verified_on": "A propiedade desta ligazón foi verificada o {date}",
   "account.locked_info": "Esta é unha conta privada. A propietaria revisa de xeito manual quen pode seguila.",
   "account.media": "Multimedia",
@@ -32,7 +32,6 @@
   "account.mute": "Acalar @{name}",
   "account.mute_notifications": "Acalar as notificacións de @{name}",
   "account.muted": "Acalada",
-  "account.never_active": "Nunca",
   "account.posts": "Publicacións",
   "account.posts_with_replies": "Publicacións e respostas",
   "account.report": "Informar sobre @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Publicación} other {{counter} Publicacións}}",
   "account.unblock": "Desbloquear @{name}",
   "account.unblock_domain": "Amosar {domain}",
+  "account.unblock_short": "Desbloquear",
   "account.unendorse": "Non amosar no perfil",
   "account.unfollow": "Deixar de seguir",
   "account.unmute": "Deixar de silenciar a @{name}",
   "account.unmute_notifications": "Deixar de silenciar as notificacións de @{name}",
+  "account.unmute_short": "Non silenciar",
   "account_note.placeholder": "Preme para engadir nota",
   "admin.dashboard.daily_retention": "Ratio de retención de usuarias após rexistrarse",
   "admin.dashboard.monthly_retention": "Ratio de retención de usuarias após un mes do rexistro",
@@ -167,7 +168,7 @@
   "empty_column.community": "A cronoloxía local está baleira. Escribe algo de xeito público para espallalo!",
   "empty_column.direct": "Aínda non tes mensaxes directas. Cando envíes ou recibas unha, amosarase aquí.",
   "empty_column.domain_blocks": "Aínda non hai dominios agochados.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "Non hai temas en voga. Volve máis tarde!",
   "empty_column.favourited_statuses": "Aínda non tes publicacións favoritas. Cando che guste algunha, aparecerá aquí.",
   "empty_column.favourites": "A ninguén lle gustou esta publicación polo momento. Cando a alguén lle guste, aparecerá aquí.",
   "empty_column.follow_recommendations": "Semella que non temos suxestións para ti. Podes utilizar a busca para atopar persoas que coñezas ou explorar os cancelos en voga.",
@@ -186,12 +187,12 @@
   "error.unexpected_crash.next_steps_addons": "Intenta desactivalas e actualiza a páxina. Se isto non funciona, podes seguir usando Mastodon nun navegador diferente ou aplicación nativa.",
   "errors.unexpected_crash.copy_stacktrace": "Copiar trazas (stacktrace) ó portapapeis",
   "errors.unexpected_crash.report_issue": "Informar sobre un problema",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.search_results": "Resultados da busca",
+  "explore.suggested_follows": "Para ti",
+  "explore.title": "Descubrir",
+  "explore.trending_links": "Novas",
+  "explore.trending_statuses": "Publicacións",
+  "explore.trending_tags": "Cancelos",
   "follow_recommendations.done": "Feito",
   "follow_recommendations.heading": "Segue a persoas das que queiras ler publicacións! Aqui tes unhas suxestións.",
   "follow_recommendations.lead": "As publicacións das persoas que segues aparecerán na túa cronoloxía de inicio ordenadas temporalmente. Non teñas medo a equivocarte, podes deixar de seguirlas igual de fácil en calquera momento!",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Descubrir",
   "navigation_bar.domain_blocks": "Dominios agochados",
   "navigation_bar.edit_profile": "Editar perfil",
+  "navigation_bar.explore": "Descubrir",
   "navigation_bar.favourites": "Favoritos",
   "navigation_bar.filters": "Palabras silenciadas",
   "navigation_bar.follow_requests": "Peticións de seguimento",
@@ -307,7 +309,7 @@
   "navigation_bar.preferences": "Preferencias",
   "navigation_bar.public_timeline": "Cronoloxía federada",
   "navigation_bar.security": "Seguranza",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} rexistrouse",
   "notification.favourite": "{name} marcou a túa publicación como favorita",
   "notification.follow": "{name} comezou a seguirte",
   "notification.follow_request": "{name} solicitou seguirte",
@@ -319,7 +321,7 @@
   "notification.update": "{name} editou unha publicación",
   "notifications.clear": "Limpar notificacións",
   "notifications.clear_confirmation": "Tes a certeza de querer limpar de xeito permanente todas as túas notificacións?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "Novas usuarias:",
   "notifications.column_settings.alert": "Notificacións de escritorio",
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Amosar todas as categorías",
@@ -387,43 +389,43 @@
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hoxe",
   "reply_indicator.cancel": "Desbotar",
-  "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.block": "Bloquear",
+  "report.block_explanation": "Non vas ver as súas publicacións. Nin verán as túas publicacións nin poderán seguirte. Poderán comprobar que as bloqueaches.",
   "report.categories.other": "Outro",
   "report.categories.spam": "Spam",
   "report.categories.violation": "O contido viola unha ou máis regras do servidor",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.category.subtitle": "Elixe a mellor coincidencia",
+  "report.category.title": "Dinos o que está a pasar con {type}",
+  "report.category.title_account": "perfil",
+  "report.category.title_status": "publicación",
+  "report.close": "Feito",
+  "report.comment.title": "Hai algo máis que creas debamos saber?",
   "report.forward": "Reenviar a {target}",
   "report.forward_hint": "A conta é doutro servidor. Enviar unha copia anónima da denuncia aló tamén?",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.mute": "Acalar",
+  "report.mute_explanation": "Non verás as súas publicacións. Poderán seguirte e ver as túas publicacións e non saberán que as acalaches.",
+  "report.next": "Seguinte",
   "report.placeholder": "Comentarios adicionais",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "Non me gusta",
+  "report.reasons.dislike_description": "Non é algo que queiras ver",
+  "report.reasons.other": "É outra cousa",
+  "report.reasons.other_description": "O asunto non cae dentro de outras categorías",
+  "report.reasons.spam": "É spam",
+  "report.reasons.spam_description": "Ligazóns perigosas, relacións falsas, ou respostas repetitivas",
+  "report.reasons.violation": "Viola as regras do servidor",
+  "report.reasons.violation_description": "Daste conta de que quebra unhas normas en concreto",
+  "report.rules.subtitle": "Elixe todo o que sexa de aplicación",
+  "report.rules.title": "Que regras foron incumpridas?",
+  "report.statuses.subtitle": "Elixe todo o que corresponda",
+  "report.statuses.title": "Hai algunha publicación que apoie esta denuncia?",
   "report.submit": "Enviar",
   "report.target": "Denunciar a {target}",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.thanks.take_action": "Aquí tes unhas opcións para controlar o que ves en Mastodon:",
+  "report.thanks.take_action_actionable": "Mentras revisamos esto, podes tomar accións contra @{name}:",
+  "report.thanks.title": "Non queres ver esto?",
+  "report.thanks.title_actionable": "Grazas pola denuncia, investigarémola.",
+  "report.unfollow": "Non seguir a @{name}",
+  "report.unfollow_explanation": "Estás a seguir esta conta. Deixar de ver as súas publicacións na túa cronoloxía, non seguila.",
   "search.placeholder": "Procurar",
   "search_popout.search_format": "Formato de procura avanzada",
   "search_popout.tips.full_text": "Texto simple devolve toots que ti escribiches, promoviches, marcaches favoritos, ou foches mencionada, así como nomes de usuaria coincidentes, nomes públicos e cancelos.",
@@ -432,9 +434,9 @@
   "search_popout.tips.text": "Texto simple devolve coincidencias con nomes públicos, nomes de usuaria e cancelos",
   "search_popout.tips.user": "usuaria",
   "search_results.accounts": "Persoas",
-  "search_results.all": "All",
+  "search_results.all": "Todo",
   "search_results.hashtags": "Cancelos",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "Non atopamos nada con estos termos de busca",
   "search_results.statuses": "Publicacións",
   "search_results.statuses_fts_disabled": "Procurar publicacións polo seu contido non está activado neste servidor do Mastodon.",
   "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json
index fd97ce53c..db25a33fd 100644
--- a/app/javascript/mastodon/locales/he.json
+++ b/app/javascript/mastodon/locales/he.json
@@ -18,12 +18,12 @@
   "account.followers": "עוקבים",
   "account.followers.empty": "אף אחד לא עוקב אחר המשתמש הזה עדיין.",
   "account.followers_counter": "{count, plural,one {עוקב אחד} other {{counter} עוקבים}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural,one {עוקב אחרי {counter}}other {עוקב אחרי {counter}}}",
   "account.follows.empty": "משתמש זה לא עוקב אחר אף אחד עדיין.",
   "account.follows_you": "במעקב אחריך",
   "account.hide_reblogs": "להסתיר הידהודים מאת @{name}",
   "account.joined": "הצטרפו ב{date}",
-  "account.last_status": "פעילות אחרונה",
   "account.link_verified_on": "בעלות על הקישור הזה נבדקה לאחרונה ב{date}",
   "account.locked_info": "מצב הפרטיות של החשבון הנוכחי הוגדר כנעול. בעל החשבון קובע באופן פרטני מי יכול לעקוב אחריו.",
   "account.media": "מדיה",
@@ -32,7 +32,6 @@
   "account.mute": "להשתיק את @{name}",
   "account.mute_notifications": "להסתיר התראות מאת @{name}",
   "account.muted": "מושתק",
-  "account.never_active": "אף פעם",
   "account.posts": "הודעות",
   "account.posts_with_replies": "Toots with replies",
   "account.report": "לדווח על @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "הסרת חסימה מעל @{name}",
   "account.unblock_domain": "הסר חסימה מקהילת {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "לא להציג בפרופיל",
   "account.unfollow": "הפסקת מעקב",
   "account.unmute": "הפסקת השתקת @{name}",
   "account.unmute_notifications": "להפסיק הסתרת הודעות מעם @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "עריכת פרופיל",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "חיבובים",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "בקשות מעקב",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json
index b5d731ac4..8a464f7ec 100644
--- a/app/javascript/mastodon/locales/hi.json
+++ b/app/javascript/mastodon/locales/hi.json
@@ -18,12 +18,12 @@
   "account.followers": "फॉलोवर",
   "account.followers.empty": "कोई भी इस यूज़र् को फ़ॉलो नहीं करता है",
   "account.followers_counter": "{count, plural, one {{counter} अनुगामी} other {{counter} समर्थक}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} निम्नलिखित} other {{counter} निम्नलिखित}}",
   "account.follows.empty": "यह यूज़र् अभी तक किसी को फॉलो नहीं करता है।",
   "account.follows_you": "आपको फॉलो करता है",
   "account.hide_reblogs": "@{name} के बूस्ट छुपाएं",
   "account.joined": "Joined {date}",
-  "account.last_status": "अंतिम सक्रिय",
   "account.link_verified_on": "इस लिंक का स्वामित्व {date} को चेक किया गया था",
   "account.locked_info": "यह खाता गोपनीयता स्थिति लॉक करने के लिए सेट है। मालिक मैन्युअल रूप से समीक्षा करता है कि कौन उनको फॉलो कर सकता है।",
   "account.media": "मीडिया",
@@ -32,7 +32,6 @@
   "account.mute": "म्यूट @{name}",
   "account.mute_notifications": "@{name} के नोटिफिकेशन म्यूट करे",
   "account.muted": "म्यूट है",
-  "account.never_active": "कभी नहीं दिखे",
   "account.posts": "टूट्स",
   "account.posts_with_replies": "टूट्स एवं जवाब",
   "account.report": "रिपोर्ट @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} भोंपू} other {{counter} भोंपू}}",
   "account.unblock": "@{name} को अनब्लॉक करें",
   "account.unblock_domain": "{domain} दिखाए",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "प्रोफ़ाइल पर न दिखाए",
   "account.unfollow": "अनफॉलो करें",
   "account.unmute": "अनम्यूट @{name}",
   "account.unmute_notifications": "@{name} के नोटिफिकेशन अनम्यूट करे",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "खोजें",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "प्रोफ़ाइल संपादित करें",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "अनुसरण करने के अनुरोध",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json
index e8798aaba..bbe62cf38 100644
--- a/app/javascript/mastodon/locales/hr.json
+++ b/app/javascript/mastodon/locales/hr.json
@@ -18,12 +18,12 @@
   "account.followers": "Pratitelji",
   "account.followers.empty": "Nitko još ne prati korisnika/cu.",
   "account.followers_counter": "{count, plural, one {{counter} pratitelj} other {{counter} pratitelja}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} praćeni} few{{counter} praćena} other {{counter} praćenih}}",
   "account.follows.empty": "Korisnik/ca još ne prati nikoga.",
   "account.follows_you": "Prati te",
   "account.hide_reblogs": "Sakrij boostove od @{name}",
   "account.joined": "Pridružio se {date}",
-  "account.last_status": "Posljednja aktivnost",
   "account.link_verified_on": "Vlasništvo ove poveznice provjereno je {date}",
   "account.locked_info": "Status privatnosti ovog računa postavljen je na zaključano. Vlasnik ručno pregledava tko ih može pratiti.",
   "account.media": "Medijski sadržaj",
@@ -32,7 +32,6 @@
   "account.mute": "Utišaj @{name}",
   "account.mute_notifications": "Utišaj obavijesti od @{name}",
   "account.muted": "Utišano",
-  "account.never_active": "Nikad",
   "account.posts": "Tootovi",
   "account.posts_with_replies": "Tootovi i odgovori",
   "account.report": "Prijavi @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} toot} other {{counter} toota}}",
   "account.unblock": "Deblokiraj @{name}",
   "account.unblock_domain": "Deblokiraj domenu {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Ne ističi na profilu",
   "account.unfollow": "Prestani pratiti",
   "account.unmute": "Poništi utišavanje @{name}",
   "account.unmute_notifications": "Ne utišavaj obavijesti od @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Kliknite za dodavanje bilješke",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Istraživanje",
   "navigation_bar.domain_blocks": "Blokirane domene",
   "navigation_bar.edit_profile": "Uredi profil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favoriti",
   "navigation_bar.filters": "Utišane riječi",
   "navigation_bar.follow_requests": "Zahtjevi za praćenje",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 107b47b73..d121d6573 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -18,12 +18,12 @@
   "account.followers": "Követő",
   "account.followers.empty": "Ezt a felhasználót még senki sem követi.",
   "account.followers_counter": "{count, plural, one {{counter} Követő} other {{counter} Követő}}",
+  "account.following": "Követve",
   "account.following_counter": "{count, plural, other {{counter} Követett}}",
   "account.follows.empty": "Ez a felhasználó még senkit sem követ.",
   "account.follows_you": "Követ téged",
   "account.hide_reblogs": "@{name} megtolásainak elrejtése",
   "account.joined": "Csatlakozott {date}",
-  "account.last_status": "Utoljára aktív",
   "account.link_verified_on": "A linket eredetiségét ebben az időpontban ellenőriztük: {date}",
   "account.locked_info": "Ennek a fióknak zárolt a láthatósága. A tulajdonos kézzel engedélyezi, hogy ki követheti őt.",
   "account.media": "Média",
@@ -32,7 +32,6 @@
   "account.mute": "@{name} némítása",
   "account.mute_notifications": "@{name} értesítéseinek némítása",
   "account.muted": "Némítva",
-  "account.never_active": "Soha",
   "account.posts": "Bejegyzések",
   "account.posts_with_replies": "Bejegyzések és válaszok",
   "account.report": "@{name} jelentése",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Bejegyzés} other {{counter} Bejegyzés}}",
   "account.unblock": "@{name} letiltásának feloldása",
   "account.unblock_domain": "{domain} elrejtésének feloldása",
+  "account.unblock_short": "Tiltás feloldása",
   "account.unendorse": "Ne jelenjen meg a profilodon",
   "account.unfollow": "Követés megszüntetése",
   "account.unmute": "@{name} némítás feloldása",
   "account.unmute_notifications": "@{name} némított értesítéseinek feloldása",
+  "account.unmute_short": "Némitás feloldása",
   "account_note.placeholder": "Klikk a feljegyzéshez",
   "admin.dashboard.daily_retention": "Napi regisztráció utáni felhasználómegtartási arány",
   "admin.dashboard.monthly_retention": "Havi regisztráció utáni felhasználómegtartási arány",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Felfedezés",
   "navigation_bar.domain_blocks": "Rejtett domainek",
   "navigation_bar.edit_profile": "Profil szerkesztése",
+  "navigation_bar.explore": "Felfedezés",
   "navigation_bar.favourites": "Kedvencek",
   "navigation_bar.filters": "Némított szavak",
   "navigation_bar.follow_requests": "Követési kérelmek",
@@ -388,7 +390,7 @@
   "relative_time.today": "ma",
   "reply_indicator.cancel": "Mégsem",
   "report.block": "Letiltás",
-  "report.block_explanation": "Nem fogod látni a bejegyzéseit. Nem fogja tudni megnézni a bejegyzéseidet és nem követni sem fog tudni. Azt is meg fogja tudni mondani, hogy letiltottad.",
+  "report.block_explanation": "Nem fogod látni a bejegyzéseit. Nem fogja tudni megnézni a bejegyzéseidet és nem fog tudni követni sem. Azt is meg fogja tudni mondani, hogy letiltottad.",
   "report.categories.other": "Egyéb",
   "report.categories.spam": "Kéretlen üzenet",
   "report.categories.violation": "A tartalom a kiszolgáló egy vagy több szabályát sérti",
@@ -419,7 +421,7 @@
   "report.submit": "Küldés",
   "report.target": "{target} jelentése",
   "report.thanks.take_action": "Itt vannak a beállítások, melyek szabályozzák, hogy mit látsz a Mastodonon:",
-  "report.thanks.take_action_actionable": "Míg átnézzük, a következőket tehet @{name} ellen:",
+  "report.thanks.take_action_actionable": "Míg átnézzük, a következőket teheted @{name} ellen:",
   "report.thanks.title": "Nem akarod ezt látni?",
   "report.thanks.title_actionable": "Köszönjük, hogy jelentetted, megnézzük.",
   "report.unfollow": "@{name} követésének leállítása",
@@ -434,7 +436,7 @@
   "search_results.accounts": "Emberek",
   "search_results.all": "Összes",
   "search_results.hashtags": "Hashtagek",
-  "search_results.nothing_found": "Nincs találat erre a keresési kifejezésekre",
+  "search_results.nothing_found": "Nincs találat ezekre a keresési kifejezésekre",
   "search_results.statuses": "Bejegyzések",
   "search_results.statuses_fts_disabled": "Ezen a Mastodon szerveren nem engedélyezett a bejegyzések tartalom szerinti keresése.",
   "search_results.total": "{count, number} {count, plural, one {találat} other {találat}}",
diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json
index 0f984b0bc..2b7cdf5ac 100644
--- a/app/javascript/mastodon/locales/hy.json
+++ b/app/javascript/mastodon/locales/hy.json
@@ -18,12 +18,12 @@
   "account.followers": "Հետեւողներ",
   "account.followers.empty": "Այս օգտատիրոջը դեռ ոչ մէկ չի հետեւում։",
   "account.followers_counter": "{count, plural, one {{counter} Հետեւորդ} other {{counter} Հետեւորդ}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} հետեւած} other {{counter} հետեւած}}",
   "account.follows.empty": "Այս օգտատէրը դեռ ոչ մէկի չի հետեւում։",
   "account.follows_you": "Հետեւում է քեզ",
   "account.hide_reblogs": "Թաքցնել @{name}֊ի տարածածները",
   "account.joined": "Միացել է {date}-ից",
-  "account.last_status": "Վերջին այցը",
   "account.link_verified_on": "Սոյն յղման տիրապետումը ստուգուած է՝ {date}֊ին",
   "account.locked_info": "Սոյն հաշուի գաղտնիութեան մակարդակը նշուած է որպէս՝ փակ։ Հաշուի տէրն ընտրում է, թէ ով կարող է հետեւել իրեն։",
   "account.media": "Մեդիա",
@@ -32,7 +32,6 @@
   "account.mute": "Լռեցնել @{name}֊ին",
   "account.mute_notifications": "Անջատել ծանուցումները @{name}֊ից",
   "account.muted": "Լռեցուած",
-  "account.never_active": "Երբեք",
   "account.posts": "Գրառումներ",
   "account.posts_with_replies": "Գրառումներ եւ պատասխաններ",
   "account.report": "Բողոքել @{name}֊ի մասին",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Գրառում} other {{counter} Գրառումներ}}",
   "account.unblock": "Ապաարգելափակել @{name}֊ին",
   "account.unblock_domain": "Ցուցադրել {domain} թաքցուած տիրոյթի գրառումները",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Չցուցադրել անձնական էջում",
   "account.unfollow": "Ապահետեւել",
   "account.unmute": "Ապալռեցնել @{name}֊ին",
   "account.unmute_notifications": "Միացնել ծանուցումները @{name}֊ից",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Սեղմէ՛ք գրառելու համար\n",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Բացայայտել",
   "navigation_bar.domain_blocks": "Թաքցուած տիրոյթներ",
   "navigation_bar.edit_profile": "Խմբագրել անձնական էջը",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Հաւանածներ",
   "navigation_bar.filters": "Լռեցուած բառեր",
   "navigation_bar.follow_requests": "Հետեւելու հայցեր",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json
index d9a66373a..ee7810379 100644
--- a/app/javascript/mastodon/locales/id.json
+++ b/app/javascript/mastodon/locales/id.json
@@ -18,12 +18,12 @@
   "account.followers": "Pengikut",
   "account.followers.empty": "Pengguna ini belum ada pengikut.",
   "account.followers_counter": "{count, plural, other {{counter} Pengikut}}",
+  "account.following": "Mengikuti",
   "account.following_counter": "{count, plural, other {{counter} Mengikuti}}",
   "account.follows.empty": "Pengguna ini belum mengikuti siapapun.",
   "account.follows_you": "Mengikuti anda",
   "account.hide_reblogs": "Sembunyikan boosts dari @{name}",
   "account.joined": "Bergabung {date}",
-  "account.last_status": "Terakhir aktif",
   "account.link_verified_on": "Kepemilikan tautan ini telah dicek pada {date}",
   "account.locked_info": "Status privasi akun ini disetel untuk dikunci. Pemilik secara manual meninjau siapa yang dapat mengikutinya.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Bisukan @{name}",
   "account.mute_notifications": "Bisukan pemberitahuan dari @{name}",
   "account.muted": "Dibisukan",
-  "account.never_active": "Tak pernah",
   "account.posts": "Kiriman",
   "account.posts_with_replies": "Postingan dengan balasan",
   "account.report": "Laporkan @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, other {{counter} Toot}}",
   "account.unblock": "Hapus blokir @{name}",
   "account.unblock_domain": "Buka blokir domain {domain}",
+  "account.unblock_short": "Buka blokir",
   "account.unendorse": "Jangan tampilkan di profil",
   "account.unfollow": "Berhenti mengikuti",
   "account.unmute": "Berhenti membisukan @{name}",
   "account.unmute_notifications": "Berhenti bisukan pemberitahuan dari @{name}",
+  "account.unmute_short": "Bunyikan",
   "account_note.placeholder": "Klik untuk menambah catatan",
   "admin.dashboard.daily_retention": "Tingkat retensi pengguna perhari setelah mendaftar",
   "admin.dashboard.monthly_retention": "Tingkat retensi pengguna perbulan setelah mendaftar",
@@ -167,7 +168,7 @@
   "empty_column.community": "Linimasa lokal masih kosong. Tulis sesuatu secara publik dan buat roda berputar!",
   "empty_column.direct": "Anda belum memiliki pesan langsung. Ketika Anda mengirim atau menerimanya, maka akan muncul di sini.",
   "empty_column.domain_blocks": "Tidak ada topik tersembunyi.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "Tidak ada yang sedang tren pada saat ini. Silakan mengecek lagi nanti!",
   "empty_column.favourited_statuses": "Anda belum memiliki toot favorit. Ketika Anda mengirim atau menerimanya, maka akan muncul di sini.",
   "empty_column.favourites": "Belum ada yang memfavoritkan toot ini. Ketika seseorang melakukannya, akan muncul disini.",
   "empty_column.follow_recommendations": "Sepertinya tak ada saran yang dibuat untuk Anda. Anda dapat mencoba menggunakan pencarian untuk menemukan orang yang Anda ketahui atau menjelajahi tagar yang sedang tren.",
@@ -186,12 +187,12 @@
   "error.unexpected_crash.next_steps_addons": "Coba nonaktifkan mereka lalu segarkan halaman. Jika tak membantu, Anda masih bisa memakai Mastodon dengan peramban berbeda atau aplikasi murni.",
   "errors.unexpected_crash.copy_stacktrace": "Salin stacktrace ke papan klip",
   "errors.unexpected_crash.report_issue": "Laporkan masalah",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.search_results": "Hasil pencarian",
+  "explore.suggested_follows": "Untuk Anda",
+  "explore.title": "Jelajahi",
+  "explore.trending_links": "Berita",
+  "explore.trending_statuses": "Postingan",
+  "explore.trending_tags": "Tagar",
   "follow_recommendations.done": "Selesai",
   "follow_recommendations.heading": "Ikuti orang yang ingin Anda lihat kirimannya! Ini ada beberapa saran.",
   "follow_recommendations.lead": "Kiriman dari orang yang Anda ikuti akan tampil berdasar waktu di beranda Anda. Jangan takut membuat kesalahan, Anda dapat berhenti mengikuti mereka dengan mudah kapan saja!",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Temukan",
   "navigation_bar.domain_blocks": "Domain tersembunyi",
   "navigation_bar.edit_profile": "Ubah profil",
+  "navigation_bar.explore": "Jelajahi",
   "navigation_bar.favourites": "Favorit",
   "navigation_bar.filters": "Kata yang dibisukan",
   "navigation_bar.follow_requests": "Permintaan mengikuti",
@@ -307,7 +309,7 @@
   "navigation_bar.preferences": "Pengaturan",
   "navigation_bar.public_timeline": "Linimasa gabungan",
   "navigation_bar.security": "Keamanan",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} mendaftar",
   "notification.favourite": "{name} menyukai status anda",
   "notification.follow": "{name} mengikuti anda",
   "notification.follow_request": "{name} ingin mengikuti Anda",
@@ -319,7 +321,7 @@
   "notification.update": "{name} mengedit kiriman",
   "notifications.clear": "Hapus notifikasi",
   "notifications.clear_confirmation": "Apa anda yakin hendak menghapus semua notifikasi anda?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "Pendaftaran baru:",
   "notifications.column_settings.alert": "Notifikasi desktop",
   "notifications.column_settings.favourite": "Favorit:",
   "notifications.column_settings.filter_bar.advanced": "Tampilkan semua kategori",
@@ -387,43 +389,43 @@
   "relative_time.seconds": "{number}d",
   "relative_time.today": "hari ini",
   "reply_indicator.cancel": "Batal",
-  "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.block": "Blokir",
+  "report.block_explanation": "Anda tidak akan melihat postingan mereka. Mereka tidak akan bisa melihat postingan Anda atau mengikuti Anda. Mereka akan mampu menduga bahwa mereka diblokir.",
   "report.categories.other": "Lainnya",
   "report.categories.spam": "Spam",
   "report.categories.violation": "Konten melanggar satu atau lebih peraturan server",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.category.subtitle": "Pilih pasangan terbaik",
+  "report.category.title": "Beritahu kami apa yang terjadi dengan {type} ini",
+  "report.category.title_account": "profil",
+  "report.category.title_status": "postingan",
+  "report.close": "Selesai",
+  "report.comment.title": "Adakah hal lain yang perlu kami ketahui?",
   "report.forward": "Teruskan ke {target}",
   "report.forward_hint": "Akun dari server lain. Kirim salinan laporan scr anonim ke sana?",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.mute": "Bisukan",
+  "report.mute_explanation": "Anda tidak akan melihat postingan mereka. Mereka masih dapat mengikuti Anda dan melihat postingan Anda dan tidak akan mengetahui bahwa mereka dibisukan.",
+  "report.next": "Selanjutnya",
   "report.placeholder": "Komentar tambahan",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "Saya tidak menyukainya",
+  "report.reasons.dislike_description": "Ini bukan hal yang ingin Anda lihat",
+  "report.reasons.other": "Itu sesuatu yang lain",
+  "report.reasons.other_description": "Permasalahan ini tidak sesuai pada kategori lain",
+  "report.reasons.spam": "Ini spam",
+  "report.reasons.spam_description": "Tautan berbahaya, interaksi palsu, atau balasan berulang",
+  "report.reasons.violation": "Melanggar ketentuan server",
+  "report.reasons.violation_description": "Anda menyadari bahwa ia melanggar ketentuan tertentu",
+  "report.rules.subtitle": "Pilih semua yang berlaku",
+  "report.rules.title": "Ketentuan manakah yang dilanggar?",
+  "report.statuses.subtitle": "Pilih semua yang berlaku",
+  "report.statuses.title": "Adakah postingan yang mendukung pelaporan ini?",
   "report.submit": "Kirim",
   "report.target": "Melaporkan",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.thanks.take_action": "Berikut adalah pilihan Anda untuk mengatur apa yang Anda lihat di Mastodon:",
+  "report.thanks.take_action_actionable": "Ketika kami meninjau ini, Anda dapat mengambil tindakan terhadap @{name}:",
+  "report.thanks.title": "Tidak ingin melihat ini?",
+  "report.thanks.title_actionable": "Terima kasih atas pelaporan Anda, kami akan memeriksa ini lebih lanjut.",
+  "report.unfollow": "Berhenti mengikuti @{name}",
+  "report.unfollow_explanation": "Anda mengikuti akun ini. Untuk tidak melihat postingan mereka di Beranda Anda, berhenti mengikuti mereka.",
   "search.placeholder": "Pencarian",
   "search_popout.search_format": "Format pencarian mahir",
   "search_popout.tips.full_text": "Teks simpel menampilkan status yang Anda tulis, favoritkan, boost-kan, atau status yang menyebut Anda, serta nama pengguna, nama yang ditampilkan, dan tagar yang cocok.",
@@ -432,9 +434,9 @@
   "search_popout.tips.text": "Teks sederhana menampilkan nama yang ditampilkan, nama pengguna, dan tagar yang cocok",
   "search_popout.tips.user": "pengguna",
   "search_results.accounts": "Orang",
-  "search_results.all": "All",
+  "search_results.all": "Semua",
   "search_results.hashtags": "Tagar",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "Tidak dapat menemukan apapun untuk istilah-istilah pencarian ini",
   "search_results.statuses": "Toot",
   "search_results.statuses_fts_disabled": "Pencarian toot berdasarkan konten tidak diaktifkan di server Mastadon ini.",
   "search_results.total": "{count, number} {count, plural, one {hasil} other {hasil}}",
diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json
index ef4a489ad..77c6871a4 100644
--- a/app/javascript/mastodon/locales/io.json
+++ b/app/javascript/mastodon/locales/io.json
@@ -18,12 +18,12 @@
   "account.followers": "Sequanti",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Sequas tu",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Celar @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "Mesaji",
   "account.posts_with_replies": "Toots with replies",
   "account.report": "Denuncar @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Desblokusar @{name}",
   "account.unblock_domain": "Unhide {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Ne plus sequar",
   "account.unmute": "Ne plus celar @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Modifikar profilo",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favorati",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Demandi di sequado",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json
index 34e539360..bf1b892e6 100644
--- a/app/javascript/mastodon/locales/is.json
+++ b/app/javascript/mastodon/locales/is.json
@@ -18,12 +18,12 @@
   "account.followers": "Fylgjendur",
   "account.followers.empty": "Ennþá fylgist enginn með þessum notanda.",
   "account.followers_counter": "{count, plural, one {{counter} fylgjandi} other {{counter} fylgjendur}}",
+  "account.following": "Fylgist með",
   "account.following_counter": "{count, plural, one {{counter} fylgist með} other {{counter} fylgjast með}}",
   "account.follows.empty": "Þessi notandi fylgist ennþá ekki með neinum.",
   "account.follows_you": "Fylgir þér",
   "account.hide_reblogs": "Fela endurbirtingar fyrir @{name}",
   "account.joined": "Gerðist þátttakandi {date}",
-  "account.last_status": "Síðasta virkni",
   "account.link_verified_on": "Eignarhald á þessum tengli var athugað þann {date}",
   "account.locked_info": "Staða gagnaleyndar á þessum aðgangi er stillt á læsingu. Eigandinn yfirfer handvirkt hverjir geti fylgst með honum.",
   "account.media": "Myndskrár",
@@ -32,7 +32,6 @@
   "account.mute": "Þagga niður í @{name}",
   "account.mute_notifications": "Þagga tilkynningar frá @{name}",
   "account.muted": "Þaggað",
-  "account.never_active": "Aldrei",
   "account.posts": "Færslur",
   "account.posts_with_replies": "Færslur og svör",
   "account.report": "Kæra @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} færsla} other {{counter} færslur}}",
   "account.unblock": "Aflétta útilokun af @{name}",
   "account.unblock_domain": "Aflétta útilokun lénsins {domain}",
+  "account.unblock_short": "Hætta að loka á",
   "account.unendorse": "Ekki birta á notandasniði",
   "account.unfollow": "Hætta að fylgja",
   "account.unmute": "Hætta að þagga niður í @{name}",
   "account.unmute_notifications": "Hætta að þagga tilkynningar frá @{name}",
+  "account.unmute_short": "Hætta að þagga niður",
   "account_note.placeholder": "Smelltu til að bæta við minnispunkti",
   "admin.dashboard.daily_retention": "Hlutfall virkra notenda eftir nýskráningu eftir dögum",
   "admin.dashboard.monthly_retention": "Hlutfall virkra notenda eftir nýskráningu eftir mánuðum",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Uppgötva",
   "navigation_bar.domain_blocks": "Útilokuð lén",
   "navigation_bar.edit_profile": "Breyta notandasniði",
+  "navigation_bar.explore": "Kanna",
   "navigation_bar.favourites": "Eftirlæti",
   "navigation_bar.filters": "Þögguð orð",
   "navigation_bar.follow_requests": "Beiðnir um að fylgjast með",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index 5530c5abf..1985450a5 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -18,12 +18,12 @@
   "account.followers": "Follower",
   "account.followers.empty": "Nessuno segue ancora questo utente.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Follower}}",
+  "account.following": "Seguiti",
   "account.following_counter": "{count, plural, other {{counter} Seguiti}}",
   "account.follows.empty": "Questo utente non segue nessuno ancora.",
   "account.follows_you": "Ti segue",
   "account.hide_reblogs": "Nascondi condivisioni da @{name}",
   "account.joined": "Su questa istanza dal {date}",
-  "account.last_status": "Ultima attività",
   "account.link_verified_on": "La proprietà di questo link è stata controllata il {date}",
   "account.locked_info": "Questo è un account privato. Il proprietario approva manualmente chi può seguirlo.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Silenzia @{name}",
   "account.mute_notifications": "Silenzia notifiche da @{name}",
   "account.muted": "Silenziato",
-  "account.never_active": "Mai",
   "account.posts": "Post",
   "account.posts_with_replies": "Post e risposte",
   "account.report": "Segnala @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Post} other {{counter} Post}}",
   "account.unblock": "Sblocca @{name}",
   "account.unblock_domain": "Sblocca il dominio {domain}",
+  "account.unblock_short": "Sblocca",
   "account.unendorse": "Non mostrare sul profilo",
   "account.unfollow": "Smetti di seguire",
   "account.unmute": "Riattiva @{name}",
   "account.unmute_notifications": "Riattiva le notifiche da @{name}",
+  "account.unmute_short": "Riattiva l'audio",
   "account_note.placeholder": "Clicca per aggiungere una nota",
   "admin.dashboard.daily_retention": "Tasso di ritenzione utente per giorno dopo la registrazione",
   "admin.dashboard.monthly_retention": "Tasso di ritenzione utente per mese dopo la registrazione",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Scopri",
   "navigation_bar.domain_blocks": "Domini nascosti",
   "navigation_bar.edit_profile": "Modifica profilo",
+  "navigation_bar.explore": "Esplora",
   "navigation_bar.favourites": "Apprezzati",
   "navigation_bar.filters": "Parole silenziate",
   "navigation_bar.follow_requests": "Richieste di seguirti",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index 0ae51ff04..3fd164f85 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -18,12 +18,12 @@
   "account.followers": "フォロワー",
   "account.followers.empty": "まだ誰もフォローしていません。",
   "account.followers_counter": "{counter} フォロワー",
+  "account.following": "Following",
   "account.following_counter": "{counter} フォロー",
   "account.follows.empty": "まだ誰もフォローしていません。",
   "account.follows_you": "フォローされています",
   "account.hide_reblogs": "@{name}さんからのブーストを非表示",
   "account.joined": "{date} に登録",
-  "account.last_status": "最後の活動",
   "account.link_verified_on": "このリンクの所有権は{date}に確認されました",
   "account.locked_info": "このアカウントは承認制アカウントです。相手が承認するまでフォローは完了しません。",
   "account.media": "メディア",
@@ -32,7 +32,6 @@
   "account.mute": "@{name}さんをミュート",
   "account.mute_notifications": "@{name}さんからの通知を受け取らない",
   "account.muted": "ミュート済み",
-  "account.never_active": "活動なし",
   "account.posts": "投稿",
   "account.posts_with_replies": "投稿と返信",
   "account.report": "@{name}さんを通報",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{counter} 投稿",
   "account.unblock": "@{name}さんのブロックを解除",
   "account.unblock_domain": "{domain}のブロックを解除",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "プロフィールから外す",
   "account.unfollow": "フォロー解除",
   "account.unmute": "@{name}さんのミュートを解除",
   "account.unmute_notifications": "@{name}さんからの通知を受け取るようにする",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "クリックしてメモを追加",
   "admin.dashboard.daily_retention": "サインアップ後の日ごとのユーザー継続率",
   "admin.dashboard.monthly_retention": "サインアップ後の月ごとのユーザー継続率",
@@ -171,7 +172,7 @@
   "empty_column.community": "ローカルタイムラインはまだ使われていません。何か書いてみましょう!",
   "empty_column.direct": "ダイレクトメッセージはまだありません。ダイレクトメッセージをやりとりすると、ここに表示されます。",
   "empty_column.domain_blocks": "ブロックしているドメインはありません。",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "まだ何もありません。後で確認してください。",
   "empty_column.favourited_statuses": "まだ何もお気に入り登録していません。お気に入り登録するとここに表示されます。",
   "empty_column.favourites": "まだ誰もお気に入り登録していません。お気に入り登録されるとここに表示されます。",
   "empty_column.follow_recommendations": "おすすめを生成できませんでした。検索を使って知り合いを探したり、トレンドハッシュタグを見てみましょう。",
@@ -190,12 +191,12 @@
   "error.unexpected_crash.next_steps_addons": "それらを無効化してからリロードをお試しください。それでも解決しない場合、他のブラウザやアプリで Mastodon をお試しください。",
   "errors.unexpected_crash.copy_stacktrace": "スタックトレースをクリップボードにコピー",
   "errors.unexpected_crash.report_issue": "問題を報告",
-  "explore.search_results": "Search results",
+  "explore.search_results": "検索結果",
   "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.title": "エクスプローラー",
+  "explore.trending_links": "ニュース",
+  "explore.trending_statuses": "投稿",
+  "explore.trending_tags": "ハッシュタグ",
   "follow_recommendations.done": "完了",
   "follow_recommendations.heading": "投稿を見たい人をフォローしてください!ここにおすすめがあります。",
   "follow_recommendations.lead": "あなたがフォローしている人の投稿は、ホームフィードに時系列で表示されます。いつでも簡単に解除できるので、気軽にフォローしてみてください!",
@@ -297,6 +298,7 @@
   "navigation_bar.discover": "見つける",
   "navigation_bar.domain_blocks": "ブロックしたドメイン",
   "navigation_bar.edit_profile": "プロフィールを編集",
+  "navigation_bar.explore": "エクスプローラー",
   "navigation_bar.favourites": "お気に入り",
   "navigation_bar.filters": "フィルター設定",
   "navigation_bar.follow_requests": "フォローリクエスト",
@@ -312,7 +314,7 @@
   "navigation_bar.public_timeline": "連合タイムライン",
   "navigation_bar.misc": "その他",
   "navigation_bar.security": "セキュリティ",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} がサインアップしました",
   "notification.favourite": "{name}さんがあなたの投稿をお気に入りに登録しました",
   "notification.follow": "{name}さんにフォローされました",
   "notification.follow_request": "{name} さんがあなたにフォローリクエストしました",
@@ -392,43 +394,43 @@
   "relative_time.seconds": "{number}秒前",
   "relative_time.today": "今日",
   "reply_indicator.cancel": "キャンセル",
-  "report.block": "Block",
+  "report.block": "ブロック",
   "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
   "report.categories.other": "その他",
   "report.categories.spam": "スパム",
   "report.categories.violation": "サーバーのルールに違反",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
+  "report.category.subtitle": "近いものを選択してください",
+  "report.category.title": "この{type}について教えてください",
+  "report.category.title_account": "プロフィール",
+  "report.category.title_status": "投稿",
+  "report.close": "完了",
   "report.comment.title": "Is there anything else you think we should know?",
   "report.forward": "{target} に転送する",
   "report.forward_hint": "このアカウントは別のサーバーに所属しています。通報内容を匿名で転送しますか?",
-  "report.mute": "Mute",
+  "report.mute": "ミュート",
   "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.next": "次へ",
   "report.placeholder": "追加コメント",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "興味がありません",
+  "report.reasons.dislike_description": "見たくない内容の場合",
+  "report.reasons.other": "その他",
+  "report.reasons.other_description": "当てはまる選択肢がない場合",
+  "report.reasons.spam": "これはスパムです",
+  "report.reasons.spam_description": "悪意のあるリンクや虚偽の情報、執拗な返信など",
+  "report.reasons.violation": "サーバーのルールに違反しています",
+  "report.reasons.violation_description": "ルールに違反しているのを見つけた場合",
+  "report.rules.subtitle": "当てはまるものをすべて選んでください:",
+  "report.rules.title": "どのルールに違反していますか?",
+  "report.statuses.subtitle": "当てはまるものをすべて選んでください:",
+  "report.statuses.title": "この通報を裏付けるような投稿はありますか?",
   "report.submit": "通報する",
   "report.target": "{target}さんを通報する",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
+  "report.thanks.take_action": "次のような方法はいかがでしょうか?",
   "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
+  "report.thanks.title": "見えないようにしたいですか?",
   "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.unfollow": "@{name}のフォローを解除",
+  "report.unfollow_explanation": "このアカウントをフォローしています。ホームフィードに彼らの投稿を表示しないようにするには、彼らのフォローを外してください。",
   "search.placeholder": "検索",
   "search_popout.search_format": "高度な検索フォーマット",
   "search_popout.tips.full_text": "表示名やユーザー名、ハッシュタグのほか、あなたの投稿やお気に入り、ブーストした投稿、返信に一致する単純なテキスト。",
@@ -437,7 +439,7 @@
   "search_popout.tips.text": "表示名やユーザー名、ハッシュタグに一致する単純なテキスト",
   "search_popout.tips.user": "ユーザー",
   "search_results.accounts": "人々",
-  "search_results.all": "All",
+  "search_results.all": "すべて",
   "search_results.hashtags": "ハッシュタグ",
   "search_results.nothing_found": "Could not find anything for these search terms",
   "search_results.statuses": "投稿",
diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json
index 561770060..f6f3f1e10 100644
--- a/app/javascript/mastodon/locales/ka.json
+++ b/app/javascript/mastodon/locales/ka.json
@@ -18,12 +18,12 @@
   "account.followers": "მიმდევრები",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "მოგყვებათ",
   "account.hide_reblogs": "დაიმალოს ბუსტები @{name}-სგან",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "მედია",
@@ -32,7 +32,6 @@
   "account.mute": "გააჩუმე @{name}",
   "account.mute_notifications": "გააჩუმე შეტყობინებები @{name}-სგან",
   "account.muted": "გაჩუმებული",
-  "account.never_active": "Never",
   "account.posts": "ტუტები",
   "account.posts_with_replies": "ტუტები და პასუხები",
   "account.report": "დაარეპორტე @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "განბლოკე @{name}",
   "account.unblock_domain": "გამოაჩინე {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "არ გამოირჩეს პროფილზე",
   "account.unfollow": "ნუღარ მიჰყვები",
   "account.unmute": "ნუღარ აჩუმებ @{name}-ს",
   "account.unmute_notifications": "ნუღარ აჩუმებ შეტყობინებებს @{name}-სგან",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "აღმოაჩინე",
   "navigation_bar.domain_blocks": "დამალული დომენები",
   "navigation_bar.edit_profile": "შეცვალე პროფილი",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "ფავორიტები",
   "navigation_bar.filters": "გაჩუმებული სიტყვები",
   "navigation_bar.follow_requests": "დადევნების მოთხოვნები",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json
index 0f0880100..d6fcc2c7b 100644
--- a/app/javascript/mastodon/locales/kab.json
+++ b/app/javascript/mastodon/locales/kab.json
@@ -18,12 +18,12 @@
   "account.followers": "Imeḍfaren",
   "account.followers.empty": "Ar tura, ulac yiwen i yeṭṭafaṛen amseqdac-agi.",
   "account.followers_counter": "{count, plural, one {{count} n umeḍfar} other {{count} n imeḍfaren}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} yeṭṭafaren} aḍfar {{counter} wayeḍ}}",
   "account.follows.empty": "Ar tura, amseqdac-agi ur yeṭṭafaṛ yiwen.",
   "account.follows_you": "Yeṭṭafaṛ-ik",
   "account.hide_reblogs": "Ffer ayen i ibeṭṭu @{name}",
   "account.joined": "Yerna-d {date}",
-  "account.last_status": "Armud aneggaru",
   "account.link_verified_on": "Taɣara n useɣwen-a tettwasenqed ass n {date}",
   "account.locked_info": "Amiḍan-agi uslig isekweṛ. D bab-is kan i izemren ad yeǧǧ, s ufus-is, win ara t-iḍefṛen.",
   "account.media": "Amidya",
@@ -32,7 +32,6 @@
   "account.mute": "Sgugem @{name}",
   "account.mute_notifications": "Sgugem tilɣa sγur @{name}",
   "account.muted": "Yettwasgugem",
-  "account.never_active": "Werǧin",
   "account.posts": "Tijewwaqin",
   "account.posts_with_replies": "Tijewwaqin akked tririyin",
   "account.report": "Cetki ɣef @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} ajewwaq} other {{counter} ijewwaqen}}",
   "account.unblock": "Serreḥ i @{name}",
   "account.unblock_domain": "Ssken-d {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Ur ttwellih ara fell-as deg umaɣnu-inek",
   "account.unfollow": "Ur ṭṭafaṛ ara",
   "account.unmute": "Kkes asgugem ɣef @{name}",
   "account.unmute_notifications": "Serreḥ ilɣa sɣur @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Ulac iwenniten",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -187,11 +188,11 @@
   "errors.unexpected_crash.copy_stacktrace": "Nɣel stacktrace ɣef wafus",
   "errors.unexpected_crash.report_issue": "Mmel ugur",
   "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
+  "explore.suggested_follows": "I kečč·kem",
   "explore.title": "Explore",
   "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.trending_statuses": "Tisuffaɣ",
+  "explore.trending_tags": "Ihacṭagen",
   "follow_recommendations.done": "Immed",
   "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!",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Ẓer",
   "navigation_bar.domain_blocks": "Tiɣula yeffren",
   "navigation_bar.edit_profile": "Ẓreg amaɣnu",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Ismenyifen",
   "navigation_bar.filters": "Awalen i yettwasgugmen",
   "navigation_bar.follow_requests": "Isuturen n teḍfeṛt",
@@ -394,13 +396,13 @@
   "report.categories.violation": "Content violates one or more server rules",
   "report.category.subtitle": "Choose the best match",
   "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
+  "report.category.title_account": "ameγnu",
+  "report.category.title_status": "tasuffeɣt",
+  "report.close": "Immed",
   "report.comment.title": "Is there anything else you think we should know?",
   "report.forward": "Bren-it ɣeṛ {target}",
   "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
-  "report.mute": "Mute",
+  "report.mute": "Sgugem",
   "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
   "report.next": "Next",
   "report.placeholder": "Iwenniten-nniḍen",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json
index 3bd56653c..28156f956 100644
--- a/app/javascript/mastodon/locales/kk.json
+++ b/app/javascript/mastodon/locales/kk.json
@@ -18,12 +18,12 @@
   "account.followers": "Оқырмандар",
   "account.followers.empty": "Әлі ешкім жазылмаған.",
   "account.followers_counter": "{count, plural, one {{counter} Оқырман} other {{counter} Оқырман}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Жазылым} other {{counter} Жазылым}}",
   "account.follows.empty": "Ешкімге жазылмапты.",
   "account.follows_you": "Сізге жазылыпты",
   "account.hide_reblogs": "@{name} атты қолданушының әрекеттерін жасыру",
   "account.joined": "Joined {date}",
-  "account.last_status": "Соңғы белсенділік",
   "account.link_verified_on": "Сілтеме меншігі расталған күн {date}",
   "account.locked_info": "Бұл қолданушы өзі туралы мәліметтерді жасырған. Тек жазылғандар ғана көре алады.",
   "account.media": "Медиа",
@@ -32,7 +32,6 @@
   "account.mute": "Үнсіз қылу @{name}",
   "account.mute_notifications": "@{name} туралы ескертпелерді жасыру",
   "account.muted": "Үнсіз",
-  "account.never_active": "Ешқашан",
   "account.posts": "Жазбалар",
   "account.posts_with_replies": "Жазбалар мен жауаптар",
   "account.report": "Шағымдану @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Пост} other {{counter} Пост}}",
   "account.unblock": "Бұғаттан шығару @{name}",
   "account.unblock_domain": "Бұғаттан шығару {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Профильде рекомендемеу",
   "account.unfollow": "Оқымау",
   "account.unmute": "@{name} ескертпелерін қосу",
   "account.unmute_notifications": "@{name} ескертпелерін көрсету",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "шарлау",
   "navigation_bar.domain_blocks": "Жабық домендер",
   "navigation_bar.edit_profile": "Профиль түзету",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Таңдаулылар",
   "navigation_bar.filters": "Үнсіз сөздер",
   "navigation_bar.follow_requests": "Жазылуға сұранғандар",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/kmr.json b/app/javascript/mastodon/locales/kmr.json
deleted file mode 100644
index 84c8978a4..000000000
--- a/app/javascript/mastodon/locales/kmr.json
+++ /dev/null
@@ -1,541 +0,0 @@
-{
-  "account.account_note_header": "Nîşe",
-  "account.add_or_remove_from_list": "Tevlî bike an rake ji rêzokê",
-  "account.badges.bot": "Bot",
-  "account.badges.group": "Kom",
-  "account.block": "@{name} asteng bike",
-  "account.block_domain": "{domain} navpar asteng bike",
-  "account.blocked": "Astengkirî",
-  "account.browse_more_on_origin_server": "Li pelên resen bêhtir bigere",
-  "account.cancel_follow_request": "Daxwaza şopandinê rake",
-  "account.direct": "Peyamekê bişîne @{name}",
-  "account.disable_notifications": "Êdî min agahdar neke gava @{name} diweşîne",
-  "account.domain_blocked": "Navper hate astengkirin",
-  "account.edit_profile": "Profîl serrast bike",
-  "account.enable_notifications": "Min agahdar bike gava @{name} diweşîne",
-  "account.endorse": "Taybetiyên li ser profîl",
-  "account.follow": "Bişopîne",
-  "account.followers": "Şopîner",
-  "account.followers.empty": "Kesekî hin ev bikarhêner neşopandiye.",
-  "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
-  "account.following_counter": "{count, plural, one {{counter} Dişopîne} other {{counter} Dişopîne}}",
-  "account.follows.empty": "Ev bikarhêner hin kesekî heya niha neşopandiye.",
-  "account.follows_you": "Te dişopîne",
-  "account.hide_reblogs": "Bilindkirinên ji @{name} veşêre",
-  "account.joined": "Tevlîbû di {date} de",
-  "account.last_status": "Çalakiya dawî",
-  "account.link_verified_on": "Xwedaniya li vê girêdanê di {date} de hatiye kontrolkirin",
-  "account.locked_info": "Rewşa vê ajimêrê wek kilît kirî hatiye saz kirin. Xwedî yê ajimêrê, kesên vê bişopîne bi dest vekolin dike.",
-  "account.media": "Medya",
-  "account.mention": "Qal @{name} bike",
-  "account.moved_to": "{name} hate livandin bo:",
-  "account.mute": "@{name} Bêdeng bike",
-  "account.mute_notifications": "Agahdariyan ji @{name} bêdeng bike",
-  "account.muted": "Bêdengkirî",
-  "account.never_active": "Tu car",
-  "account.posts": "Şandî",
-  "account.posts_with_replies": "Şandî û bersiv",
-  "account.report": "@{name} Ragihîne",
-  "account.requested": "Li benda erêkirinê ye. Ji bo betal kirina daxwazê pêl bikin",
-  "account.share": "Profîla @{name} parve bike",
-  "account.show_reblogs": "Bilindkirinên ji @{name} nîşan bike",
-  "account.statuses_counter": "{count, plural,one {{counter} şandî}other {{counter} şandî}}",
-  "account.unblock": "Astengê li ser @{name} rake",
-  "account.unblock_domain": "Astengê li ser navperê {domain} rake",
-  "account.unendorse": "Li ser profîl nîşan neke",
-  "account.unfollow": "Neşopîne",
-  "account.unmute": "@{name} Bêdeng bike",
-  "account.unmute_notifications": "Agahdariyan ji @{name} bêdeng bike",
-  "account_note.placeholder": "Bitikîne bo nîşeyekê tevlî bikî",
-  "admin.dashboard.daily_retention": "Rêjeya ragirtina bikarhêner bi roj piştî tomarkirinê",
-  "admin.dashboard.monthly_retention": "Rêjeya ragirtina bikarhêner bi meh piştî tomarkirinê",
-  "admin.dashboard.retention.average": "Navîn",
-  "admin.dashboard.retention.cohort": "Meha tomarkirinê",
-  "admin.dashboard.retention.cohort_size": "Bikarhênerên nû",
-  "alert.rate_limited.message": "Jkx dîsa biceribîne piştî {retry_time, time, medium}.\n \n",
-  "alert.rate_limited.title": "Rêje sînorkirî ye",
-  "alert.unexpected.message": "Çewtiyeke bêhêvî çê bû.",
-  "alert.unexpected.title": "Wey li min!",
-  "announcement.announcement": "Daxuyanî",
-  "attachments_list.unprocessed": "(bêpêvajo)",
-  "autosuggest_hashtag.per_week": "Her hefte {count}",
-  "boost_modal.combo": "Ji bo derbas bî carekî din de pêlê {combo} bike",
-  "bundle_column_error.body": "Di dema barkirina vê hêmanê de tiştek çewt çê bû.",
-  "bundle_column_error.retry": "Dîsa biceribîne",
-  "bundle_column_error.title": "Çewtiya torê",
-  "bundle_modal_error.close": "Bigire",
-  "bundle_modal_error.message": "Di dema barkirina vê hêmanê de tiştek çewt çê bû.",
-  "bundle_modal_error.retry": "Dîsa bicerbîne",
-  "column.blocks": "Bikarhênerên astengkirî",
-  "column.bookmarks": "Şûnpel",
-  "column.community": "Demnameya herêmî",
-  "column.direct": "Peyamên taybet",
-  "column.directory": "Li profîlan bigere",
-  "column.domain_blocks": "Navperên astengkirî",
-  "column.favourites": "Bijarte",
-  "column.follow_requests": "Daxwazên şopandinê",
-  "column.home": "Serrûpel",
-  "column.lists": "Rêzok",
-  "column.mutes": "Bikarhênerên bêdengkirî",
-  "column.notifications": "Agahdarî",
-  "column.pins": "Şandiya derzîkirî",
-  "column.public": "Demnameyê federalîkirî",
-  "column_back_button.label": "Veger",
-  "column_header.hide_settings": "Sazkariyan veşêre",
-  "column_header.moveLeft_settings": "Stûnê bilivîne bo çepê",
-  "column_header.moveRight_settings": "Stûnê bilivîne bo rastê",
-  "column_header.pin": "Bi derzî bike",
-  "column_header.show_settings": "Sazkariyan nîşan bide",
-  "column_header.unpin": "Bi derzî neke",
-  "column_subheading.settings": "Sazkarî",
-  "community.column_settings.local_only": "Tenê herêmî",
-  "community.column_settings.media_only": "Tenê media",
-  "community.column_settings.remote_only": "Tenê ji dûr ve",
-  "compose_form.direct_message_warning": "Ev şandî tenê ji bikarhênerên qalkirî re wê were şandin.",
-  "compose_form.direct_message_warning_learn_more": "Bêtir fêr bibe",
-  "compose_form.hashtag_warning": "Ev şandî ji ber ku nehatiye tomarkirin dê di binê hashtagê de neyê tomar kirin. Tenê peyamên gelemperî dikarin bi hashtagê werin lêgerîn.",
-  "compose_form.lock_disclaimer": "Ajimêrê te {locked} nîne. Herkes dikare te bişopîne da ku şandiyên te yên tenê şopînerên te ra xûya dibin bibînin.",
-  "compose_form.lock_disclaimer.lock": "girtî ye",
-  "compose_form.placeholder": "Çi di hişê te derbas dibe?",
-  "compose_form.poll.add_option": "Hilbijarekî tevlî bike",
-  "compose_form.poll.duration": "Dema rapirsî yê",
-  "compose_form.poll.option_placeholder": "{number} Hilbijêre",
-  "compose_form.poll.remove_option": "Vê hilbijarê rake",
-  "compose_form.poll.switch_to_multiple": "Rapirsî yê biguherînin da ku destûr bidin vebijarkên pirjimar",
-  "compose_form.poll.switch_to_single": "Rapirsîyê biguherîne da ku mafê bidî tenê vebijêrkek",
-  "compose_form.publish": "Toot",
-  "compose_form.publish_loud": "{publish}!",
-  "compose_form.save_changes": "Guhertinan tomar bike",
-  "compose_form.sensitive.hide": "{count, plural, one {Medya wekî hestiyar nîşan bide} other {Medya wekî hestiyar nîşan bide}}",
-  "compose_form.sensitive.marked": "{count, plural, one {Medya wekî hestiyar hate nîşan} other {Medya wekî hestiyar nîşan}}",
-  "compose_form.sensitive.unmarked": "{count, plural, one {Medya wekî hestiyar nehatiye nîşan} other {Medya wekî hestiyar nehatiye nîşan}}",
-  "compose_form.spoiler.marked": "Hişyariya naverokê rake",
-  "compose_form.spoiler.unmarked": "Hişyariya naverokê tevlî bike",
-  "compose_form.spoiler_placeholder": "Li vir hişyariya xwe binivîse",
-  "confirmation_modal.cancel": "Dev jê berde",
-  "confirmations.block.block_and_report": "Asteng bike & ragihîne",
-  "confirmations.block.confirm": "Asteng bike",
-  "confirmations.block.message": "Ma tu dixwazî ku {name} asteng bikî?",
-  "confirmations.delete.confirm": "Jê bibe",
-  "confirmations.delete.message": "Ma tu dixwazî vê şandiyê jê bibî?",
-  "confirmations.delete_list.confirm": "Jê bibe",
-  "confirmations.delete_list.message": "Ma tu dixwazî bi awayekî herdemî vê rêzokê jê bibî?",
-  "confirmations.discard_edit_media.confirm": "Biavêje",
-  "confirmations.discard_edit_media.message": "Guhertinên neqedandî di danasîna an pêşdîtina medyayê de hene, wan bi her awayî bavêje?",
-  "confirmations.domain_block.confirm": "Hemî navperê asteng bike",
-  "confirmations.domain_block.message": "Tu ji xwe bawerî, bi rastî tu dixwazî hemû {domain} asteng bikî? Di gelek rewşan de asteng kirin an jî bêdeng kirin têrê dike û tê tercîh kirin. Tu nikarî naveroka vê navperê di demnameyê an jî agahdariyên xwe de bibînî. Şopînerên te yê di vê navperê were jêbirin.",
-  "confirmations.logout.confirm": "Derkeve",
-  "confirmations.logout.message": "Ma tu dixwazî ku derkevî?",
-  "confirmations.mute.confirm": "Bêdeng bike",
-  "confirmations.mute.explanation": "Ev ê şandinên ji wan tê û şandinên ku behsa wan dike veşêre, lê hê jî maf dide ku ew şandinên te bibînin û te bişopînin.",
-  "confirmations.mute.message": "Bi rastî tu dixwazî {name} bêdeng bikî?",
-  "confirmations.redraft.confirm": "Jê bibe & ji nû ve serrast bike",
-  "confirmations.redraft.message": "Bi rastî tu dixwazî şandî ye jê bibî û nûve reşnivîsek çê bikî? Bijare û şandî wê wenda bibin û bersivên ji bo şandiyê resen wê sêwî bimînin.",
-  "confirmations.reply.confirm": "Bersivê bide",
-  "confirmations.reply.message": "Bersiva niha li ser peyama ku tu niha berhev dikî dê binivsîne. Ma pê bawer î ku tu dixwazî bidomînî?",
-  "confirmations.unfollow.confirm": "Neşopîne",
-  "confirmations.unfollow.message": "Ma tu dixwazî ku dev ji şopa {name} berdî?",
-  "conversation.delete": "Axaftinê jê bibe",
-  "conversation.mark_as_read": "Wekî xwendî nîşan bide",
-  "conversation.open": "Axaftinê nîşan bide",
-  "conversation.with": "Bi {names} re",
-  "directory.federated": "Ji fediversên naskirî",
-  "directory.local": "Tenê ji {domain}",
-  "directory.new_arrivals": "Kesên ku nû hatine",
-  "directory.recently_active": "Di demên dawî de çalak",
-  "embed.instructions": "Bi jêgirtina koda jêrîn vê şandiyê li ser malpera xwe bicîh bikin.",
-  "embed.preview": "Wa ye wê wusa xuya bike:",
-  "emoji_button.activity": "Çalakî",
-  "emoji_button.custom": "Kesanekirî",
-  "emoji_button.flags": "Nîşankirî",
-  "emoji_button.food": "Xwarin û vexwarin",
-  "emoji_button.label": "Emoji têxe",
-  "emoji_button.nature": "Sirûştî",
-  "emoji_button.not_found": "Hestokên lihevhatî nehate dîtin",
-  "emoji_button.objects": "Tişt",
-  "emoji_button.people": "Mirov",
-  "emoji_button.recent": "Pir caran tê bikaranîn",
-  "emoji_button.search": "Bigere...",
-  "emoji_button.search_results": "Encamên lêgerînê",
-  "emoji_button.symbols": "Sembol",
-  "emoji_button.travel": "Geşt û şûn",
-  "empty_column.account_suspended": "Ajimêr hatiye rawestandin",
-  "empty_column.account_timeline": "Li vir şandî tune!",
-  "empty_column.account_unavailable": "Profîl nayê peydakirin",
-  "empty_column.blocks": "Te tu bikarhêner asteng nekiriye.",
-  "empty_column.bookmarked_statuses": "Hîn tu peyamên şûnpelkirî tuneye. Gava ku hûn yek şûnpel bikin, ew ê li vir xûya bike.",
-  "empty_column.community": "Demnameya herêmî vala ye. Tiştek ji raya giştî re binivsînin da ku rûpel biherike!",
-  "empty_column.direct": "Hêj peyameke te yê rasterast tuneye. Gava ku tu yekî bişeynî an jî bigirî, ew ê li vir xûya bike.",
-  "empty_column.domain_blocks": "Hê jî navperên hatine asteng kirin tune ne.",
-  "empty_column.explore_statuses": "Tiştek niha di rojevê de tune. Paşê vegere!",
-  "empty_column.favourited_statuses": "Hîn tu peyamên te yên bijare tunene. Gava ku te yekî bijart, ew ê li vir xûya bike.",
-  "empty_column.favourites": "Hîn tu kes vê peyamê nebijartiye. Gava ku hin kes bijartin, ew ê li vir xûya bikin.",
-  "empty_column.follow_recommendations": "Wusa dixuye ku ji bo we tu pêşniyar nehatine çêkirin. Hûn dikarin lêgerînê bikarbînin da ku li kesên ku hûn nas dikin bigerin an hashtagên trendî bigerin.",
-  "empty_column.follow_requests": "Hê jî daxwaza şopandinê tunne ye. Dema daxwazek hat, yê li vir were nîşan kirin.",
-  "empty_column.hashtag": "Di vê hashtagê de hêj tiştekî tune.",
-  "empty_column.home": "Demnameya mala we vala ye! Ji bona tijîkirinê bêtir mirovan bişopînin. {suggestions}",
-  "empty_column.home.suggestions": "Hinek pêşniyaran bibîne",
-  "empty_column.list": "Di vê rêzokê de hîn tiştek tune ye. Gava ku endamên vê rêzokê peyamên nû biweşînin, ew ê li vir xuya bibin.",
-  "empty_column.lists": "Hêj qet rêzokê te tunne ye. Dema yek peyda bû, yê li vir were nîşan kirin.",
-  "empty_column.mutes": "Te tu bikarhêner bêdeng nekiriye.",
-  "empty_column.notifications": "Hêj hişyariyên te tunene. Dema ku mirovên din bi we re têkilî danîn, hûn ê wê li vir bibînin.",
-  "empty_column.public": "Li vir tiştekî tuneye! Ji raya giştî re tiştekî binivîsîne, an ji bo tijîkirinê ji rajekerên din bikarhêneran bi destan bişopînin",
-  "error.unexpected_crash.explanation": "Ji ber xeletîyeke di koda me da an jî ji ber mijara lihevhatina gerokan, ev rûpel rast nehat nîşandan.",
-  "error.unexpected_crash.explanation_addons": "Ev rûpel bi awayekî rast nehat nîşandan. Ev çewtî mimkûn e ji ber lêzêdekirina gerokan an jî amûrên wergera xweberî pêk tê.",
-  "error.unexpected_crash.next_steps": "Nûkirina rûpelê biceribîne. Heke ev bi kêr neyê, dibe ku te hîn jî bi rêya gerokeke cuda an jî sepana xwecîhê Mastodonê bi kar bîne.",
-  "error.unexpected_crash.next_steps_addons": "Ne çalak kirin û nûkirina rûpelê biceribîne. Heke ev bi kêr neyê, dibe ku te hîn jî bi rêya gerokeke cuda an jî sepana xwecîhê Mastodonê bi kar bîne.",
-  "errors.unexpected_crash.copy_stacktrace": "Şopa gemara (stacktrace) tûrikê ra jê bigire",
-  "errors.unexpected_crash.report_issue": "Pirsgirêkekê ragihîne",
-  "explore.search_results": "Encamên lêgerînê",
-  "explore.suggested_follows": "Ji bo te",
-  "explore.title": "Vekole",
-  "explore.trending_links": "Nûçe",
-  "explore.trending_statuses": "Şandî",
-  "explore.trending_tags": "Hashtag",
-  "follow_recommendations.done": "Qediya",
-  "follow_recommendations.heading": "Mirovên ku tu dixwazî ji wan peyaman bibînî bişopîne! Hin pêşnîyar li vir in.",
-  "follow_recommendations.lead": "Li gorî rêza kronolojîkî peyamên mirovên ku tu dişopînî dê demnameya te de xûya bike. Ji xeletiyan netirse, bi awayekî hêsan her wextî tu dikarî dev ji şopandinê berdî!",
-  "follow_request.authorize": "Mafê bide",
-  "follow_request.reject": "Nepejirîne",
-  "follow_requests.unlocked_explanation": "Tevlî ku ajimêra te ne kilît kiriye, karmendên {domain} digotin qey tu dixwazî ku pêşdîtina daxwazên şopandinê bi destan bike.",
-  "generic.saved": "Tomarkirî",
-  "getting_started.developers": "Pêşdebir",
-  "getting_started.directory": "Rêgeha profîlê",
-  "getting_started.documentation": "Pelbend",
-  "getting_started.heading": "Destpêkirin",
-  "getting_started.invite": "Mirovan Vexwîne",
-  "getting_started.open_source_notice": "Mastodon nermalava çavkaniya vekirî ye. Tu dikarî pirsgirêkan li ser GitHub-ê ragihînî di {github} de an jî dikarî tevkariyê bikî.",
-  "getting_started.security": "Sazkariyên ajimêr",
-  "getting_started.terms": "Mercên karûberan",
-  "hashtag.column_header.tag_mode.all": "û {additional}",
-  "hashtag.column_header.tag_mode.any": "an {additional}",
-  "hashtag.column_header.tag_mode.none": "bêyî {additional}",
-  "hashtag.column_settings.select.no_options_message": "Ti pêşniyar nehatin dîtin",
-  "hashtag.column_settings.select.placeholder": "Têkeve hashtagê…",
-  "hashtag.column_settings.tag_mode.all": "Van hemûyan",
-  "hashtag.column_settings.tag_mode.any": "Yek ji van",
-  "hashtag.column_settings.tag_mode.none": "Ne yek ji van",
-  "hashtag.column_settings.tag_toggle": "Ji bo vê stûnê hin pêvekan tevlî bike",
-  "home.column_settings.basic": "Bingehîn",
-  "home.column_settings.show_reblogs": "Bilindkirinan nîşan bike",
-  "home.column_settings.show_replies": "Bersivan nîşan bide",
-  "home.hide_announcements": "Reklaman veşêre",
-  "home.show_announcements": "Reklaman nîşan bide",
-  "intervals.full.days": "{number, plural, one {# roj} other {# roj}}",
-  "intervals.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}}\n \n",
-  "intervals.full.minutes": "{number, plural, one {# xulek} other {# xulek}}",
-  "keyboard_shortcuts.back": "Vegere paşê",
-  "keyboard_shortcuts.blocked": "Rêzoka bikarhênerên astengkirî veke",
-  "keyboard_shortcuts.boost": "Şandiyê bilind bike",
-  "keyboard_shortcuts.column": "Stûna balkişandinê",
-  "keyboard_shortcuts.compose": "Bal bikşîne cîhê nivîsê/textarea",
-  "keyboard_shortcuts.description": "Danasîn",
-  "keyboard_shortcuts.direct": "Ji stûnê peyamên rasterast veke",
-  "keyboard_shortcuts.down": "Di rêzokê de dakêşe jêr",
-  "keyboard_shortcuts.enter": "Şandiyê veke",
-  "keyboard_shortcuts.favourite": "Şandiya bijarte",
-  "keyboard_shortcuts.favourites": "Rêzokên bijarte veke",
-  "keyboard_shortcuts.federated": "Demnameyê federalîkirî veke",
-  "keyboard_shortcuts.heading": "Kurterêyên klavyeyê",
-  "keyboard_shortcuts.home": "Demnameyê veke",
-  "keyboard_shortcuts.hotkey": "Bişkoka kurterê",
-  "keyboard_shortcuts.legend": "Vê çîrokê nîşan bike",
-  "keyboard_shortcuts.local": "Demnameya herêmî veke",
-  "keyboard_shortcuts.mention": "Qala nivîskarî/ê bike",
-  "keyboard_shortcuts.muted": "Rêzoka bikarhênerên bêdeng kirî veke",
-  "keyboard_shortcuts.my_profile": "Profîla xwe veke",
-  "keyboard_shortcuts.notifications": "Stûnê agahdariyan veke",
-  "keyboard_shortcuts.open_media": "Medya veke",
-  "keyboard_shortcuts.pinned": "Şandiyên derzîkirî veke",
-  "keyboard_shortcuts.profile": "Profîla nivîskaran veke",
-  "keyboard_shortcuts.reply": "Bersivê bide şandiyê",
-  "keyboard_shortcuts.requests": "Rêzoka daxwazên şopandinê veke",
-  "keyboard_shortcuts.search": "Bal bide şivika lêgerînê",
-  "keyboard_shortcuts.spoilers": "Zeviya hişyariya naverokê nîşan bide/veşêre",
-  "keyboard_shortcuts.start": "Stûna \"destpêkê\" veke",
-  "keyboard_shortcuts.toggle_hidden": "Nivîsa paş hişyariya naverokê nîşan bide/veşêre",
-  "keyboard_shortcuts.toggle_sensitivity": "Medyayê nîşan bide/veşêre",
-  "keyboard_shortcuts.toot": "Dest bi şandiyeke nû bike",
-  "keyboard_shortcuts.unfocus": "Bal nede cîhê nivîsê /lêgerînê",
-  "keyboard_shortcuts.up": "Di rêzokê de rake jor",
-  "lightbox.close": "Bigire",
-  "lightbox.compress": "Qutîya wêneya nîşan dike bitepisîne",
-  "lightbox.expand": "Qutîya wêneya nîşan dike fireh bike",
-  "lightbox.next": "Pêş",
-  "lightbox.previous": "Paş",
-  "lists.account.add": "Tevlî rêzokê bike",
-  "lists.account.remove": "Ji rêzokê rake",
-  "lists.delete": "Rêzokê jê bibe",
-  "lists.edit": "Rêzokê serrast bike",
-  "lists.edit.submit": "Sernavê biguherîne",
-  "lists.new.create": "Rêzokê tevlî bike",
-  "lists.new.title_placeholder": "Sernavê rêzoka nû",
-  "lists.replies_policy.followed": "Bikarhênereke şopandî",
-  "lists.replies_policy.list": "Endamên rêzokê",
-  "lists.replies_policy.none": "Ne yek",
-  "lists.replies_policy.title": "Bersivan nîşan bide:",
-  "lists.search": "Di navbera kesên ku te dişopînin bigere",
-  "lists.subheading": "Rêzokên te",
-  "load_pending": "{count, plural, one {# hêmaneke nû} other {#hêmaneke nû}}",
-  "loading_indicator.label": "Tê barkirin...",
-  "media_gallery.toggle_visible": "{number, plural, one {Wêneyê veşêre} other {Wêneyan veşêre}}",
-  "missing_indicator.label": "Nehate dîtin",
-  "missing_indicator.sublabel": "Ev çavkanî nehat dîtin",
-  "mute_modal.duration": "Dem",
-  "mute_modal.hide_notifications": "Agahdariyan ji ev bikarhêner veşêre?",
-  "mute_modal.indefinite": "Nediyar",
-  "navigation_bar.apps": "Sepana mobîl",
-  "navigation_bar.blocks": "Bikarhênerên astengkirî",
-  "navigation_bar.bookmarks": "Şûnpel",
-  "navigation_bar.community_timeline": "Demnameya herêmî",
-  "navigation_bar.compose": "Şandiyeke nû binivsîne",
-  "navigation_bar.direct": "Peyamên rasterast",
-  "navigation_bar.discover": "Vekolê",
-  "navigation_bar.domain_blocks": "Navparên astengkirî",
-  "navigation_bar.edit_profile": "Profîl serrast bike",
-  "navigation_bar.favourites": "Bijarte",
-  "navigation_bar.filters": "Peyvên bêdengkirî",
-  "navigation_bar.follow_requests": "Daxwazên şopandinê",
-  "navigation_bar.follows_and_followers": "Yên tê şopandin û şopîner",
-  "navigation_bar.info": "Derbarê vî rajekarî",
-  "navigation_bar.keyboard_shortcuts": "Bişkoka kurterê",
-  "navigation_bar.lists": "Rêzok",
-  "navigation_bar.logout": "Derkeve",
-  "navigation_bar.mutes": "Bikarhênerên bêdengkirî",
-  "navigation_bar.personal": "Kesanî",
-  "navigation_bar.pins": "Şandiya derzîkirî",
-  "navigation_bar.preferences": "Sazkarî",
-  "navigation_bar.public_timeline": "Demnameyê federalîkirî",
-  "navigation_bar.security": "Ewlehî",
-  "notification.admin.sign_up": "{name} tomar bû",
-  "notification.favourite": "{name} şandiya te hez kir",
-  "notification.follow": "{name} te şopand",
-  "notification.follow_request": "{name} dixwazê te bişopîne",
-  "notification.mention": "{name} qale te kir",
-  "notification.own_poll": "Rapirsîya te qediya",
-  "notification.poll": "Rapirsiyeke ku te deng daye qediya",
-  "notification.reblog": "{name} şandiya te bilind kir",
-  "notification.status": "{name} niha şand",
-  "notification.update": "{name} şandiyek serrast kir",
-  "notifications.clear": "Agahdariyan pak bike",
-  "notifications.clear_confirmation": "Bi rastî tu dixwazî bi awayekî dawî hemû agahdariyên xwe pak bikî?",
-  "notifications.column_settings.admin.sign_up": "Tomarkirinên nû:",
-  "notifications.column_settings.alert": "Agahdariyên sermaseyê",
-  "notifications.column_settings.favourite": "Bijarte:",
-  "notifications.column_settings.filter_bar.advanced": "Hemû beşan nîşan bide",
-  "notifications.column_settings.filter_bar.category": "Şivika parzûna bilêz",
-  "notifications.column_settings.filter_bar.show_bar": "Darika parzûnê nîşan bide",
-  "notifications.column_settings.follow": "Şopînerên nû:",
-  "notifications.column_settings.follow_request": "Daxwazên şopandinê nû:",
-  "notifications.column_settings.mention": "Qalkirin:",
-  "notifications.column_settings.poll": "Encamên rapirsiyê:",
-  "notifications.column_settings.push": "Agahdarîyên yekser",
-  "notifications.column_settings.reblog": "Bilindkirî:",
-  "notifications.column_settings.show": "Di nav stûnê de nîşan bike",
-  "notifications.column_settings.sound": "Deng lêxe",
-  "notifications.column_settings.status": "Şandiyên nû:",
-  "notifications.column_settings.unread_notifications.category": "Agahdariyên nexwendî",
-  "notifications.column_settings.unread_notifications.highlight": "Agahiyên nexwendî nîşan bike",
-  "notifications.column_settings.update": "Serrastkirin:",
-  "notifications.filter.all": "Hemû",
-  "notifications.filter.boosts": "Bilindkirî",
-  "notifications.filter.favourites": "Bijarte",
-  "notifications.filter.follows": "Şopîner",
-  "notifications.filter.mentions": "Qalkirin",
-  "notifications.filter.polls": "Encamên rapirsiyê",
-  "notifications.filter.statuses": "Ji kesên tu dişopînî re rojanekirin",
-  "notifications.grant_permission": "Destûrê bide.",
-  "notifications.group": "{count} agahdarî",
-  "notifications.mark_as_read": "Hemî agahdarîya wek xwendî nîşan bike",
-  "notifications.permission_denied": "Agahdarîyên sermaseyê naxebite ji ber ku berê de daxwazî ya destûr dayîna gerokê hati bû red kirin",
-  "notifications.permission_denied_alert": "Agahdarîyên sermaseyê nay çalak kirin, ji ber ku destûr kirina gerokê pêşî de hati bû red kirin",
-  "notifications.permission_required": "Agahdarîyên sermaseyê naxebite çunkî mafê pêwîst dike nehatiye dayîn.",
-  "notifications_permission_banner.enable": "Agahdarîyên sermaseyê çalak bike",
-  "notifications_permission_banner.how_to_control": "Da ku agahdariyên mastodon bistînî gava ne vekirî be. Agahdariyên sermaseyê çalak bike\n Tu dikarî agahdariyên sermaseyê bi rê ve bibî ku bi hemû cureyên çalakiyên ên ku agahdariyan rû didin ku bi riya tikandînê li ser bişkoka {icon} çalak dibe.",
-  "notifications_permission_banner.title": "Tu tiştî bîr neke",
-  "picture_in_picture.restore": "Vegerîne paş",
-  "poll.closed": "Girtî",
-  "poll.refresh": "Nû bike",
-  "poll.total_people": "{count, plural, one {# kes} other {# kes}}",
-  "poll.total_votes": "{count, plural, one {# deng} other {# deng}}",
-  "poll.vote": "Deng bide",
-  "poll.voted": "Te dengê xwe da vê bersivê",
-  "poll.votes": "{votes, plural, one {# deng} other {# deng}}",
-  "poll_button.add_poll": "Rapirsîyek zêde bike",
-  "poll_button.remove_poll": "Rapirsî yê rake",
-  "privacy.change": "Nepênîtiya şandiyan biguherîne",
-  "privacy.direct.long": "Tenê ji bo bikarhênerên qalkirî tê dîtin",
-  "privacy.direct.short": "Taybet",
-  "privacy.private.long": "Tenê bo şopîneran xuyabar e",
-  "privacy.private.short": "Tenê şopîneran",
-  "privacy.public.long": "Ji bo herkesî li berçav e, di demnameyên gelemperî de dê xûyakirin",
-  "privacy.public.short": "Gelemperî",
-  "privacy.unlisted.long": "Ji herkesî ra tê xûya, lê demnameyê gelemperî ra nay xûyakirin",
-  "privacy.unlisted.short": "Nerêzok",
-  "refresh": "Nû bike",
-  "regeneration_indicator.label": "Tê barkirin…",
-  "regeneration_indicator.sublabel": "Mala te da tê amedekirin!",
-  "relative_time.days": "{number}r",
-  "relative_time.full.days": "{number, plural, one {# roj} other {# roj}} berê",
-  "relative_time.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} berê",
-  "relative_time.full.just_now": "hema niha",
-  "relative_time.full.minutes": "{number, plural, one {# xulek} other {# xulek}} berê",
-  "relative_time.full.seconds": "{number, plural, one {# çirke} other {# çirke}} xulek",
-  "relative_time.hours": "{number}d",
-  "relative_time.just_now": "niha",
-  "relative_time.minutes": "{number}x",
-  "relative_time.seconds": "{number}ç",
-  "relative_time.today": "îro",
-  "reply_indicator.cancel": "Dev jê berde",
-  "report.block": "Asteng bike",
-  "report.block_explanation": "Tu yê şandiyên wan nebînî. Ew ê nikaribin şandiyên te bibînin an jî te bişopînin. Ew ê bizanibin ku ew hatine astengkirin.",
-  "report.categories.other": "Yên din",
-  "report.categories.spam": "Nexwestî (Spam)",
-  "report.categories.violation": "Naverok yek an çend rêbazên rajekar binpê dike",
-  "report.category.subtitle": "Baştirîn lihevhatin hilbijêre",
-  "report.category.title": "Ji me re bêje ka çi diqewime bi vê {type} re",
-  "report.category.title_account": "profîl",
-  "report.category.title_status": "şandî",
-  "report.close": "Qediya",
-  "report.comment.title": "Tiştek din heye ku tu difikirî ku divê em zanibin?",
-  "report.forward": "Biçe bo {target}",
-  "report.forward_hint": "Ajimêr ji rajekarek din da ne. Tu kopîyeka anonîm ya raporê bişînî li wur?",
-  "report.mute": "Bêdeng bike",
-  "report.mute_explanation": "Tê yê şandiyên wan nebînî. Ew hin jî dikarin te bişopînin û şandiyên te bibînin û wê nizanibin ku ew hatine bêdengkirin.",
-  "report.next": "Pêş",
-  "report.placeholder": "Şiroveyên zêde",
-  "report.reasons.dislike": "Ez jê hez nakim",
-  "report.reasons.dislike_description": "Ew ne tiştek e ku tu dixwazî bibînî",
-  "report.reasons.other": "Tiştekî din e",
-  "report.reasons.other_description": "Pirsgirêk di kategoriyên din de cih nagire",
-  "report.reasons.spam": "Ew spam e",
-  "report.reasons.spam_description": "Girêdanên xerab, tevlêbûna sexte, an jî bersivên dubarekirî",
-  "report.reasons.violation": "Ew rêzikên rajekar binpê dike",
-  "report.reasons.violation_description": "Tu dizanî ku ew rêzikên taybetiyê binpê dike",
-  "report.rules.subtitle": "Hemûyên ku têne sepandin hibijêre",
-  "report.rules.title": "Kîjan rêzik têne binpêkirin?",
-  "report.statuses.subtitle": "Hemûyên ku têne sepandin hibijêre",
-  "report.statuses.title": "Tu şandiyên ku vê ragihandinê piştgirî dikin hene?",
-  "report.submit": "Bişîne",
-  "report.target": "Ragihandin {target}",
-  "report.thanks.take_action": "Li vir vebijêrkên te hene ji bo kontrolkirina tiştê ku tu li se Mastodon dibînî:",
-  "report.thanks.take_action_actionable": "Dema ku em vê yekê dinirxînin, tu dikarî li dijî @{name} tedbîran bigirî:",
-  "report.thanks.title": "Tu naxwazî vê bibînî?",
-  "report.thanks.title_actionable": "Spas ji bo ragihandina te, em ê binirxînin.",
-  "report.unfollow": "@{name} neşopîne",
-  "report.unfollow_explanation": "Tê vê ajimêrê dişopînî. Ji bo ku êdî şandiyên wan di rojeva xwe de nebînî, wan neşopîne.",
-  "search.placeholder": "Bigere",
-  "search_popout.search_format": "Dirûva lêgerîna pêşketî",
-  "search_popout.tips.full_text": "Nivîsên hêsan, şandiyên ku te nivîsandiye, bijare kiriye, bilind kiriye an jî yên behsa te kirine û her wiha navê bikarhêneran, navên xûya dike û hashtagan vedigerîne.",
-  "search_popout.tips.hashtag": "hashtag",
-  "search_popout.tips.status": "şandî",
-  "search_popout.tips.text": "Nivîsên hêsan, navên xûya ên ku li hev hatî, bikarhêner û hashtagan vedigerîne",
-  "search_popout.tips.user": "bikarhêner",
-  "search_results.accounts": "Mirov",
-  "search_results.all": "Hemû",
-  "search_results.hashtags": "Hashtag",
-  "search_results.nothing_found": "Ji bo van peyvên lêgerînê tiştek nehate dîtin",
-  "search_results.statuses": "Şandî",
-  "search_results.statuses_fts_disabled": "Di vê rajekara Mastodonê da lêgerîna şandîyên li gorî naveroka wan ne çalak e.",
-  "search_results.total": "{count, number} {count, plural, one {encam} other {encam}}",
-  "status.admin_account": "Ji bo @{name} navrûya venihêrtinê veke",
-  "status.admin_status": "Vê şandîyê di navrûya venihêrtinê de veke",
-  "status.block": "@{name} asteng bike",
-  "status.bookmark": "Şûnpel",
-  "status.cancel_reblog_private": "Bilind neke",
-  "status.cannot_reblog": "Ev şandî nayê bilindkirin",
-  "status.copy": "Girêdanê jê bigire bo weşankirinê",
-  "status.delete": "Jê bibe",
-  "status.detailed_status": "Dîtina axaftina berfireh",
-  "status.direct": "Peyama rasterast @{name}",
-  "status.edit": "Serrast bike",
-  "status.edited": "Di {date} de hate serrastkirin",
-  "status.edited_x_times": "{count, plural, one {{count} car} other {{count} car}} hate serrastkirin",
-  "status.embed": "Hedimandî",
-  "status.favourite": "Bijarte",
-  "status.filtered": "Parzûnkirî",
-  "status.history.created": "{name} {date} afirand",
-  "status.history.edited": "{name} {date} serrast kir",
-  "status.load_more": "Bêtir bar bike",
-  "status.media_hidden": "Medya veşartî ye",
-  "status.mention": "Qal @{name} bike",
-  "status.more": "Bêtir",
-  "status.mute": "@{name} Bêdeng bike",
-  "status.mute_conversation": "Axaftinê bêdeng bike",
-  "status.open": "Vê şandiyê berferh bike",
-  "status.pin": "Li ser profîlê derzî bike",
-  "status.pinned": "Şandiya derzîkirî",
-  "status.read_more": "Bêtir bixwîne",
-  "status.reblog": "Bilind bike",
-  "status.reblog_private": "Bi dîtina resen bilind bike",
-  "status.reblogged_by": "{name} bilind kir",
-  "status.reblogs.empty": "Kesekî hin ev şandî bilind nekiriye. Gava kesek bilind bike, ew ên li vir werin xuyakirin.",
-  "status.redraft": "Jê bibe & ji nû ve reşnivîs bike",
-  "status.remove_bookmark": "Şûnpêlê jê rake",
-  "status.reply": "Bersivê bide",
-  "status.replyAll": "Mijarê bibersivîne",
-  "status.report": "{name} gilî bike",
-  "status.sensitive_warning": "Naveroka hestiyarî",
-  "status.share": "Parve bike",
-  "status.show_less": "Kêmtir nîşan bide",
-  "status.show_less_all": "Ji bo hemîyan kêmtir nîşan bide",
-  "status.show_more": "Hêj zehftir nîşan bide",
-  "status.show_more_all": "Bêtir nîşan bide bo hemûyan",
-  "status.show_thread": "Mijarê nîşan bide",
-  "status.uncached_media_warning": "Tune ye",
-  "status.unmute_conversation": "Axaftinê bêdeng neke",
-  "status.unpin": "Şandiya derzîkirî ji profîlê rake",
-  "suggestions.dismiss": "Pêşniyarê paşguh bike",
-  "suggestions.header": "Dibe ku bala te bikşîne…",
-  "tabs_bar.federated_timeline": "Giştî",
-  "tabs_bar.home": "Serrûpel",
-  "tabs_bar.local_timeline": "Herêmî",
-  "tabs_bar.notifications": "Agahdarî",
-  "tabs_bar.search": "Bigere",
-  "time_remaining.days": "{number, plural, one {# roj} other {# roj}} maye",
-  "time_remaining.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} maye",
-  "time_remaining.minutes": "{number, plural, one {# xulek} other {# xulek}} maye",
-  "time_remaining.moments": "Demên mayî",
-  "time_remaining.seconds": "{number, plural, one {# çirke} other {# çirke}} maye",
-  "timeline_hint.remote_resource_not_displayed": "{resource} Ji rajekerên din nayê dîtin.",
-  "timeline_hint.resources.followers": "Şopîner",
-  "timeline_hint.resources.follows": "Şopîner",
-  "timeline_hint.resources.statuses": "Şandiyên kevn",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} kes} other {{counter} kes}} diaxivin",
-  "trends.trending_now": "Rojev",
-  "ui.beforeunload": "Ger ji Mastodonê veketi wê reşnivîsa te jî winda bibe.",
-  "units.short.billion": "{count}B",
-  "units.short.million": "{count}M",
-  "units.short.thousand": "{count}H",
-  "upload_area.title": "Ji bo barkirinê kaş bike û deyne",
-  "upload_button.label": "Wêne, vîdeoyek an jî pelê dengî tevlî bike",
-  "upload_error.limit": "Sînora barkirina pelan derbas bû.",
-  "upload_error.poll": "Di rapirsîyan de mafê barkirina pelan nayê dayîn.",
-  "upload_form.audio_description": "Ji bona kesên kêm dibihîsin re pênase bike",
-  "upload_form.description": "Ji bona astengdarên dîtinê re vebêje",
-  "upload_form.edit": "Serrast bike",
-  "upload_form.thumbnail": "Wêneyê biçûk biguherîne",
-  "upload_form.undo": "Jê bibe",
-  "upload_form.video_description": "Ji bo kesên kerr û lalan pênase bike",
-  "upload_modal.analyzing_picture": "Wêne tê analîzkirin…",
-  "upload_modal.apply": "Bisepîne",
-  "upload_modal.applying": "Tê sepandin…",
-  "upload_modal.choose_image": "Wêneyê hilbijêre",
-  "upload_modal.description_placeholder": "Rovîyek qehweyî û bilez li ser kûçikê tîral banz dide",
-  "upload_modal.detect_text": "Ji nivîsa wêneyê re serwext be",
-  "upload_modal.edit_media": "Medyayê sererast bike",
-  "upload_modal.hint": "Ji bo hilbijartina xala navendê her tim dîmenê piçûk de pêşdîtina çerxê bitikîne an jî kaş bike.",
-  "upload_modal.preparing_ocr": "OCR dihê amadekirin…",
-  "upload_modal.preview_label": "Pêşdîtin ({ratio})",
-  "upload_progress.label": "Tê barkirin...",
-  "video.close": "Vîdyoyê bigire",
-  "video.download": "Pelê daxe",
-  "video.exit_fullscreen": "Ji dîmendera tijî derkeve",
-  "video.expand": "Vîdyoyê berferh bike",
-  "video.fullscreen": "Dimendera tijî",
-  "video.hide": "Vîdyo veşêre",
-  "video.mute": "Dengê qut bike",
-  "video.pause": "Rawestîne",
-  "video.play": "Vêxe",
-  "video.unmute": "Dengê qut neke"
-}
diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json
index 9da0f8c57..450944dca 100644
--- a/app/javascript/mastodon/locales/kn.json
+++ b/app/javascript/mastodon/locales/kn.json
@@ -18,12 +18,12 @@
   "account.followers": "ಹಿಂಬಾಲಕರು",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Follows you",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "ಟೂಟ್‌ಗಳು",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Unblock @{name}",
   "account.unblock_domain": "Unhide {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Unfollow",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Edit profile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 767fd8d46..454b3977a 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -18,12 +18,12 @@
   "account.followers": "팔로워",
   "account.followers.empty": "아직 아무도 이 유저를 팔로우하고 있지 않습니다.",
   "account.followers_counter": "{counter} 팔로워",
+  "account.following": "팔로잉",
   "account.following_counter": "{counter} 팔로잉",
   "account.follows.empty": "이 유저는 아직 아무도 팔로우하고 있지 않습니다.",
   "account.follows_you": "날 팔로우합니다",
   "account.hide_reblogs": "@{name}의 부스트를 숨기기",
   "account.joined": "{date}에 가입함",
-  "account.last_status": "마지막 활동",
   "account.link_verified_on": "{date}에 이 링크의 소유권이 확인 됨",
   "account.locked_info": "이 계정의 프라이버시 설정은 잠금으로 설정되어 있습니다. 계정 소유자가 수동으로 팔로워를 승인합니다.",
   "account.media": "미디어",
@@ -32,7 +32,6 @@
   "account.mute": "@{name} 뮤트",
   "account.mute_notifications": "@{name}의 알림을 뮤트",
   "account.muted": "뮤트 됨",
-  "account.never_active": "없음",
   "account.posts": "게시물",
   "account.posts_with_replies": "게시물과 답장",
   "account.report": "@{name} 신고",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{counter} 게시물",
   "account.unblock": "차단 해제",
   "account.unblock_domain": "도메인 {domain} 차단 해제",
+  "account.unblock_short": "차단 해제",
   "account.unendorse": "프로필에 추천하지 않기",
   "account.unfollow": "팔로우 해제",
   "account.unmute": "@{name} 뮤트 해제",
   "account.unmute_notifications": "@{name}의 알림 뮤트 해제",
+  "account.unmute_short": "뮤트 해제",
   "account_note.placeholder": "클릭해서 노트 추가",
   "admin.dashboard.daily_retention": "가입 후 일별 사용자 유지율",
   "admin.dashboard.monthly_retention": "가입 후 월별 사용자 유지율",
@@ -120,7 +121,7 @@
   "confirmations.delete.message": "정말로 이 게시물을 삭제하시겠습니까?",
   "confirmations.delete_list.confirm": "삭제",
   "confirmations.delete_list.message": "정말로 이 리스트를 영구적으로 삭제하시겠습니까?",
-  "confirmations.discard_edit_media.confirm": "취소",
+  "confirmations.discard_edit_media.confirm": "저장 안함",
   "confirmations.discard_edit_media.message": "미디어 설명이나 미리보기에 대한 저장하지 않은 변경사항이 있습니다. 버리시겠습니까?",
   "confirmations.domain_block.confirm": "도메인 전체를 차단",
   "confirmations.domain_block.message": "정말로 {domain} 전체를 차단하시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 컨텐츠를 보지 못합니다. 해당 도메인에 속한 팔로워와의 관계가 사라집니다.",
@@ -133,8 +134,8 @@
   "confirmations.redraft.message": "정말로 이 게시물을 삭제하고 다시 쓰시겠습니까? 해당 포스트에 대한 부스트와 즐겨찾기를 잃게 되고 원본에 대한 답장은 연결 되지 않습니다.",
   "confirmations.reply.confirm": "답글",
   "confirmations.reply.message": "답글을 달기 위해 현재 작성 중인 메시지가 덮어 씌워집니다. 진행하시겠습니까?",
-  "confirmations.unfollow.confirm": "언팔로우",
-  "confirmations.unfollow.message": "정말로 {name}를 언팔로우하시겠습니까?",
+  "confirmations.unfollow.confirm": "팔로우 해제",
+  "confirmations.unfollow.message": "정말로 {name} 님을 팔로우 해제하시겠습니까?",
   "conversation.delete": "대화 삭제",
   "conversation.mark_as_read": "읽은 상태로 표시",
   "conversation.open": "대화 보기",
@@ -167,7 +168,7 @@
   "empty_column.community": "로컬 타임라인에 아무 것도 없습니다. 아무거나 적어 보세요!",
   "empty_column.direct": "아직 다이렉트 메시지가 없습니다. 다이렉트 메시지를 보내거나 받은 경우, 여기에 표시 됩니다.",
   "empty_column.domain_blocks": "아직 차단한 도메인이 없습니다.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "아직 유행하는 것이 없습니다. 나중에 다시 확인하세요!",
   "empty_column.favourited_statuses": "아직 즐겨찾기 한 게시물이 없습니다. 게시물을 즐겨찾기 하면 여기에 나타납니다.",
   "empty_column.favourites": "아직 아무도 이 게시물을 즐겨찾기 하지 않았습니다. 누군가 즐겨찾기를 하면 여기에 나타납니다.",
   "empty_column.follow_recommendations": "당신을 위한 제안이 생성될 수 없는 것 같습니다. 알 수도 있는 사람을 검색하거나 유행하는 해시태그를 둘러볼 수 있습니다.",
@@ -186,12 +187,12 @@
   "error.unexpected_crash.next_steps_addons": "그것들을 끄고 페이지를 새로고침 해보세요. 그래도 해결되지 않는 경우, 다른 브라우저나 네이티브 앱으로도 마스토돈을 이용하실 수 있습니다.",
   "errors.unexpected_crash.copy_stacktrace": "에러 내용을 클립보드에 복사",
   "errors.unexpected_crash.report_issue": "문제 신고",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.search_results": "검색 결과",
+  "explore.suggested_follows": "당신을 위한 추천",
+  "explore.title": "둘러보기",
+  "explore.trending_links": "소식",
+  "explore.trending_statuses": "게시물",
+  "explore.trending_tags": "해시태그",
   "follow_recommendations.done": "완료",
   "follow_recommendations.heading": "게시물을 받아 볼 사람들을 팔로우 하세요! 여기 몇몇의 추천이 있습니다.",
   "follow_recommendations.lead": "당신이 팔로우 하는 사람들의 게시물이 시간순으로 정렬되어 당신의 홈 피드에 표시될 것입니다. 실수를 두려워 하지 마세요, 언제든지 쉽게 팔로우 취소를 할 수 있습니다!",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "발견하기",
   "navigation_bar.domain_blocks": "차단한 도메인",
   "navigation_bar.edit_profile": "프로필 편집",
+  "navigation_bar.explore": "탐색하기",
   "navigation_bar.favourites": "즐겨찾기",
   "navigation_bar.filters": "뮤트한 단어",
   "navigation_bar.follow_requests": "팔로우 요청",
@@ -307,7 +309,7 @@
   "navigation_bar.preferences": "사용자 설정",
   "navigation_bar.public_timeline": "연합 타임라인",
   "navigation_bar.security": "보안",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} 님이 가입했습니다",
   "notification.favourite": "{name} 님이 즐겨찾기 했습니다",
   "notification.follow": "{name} 님이 나를 팔로우 했습니다",
   "notification.follow_request": "{name} 님이 팔로우 요청을 보냈습니다",
@@ -319,7 +321,7 @@
   "notification.update": "{name} 님이 게시물을 수정했습니다",
   "notifications.clear": "알림 지우기",
   "notifications.clear_confirmation": "정말로 알림을 삭제하시겠습니까?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "새로운 가입:",
   "notifications.column_settings.alert": "데스크탑 알림",
   "notifications.column_settings.favourite": "즐겨찾기:",
   "notifications.column_settings.filter_bar.advanced": "카테고리의 모든 종류를 표시",
@@ -387,43 +389,43 @@
   "relative_time.seconds": "{number}초 전",
   "relative_time.today": "오늘",
   "reply_indicator.cancel": "취소",
-  "report.block": "Block",
-  "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
+  "report.block": "차단",
+  "report.block_explanation": "당신은 그의 게시물을 보지 않게 됩니다. 그는 당신의 게시물을 보거나 팔로우 할 수 없습니다. 그가 차단되었다는 사실을 알 수 있습니다.",
   "report.categories.other": "기타",
   "report.categories.spam": "스팸",
   "report.categories.violation": "컨텐츠가 한 개 이상의 서버 규칙을 위반합니다",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.category.subtitle": "가장 알맞은 것을 선택하세요",
+  "report.category.title": "이 {type}에 무슨 문제가 있는지 알려주세요",
+  "report.category.title_account": "프로필",
+  "report.category.title_status": "게시물",
+  "report.close": "완료",
+  "report.comment.title": "우리가 더 알아야 할 내용이 있나요?",
   "report.forward": "{target}에 포워드 됨",
   "report.forward_hint": "이 계정은 다른 서버에 있습니다. 익명화 된 사본을 해당 서버에도 전송할까요?",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.mute": "침묵",
+  "report.mute_explanation": "당신은 그의 게시물을 보지 않게 됩니다. 그는 여전히 당신을 팔로우 하거나 당신의 게시물을 볼 수 있으며 뮤트 되었는지 알지 못합니다.",
+  "report.next": "다음",
   "report.placeholder": "코멘트",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "마음에 안듭니다",
+  "report.reasons.dislike_description": "내가 보기 싫은 종류에 속합니다",
+  "report.reasons.other": "기타",
+  "report.reasons.other_description": "이슈가 다른 분류에 속하지 않습니다",
+  "report.reasons.spam": "스팸입니다",
+  "report.reasons.spam_description": "악성 링크, 반응 스팸, 또는 반복적인 답글",
+  "report.reasons.violation": "서버 규칙을 위반합니다",
+  "report.reasons.violation_description": "특정 규칙을 위반합니다",
+  "report.rules.subtitle": "해당하는 사항을 모두 선택하세요",
+  "report.rules.title": "어떤 규칙을 위반했나요?",
+  "report.statuses.subtitle": "해당하는 사항을 모두 선택하세요",
+  "report.statuses.title": "이 신고에 대해서 더 참고해야 할 게시물이 있나요?",
   "report.submit": "신고하기",
   "report.target": "{target} 신고하기",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.thanks.take_action": "마스토돈에서 나에게 보이는 것을 조절하기 위한 몇 가지 선택사항들이 존재합니다:",
+  "report.thanks.take_action_actionable": "서버의 중재자들이 이것을 심사하는 동안, 당신은 @{name}에 대한 행동을 취할 수 있습니다:",
+  "report.thanks.title": "이런 것을 보지 않길 원하나요?",
+  "report.thanks.title_actionable": "신고해주셔서 감사합니다, 중재자분들이 확인할 예정입니다.",
+  "report.unfollow": "@{name}을 팔로우 해제",
+  "report.unfollow_explanation": "당신을 이 계정을 팔로우 하고 있습니다. 홈 피드에서 게시물을 보지 않으려면, 팔로우를 해제하세요.",
   "search.placeholder": "검색",
   "search_popout.search_format": "고급 검색 방법",
   "search_popout.tips.full_text": "단순한 텍스트 검색은 당신이 작성했거나, 관심글로 지정했거나, 부스트했거나, 멘션을 받은 게시글, 그리고 유저네임, 디스플레이네임, 해시태그를 반환합니다.",
@@ -432,9 +434,9 @@
   "search_popout.tips.text": "단순한 텍스트 검색은 관계된 프로필 이름, 유저 이름 그리고 해시태그를 표시합니다",
   "search_popout.tips.user": "유저",
   "search_results.accounts": "사람",
-  "search_results.all": "All",
+  "search_results.all": "전부",
   "search_results.hashtags": "해시태그",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "검색어에 대한 결과를 찾을 수 없습니다",
   "search_results.statuses": "게시물",
   "search_results.statuses_fts_disabled": "이 마스토돈 서버에선 게시물의 내용을 통한 검색이 활성화 되어 있지 않습니다.",
   "search_results.total": "{count, number}건의 결과",
diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json
index a71702171..0298c51ec 100644
--- a/app/javascript/mastodon/locales/ku.json
+++ b/app/javascript/mastodon/locales/ku.json
@@ -1,541 +1,543 @@
 {
-  "account.account_note_header": "تێبینی    ",
-  "account.add_or_remove_from_list": "زیادکردن یان سڕینەوە لە پێرستەکان",
-  "account.badges.bot": "بوت",
-  "account.badges.group": "گرووپ",
-  "account.block": "بلۆکی @{name}",
-  "account.block_domain": "بلۆکی هەموو شتێک لە {domain}",
-  "account.blocked": "بلۆککرا",
-  "account.browse_more_on_origin_server": "گەڕانی فرەتر لە سەر پرۆفایلی سەرەکی",
-  "account.cancel_follow_request": "بەتاڵکردنی داوای شوێنکەوتن",
-  "account.direct": "پەیامی تایبەت بە @{name}",
-  "account.disable_notifications": "ئاگانامە مەنێرە بۆم کاتێک @{name} پۆست دەکرێت",
-  "account.domain_blocked": "دۆمەین قەپاتکرا",
-  "account.edit_profile": "دەستکاری پرۆفایل",
-  "account.enable_notifications": "ئاگادارم بکەوە کاتێک @{name} بابەتەکان",
-  "account.endorse": "ناساندن لە پرۆفایل",
-  "account.follow": "شوێنکەوتن",
-  "account.followers": "شوێنکەوتووان",
-  "account.followers.empty": "کەسێک شوێن ئەم بەکارهێنەرە نەکەوتووە",
-  "account.followers_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}",
-  "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
-  "account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.",
-  "account.follows_you": "شوێنکەوتووەکانت",
-  "account.hide_reblogs": "داشاردنی بووستەکان لە @{name}",
-  "account.joined": "Joined {date}",
-  "account.last_status": "دوایین چالاکی",
-  "account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە",
-  "account.locked_info": "تایبەتمەندی ئەم هەژمارەیە ڕیکخراوە بۆ قوفڵدراوە. خاوەنەکە بە دەستی پێداچوونەوە دەکات کە کێ دەتوانێت شوێنیان بکەوێت.",
-  "account.media": "میدیا",
-  "account.mention": "ئاماژە @{name}",
-  "account.moved_to": "{name} گواسترایەوە بۆ:",
-  "account.mute": "بێدەنگکردن @{name}",
-  "account.mute_notifications": "هۆشیارکەرەوەکان لاببە لە @{name}",
-  "account.muted": "بێ دەنگ",
-  "account.never_active": "هەرگیز",
-  "account.posts": "توتس",
-  "account.posts_with_replies": "توتس و وەڵامەکان",
-  "account.report": "گوزارشت @{name}",
-  "account.requested": "چاوەڕێی ڕەزامەندین. کرتە بکە بۆ هەڵوەشاندنەوەی داواکاری شوێنکەوتن",
-  "account.share": "پرۆفایلی @{name} هاوبەش بکە",
-  "account.show_reblogs": "پیشاندانی بەرزکردنەوەکان لە @{name}",
-  "account.statuses_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
-  "account.unblock": "@{name} لاببە",
-  "account.unblock_domain": "کردنەوەی دۆمەینی {domain}",
-  "account.unendorse": "تایبەتمەندی لەسەر پرۆفایلەکە نیە",
-  "account.unfollow": "بەدوادانەچو",
-  "account.unmute": "بێدەنگکردنی @{name}",
-  "account.unmute_notifications": "بێدەنگکردنی هۆشیارییەکان لە @{name}",
-  "account_note.placeholder": "کرتەبکە بۆ زیادکردنی تێبینی",
-  "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
-  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
-  "admin.dashboard.retention.average": "Average",
-  "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
-  "alert.rate_limited.message": "تکایە هەوڵبدەرەوە دوای {retry_time, time, medium}.",
-  "alert.rate_limited.title": "ڕێژەی سنووردار",
-  "alert.unexpected.message": "هەڵەیەکی چاوەڕوان نەکراو ڕوویدا.",
-  "alert.unexpected.title": "تەححح!",
-  "announcement.announcement": "بانگەواز",
-  "attachments_list.unprocessed": "(unprocessed)",
-  "autosuggest_hashtag.per_week": "{count} هەرهەفتە",
-  "boost_modal.combo": "دەتوانیت دەست بنێی بە سەر {combo} بۆ بازدان لە جاری داهاتوو",
-  "bundle_column_error.body": "هەڵەیەک ڕوویدا لەکاتی بارکردنی ئەم پێکهاتەیە.",
-  "bundle_column_error.retry": "دووبارە هەوڵبدە",
-  "bundle_column_error.title": "هەڵيی تۆڕ",
-  "bundle_modal_error.close": "داخستن",
-  "bundle_modal_error.message": "هەڵەیەک ڕوویدا لەکاتی بارکردنی ئەم پێکهاتەیە.",
-  "bundle_modal_error.retry": "دووبارە تاقی بکەوە",
-  "column.blocks": "بەکارهێنەرە بلۆککراوەکان",
-  "column.bookmarks": "نیشانەکان",
-  "column.community": "هێڵی کاتی ناوخۆیی",
-  "column.direct": "نامە ڕاستەوخۆکان",
-  "column.directory": "گەڕان لە پرۆفایلەکان",
-  "column.domain_blocks": "دۆمەینە داخراوەکان",
-  "column.favourites": "دڵخوازترینەکان",
-  "column.follow_requests": "بەدواداچوی داواکاریەکان بکە",
-  "column.home": "سەرەتا",
-  "column.lists": "پێرست",
-  "column.mutes": "بێدەنگکردنی بەکارهێنەران",
-  "column.notifications": "ئاگادارییەکان",
-  "column.pins": "تووتسی چەسپاو",
-  "column.public": "نووسراوەکانی هەمووشوێنێک",
-  "column_back_button.label": "دواوە",
-  "column_header.hide_settings": "شاردنەوەی ڕێکخستنەکان",
-  "column_header.moveLeft_settings": "ستوون بگوێزەرەوە بۆ لای چەپ",
-  "column_header.moveRight_settings": "جوولاندنی ئەستوون بۆ لای ڕاست",
-  "column_header.pin": "سنجاق",
-  "column_header.show_settings": "نیشاندانی رێکخستنەکان",
-  "column_header.unpin": "سنجاق نەکردن",
-  "column_subheading.settings": "رێکخستنەکان",
-  "community.column_settings.local_only": "تەنها خۆماڵی",
-  "community.column_settings.media_only": "تەنها میدیا",
-  "community.column_settings.remote_only": "تەنها بۆ دوور",
-  "compose_form.direct_message_warning": "ئەم توتە تەنیا بۆ بەکارهێنەرانی ناوبراو دەنێردرێت.",
-  "compose_form.direct_message_warning_learn_more": "زیاتر فێربه",
-  "compose_form.hashtag_warning": "ئەم توتە لە ژێر هیچ هاشتاگییەک دا ناکرێت وەک ئەوەی لە لیستەکەدا نەریزراوە. تەنها توتی گشتی دەتوانرێت بە هاشتاگی بگەڕێت.",
-  "compose_form.lock_disclaimer": "هەژمێرەکەی لە حاڵەتی {locked}. هەر کەسێک دەتوانێت شوێنت بکەوێت بۆ پیشاندانی بابەتەکانی تەنها دوایخۆی.",
-  "compose_form.lock_disclaimer.lock": "قفڵ دراوە",
-  "compose_form.placeholder": "چی لە مێشکتدایە?",
-  "compose_form.poll.add_option": "زیادکردنی هەڵبژاردەیەک",
-  "compose_form.poll.duration": "ماوەی ڕاپرسی",
-  "compose_form.poll.option_placeholder": "هەڵبژاردن {number}",
-  "compose_form.poll.remove_option": "لابردنی ئەم هەڵبژاردەیە",
-  "compose_form.poll.switch_to_multiple": "ڕاپرسی بگۆڕە بۆ ڕێگەدان بە چەند هەڵبژاردنێک",
-  "compose_form.poll.switch_to_single": "گۆڕینی ڕاپرسی بۆ ڕێگەدان بە تاکە هەڵبژاردنێک",
-  "compose_form.publish": "توت",
+  "account.account_note_header": "Nîşe",
+  "account.add_or_remove_from_list": "Tevlî bike an rake ji rêzokê",
+  "account.badges.bot": "Bot",
+  "account.badges.group": "Kom",
+  "account.block": "@{name} asteng bike",
+  "account.block_domain": "{domain} navpar asteng bike",
+  "account.blocked": "Astengkirî",
+  "account.browse_more_on_origin_server": "Li pelên resen bêhtir bigere",
+  "account.cancel_follow_request": "Daxwaza şopandinê rake",
+  "account.direct": "Peyamekê bişîne @{name}",
+  "account.disable_notifications": "Êdî min agahdar neke gava @{name} diweşîne",
+  "account.domain_blocked": "Navper hate astengkirin",
+  "account.edit_profile": "Profîl serrast bike",
+  "account.enable_notifications": "Min agahdar bike gava @{name} diweşîne",
+  "account.endorse": "Taybetiyên li ser profîl",
+  "account.follow": "Bişopîne",
+  "account.followers": "Şopîner",
+  "account.followers.empty": "Kesekî hin ev bikarhêner neşopandiye.",
+  "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Dişopîne",
+  "account.following_counter": "{count, plural, one {{counter} Dişopîne} other {{counter} Dişopîne}}",
+  "account.follows.empty": "Ev bikarhêner hin kesekî heya niha neşopandiye.",
+  "account.follows_you": "Te dişopîne",
+  "account.hide_reblogs": "Bilindkirinên ji @{name} veşêre",
+  "account.joined": "Tevlîbû di {date} de",
+  "account.link_verified_on": "Xwedaniya li vê girêdanê di {date} de hatiye kontrolkirin",
+  "account.locked_info": "Rewşa vê ajimêrê wek kilît kirî hatiye saz kirin. Xwedî yê ajimêrê, kesên vê bişopîne bi dest vekolin dike.",
+  "account.media": "Medya",
+  "account.mention": "Qal @{name} bike",
+  "account.moved_to": "{name} hate livandin bo:",
+  "account.mute": "@{name} Bêdeng bike",
+  "account.mute_notifications": "Agahdariyan ji @{name} bêdeng bike",
+  "account.muted": "Bêdengkirî",
+  "account.posts": "Şandî",
+  "account.posts_with_replies": "Şandî û bersiv",
+  "account.report": "@{name} Ragihîne",
+  "account.requested": "Li benda erêkirinê ye. Ji bo betal kirina daxwazê pêl bikin",
+  "account.share": "Profîla @{name} parve bike",
+  "account.show_reblogs": "Bilindkirinên ji @{name} nîşan bike",
+  "account.statuses_counter": "{count, plural,one {{counter} şandî}other {{counter} şandî}}",
+  "account.unblock": "Astengê li ser @{name} rake",
+  "account.unblock_domain": "Astengê li ser navperê {domain} rake",
+  "account.unblock_short": "Astengiyê rake",
+  "account.unendorse": "Li ser profîl nîşan neke",
+  "account.unfollow": "Neşopîne",
+  "account.unmute": "@{name} Bêdeng bike",
+  "account.unmute_notifications": "Agahdariyan ji @{name} bêdeng bike",
+  "account.unmute_short": "Bêdeng neke",
+  "account_note.placeholder": "Bitikîne bo nîşeyekê tevlî bikî",
+  "admin.dashboard.daily_retention": "Rêjeya ragirtina bikarhêner bi roj piştî tomarkirinê",
+  "admin.dashboard.monthly_retention": "Rêjeya ragirtina bikarhêner bi meh piştî tomarkirinê",
+  "admin.dashboard.retention.average": "Navîn",
+  "admin.dashboard.retention.cohort": "Meha tomarkirinê",
+  "admin.dashboard.retention.cohort_size": "Bikarhênerên nû",
+  "alert.rate_limited.message": "Jkx dîsa biceribîne piştî {retry_time, time, medium}.\n \n",
+  "alert.rate_limited.title": "Rêje sînorkirî ye",
+  "alert.unexpected.message": "Çewtiyeke bêhêvî çê bû.",
+  "alert.unexpected.title": "Wey li min!",
+  "announcement.announcement": "Daxuyanî",
+  "attachments_list.unprocessed": "(bêpêvajo)",
+  "autosuggest_hashtag.per_week": "Her hefte {count}",
+  "boost_modal.combo": "Ji bo derbas bî carekî din de pêlê {combo} bike",
+  "bundle_column_error.body": "Di dema barkirina vê hêmanê de tiştek çewt çê bû.",
+  "bundle_column_error.retry": "Dîsa biceribîne",
+  "bundle_column_error.title": "Çewtiya torê",
+  "bundle_modal_error.close": "Bigire",
+  "bundle_modal_error.message": "Di dema barkirina vê hêmanê de tiştek çewt çê bû.",
+  "bundle_modal_error.retry": "Dîsa bicerbîne",
+  "column.blocks": "Bikarhênerên astengkirî",
+  "column.bookmarks": "Şûnpel",
+  "column.community": "Demnameya herêmî",
+  "column.direct": "Peyamên taybet",
+  "column.directory": "Li profîlan bigere",
+  "column.domain_blocks": "Navperên astengkirî",
+  "column.favourites": "Bijarte",
+  "column.follow_requests": "Daxwazên şopandinê",
+  "column.home": "Serrûpel",
+  "column.lists": "Rêzok",
+  "column.mutes": "Bikarhênerên bêdengkirî",
+  "column.notifications": "Agahdarî",
+  "column.pins": "Şandiya derzîkirî",
+  "column.public": "Demnameyê federalîkirî",
+  "column_back_button.label": "Veger",
+  "column_header.hide_settings": "Sazkariyan veşêre",
+  "column_header.moveLeft_settings": "Stûnê bilivîne bo çepê",
+  "column_header.moveRight_settings": "Stûnê bilivîne bo rastê",
+  "column_header.pin": "Bi derzî bike",
+  "column_header.show_settings": "Sazkariyan nîşan bide",
+  "column_header.unpin": "Bi derzî neke",
+  "column_subheading.settings": "Sazkarî",
+  "community.column_settings.local_only": "Tenê herêmî",
+  "community.column_settings.media_only": "Tenê media",
+  "community.column_settings.remote_only": "Tenê ji dûr ve",
+  "compose_form.direct_message_warning": "Ev şandî tenê ji bikarhênerên qalkirî re wê were şandin.",
+  "compose_form.direct_message_warning_learn_more": "Bêtir fêr bibe",
+  "compose_form.hashtag_warning": "Ev şandî ji ber ku nehatiye tomarkirin dê di binê hashtagê de neyê tomar kirin. Tenê peyamên gelemperî dikarin bi hashtagê werin lêgerîn.",
+  "compose_form.lock_disclaimer": "Ajimêrê te {locked} nîne. Herkes dikare te bişopîne da ku şandiyên te yên tenê şopînerên te ra xûya dibin bibînin.",
+  "compose_form.lock_disclaimer.lock": "girtî ye",
+  "compose_form.placeholder": "Çi di hişê te derbas dibe?",
+  "compose_form.poll.add_option": "Hilbijarekî tevlî bike",
+  "compose_form.poll.duration": "Dema rapirsî yê",
+  "compose_form.poll.option_placeholder": "{number} Hilbijêre",
+  "compose_form.poll.remove_option": "Vê hilbijarê rake",
+  "compose_form.poll.switch_to_multiple": "Rapirsî yê biguherînin da ku destûr bidin vebijarkên pirjimar",
+  "compose_form.poll.switch_to_single": "Rapirsîyê biguherîne da ku mafê bidî tenê vebijêrkek",
+  "compose_form.publish": "Toot",
   "compose_form.publish_loud": "{publish}!",
-  "compose_form.save_changes": "Save changes",
-  "compose_form.sensitive.hide": "نیشانکردنی میدیا وەک هەستیار",
-  "compose_form.sensitive.marked": "وادەی کۆتایی",
-  "compose_form.sensitive.unmarked": "میدیا وەک هەستیار نیشان نەکراوە",
-  "compose_form.spoiler.marked": "دەق لە پشت ئاگاداریدا شاراوەتەوە",
-  "compose_form.spoiler.unmarked": "دەق شاراوە نییە",
-  "compose_form.spoiler_placeholder": "ئاگاداریەکەت لێرە بنووسە",
-  "confirmation_modal.cancel": "هەڵوەشاندنەوه",
-  "confirmations.block.block_and_report": "بلۆک & گوزارشت",
-  "confirmations.block.confirm": "بلۆک",
-  "confirmations.block.message": "ئایا دڵنیایت لەوەی دەتەوێت {name} بلۆک بکەیت?",
-  "confirmations.delete.confirm": "سڕینەوە",
-  "confirmations.delete.message": "ئایا دڵنیایت لەوەی دەتەوێت ئەم توتە بسڕیتەوە?",
-  "confirmations.delete_list.confirm": "سڕینەوە",
-  "confirmations.delete_list.message": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی ئەم لیستە بسڕیتەوە?",
-  "confirmations.discard_edit_media.confirm": "Discard",
-  "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
-  "confirmations.domain_block.confirm": "بلۆککردنی هەموو دۆمەینەکە",
-  "confirmations.domain_block.message": "ئایا بەڕاستی، بەڕاستی تۆ دەتەوێت هەموو {domain} بلۆک بکەیت؟ لە زۆربەی حاڵەتەکاندا چەند بلۆکێکی ئامانجدار یان بێدەنگەکان پێویست و پەسەندن. تۆ ناوەڕۆک ێک نابینیت لە دۆمەینەکە لە هیچ هێڵی کاتی گشتی یان ئاگانامەکانت. شوێنکەوتوانی تۆ لەو دۆمەینەوە لادەبرێن.",
-  "confirmations.logout.confirm": "چوونە دەرەوە",
-  "confirmations.logout.message": "ئایا دڵنیایت لەوەی دەتەوێت بچیتە دەرەوە?",
-  "confirmations.mute.confirm": "بێدەنگ",
-  "confirmations.mute.explanation": "ئەمەش دەبێتە هۆی شاردنەوەی پۆستەکان یان ئەو بابەتانەی کە ئاماژەیان پێ دەکات ، بەڵام هێشتا ڕێگەیان پێ دەدات کە پۆستەکانتان ببینن و شوێنتان بکەون.",
-  "confirmations.mute.message": "ئایا دڵنیایت لەوەی دەتەوێت بیلێیت {name}?",
-  "confirmations.redraft.confirm": "سڕینەوە & دووبارە ڕەشکردنەوە",
-  "confirmations.redraft.message": "ئایا دڵنیایت لەوەی دەتەوێت ئەم توتە بسڕیتەوە و دووبارە دایبنووسیتەوە؟ دڵخوازەکان و بەرزکردنەوەکان وون دەبن، و وەڵامەکان بۆ پۆستە ڕەسەنەکە هەتیو دەبن.",
-  "confirmations.reply.confirm": "وەڵام",
-  "confirmations.reply.message": "وەڵامدانەوە ئێستا ئەو نامەیە ی کە تۆ ئێستا دایڕشتووە، دەنووسێتەوە. ئایا دڵنیایت کە دەتەوێت بەردەوام بیت?",
-  "confirmations.unfollow.confirm": "بەدوادانەچو",
-  "confirmations.unfollow.message": "ئایا دڵنیایت لەوەی دەتەوێت پەیڕەوی {name}?",
-  "conversation.delete": "سڕینەوەی گفتوگۆ",
-  "conversation.mark_as_read": "نیشانەکردن وەک خوێندراوە",
-  "conversation.open": "نیشاندان گفتوگۆ",
-  "conversation.with": "لەگەڵ{names}",
-  "directory.federated": "لە ڕاژەکانی ناسراو",
-  "directory.local": "تەنها لە {domain}",
-  "directory.new_arrivals": "تازە گەیشتنەکان",
-  "directory.recently_active": "بەم دواییانە چالاکە",
-  "embed.instructions": "ئەم توتە بنچین بکە لەسەر وێب سایتەکەت بە کۆپیکردنی کۆدەکەی خوارەوە.",
-  "embed.preview": "ئەمە ئەو شتەیە کە لە شێوەی خۆی دەچێت:",
-  "emoji_button.activity": "چالاکی",
-  "emoji_button.custom": "ئاسایی",
-  "emoji_button.flags": "ئاڵاکان",
-  "emoji_button.food": "خواردن& خواردنەوە",
-  "emoji_button.label": "ئیمۆجی بکەنێو",
-  "emoji_button.nature": "سروشت",
-  "emoji_button.not_found": "بێ ئیمۆجی! (╯°□°)╯( ┻━┻",
-  "emoji_button.objects": "ئامانجەکان",
-  "emoji_button.people": "خەڵک",
-  "emoji_button.recent": "زۆرجار بەکارهێنراوە",
-  "emoji_button.search": "گەڕان...",
-  "emoji_button.search_results": "ئەنجامەکانی گەڕان",
-  "emoji_button.symbols": "هێماکان",
-  "emoji_button.travel": "گەشت & شوێنەکان",
-  "empty_column.account_suspended": "Account suspended",
-  "empty_column.account_timeline": "لێرە هیچ توتەک نییە!",
-  "empty_column.account_unavailable": "پرۆفایل بەردەست نیە",
-  "empty_column.blocks": "تۆ هێشتا هیچ بەکارهێنەرێکت بلۆک نەکردووە.",
-  "empty_column.bookmarked_statuses": "تۆ هێشتا هیچ توتێکی دیاریکراوت نیە کاتێک نیشانەیەک نیشان دەکەیت، لێرە دەرئەکەویت.",
-  "empty_column.community": "هێڵی کاتی ناوخۆیی بەتاڵە. شتێک بە ئاشکرا بنووسە بۆ ئەوەی تۆپەکە بسووڕێت!",
-  "empty_column.direct": "تۆ هیچ نامەی ڕاستەوخۆت نیە تا ئێستا. کاتێک دانەیەک دەنێریت یان وەرت دەگرێت، لێرە پیشان دەدات.",
-  "empty_column.domain_blocks": "هێشتا هیچ دۆمەینێکی بلۆک کراو نییە.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
-  "empty_column.favourited_statuses": "تۆ هێشتا هیچ توتێکی دڵخوازت نییە، کاتێک حەزت لە دانەیەکی باشە، لێرە دەرئەکەویت.",
-  "empty_column.favourites": "کەس ئەم توتەی دڵخواز نەکردووە،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.",
-  "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
-  "empty_column.follow_requests": "تۆ هێشتا هیچ داواکارییەکی بەدواداچووت نیە. کاتێک یەکێکت بۆ هات، لێرە دەرئەکەویت.",
-  "empty_column.hashtag": "هێشتا هیچ شتێک لەم هاشتاگەدا نییە.",
-  "empty_column.home": "تایم لاینی ماڵەوەت بەتاڵە! سەردانی {public} بکە یان گەڕان بەکاربێنە بۆ دەستپێکردن و بینینی بەکارهێنەرانی تر.",
-  "empty_column.home.suggestions": "See some suggestions",
-  "empty_column.list": "هێشتا هیچ شتێک لەم لیستەدا نییە. کاتێک ئەندامانی ئەم لیستە دەنگی نوێ بڵاودەکەن، لێرە دەردەکەون.",
-  "empty_column.lists": "تۆ هێشتا هیچ لیستت دروست نەکردووە، کاتێک دانەیەک دروست دەکەیت، لێرە پیشان دەدرێت.",
-  "empty_column.mutes": "تۆ هێشتا هیچ بەکارهێنەرێکت بێدەنگ نەکردووە.",
-  "empty_column.notifications": "تۆ هێشتا هیچ ئاگانامێکت نیە. چالاکی لەگەڵ کەسانی دیکە بکە بۆ دەستپێکردنی گفتوگۆکە.",
-  "empty_column.public": "لێرە هیچ نییە! شتێک بە ئاشکرا بنووسە(بەگشتی)، یان بە دەستی شوێن بەکارهێنەران بکەوە لە ڕاژەکانی ترەوە بۆ پڕکردنەوەی",
-  "error.unexpected_crash.explanation": "بەهۆی بوونی کێشە لە کۆدەکەمان یان کێشەی گونجانی وێبگەڕەکە، ئەم لاپەڕەیە بە دروستی پیشان نادرێت.",
-  "error.unexpected_crash.explanation_addons": "ئەم لاپەڕەیە ناتوانرێت بە دروستی پیشان بدرێت. ئەم هەڵەیە لەوانەیە بەهۆی ئامێری وەرگێڕانی خۆکار یان زیادکراوی وێبگەڕەوە بێت.",
-  "error.unexpected_crash.next_steps": "هەوڵدە لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکەیان کاربەرنامەی ڕەسەن.",
-  "error.unexpected_crash.next_steps_addons": "هەوڵدە لەکاریان بخەیت و لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکانی دیکە یان نەرمەکالاکانی ئەسڵی.",
-  "errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد",
-  "errors.unexpected_crash.report_issue": "کێشەی گوزارشت",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
-  "follow_recommendations.done": "Done",
-  "follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
-  "follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
-  "follow_request.authorize": "ده‌سه‌ڵاتپێدراو",
-  "follow_request.reject": "ڕەتکردنەوە",
-  "follow_requests.unlocked_explanation": "هەرچەندە هەژمارەکەت داخراو نییە، ستافی {domain} وا بیریان کردەوە کە لەوانەیە بتانەوێت پێداچوونەوە بە داواکاریەکانی ئەم هەژمارەدا بکەن بە دەستی.",
-  "generic.saved": "پاشکەوتکرا",
-  "getting_started.developers": "پەرەپێدەران",
-  "getting_started.directory": "پەڕەی پرۆفایل",
-  "getting_started.documentation": "بەڵگەنامە",
-  "getting_started.heading": "دەست پێکردن",
-  "getting_started.invite": "بانگهێشتکردنی خەڵک",
-  "getting_started.open_source_notice": "ماستۆدۆن نەرمەکالایەکی سەرچاوەی کراوەیە. دەتوانیت بەشداری بکەیت یان گوزارشت بکەیت لەسەر کێشەکانی لە پەڕەی گیتهاب {github}.",
-  "getting_started.security": "ڕێکخستنەکانی هەژمارە",
-  "getting_started.terms": "مەرجەکانی خزمەتگوزاری",
-  "hashtag.column_header.tag_mode.all": "و {additional}",
-  "hashtag.column_header.tag_mode.any": "یا {additional}",
-  "hashtag.column_header.tag_mode.none": "بەبێ {additional}",
-  "hashtag.column_settings.select.no_options_message": "هیچ پێشنیارێک نەدۆزرایەوە",
-  "hashtag.column_settings.select.placeholder": "هاشتاگی تێبنووسە…",
-  "hashtag.column_settings.tag_mode.all": "هەموو ئەمانە",
-  "hashtag.column_settings.tag_mode.any": "هەر کام لەمانە",
-  "hashtag.column_settings.tag_mode.none": "هیچ کام لەمانە",
-  "hashtag.column_settings.tag_toggle": "تاگی زیادە ی ئەم ستوونە لەخۆ بنووسە",
-  "home.column_settings.basic": "بنەڕەتی",
-  "home.column_settings.show_reblogs": "پیشاندانی بەهێزکردن",
-  "home.column_settings.show_replies": "وەڵامدانەوەکان پیشان بدە",
-  "home.hide_announcements": "شاردنەوەی راگەیەنراوەکان",
-  "home.show_announcements": "پیشاندانی راگەیەنراوەکان",
-  "intervals.full.days": "{number, plural, one {# ڕۆژ} other {# ڕۆژەک}}",
-  "intervals.full.hours": "{number, plural, one {# کات} other {# کات}}",
-  "intervals.full.minutes": "{number, plural, one {# خولەک} other {# خولەک}}",
-  "keyboard_shortcuts.back": "بۆ گەڕانەوە",
-  "keyboard_shortcuts.blocked": "بۆ کردنەوەی لیستی بەکارهێنەرە بلۆککراوەکان",
-  "keyboard_shortcuts.boost": "بۆ بەهێزکردن",
-  "keyboard_shortcuts.column": "بۆ ئەوەی تیشک بخاتە سەر توتێک لە یەکێک لە ستوونەکان",
-  "keyboard_shortcuts.compose": "بۆ سەرنجدان بە نووسینی ناوچەی دەق",
-  "keyboard_shortcuts.description": "وه‌سف",
-  "keyboard_shortcuts.direct": "بۆ کردنەوەی ستوونی نامە ڕاستەوخۆکان",
-  "keyboard_shortcuts.down": "بۆ چوونە خوارەوە لە لیستەکەدا",
-  "keyboard_shortcuts.enter": "بۆ کردنەوەی توت",
-  "keyboard_shortcuts.favourite": "بۆ دڵخواز",
-  "keyboard_shortcuts.favourites": "بۆ کردنەوەی لیستی دڵخوازەکان",
-  "keyboard_shortcuts.federated": "بۆ کردنەوەی نووسراوەکانی هەمووشوێن",
-  "keyboard_shortcuts.heading": "قه‌دبڕەکانی تەختەکلیل",
-  "keyboard_shortcuts.home": "بۆ کردنەوەی هێڵی کاتی ماڵەوە",
-  "keyboard_shortcuts.hotkey": "هۆتکەی",
-  "keyboard_shortcuts.legend": "بۆ نیشاندانی ئەم نیشانە",
-  "keyboard_shortcuts.local": "بۆ کردنەوەی نووسراوەکانی خۆماڵی",
-  "keyboard_shortcuts.mention": "نۆ ناوبردن لە نووسەر",
-  "keyboard_shortcuts.muted": "بۆ کردنەوەی پێرستی بەکارهێنەرانی بێدەنگ",
-  "keyboard_shortcuts.my_profile": "بۆ کردنەوەی پرۆفایڵ",
-  "keyboard_shortcuts.notifications": "بۆ کردنەوەی ستوونی ئاگانامەکان",
-  "keyboard_shortcuts.open_media": "بۆ کردنەوەی میدیا",
-  "keyboard_shortcuts.pinned": "بۆ کردنەوەی لیستی توتەکانی چەسپێنراو",
-  "keyboard_shortcuts.profile": "بۆ کردنەوەی پرۆفایڵی نووسەر",
-  "keyboard_shortcuts.reply": "بۆ وەڵامدانەوە",
-  "keyboard_shortcuts.requests": "بۆ کردنەوەی لیستی داواکاریەکانی بەدوادا",
-  "keyboard_shortcuts.search": "بۆ جەختکردن لەسەر گەڕان",
-  "keyboard_shortcuts.spoilers": "بۆ پیشاندان/شاردنەوەی خانەی CW",
-  "keyboard_shortcuts.start": "بۆ کردنەوەی ستوونی \"دەست پێبکە\"",
-  "keyboard_shortcuts.toggle_hidden": "بۆ پیشاندان/شاردنەوەی دەق لە پشت CW",
-  "keyboard_shortcuts.toggle_sensitivity": "بۆ پیشاندان/شاردنەوەی میدیا",
-  "keyboard_shortcuts.toot": "بۆ دەست کردن بە براندێکی تازە",
-  "keyboard_shortcuts.unfocus": "بۆ دروستکردنی ناوچەی دەق/گەڕان",
-  "keyboard_shortcuts.up": "بۆ ئەوەی لە لیستەکەدا بڕۆیت",
-  "lightbox.close": "دابخە",
-  "lightbox.compress": "سندوقی نیشاندانی وێنە بپەستێنە",
-  "lightbox.expand": "فراوانکردنی سندوقی بینینی وێنە",
-  "lightbox.next": "داهاتوو",
-  "lightbox.previous": "پێشوو",
-  "lists.account.add": "زیادکردن بۆ لیست",
-  "lists.account.remove": "لابردن لە لیست",
-  "lists.delete": "سڕینەوەی لیست",
-  "lists.edit": "دەستکاری لیست",
-  "lists.edit.submit": "گۆڕینی ناونیشان",
-  "lists.new.create": "زیادکردنی لیست",
-  "lists.new.title_placeholder": "ناونیشانی لیستی نوێ",
-  "lists.replies_policy.followed": "Any followed user",
-  "lists.replies_policy.list": "Members of the list",
-  "lists.replies_policy.none": "No one",
-  "lists.replies_policy.title": "پیشاندانی وەڵامەکان بۆ:",
-  "lists.search": "بگەڕێ لەناو ئەو کەسانەی کە شوێنیان کەوتویت",
-  "lists.subheading": "لیستەکانت",
-  "load_pending": "{count, plural, one {# new item} other {# new items}}",
-  "loading_indicator.label": "بارکردن...",
-  "media_gallery.toggle_visible": "شاردنەوەی {number, plural, one {image} other {images}}",
-  "missing_indicator.label": "نەدۆزرایەوە",
-  "missing_indicator.sublabel": "ئەو سەرچاوەیە نادۆزرێتەوە",
-  "mute_modal.duration": "ماوە",
-  "mute_modal.hide_notifications": "شاردنەوەی ئاگانامەکان لەم بەکارهێنەرە؟ ",
-  "mute_modal.indefinite": "نادیار",
-  "navigation_bar.apps": "بەرنامەی مۆبایل",
-  "navigation_bar.blocks": "بەکارهێنەرە بلۆککراوەکان",
-  "navigation_bar.bookmarks": "نیشانکراوەکان",
-  "navigation_bar.community_timeline": "دەمنامەی ناوخۆیی",
-  "navigation_bar.compose": "نووسینی توتی نوێ",
-  "navigation_bar.direct": "نامە ڕاستەوخۆکان",
-  "navigation_bar.discover": "دۆزینەوە",
-  "navigation_bar.domain_blocks": "دۆمەینە بلۆک کراوەکان",
-  "navigation_bar.edit_profile": "دەستکاری پرۆفایل بکە",
-  "navigation_bar.favourites": "دڵخوازەکان",
-  "navigation_bar.filters": "وشە کپەکان",
-  "navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە",
-  "navigation_bar.follows_and_followers": "شوێنکەوتوو و شوێنکەوتوان",
-  "navigation_bar.info": "دەربارەی ئەم ڕاژە",
-  "navigation_bar.keyboard_shortcuts": "هۆتکەی",
-  "navigation_bar.lists": "لیستەکان",
-  "navigation_bar.logout": "دەرچوون",
-  "navigation_bar.mutes": "کپکردنی بەکارهێنەران",
-  "navigation_bar.personal": "کەسی",
-  "navigation_bar.pins": "توتی چەسپاو",
-  "navigation_bar.preferences": "پەسەندەکان",
-  "navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک",
-  "navigation_bar.security": "ئاسایش",
-  "notification.admin.sign_up": "{name} signed up",
-  "notification.favourite": "{name} نووسراوەکەتی پەسەند کرد",
-  "notification.follow": "{name} دوای تۆ کەوت",
-  "notification.follow_request": "{name} داوای کردووە کە شوێنت بکەوێت",
-  "notification.mention": "{name} باسی ئێوەی کرد",
-  "notification.own_poll": "ڕاپرسیەکەت کۆتایی هات",
-  "notification.poll": "ڕاپرسییەک کە دەنگی پێداویت کۆتایی هات",
-  "notification.reblog": "{name} نووسراوەکەتی دووبارە توتاند",
-  "notification.status": "{name} تازە بڵاوکرایەوە",
-  "notification.update": "{name} edited a post",
-  "notifications.clear": "ئاگانامەکان بسڕیەوە",
-  "notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
-  "notifications.column_settings.alert": "ئاگانامەکانی پیشانگەرر ڕومێزی",
-  "notifications.column_settings.favourite": "دڵخوازترین:",
-  "notifications.column_settings.filter_bar.advanced": "هەموو پۆلەکان پیشان بدە",
-  "notifications.column_settings.filter_bar.category": "شریتی پاڵێوەری خێرا",
-  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
-  "notifications.column_settings.follow": "شوێنکەوتوانی نوێ:",
-  "notifications.column_settings.follow_request": "شوینکەوتنی داواکاری نوێ:",
-  "notifications.column_settings.mention": "ئاماژەکان:",
-  "notifications.column_settings.poll": "ئەنجامەکانی ڕاپرسی:",
-  "notifications.column_settings.push": "ئاگانامەکان پاڵ بنێ",
-  "notifications.column_settings.reblog": "دووبارەتوتەکان:",
-  "notifications.column_settings.show": "لە ستووندا پیشان بدە",
-  "notifications.column_settings.sound": "لێدانی دەنگ",
-  "notifications.column_settings.status": "توتەکانی نوێ:",
-  "notifications.column_settings.unread_notifications.category": "Unread notifications",
-  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
-  "notifications.column_settings.update": "Edits:",
-  "notifications.filter.all": "هەموو",
-  "notifications.filter.boosts": "دووبارەتوتەکان",
-  "notifications.filter.favourites": "دڵخوازەکان",
-  "notifications.filter.follows": "شوێنکەوتن",
-  "notifications.filter.mentions": "ئاماژەکان",
-  "notifications.filter.polls": "ئەنجامەکانی ڕاپرسی",
-  "notifications.filter.statuses": "نوێکردنەوەکان ئەو کەسانەی کە پەیڕەوی دەکەیت",
-  "notifications.grant_permission": "Grant permission.",
-  "notifications.group": "{count} ئاگانامە",
-  "notifications.mark_as_read": "هەموو ئاگانامەکان وەک خوێندراوەتەوە نیشان بکە",
-  "notifications.permission_denied": "ناتوانرێت ئاگانامەکانی دێسکتۆپ چالاک بکرێت وەک ڕێپێدان ڕەتکرایەوە.",
-  "notifications.permission_denied_alert": "ناتوانرێت ئاگانامەکانی دێسکتۆپ چالاک بکرێت، چونکە پێشتر مۆڵەتی وێبگەڕ ڕەتکرایەوە",
-  "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.",
-  "notifications_permission_banner.enable": "چالاککردنی ئاگانامەکانی دێسکتۆپ",
-  "notifications_permission_banner.how_to_control": "بۆ وەرگرتنی ئاگانامەکان کاتێک ماستۆدۆن نەکراوەیە، ئاگانامەکانی دێسکتۆپ چالاک بکە. دەتوانیت بە وردی کۆنترۆڵی جۆری کارلێکەکان بکەیت کە ئاگانامەکانی دێسکتۆپ دروست دەکەن لە ڕێگەی دوگمەی {icon} لەسەرەوە کاتێک چالاک دەکرێن.",
-  "notifications_permission_banner.title": "هەرگیز شتێک لە دەست مەدە",
-  "picture_in_picture.restore": "بیگەڕێنەوە",
-  "poll.closed": "دابخە",
-  "poll.refresh": "نوێکردنەوە",
-  "poll.total_people": "{count, plural, one {# خەڵک} other {# خەڵک}}",
-  "poll.total_votes": "{count, plural, one {# دەنگ} other {# دەنگ}}\n",
-  "poll.vote": "دەنگ",
-  "poll.voted": "تۆ دەنگت بەو وەڵامە دا",
-  "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
-  "poll_button.add_poll": "ڕاپرسییەک زیاد بکە",
-  "poll_button.remove_poll": "ده‌نگدان بسڕه‌وه‌‌",
-  "privacy.change": "ڕێکخستنی تایبەتمەندی توت",
-  "privacy.direct.long": "تەنیا بۆ بەکارهێنەرانی ناوبراو",
-  "privacy.direct.short": "ڕاستەوخۆ",
-  "privacy.private.long": "بینراو تەنها بۆ شوێنکەوتوان",
-  "privacy.private.short": "تەنها بۆ شوێنکەوتوان",
-  "privacy.public.long": "بۆ هەمووان دیاربێت، لە هێڵی کاتی گشتی دا نیشان دەدرێت",
-  "privacy.public.short": "گشتی",
-  "privacy.unlisted.long": "بۆ هەمووان دیارە، بەڵام لە هێڵی کاتی گشتیدا نا",
-  "privacy.unlisted.short": "لە لیست نەکراو",
-  "refresh": "نوێکردنەوە",
-  "regeneration_indicator.label": "بارکردن…",
-  "regeneration_indicator.sublabel": "ڕاگەیەنەری ماڵەوەت ئامادە دەکرێت!",
-  "relative_time.days": "{number}ڕۆژ",
-  "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
-  "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
-  "relative_time.full.just_now": "just now",
-  "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
-  "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
-  "relative_time.hours": "{number}کات",
-  "relative_time.just_now": "ئێستا",
-  "relative_time.minutes": "{number}کات",
-  "relative_time.seconds": "{number}کات",
-  "relative_time.today": "ئیمڕۆ",
-  "reply_indicator.cancel": "هەڵوەشاندنەوه",
-  "report.block": "Block",
-  "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
-  "report.categories.other": "Other",
-  "report.categories.spam": "Spam",
-  "report.categories.violation": "Content violates one or more server rules",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
-  "report.forward": "ناردن بۆ {target}",
-  "report.forward_hint": "هەژمارەکە لە ڕاژەیەکی ترە. ڕونووسێکی نەناسراو بنێرە بۆ گوزارشت لەوێ?",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
-  "report.placeholder": "سەرنجەکانی زیاتر",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
-  "report.submit": "ناردن",
-  "report.target": "گوزارشتکردنی{target}",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
-  "search.placeholder": "گەڕان",
-  "search_popout.search_format": "شێوەی گەڕانی پێشکەوتوو",
-  "search_popout.tips.full_text": "گەڕانێکی دەقی سادە دەتوانێت توتەکانی ئێوە کە، نووسیوتانە،پەسەنتان کردووە، دووبارەتانکردووە، یان ئەو توتانە کە باسی ئێوەی تێدا کراوە پەیدا دەکا. هەروەها ناوی بەکارهێنەران، ناوی پیشاندراو و هەشتەگەکانیش لە خۆ دەگرێت.",
-  "search_popout.tips.hashtag": "هەشتاگ",
-  "search_popout.tips.status": "توت",
-  "search_popout.tips.text": "دەقی سادە هەڵدەسێ بە گەڕاندنەوەی هاوتایی ناوی پیشاندان، ناوی بەکارهێنەر و هاشتاگەکان",
-  "search_popout.tips.user": "بەکارهێنەر",
-  "search_results.accounts": "خەڵک",
-  "search_results.all": "All",
-  "search_results.hashtags": "هەشتاگ",
-  "search_results.nothing_found": "Could not find anything for these search terms",
-  "search_results.statuses": "توتەکان",
-  "search_results.statuses_fts_disabled": "گەڕانی توتەکان بە ناوەڕۆکیان لەسەر ئەم ڕاژەی ماستۆدۆن چالاک نەکراوە.",
-  "search_results.total": "{count, number} {count, plural, one {دەرئەنجام} other {دەرئەنجام}}",
-  "status.admin_account": "کردنەوەی میانڕەوی بەڕێوەبەر بۆ @{name}",
-  "status.admin_status": "ئەم توتە بکەوە لە ناو ڕووکاری بەڕیوەبەر",
-  "status.block": "بلۆکی @{name}",
-  "status.bookmark": "نیشانه",
-  "status.cancel_reblog_private": "بێبەهێزکردن",
-  "status.cannot_reblog": "ئەم بابەتە ناتوانرێت بەرزبکرێتەوە",
-  "status.copy": "ڕوونووسی بەستەر بۆ توت",
-  "status.delete": "سڕینەوە",
-  "status.detailed_status": "ڕوانگەی گفتوگۆ بە وردەکاری",
-  "status.direct": "پەیامی ڕاستەوخۆ @{name}",
-  "status.edit": "Edit",
-  "status.edited": "Edited {date}",
-  "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
-  "status.embed": "نیشتەجێ بکە",
-  "status.favourite": "دڵخواز",
-  "status.filtered": "پاڵاوتن",
-  "status.history.created": "{name} created {date}",
-  "status.history.edited": "{name} edited {date}",
-  "status.load_more": "بارکردنی زیاتر",
-  "status.media_hidden": "میدیای شاراوە",
-  "status.mention": "ناوبنێ @{name}",
-  "status.more": "زیاتر",
-  "status.mute": "بێدەنگکردن @{name}",
-  "status.mute_conversation": "گفتوگۆی بێدەنگ",
-  "status.open": "ئەم توتە فراوان بکە",
-  "status.pin": "لکاندن لەسەر پرۆفایل",
-  "status.pinned": "توتی چەسپکراو",
-  "status.read_more": "زیاتر بخوێنەوە",
-  "status.reblog": "بەهێزکردن",
-  "status.reblog_private": "بەهێزکردن بۆ بینەرانی سەرەتایی",
-  "status.reblogged_by": "{name} توتی کردەوە",
-  "status.reblogs.empty": "کەس ئەم توتەی دووبارە نەتوتاندوە ،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.",
-  "status.redraft": "سڕینەوەی و دووبارە ڕەشنووس",
-  "status.remove_bookmark": "لابردنی نیشانه",
-  "status.reply": "وەڵام",
-  "status.replyAll": "بە نووسراوە وەڵام بدەوە",
-  "status.report": "گوزارشت @{name}",
-  "status.sensitive_warning": "ناوەڕۆکی هەستیار",
-  "status.share": "هاوبەش کردن",
-  "status.show_less": "کەمتر نیشان بدە",
-  "status.show_less_all": "کەمتر نیشان بدە بۆ هەمووی",
-  "status.show_more": "زیاتر پیشان بدە",
-  "status.show_more_all": "زیاتر نیشان بدە بۆ هەمووی",
-  "status.show_thread": "نیشاندانی گفتوگۆ",
-  "status.uncached_media_warning": "بەردەست نیە",
-  "status.unmute_conversation": "گفتوگۆی بێدەنگ",
-  "status.unpin": "لابردن لە پرۆفایل",
-  "suggestions.dismiss": "ڕەتکردنەوەی پێشنیار",
-  "suggestions.header": "لەوانەیە حەزت لەمەش بێت…",
-  "tabs_bar.federated_timeline": "گشتی",
-  "tabs_bar.home": "سەرەتا",
-  "tabs_bar.local_timeline": "ناوخۆیی",
-  "tabs_bar.notifications": "ئاگادارییەکان",
-  "tabs_bar.search": "گەڕان",
-  "time_remaining.days": "{number, plural, one {# ڕۆژ} other {# ڕۆژ}} ماوە",
-  "time_remaining.hours": "{number, plural, one {# کات} other {# کات}} ماوە",
-  "time_remaining.minutes": "{number, plural, one {# خۆلەک} other {# خولەک}} ماوە",
-  "time_remaining.moments": "ئەو ساتانەی ماونەتەوە",
-  "time_remaining.seconds": "{number, plural, one {# چرکە} other {# چرکە}} ماوە",
-  "timeline_hint.remote_resource_not_displayed": "{resource} لە ڕاژەکانی ترەوە پیشان نادرێت.",
-  "timeline_hint.resources.followers": "شوێنکەوتووان",
-  "timeline_hint.resources.follows": "شوێنکەوتن",
-  "timeline_hint.resources.statuses": "توتی کۆن",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} کەس} other {{counter} کەس}} گفتوگۆ دەکا",
-  "trends.trending_now": "گۆگران",
-  "ui.beforeunload": "ڕەشنووسەکەت لە دەست دەچێت ئەگەر لە ماستۆدۆن بڕۆیت.",
-  "units.short.billion": "{count}ملیار",
-  "units.short.million": "{count}ملیۆن",
-  "units.short.thousand": "{count}هەزار",
-  "upload_area.title": "ڕاکێشان & دانان بۆ بارکردن",
-  "upload_button.label": "زیادکردنی وێنەکان، ڤیدیۆیەک یان فایلێکی دەنگی",
-  "upload_error.limit": "سنووری بارکردنی فایل تێپەڕیوە.",
-  "upload_error.poll": "پەڕگەکە ڕێی پێنەدراوە بە ڕاپرسی باربکرێت.",
-  "upload_form.audio_description": "بۆ ئەو کەسانەی کە گوێ بیستیان هەیە وەسف دەکات",
-  "upload_form.description": "وەسف بکە بۆ کەمبینایان",
-  "upload_form.edit": "دەستکاری",
-  "upload_form.thumbnail": "گۆڕانی وینۆچکە",
-  "upload_form.undo": "سڕینەوە",
-  "upload_form.video_description": "بۆ کەم بینایان و کەم بیستان وەسفی بکە",
-  "upload_modal.analyzing_picture": "شیکردنەوەی وێنە…",
-  "upload_modal.apply": "جێبەجێ کردن",
-  "upload_modal.applying": "Applying…",
-  "upload_modal.choose_image": "وێنە هەڵبژێرە",
-  "upload_modal.description_placeholder": "بە دڵ کەین با بە نەشئەی مەی غوباری میحنەتی دونیا",
-  "upload_modal.detect_text": "دەقی وێنەکە بدۆزیەوە",
-  "upload_modal.edit_media": "دەستکاریکردنی میدیا",
-  "upload_modal.hint": "گەر وێنە چکۆلە یان بڕاوەبێت، خاڵی ناوەندی دیار دەکەوێت. خاڵی ناوەندی وێنە بە کرتە یان جێبەجیکردنی رێکبخەن.",
-  "upload_modal.preparing_ocr": "ئامادەکردنی OCR…",
-  "upload_modal.preview_label": "پێشبینی ({ratio})",
-  "upload_progress.label": "بارکردن...",
-  "video.close": "داخستنی ڤیدیۆ",
-  "video.download": "داگرتنی فایل",
-  "video.exit_fullscreen": "دەرچوون لە پڕ شاشە",
-  "video.expand": "ڤیدیۆفراوان بکە",
-  "video.fullscreen": "پڕپیشانگەر",
-  "video.hide": "شاردنەوەی ڤیدیۆ",
-  "video.mute": "دەنگی کپ",
-  "video.pause": "وەستان",
-  "video.play": "پەخشکردن",
-  "video.unmute": "دەنگ لابدە"
+  "compose_form.save_changes": "Guhertinan tomar bike",
+  "compose_form.sensitive.hide": "{count, plural, one {Medya wekî hestiyar nîşan bide} other {Medya wekî hestiyar nîşan bide}}",
+  "compose_form.sensitive.marked": "{count, plural, one {Medya wekî hestiyar hate nîşan} other {Medya wekî hestiyar nîşan}}",
+  "compose_form.sensitive.unmarked": "{count, plural, one {Medya wekî hestiyar nehatiye nîşan} other {Medya wekî hestiyar nehatiye nîşan}}",
+  "compose_form.spoiler.marked": "Hişyariya naverokê rake",
+  "compose_form.spoiler.unmarked": "Hişyariya naverokê tevlî bike",
+  "compose_form.spoiler_placeholder": "Li vir hişyariya xwe binivîse",
+  "confirmation_modal.cancel": "Dev jê berde",
+  "confirmations.block.block_and_report": "Asteng bike & ragihîne",
+  "confirmations.block.confirm": "Asteng bike",
+  "confirmations.block.message": "Ma tu dixwazî ku {name} asteng bikî?",
+  "confirmations.delete.confirm": "Jê bibe",
+  "confirmations.delete.message": "Ma tu dixwazî vê şandiyê jê bibî?",
+  "confirmations.delete_list.confirm": "Jê bibe",
+  "confirmations.delete_list.message": "Ma tu dixwazî bi awayekî herdemî vê rêzokê jê bibî?",
+  "confirmations.discard_edit_media.confirm": "Biavêje",
+  "confirmations.discard_edit_media.message": "Guhertinên neqedandî di danasîna an pêşdîtina medyayê de hene, wan bi her awayî bavêje?",
+  "confirmations.domain_block.confirm": "Hemî navperê asteng bike",
+  "confirmations.domain_block.message": "Tu ji xwe bawerî, bi rastî tu dixwazî hemû {domain} asteng bikî? Di gelek rewşan de asteng kirin an jî bêdeng kirin têrê dike û tê tercîh kirin. Tu nikarî naveroka vê navperê di demnameyê an jî agahdariyên xwe de bibînî. Şopînerên te yê di vê navperê were jêbirin.",
+  "confirmations.logout.confirm": "Derkeve",
+  "confirmations.logout.message": "Ma tu dixwazî ku derkevî?",
+  "confirmations.mute.confirm": "Bêdeng bike",
+  "confirmations.mute.explanation": "Ev ê şandinên ji wan tê û şandinên ku behsa wan dike veşêre, lê hê jî maf dide ku ew şandinên te bibînin û te bişopînin.",
+  "confirmations.mute.message": "Bi rastî tu dixwazî {name} bêdeng bikî?",
+  "confirmations.redraft.confirm": "Jê bibe & ji nû ve serrast bike",
+  "confirmations.redraft.message": "Bi rastî tu dixwazî şandî ye jê bibî û nûve reşnivîsek çê bikî? Bijarte û şandî wê wenda bibin û bersivên ji bo şandiyê resen wê sêwî bimînin.",
+  "confirmations.reply.confirm": "Bersivê bide",
+  "confirmations.reply.message": "Bersiva niha li ser peyama ku tu niha berhev dikî dê binivsîne. Ma pê bawer î ku tu dixwazî bidomînî?",
+  "confirmations.unfollow.confirm": "Neşopîne",
+  "confirmations.unfollow.message": "Ma tu dixwazî ku dev ji şopa {name} berdî?",
+  "conversation.delete": "Axaftinê jê bibe",
+  "conversation.mark_as_read": "Wekî xwendî nîşan bide",
+  "conversation.open": "Axaftinê nîşan bide",
+  "conversation.with": "Bi {names} re",
+  "directory.federated": "Ji fediversên naskirî",
+  "directory.local": "Tenê ji {domain}",
+  "directory.new_arrivals": "Kesên ku nû hatine",
+  "directory.recently_active": "Di demên dawî de çalak",
+  "embed.instructions": "Bi jêgirtina koda jêrîn vê şandiyê li ser malpera xwe bicîh bikin.",
+  "embed.preview": "Wa ye wê wusa xuya bike:",
+  "emoji_button.activity": "Çalakî",
+  "emoji_button.custom": "Kesanekirî",
+  "emoji_button.flags": "Nîşankirî",
+  "emoji_button.food": "Xwarin û vexwarin",
+  "emoji_button.label": "Emoji têxe",
+  "emoji_button.nature": "Sirûştî",
+  "emoji_button.not_found": "Hestokên lihevhatî nehate dîtin",
+  "emoji_button.objects": "Tişt",
+  "emoji_button.people": "Mirov",
+  "emoji_button.recent": "Pir caran tê bikaranîn",
+  "emoji_button.search": "Bigere...",
+  "emoji_button.search_results": "Encamên lêgerînê",
+  "emoji_button.symbols": "Sembol",
+  "emoji_button.travel": "Geşt û şûn",
+  "empty_column.account_suspended": "Ajimêr hatiye rawestandin",
+  "empty_column.account_timeline": "Li vir şandî tune!",
+  "empty_column.account_unavailable": "Profîl nayê peydakirin",
+  "empty_column.blocks": "Te tu bikarhêner asteng nekiriye.",
+  "empty_column.bookmarked_statuses": "Hîn tu peyamên şûnpelkirî tuneye. Gava ku hûn yek şûnpel bikin, ew ê li vir xûya bike.",
+  "empty_column.community": "Demnameya herêmî vala ye. Tiştek ji raya giştî re binivsînin da ku rûpel biherike!",
+  "empty_column.direct": "Hêj peyameke te yê rasterast tuneye. Gava ku tu yekî bişeynî an jî bigirî, ew ê li vir xûya bike.",
+  "empty_column.domain_blocks": "Hê jî navperên hatine asteng kirin tune ne.",
+  "empty_column.explore_statuses": "Tiştek niha di rojevê de tune. Paşê vegere!",
+  "empty_column.favourited_statuses": "Hîn tu peyamên te yên bijare tunene. Gava ku te yekî bijart, ew ê li vir xûya bike.",
+  "empty_column.favourites": "Hîn tu kes vê peyamê nebijartiye. Gava ku hin kes bijartin, ew ê li vir xûya bikin.",
+  "empty_column.follow_recommendations": "Wusa dixuye ku ji bo we tu pêşniyar nehatine çêkirin. Hûn dikarin lêgerînê bikarbînin da ku li kesên ku hûn nas dikin bigerin an hashtagên trendî bigerin.",
+  "empty_column.follow_requests": "Hê jî daxwaza şopandinê tunne ye. Dema daxwazek hat, yê li vir were nîşan kirin.",
+  "empty_column.hashtag": "Di vê hashtagê de hêj tiştekî tune.",
+  "empty_column.home": "Demnameya mala we vala ye! Ji bona tijîkirinê bêtir mirovan bişopînin. {suggestions}",
+  "empty_column.home.suggestions": "Hinek pêşniyaran bibîne",
+  "empty_column.list": "Di vê rêzokê de hîn tiştek tune ye. Gava ku endamên vê rêzokê peyamên nû biweşînin, ew ê li vir xuya bibin.",
+  "empty_column.lists": "Hêj qet rêzokê te tunne ye. Dema yek peyda bû, yê li vir were nîşan kirin.",
+  "empty_column.mutes": "Te tu bikarhêner bêdeng nekiriye.",
+  "empty_column.notifications": "Hêj hişyariyên te tunene. Dema ku mirovên din bi we re têkilî danîn, hûn ê wê li vir bibînin.",
+  "empty_column.public": "Li vir tiştekî tuneye! Ji raya giştî re tiştekî binivîsîne, an ji bo tijîkirinê ji rajekerên din bikarhêneran bi destan bişopînin",
+  "error.unexpected_crash.explanation": "Ji ber xeletîyeke di koda me da an jî ji ber mijara lihevhatina gerokan, ev rûpel rast nehat nîşandan.",
+  "error.unexpected_crash.explanation_addons": "Ev rûpel bi awayekî rast nehat nîşandan. Ev çewtî mimkûn e ji ber lêzêdekirina gerokan an jî amûrên wergera xweberî pêk tê.",
+  "error.unexpected_crash.next_steps": "Nûkirina rûpelê biceribîne. Heke ev bi kêr neyê, dibe ku te hîn jî bi rêya gerokeke cuda an jî sepana xwecîhê Mastodonê bi kar bîne.",
+  "error.unexpected_crash.next_steps_addons": "Ne çalak kirin û nûkirina rûpelê biceribîne. Heke ev bi kêr neyê, dibe ku te hîn jî bi rêya gerokeke cuda an jî sepana xwecîhê Mastodonê bi kar bîne.",
+  "errors.unexpected_crash.copy_stacktrace": "Şopa gemara (stacktrace) tûrikê ra jê bigire",
+  "errors.unexpected_crash.report_issue": "Pirsgirêkekê ragihîne",
+  "explore.search_results": "Encamên lêgerînê",
+  "explore.suggested_follows": "Ji bo te",
+  "explore.title": "Vekole",
+  "explore.trending_links": "Nûçe",
+  "explore.trending_statuses": "Şandî",
+  "explore.trending_tags": "Hashtag",
+  "follow_recommendations.done": "Qediya",
+  "follow_recommendations.heading": "Mirovên ku tu dixwazî ji wan peyaman bibînî bişopîne! Hin pêşnîyar li vir in.",
+  "follow_recommendations.lead": "Li gorî rêza kronolojîkî peyamên mirovên ku tu dişopînî dê demnameya te de xûya bike. Ji xeletiyan netirse, bi awayekî hêsan her wextî tu dikarî dev ji şopandinê berdî!",
+  "follow_request.authorize": "Mafê bide",
+  "follow_request.reject": "Nepejirîne",
+  "follow_requests.unlocked_explanation": "Tevlî ku ajimêra te ne kilît kiriye, karmendên {domain} digotin qey tu dixwazî ku pêşdîtina daxwazên şopandinê bi destan bike.",
+  "generic.saved": "Tomarkirî",
+  "getting_started.developers": "Pêşdebir",
+  "getting_started.directory": "Rêgeha profîlê",
+  "getting_started.documentation": "Pelbend",
+  "getting_started.heading": "Destpêkirin",
+  "getting_started.invite": "Mirovan Vexwîne",
+  "getting_started.open_source_notice": "Mastodon nermalava çavkaniya vekirî ye. Tu dikarî pirsgirêkan li ser GitHub-ê ragihînî di {github} de an jî dikarî tevkariyê bikî.",
+  "getting_started.security": "Sazkariyên ajimêr",
+  "getting_started.terms": "Mercên karûberan",
+  "hashtag.column_header.tag_mode.all": "û {additional}",
+  "hashtag.column_header.tag_mode.any": "an {additional}",
+  "hashtag.column_header.tag_mode.none": "bêyî {additional}",
+  "hashtag.column_settings.select.no_options_message": "Ti pêşniyar nehatin dîtin",
+  "hashtag.column_settings.select.placeholder": "Têkeve hashtagê…",
+  "hashtag.column_settings.tag_mode.all": "Van hemûyan",
+  "hashtag.column_settings.tag_mode.any": "Yek ji van",
+  "hashtag.column_settings.tag_mode.none": "Ne yek ji van",
+  "hashtag.column_settings.tag_toggle": "Ji bo vê stûnê hin pêvekan tevlî bike",
+  "home.column_settings.basic": "Bingehîn",
+  "home.column_settings.show_reblogs": "Bilindkirinan nîşan bike",
+  "home.column_settings.show_replies": "Bersivan nîşan bide",
+  "home.hide_announcements": "Reklaman veşêre",
+  "home.show_announcements": "Reklaman nîşan bide",
+  "intervals.full.days": "{number, plural, one {# roj} other {# roj}}",
+  "intervals.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}}\n \n",
+  "intervals.full.minutes": "{number, plural, one {# xulek} other {# xulek}}",
+  "keyboard_shortcuts.back": "Vegere paşê",
+  "keyboard_shortcuts.blocked": "Rêzoka bikarhênerên astengkirî veke",
+  "keyboard_shortcuts.boost": "Şandiyê bilind bike",
+  "keyboard_shortcuts.column": "Stûna balkişandinê",
+  "keyboard_shortcuts.compose": "Bal bikşîne cîhê nivîsê/textarea",
+  "keyboard_shortcuts.description": "Danasîn",
+  "keyboard_shortcuts.direct": "Ji stûnê peyamên rasterast veke",
+  "keyboard_shortcuts.down": "Di rêzokê de dakêşe jêr",
+  "keyboard_shortcuts.enter": "Şandiyê veke",
+  "keyboard_shortcuts.favourite": "Şandiya bijarte",
+  "keyboard_shortcuts.favourites": "Rêzokên bijarte veke",
+  "keyboard_shortcuts.federated": "Demnameyê federalîkirî veke",
+  "keyboard_shortcuts.heading": "Kurterêyên klavyeyê",
+  "keyboard_shortcuts.home": "Demnameyê veke",
+  "keyboard_shortcuts.hotkey": "Bişkoka kurterê",
+  "keyboard_shortcuts.legend": "Vê çîrokê nîşan bike",
+  "keyboard_shortcuts.local": "Demnameya herêmî veke",
+  "keyboard_shortcuts.mention": "Qala nivîskarî/ê bike",
+  "keyboard_shortcuts.muted": "Rêzoka bikarhênerên bêdeng kirî veke",
+  "keyboard_shortcuts.my_profile": "Profîla xwe veke",
+  "keyboard_shortcuts.notifications": "Stûnê agahdariyan veke",
+  "keyboard_shortcuts.open_media": "Medya veke",
+  "keyboard_shortcuts.pinned": "Şandiyên derzîkirî veke",
+  "keyboard_shortcuts.profile": "Profîla nivîskaran veke",
+  "keyboard_shortcuts.reply": "Bersivê bide şandiyê",
+  "keyboard_shortcuts.requests": "Rêzoka daxwazên şopandinê veke",
+  "keyboard_shortcuts.search": "Bal bide şivika lêgerînê",
+  "keyboard_shortcuts.spoilers": "Zeviya hişyariya naverokê nîşan bide/veşêre",
+  "keyboard_shortcuts.start": "Stûna \"destpêkê\" veke",
+  "keyboard_shortcuts.toggle_hidden": "Nivîsa paş hişyariya naverokê nîşan bide/veşêre",
+  "keyboard_shortcuts.toggle_sensitivity": "Medyayê nîşan bide/veşêre",
+  "keyboard_shortcuts.toot": "Dest bi şandiyeke nû bike",
+  "keyboard_shortcuts.unfocus": "Bal nede cîhê nivîsê /lêgerînê",
+  "keyboard_shortcuts.up": "Di rêzokê de rake jor",
+  "lightbox.close": "Bigire",
+  "lightbox.compress": "Qutîya wêneya nîşan dike bitepisîne",
+  "lightbox.expand": "Qutîya wêneya nîşan dike fireh bike",
+  "lightbox.next": "Pêş",
+  "lightbox.previous": "Paş",
+  "lists.account.add": "Tevlî rêzokê bike",
+  "lists.account.remove": "Ji rêzokê rake",
+  "lists.delete": "Rêzokê jê bibe",
+  "lists.edit": "Rêzokê serrast bike",
+  "lists.edit.submit": "Sernavê biguherîne",
+  "lists.new.create": "Rêzokê tevlî bike",
+  "lists.new.title_placeholder": "Sernavê rêzoka nû",
+  "lists.replies_policy.followed": "Bikarhênereke şopandî",
+  "lists.replies_policy.list": "Endamên rêzokê",
+  "lists.replies_policy.none": "Ne yek",
+  "lists.replies_policy.title": "Bersivan nîşan bide:",
+  "lists.search": "Di navbera kesên ku te dişopînin bigere",
+  "lists.subheading": "Rêzokên te",
+  "load_pending": "{count, plural, one {# hêmaneke nû} other {#hêmaneke nû}}",
+  "loading_indicator.label": "Tê barkirin...",
+  "media_gallery.toggle_visible": "{number, plural, one {Wêneyê veşêre} other {Wêneyan veşêre}}",
+  "missing_indicator.label": "Nehate dîtin",
+  "missing_indicator.sublabel": "Ev çavkanî nehat dîtin",
+  "mute_modal.duration": "Dem",
+  "mute_modal.hide_notifications": "Agahdariyan ji ev bikarhêner veşêre?",
+  "mute_modal.indefinite": "Nediyar",
+  "navigation_bar.apps": "Sepana mobîl",
+  "navigation_bar.blocks": "Bikarhênerên astengkirî",
+  "navigation_bar.bookmarks": "Şûnpel",
+  "navigation_bar.community_timeline": "Demnameya herêmî",
+  "navigation_bar.compose": "Şandiyeke nû binivsîne",
+  "navigation_bar.direct": "Peyamên rasterast",
+  "navigation_bar.discover": "Vekolê",
+  "navigation_bar.domain_blocks": "Navparên astengkirî",
+  "navigation_bar.edit_profile": "Profîl serrast bike",
+  "navigation_bar.explore": "Vekole",
+  "navigation_bar.favourites": "Bijarte",
+  "navigation_bar.filters": "Peyvên bêdengkirî",
+  "navigation_bar.follow_requests": "Daxwazên şopandinê",
+  "navigation_bar.follows_and_followers": "Şopandin û şopîner",
+  "navigation_bar.info": "Derbarê vî rajekarî",
+  "navigation_bar.keyboard_shortcuts": "Bişkoka kurterê",
+  "navigation_bar.lists": "Rêzok",
+  "navigation_bar.logout": "Derkeve",
+  "navigation_bar.mutes": "Bikarhênerên bêdengkirî",
+  "navigation_bar.personal": "Kesanî",
+  "navigation_bar.pins": "Şandiya derzîkirî",
+  "navigation_bar.preferences": "Sazkarî",
+  "navigation_bar.public_timeline": "Demnameyê federalîkirî",
+  "navigation_bar.security": "Ewlehî",
+  "notification.admin.sign_up": "{name} tomar bû",
+  "notification.favourite": "{name} şandiya te hez kir",
+  "notification.follow": "{name} te şopand",
+  "notification.follow_request": "{name} dixwazê te bişopîne",
+  "notification.mention": "{name} qale te kir",
+  "notification.own_poll": "Rapirsîya te qediya",
+  "notification.poll": "Rapirsiyeke ku te deng daye qediya",
+  "notification.reblog": "{name} şandiya te bilind kir",
+  "notification.status": "{name} niha şand",
+  "notification.update": "{name} şandiyek serrast kir",
+  "notifications.clear": "Agahdariyan pak bike",
+  "notifications.clear_confirmation": "Bi rastî tu dixwazî bi awayekî dawî hemû agahdariyên xwe pak bikî?",
+  "notifications.column_settings.admin.sign_up": "Tomarkirinên nû:",
+  "notifications.column_settings.alert": "Agahdariyên sermaseyê",
+  "notifications.column_settings.favourite": "Bijarte:",
+  "notifications.column_settings.filter_bar.advanced": "Hemû beşan nîşan bide",
+  "notifications.column_settings.filter_bar.category": "Şivika parzûna bilêz",
+  "notifications.column_settings.filter_bar.show_bar": "Darika parzûnê nîşan bide",
+  "notifications.column_settings.follow": "Şopînerên nû:",
+  "notifications.column_settings.follow_request": "Daxwazên şopandinê nû:",
+  "notifications.column_settings.mention": "Qalkirin:",
+  "notifications.column_settings.poll": "Encamên rapirsiyê:",
+  "notifications.column_settings.push": "Agahdarîyên yekser",
+  "notifications.column_settings.reblog": "Bilindkirî:",
+  "notifications.column_settings.show": "Di nav stûnê de nîşan bike",
+  "notifications.column_settings.sound": "Deng lêxe",
+  "notifications.column_settings.status": "Şandiyên nû:",
+  "notifications.column_settings.unread_notifications.category": "Agahdariyên nexwendî",
+  "notifications.column_settings.unread_notifications.highlight": "Agahiyên nexwendî nîşan bike",
+  "notifications.column_settings.update": "Serrastkirin:",
+  "notifications.filter.all": "Hemû",
+  "notifications.filter.boosts": "Bilindkirî",
+  "notifications.filter.favourites": "Bijarte",
+  "notifications.filter.follows": "Şopîner",
+  "notifications.filter.mentions": "Qalkirin",
+  "notifications.filter.polls": "Encamên rapirsiyê",
+  "notifications.filter.statuses": "Ji kesên tu dişopînî re rojanekirin",
+  "notifications.grant_permission": "Destûrê bide.",
+  "notifications.group": "{count} agahdarî",
+  "notifications.mark_as_read": "Hemî agahdarîya wek xwendî nîşan bike",
+  "notifications.permission_denied": "Agahdarîyên sermaseyê naxebite ji ber ku berê de daxwazî ya destûr dayîna gerokê hati bû red kirin",
+  "notifications.permission_denied_alert": "Agahdarîyên sermaseyê nay çalak kirin, ji ber ku destûr kirina gerokê pêşî de hati bû red kirin",
+  "notifications.permission_required": "Agahdarîyên sermaseyê naxebite çunkî mafê pêwîst dike nehatiye dayîn.",
+  "notifications_permission_banner.enable": "Agahdarîyên sermaseyê çalak bike",
+  "notifications_permission_banner.how_to_control": "Da ku agahdariyên mastodon bistînî gava ne vekirî be. Agahdariyên sermaseyê çalak bike\n Tu dikarî agahdariyên sermaseyê bi rê ve bibî ku bi hemû cureyên çalakiyên ên ku agahdariyan rû didin ku bi riya tikandînê li ser bişkoka {icon} çalak dibe.",
+  "notifications_permission_banner.title": "Tu tiştî bîr neke",
+  "picture_in_picture.restore": "Vegerîne paş",
+  "poll.closed": "Girtî",
+  "poll.refresh": "Nû bike",
+  "poll.total_people": "{count, plural, one {# kes} other {# kes}}",
+  "poll.total_votes": "{count, plural, one {# deng} other {# deng}}",
+  "poll.vote": "Deng bide",
+  "poll.voted": "Te dengê xwe da vê bersivê",
+  "poll.votes": "{votes, plural, one {# deng} other {# deng}}",
+  "poll_button.add_poll": "Rapirsîyek zêde bike",
+  "poll_button.remove_poll": "Rapirsî yê rake",
+  "privacy.change": "Nepênîtiya şandiyan biguherîne",
+  "privacy.direct.long": "Tenê ji bo bikarhênerên qalkirî tê dîtin",
+  "privacy.direct.short": "Taybet",
+  "privacy.private.long": "Tenê bo şopîneran xuyabar e",
+  "privacy.private.short": "Tenê şopîneran",
+  "privacy.public.long": "Ji bo herkesî li berçav e, di demnameyên gelemperî de dê xûyakirin",
+  "privacy.public.short": "Gelemperî",
+  "privacy.unlisted.long": "Ji herkesî ra tê xûya, lê demnameyê gelemperî ra nay xûyakirin",
+  "privacy.unlisted.short": "Nerêzok",
+  "refresh": "Nû bike",
+  "regeneration_indicator.label": "Tê barkirin…",
+  "regeneration_indicator.sublabel": "Mala te da tê amedekirin!",
+  "relative_time.days": "{number}r",
+  "relative_time.full.days": "{number, plural, one {# roj} other {# roj}} berê",
+  "relative_time.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} berê",
+  "relative_time.full.just_now": "hema niha",
+  "relative_time.full.minutes": "{number, plural, one {# xulek} other {# xulek}} berê",
+  "relative_time.full.seconds": "{number, plural, one {# çirke} other {# çirke}} berê",
+  "relative_time.hours": "{number}d",
+  "relative_time.just_now": "niha",
+  "relative_time.minutes": "{number}x",
+  "relative_time.seconds": "{number}ç",
+  "relative_time.today": "îro",
+  "reply_indicator.cancel": "Dev jê berde",
+  "report.block": "Asteng bike",
+  "report.block_explanation": "Tu yê şandiyên wan nebînî. Ew ê nikaribin şandiyên te bibînin an jî te bişopînin. Ew ê bizanibin ku ew hatine astengkirin.",
+  "report.categories.other": "Yên din",
+  "report.categories.spam": "Nexwestî (Spam)",
+  "report.categories.violation": "Naverok yek an çend rêbazên rajekar binpê dike",
+  "report.category.subtitle": "Baştirîn lihevhatin hilbijêre",
+  "report.category.title": "Ji me re bêje ka çi diqewime bi vê {type} re",
+  "report.category.title_account": "profîl",
+  "report.category.title_status": "şandî",
+  "report.close": "Qediya",
+  "report.comment.title": "Tiştek din heye ku tu difikirî ku divê em zanibin?",
+  "report.forward": "Biçe bo {target}",
+  "report.forward_hint": "Ajimêr ji rajekarek din da ne. Tu kopîyeka anonîm ya raporê bişînî li wur?",
+  "report.mute": "Bêdeng bike",
+  "report.mute_explanation": "Tê yê şandiyên wan nebînî. Ew hin jî dikarin te bişopînin û şandiyên te bibînin û wê nizanibin ku ew hatine bêdengkirin.",
+  "report.next": "Pêş",
+  "report.placeholder": "Şiroveyên zêde",
+  "report.reasons.dislike": "Ez jê hez nakim",
+  "report.reasons.dislike_description": "Ew ne tiştek e ku tu dixwazî bibînî",
+  "report.reasons.other": "Tiştekî din e",
+  "report.reasons.other_description": "Pirsgirêk di kategoriyên din de cih nagire",
+  "report.reasons.spam": "Ew spam e",
+  "report.reasons.spam_description": "Girêdanên xerab, tevlêbûna sexte, an jî bersivên dubarekirî",
+  "report.reasons.violation": "Ew rêzikên rajekar binpê dike",
+  "report.reasons.violation_description": "Tu dizanî ku ew rêzikên taybetiyê binpê dike",
+  "report.rules.subtitle": "Hemûyên ku têne sepandin hibijêre",
+  "report.rules.title": "Kîjan rêzik têne binpêkirin?",
+  "report.statuses.subtitle": "Hemûyên ku têne sepandin hibijêre",
+  "report.statuses.title": "Tu şandiyên ku vê ragihandinê piştgirî dikin hene?",
+  "report.submit": "Bişîne",
+  "report.target": "Ragihandin {target}",
+  "report.thanks.take_action": "Li vir vebijêrkên te hene ji bo kontrolkirina tiştê ku tu li se Mastodon dibînî:",
+  "report.thanks.take_action_actionable": "Dema ku em vê yekê dinirxînin, tu dikarî li dijî @{name} tedbîran bigirî:",
+  "report.thanks.title": "Tu naxwazî vê bibînî?",
+  "report.thanks.title_actionable": "Spas ji bo ragihandina te, em ê binirxînin.",
+  "report.unfollow": "@{name} neşopîne",
+  "report.unfollow_explanation": "Tê vê ajimêrê dişopînî. Ji bo ku êdî şandiyên wan di rojeva xwe de nebînî, wan neşopîne.",
+  "search.placeholder": "Bigere",
+  "search_popout.search_format": "Dirûva lêgerîna pêşketî",
+  "search_popout.tips.full_text": "Nivîsên hêsan, şandiyên ku te nivîsandiye, bijare kiriye, bilind kiriye an jî yên behsa te kirine û her wiha navê bikarhêneran, navên xûya dike û hashtagan vedigerîne.",
+  "search_popout.tips.hashtag": "hashtag",
+  "search_popout.tips.status": "şandî",
+  "search_popout.tips.text": "Nivîsên hêsan, navên xûya ên ku li hev hatî, bikarhêner û hashtagan vedigerîne",
+  "search_popout.tips.user": "bikarhêner",
+  "search_results.accounts": "Mirov",
+  "search_results.all": "Hemû",
+  "search_results.hashtags": "Hashtag",
+  "search_results.nothing_found": "Ji bo van peyvên lêgerînê tiştek nehate dîtin",
+  "search_results.statuses": "Şandî",
+  "search_results.statuses_fts_disabled": "Di vê rajekara Mastodonê da lêgerîna şandîyên li gorî naveroka wan ne çalak e.",
+  "search_results.total": "{count, number} {count, plural, one {encam} other {encam}}",
+  "status.admin_account": "Ji bo @{name} navrûya venihêrtinê veke",
+  "status.admin_status": "Vê şandîyê di navrûya venihêrtinê de veke",
+  "status.block": "@{name} asteng bike",
+  "status.bookmark": "Şûnpel",
+  "status.cancel_reblog_private": "Bilind neke",
+  "status.cannot_reblog": "Ev şandî nayê bilindkirin",
+  "status.copy": "Girêdanê jê bigire bo weşankirinê",
+  "status.delete": "Jê bibe",
+  "status.detailed_status": "Dîtina axaftina berfireh",
+  "status.direct": "Peyama rasterast @{name}",
+  "status.edit": "Serrast bike",
+  "status.edited": "Di {date} de hate serrastkirin",
+  "status.edited_x_times": "{count, plural, one {{count} car} other {{count} car}} hate serrastkirin",
+  "status.embed": "Hedimandî",
+  "status.favourite": "Bijarte",
+  "status.filtered": "Parzûnkirî",
+  "status.history.created": "{name} {date} afirand",
+  "status.history.edited": "{name} {date} serrast kir",
+  "status.load_more": "Bêtir bar bike",
+  "status.media_hidden": "Medya veşartî ye",
+  "status.mention": "Qal @{name} bike",
+  "status.more": "Bêtir",
+  "status.mute": "@{name} Bêdeng bike",
+  "status.mute_conversation": "Axaftinê bêdeng bike",
+  "status.open": "Vê şandiyê berferh bike",
+  "status.pin": "Li ser profîlê derzî bike",
+  "status.pinned": "Şandiya derzîkirî",
+  "status.read_more": "Bêtir bixwîne",
+  "status.reblog": "Bilind bike",
+  "status.reblog_private": "Bi dîtina resen bilind bike",
+  "status.reblogged_by": "{name} bilind kir",
+  "status.reblogs.empty": "Kesekî hin ev şandî bilind nekiriye. Gava kesek bilind bike, ew ên li vir werin xuyakirin.",
+  "status.redraft": "Jê bibe & ji nû ve reşnivîs bike",
+  "status.remove_bookmark": "Şûnpêlê jê rake",
+  "status.reply": "Bersivê bide",
+  "status.replyAll": "Mijarê bibersivîne",
+  "status.report": "{name} gilî bike",
+  "status.sensitive_warning": "Naveroka hestiyarî",
+  "status.share": "Parve bike",
+  "status.show_less": "Kêmtir nîşan bide",
+  "status.show_less_all": "Ji bo hemîyan kêmtir nîşan bide",
+  "status.show_more": "Hêj zehftir nîşan bide",
+  "status.show_more_all": "Bêtir nîşan bide bo hemûyan",
+  "status.show_thread": "Mijarê nîşan bide",
+  "status.uncached_media_warning": "Tune ye",
+  "status.unmute_conversation": "Axaftinê bêdeng neke",
+  "status.unpin": "Şandiya derzîkirî ji profîlê rake",
+  "suggestions.dismiss": "Pêşniyarê paşguh bike",
+  "suggestions.header": "Dibe ku bala te bikşîne…",
+  "tabs_bar.federated_timeline": "Giştî",
+  "tabs_bar.home": "Serrûpel",
+  "tabs_bar.local_timeline": "Herêmî",
+  "tabs_bar.notifications": "Agahdarî",
+  "tabs_bar.search": "Bigere",
+  "time_remaining.days": "{number, plural, one {# roj} other {# roj}} maye",
+  "time_remaining.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} maye",
+  "time_remaining.minutes": "{number, plural, one {# xulek} other {# xulek}} maye",
+  "time_remaining.moments": "Demên mayî",
+  "time_remaining.seconds": "{number, plural, one {# çirke} other {# çirke}} maye",
+  "timeline_hint.remote_resource_not_displayed": "{resource} Ji rajekerên din nayê dîtin.",
+  "timeline_hint.resources.followers": "Şopîner",
+  "timeline_hint.resources.follows": "Şopîner",
+  "timeline_hint.resources.statuses": "Şandiyên kevn",
+  "trends.counter_by_accounts": "{count, plural, one {{counter} kes} other {{counter} kes}} diaxivin",
+  "trends.trending_now": "Rojev",
+  "ui.beforeunload": "Ger ji Mastodonê veketi wê reşnivîsa te jî winda bibe.",
+  "units.short.billion": "{count}B",
+  "units.short.million": "{count}M",
+  "units.short.thousand": "{count}H",
+  "upload_area.title": "Ji bo barkirinê kaş bike û deyne",
+  "upload_button.label": "Wêne, vîdeoyek an jî pelê dengî tevlî bike",
+  "upload_error.limit": "Sînora barkirina pelan derbas bû.",
+  "upload_error.poll": "Di rapirsîyan de mafê barkirina pelan nayê dayîn.",
+  "upload_form.audio_description": "Ji bona kesên kêm dibihîsin re pênase bike",
+  "upload_form.description": "Ji bona astengdarên dîtinê re vebêje",
+  "upload_form.edit": "Serrast bike",
+  "upload_form.thumbnail": "Wêneyê biçûk biguherîne",
+  "upload_form.undo": "Jê bibe",
+  "upload_form.video_description": "Ji bo kesên kerr û lalan pênase bike",
+  "upload_modal.analyzing_picture": "Wêne tê analîzkirin…",
+  "upload_modal.apply": "Bisepîne",
+  "upload_modal.applying": "Tê sepandin…",
+  "upload_modal.choose_image": "Wêneyê hilbijêre",
+  "upload_modal.description_placeholder": "Rovîyek qehweyî û bilez li ser kûçikê tîral banz dide",
+  "upload_modal.detect_text": "Ji nivîsa wêneyê re serwext be",
+  "upload_modal.edit_media": "Medyayê sererast bike",
+  "upload_modal.hint": "Ji bo hilbijartina xala navendê her tim dîmenê piçûk de pêşdîtina çerxê bitikîne an jî kaş bike.",
+  "upload_modal.preparing_ocr": "OCR dihê amadekirin…",
+  "upload_modal.preview_label": "Pêşdîtin ({ratio})",
+  "upload_progress.label": "Tê barkirin...",
+  "video.close": "Vîdyoyê bigire",
+  "video.download": "Pelê daxe",
+  "video.exit_fullscreen": "Ji dîmendera tijî derkeve",
+  "video.expand": "Vîdyoyê berferh bike",
+  "video.fullscreen": "Dimendera tijî",
+  "video.hide": "Vîdyo veşêre",
+  "video.mute": "Dengê qut bike",
+  "video.pause": "Rawestîne",
+  "video.play": "Vêxe",
+  "video.unmute": "Dengê qut neke"
 }
diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json
index 0e8aa9cf8..ca6eed5c1 100644
--- a/app/javascript/mastodon/locales/kw.json
+++ b/app/javascript/mastodon/locales/kw.json
@@ -18,12 +18,12 @@
   "account.followers": "Holyoryon",
   "account.followers.empty": "Ny wra nagonan holya'n devnydhyer ma hwath.",
   "account.followers_counter": "{count, plural, one {{counter} Holyer} other {{counter} Holyer}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {Ow holya {counter}} other {Ow holya {counter}}}",
   "account.follows.empty": "Ny wra'n devnydhyer ma holya nagonan hwath.",
   "account.follows_you": "Y'th hol",
   "account.hide_reblogs": "Kudha kenerthow a @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Bew diwettha",
   "account.link_verified_on": "Perghenogeth an kolm ma a veu checkys dhe {date}",
   "account.locked_info": "Studh privetter an akont ma yw alhwedhys. An perghen a wra dasweles dre leuv piw a yll aga holya.",
   "account.media": "Myski",
@@ -32,7 +32,6 @@
   "account.mute": "Tawhe @{name}",
   "account.mute_notifications": "Tawhe gwarnyansow a @{name}",
   "account.muted": "Tawhes",
-  "account.never_active": "Nevra",
   "account.posts": "Postow",
   "account.posts_with_replies": "Postow ha gorthebow",
   "account.report": "Reportya @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Tout} other {{counter} Tout}}",
   "account.unblock": "Anlettya @{name}",
   "account.unblock_domain": "Anlettya gorfarth {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Na wra diskwedhes yn profil",
   "account.unfollow": "Anholya",
   "account.unmute": "Antawhe @{name}",
   "account.unmute_notifications": "Antawhe gwarnyansow a @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Klyckya dhe geworra noten",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Diskudha",
   "navigation_bar.domain_blocks": "Gorfarthow lettys",
   "navigation_bar.edit_profile": "Golegi profil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Re drudh",
   "navigation_bar.filters": "Geryow tawhes",
   "navigation_bar.follow_requests": "Govynnow holya",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/locale-data/sa.js b/app/javascript/mastodon/locales/locale-data/sa.js
new file mode 100644
index 000000000..946dfde0f
--- /dev/null
+++ b/app/javascript/mastodon/locales/locale-data/sa.js
@@ -0,0 +1,97 @@
+/*eslint eqeqeq: "off"*/
+/*eslint no-nested-ternary: "off"*/
+/*eslint quotes: "off"*/
+/*eslint comma-dangle: "off"*/
+/*eslint semi: "off"*/
+
+export default [
+  {
+    locale: "sa",
+    fields: {
+      year: {
+        displayName: "year",
+        relative: {
+          0: "this year",
+          1: "next year",
+          "-1": "last year"
+        },
+        relativeTime: {
+          future: {
+            other: "+{0} y"
+          },
+          past: {
+            other: "-{0} y"
+          }
+        }
+      },
+      month: {
+        displayName: "month",
+        relative: {
+          0: "this month",
+          1: "next month",
+          "-1": "last month"
+        },
+        relativeTime: {
+          future: {
+            other: "+{0} m"
+          },
+          past: {
+            other: "-{0} m"
+          }
+        }
+      },
+      day: {
+        displayName: "day",
+        relative: {
+          0: "अद्य",
+          1: "श्वः",
+          "-1": "गतदिनम्"
+        },
+        relativeTime: {
+          future: {
+            other: "+{0} d"
+          },
+          past: {
+            other: "-{0} d"
+          }
+        }
+      },
+      hour: {
+        displayName: "hour",
+        relativeTime: {
+          future: {
+            other: "+{0} h"
+          },
+          past: {
+            other: "-{0} h"
+          }
+        }
+      },
+      minute: {
+        displayName: "minute",
+        relativeTime: {
+          future: {
+            other: "+{0} min"
+          },
+          past: {
+            other: "-{0} min"
+          }
+        }
+      },
+      second: {
+        displayName: "second",
+        relative: {
+          0: "now"
+        },
+        relativeTime: {
+          future: {
+            other: "+{0} s"
+          },
+          past: {
+            other: "-{0} s"
+          }
+        }
+      }
+    }
+  }
+]
diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json
index 600f4249e..bb432a8af 100644
--- a/app/javascript/mastodon/locales/lt.json
+++ b/app/javascript/mastodon/locales/lt.json
@@ -18,12 +18,12 @@
   "account.followers": "Followers",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Follows you",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Užtildytas",
-  "account.never_active": "Niekada",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Unblock @{name}",
   "account.unblock_domain": "Unhide {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Nebesekti",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Edit profile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index 07d93f563..f16df5423 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -18,12 +18,12 @@
   "account.followers": "Sekotāji",
   "account.followers.empty": "Šim lietotājam patreiz nav sekotāju.",
   "account.followers_counter": "{count, plural, one {{counter} Sekotājs} other {{counter} Sekotāji}}",
+  "account.following": "Seko",
   "account.following_counter": "{count, plural, one {{counter} Sekojošs} other {{counter} Sekojoši}}",
   "account.follows.empty": "Šis lietotājs pagaidām nevienam neseko.",
   "account.follows_you": "Seko tev",
   "account.hide_reblogs": "Paslēpt paceltos ierakstus no lietotāja @{name}",
   "account.joined": "Pievienojās {date}",
-  "account.last_status": "Pēdējā aktivitāte",
   "account.link_verified_on": "Šīs saites piederība ir pārbaudīta {date}",
   "account.locked_info": "Šī konta privātuma statuss ir slēgts. Īpašnieks izskatīs, kurš viņam drīkst sekot.",
   "account.media": "Mediji",
@@ -32,7 +32,6 @@
   "account.mute": "Apklusināt @{name}",
   "account.mute_notifications": "Nerādīt paziņojumus no @{name}",
   "account.muted": "Apklusināts",
-  "account.never_active": "Nekad",
   "account.posts": "Ziņas",
   "account.posts_with_replies": "Ziņas un atbildes",
   "account.report": "Ziņot par lietotāju @{name}",
@@ -42,10 +41,12 @@
   "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}",
+  "account.unblock_short": "Atbloķēt",
   "account.unendorse": "Neattēlot profilā",
   "account.unfollow": "Pārstāt sekot",
   "account.unmute": "Noņemt apklusinājumu @{name}",
   "account.unmute_notifications": "Rādīt paziņojumus no lietotāja @{name}",
+  "account.unmute_short": "Ieslēgt skaņu",
   "account_note.placeholder": "Noklikšķiniet, lai pievienotu piezīmi",
   "admin.dashboard.daily_retention": "Lietotāju saglabāšanas rādītājs dienā pēc reģistrēšanās",
   "admin.dashboard.monthly_retention": "Lietotāju saglabāšanas rādītājs mēnesī pēc reģistrēšanās",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Atklāt",
   "navigation_bar.domain_blocks": "Bloķētie domēni",
   "navigation_bar.edit_profile": "Rediģēt profilu",
+  "navigation_bar.explore": "Pārlūkot",
   "navigation_bar.favourites": "Izlases",
   "navigation_bar.filters": "Klusināti vārdi",
   "navigation_bar.follow_requests": "Sekošanas pieprasījumi",
diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json
index 54eae6e6d..c6f097134 100644
--- a/app/javascript/mastodon/locales/mk.json
+++ b/app/javascript/mastodon/locales/mk.json
@@ -18,12 +18,12 @@
   "account.followers": "Следбеници",
   "account.followers.empty": "Никој не го следи овој корисник сеуште.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "Корисникот не следи никој сеуште.",
   "account.follows_you": "Те следи тебе",
   "account.hide_reblogs": "Сокриј буст од @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Последно активен",
   "account.link_verified_on": "Сопстевноста на овај линк беше проверен на {date}",
   "account.locked_info": "Статусот на приватност на овај корисник е сетиран како заклучен. Корисникот одлучува кој можи да го следи него.",
   "account.media": "Медија",
@@ -32,7 +32,6 @@
   "account.mute": "Зачути го @{name}",
   "account.mute_notifications": "Исклучи известувања од @{name}",
   "account.muted": "Зачутено",
-  "account.never_active": "Никогаш",
   "account.posts": "Тутови",
   "account.posts_with_replies": "Тутови и реплики",
   "account.report": "Пријави @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Одблокирај @{name}",
   "account.unblock_domain": "Прикажи {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Не прикажувај на профил",
   "account.unfollow": "Одследи",
   "account.unmute": "Зачути го @{name}",
   "account.unmute_notifications": "Исклучи известувања од @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Уреди профил",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Омилени",
   "navigation_bar.filters": "Замолќени зборови",
   "navigation_bar.follow_requests": "Следи покани",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json
index 766bdfafd..1a0f4ac38 100644
--- a/app/javascript/mastodon/locales/ml.json
+++ b/app/javascript/mastodon/locales/ml.json
@@ -18,12 +18,12 @@
   "account.followers": "പിന്തുടരുന്നവർ",
   "account.followers.empty": "ഈ ഉപയോക്താവിനെ ആരും ഇതുവരെ പിന്തുടരുന്നില്ല.",
   "account.followers_counter": "{count, plural, one {{counter} പിന്തുടരുന്നവർ} other {{counter} പിന്തുടരുന്നവർ}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} പിന്തുടരുന്നു} other {{counter} പിന്തുടരുന്നു}}",
   "account.follows.empty": "ഈ ഉപയോക്താവ് ആരേയും ഇതുവരെ പിന്തുടരുന്നില്ല.",
   "account.follows_you": "നിങ്ങളെ പിന്തുടരുന്നു",
   "account.hide_reblogs": "@{name} ബൂസ്റ്റ് ചെയ്തവ മറയ്കുക",
   "account.joined": "{date} ൽ ചേർന്നു",
-  "account.last_status": "അവസാനം കണ്ടത്",
   "account.link_verified_on": "ഈ ലിങ്കിന്റെ ഉടമസ്തത {date} ഇൽ ഉറപ്പാക്കിയതാണ്",
   "account.locked_info": "ഈ അംഗത്വത്തിന്റെ സ്വകാര്യതാ നിലപാട് അനുസരിച്ച് പിന്തുടരുന്നവരെ തിരഞ്ഞെടുക്കാനുള്ള വിവേചനാധികാരം ഉടമസ്ഥനിൽ നിഷിപ്തമായിരിക്കുന്നു.",
   "account.media": "മീഡിയ",
@@ -32,7 +32,6 @@
   "account.mute": "@{name}-നെ(യെ) നിശ്ശബ്ദമാക്കൂ",
   "account.mute_notifications": "@{name} യിൽ നിന്നുള്ള അറിയിപ്പുകൾ നിശബ്ദമാക്കുക",
   "account.muted": "നിശ്ശബ്ദമാക്കിയിരിക്കുന്നു",
-  "account.never_active": "ഒരിക്കലും ഇല്ല",
   "account.posts": "പോസ്റ്റുകൾ",
   "account.posts_with_replies": "പോസ്റ്റുകളും മറുപടികളും",
   "account.report": "റിപ്പോർട്ട് ചെയ്യുക @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} ടൂട്ട്} other {{counter} ടൂട്ടുകൾ}}",
   "account.unblock": "@{name} തടഞ്ഞത് മാറ്റുക",
   "account.unblock_domain": "{domain} എന്ന മേഖല വെളിപ്പെടുത്തുക",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "പ്രൊഫൈലിൽ പ്രകടമാക്കരുത്",
   "account.unfollow": "പിന്തുടരുന്നത് നിര്‍ത്തുക",
   "account.unmute": "നിശ്ശബ്ദമാക്കുന്നത് നിർത്തുക @{name}",
   "account.unmute_notifications": "@{name} യിൽ നിന്നുള്ള അറിയിപ്പുകൾ പ്രസിദ്ധപ്പെടുത്തുക",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "കണ്ടെത്തുക",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "പ്രൊഫൈൽ തിരുത്തുക",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "പ്രിയപ്പെട്ടവ",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "പിന്തുടരാനുള്ള അഭ്യർത്ഥനകൾ",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json
index 9bbd24777..a731ff87b 100644
--- a/app/javascript/mastodon/locales/mr.json
+++ b/app/javascript/mastodon/locales/mr.json
@@ -18,12 +18,12 @@
   "account.followers": "अनुयायी",
   "account.followers.empty": "ह्या वापरकर्त्याचा आतापर्यंत कोणी अनुयायी नाही.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "हा वापरकर्ता अजूनपर्यंत कोणाचा अनुयायी नाही.",
   "account.follows_you": "तुमचा अनुयायी आहे",
   "account.hide_reblogs": "@{name} पासून सर्व बूस्ट लपवा",
   "account.joined": "Joined {date}",
-  "account.last_status": "शेवटचे सक्रिय",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "दृक्‌‌श्राव्य मजकूर",
@@ -32,7 +32,6 @@
   "account.mute": "@{name} ला मूक कारा",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "@{name} ला ब्लॉक करा",
   "account.unblock_domain": "उघड करा {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "अनुयायी असणे थांबवा",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Edit profile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json
index 42dd34131..96d300492 100644
--- a/app/javascript/mastodon/locales/ms.json
+++ b/app/javascript/mastodon/locales/ms.json
@@ -18,12 +18,12 @@
   "account.followers": "Pengikut",
   "account.followers.empty": "Belum ada yang mengikuti pengguna ini.",
   "account.followers_counter": "{count, plural, one {{counter} Pengikut} other {{counter} Pengikut}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Diikuti} other {{counter} Diikuti}}",
   "account.follows.empty": "Pengguna ini belum mengikuti sesiapa.",
   "account.follows_you": "Mengikuti anda",
   "account.hide_reblogs": "Sembunyikan galakan daripada @{name}",
   "account.joined": "Sertai pada {date}",
-  "account.last_status": "Terakhir aktif",
   "account.link_verified_on": "Pemilikan pautan ini telah disemak pada {date}",
   "account.locked_info": "Status privasi akaun ini dikunci. Pemiliknya menyaring sendiri siapa yang boleh mengikutinya.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Bisukan @{name}",
   "account.mute_notifications": "Bisukan pemberitahuan daripada @{name}",
   "account.muted": "Dibisukan",
-  "account.never_active": "Jangan sesekali",
   "account.posts": "Hantaran",
   "account.posts_with_replies": "Hantaran dan balasan",
   "account.report": "Laporkan @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Hantaran} other {{counter} Hantaran}}",
   "account.unblock": "Nyahsekat @{name}",
   "account.unblock_domain": "Nyahsekat domain {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Jangan tampilkan di profil",
   "account.unfollow": "Nyahikut",
   "account.unmute": "Nyahbisukan @{name}",
   "account.unmute_notifications": "Nyahbisukan pemberitahuan daripada @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Klik untuk tambah catatan",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Teroka",
   "navigation_bar.domain_blocks": "Domain disekat",
   "navigation_bar.edit_profile": "Sunting profil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Kegemaran",
   "navigation_bar.filters": "Perkataan yang dibisukan",
   "navigation_bar.follow_requests": "Permintaan ikutan",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index 6c01fcb5e..c77970f69 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -18,12 +18,12 @@
   "account.followers": "Volgers",
   "account.followers.empty": "Niemand volgt nog deze gebruiker.",
   "account.followers_counter": "{count, plural, one {{counter} volger} other {{counter} volgers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} volgend} other {{counter} volgend}}",
   "account.follows.empty": "Deze gebruiker volgt nog niemand.",
   "account.follows_you": "Volgt jou",
   "account.hide_reblogs": "Boosts van @{name} verbergen",
   "account.joined": "Geregistreerd in {date}",
-  "account.last_status": "Laatst actief",
   "account.link_verified_on": "Eigendom van deze link is gecontroleerd op {date}",
   "account.locked_info": "De privacystatus van dit account is op besloten gezet. De eigenaar bepaalt handmatig wie hen kan volgen.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "@{name} negeren",
   "account.mute_notifications": "Meldingen van @{name} negeren",
   "account.muted": "Genegeerd",
-  "account.never_active": "Nooit",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots en reacties",
   "account.report": "@{name} rapporteren",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} toot} other {{counter} toots}}",
   "account.unblock": "@{name} deblokkeren",
   "account.unblock_domain": "{domain} niet langer verbergen",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Niet op profiel weergeven",
   "account.unfollow": "Ontvolgen",
   "account.unmute": "@{name} niet langer negeren",
   "account.unmute_notifications": "Meldingen van @{name} niet langer negeren",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Klik om een opmerking toe te voegen",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Ontdekken",
   "navigation_bar.domain_blocks": "Geblokkeerde domeinen",
   "navigation_bar.edit_profile": "Profiel bewerken",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favorieten",
   "navigation_bar.filters": "Filters",
   "navigation_bar.follow_requests": "Volgverzoeken",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json
index 5fdbfd25d..40a961c5e 100644
--- a/app/javascript/mastodon/locales/nn.json
+++ b/app/javascript/mastodon/locales/nn.json
@@ -18,12 +18,12 @@
   "account.followers": "Fylgjarar",
   "account.followers.empty": "Ingen fylgjer denne brukaren enno.",
   "account.followers_counter": "{count, plural, one {{counter} fylgjar} other {{counter} fylgjarar}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} fylgjar} other {{counter} fylgjar}}",
   "account.follows.empty": "Denne brukaren fylgjer ikkje nokon enno.",
   "account.follows_you": "Fylgjer deg",
   "account.hide_reblogs": "Gøym fremhevingar frå @{name}",
   "account.joined": "Vart med {date}",
-  "account.last_status": "Sist aktiv",
   "account.link_verified_on": "Eigarskap for denne lenkja vart sist sjekka {date}",
   "account.locked_info": "Denne kontoen er privat. Eigaren kan sjølv velja kven som kan fylgja han.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Målbind @{name}",
   "account.mute_notifications": "Målbind varsel frå @{name}",
   "account.muted": "Målbunden",
-  "account.never_active": "Aldri",
   "account.posts": "Tut",
   "account.posts_with_replies": "Tut og svar",
   "account.report": "Rapporter @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} tut} other {{counter} tut}}",
   "account.unblock": "Slutt å blokera @{name}",
   "account.unblock_domain": "Vis {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Ikkje framhev på profil",
   "account.unfollow": "Slutt å fylgja",
   "account.unmute": "Av-demp @{name}",
   "account.unmute_notifications": "Vis varsel frå @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Klikk for å leggja til merknad",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Oppdag",
   "navigation_bar.domain_blocks": "Skjulte domene",
   "navigation_bar.edit_profile": "Rediger profil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favorittar",
   "navigation_bar.filters": "Målbundne ord",
   "navigation_bar.follow_requests": "Fylgjeførespurnader",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index 2b90414f0..e4474f6d9 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -18,12 +18,12 @@
   "account.followers": "Følgere",
   "account.followers.empty": "Ingen følger denne brukeren ennå.",
   "account.followers_counter": "{count, plural, one {{counter} følger} other {{counter} følgere}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} som følges} other {{counter} som følges}}",
   "account.follows.empty": "Denne brukeren følger ikke noen enda.",
   "account.follows_you": "Følger deg",
   "account.hide_reblogs": "Skjul fremhevinger fra @{name}",
   "account.joined": "Ble med den {date}",
-  "account.last_status": "Sist aktiv",
   "account.link_verified_on": "Eierskap av denne lenken ble sjekket {date}",
   "account.locked_info": "Denne kontoens personvernstatus er satt til låst. Eieren vurderer manuelt hvem som kan følge dem.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Demp @{name}",
   "account.mute_notifications": "Ignorer varsler fra @{name}",
   "account.muted": "Dempet",
-  "account.never_active": "Aldri",
   "account.posts": "Innlegg",
   "account.posts_with_replies": "Toots with replies",
   "account.report": "Rapportér @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} tut} other {{counter} tuter}}",
   "account.unblock": "Avblokker @{name}",
   "account.unblock_domain": "Vis {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Ikke vis frem på profilen",
   "account.unfollow": "Avfølg",
   "account.unmute": "Avdemp @{name}",
   "account.unmute_notifications": "Vis varsler fra @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Oppdag",
   "navigation_bar.domain_blocks": "Skjulte domener",
   "navigation_bar.edit_profile": "Rediger profil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favoritter",
   "navigation_bar.filters": "Stilnede ord",
   "navigation_bar.follow_requests": "Følgeforespørsler",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index 282a0aa59..ff819e0fd 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -18,12 +18,12 @@
   "account.followers": "Seguidors",
   "account.followers.empty": "Degun sèc pas aqueste utilizaire pel moment.",
   "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidors}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Abonaments} other {{counter} Abonaments}}",
   "account.follows.empty": "Aqueste utilizaire sèc pas degun pel moment.",
   "account.follows_you": "Vos sèc",
   "account.hide_reblogs": "Rescondre los partatges de @{name}",
   "account.joined": "Arribèt en {date}",
-  "account.last_status": "Darrièra activitat",
   "account.link_verified_on": "La proprietat d’aqueste ligam foguèt verificada lo {date}",
   "account.locked_info": "L’estatut de privacitat del compte es configurat sus clavat. Lo proprietari causís qual pòt sègre son compte.",
   "account.media": "Mèdias",
@@ -32,7 +32,6 @@
   "account.mute": "Rescondre @{name}",
   "account.mute_notifications": "Rescondre las notificacions de @{name}",
   "account.muted": "Mes en silenci",
-  "account.never_active": "Jamai",
   "account.posts": "Tuts",
   "account.posts_with_replies": "Tuts e responsas",
   "account.report": "Senhalar @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Tut} other {{counter} Tuts}}",
   "account.unblock": "Desblocar @{name}",
   "account.unblock_domain": "Desblocar {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Mostrar pas pel perfil",
   "account.unfollow": "Quitar de sègre",
   "account.unmute": "Quitar de rescondre @{name}",
   "account.unmute_notifications": "Mostrar las notificacions de @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Clicar per ajustar una nòta",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Trobar",
   "navigation_bar.domain_blocks": "Domenis resconduts",
   "navigation_bar.edit_profile": "Modificar lo perfil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favorits",
   "navigation_bar.filters": "Mots ignorats",
   "navigation_bar.follow_requests": "Demandas d’abonament",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json
index a7e5313a3..088b5ff36 100644
--- a/app/javascript/mastodon/locales/pa.json
+++ b/app/javascript/mastodon/locales/pa.json
@@ -18,12 +18,12 @@
   "account.followers": "Followers",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Follows you",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Unblock @{name}",
   "account.unblock_domain": "Unblock domain {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Unfollow",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Edit profile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index 8cdaa7695..7ae2c8e53 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -18,12 +18,12 @@
   "account.followers": "Śledzący",
   "account.followers.empty": "Nikt jeszcze nie śledzi tego użytkownika.",
   "account.followers_counter": "{count, plural, one {{counter} śledzący} few {{counter} śledzących} many {{counter} śledzących} other {{counter} śledzących}}",
+  "account.following": "Śledzenie",
   "account.following_counter": "{count, plural, one {{counter} śledzony} few {{counter} śledzonych} many {{counter} śledzonych} other {{counter} śledzonych}}",
   "account.follows.empty": "Ten użytkownik nie śledzi jeszcze nikogo.",
   "account.follows_you": "Śledzi Cię",
   "account.hide_reblogs": "Ukryj podbicia od @{name}",
   "account.joined": "Dołączył(a) {date}",
-  "account.last_status": "Ostatnia aktywność",
   "account.link_verified_on": "Własność tego odnośnika została potwierdzona {date}",
   "account.locked_info": "To konto jest prywatne. Właściciel ręcznie wybiera kto może go śledzić.",
   "account.media": "Zawartość multimedialna",
@@ -32,7 +32,6 @@
   "account.mute": "Wycisz @{name}",
   "account.mute_notifications": "Wycisz powiadomienia o @{name}",
   "account.muted": "Wyciszony",
-  "account.never_active": "Nigdy",
   "account.posts": "Wpisy",
   "account.posts_with_replies": "Wpisy i odpowiedzi",
   "account.report": "Zgłoś @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} wpis} few {{counter} wpisy} many {{counter} wpisów} other {{counter} wpisów}}",
   "account.unblock": "Odblokuj @{name}",
   "account.unblock_domain": "Odblokuj domenę {domain}",
+  "account.unblock_short": "Odblokuj",
   "account.unendorse": "Przestań polecać",
   "account.unfollow": "Przestań śledzić",
   "account.unmute": "Cofnij wyciszenie @{name}",
   "account.unmute_notifications": "Cofnij wyciszenie powiadomień od @{name}",
+  "account.unmute_short": "Włącz dźwięki",
   "account_note.placeholder": "Naciśnij aby dodać notatkę",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -297,6 +298,7 @@
   "navigation_bar.discover": "Odkrywaj",
   "navigation_bar.domain_blocks": "Ukryte domeny",
   "navigation_bar.edit_profile": "Edytuj profil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Ulubione",
   "navigation_bar.filters": "Wyciszone słowa",
   "navigation_bar.follow_requests": "Prośby o śledzenie",
@@ -414,7 +416,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Niebezpieczne linki, fałszywe zaangażowanie lub powtarzające się odpowiedzi",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index b9629ba70..18e429641 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -18,12 +18,12 @@
   "account.followers": "Seguidores",
   "account.followers.empty": "Nada aqui.",
   "account.followers_counter": "{count, plural, one {{counter} seguidor} other {{counter} seguidores}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {segue {counter}} other {segue {counter}}}",
   "account.follows.empty": "Nada aqui.",
   "account.follows_you": "te segue",
   "account.hide_reblogs": "Ocultar boosts de @{name}",
   "account.joined": "Entrou em {date}",
-  "account.last_status": "Ativo pela última vez",
   "account.link_verified_on": "link verificado em {date}",
   "account.locked_info": "Trancado. Seguir requer aprovação manual do perfil.",
   "account.media": "Mídia",
@@ -32,7 +32,6 @@
   "account.mute": "Silenciar @{name}",
   "account.mute_notifications": "Ocultar notificações de @{name}",
   "account.muted": "Silenciado",
-  "account.never_active": "Nunca",
   "account.posts": "Toots",
   "account.posts_with_replies": "Com respostas",
   "account.report": "Denunciar @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Desbloquear @{name}",
   "account.unblock_domain": "Desbloquear domínio {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Remover",
   "account.unfollow": "Deixar de seguir",
   "account.unmute": "Dessilenciar @{name}",
   "account.unmute_notifications": "Mostrar notificações de @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Nota pessoal sobre este perfil aqui",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "Taxa de retenção de usuários por mês, após a inscrição",
@@ -186,10 +187,10 @@
   "error.unexpected_crash.next_steps_addons": "Tente desativá-los e atualizar a página. Se isso não ajudar, você ainda poderá usar o Mastodon por meio de um navegador diferente ou de um aplicativo nativo.",
   "errors.unexpected_crash.copy_stacktrace": "Copiar dados do erro para área de transferência",
   "errors.unexpected_crash.report_issue": "Reportar problema",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
+  "explore.search_results": "Resultado da pesquisa",
+  "explore.suggested_follows": "Para você",
+  "explore.title": "Explorar",
+  "explore.trending_links": "Novidades",
   "explore.trending_statuses": "Posts",
   "explore.trending_tags": "Hashtags",
   "follow_recommendations.done": "Salvar",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Descobrir",
   "navigation_bar.domain_blocks": "Domínios bloqueados",
   "navigation_bar.edit_profile": "Editar perfil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favoritos",
   "navigation_bar.filters": "Palavras filtradas",
   "navigation_bar.follow_requests": "Seguidores pendentes",
@@ -307,7 +309,7 @@
   "navigation_bar.preferences": "Preferências",
   "navigation_bar.public_timeline": "Linha global",
   "navigation_bar.security": "Segurança",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} se inscreveu",
   "notification.favourite": "{name} favoritou teu toot",
   "notification.follow": "{name} te seguiu",
   "notification.follow_request": "{name} quer te seguir",
@@ -319,7 +321,7 @@
   "notification.update": "{name} editou uma publicação",
   "notifications.clear": "Limpar notificações",
   "notifications.clear_confirmation": "Você tem certeza de que deseja limpar todas as suas notificações?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "Novas inscrições:",
   "notifications.column_settings.alert": "Notificações no computador",
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorias",
@@ -387,41 +389,41 @@
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hoje",
   "reply_indicator.cancel": "Cancelar",
-  "report.block": "Block",
+  "report.block": "Bloquear",
   "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": "Outro",
   "report.categories.spam": "Spam",
   "report.categories.violation": "O conteúdo viola uma ou mais regras do servidor",
   "report.category.subtitle": "Choose the best match",
   "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
+  "report.category.title_account": "perfil",
+  "report.category.title_status": "publicação",
+  "report.close": "Concluído",
   "report.comment.title": "Is there anything else you think we should know?",
   "report.forward": "Encaminhar para {target}",
   "report.forward_hint": "A conta está em outra instância. Enviar uma cópia anônima da denúncia para lá?",
-  "report.mute": "Mute",
+  "report.mute": "Silenciar",
   "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.next": "Próximo",
   "report.placeholder": "Comentários adicionais aqui",
-  "report.reasons.dislike": "I don't like it",
+  "report.reasons.dislike": "Eu não gosto disso",
   "report.reasons.dislike_description": "It is not something you want to see",
   "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.other_description": "O problema não se encaixa em outras categorias",
+  "report.reasons.spam": "É spam",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
+  "report.reasons.violation_description": "Você está ciente de que isso quebra regras específicas",
+  "report.rules.subtitle": "Selecione tudo que se aplica",
   "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
+  "report.statuses.subtitle": "Selecione tudo que se aplica",
   "report.statuses.title": "Are there any posts that back up this report?",
   "report.submit": "Enviar",
   "report.target": "Denunciando {target}",
   "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
+  "report.thanks.take_action_actionable": "Enquanto revisamos isso, você pode tomar medidas contra @{name}:",
+  "report.thanks.title": "Não quer ver isto?",
+  "report.thanks.title_actionable": "Obrigado por reportar. Vamos analisar.",
   "report.unfollow": "Unfollow @{name}",
   "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
   "search.placeholder": "Pesquisar",
@@ -432,9 +434,9 @@
   "search_popout.tips.text": "Texto simples retorna nomes de exibição e de usuário, e hashtags correspondentes",
   "search_popout.tips.user": "usuário",
   "search_results.accounts": "Pessoas",
-  "search_results.all": "All",
+  "search_results.all": "Tudo",
   "search_results.hashtags": "Hashtags",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "Não foi possível encontrar nada para estes termos de busca",
   "search_results.statuses": "Toots",
   "search_results.statuses_fts_disabled": "Pesquisar toots por seu conteúdo não está ativado nesta instância Mastodon.",
   "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json
index 48e1fb044..4e06401ec 100644
--- a/app/javascript/mastodon/locales/pt-PT.json
+++ b/app/javascript/mastodon/locales/pt-PT.json
@@ -18,12 +18,12 @@
   "account.followers": "Seguidores",
   "account.followers.empty": "Ainda ninguém segue este utilizador.",
   "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidores}}",
+  "account.following": "A seguir",
   "account.following_counter": "{count, plural, other {A seguir {counter}}}",
   "account.follows.empty": "Este utilizador ainda não segue ninguém.",
   "account.follows_you": "Segue-te",
   "account.hide_reblogs": "Esconder partilhas de @{name}",
   "account.joined": "Ingressou em {date}",
-  "account.last_status": "Última atividade",
   "account.link_verified_on": "A posse deste link foi verificada em {date}",
   "account.locked_info": "Esta conta é privada. O proprietário revê manualmente quem a pode seguir.",
   "account.media": "Média",
@@ -32,7 +32,6 @@
   "account.mute": "Silenciar @{name}",
   "account.mute_notifications": "Silenciar notificações de @{name}",
   "account.muted": "Silenciada",
-  "account.never_active": "Nunca",
   "account.posts": "Toots",
   "account.posts_with_replies": "Publicações e respostas",
   "account.report": "Denunciar @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Desbloquear @{name}",
   "account.unblock_domain": "Mostrar {domain}",
+  "account.unblock_short": "Desbloquear",
   "account.unendorse": "Não mostrar no perfil",
   "account.unfollow": "Deixar de seguir",
   "account.unmute": "Não silenciar @{name}",
   "account.unmute_notifications": "Deixar de silenciar @{name}",
+  "account.unmute_short": "Deixar de silenciar",
   "account_note.placeholder": "Clique para adicionar nota",
   "admin.dashboard.daily_retention": "Taxa de retenção de utilizadores por dia após a inscrição",
   "admin.dashboard.monthly_retention": "Taxa de retenção de utilizadores por mês após a inscrição",
@@ -167,7 +168,7 @@
   "empty_column.community": "A timeline local está vazia. Escreve algo publicamente para começar!",
   "empty_column.direct": "Ainda não tem qualquer mensagem direta. Quando enviar ou receber alguma, ela irá aparecer aqui.",
   "empty_column.domain_blocks": "Ainda não há qualquer domínio escondido.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "Nada em destaque por agora. Volte mais tarde!",
   "empty_column.favourited_statuses": "Ainda não tens quaisquer toots favoritos. Quando tiveres algum, ele irá aparecer aqui.",
   "empty_column.favourites": "Ainda ninguém marcou este toot como favorito. Quando alguém o fizer, ele irá aparecer aqui.",
   "empty_column.follow_recommendations": "Parece que não foi possível gerar nenhuma sugestão para si. Pode tentar utilizar a pesquisa para procurar pessoas que conheça ou explorar as hashtags em destaque.",
@@ -186,11 +187,11 @@
   "error.unexpected_crash.next_steps_addons": "Tente desabilitá-los e atualizar a página. Se isso não ajudar, você ainda poderá usar o Mastodon por meio de um navegador diferente ou de um aplicativo nativo.",
   "errors.unexpected_crash.copy_stacktrace": "Copiar a stacktrace para o clipboard",
   "errors.unexpected_crash.report_issue": "Reportar problema",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
+  "explore.search_results": "Resultados da pesquisa",
+  "explore.suggested_follows": "Para si",
+  "explore.title": "Explorar",
+  "explore.trending_links": "Notícias",
+  "explore.trending_statuses": "Publicações",
   "explore.trending_tags": "Hashtags",
   "follow_recommendations.done": "Concluído",
   "follow_recommendations.heading": "Siga pessoas das quais gostaria de ver publicações! Aqui estão algumas sugestões.",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Descobrir",
   "navigation_bar.domain_blocks": "Domínios escondidos",
   "navigation_bar.edit_profile": "Editar perfil",
+  "navigation_bar.explore": "Explorar",
   "navigation_bar.favourites": "Favoritos",
   "navigation_bar.filters": "Palavras silenciadas",
   "navigation_bar.follow_requests": "Seguidores pendentes",
@@ -307,7 +309,7 @@
   "navigation_bar.preferences": "Preferências",
   "navigation_bar.public_timeline": "Cronologia federada",
   "navigation_bar.security": "Segurança",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} inscreveu-se",
   "notification.favourite": "{name} adicionou a tua publicação aos favoritos",
   "notification.follow": "{name} começou a seguir-te",
   "notification.follow_request": "{name} pediu para segui-lo",
@@ -319,7 +321,7 @@
   "notification.update": "{name} editou uma publicação",
   "notifications.clear": "Limpar notificações",
   "notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "Novas inscrições:",
   "notifications.column_settings.alert": "Notificações no ambiente de trabalho",
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorias",
@@ -387,43 +389,43 @@
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hoje",
   "reply_indicator.cancel": "Cancelar",
-  "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.block": "Bloquear",
+  "report.block_explanation": "Não verá as publicações deles. Eles não serão capazes de ver suas publicações ou de o seguir. Eles vão conseguir saber que estão bloqueados.",
   "report.categories.other": "Outro",
   "report.categories.spam": "Spam",
   "report.categories.violation": "O conteúdo viola uma ou mais regras do servidor",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.category.subtitle": "Escolha a melhor correspondência",
+  "report.category.title": "Diga-nos o que se passa com esse {type}",
+  "report.category.title_account": "perfil",
+  "report.category.title_status": "publicação",
+  "report.close": "Concluído",
+  "report.comment.title": "Há algo mais que pensa que devemos saber?",
   "report.forward": "Reenviar para {target}",
   "report.forward_hint": "A conta é de outro servidor. Enviar uma cópia anónima da denúncia para lá também?",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.mute": "Silenciar",
+  "report.mute_explanation": "Não verá as publicações deles. Eles ainda poderão segui-lo e ver as suas publicações e não saberão que estão silenciados.",
+  "report.next": "Seguinte",
   "report.placeholder": "Comentários adicionais",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "Não gosto disso",
+  "report.reasons.dislike_description": "Não é algo que deseje ver",
+  "report.reasons.other": "É outra coisa",
+  "report.reasons.other_description": "O problema não se encaixa nas outras categorias",
+  "report.reasons.spam": "É spam",
+  "report.reasons.spam_description": "Links maliciosos, contactos falsos, ou respostas repetitivas",
+  "report.reasons.violation": "Viola as regras do servidor",
+  "report.reasons.violation_description": "Está ciente de que infringe regras específicas",
+  "report.rules.subtitle": "Selecione tudo o que se aplicar",
+  "report.rules.title": "Que regras estão a ser violadas?",
+  "report.statuses.subtitle": "Selecione tudo o que se aplicar",
+  "report.statuses.title": "Existe alguma publicação que suporte esta denúncia?",
   "report.submit": "Enviar",
   "report.target": "A denunciar {target}",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.thanks.take_action": "Aqui estão as suas opções para controlar o que vê no Mastodon:",
+  "report.thanks.take_action_actionable": "Enquanto revemos a sua denúncia, pode tomar medidas contra @{name}:",
+  "report.thanks.title": "Não quer ver isto?",
+  "report.thanks.title_actionable": "Obrigado por reportar, vamos analisar.",
+  "report.unfollow": "Deixar de seguir @{name}",
+  "report.unfollow_explanation": "Está a seguir esta conta. Para não ver mais as publicações desta conta na sua página inicial, deixe de segui-la.",
   "search.placeholder": "Pesquisar",
   "search_popout.search_format": "Formato avançado de pesquisa",
   "search_popout.tips.full_text": "Texto simples devolve publicações que escreveu, marcou como favorita, partilhou ou em que foi mencionado, tal como nomes de utilizador, alcunhas e hashtags.",
@@ -432,9 +434,9 @@
   "search_popout.tips.text": "O texto simples retorna a correspondência de nomes, utilizadores e hashtags",
   "search_popout.tips.user": "utilizador",
   "search_results.accounts": "Pessoas",
-  "search_results.all": "All",
+  "search_results.all": "Tudo",
   "search_results.hashtags": "Hashtags",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "Não foi possível encontrar resultados para as expressões pesquisadas",
   "search_results.statuses": "Toots",
   "search_results.statuses_fts_disabled": "A pesquisa de toots pelo seu conteúdo não está disponível nesta instância Mastodon.",
   "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json
index 6e3ee6c2f..bd91f19b9 100644
--- a/app/javascript/mastodon/locales/ro.json
+++ b/app/javascript/mastodon/locales/ro.json
@@ -18,12 +18,12 @@
   "account.followers": "Abonați",
   "account.followers.empty": "Acest utilizator încă nu are abonați.",
   "account.followers_counter": "{count, plural, one {{counter} Abonat} few {{counter} Abonați} other {{counter} Abonați}}",
+  "account.following": "Following",
   "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.hide_reblogs": "Ascunde distribuirile de la @{name}",
   "account.joined": "S-a înscris în {date}",
-  "account.last_status": "Ultima activitate",
   "account.link_verified_on": "Proprietatea acestui link a fost verificată pe {date}",
   "account.locked_info": "Acest profil este privat. Această persoană aprobă manual conturile care se abonează la ea.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Ignoră pe @{name}",
   "account.mute_notifications": "Ignoră notificările de la @{name}",
   "account.muted": "Ignorat",
-  "account.never_active": "Niciodată",
   "account.posts": "Postări",
   "account.posts_with_replies": "Postări și răspunsuri",
   "account.report": "Raportează pe @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Deblochează pe @{name}",
   "account.unblock_domain": "Deblochează domeniul {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Nu promova pe profil",
   "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_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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Descoperă",
   "navigation_bar.domain_blocks": "Domenii blocate",
   "navigation_bar.edit_profile": "Modifică profilul",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favorite",
   "navigation_bar.filters": "Cuvinte ignorate",
   "navigation_bar.follow_requests": "Cereri de abonare",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index 9d21c9d5d..bf3097dc0 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -18,12 +18,12 @@
   "account.followers": "Подписчики",
   "account.followers.empty": "На этого пользователя пока никто не подписан.",
   "account.followers_counter": "{count, plural, one {{counter} подписчик} many {{counter} подписчиков} other {{counter} подписчика}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} подписка} many {{counter} подписок} other {{counter} подписки}}",
   "account.follows.empty": "Этот пользователь пока ни на кого не подписался.",
   "account.follows_you": "Подписан(а) на вас",
   "account.hide_reblogs": "Скрыть продвижения от @{name}",
   "account.joined": "Зарегистрирован(а) с {date}",
-  "account.last_status": "Последняя активность",
   "account.link_verified_on": "Владение этой ссылкой было проверено {date}",
   "account.locked_info": "Это закрытый аккаунт. Его владелец вручную одобряет подписчиков.",
   "account.media": "Медиа",
@@ -32,7 +32,6 @@
   "account.mute": "Игнорировать @{name}",
   "account.mute_notifications": "Скрыть уведомления от @{name}",
   "account.muted": "Игнорируется",
-  "account.never_active": "Никогда",
   "account.posts": "Посты",
   "account.posts_with_replies": "Посты и ответы",
   "account.report": "Пожаловаться на @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} пост} many {{counter} постов} other {{counter} поста}}",
   "account.unblock": "Разблокировать @{name}",
   "account.unblock_domain": "Разблокировать {domain}",
+  "account.unblock_short": "Разблокировать",
   "account.unendorse": "Не рекомендовать в профиле",
   "account.unfollow": "Отписаться",
-  "account.unmute": "Убрать {name} из игнорируемых",
+  "account.unmute": "Не игнорировать @{name}",
   "account.unmute_notifications": "Показывать уведомления от @{name}",
+  "account.unmute_short": "Не игнорировать",
   "account_note.placeholder": "Текст заметки",
   "admin.dashboard.daily_retention": "Уровень удержания пользователей после регистрации, в днях",
   "admin.dashboard.monthly_retention": "Уровень удержания пользователей после регистрации, в месяцах",
@@ -53,7 +54,7 @@
   "admin.dashboard.retention.cohort": "Месяц регистрации",
   "admin.dashboard.retention.cohort_size": "Новые пользователи",
   "alert.rate_limited.message": "Пожалуйста, повторите после {retry_time, time, medium}.",
-  "alert.rate_limited.title": "Вы выполняете действие слишком часто",
+  "alert.rate_limited.title": "Ограничение количества запросов",
   "alert.unexpected.message": "Произошла непредвиденная ошибка.",
   "alert.unexpected.title": "Упс!",
   "announcement.announcement": "Объявление",
@@ -167,7 +168,7 @@
   "empty_column.community": "Локальная лента пуста. Напишите что-нибудь, чтобы разогреть народ!",
   "empty_column.direct": "У вас пока нет личных сообщений. Как только вы отправите или получите одно, оно появится здесь.",
   "empty_column.domain_blocks": "Скрытых доменов пока нет.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "Нет актуального. Проверьте позже!",
   "empty_column.favourited_statuses": "Вы не добавили ни один пост в «Избранное». Как только вы это сделаете, он появится здесь.",
   "empty_column.favourites": "Никто ещё не добавил этот пост в «Избранное». Как только кто-то это сделает, это отобразится здесь.",
   "empty_column.follow_recommendations": "Похоже, у нас нет предложений для вас. Вы можете попробовать поискать людей, которых уже знаете, или изучить актуальные хэштеги.",
@@ -186,7 +187,7 @@
   "error.unexpected_crash.next_steps_addons": "Попробуйте их отключить и перезагрузить страницу. Если это не поможет, вы по-прежнему сможете войти в Mastodon через другой браузер или приложение.",
   "errors.unexpected_crash.copy_stacktrace": "Скопировать диагностическую информацию",
   "errors.unexpected_crash.report_issue": "Сообщить о проблеме",
-  "explore.search_results": "Search results",
+  "explore.search_results": "Результаты поиска",
   "explore.suggested_follows": "Для вас",
   "explore.title": "Обзор",
   "explore.trending_links": "Новости",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Изучайте",
   "navigation_bar.domain_blocks": "Скрытые домены",
   "navigation_bar.edit_profile": "Изменить профиль",
+  "navigation_bar.explore": "Обзор",
   "navigation_bar.favourites": "Избранное",
   "navigation_bar.filters": "Игнорируемые слова",
   "navigation_bar.follow_requests": "Запросы на подписку",
@@ -307,7 +309,7 @@
   "navigation_bar.preferences": "Настройки",
   "navigation_bar.public_timeline": "Глобальная лента",
   "navigation_bar.security": "Безопасность",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} зарегистрирован",
   "notification.favourite": "{name} добавил(а) ваш пост в избранное",
   "notification.follow": "{name} подписался (-лась) на вас",
   "notification.follow_request": "{name} отправил запрос на подписку",
@@ -319,7 +321,7 @@
   "notification.update": "{name} изменил(а) пост",
   "notifications.clear": "Очистить уведомления",
   "notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "Новые регистрации:",
   "notifications.column_settings.alert": "Уведомления на рабочем столе",
   "notifications.column_settings.favourite": "Ваш пост добавили в «избранное»:",
   "notifications.column_settings.filter_bar.advanced": "Отображать все категории",
@@ -336,7 +338,7 @@
   "notifications.column_settings.status": "Новые посты:",
   "notifications.column_settings.unread_notifications.category": "Непрочитанные уведомления",
   "notifications.column_settings.unread_notifications.highlight": "Выделять непрочитанные уведомления",
-  "notifications.column_settings.update": "Изменения:",
+  "notifications.column_settings.update": "Правки:",
   "notifications.filter.all": "Все",
   "notifications.filter.boosts": "Продвижения",
   "notifications.filter.favourites": "Отметки «избранного»",
@@ -392,37 +394,37 @@
   "report.categories.other": "Другое",
   "report.categories.spam": "Спам",
   "report.categories.violation": "Содержимое нарушает одно или несколько правил узла",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.category.subtitle": "Выберите наиболее подходящее",
+  "report.category.title": "Расскажите нам, что происходит с {type}",
+  "report.category.title_account": "профиль",
+  "report.category.title_status": "пост",
+  "report.close": "Готово",
+  "report.comment.title": "Есть что-нибудь еще, что мы должны знать?",
   "report.forward": "Переслать в {target}",
   "report.forward_hint": "Эта учётная запись расположена на другом узле. Отправить туда анонимную копию вашей жалобы?",
   "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.mute_explanation": "Вы не будете видеть их посты. Они по-прежнему могут подписываться на вас и видеть ваши посты, но не будут знать, что они в списке игнорируемых.",
+  "report.next": "Далее",
   "report.placeholder": "Комментарий",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "Мне не нравится",
+  "report.reasons.dislike_description": "Не хотел(а) бы видеть такой контент",
+  "report.reasons.other": "Другое",
+  "report.reasons.other_description": "Проблема не подпадает под другие категории",
+  "report.reasons.spam": "Это спам",
+  "report.reasons.spam_description": "Вредоносные ссылки, поддельные действия или повторяющиеся ответы",
+  "report.reasons.violation": "Нарушаются правила сервера",
+  "report.reasons.violation_description": "Вы знаете, что подобное нарушает определенные правила",
+  "report.rules.subtitle": "Выберите все подходящие варианты",
+  "report.rules.title": "Какие правила нарушены?",
+  "report.statuses.subtitle": "Выберите все подходящие варианты",
+  "report.statuses.title": "Есть ли сообщения, подтверждающие основания этой жалобы?",
   "report.submit": "Отправить",
   "report.target": "Жалоба на {target}",
   "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
   "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
+  "report.thanks.title": "Не хотите видеть это?",
+  "report.thanks.title_actionable": "Спасибо за обращение, мы его рассмотрим.",
+  "report.unfollow": "Отписаться от @{name}",
   "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
   "search.placeholder": "Поиск",
   "search_popout.search_format": "Продвинутый формат поиска",
@@ -432,11 +434,11 @@
   "search_popout.tips.text": "Простой ввод текста покажет совпадающие имена пользователей, отображаемые имена и хэштеги",
   "search_popout.tips.user": "пользователь",
   "search_results.accounts": "Люди",
-  "search_results.all": "All",
+  "search_results.all": "Все",
   "search_results.hashtags": "Хэштеги",
   "search_results.nothing_found": "Could not find anything for these search terms",
   "search_results.statuses": "Посты",
-  "search_results.statuses_fts_disabled": "Поиск постов по их содержанию не поддерживается данным узлом Mastodon.",
+  "search_results.statuses_fts_disabled": "Поиск постов по их содержанию не поддерживается данным сервером Mastodon.",
   "search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}",
   "status.admin_account": "Открыть интерфейс модератора для @{name}",
   "status.admin_status": "Открыть этот пост в интерфейсе модератора",
diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json
index 3be5b5012..e1910d283 100644
--- a/app/javascript/mastodon/locales/sa.json
+++ b/app/javascript/mastodon/locales/sa.json
@@ -18,12 +18,12 @@
   "account.followers": "अनुसर्तारः",
   "account.followers.empty": "नाऽनुसर्तारो वर्तन्ते",
   "account.followers_counter": "{count, plural, one {{counter} अनुसर्ता} two {{counter} अनुसर्तारौ} other {{counter} अनुसर्तारः}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} अनुसृतः} two {{counter} अनुसृतौ} other {{counter} अनुसृताः}}",
   "account.follows.empty": "न कोऽप्यनुसृतो वर्तते",
   "account.follows_you": "त्वामनुसरति",
   "account.hide_reblogs": "@{name} मित्रस्य प्रकाशनानि छिद्यन्ताम्",
   "account.joined": "Joined {date}",
-  "account.last_status": "गतसक्रियता",
   "account.link_verified_on": "अन्तर्जालस्थानस्यास्य स्वामित्वं परीक्षितमासीत् {date} दिने",
   "account.locked_info": "एतस्या लेखायाः गुह्यता \"निषिद्ध\"इति वर्तते । स्वामी स्वयञ्चिनोति कोऽनुसर्ता भवितुमर्हतीति ।",
   "account.media": "सामग्री",
@@ -32,7 +32,6 @@
   "account.mute": "निःशब्दम् @{name}",
   "account.mute_notifications": "@{name} सूचनाः निष्क्रियन्ताम्",
   "account.muted": "निःशब्दम्",
-  "account.never_active": "नैव कदापि",
   "account.posts": "दौत्यानि",
   "account.posts_with_replies": "दौत्यानि प्रत्युत्तराणि च",
   "account.report": "आविद्यताम् @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} दौत्यम्} two {{counter} दौत्ये} other {{counter} दौत्यानि}}",
   "account.unblock": "निषेधता नश्यताम् @{name}",
   "account.unblock_domain": "प्रदेशनिषेधता नश्यताम् {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "व्यक्तिगतविवरणे मा प्रकाश्यताम्",
   "account.unfollow": "नश्यतामनुसरणम्",
   "account.unmute": "सशब्दम् @{name}",
   "account.unmute_notifications": "@{name} सूचनाः सक्रियन्ताम्",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Edit profile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json
index cdc001ba8..1c29dfb79 100644
--- a/app/javascript/mastodon/locales/sc.json
+++ b/app/javascript/mastodon/locales/sc.json
@@ -18,12 +18,12 @@
   "account.followers": "Sighiduras",
   "account.followers.empty": "Nemos sighit ancora custa persone.",
   "account.followers_counter": "{count, plural, one {{counter} sighidura} other {{counter} sighiduras}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {Sighende a {counter}} other {Sighende a {counter}}}",
   "account.follows.empty": "Custa persone non sighit ancora a nemos.",
   "account.follows_you": "Ti sighit",
   "account.hide_reblogs": "Cua is cumpartziduras de @{name}",
   "account.joined": "At aderidu su {date}",
-  "account.last_status": "Ùrtima atividade",
   "account.link_verified_on": "Sa propiedade de custu ligòngiu est istada controllada su {date}",
   "account.locked_info": "S'istadu de riservadesa de custu contu est istadu cunfiguradu comente blocadu. Sa persone chi tenet sa propiedade revisionat a manu chie dda podet sighire.",
   "account.media": "Cuntenutu multimediale",
@@ -32,7 +32,6 @@
   "account.mute": "Pone a @{name} a sa muda",
   "account.mute_notifications": "Disativa is notìficas de @{name}",
   "account.muted": "A sa muda",
-  "account.never_active": "Mai",
   "account.posts": "Publicatziones",
   "account.posts_with_replies": "Publicatziones e rispostas",
   "account.report": "Signala @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} publicatzione} other {{counter} publicatziones}}",
   "account.unblock": "Isbloca a @{name}",
   "account.unblock_domain": "Isbloca su domìniu {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Non cussiges in su profilu",
   "account.unfollow": "Non sigas prus",
   "account.unmute": "Torra a ativare a @{name}",
   "account.unmute_notifications": "Ativa notìficas pro @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Incarca pro agiùnghere una nota",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Iscoberi",
   "navigation_bar.domain_blocks": "Domìnios blocados",
   "navigation_bar.edit_profile": "Modìfica profilu",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Preferidos",
   "navigation_bar.filters": "Faeddos a sa muda",
   "navigation_bar.follow_requests": "Rechestas de sighidura",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json
index dc513c8a1..a74105406 100644
--- a/app/javascript/mastodon/locales/si.json
+++ b/app/javascript/mastodon/locales/si.json
@@ -18,12 +18,12 @@
   "account.followers": "Followers",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Follows you",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "{date} එක් වී ඇත",
-  "account.last_status": "අවසන් වරට සක්‍රීය",
   "account.link_verified_on": "මෙම සබැඳියේ හිමිකාරිත්වය {date} දින පරීක්ෂා කරන ලදි",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "මාධ්‍යය",
@@ -32,7 +32,6 @@
   "account.mute": "@{name} නිහඬ කරන්න",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "@{name} වාර්තා කරන්න",
@@ -42,16 +41,18 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "@{name} අනවහිර කරන්න",
   "account.unblock_domain": "{domain} වසම අනවහිර කරන්න",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "පැතිකඩෙහි විශේෂාංග නොකරන්න",
   "account.unfollow": "Unfollow",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "සටහන එකතු කිරීමට ක්ලික් කරන්න",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
   "admin.dashboard.retention.average": "Average",
   "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.retention.cohort_size": "නව පරිශීලකයින්",
   "alert.rate_limited.message": "කරුණාකර {retry_time, time, medium} ට පසු නැවත උත්සාහ කරන්න.",
   "alert.rate_limited.title": "Rate limited",
   "alert.unexpected.message": "An unexpected error occurred.",
@@ -120,7 +121,7 @@
   "confirmations.delete.message": "Are you sure you want to delete this status?",
   "confirmations.delete_list.confirm": "Delete",
   "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
-  "confirmations.discard_edit_media.confirm": "Discard",
+  "confirmations.discard_edit_media.confirm": "ඉවත ලන්න",
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "සම්පූර්ණ වසම අවහිර කරන්න",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "පැතිකඩ සංස්කරණය",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "ප්‍රියතමයන්",
   "navigation_bar.filters": "නිහඬ කළ වචන",
   "navigation_bar.follow_requests": "Follow requests",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index 3c3ca14b4..60b513aa1 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -18,12 +18,12 @@
   "account.followers": "Sledujúci",
   "account.followers.empty": "Tohto používateľa ešte nikto nenásleduje.",
   "account.followers_counter": "{count, plural, one {{counter} Sledujúci} few {{counter} Sledujúci} many {{counter} Sledujúci} other {{counter} Sledujúci}}",
+  "account.following": "Nasledujem",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "Tento používateľ ešte nikoho nenasleduje.",
   "account.follows_you": "Nasleduje ťa",
   "account.hide_reblogs": "Skry vyzdvihnutia od @{name}",
   "account.joined": "Pridal/a sa v {date}",
-  "account.last_status": "Naposledy aktívny",
   "account.link_verified_on": "Vlastníctvo tohto odkazu bolo skontrolované {date}",
   "account.locked_info": "Stav súkromia pre tento účet je nastavený na zamknutý. Jeho vlastník sám prehodnocuje, kto ho môže sledovať.",
   "account.media": "Médiá",
@@ -31,8 +31,7 @@
   "account.moved_to": "{name} sa presunul/a na:",
   "account.mute": "Nevšímaj si @{name}",
   "account.mute_notifications": "Stĺm oboznámenia od @{name}",
-  "account.muted": "Utíšený/á",
-  "account.never_active": "Nikdy",
+  "account.muted": "Nevšímaný/á",
   "account.posts": "Príspevky",
   "account.posts_with_replies": "Príspevky, aj s odpoveďami",
   "account.report": "Nahlás @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Odblokuj @{name}",
   "account.unblock_domain": "Prestaň skrývať {domain}",
+  "account.unblock_short": "Odblokuj",
   "account.unendorse": "Nezobrazuj na profile",
   "account.unfollow": "Prestaň následovať",
   "account.unmute": "Prestaň ignorovať @{name}",
-  "account.unmute_notifications": "Zruš stĺmenie oboznámení od @{name}",
+  "account.unmute_notifications": "Zruš nevšímanie si oznámení od @{name}",
+  "account.unmute_short": "Zruš nevšímanie",
   "account_note.placeholder": "Klikni pre vloženie poznámky",
   "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
   "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
@@ -76,7 +77,7 @@
   "column.follow_requests": "Žiadosti o sledovanie",
   "column.home": "Domov",
   "column.lists": "Zoznamy",
-  "column.mutes": "Ignorovaní užívatelia",
+  "column.mutes": "Nevšímaní užívatelia",
   "column.notifications": "Oboznámenia",
   "column.pins": "Pripnuté príspevky",
   "column.public": "Federovaná časová os",
@@ -105,7 +106,7 @@
   "compose_form.poll.switch_to_single": "Zmeň anketu na takú s jedinou voľbou",
   "compose_form.publish": "Pošli",
   "compose_form.publish_loud": "{publish}!",
-  "compose_form.save_changes": "Save changes",
+  "compose_form.save_changes": "Ulož zmeny",
   "compose_form.sensitive.hide": "Označ médiá ako chúlostivé",
   "compose_form.sensitive.marked": "Médiálny obsah je označený ako chúlostivý",
   "compose_form.sensitive.unmarked": "Médiálny obsah nieje označený ako chúlostivý",
@@ -126,9 +127,9 @@
   "confirmations.domain_block.message": "Si si naozaj istý/á, že chceš blokovať celú doménu {domain}? Vo väčšine prípadov stačí blokovať alebo ignorovať pár konkrétnych užívateľov, čo sa doporučuje. Neuvidíš obsah z tejto domény v žiadnej verejnej časovej osi, ani v oznámeniach. Tvoji následovníci pochádzajúci z tejto domény budú odstránení.",
   "confirmations.logout.confirm": "Odhlás sa",
   "confirmations.logout.message": "Si si istý/á, že sa chceš odhlásiť?",
-  "confirmations.mute.confirm": "Ignoruj",
+  "confirmations.mute.confirm": "Nevšímaj si",
   "confirmations.mute.explanation": "Toto nastavenie pred tebou skryje ich príspevky, alebo príspevky od iných v ktorých sú spomenutí, ale umožní im vidieť tvoje príspevky, aj ťa následovať.",
-  "confirmations.mute.message": "Naozaj chceš ignorovať {name}?",
+  "confirmations.mute.message": "Naozaj si chceš nevšímať {name}?",
   "confirmations.redraft.confirm": "Vyčisti a prepíš",
   "confirmations.redraft.message": "Si si istý/á, že chceš premazať a prepísať tento príspevok? Jeho nadobudnuté vyzdvihnutia a obľúbenia, ale i odpovede na pôvodný príspevok budú odlúčené.",
   "confirmations.reply.confirm": "Odpovedz",
@@ -186,12 +187,12 @@
   "error.unexpected_crash.next_steps_addons": "Skús ich vypnúť, a obnoviť túto stránku. Ak to nepomôže, pravdepodobne budeš stále môcť Mastodon používať cez iný prehliadač, alebo natívnu aplikáciu.",
   "errors.unexpected_crash.copy_stacktrace": "Skopíruj stacktrace do schránky",
   "errors.unexpected_crash.report_issue": "Nahlás problém",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
+  "explore.search_results": "Výsledky hľadania",
+  "explore.suggested_follows": "Pre teba",
   "explore.title": "Explore",
   "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.trending_statuses": "Príspevky",
+  "explore.trending_tags": "Haštagy",
   "follow_recommendations.done": "Hotovo",
   "follow_recommendations.heading": "Následuj ľudí od ktorých by si chcel/a vidieť príspevky! Tu sú nejaké návrhy.",
   "follow_recommendations.lead": "Príspevky od ľudi ktorých sledujete sa zobrazia v chronologickom poradí na Vašej nástenke. Nebojte sa spraviť chyby, vždy môžete zrušiť sledovanie konkrétnych ľudí!",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Objavuj",
   "navigation_bar.domain_blocks": "Skryté domény",
   "navigation_bar.edit_profile": "Uprav profil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Obľúbené",
   "navigation_bar.filters": "Filtrované slová",
   "navigation_bar.follow_requests": "Žiadosti o sledovanie",
@@ -301,7 +303,7 @@
   "navigation_bar.keyboard_shortcuts": "Klávesové skratky",
   "navigation_bar.lists": "Zoznamy",
   "navigation_bar.logout": "Odhlás sa",
-  "navigation_bar.mutes": "Ignorovaní užívatelia",
+  "navigation_bar.mutes": "Stíšení užívatelia",
   "navigation_bar.personal": "Osobné",
   "navigation_bar.pins": "Pripnuté príspevky",
   "navigation_bar.preferences": "Nastavenia",
@@ -336,7 +338,7 @@
   "notifications.column_settings.status": "Nové príspevky:",
   "notifications.column_settings.unread_notifications.category": "Neprečítané oboznámenia",
   "notifications.column_settings.unread_notifications.highlight": "Zdôrazni neprečítané oboznámenia",
-  "notifications.column_settings.update": "Edits:",
+  "notifications.column_settings.update": "Úpravy:",
   "notifications.filter.all": "Všetky",
   "notifications.filter.boosts": "Vyzdvihnutia",
   "notifications.filter.favourites": "Obľúbené",
@@ -378,7 +380,7 @@
   "relative_time.days": "{number}dní",
   "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
   "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
-  "relative_time.full.just_now": "just now",
+  "relative_time.full.just_now": "práve teraz",
   "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
   "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
   "relative_time.hours": "{number}hod",
@@ -394,23 +396,23 @@
   "report.categories.violation": "Content violates one or more server rules",
   "report.category.subtitle": "Choose the best match",
   "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
+  "report.category.title_account": "profilom",
+  "report.category.title_status": "príspevkom",
+  "report.close": "Hotovo",
   "report.comment.title": "Is there anything else you think we should know?",
   "report.forward": "Posuň ku {target}",
   "report.forward_hint": "Tento účet je z iného serveru. Chceš poslať anonymnú kópiu hlásenia aj tam?",
-  "report.mute": "Mute",
+  "report.mute": "Nevšímaj si",
   "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.next": "Ďalej",
   "report.placeholder": "Ďalšie komentáre",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
+  "report.reasons.dislike": "Nepáči sa mi",
+  "report.reasons.dislike_description": "Nieje to niečo, čo chceš vidieť",
+  "report.reasons.other": "Je to niečo iné",
   "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 repetetive replies",
-  "report.reasons.violation": "It violates server rules",
+  "report.reasons.spam": "Je to spam",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
+  "report.reasons.violation": "Porušuje pravidlá servera",
   "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?",
@@ -420,7 +422,7 @@
   "report.target": "Nahlás {target}",
   "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
   "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
+  "report.thanks.title": "Nechceš to vidieť?",
   "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
   "report.unfollow": "Unfollow @{name}",
   "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
@@ -448,7 +450,7 @@
   "status.delete": "Zmazať",
   "status.detailed_status": "Podrobný náhľad celej konverzácie",
   "status.direct": "Priama správa pre @{name}",
-  "status.edit": "Edit",
+  "status.edit": "Uprav",
   "status.edited": "Edited {date}",
   "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Vložiť",
@@ -460,8 +462,8 @@
   "status.media_hidden": "Skryté médiá",
   "status.mention": "Spomeň @{name}",
   "status.more": "Viac",
-  "status.mute": "Utíš @{name}",
-  "status.mute_conversation": "Ignoruj konverzáciu",
+  "status.mute": "Nevšímaj si @{name}",
+  "status.mute_conversation": "Nevšímaj si konverzáciu",
   "status.open": "Otvor tento príspevok",
   "status.pin": "Pripni na profil",
   "status.pinned": "Pripnutý príspevok",
@@ -483,7 +485,7 @@
   "status.show_more_all": "Všetkým ukáž viac",
   "status.show_thread": "Ukáž diskusné vlákno",
   "status.uncached_media_warning": "Nedostupný/é",
-  "status.unmute_conversation": "Prestaň ignorovať konverzáciu",
+  "status.unmute_conversation": "Prestaň si nevšímať konverzáciu",
   "status.unpin": "Odopni z profilu",
   "suggestions.dismiss": "Zavrhni návrh",
   "suggestions.header": "Mohlo by ťa zaujímať…",
@@ -534,7 +536,7 @@
   "video.expand": "Zväčši video",
   "video.fullscreen": "Zobraz na celú obrazovku",
   "video.hide": "Skry video",
-  "video.mute": "Vypni zvuk",
+  "video.mute": "Stlm zvuk",
   "video.pause": "Pauza",
   "video.play": "Prehraj",
   "video.unmute": "Zapni zvuk"
diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json
index d4475760b..92a3ffcc9 100644
--- a/app/javascript/mastodon/locales/sl.json
+++ b/app/javascript/mastodon/locales/sl.json
@@ -18,12 +18,12 @@
   "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.following": "Following",
   "account.following_counter": "{count, plural, one {sledi {count} osebi} two {sledi {count} osebama} few {sledi {count} osebam} other {sledi {count} osebam}}",
   "account.follows.empty": "Ta uporabnik še ne sledi nikomur.",
   "account.follows_you": "Vam sledi",
   "account.hide_reblogs": "Skrij spodbude od @{name}",
   "account.joined": "Pridružen/a {date}",
-  "account.last_status": "Zadnja dejavnost",
   "account.link_verified_on": "Lastništvo te povezave je bilo preverjeno {date}",
   "account.locked_info": "Stanje zasebnosti računa je nastavljeno na zaklenjeno. Lastnik ročno pregleda, kdo ga lahko spremlja.",
   "account.media": "Mediji",
@@ -32,7 +32,6 @@
   "account.mute": "Utišaj @{name}",
   "account.mute_notifications": "Utišaj obvestila od @{name}",
   "account.muted": "Utišan",
-  "account.never_active": "Nikoli",
   "account.posts": "Tuti",
   "account.posts_with_replies": "Tuti in odgovori",
   "account.report": "Prijavi @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Odblokiraj @{name}",
   "account.unblock_domain": "Razkrij {domain}",
+  "account.unblock_short": "Odblokiraj",
   "account.unendorse": "Ne vključi v profil",
   "account.unfollow": "Prenehaj slediti",
   "account.unmute": "Odtišaj @{name}",
   "account.unmute_notifications": "Vklopi obvestila od @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -167,7 +168,7 @@
   "empty_column.community": "Lokalna časovnica je prazna. Napišite nekaj javnega, da se bo žoga zakotalila!",
   "empty_column.direct": "Nimate še nobenih neposrednih sporočil. Ko ga boste poslali ali prejeli, se bo prikazal tukaj.",
   "empty_column.domain_blocks": "Še vedno ni skritih domen.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "Trenutno ni nič v trendu. Preverite znova kasneje!",
   "empty_column.favourited_statuses": "Nimate priljubljenih tutov. Ko boste vzljubili kakšnega, se bo prikazal tukaj.",
   "empty_column.favourites": "Nihče še ni vzljubil tega tuta. Ko ga bo nekdo, se bo pojavil tukaj.",
   "empty_column.follow_recommendations": "Kaže, da za vas ni mogoče pripraviti nobenih predlogov. Poskusite uporabiti iskanje, da poiščete osebe, ki jih poznate, ali raziščete ključnike, ki so v trendu.",
@@ -186,12 +187,12 @@
   "error.unexpected_crash.next_steps_addons": "Poskusite jih onemogočiti in osvežiti stran. Če to ne pomaga, boste morda še vedno lahko uporabljali Mastodon prek drugega brskalnika ali z domorodno aplikacijo.",
   "errors.unexpected_crash.copy_stacktrace": "Kopiraj sledenje sklada na odložišče",
   "errors.unexpected_crash.report_issue": "Prijavi težavo",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.search_results": "Rezultati iskanja",
+  "explore.suggested_follows": "Za vas",
+  "explore.title": "Razišči",
+  "explore.trending_links": "Novice",
+  "explore.trending_statuses": "Objave",
+  "explore.trending_tags": "Ključniki",
   "follow_recommendations.done": "Opravljeno",
   "follow_recommendations.heading": "Sledite osebam, katerih objave želite videti! Tukaj je nekaj predlogov.",
   "follow_recommendations.lead": "Objave oseb, ki jim sledite, se bodo prikazale v kronološkem zaporedju v vašem domačem viru. Ne bojte se storiti napake, osebam enako enostavno nehate slediti kadar koli!",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Odkrijte",
   "navigation_bar.domain_blocks": "Skrite domene",
   "navigation_bar.edit_profile": "Uredi profil",
+  "navigation_bar.explore": "Razišči",
   "navigation_bar.favourites": "Priljubljeni",
   "navigation_bar.filters": "Utišane besede",
   "navigation_bar.follow_requests": "Prošnje za sledenje",
@@ -307,7 +309,7 @@
   "navigation_bar.preferences": "Nastavitve",
   "navigation_bar.public_timeline": "Združena časovnica",
   "navigation_bar.security": "Varnost",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} se je vpisal/a",
   "notification.favourite": "{name} je vzljubil/a vaš status",
   "notification.follow": "{name} vam sledi",
   "notification.follow_request": "{name} vam želi slediti",
@@ -319,7 +321,7 @@
   "notification.update": "{name} je uredil(a) objavo",
   "notifications.clear": "Počisti obvestila",
   "notifications.clear_confirmation": "Ali ste prepričani, da želite trajno izbrisati vsa vaša obvestila?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "Novi vpisi:",
   "notifications.column_settings.alert": "Namizna obvestila",
   "notifications.column_settings.favourite": "Priljubljeni:",
   "notifications.column_settings.filter_bar.advanced": "Prikaži vse kategorije",
@@ -387,43 +389,43 @@
   "relative_time.seconds": "{number}s",
   "relative_time.today": "danes",
   "reply_indicator.cancel": "Prekliči",
-  "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.block": "Blokiraj",
+  "report.block_explanation": "Njihovih objav ne boste videli. Oni ne bodo videli vaših objav, niti vam ne morejo slediti. Lahko bodo ugotovili, da so blokirani.",
   "report.categories.other": "Drugo",
   "report.categories.spam": "Neželeno",
   "report.categories.violation": "Vsebina krši eno ali več pravil strežnika",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.category.subtitle": "Izberite najboljši zadetek",
+  "report.category.title": "Povejte nam, kaj se dogaja s to/tem {type}",
+  "report.category.title_account": "profil",
+  "report.category.title_status": "objava",
+  "report.close": "Opravljeno",
+  "report.comment.title": "Je še kaj, za kar menite, da bi morali vedeti?",
   "report.forward": "Posreduj do {target}",
   "report.forward_hint": "Račun je iz drugega strežnika. Pošljem anonimno kopijo poročila tudi na drugi strežnik?",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.mute": "Utišaj",
+  "report.mute_explanation": "Njihovih objav ne boste videli. Še vedno vam lahko sledijo in vidijo vaše objave, ne bodo vedeli, da so utišani.",
+  "report.next": "Naprej",
   "report.placeholder": "Dodatni komentarji",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "Ni mi všeč",
+  "report.reasons.dislike_description": "To ni tisto, kar želim videti",
+  "report.reasons.other": "Gre za nekaj drugega",
+  "report.reasons.other_description": "Težava ne sodi v druge kategorije",
+  "report.reasons.spam": "To je neželena vsebina",
+  "report.reasons.spam_description": "Škodljive povezave, lažno prizadevanje ali ponavljajoči se odgovori",
+  "report.reasons.violation": "Krši strežniška pravila",
+  "report.reasons.violation_description": "Zavedate se, da krši določena pravila",
+  "report.rules.subtitle": "Izberite vse, kar ustreza",
+  "report.rules.title": "Katera pravila so kršena?",
+  "report.statuses.subtitle": "Izberite vse, kar ustreza",
+  "report.statuses.title": "Ali so kakšne objave, ki dokazujejo trditve iz tega poročila?",
   "report.submit": "Pošlji",
   "report.target": "Prijavi {target}",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.thanks.take_action": "Tukaj so vaše možnosti za nadzor tistega, kar vidite na Mastodonu:",
+  "report.thanks.take_action_actionable": "Medtem, ko to pregledujemo, lahko proti @{name} ukrepate:",
+  "report.thanks.title": "Ali si želite to pogledati?",
+  "report.thanks.title_actionable": "Hvala za poročilo, bomo preverili.",
+  "report.unfollow": "Ne sledi več @{name}",
+  "report.unfollow_explanation": "Temu računu sledite. Da ne boste več videli njegovih objav v svojem domačem viru, mu prenehajte slediti.",
   "search.placeholder": "Iskanje",
   "search_popout.search_format": "Napredna oblika iskanja",
   "search_popout.tips.full_text": "Enostavno besedilo vrne statuse, ki ste jih napisali, vzljubili, spodbudili ali ste bili v njih omenjeni, kot tudi ujemajoča se uporabniška imena, prikazna imena in ključnike.",
@@ -432,9 +434,9 @@
   "search_popout.tips.text": "Enostavno besedilo vrne ujemajoča se prikazna imena, uporabniška imena in ključnike",
   "search_popout.tips.user": "uporabnik",
   "search_results.accounts": "Ljudje",
-  "search_results.all": "All",
+  "search_results.all": "Vse",
   "search_results.hashtags": "Ključniki",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "Za ta iskalni niz ni zadetkov",
   "search_results.statuses": "Tuti",
   "search_results.statuses_fts_disabled": "Iskanje tutov po njihovi vsebini ni omogočeno na tem strežniku Mastodon.",
   "search_results.total": "{count, number} {count, plural, one {rezultat} other {rezultatov}}",
diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json
index b3a70dd27..d1047f5da 100644
--- a/app/javascript/mastodon/locales/sq.json
+++ b/app/javascript/mastodon/locales/sq.json
@@ -18,12 +18,12 @@
   "account.followers": "Ndjekës",
   "account.followers.empty": "Këtë përdorues ende s’e ndjek kush.",
   "account.followers_counter": "{count, plural, one {{counter} Ndjekës} other {{counter} Ndjekës}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} i Ndjekur} other {{counter} të Ndjekur}}",
   "account.follows.empty": "Ky përdorues ende s’ndjek kënd.",
   "account.follows_you": "Ju ndjek",
   "account.hide_reblogs": "Fshih përforcime nga @{name}",
   "account.joined": "U bë pjesë më {date}",
-  "account.last_status": "Aktiv së fundi më",
   "account.link_verified_on": "Pronësia e kësaj lidhjeje qe kontrolluar më {date}",
   "account.locked_info": "Gjendja e privatësisë së kësaj llogarie është caktuar si e kyçur. I zoti merr dorazi në shqyrtim cilët mund ta ndjekin.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Heshtoni @{name}",
   "account.mute_notifications": "Heshtoji njoftimet prej @{name}",
   "account.muted": "Heshtuar",
-  "account.never_active": "Kurrë",
   "account.posts": "Mesazhe",
   "account.posts_with_replies": "Mesazhe dhe përgjigje",
   "account.report": "Raportojeni @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Mesazh} other {{counter} Mesazhe}}",
   "account.unblock": "Zhbllokoje @{name}",
   "account.unblock_domain": "Zhblloko përkatësinë {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Mos e përfshi në profil",
   "account.unfollow": "Resht së ndjekuri",
   "account.unmute": "Ktheji zërin @{name}",
   "account.unmute_notifications": "Hiqua ndalimin e shfaqjes njoftimeve nga @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Klikoni për të shtuar shënim",
   "admin.dashboard.daily_retention": "Shkallë mbajtjeje përdoruesi, në ditë, pas regjistrimit",
   "admin.dashboard.monthly_retention": "Shkallë mbajtjeje përdoruesi, në muaj, pas regjistrimit",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Zbuloni",
   "navigation_bar.domain_blocks": "Përkatësi të bllokuara",
   "navigation_bar.edit_profile": "Përpunoni profilin",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Të parapëlqyer",
   "navigation_bar.filters": "Fjalë të heshtuara",
   "navigation_bar.follow_requests": "Kërkesa për ndjekje",
diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json
index 67a21e94d..332352cc1 100644
--- a/app/javascript/mastodon/locales/sr-Latn.json
+++ b/app/javascript/mastodon/locales/sr-Latn.json
@@ -18,12 +18,12 @@
   "account.followers": "Pratioca",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Prati Vas",
   "account.hide_reblogs": "Sakrij podrške koje daje korisnika @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Mediji",
@@ -32,7 +32,6 @@
   "account.mute": "Ućutkaj korisnika @{name}",
   "account.mute_notifications": "Isključi obaveštenja od korisnika @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "Statusa",
   "account.posts_with_replies": "Toots with replies",
   "account.report": "Prijavi @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Odblokiraj korisnika @{name}",
   "account.unblock_domain": "Odblokiraj domen {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Otprati",
   "account.unmute": "Ukloni ućutkavanje korisniku @{name}",
   "account.unmute_notifications": "Uključi nazad obaveštenja od korisnika @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Izmeni profil",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Omiljeni",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Zahtevi za praćenje",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json
index 8eae28d93..e7f1e54cc 100644
--- a/app/javascript/mastodon/locales/sr.json
+++ b/app/javascript/mastodon/locales/sr.json
@@ -18,12 +18,12 @@
   "account.followers": "Пратиоци",
   "account.followers.empty": "Тренутно нико не прати овог корисника.",
   "account.followers_counter": "{count, plural, one {{counter} пратилац} few {{counter} пратиоца} other {{counter} пратилаца}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} прати} few {{counter} прати} other {{counter} прати}}",
   "account.follows.empty": "Корисник тренутно не прати никога.",
   "account.follows_you": "Прати Вас",
   "account.hide_reblogs": "Сакриј подршке које даје корисника @{name}",
   "account.joined": "Придружио/ла се {date}",
-  "account.last_status": "Последњи пут активан/на",
   "account.link_verified_on": "Власништво над овом везом је проверено {date}",
   "account.locked_info": "Статус приватности овог налога је подешен на закључано. Власник ручно прегледа ко га може пратити.",
   "account.media": "Медији",
@@ -32,7 +32,6 @@
   "account.mute": "Ућуткај корисника @{name}",
   "account.mute_notifications": "Искључи обавештења од корисника @{name}",
   "account.muted": "Ућуткан",
-  "account.never_active": "Никада",
   "account.posts": "Трубе",
   "account.posts_with_replies": "Трубе и одговори",
   "account.report": "Пријави @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} објава} few {{counter} објаве} other {{counter} објава}}",
   "account.unblock": "Одблокирај корисника @{name}",
   "account.unblock_domain": "Одблокирај домен {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Не истичи на налогу",
   "account.unfollow": "Отпрати",
   "account.unmute": "Уклони ућуткавање кориснику @{name}",
   "account.unmute_notifications": "Укључи назад обавештења од корисника @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Откриј",
   "navigation_bar.domain_blocks": "Сакривени домени",
   "navigation_bar.edit_profile": "Измени налог",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Омиљене",
   "navigation_bar.filters": "Пригушене речи",
   "navigation_bar.follow_requests": "Захтеви за праћење",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index 63c111da9..43c6decf8 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -18,12 +18,12 @@
   "account.followers": "Följare",
   "account.followers.empty": "Ingen följer denna användare än.",
   "account.followers_counter": "{count, plural, one {{counter} Följare} other {{counter} Följare}}",
+  "account.following": "Följer",
   "account.following_counter": "{count, plural, one {{counter} Följer} other {{counter} Följer}}",
   "account.follows.empty": "Denna användare följer inte någon än.",
   "account.follows_you": "Följer dig",
   "account.hide_reblogs": "Dölj knuffar från @{name}",
   "account.joined": "Gick med {date}",
-  "account.last_status": "Senast aktiv",
   "account.link_verified_on": "Ägarskap för detta konto kontrollerades den {date}",
   "account.locked_info": "Detta konto har låst integritetsstatus. Ägaren väljer manuellt vem som kan följa.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Tysta @{name}",
   "account.mute_notifications": "Stäng av notifieringar från @{name}",
   "account.muted": "Tystad",
-  "account.never_active": "Aldrig",
   "account.posts": "Tutningar",
   "account.posts_with_replies": "Tutningar och svar",
   "account.report": "Rapportera @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural,one {{counter} Tuta} other {{counter} Tutor}}",
   "account.unblock": "Avblockera @{name}",
   "account.unblock_domain": "Sluta dölja {domain}",
+  "account.unblock_short": "Avblockera",
   "account.unendorse": "Visa inte på profil",
   "account.unfollow": "Sluta följ",
   "account.unmute": "Sluta tysta @{name}",
   "account.unmute_notifications": "Återaktivera aviseringar från @{name}",
+  "account.unmute_short": "Unmute",
   "account_note.placeholder": "Klicka för att lägga till anteckning",
   "admin.dashboard.daily_retention": "Användarlojalitet per dag efter registrering",
   "admin.dashboard.monthly_retention": "Användarlojalitet per månad efter registrering",
@@ -191,7 +192,7 @@
   "explore.title": "Utforska",
   "explore.trending_links": "Nyheter",
   "explore.trending_statuses": "Inlägg",
-  "explore.trending_tags": "Hashtags",
+  "explore.trending_tags": "Hashtaggar",
   "follow_recommendations.done": "Klar",
   "follow_recommendations.heading": "Följ personer som du skulle vilja se inlägg från! Här finns det några förslag.",
   "follow_recommendations.lead": "Inlägg från personer du följer kommer att dyka upp i kronologisk ordning i ditt hem-flöde. Var inte rädd för att göra misstag, du kan sluta följa människor lika enkelt när som helst!",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Upptäck",
   "navigation_bar.domain_blocks": "Dolda domäner",
   "navigation_bar.edit_profile": "Redigera profil",
+  "navigation_bar.explore": "Utforska",
   "navigation_bar.favourites": "Favoriter",
   "navigation_bar.filters": "Tystade ord",
   "navigation_bar.follow_requests": "Följförfrågningar",
@@ -336,7 +338,7 @@
   "notifications.column_settings.status": "Nya tutor:",
   "notifications.column_settings.unread_notifications.category": "O-lästa aviseringar",
   "notifications.column_settings.unread_notifications.highlight": "Markera o-lästa aviseringar",
-  "notifications.column_settings.update": "Edits:",
+  "notifications.column_settings.update": "Redigeringar:",
   "notifications.filter.all": "Alla",
   "notifications.filter.boosts": "Knuffar",
   "notifications.filter.favourites": "Favoriter",
@@ -392,11 +394,11 @@
   "report.categories.other": "Övrigt",
   "report.categories.spam": "Skräppost",
   "report.categories.violation": "Innehåll bryter mot en eller flera serverregler",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
+  "report.category.subtitle": "Välj den bästa träffen",
+  "report.category.title": "Berätta för oss vad som händer med den här {type}",
   "report.category.title_account": "profil",
   "report.category.title_status": "inlägg",
-  "report.close": "Done",
+  "report.close": "Färdig",
   "report.comment.title": "Is there anything else you think we should know?",
   "report.forward": "Vidarebefordra till {target}",
   "report.forward_hint": "Kontot är från en annan server. Skicka även en anonymiserad kopia av anmälan dit?",
@@ -404,14 +406,14 @@
   "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
   "report.next": "Nästa",
   "report.placeholder": "Ytterligare kommentarer",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
+  "report.reasons.dislike": "Jag tycker inte om det",
+  "report.reasons.dislike_description": "Det är inget som du vill se",
+  "report.reasons.other": "Det är något annat",
   "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 repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
+  "report.reasons.spam": "Det är skräppost",
+  "report.reasons.spam_description": "Skadliga länkar, bedrägligt beteende eller repetitiva svar",
+  "report.reasons.violation": "Det bryter mot serverns regler",
+  "report.reasons.violation_description": "Du är medveten om att det bryter mot specifika regler",
   "report.rules.subtitle": "Select all that apply",
   "report.rules.title": "Which rules are being violated?",
   "report.statuses.subtitle": "Select all that apply",
@@ -420,7 +422,7 @@
   "report.target": "Rapporterar {target}",
   "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
   "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
+  "report.thanks.title": "Vill du inte se det här?",
   "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
   "report.unfollow": "Sluta följ @{username}",
   "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json
index a7e5313a3..088b5ff36 100644
--- a/app/javascript/mastodon/locales/szl.json
+++ b/app/javascript/mastodon/locales/szl.json
@@ -18,12 +18,12 @@
   "account.followers": "Followers",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Follows you",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Unblock @{name}",
   "account.unblock_domain": "Unblock domain {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Unfollow",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Edit profile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json
index 8ea28b965..3c4bcb234 100644
--- a/app/javascript/mastodon/locales/ta.json
+++ b/app/javascript/mastodon/locales/ta.json
@@ -18,12 +18,12 @@
   "account.followers": "பின்தொடர்பவர்கள்",
   "account.followers.empty": "இதுவரை யாரும் இந்த பயனரைப் பின்தொடரவில்லை.",
   "account.followers_counter": "{count, plural, one {{counter} வாசகர்} other {{counter} வாசகர்கள்}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural,one {{counter} சந்தா} other {{counter} சந்தாக்கள்}}",
   "account.follows.empty": "இந்த பயனர் இதுவரை யாரையும் பின்தொடரவில்லை.",
   "account.follows_you": "உங்களைப் பின்தொடர்கிறார்",
   "account.hide_reblogs": "இருந்து ஊக்கியாக மறை @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "கடைசி செயல்பாடு",
   "account.link_verified_on": "இந்த இணைப்பை உரிமையாளர் சரிபார்க்கப்பட்டது {date}",
   "account.locked_info": "இந்தக் கணக்கு தனியுரிமை நிலை பூட்டப்பட்டுள்ளது. அவர்களைப் பின்தொடர்பவர் யார் என்பதை உரிமையாளர் கைமுறையாக மதிப்பாய்வு செய்கிறார்.",
   "account.media": "ஊடகங்கள்",
@@ -32,7 +32,6 @@
   "account.mute": "ஊமையான @{name}",
   "account.mute_notifications": "அறிவிப்புகளை முடக்கு @{name}",
   "account.muted": "முடக்கியது",
-  "account.never_active": "எப்போதுமில்லை",
   "account.posts": "டூட்டுகள்",
   "account.posts_with_replies": "Toots மற்றும் பதில்கள்",
   "account.report": "@{name} -ஐப் புகாரளி",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} டூட்} other {{counter} டூட்டுகள்}}",
   "account.unblock": "@{name} மீது தடை நீக்குக",
   "account.unblock_domain": "{domain} ஐ காண்பி",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "சுயவிவரத்தில் இடம்பெற வேண்டாம்",
   "account.unfollow": "பின்தொடர்வதை நிறுத்துக",
   "account.unmute": "@{name} இன் மீது மௌனத் தடையை நீக்குக",
   "account.unmute_notifications": "@{name} இலிருந்து அறிவிப்புகளின் மீது மௌனத் தடையை நீக்குக",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "கண்டு பிடி",
   "navigation_bar.domain_blocks": "மறைந்த களங்கள்",
   "navigation_bar.edit_profile": "சுயவிவரத்தைத் திருத்தவும்",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "விருப்பத்துக்குகந்த",
   "navigation_bar.filters": "முடக்கப்பட்ட வார்த்தைகள்",
   "navigation_bar.follow_requests": "கோரிக்கைகளை பின்பற்றவும்",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/tai.json b/app/javascript/mastodon/locales/tai.json
index 55a62bb55..2f8936a9c 100644
--- a/app/javascript/mastodon/locales/tai.json
+++ b/app/javascript/mastodon/locales/tai.json
@@ -18,12 +18,12 @@
   "account.followers": "Followers",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Follows you",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Mûi-thé",
@@ -32,7 +32,6 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Unblock @{name}",
   "account.unblock_domain": "Unblock domain {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Unfollow",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Edit profile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json
index 40e37d497..05af59c6a 100644
--- a/app/javascript/mastodon/locales/te.json
+++ b/app/javascript/mastodon/locales/te.json
@@ -18,12 +18,12 @@
   "account.followers": "అనుచరులు",
   "account.followers.empty": "ఈ వినియోగదారుడిని ఇంకా ఎవరూ అనుసరించడంలేదు.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "ఈ వినియోగదారి ఇంకా ఎవరినీ అనుసరించడంలేదు.",
   "account.follows_you": "మిమ్మల్ని అనుసరిస్తున్నారు",
   "account.hide_reblogs": "@{name} నుంచి బూస్ట్ లను దాచిపెట్టు",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "ఈ లంకె యొక్క యాజమాన్యం {date}న పరీక్షించబడింది",
   "account.locked_info": "ఈ ఖాతా యొక్క గోప్యత స్థితి లాక్ చేయబడి వుంది. ఈ ఖాతాను ఎవరు అనుసరించవచ్చో యజమానే నిర్ణయం తీసుకుంటారు.",
   "account.media": "మీడియా",
@@ -32,7 +32,6 @@
   "account.mute": "@{name}ను మ్యూట్ చెయ్యి",
   "account.mute_notifications": "@{name}నుంచి ప్రకటనలను మ్యూట్ చెయ్యి",
   "account.muted": "మ్యూట్ అయినవి",
-  "account.never_active": "Never",
   "account.posts": "టూట్లు",
   "account.posts_with_replies": "టూట్లు మరియు ప్రత్యుత్తరములు",
   "account.report": "@{name}పై ఫిర్యాదుచేయు",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "@{name}పై బ్లాక్ ను తొలగించు",
   "account.unblock_domain": "{domain}ను దాచవద్దు",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "ప్రొఫైల్లో చూపించవద్దు",
   "account.unfollow": "అనుసరించవద్దు",
   "account.unmute": "@{name}పై మ్యూట్ ని తొలగించు",
   "account.unmute_notifications": "@{name} నుంచి ప్రకటనలపై మ్యూట్ ని తొలగించు",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "కనుగొను",
   "navigation_bar.domain_blocks": "దాచిన డొమైన్లు",
   "navigation_bar.edit_profile": "ప్రొఫైల్ని సవరించండి",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "ఇష్టపడినవి",
   "navigation_bar.filters": "మ్యూట్ చేయబడిన పదాలు",
   "navigation_bar.follow_requests": "అనుసరించడానికి అభ్యర్ధనలు",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index 1b276c467..f7eddd11b 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -18,12 +18,12 @@
   "account.followers": "ผู้ติดตาม",
   "account.followers.empty": "ยังไม่มีใครติดตามผู้ใช้นี้",
   "account.followers_counter": "{count, plural, other {{counter} ผู้ติดตาม}}",
+  "account.following": "กำลังติดตาม",
   "account.following_counter": "{count, plural, other {{counter} กำลังติดตาม}}",
   "account.follows.empty": "ผู้ใช้นี้ยังไม่ได้ติดตามใคร",
   "account.follows_you": "ติดตามคุณ",
   "account.hide_reblogs": "ซ่อนการดันจาก @{name}",
   "account.joined": "เข้าร่วมเมื่อ {date}",
-  "account.last_status": "ใช้งานล่าสุด",
   "account.link_verified_on": "ตรวจสอบความเป็นเจ้าของของลิงก์นี้เมื่อ {date}",
   "account.locked_info": "มีการตั้งสถานะความเป็นส่วนตัวของบัญชีนี้เป็นล็อคอยู่ เจ้าของตรวจทานผู้ที่สามารถติดตามเขาด้วยตนเอง",
   "account.media": "สื่อ",
@@ -32,7 +32,6 @@
   "account.mute": "ซ่อน @{name}",
   "account.mute_notifications": "ซ่อนการแจ้งเตือนจาก @{name}",
   "account.muted": "ซ่อนอยู่",
-  "account.never_active": "ไม่เลย",
   "account.posts": "โพสต์",
   "account.posts_with_replies": "โพสต์และการตอบกลับ",
   "account.report": "รายงาน @{name}",
@@ -42,13 +41,15 @@
   "account.statuses_counter": "{count, plural, other {{counter} โพสต์}}",
   "account.unblock": "เลิกปิดกั้น @{name}",
   "account.unblock_domain": "เลิกปิดกั้นโดเมน {domain}",
+  "account.unblock_short": "เลิกปิดกั้น",
   "account.unendorse": "ไม่แนะนำในโปรไฟล์",
   "account.unfollow": "เลิกติดตาม",
   "account.unmute": "เลิกซ่อน @{name}",
   "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": "ผู้ใช้ใหม่",
@@ -132,7 +133,7 @@
   "confirmations.redraft.confirm": "ลบแล้วร่างใหม่",
   "confirmations.redraft.message": "คุณแน่ใจหรือไม่ว่าต้องการลบโพสต์นี้แล้วร่างโพสต์ใหม่? รายการโปรดและการดันจะหายไป และการตอบกลับโพสต์ดั้งเดิมจะไม่มีความเกี่ยวพัน",
   "confirmations.reply.confirm": "ตอบกลับ",
-  "confirmations.reply.message": "การตอบกลับในตอนนี้จะเขียนทับข้อความที่คุณกำลังเขียน คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
+  "confirmations.reply.message": "การตอบกลับในตอนนี้จะเขียนทับข้อความที่คุณกำลังเขียนในปัจจุบัน คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
   "confirmations.unfollow.confirm": "เลิกติดตาม",
   "confirmations.unfollow.message": "คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตาม {name}?",
   "conversation.delete": "ลบการสนทนา",
@@ -167,10 +168,10 @@
   "empty_column.community": "เส้นเวลาในเซิร์ฟเวอร์ว่างเปล่า เขียนบางอย่างเป็นสาธารณะเพื่อเริ่มต้น!",
   "empty_column.direct": "คุณยังไม่มีข้อความโดยตรงใด ๆ เมื่อคุณส่งหรือรับข้อความ ข้อความจะปรากฏที่นี่",
   "empty_column.domain_blocks": "ยังไม่มีโดเมนที่ปิดกั้นอยู่",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "ไม่มีสิ่งใดที่กำลังนิยมในตอนนี้ กลับมาตรวจสอบในภายหลัง!",
   "empty_column.favourited_statuses": "คุณยังไม่มีโพสต์ที่ชื่นชอบใด ๆ เมื่อคุณชื่นชอบโพสต์ โพสต์จะปรากฏที่นี่",
   "empty_column.favourites": "ยังไม่มีใครชื่นชอบโพสต์นี้ เมื่อใครสักคนชื่นชอบ เขาจะปรากฏที่นี่",
-  "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
+  "empty_column.follow_recommendations": "ดูเหมือนว่าจะไม่สามารถสร้างข้อเสนอแนะสำหรับคุณ คุณสามารถลองใช้การค้นหาเพื่อมองหาผู้คนที่คุณอาจรู้จักหรือสำรวจแฮชแท็กที่กำลังนิยม",
   "empty_column.follow_requests": "คุณยังไม่มีคำขอติดตามใด ๆ เมื่อคุณได้รับคำขอ คำขอจะปรากฏที่นี่",
   "empty_column.hashtag": "ยังไม่มีสิ่งใดในแฮชแท็กนี้",
   "empty_column.home": "เส้นเวลาหน้าแรกของคุณว่างเปล่า! ติดตามผู้คนเพิ่มเติมเพื่อเติมเส้นเวลาให้เต็ม {suggestions}",
@@ -179,7 +180,7 @@
   "empty_column.lists": "คุณยังไม่มีรายการใด ๆ เมื่อคุณสร้างรายการ รายการจะปรากฏที่นี่",
   "empty_column.mutes": "คุณยังไม่ได้ซ่อนผู้ใช้ใด ๆ",
   "empty_column.notifications": "คุณยังไม่มีการแจ้งเตือนใด ๆ เมื่อผู้คนอื่น ๆ โต้ตอบกับคุณ คุณจะเห็นการแจ้งเตือนที่นี่",
-  "empty_column.public": "ไม่มีสิ่งใดที่นี่! เขียนบางอย่างเป็นสาธารณะ หรือติดตามผู้ใช้จากเซิร์ฟเวอร์อื่น ๆ ด้วยตนเองเพื่อเติมให้เต็ม",
+  "empty_column.public": "ไม่มีสิ่งใดที่นี่! เขียนบางอย่างเป็นสาธารณะ หรือติดตามผู้ใช้จากเซิร์ฟเวอร์อื่น ๆ ด้วยตนเองเพื่อเติมเส้นเวลาให้เต็ม",
   "error.unexpected_crash.explanation": "เนื่องจากข้อบกพร่องในโค้ดของเราหรือปัญหาความเข้ากันได้ของเบราว์เซอร์ จึงไม่สามารถแสดงหน้านี้ได้อย่างถูกต้อง",
   "error.unexpected_crash.explanation_addons": "ไม่สามารถแสดงหน้านี้ได้อย่างถูกต้อง ข้อผิดพลาดนี้เป็นไปได้ว่าเกิดจากส่วนเสริมของเบราว์เซอร์หรือเครื่องมือการแปลอัตโนมัติ",
   "error.unexpected_crash.next_steps": "ลองรีเฟรชหน้า หากนั่นไม่ช่วย คุณอาจยังสามารถใช้ Mastodon ได้ผ่านเบราว์เซอร์อื่นหรือแอป",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "ค้นพบ",
   "navigation_bar.domain_blocks": "โดเมนที่ปิดกั้นอยู่",
   "navigation_bar.edit_profile": "แก้ไขโปรไฟล์",
+  "navigation_bar.explore": "สำรวจ",
   "navigation_bar.favourites": "รายการโปรด",
   "navigation_bar.filters": "คำที่ซ่อนอยู่",
   "navigation_bar.follow_requests": "คำขอติดตาม",
@@ -352,7 +354,7 @@
   "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.",
   "notifications_permission_banner.enable": "เปิดใช้งานการแจ้งเตือนบนเดสก์ท็อป",
   "notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
-  "notifications_permission_banner.title": "ไม่พลาดสิ่งต่าง ๆ",
+  "notifications_permission_banner.title": "ไม่พลาดสิ่งใด",
   "picture_in_picture.restore": "นำกลับมา",
   "poll.closed": "ปิดแล้ว",
   "poll.refresh": "รีเฟรช",
@@ -388,42 +390,42 @@
   "relative_time.today": "วันนี้",
   "reply_indicator.cancel": "ยกเลิก",
   "report.block": "ปิดกั้น",
-  "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
+  "report.block_explanation": "คุณจะไม่เห็นโพสต์ของเขา เขาจะไม่สามารถเห็นโพสต์ของคุณหรือติดตามคุณ เขาจะสามารถบอกได้ว่ามีการปิดกั้นเขา",
   "report.categories.other": "อื่น ๆ",
   "report.categories.spam": "สแปม",
   "report.categories.violation": "เนื้อหาละเมิดหนึ่งกฎของเซิร์ฟเวอร์หรือมากกว่า",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
+  "report.category.subtitle": "เลือกที่ตรงกันที่สุด",
+  "report.category.title": "บอกเราว่าเกิดอะไรขึ้นกับ {type} นี้",
   "report.category.title_account": "โปรไฟล์",
   "report.category.title_status": "โพสต์",
   "report.close": "เสร็จสิ้น",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.comment.title": "มีสิ่งอื่นใดที่คุณคิดว่าเราควรทราบหรือไม่?",
   "report.forward": "ส่งต่อไปยัง {target}",
   "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?",
   "report.mute": "ซ่อน",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
+  "report.mute_explanation": "คุณจะไม่เห็นโพสต์ของเขา เขายังสามารถติดตามคุณและเห็นโพสต์ของคุณและจะไม่ทราบว่ามีการซ่อนเขา",
   "report.next": "ถัดไป",
   "report.placeholder": "ความคิดเห็นเพิ่มเติม",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "ฉันไม่ชอบโพสต์",
+  "report.reasons.dislike_description": "โพสต์ไม่ใช่บางอย่างที่คุณต้องการเห็น",
+  "report.reasons.other": "โพสต์เป็นอย่างอื่น",
+  "report.reasons.other_description": "ปัญหาไม่เข้าหมวดหมู่อื่น ๆ",
+  "report.reasons.spam": "โพสต์เป็นสแปม",
+  "report.reasons.spam_description": "ลิงก์ที่เป็นอันตราย, การมีส่วนร่วมปลอม หรือการตอบกลับซ้ำ ๆ",
+  "report.reasons.violation": "โพสต์ละเมิดกฎของเซิร์ฟเวอร์",
+  "report.reasons.violation_description": "คุณทราบว่าโพสต์แหกกฎเฉพาะ",
+  "report.rules.subtitle": "เลือกทั้งหมดที่นำไปใช้",
+  "report.rules.title": "กำลังละเมิดกฎใด?",
+  "report.statuses.subtitle": "เลือกทั้งหมดที่นำไปใช้",
+  "report.statuses.title": "มีโพสต์ใด ๆ ที่สนับสนุนรายงานนี้หรือไม่?",
   "report.submit": "ส่ง",
   "report.target": "กำลังรายงาน {target}",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
+  "report.thanks.take_action": "นี่คือตัวเลือกของคุณสำหรับการควบคุมสิ่งที่คุณเห็นใน Mastodon:",
+  "report.thanks.take_action_actionable": "ขณะที่เราตรวจทานสิ่งนี้ คุณสามารถดำเนินการกับ @{name}:",
+  "report.thanks.title": "ไม่ต้องการเห็นสิ่งนี้?",
   "report.thanks.title_actionable": "ขอบคุณสำหรับการรายงาน เราจะตรวจสอบสิ่งนี้",
   "report.unfollow": "เลิกติดตาม @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.unfollow_explanation": "คุณกำลังติดตามบัญชีนี้ เพื่อไม่ให้เห็นโพสต์ของเขาในฟีดหน้าแรกของคุณอีกต่อไป เลิกติดตามเขา",
   "search.placeholder": "ค้นหา",
   "search_popout.search_format": "รูปแบบการค้นหาขั้นสูง",
   "search_popout.tips.full_text": "ข้อความแบบง่ายส่งคืนโพสต์ที่คุณได้เขียน ชื่นชอบ ดัน หรือได้รับการกล่าวถึง ตลอดจนชื่อผู้ใช้, ชื่อที่แสดง และแฮชแท็กที่ตรงกัน",
@@ -434,7 +436,7 @@
   "search_results.accounts": "ผู้คน",
   "search_results.all": "ทั้งหมด",
   "search_results.hashtags": "แฮชแท็ก",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "ไม่พบสิ่งใดสำหรับคำค้นหาเหล่านี้",
   "search_results.statuses": "โพสต์",
   "search_results.statuses_fts_disabled": "ไม่มีการเปิดใช้งานการค้นหาโพสต์โดยเนื้อหาของโพสต์ในเซิร์ฟเวอร์ Mastodon นี้",
   "search_results.total": "{count, number} {count, plural, other {ผลลัพธ์}}",
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index 0d7c92f05..96d6f83c3 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -18,12 +18,12 @@
   "account.followers": "Takipçi",
   "account.followers.empty": "Henüz kimse bu kullanıcıyı takip etmiyor.",
   "account.followers_counter": "{count, plural, one {{counter} Takipçi} other {{counter} Takipçi}}",
+  "account.following": "Takip Ediliyor",
   "account.following_counter": "{count, plural, one {{counter} Takip Edilen} other {{counter} Takip Edilen}}",
   "account.follows.empty": "Bu kullanıcı henüz kimseyi takip etmiyor.",
   "account.follows_you": "Seni takip ediyor",
   "account.hide_reblogs": "@{name} kişisinin boostlarını gizle",
   "account.joined": "{date} tarihinde katıldı",
-  "account.last_status": "Son etkinlik",
   "account.link_verified_on": "Bu bağlantının sahipliği {date} tarihinde kontrol edildi",
   "account.locked_info": "Bu hesabın gizlilik durumu kilitli olarak ayarlanmış. Sahibi, onu kimin takip edebileceğini elle inceliyor.",
   "account.media": "Medya",
@@ -32,7 +32,6 @@
   "account.mute": "@{name} adlı kişiyi sessize al",
   "account.mute_notifications": "@{name} adlı kişinin bildirimlerini kapat",
   "account.muted": "Susturuldu",
-  "account.never_active": "Asla",
   "account.posts": "Gönderiler",
   "account.posts_with_replies": "Gönderiler ve yanıtlar",
   "account.report": "@{name} adlı kişiyi bildir",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Gönderi} other {{counter} Gönderi}}",
   "account.unblock": "@{name} adlı kişinin engelini kaldır",
   "account.unblock_domain": "{domain} alan adının engelini kaldır",
+  "account.unblock_short": "Engeli kaldır",
   "account.unendorse": "Profilde gösterme",
   "account.unfollow": "Takibi bırak",
   "account.unmute": "@{name} adlı kişinin sesini aç",
   "account.unmute_notifications": "@{name} adlı kişinin bildirimlerini aç",
+  "account.unmute_short": "Susturmayı kaldır",
   "account_note.placeholder": "Not eklemek için tıklayın",
   "admin.dashboard.daily_retention": "Kayıttan sonra günlük kullanıcı saklama oranı",
   "admin.dashboard.monthly_retention": "Kayıttan sonra aylık kullanıcı saklama oranı",
@@ -121,7 +122,7 @@
   "confirmations.delete_list.confirm": "Sil",
   "confirmations.delete_list.message": "Bu listeyi kalıcı olarak silmek istediğinden emin misin?",
   "confirmations.discard_edit_media.confirm": "Vazgeç",
-  "confirmations.discard_edit_media.message": "Ortam açıklaması veya ön izlemede kaydedilmemiş değişiklikleriniz var, yine de vazgeçmek istiyor musunuz?",
+  "confirmations.discard_edit_media.message": "Medya açıklaması veya ön izlemede kaydedilmemiş değişiklikleriniz var, yine de vazgeçmek istiyor musunuz?",
   "confirmations.domain_block.confirm": "Alanın tamamını engelle",
   "confirmations.domain_block.message": "{domain} alanının tamamını engellemek istediğinden gerçekten emin misin? Genellikle hedeflenen birkaç engelleme veya sessize alma yeterlidir ve tercih edilir. Bu alan adından gelen içeriği herhangi bir genel zaman çizelgesinde veya bildirimlerinde görmezsin. Bu alan adındaki takipçilerin kaldırılır.",
   "confirmations.logout.confirm": "Oturumu kapat",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Keşfet",
   "navigation_bar.domain_blocks": "Engellenen alan adları",
   "navigation_bar.edit_profile": "Profili düzenle",
+  "navigation_bar.explore": "Keşfet",
   "navigation_bar.favourites": "Favoriler",
   "navigation_bar.filters": "Sessize alınmış kelimeler",
   "navigation_bar.follow_requests": "Takip istekleri",
diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json
index ebdbdbd6e..06936f110 100644
--- a/app/javascript/mastodon/locales/tt.json
+++ b/app/javascript/mastodon/locales/tt.json
@@ -18,12 +18,12 @@
   "account.followers": "Followers",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Сезгә язылган",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Медиа",
@@ -32,7 +32,6 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Беркайчан да",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Unblock @{name}",
   "account.unblock_domain": "Unblock domain {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Язылынмау",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Профильны үзгәртү",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
@@ -394,7 +396,7 @@
   "report.categories.violation": "Content violates one or more server rules",
   "report.category.subtitle": "Choose the best match",
   "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
+  "report.category.title_account": "профиль",
   "report.category.title_status": "post",
   "report.close": "Done",
   "report.comment.title": "Is there anything else you think we should know?",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
@@ -477,9 +479,9 @@
   "status.report": "Report @{name}",
   "status.sensitive_warning": "Sensitive content",
   "status.share": "Уртаклашу",
-  "status.show_less": "Show less",
+  "status.show_less": "Әзрәк күрсәтү",
   "status.show_less_all": "Show less for all",
-  "status.show_more": "Show more",
+  "status.show_more": "Күбрәк күрсәтү",
   "status.show_more_all": "Show more for all",
   "status.show_thread": "Show thread",
   "status.uncached_media_warning": "Not available",
diff --git a/app/javascript/mastodon/locales/ug.json b/app/javascript/mastodon/locales/ug.json
index a7e5313a3..088b5ff36 100644
--- a/app/javascript/mastodon/locales/ug.json
+++ b/app/javascript/mastodon/locales/ug.json
@@ -18,12 +18,12 @@
   "account.followers": "Followers",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "Follows you",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "Media",
@@ -32,7 +32,6 @@
   "account.mute": "Mute @{name}",
   "account.mute_notifications": "Mute notifications from @{name}",
   "account.muted": "Muted",
-  "account.never_active": "Never",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Unblock @{name}",
   "account.unblock_domain": "Unblock domain {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "Unfollow",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "Edit profile",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "Follow requests",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index e27eb5c21..06bb94307 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -18,12 +18,12 @@
   "account.followers": "Підписники",
   "account.followers.empty": "Ніхто ще не підписався на цього користувача.",
   "account.followers_counter": "{count, plural, one {{counter} Підписник} few {{counter} Підписники} many {{counter} Підписників} other {{counter} Підписники}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Підписка} few {{counter} Підписки} many {{counter} Підписок} other {{counter} Підписки}}",
   "account.follows.empty": "Цей користувач ще ні на кого не підписався.",
   "account.follows_you": "Підписаний(-а) на вас",
   "account.hide_reblogs": "Сховати передмухи від @{name}",
   "account.joined": "Долучення {date}",
-  "account.last_status": "Крайня активність",
   "account.link_verified_on": "Права власності на це посилання були перевірені {date}",
   "account.locked_info": "Статус конфіденційності цього облікового запису встановлено у заблокований. Власник вручну переглядає, хто може за ним стежити.",
   "account.media": "Медіа",
@@ -32,7 +32,6 @@
   "account.mute": "Заглушити @{name}",
   "account.mute_notifications": "Не показувати сповіщення від @{name}",
   "account.muted": "Заглушений",
-  "account.never_active": "Ніколи",
   "account.posts": "Дмухи",
   "account.posts_with_replies": "Дмухи й відповіді",
   "account.report": "Поскаржитися на @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Пост} few {{counter} Пости} many {{counter} Постів} other {{counter} Пости}}",
   "account.unblock": "Розблокувати @{name}",
   "account.unblock_domain": "Розблокувати {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Не публікувати у профілі",
   "account.unfollow": "Відписатися",
   "account.unmute": "Зняти глушення з @{name}",
   "account.unmute_notifications": "Показувати сповіщення від @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Знайти",
   "navigation_bar.domain_blocks": "Приховані домени",
   "navigation_bar.edit_profile": "Редагувати профіль",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Вподобане",
   "navigation_bar.filters": "Приховані слова",
   "navigation_bar.follow_requests": "Запити на підписку",
@@ -406,10 +408,10 @@
   "report.placeholder": "Додаткові коментарі",
   "report.reasons.dislike": "Мені це не подобається",
   "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
+  "report.reasons.other": "Це щось інше",
   "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 repetetive replies",
+  "report.reasons.spam": "Це спам",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json
index 3e71bcc06..e5aad2355 100644
--- a/app/javascript/mastodon/locales/ur.json
+++ b/app/javascript/mastodon/locales/ur.json
@@ -18,12 +18,12 @@
   "account.followers": "پیروکار",
   "account.followers.empty": "\"ہنوز اس صارف کی کوئی پیروی نہیں کرتا\".",
   "account.followers_counter": "{count, plural,one {{counter} پیروکار} other {{counter} پیروکار}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} پیروی کر رہے ہیں} other {{counter} پیروی کر رہے ہیں}}",
   "account.follows.empty": "\"یہ صارف ہنوز کسی کی پیروی نہیں کرتا ہے\".",
   "account.follows_you": "آپ کا پیروکار ہے",
   "account.hide_reblogs": "@{name} سے فروغ چھپائیں",
   "account.joined": "{date} شامل ہوئے",
-  "account.last_status": "آخری فعال",
   "account.link_verified_on": "اس لنک کی ملکیت کی توثیق {date} پر کی گئی تھی",
   "account.locked_info": "اس اکاونٹ کا اخفائی ضابطہ مقفل ہے۔ صارف کی پیروی کون کر سکتا ہے اس کا جائزہ وہ خود لیتا ہے.",
   "account.media": "وسائل",
@@ -32,7 +32,6 @@
   "account.mute": "خاموش @{name}",
   "account.mute_notifications": "@{name} سے اطلاعات خاموش کریں",
   "account.muted": "خاموش کردہ",
-  "account.never_active": "کبھی نہیں",
   "account.posts": "ٹوٹ",
   "account.posts_with_replies": "ٹوٹ اور جوابات",
   "account.report": "@{name} اطلاع کریں",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "@{name} کو بحال کریں",
   "account.unblock_domain": "{domain} کو نہ چھپائیں",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "مشخص پر نمایاں نہ کریں",
   "account.unfollow": "پیروی ترک کریں",
   "account.unmute": "@{name} کو با آواز کریں",
   "account.unmute_notifications": "@{name} سے اطلاعات کو با آواز کریں",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "دریافت کریں",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "پروفائل میں ترمیم کریں",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "پسندیدہ",
   "navigation_bar.filters": "خاموش کردہ الفاظ",
   "navigation_bar.follow_requests": "پیروی کی درخواستیں",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json
index ab777e31e..b6db3c14b 100644
--- a/app/javascript/mastodon/locales/vi.json
+++ b/app/javascript/mastodon/locales/vi.json
@@ -18,12 +18,12 @@
   "account.followers": "Người theo dõi",
   "account.followers.empty": "Chưa có người theo dõi nào.",
   "account.followers_counter": "{count, plural, one {{counter} Người theo dõi} other {{counter} Người theo dõi}}",
+  "account.following": "Đang theo dõi",
   "account.following_counter": "{count, plural, one {{counter} Theo dõi} other {{counter} Theo dõi}}",
   "account.follows.empty": "Người này chưa theo dõi ai.",
   "account.follows_you": "Đang theo dõi bạn",
-  "account.hide_reblogs": "Ẩn chia sẻ từ @{name}",
+  "account.hide_reblogs": "Ẩn tút do @{name} đăng lại",
   "account.joined": "Đã tham gia {date}",
-  "account.last_status": "Online",
   "account.link_verified_on": "Liên kết này đã được xác thực vào {date}",
   "account.locked_info": "Đây là tài khoản riêng tư. Họ sẽ tự mình xét duyệt các yêu cầu theo dõi.",
   "account.media": "Media",
@@ -32,20 +32,21 @@
   "account.mute": "Ẩn @{name}",
   "account.mute_notifications": "Tắt thông báo từ @{name}",
   "account.muted": "Đã ẩn",
-  "account.never_active": "Chưa có bất cứ hoạt động nào",
   "account.posts": "Tút",
   "account.posts_with_replies": "Trả lời",
   "account.report": "Báo cáo @{name}",
   "account.requested": "Đang chờ chấp thuận. Nhấp vào đây để hủy yêu cầu theo dõi",
   "account.share": "Chia sẻ trang @{name}",
-  "account.show_reblogs": "Hiện chia sẻ từ @{name}",
+  "account.show_reblogs": "Hiện tút do @{name} đăng lại",
   "account.statuses_counter": "{count, plural, one {{counter} Tút} other {{counter} Tút}}",
   "account.unblock": "Bỏ chặn @{name}",
   "account.unblock_domain": "Bỏ ẩn {domain}",
+  "account.unblock_short": "Bỏ chặn",
   "account.unendorse": "Ngưng tôn vinh người này",
   "account.unfollow": "Ngưng theo dõi",
   "account.unmute": "Bỏ ẩn @{name}",
   "account.unmute_notifications": "Mở lại thông báo từ @{name}",
+  "account.unmute_short": "Bỏ ẩn",
   "account_note.placeholder": "Nhấn để thêm",
   "admin.dashboard.daily_retention": "Tỉ lệ người dùng sau đăng ký ở lại theo ngày",
   "admin.dashboard.monthly_retention": "Tỉ lệ người dùng sau đăng ký ở lại theo tháng",
@@ -59,7 +60,7 @@
   "announcement.announcement": "Thông báo chung",
   "attachments_list.unprocessed": "(chưa xử lí)",
   "autosuggest_hashtag.per_week": "{count} mỗi tuần",
-  "boost_modal.combo": "Nhấn {combo} để chia sẻ nhanh hơn",
+  "boost_modal.combo": "Nhấn {combo} để bỏ qua bước này",
   "bundle_column_error.body": "Đã có lỗi xảy ra trong khi tải nội dung này.",
   "bundle_column_error.retry": "Thử lại",
   "bundle_column_error.title": "Không có kết nối internet",
@@ -130,7 +131,7 @@
   "confirmations.mute.explanation": "Điều này sẽ khiến tút của họ và những tút có nhắc đến họ bị ẩn, tuy nhiên họ vẫn có thể xem tút của bạn và theo dõi bạn.",
   "confirmations.mute.message": "Bạn thật sự muốn ẩn {name}?",
   "confirmations.redraft.confirm": "Xóa & viết lại",
-  "confirmations.redraft.message": "Bạn thật sự muốn xóa tút và viết lại? Điều này sẽ xóa mất những lượt thích và chia sẻ của tút, cũng như những trả lời sẽ không còn nội dung gốc.",
+  "confirmations.redraft.message": "Bạn thật sự muốn xóa tút và viết lại? Điều này sẽ xóa mất những lượt thích và đăng lại của tút, cũng như những trả lời sẽ không còn nội dung gốc.",
   "confirmations.reply.confirm": "Trả lời",
   "confirmations.reply.message": "Nội dung bạn đang soạn thảo sẽ bị ghi đè, bạn có tiếp tục?",
   "confirmations.unfollow.confirm": "Ngưng theo dõi",
@@ -167,7 +168,7 @@
   "empty_column.community": "Máy chủ của bạn chưa có tút nào công khai. Bạn hãy thử viết gì đó đi!",
   "empty_column.direct": "Bạn chưa có tin nhắn nào. Khi bạn gửi hoặc nhận tin nhắn, nó sẽ hiển thị ở đây.",
   "empty_column.domain_blocks": "Chưa ẩn bất kỳ máy chủ nào.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "Chưa có xu hướng nào. Kiểm tra lại sau!",
   "empty_column.favourited_statuses": "Bạn chưa thích tút nào. Hãy thử đi, nó sẽ xuất hiện ở đây.",
   "empty_column.favourites": "Chưa có ai thích tút này.",
   "empty_column.follow_recommendations": "Bạn chưa có gợi ý theo dõi nào. Hãy thử tìm kiếm những người thú vị hoặc khám phá những hashtag xu hướng.",
@@ -186,12 +187,12 @@
   "error.unexpected_crash.next_steps_addons": "Hãy tắt add-on và làm tươi trang. Nếu vẫn không được, bạn nên thử đăng nhập Mastodon trên trình duyệt khác hoặc app khác.",
   "errors.unexpected_crash.copy_stacktrace": "Sao chép stacktrace vào clipboard",
   "errors.unexpected_crash.report_issue": "Báo cáo lỗi",
-  "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
-  "explore.title": "Explore",
-  "explore.trending_links": "News",
-  "explore.trending_statuses": "Posts",
-  "explore.trending_tags": "Hashtags",
+  "explore.search_results": "Kết quả tìm kiếm",
+  "explore.suggested_follows": "Đề xuất cho bạn",
+  "explore.title": "Khám phá",
+  "explore.trending_links": "Tin tức",
+  "explore.trending_statuses": "Tút",
+  "explore.trending_tags": "Hashtag",
   "follow_recommendations.done": "Xong",
   "follow_recommendations.heading": "Theo dõi những người bạn muốn đọc tút của họ! Dưới đây là vài gợi ý.",
   "follow_recommendations.lead": "Tút từ những người bạn theo dõi sẽ hiện theo thứ tự thời gian trên bảng tin. Đừng ngại, bạn có thể dễ dàng ngưng theo dõi họ bất cứ lúc nào!",
@@ -217,7 +218,7 @@
   "hashtag.column_settings.tag_mode.none": "Không chọn",
   "hashtag.column_settings.tag_toggle": "Bao gồm thêm hashtag cho cột này",
   "home.column_settings.basic": "Tùy chỉnh",
-  "home.column_settings.show_reblogs": "Hiện những lượt chia sẻ",
+  "home.column_settings.show_reblogs": "Hiện những lượt đăng lại",
   "home.column_settings.show_replies": "Hiện những tút dạng trả lời",
   "home.hide_announcements": "Ẩn thông báo",
   "home.show_announcements": "Hiện thông báo",
@@ -226,7 +227,7 @@
   "intervals.full.minutes": "{number, plural, other {# phút}}",
   "keyboard_shortcuts.back": "trở lại",
   "keyboard_shortcuts.blocked": "mở danh sách người đã chặn",
-  "keyboard_shortcuts.boost": "chia sẻ",
+  "keyboard_shortcuts.boost": "Đăng lại",
   "keyboard_shortcuts.column": "mở các mục",
   "keyboard_shortcuts.compose": "mở khung soạn tút",
   "keyboard_shortcuts.description": "Mô tả",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Khám phá",
   "navigation_bar.domain_blocks": "Máy chủ đã ẩn",
   "navigation_bar.edit_profile": "Trang cá nhân",
+  "navigation_bar.explore": "Khám phá",
   "navigation_bar.favourites": "Thích",
   "navigation_bar.filters": "Bộ lọc từ ngữ",
   "navigation_bar.follow_requests": "Yêu cầu theo dõi",
@@ -307,19 +309,19 @@
   "navigation_bar.preferences": "Cài đặt",
   "navigation_bar.public_timeline": "Thế giới",
   "navigation_bar.security": "Bảo mật",
-  "notification.admin.sign_up": "{name} signed up",
+  "notification.admin.sign_up": "{name} vừa đăng ký",
   "notification.favourite": "{name} thích tút của bạn",
   "notification.follow": "{name} theo dõi bạn",
   "notification.follow_request": "{name} yêu cầu theo dõi bạn",
   "notification.mention": "{name} nhắc đến bạn",
   "notification.own_poll": "Cuộc bình chọn của bạn đã kết thúc",
   "notification.poll": "Cuộc bình chọn đã kết thúc",
-  "notification.reblog": "{name} chia sẻ tút của bạn",
+  "notification.reblog": "{name} đăng lại tút của bạn",
   "notification.status": "{name} vừa đăng",
   "notification.update": "{name} đã viết lại một tút",
   "notifications.clear": "Xóa hết thông báo",
   "notifications.clear_confirmation": "Bạn thật sự muốn xóa vĩnh viễn tất cả thông báo của mình?",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.sign_up": "Lượt đăng ký mới:",
   "notifications.column_settings.alert": "Thông báo trên máy tính",
   "notifications.column_settings.favourite": "Lượt thích:",
   "notifications.column_settings.filter_bar.advanced": "Toàn bộ",
@@ -330,7 +332,7 @@
   "notifications.column_settings.mention": "Lượt nhắc đến:",
   "notifications.column_settings.poll": "Kết quả bình chọn:",
   "notifications.column_settings.push": "Thông báo đẩy",
-  "notifications.column_settings.reblog": "Lượt chia sẻ mới:",
+  "notifications.column_settings.reblog": "Lượt đăng lại mới:",
   "notifications.column_settings.show": "Thông báo trên thanh menu",
   "notifications.column_settings.sound": "Kèm theo tiếng \"bíp\"",
   "notifications.column_settings.status": "Tút mới:",
@@ -338,7 +340,7 @@
   "notifications.column_settings.unread_notifications.highlight": "Nổi bật thông báo chưa đọc",
   "notifications.column_settings.update": "Lượt sửa:",
   "notifications.filter.all": "Toàn bộ",
-  "notifications.filter.boosts": "Chia sẻ",
+  "notifications.filter.boosts": "Đăng lại",
   "notifications.filter.favourites": "Thích",
   "notifications.filter.follows": "Đang theo dõi",
   "notifications.filter.mentions": "Lượt nhắc đến",
@@ -387,54 +389,54 @@
   "relative_time.seconds": "{number}s",
   "relative_time.today": "hôm nay",
   "reply_indicator.cancel": "Hủy bỏ",
-  "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.block": "Chặn",
+  "report.block_explanation": "Bạn sẽ không thấy tút của họ nữa. Họ cũng không thể theo dõi hoặc thấy tút của bạn. Họ sẽ biết là họ đã bị chặn.",
   "report.categories.other": "Khác",
   "report.categories.spam": "Spam",
   "report.categories.violation": "Vi phạm quy tắc máy chủ",
-  "report.category.subtitle": "Choose the best match",
-  "report.category.title": "Tell us what's going on with this {type}",
-  "report.category.title_account": "profile",
-  "report.category.title_status": "post",
-  "report.close": "Done",
-  "report.comment.title": "Is there anything else you think we should know?",
+  "report.category.subtitle": "Chọn mục gần khớp nhất",
+  "report.category.title": "Nói với họ chuyện gì xảy ra với {type}",
+  "report.category.title_account": "người dùng",
+  "report.category.title_status": "tút",
+  "report.close": "Xong",
+  "report.comment.title": "Bạn nghĩ chúng tôi nên biết thêm điều gì?",
   "report.forward": "Chuyển đến {target}",
   "report.forward_hint": "Người này thuộc máy chủ khác. Gửi một báo cáo ẩn danh tới máy chủ đó?",
-  "report.mute": "Mute",
-  "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
-  "report.next": "Next",
+  "report.mute": "Ẩn",
+  "report.mute_explanation": "Bạn sẽ không thấy tút của họ nữa. Họ cũng không thể theo dõi hoặc thấy tút của bạn. Họ sẽ không biết là họ đã bị bạn ẩn.",
+  "report.next": "Tiếp theo",
   "report.placeholder": "Bổ sung thêm",
-  "report.reasons.dislike": "I don't like it",
-  "report.reasons.dislike_description": "It is not something you want to see",
-  "report.reasons.other": "It's something else",
-  "report.reasons.other_description": "The issue does not fit into other categories",
-  "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.dislike": "Tôi không thích nó",
+  "report.reasons.dislike_description": "Đó không phải là thứ gì mà bạn muốn thấy",
+  "report.reasons.other": "Một lý do khác",
+  "report.reasons.other_description": "Vấn đề không nằm trong những mục trên",
+  "report.reasons.spam": "Đây là spam",
+  "report.reasons.spam_description": "Liên kết độc hại, tạo tương tác giả hoặc trả lời lặp đi lặp lại",
+  "report.reasons.violation": "Vi phạm quy tắc máy chủ",
+  "report.reasons.violation_description": "Bạn nhận thấy nó vi phạm quy tắc máy chủ",
+  "report.rules.subtitle": "Chọn tất cả những áp dụng",
+  "report.rules.title": "Vi phạm quy tắc nào?",
+  "report.statuses.subtitle": "Chọn tất cả những áp dụng",
+  "report.statuses.title": "Bạn muốn gửi tút nào kèm báo cáo này?",
   "report.submit": "Gửi đi",
   "report.target": "Báo cáo {target}",
-  "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
-  "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
-  "report.thanks.title": "Don't want to see this?",
-  "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
-  "report.unfollow": "Unfollow @{name}",
-  "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
+  "report.thanks.take_action": "Đây là một số cách để kiểm soát thứ bạn nhìn thấy trên Mastodon:",
+  "report.thanks.take_action_actionable": "Trong lúc chờ chúng tôi xem xét, bạn có thể áp dụng hành động với @{name}:",
+  "report.thanks.title": "Không muốn xem thứ này?",
+  "report.thanks.title_actionable": "Cảm ơn đã báo cáo, chúng tôi sẽ xem xét kỹ.",
+  "report.unfollow": "Ngưng theo dõi @{name}",
+  "report.unfollow_explanation": "Bạn đang theo dõi người này. Để không thấy tút của họ trong bảng tin nữa, hãy ngưng theo dõi.",
   "search.placeholder": "Tìm kiếm",
   "search_popout.search_format": "Gợi ý",
-  "search_popout.tips.full_text": "Nội dung trả về bao gồm những tút mà bạn đã viết, thích, chia sẻ hoặc những tút có nhắc đến bạn. Bạn cũng có thể tìm địa chỉ người dùng, tên hiển thị và hashtag.",
+  "search_popout.tips.full_text": "Nội dung trả về bao gồm những tút mà bạn đã viết, thích, đăng lại hoặc những tút có nhắc đến bạn. Bạn cũng có thể tìm địa chỉ người dùng, tên hiển thị và hashtag.",
   "search_popout.tips.hashtag": "hashtag",
   "search_popout.tips.status": "tút",
   "search_popout.tips.text": "Nội dung trả về là tên người dùng, tên hiển thị và hashtag",
   "search_popout.tips.user": "người dùng",
   "search_results.accounts": "Người dùng",
-  "search_results.all": "All",
+  "search_results.all": "Toàn bộ",
   "search_results.hashtags": "Hashtags",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "Không tìm thấy kết quả trùng khớp",
   "search_results.statuses": "Tút",
   "search_results.statuses_fts_disabled": "Máy chủ của bạn không bật tính năng tìm kiếm tút.",
   "search_results.total": "{count, number} {count, plural, one {kết quả} other {kết quả}}",
@@ -442,8 +444,8 @@
   "status.admin_status": "Mở tút này trong giao diện quản trị",
   "status.block": "Chặn @{name}",
   "status.bookmark": "Lưu",
-  "status.cancel_reblog_private": "Hủy chia sẻ",
-  "status.cannot_reblog": "Không thể chia sẻ tút này",
+  "status.cancel_reblog_private": "Hủy đăng lại",
+  "status.cannot_reblog": "Không thể đăng lại tút này",
   "status.copy": "Sao chép URL",
   "status.delete": "Xóa",
   "status.detailed_status": "Xem chi tiết thêm",
@@ -466,10 +468,10 @@
   "status.pin": "Ghim lên trang cá nhân",
   "status.pinned": "Tút đã ghim",
   "status.read_more": "Đọc tiếp",
-  "status.reblog": "Chia sẻ",
-  "status.reblog_private": "Chia sẻ (Riêng tư)",
-  "status.reblogged_by": "{name} chia sẻ",
-  "status.reblogs.empty": "Tút này chưa có ai chia sẻ. Nếu có, nó sẽ hiển thị ở đây.",
+  "status.reblog": "Đăng lại",
+  "status.reblog_private": "Đăng lại (Riêng tư)",
+  "status.reblogged_by": "{name} đăng lại",
+  "status.reblogs.empty": "Tút này chưa có ai đăng lại. Nếu có, nó sẽ hiển thị ở đây.",
   "status.redraft": "Xóa và viết lại",
   "status.remove_bookmark": "Bỏ lưu",
   "status.reply": "Trả lời",
diff --git a/app/javascript/mastodon/locales/whitelist_kmr.json b/app/javascript/mastodon/locales/whitelist_ckb.json
index 0d4f101c7..0d4f101c7 100644
--- a/app/javascript/mastodon/locales/whitelist_kmr.json
+++ b/app/javascript/mastodon/locales/whitelist_ckb.json
diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json
index df307d439..b321d1525 100644
--- a/app/javascript/mastodon/locales/zgh.json
+++ b/app/javascript/mastodon/locales/zgh.json
@@ -18,12 +18,12 @@
   "account.followers": "ⵉⵎⴹⴼⴰⵕⵏ",
   "account.followers.empty": "No one follows this user yet.",
   "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.following": "Following",
   "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
   "account.follows.empty": "This user doesn't follow anyone yet.",
   "account.follows_you": "ⴹⴼⵕⵏ ⴽⵯⵏ",
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.joined": "Joined {date}",
-  "account.last_status": "Last active",
   "account.link_verified_on": "Ownership of this link was checked on {date}",
   "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
   "account.media": "ⴰⵙⵏⵖⵎⵉⵙ",
@@ -32,7 +32,6 @@
   "account.mute": "ⵥⵥⵉⵥⵏ @{name}",
   "account.mute_notifications": "ⵥⵥⵉⵥⵏ ⵜⵉⵏⵖⵎⵉⵙⵉⵏ ⵙⴳ @{name}",
   "account.muted": "ⵉⵜⵜⵓⵥⵉⵥⵏ",
-  "account.never_active": "ⵓⵙⴰⵔ",
   "account.posts": "Toots",
   "account.posts_with_replies": "Toots and replies",
   "account.report": "Report @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
   "account.unblock": "Unblock @{name}",
   "account.unblock_domain": "Unblock domain {domain}",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "Don't feature on profile",
   "account.unfollow": "ⴽⴽⵙ ⴰⴹⴼⴼⵓⵕ",
   "account.unmute": "Unmute @{name}",
   "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "Discover",
   "navigation_bar.domain_blocks": "Hidden domains",
   "navigation_bar.edit_profile": "ⵙⵏⴼⵍ ⵉⴼⵔⵙ",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "Favourites",
   "navigation_bar.filters": "Muted words",
   "navigation_bar.follow_requests": "ⵜⵓⵜⵔⴰⵡⵉⵏ ⵏ ⵓⴹⴼⴰⵕ",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index 7f6743e62..9e306688e 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -18,12 +18,12 @@
   "account.followers": "关注者",
   "account.followers.empty": "目前无人关注此用户。",
   "account.followers_counter": "被 {counter} 人关注",
+  "account.following": "正在关注",
   "account.following_counter": "正在关注 {counter} 人",
   "account.follows.empty": "此用户目前尚未关注任何人。",
   "account.follows_you": "关注了你",
   "account.hide_reblogs": "隐藏来自 @{name} 的转嘟",
   "account.joined": "加入于 {date}",
-  "account.last_status": "最近活动",
   "account.link_verified_on": "此链接的所有权已在 {date} 检查",
   "account.locked_info": "此账户已锁嘟。账户的主人会手动审核关注者。",
   "account.media": "媒体",
@@ -32,7 +32,6 @@
   "account.mute": "隐藏 @{name}",
   "account.mute_notifications": "隐藏来自 @{name} 的通知",
   "account.muted": "已隐藏",
-  "account.never_active": "从未活跃",
   "account.posts": "嘟文",
   "account.posts_with_replies": "嘟文和回复",
   "account.report": "举报 @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{counter} 条嘟文",
   "account.unblock": "解除屏蔽 @{name}",
   "account.unblock_domain": "不再屏蔽 {domain} 实例",
+  "account.unblock_short": "移出黑名单",
   "account.unendorse": "不在个人资料中推荐此用户",
   "account.unfollow": "取消关注",
   "account.unmute": "不再隐藏 @{name}",
   "account.unmute_notifications": "不再隐藏来自 @{name} 的通知",
+  "account.unmute_short": "恢复消息提醒",
   "account_note.placeholder": "点击添加备注",
   "admin.dashboard.daily_retention": "注册后用户留存率(按日计算)",
   "admin.dashboard.monthly_retention": "注册后用户留存率(按月计算)",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "发现",
   "navigation_bar.domain_blocks": "已屏蔽的网站",
   "navigation_bar.edit_profile": "修改个人资料",
+  "navigation_bar.explore": "探索",
   "navigation_bar.favourites": "喜欢",
   "navigation_bar.filters": "隐藏关键词",
   "navigation_bar.follow_requests": "关注请求",
@@ -402,14 +404,14 @@
   "report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的举报?",
   "report.mute": "静音",
   "report.mute_explanation": "你将不会看到他们的嘟文。他们仍然可以关注你并看到你的嘟文,但他们不会知道他们被静音了。",
-  "report.next": "Next",
+  "report.next": "下一步",
   "report.placeholder": "备注",
   "report.reasons.dislike": "我不喜欢它",
   "report.reasons.dislike_description": "这不是你想看到的东西",
   "report.reasons.other": "其他原因",
   "report.reasons.other_description": "该问题不符合其他类别",
   "report.reasons.spam": "它是垃圾信息",
-  "report.reasons.spam_description": "恶意链接、虚假参与或重复性回复",
+  "report.reasons.spam_description": "恶意链接,虚假互动和重复回复",
   "report.reasons.violation": "它违反了服务器规则",
   "report.reasons.violation_description": "你清楚它违反了特定的规则",
   "report.rules.subtitle": "选择所有适用选项",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index 292b64042..b60560cd1 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -18,12 +18,12 @@
   "account.followers": "關注者",
   "account.followers.empty": "尚未有人關注這位使用者。",
   "account.followers_counter": "有 {count, plural,one {{counter} 個} other {{counter} 個}}關注者",
+  "account.following": "Following",
   "account.following_counter": "正在關注 {count, plural,one {{counter}}other {{counter} 人}}",
   "account.follows.empty": "這位使用者尚未關注任何人。",
   "account.follows_you": "關注你",
   "account.hide_reblogs": "隱藏 @{name} 的轉推",
   "account.joined": "於 {date} 加入",
-  "account.last_status": "上次活躍時間",
   "account.link_verified_on": "此連結的所有權已在 {date} 檢查過",
   "account.locked_info": "這位使用者將私隱設定為「不公開」,會手動審批誰能關注他/她。",
   "account.media": "媒體",
@@ -32,7 +32,6 @@
   "account.mute": "將 @{name} 靜音",
   "account.mute_notifications": "將來自 @{name} 的通知靜音",
   "account.muted": "靜音",
-  "account.never_active": "永不",
   "account.posts": "文章",
   "account.posts_with_replies": "包含回覆的文章",
   "account.report": "舉報 @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural,one {{counter} 篇}other {{counter} 篇}}文章",
   "account.unblock": "解除對 @{name} 的封鎖",
   "account.unblock_domain": "解除對域名 {domain} 的封鎖",
+  "account.unblock_short": "Unblock",
   "account.unendorse": "不再於個人資料頁面推薦對方",
   "account.unfollow": "取消關注",
   "account.unmute": "取消 @{name} 的靜音",
   "account.unmute_notifications": "取消來自 @{name} 通知的靜音",
+  "account.unmute_short": "Unmute",
   "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",
@@ -293,6 +294,7 @@
   "navigation_bar.discover": "探索",
   "navigation_bar.domain_blocks": "封鎖的服務站",
   "navigation_bar.edit_profile": "修改個人資料",
+  "navigation_bar.explore": "Explore",
   "navigation_bar.favourites": "最愛的內容",
   "navigation_bar.filters": "靜音詞彙",
   "navigation_bar.follow_requests": "關注請求",
@@ -409,7 +411,7 @@
   "report.reasons.other": "It's something else",
   "report.reasons.other_description": "The issue does not fit into other categories",
   "report.reasons.spam": "It's spam",
-  "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies",
+  "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
   "report.reasons.violation": "It violates server rules",
   "report.reasons.violation_description": "You are aware that it breaks specific rules",
   "report.rules.subtitle": "Select all that apply",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index 4da14a475..f9366fe17 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -18,12 +18,12 @@
   "account.followers": "跟隨者",
   "account.followers.empty": "尚未有人跟隨這位使用者。",
   "account.followers_counter": "被 {count, plural,one {{counter} 人}other {{counter} 人}} 跟隨",
+  "account.following": "跟隨中",
   "account.following_counter": "正在跟隨 {count, plural,one {{counter}}other {{counter} 人}}",
   "account.follows.empty": "這位使用者尚未跟隨任何人。",
   "account.follows_you": "跟隨了您",
   "account.hide_reblogs": "隱藏來自 @{name} 的轉嘟",
   "account.joined": "加入於 {date}",
-  "account.last_status": "上次活躍時間",
   "account.link_verified_on": "已在 {date} 檢查此連結的擁有者權限",
   "account.locked_info": "此帳戶的隱私狀態被設為鎖定。該擁有者會手動審核能跟隨此帳戶的人。",
   "account.media": "媒體",
@@ -32,7 +32,6 @@
   "account.mute": "靜音 @{name}",
   "account.mute_notifications": "靜音來自 @{name} 的通知",
   "account.muted": "已靜音",
-  "account.never_active": "永不",
   "account.posts": "嘟文",
   "account.posts_with_replies": "嘟文與回覆",
   "account.report": "檢舉 @{name}",
@@ -42,10 +41,12 @@
   "account.statuses_counter": "{count, plural,one {{counter} 則}other {{counter} 則}}嘟文",
   "account.unblock": "取消封鎖 @{name}",
   "account.unblock_domain": "取消封鎖域名 {domain}",
+  "account.unblock_short": "解除封鎖",
   "account.unendorse": "不再於個人資料頁面推薦對方",
   "account.unfollow": "取消跟隨",
   "account.unmute": "取消靜音 @{name}",
   "account.unmute_notifications": "重新接收來自 @{name} 的通知",
+  "account.unmute_short": "解除靜音",
   "account_note.placeholder": "按此添加備注",
   "admin.dashboard.daily_retention": "註冊後使用者存留率(日)",
   "admin.dashboard.monthly_retention": "註冊後使用者存留率(月)",
@@ -271,7 +272,7 @@
   "lists.new.create": "新增名單",
   "lists.new.title_placeholder": "新名單標題",
   "lists.replies_policy.followed": "任何跟隨的使用者",
-  "lists.replies_policy.list": "列表成員",
+  "lists.replies_policy.list": "名單成員",
   "lists.replies_policy.none": "沒有人",
   "lists.replies_policy.title": "顯示回覆:",
   "lists.search": "搜尋您跟隨的使用者",
@@ -293,7 +294,8 @@
   "navigation_bar.discover": "探索",
   "navigation_bar.domain_blocks": "隱藏的網域",
   "navigation_bar.edit_profile": "編輯個人資料",
-  "navigation_bar.favourites": "收藏",
+  "navigation_bar.explore": "探索",
+  "navigation_bar.favourites": "最愛",
   "navigation_bar.filters": "靜音詞彙",
   "navigation_bar.follow_requests": "跟隨請求",
   "navigation_bar.follows_and_followers": "跟隨中與跟隨者",
@@ -409,7 +411,7 @@
   "report.reasons.other": "其他原因",
   "report.reasons.other_description": "這個問題不屬於其他分類",
   "report.reasons.spam": "垃圾訊息",
-  "report.reasons.spam_description": "有害連結,假造的互動,或是重複性回覆",
+  "report.reasons.spam_description": "有害連結、假造的互動,或是重複性回覆",
   "report.reasons.violation": "違反伺服器規則",
   "report.reasons.violation_description": "您知道它違反特定規則",
   "report.rules.subtitle": "請選擇所有適用的選項",
diff --git a/app/javascript/styles/mastodon-light/diff.scss b/app/javascript/styles/mastodon-light/diff.scss
index 0603703c3..ed49333b9 100644
--- a/app/javascript/styles/mastodon-light/diff.scss
+++ b/app/javascript/styles/mastodon-light/diff.scss
@@ -143,10 +143,15 @@ html {
 .box-widget input[type="password"],
 .box-widget textarea,
 .statuses-grid .detailed-status,
+.report-dialog-modal__textarea,
 .audio-player {
   border: 1px solid lighten($ui-base-color, 8%);
 }
 
+.report-dialog-modal .dialog-option .poll__input {
+  color: $white;
+}
+
 .search__input {
   @media screen and (max-width: $no-gap-breakpoint) {
     border-top: 0;
@@ -299,7 +304,8 @@ html {
   }
 
   &__item {
-    a {
+    a,
+    button {
       background: $white;
       color: $darker-text-color;
     }
@@ -331,10 +337,18 @@ html {
   color: $white;
 }
 
-.dropdown-menu__separator {
+.dropdown-menu__separator,
+.dropdown-menu__item.edited-timestamp__history__item,
+.dropdown-menu__container__header,
+.compare-history-modal .report-modal__target,
+.report-dialog-modal .poll__option.dialog-option {
   border-bottom-color: lighten($ui-base-color, 4%);
 }
 
+.report-dialog-modal__container {
+  border-top-color: lighten($ui-base-color, 4%);
+}
+
 // Change the background colors of modals
 .actions-modal,
 .boost-modal,
@@ -342,9 +356,11 @@ html {
 .mute-modal,
 .block-modal,
 .report-modal,
+.report-dialog-modal,
 .embed-modal,
 .error-modal,
 .onboarding-modal,
+.compare-history-modal,
 .report-modal__comment .setting-text__wrapper,
 .report-modal__comment .setting-text,
 .announcements,
diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss
index 0873ac300..40cd899b3 100644
--- a/app/javascript/styles/mastodon/admin.scss
+++ b/app/javascript/styles/mastodon/admin.scss
@@ -367,6 +367,21 @@ body,
     }
   }
 
+  .positive-hint,
+  .negative-hint,
+  .neutral-hint {
+    a {
+      color: inherit;
+      text-decoration: underline;
+
+      &:focus,
+      &:hover,
+      &:active {
+        text-decoration: none;
+      }
+    }
+  }
+
   .positive-hint {
     color: $valid-value-color;
     font-weight: 500;
@@ -1612,3 +1627,38 @@ a.sparkline {
     }
   }
 }
+
+.availability-indicator {
+  display: flex;
+  align-items: center;
+  margin-bottom: 30px;
+  font-size: 14px;
+  line-height: 21px;
+
+  &__hint {
+    padding: 0 15px;
+  }
+
+  &__graphic {
+    display: flex;
+    margin: 0 -2px;
+
+    &__item {
+      display: block;
+      flex: 0 0 auto;
+      width: 4px;
+      height: 21px;
+      background: lighten($ui-base-color, 8%);
+      margin: 0 2px;
+      border-radius: 2px;
+
+      &.positive {
+        background: $valid-value-color;
+      }
+
+      &.negative {
+        background: $error-value-color;
+      }
+    }
+  }
+}
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index d1d679ac2..295b0ddfb 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -1127,7 +1127,7 @@
   .media-gallery,
   .audio-player,
   .video-player {
-    margin-top: 8px;
+    margin-top: 15px;
     max-width: 250px;
   }
 
@@ -5609,6 +5609,12 @@ a.status-card.compact:hover {
       margin: 20px 0;
     }
   }
+
+  .media-gallery,
+  .audio-player,
+  .video-player {
+    margin-top: 15px;
+  }
 }
 
 .loading-bar {
diff --git a/app/javascript/styles/mastodon/tables.scss b/app/javascript/styles/mastodon/tables.scss
index 1f7e71776..431b8a73a 100644
--- a/app/javascript/styles/mastodon/tables.scss
+++ b/app/javascript/styles/mastodon/tables.scss
@@ -65,6 +65,24 @@
     }
   }
 
+  &.horizontal-table {
+    border-collapse: collapse;
+    border-style: hidden;
+
+    & > tbody > tr > th,
+    & > tbody > tr > td {
+      padding: 11px 10px;
+      background: transparent;
+      border: 1px solid lighten($ui-base-color, 8%);
+      color: $secondary-text-color;
+    }
+
+    & > tbody > tr > th {
+      color: $darker-text-color;
+      font-weight: 600;
+    }
+  }
+
   &.batch-table {
     & > thead > tr > th {
       background: $ui-base-color;
diff --git a/app/lib/activitypub/activity.rb b/app/lib/activitypub/activity.rb
index 706960f92..f599e1b58 100644
--- a/app/lib/activitypub/activity.rb
+++ b/app/lib/activitypub/activity.rb
@@ -71,15 +71,7 @@ class ActivityPub::Activity
   end
 
   def object_uri
-    @object_uri ||= begin
-      str = value_or_id(@object)
-
-      if str&.start_with?('bear:')
-        Addressable::URI.parse(str).query_values['u']
-      else
-        str
-      end
-    end
+    @object_uri ||= uri_from_bearcap(value_or_id(@object))
   end
 
   def unsupported_object_type?
diff --git a/app/lib/activitypub/activity/update.rb b/app/lib/activitypub/activity/update.rb
index 36ad5f446..5b3238ece 100644
--- a/app/lib/activitypub/activity/update.rb
+++ b/app/lib/activitypub/activity/update.rb
@@ -8,6 +8,8 @@ class ActivityPub::Activity::Update < ActivityPub::Activity
       update_account
     elsif equals_or_includes_any?(@object['type'], %w(Note Question))
       update_status
+    elsif converted_object_type?
+      Status.find_by(uri: object_uri, account_id: @account.id)
     end
   end
 
@@ -20,7 +22,7 @@ class ActivityPub::Activity::Update < ActivityPub::Activity
   end
 
   def update_status
-    return reject_payload! if invalid_origin?(@object['id'])
+    return reject_payload! if invalid_origin?(object_uri)
 
     @status = Status.find_by(uri: object_uri, account_id: @account.id)
 
diff --git a/app/lib/admin/metrics/dimension.rb b/app/lib/admin/metrics/dimension.rb
index d8392ddfc..81b89d9b3 100644
--- a/app/lib/admin/metrics/dimension.rb
+++ b/app/lib/admin/metrics/dimension.rb
@@ -9,6 +9,8 @@ class Admin::Metrics::Dimension
     software_versions: Admin::Metrics::Dimension::SoftwareVersionsDimension,
     tag_servers: Admin::Metrics::Dimension::TagServersDimension,
     tag_languages: Admin::Metrics::Dimension::TagLanguagesDimension,
+    instance_accounts: Admin::Metrics::Dimension::InstanceAccountsDimension,
+    instance_languages: Admin::Metrics::Dimension::InstanceLanguagesDimension,
   }.freeze
 
   def self.retrieve(dimension_keys, start_at, end_at, limit, params)
diff --git a/app/lib/admin/metrics/dimension/instance_accounts_dimension.rb b/app/lib/admin/metrics/dimension/instance_accounts_dimension.rb
new file mode 100644
index 000000000..4eac8e611
--- /dev/null
+++ b/app/lib/admin/metrics/dimension/instance_accounts_dimension.rb
@@ -0,0 +1,35 @@
+# frozen_string_literal: true
+
+class Admin::Metrics::Dimension::InstanceAccountsDimension < Admin::Metrics::Dimension::BaseDimension
+  include LanguagesHelper
+
+  def self.with_params?
+    true
+  end
+
+  def key
+    'instance_accounts'
+  end
+
+  protected
+
+  def perform_query
+    sql = <<-SQL.squish
+      SELECT accounts.username, count(follows.*) AS value
+      FROM accounts
+      LEFT JOIN follows ON follows.target_account_id = accounts.id
+      WHERE accounts.domain = $1
+      GROUP BY accounts.id, follows.target_account_id
+      ORDER BY value DESC
+      LIMIT $2
+    SQL
+
+    rows = ActiveRecord::Base.connection.select_all(sql, nil, [[nil, params[:domain]], [nil, @limit]])
+
+    rows.map { |row| { key: row['username'], human_key: row['username'], value: row['value'].to_s } }
+  end
+
+  def params
+    @params.permit(:domain)
+  end
+end
diff --git a/app/lib/admin/metrics/dimension/instance_languages_dimension.rb b/app/lib/admin/metrics/dimension/instance_languages_dimension.rb
new file mode 100644
index 000000000..1ede1a56e
--- /dev/null
+++ b/app/lib/admin/metrics/dimension/instance_languages_dimension.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+
+class Admin::Metrics::Dimension::InstanceLanguagesDimension < Admin::Metrics::Dimension::BaseDimension
+  include LanguagesHelper
+
+  def self.with_params?
+    true
+  end
+
+  def key
+    'instance_languages'
+  end
+
+  protected
+
+  def perform_query
+    sql = <<-SQL.squish
+      SELECT COALESCE(statuses.language, 'und') AS language, count(*) AS value
+      FROM statuses
+      INNER JOIN accounts ON accounts.id = statuses.account_id
+      WHERE accounts.domain = $1
+        AND statuses.id BETWEEN $2 AND $3
+        AND statuses.reblog_of_id IS NULL
+      GROUP BY COALESCE(statuses.language, 'und')
+      ORDER BY count(*) DESC
+      LIMIT $4
+    SQL
+
+    rows = ActiveRecord::Base.connection.select_all(sql, nil, [[nil, params[:domain]], [nil, Mastodon::Snowflake.id_at(@start_at, with_random: false)], [nil, Mastodon::Snowflake.id_at(@end_at, with_random: false)], [nil, @limit]])
+
+    rows.map { |row| { key: row['language'], human_key: standard_locale_name(row['language']), value: row['value'].to_s } }
+  end
+
+  def params
+    @params.permit(:domain)
+  end
+end
diff --git a/app/lib/admin/metrics/measure.rb b/app/lib/admin/metrics/measure.rb
index a839498a1..0b510eb25 100644
--- a/app/lib/admin/metrics/measure.rb
+++ b/app/lib/admin/metrics/measure.rb
@@ -10,6 +10,12 @@ class Admin::Metrics::Measure
     tag_accounts: Admin::Metrics::Measure::TagAccountsMeasure,
     tag_uses: Admin::Metrics::Measure::TagUsesMeasure,
     tag_servers: Admin::Metrics::Measure::TagServersMeasure,
+    instance_accounts: Admin::Metrics::Measure::InstanceAccountsMeasure,
+    instance_media_attachments: Admin::Metrics::Measure::InstanceMediaAttachmentsMeasure,
+    instance_reports: Admin::Metrics::Measure::InstanceReportsMeasure,
+    instance_statuses: Admin::Metrics::Measure::InstanceStatusesMeasure,
+    instance_follows: Admin::Metrics::Measure::InstanceFollowsMeasure,
+    instance_followers: Admin::Metrics::Measure::InstanceFollowersMeasure,
   }.freeze
 
   def self.retrieve(measure_keys, start_at, end_at, params)
diff --git a/app/lib/admin/metrics/measure/base_measure.rb b/app/lib/admin/metrics/measure/base_measure.rb
index ed1df9c7d..e33a6c494 100644
--- a/app/lib/admin/metrics/measure/base_measure.rb
+++ b/app/lib/admin/metrics/measure/base_measure.rb
@@ -26,6 +26,14 @@ class Admin::Metrics::Measure::BaseMeasure
     raise NotImplementedError
   end
 
+  def unit
+    nil
+  end
+
+  def total_in_time_range?
+    true
+  end
+
   def total
     load[:total]
   end
diff --git a/app/lib/admin/metrics/measure/instance_accounts_measure.rb b/app/lib/admin/metrics/measure/instance_accounts_measure.rb
new file mode 100644
index 000000000..4c61a064a
--- /dev/null
+++ b/app/lib/admin/metrics/measure/instance_accounts_measure.rb
@@ -0,0 +1,58 @@
+# frozen_string_literal: true
+
+class Admin::Metrics::Measure::InstanceAccountsMeasure < Admin::Metrics::Measure::BaseMeasure
+  def self.with_params?
+    true
+  end
+
+  def key
+    'instance_accounts'
+  end
+
+  def total_in_time_range?
+    false
+  end
+
+  protected
+
+  def perform_total_query
+    Account.where(domain: params[:domain]).count
+  end
+
+  def perform_previous_total_query
+    nil
+  end
+
+  def perform_data_query
+    sql = <<-SQL.squish
+      SELECT axis.*, (
+        WITH new_accounts AS (
+          SELECT accounts.id
+          FROM accounts
+          WHERE date_trunc('day', accounts.created_at)::date = axis.period
+            AND accounts.domain = $3::text
+        )
+        SELECT count(*) FROM new_accounts
+      ) AS value
+      FROM (
+        SELECT generate_series(date_trunc('day', $1::timestamp)::date, date_trunc('day', $2::timestamp)::date, interval '1 day') AS period
+      ) AS axis
+    SQL
+
+    rows = ActiveRecord::Base.connection.select_all(sql, nil, [[nil, @start_at], [nil, @end_at], [nil, params[:domain]]])
+
+    rows.map { |row| { date: row['period'], value: row['value'].to_s } }
+  end
+
+  def time_period
+    (@start_at.to_date..@end_at.to_date)
+  end
+
+  def previous_time_period
+    ((@start_at.to_date - length_of_period)..(@end_at.to_date - length_of_period))
+  end
+
+  def params
+    @params.permit(:domain)
+  end
+end
diff --git a/app/lib/admin/metrics/measure/instance_followers_measure.rb b/app/lib/admin/metrics/measure/instance_followers_measure.rb
new file mode 100644
index 000000000..caa60013b
--- /dev/null
+++ b/app/lib/admin/metrics/measure/instance_followers_measure.rb
@@ -0,0 +1,59 @@
+# frozen_string_literal: true
+
+class Admin::Metrics::Measure::InstanceFollowersMeasure < Admin::Metrics::Measure::BaseMeasure
+  def self.with_params?
+    true
+  end
+
+  def key
+    'instance_followers'
+  end
+
+  def total_in_time_range?
+    false
+  end
+
+  protected
+
+  def perform_total_query
+    Follow.joins(:account).merge(Account.where(domain: params[:domain])).count
+  end
+
+  def perform_previous_total_query
+    nil
+  end
+
+  def perform_data_query
+    sql = <<-SQL.squish
+      SELECT axis.*, (
+        WITH new_followers AS (
+          SELECT follows.id
+          FROM follows
+          INNER JOIN accounts ON follows.account_id = accounts.id
+          WHERE date_trunc('day', follows.created_at)::date = axis.period
+            AND accounts.domain = $3::text
+        )
+        SELECT count(*) FROM new_followers
+      ) AS value
+      FROM (
+        SELECT generate_series(date_trunc('day', $1::timestamp)::date, date_trunc('day', $2::timestamp)::date, interval '1 day') AS period
+      ) AS axis
+    SQL
+
+    rows = ActiveRecord::Base.connection.select_all(sql, nil, [[nil, @start_at], [nil, @end_at], [nil, params[:domain]]])
+
+    rows.map { |row| { date: row['period'], value: row['value'].to_s } }
+  end
+
+  def time_period
+    (@start_at.to_date..@end_at.to_date)
+  end
+
+  def previous_time_period
+    ((@start_at.to_date - length_of_period)..(@end_at.to_date - length_of_period))
+  end
+
+  def params
+    @params.permit(:domain)
+  end
+end
diff --git a/app/lib/admin/metrics/measure/instance_follows_measure.rb b/app/lib/admin/metrics/measure/instance_follows_measure.rb
new file mode 100644
index 000000000..b026c7e6d
--- /dev/null
+++ b/app/lib/admin/metrics/measure/instance_follows_measure.rb
@@ -0,0 +1,59 @@
+# frozen_string_literal: true
+
+class Admin::Metrics::Measure::InstanceFollowsMeasure < Admin::Metrics::Measure::BaseMeasure
+  def self.with_params?
+    true
+  end
+
+  def key
+    'instance_follows'
+  end
+
+  def total_in_time_range?
+    false
+  end
+
+  protected
+
+  def perform_total_query
+    Follow.joins(:target_account).merge(Account.where(domain: params[:domain])).count
+  end
+
+  def perform_previous_total_query
+    nil
+  end
+
+  def perform_data_query
+    sql = <<-SQL.squish
+      SELECT axis.*, (
+        WITH new_follows AS (
+          SELECT follows.id
+          FROM follows
+          INNER JOIN accounts ON follows.target_account_id = accounts.id
+          WHERE date_trunc('day', follows.created_at)::date = axis.period
+            AND accounts.domain = $3::text
+        )
+        SELECT count(*) FROM new_follows
+      ) AS value
+      FROM (
+        SELECT generate_series(date_trunc('day', $1::timestamp)::date, date_trunc('day', $2::timestamp)::date, interval '1 day') AS period
+      ) AS axis
+    SQL
+
+    rows = ActiveRecord::Base.connection.select_all(sql, nil, [[nil, @start_at], [nil, @end_at], [nil, params[:domain]]])
+
+    rows.map { |row| { date: row['period'], value: row['value'].to_s } }
+  end
+
+  def time_period
+    (@start_at.to_date..@end_at.to_date)
+  end
+
+  def previous_time_period
+    ((@start_at.to_date - length_of_period)..(@end_at.to_date - length_of_period))
+  end
+
+  def params
+    @params.permit(:domain)
+  end
+end
diff --git a/app/lib/admin/metrics/measure/instance_media_attachments_measure.rb b/app/lib/admin/metrics/measure/instance_media_attachments_measure.rb
new file mode 100644
index 000000000..2e2154c92
--- /dev/null
+++ b/app/lib/admin/metrics/measure/instance_media_attachments_measure.rb
@@ -0,0 +1,69 @@
+# frozen_string_literal: true
+
+class Admin::Metrics::Measure::InstanceMediaAttachmentsMeasure < Admin::Metrics::Measure::BaseMeasure
+  include ActionView::Helpers::NumberHelper
+
+  def self.with_params?
+    true
+  end
+
+  def key
+    'instance_media_attachments'
+  end
+
+  def unit
+    'bytes'
+  end
+
+  def value_to_human_value(value)
+    number_to_human_size(value)
+  end
+
+  def total_in_time_range?
+    false
+  end
+
+  protected
+
+  def perform_total_query
+    MediaAttachment.joins(:account).merge(Account.where(domain: params[:domain])).sum('COALESCE(file_file_size, 0) + COALESCE(thumbnail_file_size, 0)')
+  end
+
+  def perform_previous_total_query
+    nil
+  end
+
+  def perform_data_query
+    sql = <<-SQL.squish
+      SELECT axis.*, (
+        WITH new_media_attachments AS (
+          SELECT COALESCE(media_attachments.file_file_size, 0) + COALESCE(media_attachments.thumbnail_file_size, 0) AS size
+          FROM media_attachments
+          INNER JOIN accounts ON accounts.id = media_attachments.account_id
+          WHERE date_trunc('day', media_attachments.created_at)::date = axis.period
+            AND accounts.domain = $3::text
+        )
+        SELECT SUM(size) FROM new_media_attachments
+      ) AS value
+      FROM (
+        SELECT generate_series(date_trunc('day', $1::timestamp)::date, date_trunc('day', $2::timestamp)::date, interval '1 day') AS period
+      ) AS axis
+    SQL
+
+    rows = ActiveRecord::Base.connection.select_all(sql, nil, [[nil, @start_at], [nil, @end_at], [nil, params[:domain]]])
+
+    rows.map { |row| { date: row['period'], value: row['value'].to_s } }
+  end
+
+  def time_period
+    (@start_at.to_date..@end_at.to_date)
+  end
+
+  def previous_time_period
+    ((@start_at.to_date - length_of_period)..(@end_at.to_date - length_of_period))
+  end
+
+  def params
+    @params.permit(:domain)
+  end
+end
diff --git a/app/lib/admin/metrics/measure/instance_reports_measure.rb b/app/lib/admin/metrics/measure/instance_reports_measure.rb
new file mode 100644
index 000000000..6b3f35067
--- /dev/null
+++ b/app/lib/admin/metrics/measure/instance_reports_measure.rb
@@ -0,0 +1,59 @@
+# frozen_string_literal: true
+
+class Admin::Metrics::Measure::InstanceReportsMeasure < Admin::Metrics::Measure::BaseMeasure
+  def self.with_params?
+    true
+  end
+
+  def key
+    'instance_reports'
+  end
+
+  def total_in_time_range?
+    false
+  end
+
+  protected
+
+  def perform_total_query
+    Report.where(target_account: Account.where(domain: params[:domain])).count
+  end
+
+  def perform_previous_total_query
+    nil
+  end
+
+  def perform_data_query
+    sql = <<-SQL.squish
+      SELECT axis.*, (
+        WITH new_reports AS (
+          SELECT reports.id
+          FROM reports
+          INNER JOIN accounts ON accounts.id = reports.target_account_id
+          WHERE date_trunc('day', reports.created_at)::date = axis.period
+            AND accounts.domain = $3::text
+        )
+        SELECT count(*) FROM new_reports
+      ) AS value
+      FROM (
+        SELECT generate_series(date_trunc('day', $1::timestamp)::date, date_trunc('day', $2::timestamp)::date, interval '1 day') AS period
+      ) AS axis
+    SQL
+
+    rows = ActiveRecord::Base.connection.select_all(sql, nil, [[nil, @start_at], [nil, @end_at], [nil, params[:domain]]])
+
+    rows.map { |row| { date: row['period'], value: row['value'].to_s } }
+  end
+
+  def time_period
+    (@start_at.to_date..@end_at.to_date)
+  end
+
+  def previous_time_period
+    ((@start_at.to_date - length_of_period)..(@end_at.to_date - length_of_period))
+  end
+
+  def params
+    @params.permit(:domain)
+  end
+end
diff --git a/app/lib/admin/metrics/measure/instance_statuses_measure.rb b/app/lib/admin/metrics/measure/instance_statuses_measure.rb
new file mode 100644
index 000000000..86b10da6c
--- /dev/null
+++ b/app/lib/admin/metrics/measure/instance_statuses_measure.rb
@@ -0,0 +1,60 @@
+# frozen_string_literal: true
+
+class Admin::Metrics::Measure::InstanceStatusesMeasure < Admin::Metrics::Measure::BaseMeasure
+  def self.with_params?
+    true
+  end
+
+  def key
+    'instance_statuses'
+  end
+
+  def total_in_time_range?
+    false
+  end
+
+  protected
+
+  def perform_total_query
+    Status.joins(:account).merge(Account.where(domain: params[:domain])).count
+  end
+
+  def perform_previous_total_query
+    nil
+  end
+
+  def perform_data_query
+    sql = <<-SQL.squish
+      SELECT axis.*, (
+        WITH new_statuses AS (
+          SELECT statuses.id
+          FROM statuses
+          INNER JOIN accounts ON accounts.id = statuses.account_id
+          WHERE statuses.id BETWEEN $3 AND $4
+            AND accounts.domain = $5::text
+            AND date_trunc('day', statuses.created_at)::date = axis.period
+        )
+        SELECT count(*) FROM new_statuses
+      ) AS value
+      FROM (
+        SELECT generate_series(date_trunc('day', $1::timestamp)::date, date_trunc('day', $2::timestamp)::date, interval '1 day') AS period
+      ) AS axis
+    SQL
+
+    rows = ActiveRecord::Base.connection.select_all(sql, nil, [[nil, @start_at], [nil, @end_at], [nil, Mastodon::Snowflake.id_at(@start_at, with_random: false)], [nil, Mastodon::Snowflake.id_at(@end_at, with_random: false)], [nil, params[:domain]]])
+
+    rows.map { |row| { date: row['period'], value: row['value'].to_s } }
+  end
+
+  def time_period
+    (@start_at.to_date..@end_at.to_date)
+  end
+
+  def previous_time_period
+    ((@start_at.to_date - length_of_period)..(@end_at.to_date - length_of_period))
+  end
+
+  def params
+    @params.permit(:domain)
+  end
+end
diff --git a/app/lib/delivery_failure_tracker.rb b/app/lib/delivery_failure_tracker.rb
index 8907ade4c..7b800fc0b 100644
--- a/app/lib/delivery_failure_tracker.rb
+++ b/app/lib/delivery_failure_tracker.rb
@@ -30,7 +30,7 @@ class DeliveryFailureTracker
   end
 
   def exhausted_deliveries_days
-    Redis.current.smembers(exhausted_deliveries_key).sort.map { |date| Date.new(date.slice(0, 4).to_i, date.slice(4, 2).to_i, date.slice(6, 2).to_i) }
+    @exhausted_deliveries_days ||= Redis.current.smembers(exhausted_deliveries_key).sort.map { |date| Date.new(date.slice(0, 4).to_i, date.slice(4, 2).to_i, date.slice(6, 2).to_i) }
   end
 
   alias reset! track_success!
diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb
index 2c16689bd..efc9da34b 100644
--- a/app/lib/feed_manager.rb
+++ b/app/lib/feed_manager.rb
@@ -506,7 +506,7 @@ class FeedManager
       Formatter.instance.plaintext(status),
       status.spoiler_text,
       status.preloadable_poll ? status.preloadable_poll.options.join("\n\n") : nil,
-      status.media_attachments.map(&:description).join("\n\n"),
+      status.ordered_media_attachments.map(&:description).join("\n\n"),
     ].compact.join("\n\n")
 
     combined_regex.match?(combined_text)
diff --git a/app/lib/rss/serializer.rb b/app/lib/rss/serializer.rb
index fd56c568c..7e3ed1f17 100644
--- a/app/lib/rss/serializer.rb
+++ b/app/lib/rss/serializer.rb
@@ -11,7 +11,7 @@ class RSS::Serializer
             .pub_date(status.created_at)
             .description(status.spoiler_text.presence || Formatter.instance.format(status, inline_poll_options: true).to_str)
 
-        status.media_attachments.each do |media|
+        status.ordered_media_attachments.each do |media|
           item.enclosure(full_asset_url(media.file.url(:original, false)), media.file.content_type, media.file.size)
         end
       end
diff --git a/app/models/admin/account_action.rb b/app/models/admin/account_action.rb
index d3be4be3f..850ea6d82 100644
--- a/app/models/admin/account_action.rb
+++ b/app/models/admin/account_action.rb
@@ -22,6 +22,16 @@ class Admin::AccountAction
 
   attr_reader :warning, :send_email_notification, :include_statuses
 
+  alias send_email_notification? send_email_notification
+  alias include_statuses? include_statuses
+
+  def initialize(attributes = {})
+    @send_email_notification = true
+    @include_statuses        = true
+
+    super
+  end
+
   def send_email_notification=(value)
     @send_email_notification = ActiveModel::Type::Boolean.new.cast(value)
   end
@@ -141,11 +151,11 @@ class Admin::AccountAction
   end
 
   def warnable?
-    send_email_notification && target_account.local?
+    send_email_notification? && target_account.local?
   end
 
   def status_ids
-    report.status_ids if with_report? && include_statuses
+    report.status_ids if with_report? && include_statuses?
   end
 
   def reports
diff --git a/app/models/admin/status_batch_action.rb b/app/models/admin/status_batch_action.rb
index 4d91b9805..631af183c 100644
--- a/app/models/admin/status_batch_action.rb
+++ b/app/models/admin/status_batch_action.rb
@@ -68,6 +68,8 @@ class Admin::StatusBatchAction
   end
 
   def handle_mark_as_sensitive!
+    representative_account = Account.representative
+
     # Can't use a transaction here because UpdateStatusService queues
     # Sidekiq jobs
     statuses.includes(:media_attachments, :preview_cards).find_each do |status|
@@ -76,7 +78,7 @@ class Admin::StatusBatchAction
       authorize(status, :update?)
 
       if target_account.local?
-        UpdateStatusService.new.call(status, current_account.id, sensitive: true)
+        UpdateStatusService.new.call(status, representative_account.id, sensitive: true)
       else
         status.update(sensitive: true)
       end
diff --git a/app/models/concerns/account_merging.rb b/app/models/concerns/account_merging.rb
index 119773e6b..8161761fb 100644
--- a/app/models/concerns/account_merging.rb
+++ b/app/models/concerns/account_merging.rb
@@ -15,7 +15,8 @@ module AccountMerging
       Status, StatusPin, MediaAttachment, Poll, Report, Tombstone, Favourite,
       Follow, FollowRequest, Block, Mute,
       AccountModerationNote, AccountPin, AccountStat, ListAccount,
-      PollVote, Mention, AccountDeletionRequest, AccountNote, FollowRecommendationSuppression
+      PollVote, Mention, AccountDeletionRequest, AccountNote, FollowRecommendationSuppression,
+      Appeal
     ]
 
     owned_classes.each do |klass|
@@ -47,6 +48,10 @@ module AccountMerging
       record.update_attribute(:reference_account_id, id)
     end
 
+    Appeal.where(account_warning_id: other_account.id).find_each do |record|
+      record.update_attribute(:account_warning_id, id)
+    end
+
     # Some follow relationships have moved, so the cache is stale
     Rails.cache.delete_matched("followers_hash:#{id}:*")
     Rails.cache.delete_matched("relationships:#{id}:*")
diff --git a/app/models/concerns/omniauthable.rb b/app/models/concerns/omniauthable.rb
index 791a94911..a90d5d888 100644
--- a/app/models/concerns/omniauthable.rb
+++ b/app/models/concerns/omniauthable.rb
@@ -13,7 +13,7 @@ module Omniauthable
       Devise.omniauth_configs.keys
     end
 
-    def email_verified?
+    def email_present?
       email && email !~ TEMP_EMAIL_REGEX
     end
   end
@@ -40,16 +40,14 @@ module Omniauthable
     end
 
     def create_for_oauth(auth)
-      # Check if the user exists with provided email if the provider gives us a
-      # verified email.  If no verified email was provided or the user already
-      # exists, we assign a temporary email and ask the user to verify it on
+      # Check if the user exists with provided email. If no email was provided,
+      # we assign a temporary email and ask the user to verify it on
       # the next step via Auth::SetupController.show
 
       strategy          = Devise.omniauth_configs[auth.provider.to_sym].strategy
       assume_verified   = strategy&.security&.assume_email_is_verified
-      email_is_verified = auth.info.verified || auth.info.verified_email || assume_verified
+      email_is_verified = auth.info.verified || auth.info.verified_email || auth.info.email_verified || assume_verified
       email             = auth.info.verified_email || auth.info.email
-      email             = nil unless email_is_verified
 
       user = User.find_by(email: email) if email_is_verified
 
@@ -58,7 +56,7 @@ module Omniauthable
       user = User.new(user_params_from_auth(email, auth))
 
       user.account.avatar_remote_url = auth.info.image if /\A#{URI::DEFAULT_PARSER.make_regexp(%w(http https))}\z/.match?(auth.info.image)
-      user.skip_confirmation!
+      user.skip_confirmation! if email_is_verified
       user.save!
       user
     end
@@ -71,8 +69,8 @@ module Omniauthable
         agreement: true,
         external: true,
         account_attributes: {
-          username: ensure_unique_username(auth.uid),
-          display_name: auth.info.full_name || [auth.info.first_name, auth.info.last_name].join(' '),
+          username: ensure_unique_username(ensure_valid_username(auth.uid)),
+          display_name: auth.info.full_name || auth.info.name || [auth.info.first_name, auth.info.last_name].join(' '),
         },
       }
     end
@@ -88,5 +86,12 @@ module Omniauthable
 
       username
     end
+
+    def ensure_valid_username(starting_username)
+      starting_username = starting_username.split('@')[0]
+      temp_username = starting_username.gsub(/[^a-z0-9_]+/i, '')
+      validated_username = temp_username.truncate(30, omission: '')
+      validated_username
+    end
   end
 end
diff --git a/app/models/domain_block.rb b/app/models/domain_block.rb
index bba04c603..2b797ef91 100644
--- a/app/models/domain_block.rb
+++ b/app/models/domain_block.rb
@@ -30,6 +30,14 @@ class DomainBlock < ApplicationRecord
   scope :with_user_facing_limitations, -> { where(severity: [:silence, :suspend]).or(where(reject_media: true)) }
   scope :by_severity, -> { order(Arel.sql('(CASE severity WHEN 0 THEN 1 WHEN 1 THEN 2 WHEN 2 THEN 0 END), reject_media, domain')) }
 
+  def policies
+    if suspend?
+      [:suspend]
+    else
+      [severity.to_sym, reject_media? ? :reject_media : nil, reject_reports? ? :reject_reports : nil].reject { |policy| policy == :noop || policy.nil? }
+    end
+  end
+
   class << self
     def suspend?(domain)
       !!rule_for(domain)&.suspend?
diff --git a/app/models/featured_tag.rb b/app/models/featured_tag.rb
index e02ae0705..74d62e777 100644
--- a/app/models/featured_tag.rb
+++ b/app/models/featured_tag.rb
@@ -4,8 +4,8 @@
 # Table name: featured_tags
 #
 #  id             :bigint(8)        not null, primary key
-#  account_id     :bigint(8)
-#  tag_id         :bigint(8)
+#  account_id     :bigint(8)        not null
+#  tag_id         :bigint(8)        not null
 #  statuses_count :bigint(8)        default(0), not null
 #  last_status_at :datetime
 #  created_at     :datetime         not null
diff --git a/app/models/instance.rb b/app/models/instance.rb
index 8949be054..36110ee40 100644
--- a/app/models/instance.rb
+++ b/app/models/instance.rb
@@ -32,35 +32,31 @@ class Instance < ApplicationRecord
     @delivery_failure_tracker ||= DeliveryFailureTracker.new(domain)
   end
 
-  def following_count
-    @following_count ||= Follow.where(account: accounts).count
+  def purgeable?
+    unavailable? || domain_block&.suspend?
   end
 
-  def followers_count
-    @followers_count ||= Follow.where(target_account: accounts).count
+  def unavailable?
+    unavailable_domain.present?
   end
 
-  def reports_count
-    @reports_count ||= Report.where(target_account: accounts).count
+  def failing?
+    failure_days.present? || unavailable?
   end
 
-  def blocks_count
-    @blocks_count ||= Block.where(target_account: accounts).count
-  end
-
-  def public_comment
-    domain_block&.public_comment
+  def to_param
+    domain
   end
 
-  def private_comment
-    domain_block&.private_comment
-  end
+  delegate :exhausted_deliveries_days, to: :delivery_failure_tracker
 
-  def media_storage
-    @media_storage ||= MediaAttachment.where(account: accounts).sum(:file_file_size)
-  end
+  def availability_over_days(num_days, end_date = Time.now.utc.to_date)
+    failures_map    = exhausted_deliveries_days.index_with { true }
+    period_end_at   = exhausted_deliveries_days.last || end_date
+    period_start_at = period_end_at - num_days.days
 
-  def to_param
-    domain
+    (period_start_at..period_end_at).map do |date|
+      [date, failures_map[date]]
+    end
   end
 end
diff --git a/app/models/instance_filter.rb b/app/models/instance_filter.rb
index 9e533c4aa..e7e5166a1 100644
--- a/app/models/instance_filter.rb
+++ b/app/models/instance_filter.rb
@@ -4,8 +4,7 @@ class InstanceFilter
   KEYS = %i(
     limited
     by_domain
-    warning
-    unavailable
+    availability
   ).freeze
 
   attr_reader :params
@@ -34,12 +33,21 @@ class InstanceFilter
       Instance.joins(:domain_allow).reorder(Arel.sql('domain_allows.id desc'))
     when 'by_domain'
       Instance.matches_domain(value)
-    when 'warning'
+    when 'availability'
+      availability_scope(value)
+    else
+      raise "Unknown filter: #{key}"
+    end
+  end
+
+  def availability_scope(value)
+    case value
+    when 'failing'
       Instance.where(domain: DeliveryFailureTracker.warning_domains)
     when 'unavailable'
       Instance.joins(:unavailable_domain)
     else
-      raise "Unknown filter: #{key}"
+      raise "Unknown availability: #{value}"
     end
   end
 end
diff --git a/app/models/notification.rb b/app/models/notification.rb
index 9bf296386..ba94b54d1 100644
--- a/app/models/notification.rb
+++ b/app/models/notification.rb
@@ -63,13 +63,6 @@ class Notification < ApplicationRecord
 
   scope :without_suspended, -> { joins(:from_account).merge(Account.without_suspended) }
 
-  scope :browserable, ->(exclude_types = [], account_id = nil) {
-    scope = all
-    scope = where(from_account_id: account_id) if account_id.present?
-    scope = scope.where(type: TYPES - exclude_types.map(&:to_sym)) unless exclude_types.empty?
-    scope
-  }
-
   def type
     @type ||= (super || LEGACY_TYPE_CLASS_MAP[activity_type]).to_sym
   end
@@ -90,6 +83,23 @@ class Notification < ApplicationRecord
   end
 
   class << self
+    def browserable(types: [], exclude_types: [], from_account_id: nil)
+      requested_types = begin
+        if types.empty?
+          TYPES
+        else
+          types.map(&:to_sym) & TYPES
+        end
+      end
+
+      requested_types -= exclude_types.map(&:to_sym)
+
+      all.tap do |scope|
+        scope.merge!(where(from_account_id: from_account_id)) if from_account_id.present?
+        scope.merge!(where(type: requested_types)) unless requested_types.size == TYPES.size
+      end
+    end
+
     def preload_cache_collection_target_statuses(notifications, &_block)
       notifications.group_by(&:type).each do |type, grouped_notifications|
         associations = TARGET_STATUS_INCLUDES_BY_TYPE[type]
diff --git a/app/models/preview_card.rb b/app/models/preview_card.rb
index 0f9e23fa1..0d2c32c35 100644
--- a/app/models/preview_card.rb
+++ b/app/models/preview_card.rb
@@ -80,6 +80,10 @@ class PreviewCard < ApplicationRecord
     end
   end
 
+  def requires_review?
+    attributes['trendable'].nil? && (provider.nil? || provider.requires_review?)
+  end
+
   def requires_review_notification?
     attributes['trendable'].nil? && (provider.nil? || provider.requires_review_notification?)
   end
diff --git a/app/models/report.rb b/app/models/report.rb
index 8ba2dd8fd..6d4166540 100644
--- a/app/models/report.rb
+++ b/app/models/report.rb
@@ -63,8 +63,20 @@ class Report < ApplicationRecord
     Status.with_discarded.where(id: status_ids)
   end
 
-  def media_attachments
-    MediaAttachment.where(status_id: status_ids)
+  def media_attachments_count
+    statuses_to_query = []
+    count = 0
+
+    statuses.pluck(:id, :ordered_media_attachment_ids).each do |id, ordered_ids|
+      if ordered_ids.nil?
+        statuses_to_query << id
+      else
+        count += ordered_ids.size
+      end
+    end
+
+    count += MediaAttachment.where(status_id: statuses_to_query).count unless statuses_to_query.empty?
+    count
   end
 
   def rules
diff --git a/app/models/status.rb b/app/models/status.rb
index 6a848baee..b979252b3 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -3,31 +3,31 @@
 #
 # Table name: statuses
 #
-#  id                     :bigint(8)        not null, primary key
-#  uri                    :string
-#  text                   :text             default(""), not null
-#  created_at             :datetime         not null
-#  updated_at             :datetime         not null
-#  in_reply_to_id         :bigint(8)
-#  reblog_of_id           :bigint(8)
-#  url                    :string
-#  sensitive              :boolean          default(FALSE), not null
-#  visibility             :integer          default("public"), not null
-#  spoiler_text           :text             default(""), not null
-#  reply                  :boolean          default(FALSE), not null
-#  language               :string
-#  conversation_id        :bigint(8)
-#  local                  :boolean
-#  account_id             :bigint(8)        not null
-#  application_id         :bigint(8)
-#  in_reply_to_account_id :bigint(8)
-#  local_only             :boolean
-#  full_status_text       :text             default(""), not null
-#  poll_id                :bigint(8)
-#  content_type           :string
-#  deleted_at             :datetime
-#  edited_at              :datetime
-#  trendable              :boolean
+#  id                           :bigint(8)        not null, primary key
+#  uri                          :string
+#  text                         :text             default(""), not null
+#  created_at                   :datetime         not null
+#  updated_at                   :datetime         not null
+#  in_reply_to_id               :bigint(8)
+#  reblog_of_id                 :bigint(8)
+#  url                          :string
+#  sensitive                    :boolean          default(FALSE), not null
+#  visibility                   :integer          default("public"), not null
+#  spoiler_text                 :text             default(""), not null
+#  reply                        :boolean          default(FALSE), not null
+#  language                     :string
+#  conversation_id              :bigint(8)
+#  local                        :boolean
+#  account_id                   :bigint(8)        not null
+#  application_id               :bigint(8)
+#  in_reply_to_account_id       :bigint(8)
+#  local_only                   :boolean
+#  poll_id                      :bigint(8)
+#  content_type                 :string
+#  deleted_at                   :datetime
+#  edited_at                    :datetime
+#  trendable                    :boolean
+#  ordered_media_attachment_ids :bigint(8)        is an Array
 #
 
 class Status < ApplicationRecord
@@ -217,14 +217,18 @@ class Status < ApplicationRecord
     public_visibility? || unlisted_visibility?
   end
 
-  def snapshot!(media_attachments_changed: false, account_id: nil, at_time: nil)
+  def snapshot!(account_id: nil, at_time: nil, rate_limit: true)
     edits.create!(
       text: text,
       spoiler_text: spoiler_text,
-      media_attachments_changed: media_attachments_changed,
+      sensitive: sensitive,
+      ordered_media_attachment_ids: ordered_media_attachment_ids || media_attachments.pluck(:id),
+      media_descriptions: ordered_media_attachments.map(&:description),
+      poll_options: preloadable_poll&.options,
       account_id: account_id || self.account_id,
       content_type: content_type,
-      created_at: at_time || edited_at
+      created_at: at_time || edited_at,
+      rate_limit: rate_limit
     )
   end
 
@@ -235,7 +239,7 @@ class Status < ApplicationRecord
   alias sign? distributable?
 
   def with_media?
-    media_attachments.any?
+    ordered_media_attachments.any?
   end
 
   def with_preview_card?
@@ -259,6 +263,15 @@ class Status < ApplicationRecord
     @emojis = CustomEmoji.from_text(fields.join(' '), account.domain)
   end
 
+  def ordered_media_attachments
+    if ordered_media_attachment_ids.nil?
+      media_attachments
+    else
+      map = media_attachments.index_by(&:id)
+      ordered_media_attachment_ids.map { |media_attachment_id| map[media_attachment_id] }
+    end
+  end
+
   def replies_count
     status_stat&.replies_count || 0
   end
@@ -287,6 +300,10 @@ class Status < ApplicationRecord
     end
   end
 
+  def requires_review?
+    attributes['trendable'].nil? && account.requires_review?
+  end
+
   def requires_review_notification?
     attributes['trendable'].nil? && account.requires_review_notification?
   end
@@ -428,6 +445,63 @@ class Status < ApplicationRecord
     super || build_status_stat
   end
 
+  # Hack to use a "INSERT INTO ... SELECT ..." query instead of "INSERT INTO ... VALUES ..." query
+  def self._insert_record(values)
+    if values.is_a?(Hash) && values['reblog_of_id'].present?
+      primary_key = self.primary_key
+      primary_key_value = nil
+
+      if primary_key
+        primary_key_value = values[primary_key]
+
+        if !primary_key_value && prefetch_primary_key?
+          primary_key_value = next_sequence_value
+          values[primary_key] = primary_key_value
+        end
+      end
+
+      # The following line is where we differ from stock ActiveRecord implementation
+      im = _compile_reblog_insert(values)
+
+      # Since we are using SELECT instead of VALUES, a non-error `nil` return is possible.
+      # For our purposes, it's equivalent to a foreign key constraint violation
+      result = connection.insert(im, "#{self} Create", primary_key || false, primary_key_value)
+      raise ActiveRecord::InvalidForeignKey, "(reblog_of_id)=(#{values['reblog_of_id']}) is not present in table \"statuses\"" if result.nil?
+
+      result
+    else
+      super
+    end
+  end
+
+  def self._compile_reblog_insert(values)
+    # This is somewhat equivalent to the following code of ActiveRecord::Persistence:
+    # `arel_table.compile_insert(_substitute_values(values))`
+    # The main difference is that we use a `SELECT` instead of a `VALUES` clause,
+    # which means we have to build the `SELECT` clause ourselves and do a bit more
+    # manual work.
+
+    # Instead of using Arel::InsertManager#values, we are going to use Arel::InsertManager#select
+    im = Arel::InsertManager.new
+    im.into(arel_table)
+
+    binds = []
+    reblog_bind = nil
+    values.each do |name, value|
+      attr = arel_table[name]
+      bind = predicate_builder.build_bind_attribute(attr.name, value)
+
+      im.columns << attr
+      binds << bind
+
+      reblog_bind = bind if name == 'reblog_of_id'
+    end
+
+    im.select(arel_table.where(arel_table[:id].eq(reblog_bind)).where(arel_table[:deleted_at].eq(nil)).project(*binds))
+
+    im
+  end
+
   private
 
   def update_status_stat!(attrs)
diff --git a/app/models/status_edit.rb b/app/models/status_edit.rb
index 3d8098fe7..33528eb0d 100644
--- a/app/models/status_edit.rb
+++ b/app/models/status_edit.rb
@@ -3,18 +3,39 @@
 #
 # Table name: status_edits
 #
-#  id                        :bigint(8)        not null, primary key
-#  status_id                 :bigint(8)        not null
-#  account_id                :bigint(8)
-#  text                      :text             default(""), not null
-#  spoiler_text              :text             default(""), not null
-#  media_attachments_changed :boolean          default(FALSE), not null
-#  created_at                :datetime         not null
-#  updated_at                :datetime         not null
-#  content_type              :string
+#  id                           :bigint(8)        not null, primary key
+#  status_id                    :bigint(8)        not null
+#  account_id                   :bigint(8)
+#  text                         :text             default(""), not null
+#  spoiler_text                 :text             default(""), not null
+#  created_at                   :datetime         not null
+#  updated_at                   :datetime         not null
+#  content_type                 :string
+#  ordered_media_attachment_ids :bigint(8)        is an Array
+#  media_descriptions           :text             is an Array
+#  poll_options                 :string           is an Array
+#  sensitive                    :boolean
 #
 
 class StatusEdit < ApplicationRecord
+  include RateLimitable
+
+  self.ignored_columns = %w(
+    media_attachments_changed
+  )
+
+  class PreservedMediaAttachment < ActiveModelSerializers::Model
+    attributes :media_attachment, :description
+
+    delegate :id, :type, :url, :preview_url, :remote_url,
+             :preview_remote_url, :text_url, :meta, :blurhash,
+             :not_processed?, :needs_redownload?, :local?,
+             :file, :thumbnail, :thumbnail_remote_url,
+             :shortcode, to: :media_attachment
+  end
+
+  rate_limit by: :account, family: :statuses
+
   belongs_to :status
   belongs_to :account, optional: true
 
@@ -26,4 +47,17 @@ class StatusEdit < ApplicationRecord
     return @emojis if defined?(@emojis)
     @emojis = CustomEmoji.from_text([spoiler_text, text].join(' '), status.account.domain)
   end
+
+  def ordered_media_attachments
+    return @ordered_media_attachments if defined?(@ordered_media_attachments)
+
+    @ordered_media_attachments = begin
+      if ordered_media_attachment_ids.nil?
+        []
+      else
+        map = status.media_attachments.index_by(&:id)
+        ordered_media_attachment_ids.map.with_index { |media_attachment_id, index| PreservedMediaAttachment.new(media_attachment: map[media_attachment_id], description: media_descriptions[index]) }
+      end
+    end
+  end
 end
diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb
index aa552a724..05f2ee14f 100644
--- a/app/serializers/activitypub/note_serializer.rb
+++ b/app/serializers/activitypub/note_serializer.rb
@@ -15,7 +15,7 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer
 
   attribute :direct_message, if: :non_public?
 
-  has_many :media_attachments, key: :attachment
+  has_many :virtual_attachments, key: :attachment
   has_many :virtual_tags, key: :tag
 
   has_one :replies, serializer: ActivityPub::CollectionSerializer, if: :local?
@@ -117,6 +117,10 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer
     object.account.sensitized? || object.sensitive || (!instance_options[:allow_local_only] && Setting.outgoing_spoilers.present?)
   end
 
+  def virtual_attachments
+    object.ordered_media_attachments
+  end
+
   def virtual_tags
     object.active_mentions.to_a.sort_by(&:id) + object.tags + object.emojis
   end
diff --git a/app/serializers/rest/admin/measure_serializer.rb b/app/serializers/rest/admin/measure_serializer.rb
index 81d655c1a..fc16b85f2 100644
--- a/app/serializers/rest/admin/measure_serializer.rb
+++ b/app/serializers/rest/admin/measure_serializer.rb
@@ -1,12 +1,20 @@
 # frozen_string_literal: true
 
 class REST::Admin::MeasureSerializer < ActiveModel::Serializer
-  attributes :key, :total, :previous_total, :data
+  attributes :key, :unit, :total
+
+  attribute :human_value, if: -> { object.respond_to?(:value_to_human_value) }
+  attribute :previous_total, if: -> { object.total_in_time_range? }
+  attribute :data
 
   def total
     object.total.to_s
   end
 
+  def human_value
+    object.value_to_human_value(object.total)
+  end
+
   def previous_total
     object.previous_total.to_s
   end
diff --git a/app/serializers/rest/status_edit_serializer.rb b/app/serializers/rest/status_edit_serializer.rb
index a1f9e824e..05ccd5e94 100644
--- a/app/serializers/rest/status_edit_serializer.rb
+++ b/app/serializers/rest/status_edit_serializer.rb
@@ -3,12 +3,18 @@
 class REST::StatusEditSerializer < ActiveModel::Serializer
   has_one :account, serializer: REST::AccountSerializer
 
-  attributes :content, :spoiler_text,
-             :media_attachments_changed, :created_at
+  attributes :content, :spoiler_text, :sensitive, :created_at
 
+  has_many :ordered_media_attachments, key: :media_attachments, serializer: REST::MediaAttachmentSerializer
   has_many :emojis, serializer: REST::CustomEmojiSerializer
 
+  attribute :poll, if: -> { object.poll_options.present? }
+
   def content
     Formatter.instance.format(object)
   end
+
+  def poll
+    { options: object.poll_options.map { |title| { title: title } } }
+  end
 end
diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb
index 7b5263eee..0a00ed77e 100644
--- a/app/serializers/rest/status_serializer.rb
+++ b/app/serializers/rest/status_serializer.rb
@@ -21,7 +21,7 @@ class REST::StatusSerializer < ActiveModel::Serializer
   belongs_to :application, if: :show_application?
   belongs_to :account, serializer: REST::AccountSerializer
 
-  has_many :media_attachments, serializer: REST::MediaAttachmentSerializer
+  has_many :ordered_media_attachments, key: :media_attachments, serializer: REST::MediaAttachmentSerializer
   has_many :ordered_mentions, key: :mentions
   has_many :tags
   has_many :emojis, serializer: REST::CustomEmojiSerializer
diff --git a/app/services/activitypub/fetch_remote_status_service.rb b/app/services/activitypub/fetch_remote_status_service.rb
index 4f789d50b..9672b3d2b 100644
--- a/app/services/activitypub/fetch_remote_status_service.rb
+++ b/app/services/activitypub/fetch_remote_status_service.rb
@@ -15,24 +15,30 @@ class ActivityPub::FetchRemoteStatusService < BaseService
 
     return unless supported_context?
 
-    actor_id = nil
+    actor_uri     = nil
     activity_json = nil
+    object_uri    = nil
 
     if expected_object_type?
-      actor_id = value_or_id(first_of_value(@json['attributedTo']))
-      activity_json = { 'type' => 'Create', 'actor' => actor_id, 'object' => @json }
+      actor_uri     = value_or_id(first_of_value(@json['attributedTo']))
+      activity_json = { 'type' => 'Create', 'actor' => actor_uri, 'object' => @json }
+      object_uri    = uri_from_bearcap(@json['id'])
     elsif expected_activity_type?
-      actor_id = value_or_id(first_of_value(@json['actor']))
+      actor_uri     = value_or_id(first_of_value(@json['actor']))
       activity_json = @json
+      object_uri    = uri_from_bearcap(value_or_id(@json['object']))
     end
 
-    return if activity_json.nil? || !trustworthy_attribution?(@json['id'], actor_id)
+    return if activity_json.nil? || object_uri.nil? || !trustworthy_attribution?(@json['id'], actor_uri)
 
-    actor = ActivityPub::TagManager.instance.uri_to_resource(actor_id, Account)
-    actor = ActivityPub::FetchRemoteAccountService.new.call(actor_id, id: true) if actor.nil? || needs_update?(actor)
+    actor = account_from_uri(actor_uri)
 
     return if actor.nil? || actor.suspended?
 
+    # If we fetched a status that already exists, then we need to treat the
+    # activity as an update rather than create
+    activity_json['type'] = 'Update' if equals_or_includes_any?(activity_json['type'], %w(Create)) && Status.where(uri: object_uri, account_id: actor.id).exists?
+
     ActivityPub::Activity.factory(activity_json, actor).perform
   end
 
@@ -43,6 +49,12 @@ class ActivityPub::FetchRemoteStatusService < BaseService
     Addressable::URI.parse(uri).normalized_host.casecmp(Addressable::URI.parse(attributed_to).normalized_host).zero?
   end
 
+  def account_from_uri(uri)
+    actor = ActivityPub::TagManager.instance.uri_to_resource(uri, Account)
+    actor = ActivityPub::FetchRemoteAccountService.new.call(uri, id: true) if actor.nil? || actor.possibly_stale?
+    actor
+  end
+
   def supported_context?
     super(@json)
   end
@@ -54,8 +66,4 @@ class ActivityPub::FetchRemoteStatusService < BaseService
   def expected_object_type?
     equals_or_includes_any?(@json['type'], ActivityPub::Activity::Create::SUPPORTED_TYPES + ActivityPub::Activity::Create::CONVERTED_TYPES)
   end
-
-  def needs_update?(actor)
-    actor.possibly_stale?
-  end
 end
diff --git a/app/services/activitypub/process_status_update_service.rb b/app/services/activitypub/process_status_update_service.rb
index 7438a7c53..47a788c30 100644
--- a/app/services/activitypub/process_status_update_service.rb
+++ b/app/services/activitypub/process_status_update_service.rb
@@ -13,7 +13,9 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
     @poll_changed              = false
 
     # Only native types can be updated at the moment
-    return if !expected_type? || already_updated_more_recently?
+    return @status if !expected_type? || already_updated_more_recently?
+
+    last_edit_date = status.edited_at.presence || status.created_at
 
     # Only allow processing one create/update per status at a time
     RedisLock.acquire(lock_options) do |lock|
@@ -37,13 +39,18 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
         raise Mastodon::RaceConditionError
       end
     end
+
+    forward_activity! if significant_changes? && @status_parser.edited_at.present? && @status_parser.edited_at > last_edit_date
+
+    @status
   end
 
   private
 
   def update_media_attachments!
-    previous_media_attachments = @status.media_attachments.to_a
-    next_media_attachments     = []
+    previous_media_attachments     = @status.media_attachments.to_a
+    previous_media_attachments_ids = @status.ordered_media_attachment_ids || previous_media_attachments.map(&:id)
+    next_media_attachments         = []
 
     as_array(@json['attachment']).each do |attachment|
       media_attachment_parser = ActivityPub::Parser::MediaAttachmentParser.new(attachment)
@@ -76,13 +83,14 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
       end
     end
 
-    removed_media_attachments = previous_media_attachments - next_media_attachments
-    added_media_attachments   = next_media_attachments - previous_media_attachments
+    added_media_attachments = next_media_attachments - previous_media_attachments
 
-    MediaAttachment.where(id: removed_media_attachments.map(&:id)).update_all(status_id: nil)
     MediaAttachment.where(id: added_media_attachments.map(&:id)).update_all(status_id: @status.id)
 
-    @media_attachments_changed = true if removed_media_attachments.any? || added_media_attachments.any?
+    @status.ordered_media_attachment_ids = next_media_attachments.map(&:id)
+    @status.media_attachments.reload
+
+    @media_attachments_changed = true if @status.ordered_media_attachment_ids != previous_media_attachments_ids
   end
 
   def update_poll!
@@ -215,19 +223,13 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
 
     return if @status.edits.any?
 
-    @status.snapshot!(
-      media_attachments_changed: false,
-      at_time: @status.created_at
-    )
+    @status.snapshot!(at_time: @status.created_at, rate_limit: false)
   end
 
   def create_edit!
     return unless significant_changes?
 
-    @status.snapshot!(
-      media_attachments_changed: @media_attachments_changed || @poll_changed,
-      account_id: @account.id
-    )
+    @status.snapshot!(account_id: @account.id, rate_limit: false)
   end
 
   def skip_download?
@@ -268,4 +270,12 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
     PollExpirationNotifyWorker.remove_from_scheduled(poll.id) if @previous_expires_at.present? && @previous_expires_at > poll.expires_at
     PollExpirationNotifyWorker.perform_at(poll.expires_at + 5.minutes, poll.id)
   end
+
+  def forward_activity!
+    forwarder.forward! if forwarder.forwardable?
+  end
+
+  def forwarder
+    @forwarder ||= ActivityPub::Forwarder.new(@account, @json, @status)
+  end
 end
diff --git a/app/services/fan_out_on_write_service.rb b/app/services/fan_out_on_write_service.rb
index 08fae7935..f182cb83e 100644
--- a/app/services/fan_out_on_write_service.rb
+++ b/app/services/fan_out_on_write_service.rb
@@ -118,7 +118,7 @@ class FanOutOnWriteService < BaseService
     Redis.current.publish('timeline:public', anonymous_payload)
     Redis.current.publish(@status.local? ? 'timeline:public:local' : 'timeline:public:remote', anonymous_payload)
 
-    if @status.media_attachments.any?
+    if @status.with_media?
       Redis.current.publish('timeline:public:media', anonymous_payload)
       Redis.current.publish(@status.local? ? 'timeline:public:local:media' : 'timeline:public:remote:media', anonymous_payload)
     end
diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb
index c5061dd63..36592a531 100644
--- a/app/services/post_status_service.rb
+++ b/app/services/post_status_service.rb
@@ -109,7 +109,10 @@ class PostStatusService < BaseService
   end
 
   def validate_media!
-    return if @options[:media_ids].blank? || !@options[:media_ids].is_a?(Enumerable)
+    if @options[:media_ids].blank? || !@options[:media_ids].is_a?(Enumerable)
+      @media = []
+      return
+    end
 
     raise Mastodon::ValidationError, I18n.t('media_attachments.validations.too_many') if @options[:media_ids].size > 4 || @options[:poll].present?
 
@@ -166,12 +169,13 @@ class PostStatusService < BaseService
     {
       text: @text,
       media_attachments: @media || [],
+      ordered_media_attachment_ids: (@options[:media_ids] || []).map(&:to_i) & @media.map(&:id),
       thread: @in_reply_to,
       poll_attributes: poll_attributes,
       sensitive: @sensitive,
       spoiler_text: @options[:spoiler_text] || '',
       visibility: @visibility,
-      language: valid_locale_or_nil(@options[:language].presence || @account.user&.preferred_posting_language || I18n.default_locale),
+      language: valid_locale_cascade(@options[:language], @account.user&.preferred_posting_language, I18n.default_locale),
       application: @options[:application],
       content_type: @options[:content_type] || @account.user&.setting_default_content_type,
       rate_limit: @options[:with_rate_limit],
diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb
index 361cd4d82..c28e16572 100644
--- a/app/services/remove_status_service.rb
+++ b/app/services/remove_status_service.rb
@@ -40,7 +40,7 @@ class RemoveStatusService < BaseService
           remove_reblogs
           remove_from_hashtags
           remove_from_public
-          remove_from_media if @status.media_attachments.any?
+          remove_from_media if @status.with_media?
           remove_from_direct if status.direct_visibility?
           remove_media
         end
diff --git a/app/services/update_status_service.rb b/app/services/update_status_service.rb
index 6cbbd2876..f5155a2f5 100644
--- a/app/services/update_status_service.rb
+++ b/app/services/update_status_service.rb
@@ -18,8 +18,6 @@ class UpdateStatusService < BaseService
     @status                    = status
     @options                   = options
     @account_id                = account_id
-    @media_attachments_changed = false
-    @poll_changed              = false
 
     Status.transaction do
       create_previous_edit!
@@ -42,14 +40,12 @@ class UpdateStatusService < BaseService
   def update_media_attachments!
     previous_media_attachments = @status.media_attachments.to_a
     next_media_attachments     = validate_media!
-    removed_media_attachments  = previous_media_attachments - next_media_attachments
     added_media_attachments    = next_media_attachments - previous_media_attachments
 
-    MediaAttachment.where(id: removed_media_attachments.map(&:id)).update_all(status_id: nil)
     MediaAttachment.where(id: added_media_attachments.map(&:id)).update_all(status_id: @status.id)
 
+    @status.ordered_media_attachment_ids = (@options[:media_ids] || []).map(&:to_i) & next_media_attachments.map(&:id)
     @status.media_attachments.reload
-    @media_attachments_changed = true if removed_media_attachments.any? || added_media_attachments.any?
   end
 
   def validate_media!
@@ -74,19 +70,18 @@ class UpdateStatusService < BaseService
 
       # If for some reasons the options were changed, it invalidates all previous
       # votes, so we need to remove them
-      @poll_changed = true if @options[:poll][:options] != poll.options || ActiveModel::Type::Boolean.new.cast(@options[:poll][:multiple]) != poll.multiple
+      poll_changed = true if @options[:poll][:options] != poll.options || ActiveModel::Type::Boolean.new.cast(@options[:poll][:multiple]) != poll.multiple
 
       poll.options     = @options[:poll][:options]
       poll.hide_totals = @options[:poll][:hide_totals] || false
       poll.multiple    = @options[:poll][:multiple] || false
       poll.expires_in  = @options[:poll][:expires_in]
-      poll.reset_votes! if @poll_changed
+      poll.reset_votes! if poll_changed
       poll.save!
 
       @status.poll_id = poll.id
     elsif previous_poll.present?
       previous_poll.destroy
-      @poll_changed = true
       @status.poll_id = nil
     end
   end
@@ -95,7 +90,7 @@ class UpdateStatusService < BaseService
     @status.text         = @options[:text].presence || @options.delete(:spoiler_text) || '' if @options.key?(:text)
     @status.spoiler_text = @options[:spoiler_text] || '' if @options.key?(:spoiler_text)
     @status.sensitive    = @options[:sensitive] || @options[:spoiler_text].present? if @options.key?(:sensitive) || @options.key?(:spoiler_text)
-    @status.language     = valid_locale_or_nil(@options[:language] || @status.language || @status.account.user&.preferred_posting_language || I18n.default_locale)
+    @status.language     = valid_locale_cascade(@options[:language], @status.language, @status.account.user&.preferred_posting_language, I18n.default_locale)
     @status.content_type = @options[:content_type] || @status.content_type
     @status.edited_at    = Time.now.utc
 
@@ -138,16 +133,10 @@ class UpdateStatusService < BaseService
 
     return if @status.edits.any?
 
-    @status.snapshot!(
-      media_attachments_changed: false,
-      at_time: @status.created_at
-    )
+    @status.snapshot!(at_time: @status.created_at, rate_limit: false)
   end
 
   def create_edit!
-    @status.snapshot!(
-      media_attachments_changed: @media_attachments_changed || @poll_changed,
-      account_id: @account_id
-    )
+    @status.snapshot!(account_id: @account_id)
   end
 end
diff --git a/app/views/admin/custom_emojis/new.html.haml b/app/views/admin/custom_emojis/new.html.haml
index e15a07cb8..95996dec8 100644
--- a/app/views/admin/custom_emojis/new.html.haml
+++ b/app/views/admin/custom_emojis/new.html.haml
@@ -7,7 +7,7 @@
   .fields-group
     = f.input :shortcode, wrapper: :with_label, label: t('admin.custom_emojis.shortcode'), hint: t('admin.custom_emojis.shortcode_hint')
   .fields-group
-    = f.input :image, wrapper: :with_label, input_html: { accept: 'image/png' }, hint: t('admin.custom_emojis.image_hint')
+    = f.input :image, wrapper: :with_label, input_html: { accept: CustomEmoji::IMAGE_MIME_TYPES.join(' ') }, hint: t('admin.custom_emojis.image_hint', size: number_to_human_size(CustomEmoji::LIMIT))
 
   .actions
     = f.button :button, t('admin.custom_emojis.upload'), type: :submit
diff --git a/app/views/admin/domain_blocks/edit.html.haml b/app/views/admin/domain_blocks/edit.html.haml
index c76a7a7f8..15d70a39e 100644
--- a/app/views/admin/domain_blocks/edit.html.haml
+++ b/app/views/admin/domain_blocks/edit.html.haml
@@ -21,10 +21,10 @@
     = f.input :obfuscate, as: :boolean, wrapper: :with_label, label: I18n.t('admin.domain_blocks.obfuscate'), hint: I18n.t('admin.domain_blocks.obfuscate_hint')
 
   .field-group
-    = f.input :private_comment, wrapper: :with_label, label: I18n.t('admin.domain_blocks.private_comment'), hint: t('admin.domain_blocks.private_comment_hint'), rows: 6
+    = f.input :private_comment, wrapper: :with_label, label: I18n.t('admin.domain_blocks.private_comment'), hint: t('admin.domain_blocks.private_comment_hint'), as: :string
 
   .field-group
-    = f.input :public_comment, wrapper: :with_label, label: I18n.t('admin.domain_blocks.public_comment'), hint: t('admin.domain_blocks.public_comment_hint'), rows: 6
+    = f.input :public_comment, wrapper: :with_label, label: I18n.t('admin.domain_blocks.public_comment'), hint: t('admin.domain_blocks.public_comment_hint'), as: :string
 
   .actions
     = f.button :button, t('generic.save_changes'), type: :submit
diff --git a/app/views/admin/domain_blocks/new.html.haml b/app/views/admin/domain_blocks/new.html.haml
index b04ce7d9c..0944573bf 100644
--- a/app/views/admin/domain_blocks/new.html.haml
+++ b/app/views/admin/domain_blocks/new.html.haml
@@ -21,10 +21,10 @@
     = f.input :obfuscate, as: :boolean, wrapper: :with_label, label: I18n.t('admin.domain_blocks.obfuscate'), hint: I18n.t('admin.domain_blocks.obfuscate_hint')
 
   .field-group
-    = f.input :private_comment, wrapper: :with_label, label: I18n.t('admin.domain_blocks.private_comment'), hint: t('admin.domain_blocks.private_comment_hint'), rows: 6
+    = f.input :private_comment, wrapper: :with_label, label: I18n.t('admin.domain_blocks.private_comment'), hint: t('admin.domain_blocks.private_comment_hint'), as: :string
 
   .field-group
-    = f.input :public_comment, wrapper: :with_label, label: I18n.t('admin.domain_blocks.public_comment'), hint: t('admin.domain_blocks.public_comment_hint'), rows: 6
+    = f.input :public_comment, wrapper: :with_label, label: I18n.t('admin.domain_blocks.public_comment'), hint: t('admin.domain_blocks.public_comment_hint'), as: :string
 
   .actions
     = f.button :button, t('.create'), type: :submit
diff --git a/app/views/admin/domain_blocks/show.html.haml b/app/views/admin/domain_blocks/show.html.haml
deleted file mode 100644
index e64aaa629..000000000
--- a/app/views/admin/domain_blocks/show.html.haml
+++ /dev/null
@@ -1,25 +0,0 @@
-- content_for :page_title do
-  = t('admin.domain_blocks.show.title', domain: @domain_block.domain)
-
-- if @domain_block.private_comment.present?
-  .speech-bubble
-    .speech-bubble__bubble
-      = simple_format(h(@domain_block.private_comment))
-    .speech-bubble__owner= t 'admin.instances.private_comment'
-
-- if @domain_block.public_comment.present?
-  .speech-bubble
-    .speech-bubble__bubble
-      = simple_format(h(@domain_block.public_comment))
-    .speech-bubble__owner= t 'admin.instances.public_comment'
-
-= simple_form_for @domain_block, url: admin_domain_block_path(@domain_block), method: :delete do |f|
-
-  - unless (@domain_block.noop?)
-    %p= t(".retroactive.#{@domain_block.severity}")
-    %p.hint= t(:affected_accounts,
-      scope: [:admin, :domain_blocks, :show],
-      count: @domain_block.affected_accounts_count)
-
-  .actions
-    = f.button :button, t('.undo'), type: :submit
diff --git a/app/views/admin/instances/_exhausted_deliveries_days.haml b/app/views/admin/instances/_exhausted_deliveries_days.haml
deleted file mode 100644
index e581f542d..000000000
--- a/app/views/admin/instances/_exhausted_deliveries_days.haml
+++ /dev/null
@@ -1,2 +0,0 @@
-%li.negative-hint
-  = l(exhausted_deliveries_days)
diff --git a/app/views/admin/instances/_instance.html.haml b/app/views/admin/instances/_instance.html.haml
index dc81007ac..8a4396002 100644
--- a/app/views/admin/instances/_instance.html.haml
+++ b/app/views/admin/instances/_instance.html.haml
@@ -1,33 +1,15 @@
 .directory__tag
   = link_to admin_instance_path(instance) do
     %h4
+      = fa_icon 'warning fw' if instance.failing?
       = instance.domain
+
       %small
         - if instance.domain_block
-          - first_item = true
-          - if !instance.domain_block.noop?
-            = t("admin.domain_blocks.severity.#{instance.domain_block.severity}")
-            - first_item = false
-          - unless instance.domain_block.suspend?
-            - if instance.domain_block.reject_media?
-              - unless first_item
-                &bull;
-              = t('admin.domain_blocks.rejecting_media')
-              - first_item = false
-            - if instance.domain_block.reject_reports?
-              - unless first_item
-                &bull;
-              = t('admin.domain_blocks.rejecting_reports')
-        - elsif whitelist_mode?
+          = instance.domain_block.policies.map { |policy| t(policy, scope: 'admin.instances.content_policies.policies') }.join(' • ')
+        - elsif instance.domain_allow
           = t('admin.accounts.whitelisted')
         - else
           = t('admin.accounts.no_limits_imposed')
-        - if instance.failure_days
-          = ' / '
-          %span.negative-hint
-            = t('admin.instances.delivery.warning_message', count: instance.failure_days)
-        - if instance.unavailable_domain
-          = ' / '
-          %span.negative-hint
-            = t('admin.instances.delivery.unavailable_message')
+
     .trends__item__current{ title: t('admin.instances.known_accounts', count: instance.accounts_count) }= friendly_number_to_human instance.accounts_count
diff --git a/app/views/admin/instances/index.html.haml b/app/views/admin/instances/index.html.haml
index 797948d94..f8273718d 100644
--- a/app/views/admin/instances/index.html.haml
+++ b/app/views/admin/instances/index.html.haml
@@ -17,22 +17,11 @@
         %li= filter_link_to t('admin.instances.moderation.limited'), limited: '1'
 
   .filter-subset
-    %strong= t('admin.instances.delivery.title')
+    %strong= t('admin.instances.availability.title')
     %ul
-      %li= filter_link_to t('admin.instances.delivery.all'), warning: nil, unavailable: nil
-      %li= filter_link_to t('admin.instances.delivery.warning'), warning: '1', unavailable: nil
-      %li= filter_link_to t('admin.instances.delivery.unavailable'), warning: nil, unavailable: '1'
-
-  .back-link
-    = link_to admin_instances_path() do
-      %i.fa.fa-chevron-left.fa-fw
-      = t('admin.instances.back_to_all')
-    = link_to admin_instances_path(limited: 1) do
-      %i.fa.fa-chevron-left.fa-fw
-      = t('admin.instances.back_to_limited')
-    = link_to admin_instances_path(warning: 1) do
-      %i.fa.fa-chevron-left.fa-fw
-      = t('admin.instances.back_to_warning')
+      %li= filter_link_to t('admin.instances.delivery.all'), availability: nil
+      %li= filter_link_to t('admin.instances.delivery.failing'), availability: 'failing'
+      %li= filter_link_to t('admin.instances.delivery.unavailable'), availability: 'unavailable'
 
 - unless whitelist_mode?
   = form_tag admin_instances_url, method: 'GET', class: 'simple_form' do
diff --git a/app/views/admin/instances/show.html.haml b/app/views/admin/instances/show.html.haml
index 4db8fd15c..9b2a46e7f 100644
--- a/app/views/admin/instances/show.html.haml
+++ b/app/views/admin/instances/show.html.haml
@@ -1,88 +1,92 @@
 - content_for :page_title do
   = @instance.domain
 
-.filters
-  .back-link
-    = link_to admin_instances_path() do
-      %i.fa.fa-chevron-left.fa-fw
-      = t('admin.instances.back_to_all')
-    = link_to admin_instances_path(limited: 1) do
-      %i.fa.fa-chevron-left.fa-fw
-      = t('admin.instances.back_to_limited')
-    = link_to admin_instances_path(warning: 1) do
-      %i.fa.fa-chevron-left.fa-fw
-      = t('admin.instances.back_to_warning')
+- content_for :heading_actions do
+  = l(@time_period.first)
+  = ' - '
+  = l(@time_period.last)
 
-.dashboard__counters
-  %div
-    = link_to admin_accounts_path(origin: 'remote', by_domain: @instance.domain) do
-      .dashboard__counters__num= number_with_delimiter @instance.accounts_count
-      .dashboard__counters__label= t 'admin.accounts.title'
-  %div
-    = link_to admin_reports_path(by_target_domain: @instance.domain) do
-      .dashboard__counters__num= number_with_delimiter @instance.reports_count
-      .dashboard__counters__label= t 'admin.instances.total_reported'
-  %div
-    %div
-      .dashboard__counters__num= number_to_human_size @instance.media_storage
-      .dashboard__counters__label= t 'admin.instances.total_storage'
-  %div
-    %div
-      .dashboard__counters__num= number_with_delimiter @instance.following_count
-      .dashboard__counters__label= t 'admin.instances.total_followed_by_them'
-  %div
-    %div
-      .dashboard__counters__num= number_with_delimiter @instance.followers_count
-      .dashboard__counters__label= t 'admin.instances.total_followed_by_us'
-  %div
-    %div
-      .dashboard__counters__num= number_with_delimiter @instance.blocks_count
-      .dashboard__counters__label= t 'admin.instances.total_blocked_by_us'
+%p
+  = fa_icon 'info fw'
+  = t('admin.instances.totals_time_period_hint_html')
 
-  %div
-    %div
-      .dashboard__counters__num
-        - if @instance.delivery_failure_tracker.available?
-          = fa_icon 'check'
-        - else
-          = fa_icon 'times'
-      .dashboard__counters__label= t 'admin.instances.delivery_available'
+.dashboard
+  .dashboard__item
+    = react_admin_component :counter, measure: 'instance_accounts', start_at: @time_period.first, end_at: @time_period.last, params: { domain: @instance.domain }, label: t('admin.instances.dashboard.instance_accounts_measure'), href: admin_accounts_path(origin: 'remote', by_domain: @instance.domain)
+  .dashboard__item
+    = react_admin_component :counter, measure: 'instance_statuses', start_at: @time_period.first, end_at: @time_period.last, params: { domain: @instance.domain }, label: t('admin.instances.dashboard.instance_statuses_measure')
+  .dashboard__item
+    = react_admin_component :counter, measure: 'instance_media_attachments', start_at: @time_period.first, end_at: @time_period.last, params: { domain: @instance.domain }, label: t('admin.instances.dashboard.instance_media_attachments_measure')
+  .dashboard__item
+    = react_admin_component :counter, measure: 'instance_follows', start_at: @time_period.first, end_at: @time_period.last, params: { domain: @instance.domain }, label: t('admin.instances.dashboard.instance_follows_measure')
+  .dashboard__item
+    = react_admin_component :counter, measure: 'instance_followers', start_at: @time_period.first, end_at: @time_period.last, params: { domain: @instance.domain }, label: t('admin.instances.dashboard.instance_followers_measure')
+  .dashboard__item
+    = react_admin_component :counter, measure: 'instance_reports', start_at: @time_period.first, end_at: @time_period.last, params: { domain: @instance.domain }, label: t('admin.instances.dashboard.instance_reports_measure'), href: admin_reports_path(by_target_domain: @instance.domain)
+  .dashboard__item
+    = react_admin_component :dimension, dimension: 'instance_accounts', start_at: @time_period.first, end_at: @time_period.last, params: { domain: @instance.domain }, limit: 8, label: t('admin.instances.dashboard.instance_accounts_dimension')
+  .dashboard__item
+    = react_admin_component :dimension, dimension: 'instance_languages', start_at: @time_period.first, end_at: @time_period.last, params: { domain: @instance.domain }, limit: 8, label: t('admin.instances.dashboard.instance_languages_dimension')
 
-- if @instance.private_comment.present?
-  .speech-bubble
-    .speech-bubble__bubble
-      = simple_format(h(@instance.private_comment))
-    .speech-bubble__owner= t 'admin.instances.private_comment'
+%hr.spacer/
+
+%h3= t('admin.instances.content_policies.title')
+
+- if whitelist_mode?
+  %p= t('admin.instances.content_policies.limited_federation_mode_description_html')
 
-- if @instance.public_comment.present?
-  .speech-bubble
-    .speech-bubble__bubble
-      = simple_format(h(@instance.public_comment))
-    .speech-bubble__owner= t 'admin.instances.public_comment'
+  - if @instance.domain_allow
+    = link_to t('admin.domain_allows.undo'), admin_domain_allow_path(@instance.domain_allow), class: 'button button--destructive', data: { confirm: t('admin.accounts.are_you_sure'), method: :delete }
+  - else
+    = link_to t('admin.domain_allows.add_new'), admin_domain_allows_path(domain_allow: { domain: @instance.domain }), class: 'button', method: :post
+- else
+  %p= t('admin.instances.content_policies.description_html')
 
-- unless @exhausted_deliveries_days.empty?
-  %h4= t 'admin.instances.delivery_error_days'
-  %ul
-    = render partial: 'exhausted_deliveries_days', collection: @exhausted_deliveries_days
-  %p.hint
-    = t 'admin.instances.delivery_error_hint', count: DeliveryFailureTracker::FAILURE_DAYS_THRESHOLD
+  - if @instance.domain_block
+    .table-wrapper
+      %table.table.horizontal-table
+        %tbody
+          %tr
+            %th= t('admin.instances.content_policies.comment')
+            %td= @instance.domain_block.private_comment
+          %tr
+            %th= t('admin.instances.content_policies.reason')
+            %td= @instance.domain_block.public_comment
+          %tr
+            %th= t('admin.instances.content_policies.policy')
+            %td= @instance.domain_block.policies.map { |policy| t(policy, scope: 'admin.instances.content_policies.policies') }.join(' • ')
+
+    = link_to t('admin.domain_blocks.edit'), edit_admin_domain_block_path(@instance.domain_block), class: 'button'
+    = link_to t('admin.domain_blocks.undo'), admin_domain_block_path(@instance.domain_block), class: 'button', data: { confirm: t('admin.accounts.are_you_sure'), method: :delete }
+  - else
+    = link_to t('admin.domain_blocks.add_new'), new_admin_domain_block_path(_domain: @instance.domain), class: 'button'
 
 %hr.spacer/
 
-%div.action-buttons
-  %div
-    - if @instance.domain_allow
-      = link_to t('admin.domain_allows.undo'), admin_domain_allow_path(@instance.domain_allow), class: 'button button--destructive', data: { confirm: t('admin.accounts.are_you_sure'), method: :delete }
-    - elsif @instance.domain_block
-      = link_to t('admin.domain_blocks.edit'), edit_admin_domain_block_path(@instance.domain_block), class: 'button'
-      = link_to t('admin.domain_blocks.undo'), admin_domain_block_path(@instance.domain_block), class: 'button'
-    - else
-      = link_to t('admin.domain_blocks.add_new'), new_admin_domain_block_path(_domain: @instance.domain), class: 'button'
-    - if @instance.delivery_failure_tracker.available?
-      - unless @exhausted_deliveries_days.empty?
-        = link_to t('admin.instances.delivery.clear'), clear_delivery_errors_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post }, class: 'button'
-      = link_to t('admin.instances.delivery.stop'), stop_delivery_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post }, class: 'button'
+%h3= t('admin.instances.availability.title')
+
+%p
+  = t('admin.instances.availability.description_html', count: DeliveryFailureTracker::FAILURE_DAYS_THRESHOLD)
+
+.availability-indicator
+  %ul.availability-indicator__graphic
+    - @instance.availability_over_days(14).each do |(date, failing)|
+      %li.availability-indicator__graphic__item{ class: failing ? 'negative' : 'neutral', title: l(date) }
+  .availability-indicator__hint
+    - if @instance.unavailable?
+      %span.negative-hint
+        = t('admin.instances.availability.failure_threshold_reached', date: l(@instance.unavailable_domain.created_at.to_date))
+        = link_to t('admin.instances.delivery.restart'), restart_delivery_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post }
+    - elsif @instance.exhausted_deliveries_days.empty?
+      %span.positive-hint
+        = t('admin.instances.availability.no_failures_recorded')
+        = link_to t('admin.instances.delivery.stop'), stop_delivery_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post }
     - else
-      = link_to t('admin.instances.delivery.restart'), restart_delivery_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post }, class: 'button'
-    - if !@instance.delivery_failure_tracker.available? || @instance.accounts_count.zero? || @instance.domain_block&.suspend?
-      = link_to t('admin.instances.purge'), admin_instance_path(@instance), data: { confirm: t('admin.instances.confirm_purge'), method: :delete }, class: 'button'
+      %span.negative-hint
+        = t('admin.instances.availability.failures_recorded', count: @instance.delivery_failure_tracker.days)
+        = link_to t('admin.instances.delivery.clear'), clear_delivery_errors_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post } unless @instance.exhausted_deliveries_days.empty?
+
+- if @instance.purgeable?
+  %p= t('admin.instances.purge_description_html')
+
+  = link_to t('admin.instances.purge'), admin_instance_path(@instance), data: { confirm: t('admin.instances.confirm_purge'), method: :delete }, class: 'button button--destructive'
diff --git a/app/views/admin/reports/_status.html.haml b/app/views/admin/reports/_status.html.haml
index 4e06d4bbf..7538cfd54 100644
--- a/app/views/admin/reports/_status.html.haml
+++ b/app/views/admin/reports/_status.html.haml
@@ -11,15 +11,15 @@
             %strong> Content warning: #{Formatter.instance.format_spoiler(status.proper)}
           = Formatter.instance.format(status.proper, custom_emojify: true)
 
-    - unless status.proper.media_attachments.empty?
-      - if status.proper.media_attachments.first.video?
-        - video = status.proper.media_attachments.first
+    - unless status.proper.ordered_media_attachments.empty?
+      - if status.proper.ordered_media_attachments.first.video?
+        - video = status.proper.ordered_media_attachments.first
         = react_component :video, src: video.file.url(:original), preview: video.file.url(:small), frameRate: video.file.meta.dig('original', 'frame_rate'), blurhash: video.blurhash, sensitive: status.proper.sensitive?, visible: false, width: 610, height: 343, inline: true, alt: video.description, media: [ActiveModelSerializers::SerializableResource.new(video, serializer: REST::MediaAttachmentSerializer)].as_json
-      - elsif status.proper.media_attachments.first.audio?
-        - audio = status.proper.media_attachments.first
+      - elsif status.proper.ordered_media_attachments.first.audio?
+        - audio = status.proper.ordered_media_attachments.first
         = react_component :audio, src: audio.file.url(:original), height: 110, alt: audio.description, duration: audio.file.meta.dig(:original, :duration)
       - else
-        = react_component :media_gallery, height: 343, sensitive: status.proper.sensitive?, visible: false, media: status.proper.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }
+        = react_component :media_gallery, height: 343, sensitive: status.proper.sensitive?, visible: false, media: status.proper.ordered_media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }
 
     .detailed-status__meta
       - if status.application
@@ -29,7 +29,7 @@
         %time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
       - if status.edited?
         ·
-        = t('statuses.edited_at', date: l(status.edited_at))
+        = t('statuses.edited_at_html', date: content_tag(:time, l(status.edited_at), datetime: status.edited_at.iso8601, title: l(status.edited_at), class: 'formatted'))
       - if status.discarded?
         ·
         %span.negative-hint= t('admin.statuses.deleted')
diff --git a/app/views/admin/reports/index.html.haml b/app/views/admin/reports/index.html.haml
index 619173373..248718a73 100644
--- a/app/views/admin/reports/index.html.haml
+++ b/app/views/admin/reports/index.html.haml
@@ -59,11 +59,11 @@
 
               %span.report-card__summary__item__content__icon{ title: t('admin.accounts.statuses') }
                 = fa_icon('comment')
-                = report.statuses.count
+                = report.status_ids.size
 
               %span.report-card__summary__item__content__icon{ title: t('admin.accounts.media_attachments') }
                 = fa_icon('camera')
-                = report.media_attachments.count
+                = report.media_attachments_count
 
               - if report.forwarded?
                 ·
diff --git a/app/views/admin/trends/links/_preview_card.html.haml b/app/views/admin/trends/links/_preview_card.html.haml
index d88e06bfd..2e6a0c62f 100644
--- a/app/views/admin/trends/links/_preview_card.html.haml
+++ b/app/views/admin/trends/links/_preview_card.html.haml
@@ -1,4 +1,4 @@
-.batch-table__row{ class: [preview_card.provider&.requires_review? && 'batch-table__row--attention', !preview_card.provider&.requires_review? && !preview_card.trendable? && 'batch-table__row--muted'] }
+.batch-table__row{ class: [preview_card.requires_review? && 'batch-table__row--attention', !preview_card.requires_review? && !preview_card.trendable? && 'batch-table__row--muted'] }
   %label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox
     = f.check_box :preview_card_ids, { multiple: true, include_hidden: false }, preview_card.id
 
@@ -25,6 +25,6 @@
         - if preview_card.decaying?

           = t('admin.trends.tags.peaked_on_and_decaying', date: l(preview_card.max_score_at.to_date, format: :short))
-      - elsif preview_card.provider&.requires_review?
+      - elsif preview_card.requires_review?

         = t('admin.trends.pending_review')
diff --git a/app/views/admin/trends/statuses/_status.html.haml b/app/views/admin/trends/statuses/_status.html.haml
index edb27b9ff..0c463c6b1 100644
--- a/app/views/admin/trends/statuses/_status.html.haml
+++ b/app/views/admin/trends/statuses/_status.html.haml
@@ -1,4 +1,4 @@
-.batch-table__row{ class: [status.account.requires_review? && 'batch-table__row--attention', !status.account.requires_review? && !status.trendable? && 'batch-table__row--muted'] }
+.batch-table__row{ class: [status.requires_review? && 'batch-table__row--attention', !status.requires_review? && !status.trendable? && 'batch-table__row--muted'] }
   %label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox
     = f.check_box :status_ids, { multiple: true, include_hidden: false }, status.id
 
@@ -9,7 +9,7 @@
       = link_to ActivityPub::TagManager.instance.url_for(status), target: '_blank', class: 'emojify', rel: 'noopener noreferrer' do
         = one_line_preview(status)
 
-        - status.media_attachments.each do |media_attachment|
+        - status.ordered_media_attachments.each do |media_attachment|
           %abbr{ title: media_attachment.description }
             = fa_icon 'link'
             = media_attachment.file_file_name
@@ -28,6 +28,6 @@
     - if status.trendable? && (rank = Trends.statuses.rank(status.id))

       %abbr{ title: t('admin.trends.tags.current_score', score: Trends.statuses.score(status.id)) }= t('admin.trends.tags.trending_rank', rank: rank + 1)
-    - elsif status.account.requires_review?
+    - elsif status.requires_review?

       = t('admin.trends.pending_review')
diff --git a/app/views/disputes/strikes/show.html.haml b/app/views/disputes/strikes/show.html.haml
index 7248b2574..0fc32b918 100644
--- a/app/views/disputes/strikes/show.html.haml
+++ b/app/views/disputes/strikes/show.html.haml
@@ -53,7 +53,7 @@
                   = link_to short_account_status_url(@strike.target_account, status_id), class: 'emojify' do
                     = one_line_preview(status)
 
-                    - status.media_attachments.each do |media_attachment|
+                    - status.ordered_media_attachments.each do |media_attachment|
                       %abbr{ title: media_attachment.description }
                         = fa_icon 'link'
                         = media_attachment.file_file_name
diff --git a/app/views/notification_mailer/_status.html.haml b/app/views/notification_mailer/_status.html.haml
index 31460a76e..f520208e1 100644
--- a/app/views/notification_mailer/_status.html.haml
+++ b/app/views/notification_mailer/_status.html.haml
@@ -33,9 +33,9 @@
                               %div.auto-dir
                                 = Formatter.instance.format(status)
 
-                                - if status.media_attachments.size > 0
+                                - if status.ordered_media_attachments.size > 0
                                   %p
-                                    - status.media_attachments.each do |a|
+                                    - status.ordered_media_attachments.each do |a|
                                       - if status.local?
                                         = link_to full_asset_url(a.file.url(:original)), full_asset_url(a.file.url(:original))
                                       - else
diff --git a/app/views/statuses/_detailed_status.html.haml b/app/views/statuses/_detailed_status.html.haml
index 1922f53ce..fd7e034b1 100644
--- a/app/views/statuses/_detailed_status.html.haml
+++ b/app/views/statuses/_detailed_status.html.haml
@@ -25,10 +25,10 @@
       - if status.preloadable_poll
         = render_poll_component(status)
 
-  - if !status.media_attachments.empty?
-    - if status.media_attachments.first.video?
+  - if !status.ordered_media_attachments.empty?
+    - if status.ordered_media_attachments.first.video?
       = render_video_component(status, width: 670, height: 380, detailed: true)
-    - elsif status.media_attachments.first.audio?
+    - elsif status.ordered_media_attachments.first.audio?
       = render_audio_component(status, width: 670, height: 380)
     - else
       = render_media_gallery_component(status, height: 380, standalone: true)
@@ -44,7 +44,7 @@
       %time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
     ·
     - if status.edited?
-      = t('statuses.edited_at', date: l(status.edited_at))
+      = t('statuses.edited_at_html', date: content_tag(:time, l(status.edited_at), datetime: status.edited_at.iso8601, title: l(status.edited_at), class: 'formatted'))
       ·
     %span.detailed-status__visibility-icon
       = visibility_icon status
diff --git a/app/views/statuses/_og_image.html.haml b/app/views/statuses/_og_image.html.haml
index c8b6147ef..5a647531a 100644
--- a/app/views/statuses/_og_image.html.haml
+++ b/app/views/statuses/_og_image.html.haml
@@ -1,6 +1,6 @@
 - if activity.is_a?(Status) && (activity.non_sensitive_with_media? || (activity.with_media? && Setting.preview_sensitive_media))
   - player_card = false
-  - activity.media_attachments.each do |media|
+  - activity.ordered_media_attachments.each do |media|
     - if media.image?
       = opengraph 'og:image', full_asset_url(media.file.url(:original))
       = opengraph 'og:image:type', media.file_content_type
diff --git a/app/views/statuses/_simple_status.html.haml b/app/views/statuses/_simple_status.html.haml
index b1e79a1cc..a41656323 100644
--- a/app/views/statuses/_simple_status.html.haml
+++ b/app/views/statuses/_simple_status.html.haml
@@ -8,7 +8,7 @@
         = visibility_icon status
       %time.time-ago{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
       - if status.edited?
-        %abbr{ title: t('statuses.edited_at', date: l(status.edited_at.to_date)) }
+        %abbr{ title: t('statuses.edited_at_html', date: l(status.edited_at.to_date)) }
           *
     %data.dt-published{ value: status.created_at.to_time.iso8601 }
 
@@ -37,10 +37,10 @@
       - if status.preloadable_poll
         = render_poll_component(status)
 
-  - if !status.media_attachments.empty?
-    - if status.media_attachments.first.video?
+  - if !status.ordered_media_attachments.empty?
+    - if status.ordered_media_attachments.first.video?
       = render_video_component(status, width: 610, height: 343)
-    - elsif status.media_attachments.first.audio?
+    - elsif status.ordered_media_attachments.first.audio?
       = render_audio_component(status, width: 610, height: 343)
     - else
       = render_media_gallery_component(status, height: 343)
diff --git a/app/views/user_mailer/warning.text.erb b/app/views/user_mailer/warning.text.erb
index 31d7308ae..1f410f441 100644
--- a/app/views/user_mailer/warning.text.erb
+++ b/app/views/user_mailer/warning.text.erb
@@ -32,4 +32,5 @@
 ---
 <% end %>
 
-<%= t 'user_mailer.warning.get_in_touch', instance: @instance %>
+<%= t 'user_mailer.warning.appeal_description', instance: @instance %>
+<%= disputes_strike_url(@warning) %>
diff --git a/app/workers/admin/domain_purge_worker.rb b/app/workers/admin/domain_purge_worker.rb
index 7cba2c89e..095232a6d 100644
--- a/app/workers/admin/domain_purge_worker.rb
+++ b/app/workers/admin/domain_purge_worker.rb
@@ -3,6 +3,8 @@
 class Admin::DomainPurgeWorker
   include Sidekiq::Worker
 
+  sidekiq_options queue: 'pull', lock: :until_executed
+
   def perform(domain)
     PurgeDomainService.new.call(domain)
   end
diff --git a/config/application.rb b/config/application.rb
index 77a46ffc2..1ce5fd857 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -76,6 +76,7 @@ module Mastodon
       :bn,
       :br,
       :ca,
+      :ckb,
       :co,
       :cs,
       :cy,
@@ -109,7 +110,6 @@ module Mastodon
       :ka,
       :kab,
       :kk,
-      :kmr,
       :kn,
       :ko,
       :ku,
diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb
index a5eed5db2..863db9d15 100644
--- a/config/initializers/content_security_policy.rb
+++ b/config/initializers/content_security_policy.rb
@@ -62,4 +62,20 @@ Rails.application.reloader.to_prepare do
   PgHero::HomeController.after_action do
     request.content_security_policy_nonce_generator = nil
   end
+
+  if Rails.env.development?
+    LetterOpenerWeb::LettersController.content_security_policy do |p|
+      p.child_src       :self
+      p.connect_src     :none
+      p.frame_ancestors :self
+      p.frame_src       :self
+      p.script_src      :unsafe_inline
+      p.style_src       :unsafe_inline
+      p.worker_src      :none
+    end
+
+    LetterOpenerWeb::LettersController.after_action do |p|
+      request.content_security_policy_nonce_directives = %w(script-src)
+    end
+  end
 end
diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb
index 1a041ad48..51241e546 100644
--- a/config/initializers/omniauth.rb
+++ b/config/initializers/omniauth.rb
@@ -8,7 +8,8 @@ Devise.setup do |config|
 
   # CAS strategy
   if ENV['CAS_ENABLED'] == 'true'
-    cas_options = options
+    cas_options = {}
+    cas_options[:display_name] = ENV['CAS_DISPLAY_NAME'] || 'cas'
     cas_options[:url] = ENV['CAS_URL'] if ENV['CAS_URL']
     cas_options[:host] = ENV['CAS_HOST'] if ENV['CAS_HOST']
     cas_options[:port] = ENV['CAS_PORT'] if ENV['CAS_PORT']
@@ -36,7 +37,8 @@ Devise.setup do |config|
 
   # SAML strategy
   if ENV['SAML_ENABLED'] == 'true'
-    saml_options = options
+    saml_options = {}
+    saml_options[:display_name] = ENV['SAML_DISPLAY_NAME'] || 'saml'
     saml_options[:assertion_consumer_service_url] = ENV['SAML_ACS_URL'] if ENV['SAML_ACS_URL']
     saml_options[:issuer] = ENV['SAML_ISSUER'] if ENV['SAML_ISSUER']
     saml_options[:idp_sso_target_url] = ENV['SAML_IDP_SSO_TARGET_URL'] if ENV['SAML_IDP_SSO_TARGET_URL']
@@ -64,4 +66,39 @@ Devise.setup do |config|
     saml_options[:allowed_clock_drift] = ENV['SAML_ALLOWED_CLOCK_DRIFT'] if ENV['SAML_ALLOWED_CLOCK_DRIFT']
     config.omniauth :saml, saml_options
   end
+
+  # OpenID Connect Strategy
+  if ENV['OIDC_ENABLED'] == 'true'
+    oidc_options = {}
+    oidc_options[:display_name] = ENV['OIDC_DISPLAY_NAME'] || 'openid_connect' #OPTIONAL
+    oidc_options[:issuer] = ENV['OIDC_ISSUER'] if ENV['OIDC_ISSUER'] #NEED
+    oidc_options[:discovery] = ENV['OIDC_DISCOVERY'] == 'true' if ENV['OIDC_DISCOVERY'] #OPTIONAL (default: false)
+    oidc_options[:client_auth_method] =  ENV['OIDC_CLIENT_AUTH_METHOD'] if ENV['OIDC_CLIENT_AUTH_METHOD'] #OPTIONAL (default: basic)
+    scope_string = ENV['OIDC_SCOPE'] if ENV['OIDC_SCOPE'] #NEED
+    scopes = scope_string.split(',')
+    oidc_options[:scope] = scopes.map { |x| x.to_sym }
+    oidc_options[:response_type] = ENV['OIDC_RESPONSE_TYPE'] if ENV['OIDC_RESPONSE_TYPE'] #OPTIONAL (default: code)
+    oidc_options[:response_mode] = ENV['OIDC_RESPONSE_MODE'] if ENV['OIDC_RESPONSE_MODE'] #OPTIONAL (default: query)
+    oidc_options[:display] = ENV['OIDC_DISPLAY'] if ENV['OIDC_DISPLAY'] #OPTIONAL (default: page)
+    oidc_options[:prompt] = ENV['OIDC_PROMPT'] if ENV['OIDC_PROMPT'] #OPTIONAL
+    oidc_options[:send_nonce] = ENV['OIDC_SEND_NONCE'] == 'true' if ENV['OIDC_SEND_NONCE'] #OPTIONAL (default: true)
+    oidc_options[:send_scope_to_token_endpoint] = ENV['OIDC_SEND_SCOPE_TO_TOKEN_ENDPOINT'] == 'true' if ENV['OIDC_SEND_SCOPE_TO_TOKEN_ENDPOINT'] #OPTIONAL (default: true)
+    oidc_options[:post_logout_redirect_uri] = ENV['OIDC_IDP_LOGOUT_REDIRECT_URI'] if ENV['OIDC_IDP_LOGOUT_REDIRECT_URI'] #OPTIONAL
+    oidc_options[:uid_field] = ENV['OIDC_UID_FIELD'] if ENV['OIDC_UID_FIELD'] #NEED
+    oidc_options[:client_options] = {}
+    oidc_options[:client_options][:identifier] = ENV['OIDC_CLIENT_ID'] if ENV['OIDC_CLIENT_ID'] #NEED
+    oidc_options[:client_options][:secret] = ENV['OIDC_CLIENT_SECRET'] if ENV['OIDC_CLIENT_SECRET'] #NEED
+    oidc_options[:client_options][:redirect_uri] = ENV['OIDC_REDIRECT_URI'] if ENV['OIDC_REDIRECT_URI'] #NEED
+    oidc_options[:client_options][:scheme] = ENV['OIDC_HTTP_SCHEME'] if ENV['OIDC_HTTP_SCHEME'] #OPTIONAL (default: https)
+    oidc_options[:client_options][:host] = ENV['OIDC_HOST'] if ENV['OIDC_HOST'] #OPTIONAL
+    oidc_options[:client_options][:port] = ENV['OIDC_PORT'] if ENV['OIDC_PORT'] #OPTIONAL
+    oidc_options[:client_options][:authorization_endpoint] = ENV['OIDC_AUTH_ENDPOINT'] if ENV['OIDC_AUTH_ENDPOINT'] #NEED when discovery != true
+    oidc_options[:client_options][:token_endpoint] = ENV['OIDC_TOKEN_ENDPOINT'] if ENV['OIDC_TOKEN_ENDPOINT'] #NEED when discovery != true
+    oidc_options[:client_options][:userinfo_endpoint] = ENV['OIDC_USER_INFO_ENDPOINT'] if ENV['OIDC_USER_INFO_ENDPOINT'] #NEED when discovery != true
+    oidc_options[:client_options][:jwks_uri] = ENV['OIDC_JWKS_URI'] if ENV['OIDC_JWKS_URI'] #NEED when discovery != true
+    oidc_options[:client_options][:end_session_endpoint] = ENV['OIDC_END_SESSION_ENDPOINT'] if ENV['OIDC_END_SESSION_ENDPOINT'] #OPTIONAL
+    oidc_options[:security] = {}
+    oidc_options[:security][:assume_email_is_verified] = ENV['OIDC_SECURITY_ASSUME_EMAIL_IS_VERIFIED'] == 'true' #OPTIONAL
+    config.omniauth :openid_connect, oidc_options
+  end
 end
diff --git a/config/initializers/pghero.rb b/config/initializers/pghero.rb
new file mode 100644
index 000000000..0c77d6d0f
--- /dev/null
+++ b/config/initializers/pghero.rb
@@ -0,0 +1 @@
+PgHero.show_migrations = Rails.env.development?
diff --git a/config/initializers/rack_attack.rb b/config/initializers/rack_attack.rb
index c3733e377..745eb5d3b 100644
--- a/config/initializers/rack_attack.rb
+++ b/config/initializers/rack_attack.rb
@@ -118,9 +118,9 @@ class Rack::Attack
     req.session[:attempt_user_id] || req.params.dig('user', 'email').presence if req.post? && req.path == '/auth/sign_in'
   end
 
-  self.throttled_response = lambda do |env|
+  self.throttled_responder = lambda do |request|
     now        = Time.now.utc
-    match_data = env['rack.attack.match_data']
+    match_data = request.env['rack.attack.match_data']
 
     headers = {
       'Content-Type'          => 'application/json',
diff --git a/config/locales-glitch/en.yml b/config/locales-glitch/en.yml
index 7fd0683c9..3b554f4a2 100644
--- a/config/locales-glitch/en.yml
+++ b/config/locales-glitch/en.yml
@@ -1,6 +1,9 @@
 ---
 en:
   admin:
+    custom_emojis:
+      batch_copy_error: 'An error occurred when copying some of the selected emoji: %{message}'
+      batch_error: 'An error occurred: %{message}'
     settings:
       captcha_enabled:
         desc_html: This relies on external scripts from hCaptcha, which may be a security and privacy concern. In addition, <strong>this can make the registration process significantly less accessible to some (especially disabled) people</strong>. For these reasons, please consider alternative measures such as approval-based or invite-based registration.<br>Users that have been invited through a limited-use invite will not need to solve a CAPTCHA
diff --git a/config/locales/activerecord.ca.yml b/config/locales/activerecord.ca.yml
index e74146645..fba97157f 100644
--- a/config/locales/activerecord.ca.yml
+++ b/config/locales/activerecord.ca.yml
@@ -19,12 +19,12 @@ ca:
         account:
           attributes:
             username:
-              invalid: només lletres, números i subratllats
+              invalid: ha de contenir només lletres, números i subratllats
               reserved: està reservat
         status:
           attributes:
             reblog:
-              taken: del tut ja existeix
+              taken: de la publicació ja existeix
         user:
           attributes:
             email:
diff --git a/config/locales/activerecord.ckb.yml b/config/locales/activerecord.ckb.yml
new file mode 100644
index 000000000..8da0598a1
--- /dev/null
+++ b/config/locales/activerecord.ckb.yml
@@ -0,0 +1,17 @@
+---
+ckb:
+  activerecord:
+    attributes:
+      poll:
+        expires_at: وادەی کۆتایی
+        options: هەڵبژاردنەکان
+    errors:
+      models:
+        account:
+          attributes:
+            username:
+              invalid: تەنها پیت، ژمارە و ژێرەوە
+        status:
+          attributes:
+            reblog:
+              taken: لە بار بوونی هەیە
diff --git a/config/locales/activerecord.da.yml b/config/locales/activerecord.da.yml
index 513cb2a8f..081f4af76 100644
--- a/config/locales/activerecord.da.yml
+++ b/config/locales/activerecord.da.yml
@@ -3,7 +3,7 @@ da:
   activerecord:
     attributes:
       poll:
-        expires_at: Tidsfrist
+        expires_at: Deadline
         options: Valgmuligheder
       user:
         agreement: Tjenesteaftale
@@ -29,4 +29,4 @@ da:
           attributes:
             email:
               blocked: bruger en ikke-tilladt e-mailudbyder
-              unreachable: synes ikke at findes
+              unreachable: ser ikke ud til at eksistere
diff --git a/config/locales/activerecord.fr.yml b/config/locales/activerecord.fr.yml
index 47cd8765d..34cf0b837 100644
--- a/config/locales/activerecord.fr.yml
+++ b/config/locales/activerecord.fr.yml
@@ -24,7 +24,7 @@ fr:
         status:
           attributes:
             reblog:
-              taken: du statut existe déjà
+              taken: du message existe déjà
         user:
           attributes:
             email:
diff --git a/config/locales/activerecord.kmr.yml b/config/locales/activerecord.kmr.yml
deleted file mode 100644
index 30afeda99..000000000
--- a/config/locales/activerecord.kmr.yml
+++ /dev/null
@@ -1,32 +0,0 @@
----
-kmr:
-  activerecord:
-    attributes:
-      poll:
-        expires_at: Dîroka dawîbûnê
-        options: Hilbijark
-      user:
-        agreement: Peymana karûbarê
-        email: Navnîşana E-nameyê
-        locale: Herêmî
-        password: Pêborîn
-      user/account:
-        username: Navê bikarhêneriyê
-      user/invite_request:
-        text: Sedem
-    errors:
-      models:
-        account:
-          attributes:
-            username:
-              invalid: pêdivî ye ku tenê tîp, hejmar û xêzikên jêrîn hebin
-              reserved: hatiye bikaranîn
-        status:
-          attributes:
-            reblog:
-              taken: ev nivîs berê heye jixwe
-        user:
-          attributes:
-            email:
-              blocked: dabînkerê e-nameya qedexe bi kar tîne
-              unreachable: xuya ye ku tune ye
diff --git a/config/locales/activerecord.ku.yml b/config/locales/activerecord.ku.yml
index 3b976de8c..3a3a1d843 100644
--- a/config/locales/activerecord.ku.yml
+++ b/config/locales/activerecord.ku.yml
@@ -3,15 +3,30 @@ ku:
   activerecord:
     attributes:
       poll:
-        expires_at: وادەی کۆتایی
-        options: هەڵبژاردنەکان
+        expires_at: Dîroka dawîbûnê
+        options: Hilbijark
+      user:
+        agreement: Peymana karûbarê
+        email: Navnîşana E-nameyê
+        locale: Herêmî
+        password: Pêborîn
+      user/account:
+        username: Navê bikarhêneriyê
+      user/invite_request:
+        text: Sedem
     errors:
       models:
         account:
           attributes:
             username:
-              invalid: تەنها پیت، ژمارە و ژێرەوە
+              invalid: pêdivî ye ku tenê tîp, hejmar û xêzikên jêrîn hebin
+              reserved: hatiye bikaranîn
         status:
           attributes:
             reblog:
-              taken: لە بار بوونی هەیە
+              taken: ev nivîs berê heye jixwe
+        user:
+          attributes:
+            email:
+              blocked: dabînkerê e-nameya qedexe bi kar tîne
+              unreachable: xuya ye ku tune ye
diff --git a/config/locales/activerecord.nn.yml b/config/locales/activerecord.nn.yml
index 4f6a348dd..f23f9ae6c 100644
--- a/config/locales/activerecord.nn.yml
+++ b/config/locales/activerecord.nn.yml
@@ -7,6 +7,7 @@ nn:
         options: Val
       user:
         email: E-mail address
+        locale: Område
         password: Passord
       user/account:
         username: Brukernavn
diff --git a/config/locales/activerecord.th.yml b/config/locales/activerecord.th.yml
index 775ca2edc..26604ba5f 100644
--- a/config/locales/activerecord.th.yml
+++ b/config/locales/activerecord.th.yml
@@ -29,4 +29,4 @@ th:
           attributes:
             email:
               blocked: ใช้ผู้ให้บริการอีเมลที่ไม่ได้รับอนุญาต
-              unreachable: ดูเหมือนว่าจะไม่มีอยู่จริง
+              unreachable: ดูเหมือนว่าจะไม่มีอยู่
diff --git a/config/locales/activerecord.tt.yml b/config/locales/activerecord.tt.yml
index a689958c4..5f28508d6 100644
--- a/config/locales/activerecord.tt.yml
+++ b/config/locales/activerecord.tt.yml
@@ -8,3 +8,5 @@ tt:
         password: Парол
       user/account:
         username: Кулланучы исеме
+      user/invite_request:
+        text: Сәбаб
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index 62822b0b2..4ccadab8b 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -16,6 +16,7 @@ ar:
     contact: للتواصل معنا
     contact_missing: لم يتم تعيينه
     contact_unavailable: غير متوفر
+    continue_to_web: المتابعة إلى تطبيق الويب
     discover_users: اكتشف مستخدِمين
     documentation: الدليل
     federation_hint_html: بواسطة حساب في %{instance} ستتمكن من تتبع أناس في أي خادم ماستدون وأكثر.
@@ -81,7 +82,6 @@ ar:
     media: الوسائط
     moved_html: "%{name} إنتقلَ إلى %{new_profile_link}:"
     network_hidden: إنّ المعطيات غير متوفرة
-    never_active: أبدا
     nothing_here: لا يوجد أي شيء هنا!
     people_followed_by: الأشخاص الذين يتبعهم %{name}
     people_who_follow: الأشخاص الذين يتبعون %{name}
@@ -242,6 +242,7 @@ ar:
       whitelisted: في القائمة البيضاء
     action_logs:
       action_types:
+        approve_appeal: الموافقة على الطعن
         approve_user: الموافقة على المستخدم
         assigned_to_self_report: أسند التقرير
         change_email_user: تغيير عنوان البريد الإلكتروني الخاص بالمستخدم
@@ -273,6 +274,7 @@ ar:
         enable_user: تفعيل المستخدم
         memorialize_account: جعل الحساب تذكاريا
         promote_user: ترقية المستخدم
+        reject_appeal: رفض الطعن
         reject_user: ارفض المستخدم
         remove_avatar_user: احذف الصورة الرمزية
         reopen_report: إعادة فتح التقرير
@@ -374,7 +376,6 @@ ar:
       enable: تفعيل
       enabled: مُشغَّل
       enabled_msg: تم تنشيط ذاك الإيموجي بنجاح
-      image_hint: ملف PNG إلى غاية حجم 50 ك.ب
       list: القائمة
       listed: مُدرَج
       new:
@@ -404,6 +405,10 @@ ar:
       top_languages: اللغات الأكثر نشاطا
       top_servers: الخوادم الأكثر نشاطا
       website: موقع الويب
+    disputes:
+      appeals:
+        empty: ليست هناك أية طعون.
+        title: الطعون
     domain_allows:
       add_new: إضافة النطاق إلى القائمة البيضاء
       created_msg: تمت إضافة النطاق إلى القائمة البيضاء بنجاح
@@ -435,17 +440,6 @@ ar:
       reject_media_hint: يزيل ملفات الوسائط المخزنة محليًا ويرفض تنزيل أي ملفات في المستقبل. غير ذي صلة للتعليق
       reject_reports: رفض التقارير
       reject_reports_hint: تجاهل جميع تقارير الإبلاغ القادمة من هذا النطاق. هذا يستثي التعليقات
-      rejecting_media: جار رفض ملفات الوسائط
-      rejecting_reports: جار رفض التقارير
-      severity:
-        silence: تم كتمه
-        suspend: تم تعليقه
-      show:
-        retroactive:
-          silence: إلغاء الكتم عن كافة الحسابات المتواجدة على هذا النطاق
-          suspend: إلغاء التعليق المفروض على كافة حسابات هذا النطاق
-        title: رفع حظر النطاق عن %{domain}
-        undo: إلغاء
       undo: إلغاء حجب النطاق
       view: عرض كتلة النطاق
     email_domain_blocks:
@@ -475,21 +469,14 @@ ar:
         clear: مسح أخطاء التسليم
         restart: إعادة تشغيل التوصيل
         stop: إيقاف التوصيل
-        title: التوصيل
         unavailable: غير متوفر
-        unavailable_message: التوصيل غير متوفر
-        warning: تحذير
-        warning_message:
-          few: فشل التوصيل لـ%{count} أيام
-          many: فشل التوصيل لـ%{count} يوم
-          one: فشل التوصيل لـ%{count} يوم
-          other: فشل التوصيل لـ%{count} يوم
-          two: فشل التوصيل لـ%{count} يوم
-          zero: فشل التوصيل لـ%{count} يوم
       delivery_available: التسليم متوفر
       delivery_error_days: أيام أخطاء التوصيل
       delivery_error_hint: إذا كان التوصيل غير ممكناً لـ%{count} يوم، فستوضع عليها علامة {غير قابلة للتسليم} تلقائياً.
       empty: لم يتم العثور على نطاقات.
+      known_accounts:
+        one: "%{count} حساب معروف"
+        other: "%{count} حسابات معروفة"
       moderation:
         all: كافتها
         limited: محدود
@@ -700,12 +687,16 @@ ar:
       back_to_report: العودة إلى صفحة التقرير
       batch:
         remove_from_report: إزالة من التقرير
+        report: إبلاغ
       deleted: محذوف
       media:
         title: الوسائط
       no_status_selected: لم يطرأ أي تغيير على أي منشور بما أنه لم يتم اختيار أي واحد
       title: منشورات الحساب
       with_media: تحتوي على وسائط
+    strikes:
+      appeal_approved: طُعِن فيه
+      appeal_pending: طعن قيد المراجعة
     system_checks:
       database_schema_check:
         message_html: هناك عمليات هجرة معلقة لقواعد البيانات. يرجى تشغيلها لضمان تصرف التطبيق كما هو متوقع
@@ -759,6 +750,15 @@ ar:
       empty: لم تحدد أي إعدادات تحذير مسبقة بعد.
       title: إدارة نماذج التحذير
   admin_mailer:
+    new_appeal:
+      actions:
+        delete_statuses: لحذف منشوراتهم
+        disable: لتجميد حسابهم
+        mark_statuses_as_sensitive: لوضع علامة حساس على منشوراتهم
+        none: لتحذيرهم
+        sensitive: لجعل حسابهم كحساس
+        silence: للحد من حسابهم
+        suspend: لتعليق حسابهم
     new_pending_account:
       body: تفاصيل الحساب الجديد أدناه. يمكنك الموافقة على هذا الطلب أو رفضه.
       subject: حساب جديد في انتظار مراجعة على %{instance} (%{username})
@@ -766,6 +766,11 @@ ar:
       body: قام %{reporter} بالإبلاغ عن %{target}
       body_remote: أبلغ شخص ما من %{domain} عن %{target}
       subject: تقرير جديد ل%{instance} (#%{id})
+    new_trends:
+      new_trending_statuses:
+        title: المنشورات الشائعة
+      new_trending_tags:
+        title: الوسوم المتداولة
   aliases:
     add_new: أنشئ كُنية
     created_msg: تم إنشاء الكُنية الجديدة بنجاح. يمكنكم الآن الشروع في الإنتقال مِن حسابكم القديم.
@@ -904,6 +909,27 @@ ar:
     directory: سِجلّ الصفحات التعريفية
     explanation: استكشف مستخدِمين آخرين حسب المواضيع التي تهمهم
     explore_mastodon: استكشف %{title}
+  disputes:
+    strikes:
+      action_taken: الإجراء المتخذ
+      appeal: طعن
+      appeal_rejected: رُفِض الطعن
+      appeal_submitted_at: طعن أرسِل في
+      appealed_msg: تم تقديم طعنك. إذا تمت الموافقة عليه، سيتم إبلاغك.
+      appeals:
+        submit: تقديم طعن
+      associated_report: التقرير المتربط
+      created_at: بتاريخ
+      recipient: موجّه إلى
+      status: 'المنشور #%{id}'
+      title_actions:
+        delete_statuses: إزالة منشور
+        disable: تجميد للحساب
+        none: تحذير
+        suspend: تعليق للحساب
+      your_appeal_approved: تمت الموافقة على طعنك
+      your_appeal_pending: لقد قمت بتقديم طعن
+      your_appeal_rejected: تم رفض طعنك
   domain_validator:
     invalid_domain: ليس بإسم نطاق صالح
   errors:
@@ -1316,7 +1342,6 @@ ar:
       other: 'يحتوي على وسوم غير مسموح بها: %{tags}'
       two: 'يحتوي على وسوم غير مسموح بها: %{tags}'
       zero: 'يحتوي على وسوم غير مسموح بها: %{tags}'
-    edited_at: عُدّل في %{date}
     errors:
       in_reply_not_found: إنّ المنشور الذي تحاول الرد عليه غير موجود على ما يبدو.
     open_in_web: افتح في الويب
@@ -1382,6 +1407,7 @@ ar:
       '2629746': شهر واحد
       '31556952': سنة واحدة
       '5259492': شهران
+      '604800': أسبوع
       '63113904': أسبوعان
       '7889238': 3 أشهر
     min_age_label: عتبة العمر
@@ -1504,6 +1530,13 @@ ar:
     recovery_instructions_html: إن فقدت الوصول إلى هاتفك، يمكنك استخدام أحد رموز الاسترداد أدناه لاستعادة الوصول إلى حسابك. <strong>حافظ على رموز الاسترداد بأمان</strong>. يمكنك ، على سبيل المثال ، طباعتها وتخزينها مع مستندات أخرى هامة.
     webauthn: مفاتيح الأمان
   user_mailer:
+    appeal_approved:
+      action: انتقل إلى حسابك
+      subject: تم قبول طعنك الذي قدمته بتاريخ %{date}
+      title: تم قبول طعنك
+    appeal_rejected:
+      subject: تم رفض طعنك الذي قدمته بتاريخ %{date}
+      title: رُفض الاستئناف
     backup_ready:
       explanation: لقد قمت بطلب نسخة كاملة لحسابك على ماستدون. إنها متوفرة الآن للتنزيل!
       subject: نسخة بيانات حسابك جاهزة للتنزيل
@@ -1515,13 +1548,14 @@ ar:
       subject: الرجاء تأكيد محاولة الولوج
       title: محاولة الولوج
     warning:
+      appeal: تقديم طعن
+      appeal_description: إذا كنت تعتقد أن هذا خطأ، يمكنك تقديم طعن إلى فريق %{instance}.
       categories:
         spam: مزعج
         violation: ينتهك المحتوى المبادئ التوجيهية التالية للمجتمع
       explanation:
         sensitive: من الآن فصاعدا، سيتم وضع علامة على جميع ملفات الوسائط التي يتم تحميلها على أنها حساسة وستكون مخفية خلف تحذير يُنقر.
         silence: لا يزال بإمكانك استخدام حسابك ولكن فقط الأشخاص الذين يتابعونك فقط يمكنهم رؤية منشوراتك على هذا الخادم، وقد يتم استبعادك من ميزات الاكتشاف المختلفة. قد يتبعك آخرون على كل حال يدوياً.
-      get_in_touch: إذا كنت تعتقد أن هذا خطأ، يمكنك الرد على هذا البريد الإلكتروني للتواصل مع فريق %{instance}.
       reason: 'السبب:'
       subject:
         disable: تم تجميد حسابك %{acct}
@@ -1532,7 +1566,6 @@ ar:
         delete_statuses: منشورات محذوفة
         disable: الحساب مُجمَّد
         none: تحذير
-        sensitive: الوسائط المخفية
         silence: الحساب محدود
         suspend: الحساب مُعلَّق
     welcome:
diff --git a/config/locales/ast.yml b/config/locales/ast.yml
index 2a76b8773..bed51bd94 100644
--- a/config/locales/ast.yml
+++ b/config/locales/ast.yml
@@ -21,8 +21,8 @@ ast:
     server_stats: 'Estadístiques del sirvidor:'
     source_code: Códigu fonte
     status_count_after:
-      one: estáu
-      other: estaos
+      one: artículu
+      other: artículos
     status_count_before: Que crearon
     tagline: Sigui a persones y conoz a más xente
     terms: Términos del serviciu
@@ -42,27 +42,30 @@ ast:
     joined: Xunióse en %{date}
     moved_html: "%{name} mudóse a %{new_profile_link}:"
     network_hidden: Esta información nun ta disponible
-    never_active: Enxamás
     nothing_here: "¡Equí nun hai nada!"
     people_followed_by: Persones a les que sigue %{name}
     people_who_follow: Persones que siguen a %{name}
     posts:
-      one: Barritu
-      other: Barritos
-    posts_tab_heading: Barritos
+      one: Artículu
+      other: Artículos
+    posts_tab_heading: Artículos
     posts_with_replies: Barritos y rempuestes
     roles:
       bot: Robó
   admin:
     accounts:
       are_you_sure: "¿De xuru?"
+      avatar: Avatar
       by_domain: Dominiu
       domain: Dominiu
       email: Corréu
       followers: Siguidores
+      ip: IP
       location:
         local: Llocal
         title: Allugamientu
+      most_recent_activity: L'actividá más recién
+      most_recent_ip: La IP más recién
       protocol: Protocolu
       reject: Refugar
       resend_confirmation:
@@ -82,17 +85,32 @@ ast:
         title: Anunciu nuevu
       published_msg: "¡L'anunciu espublizóse coreutamente!"
       title: Anuncios
+      updated_msg: "¡L'anunciu anovóse correutamente!"
     custom_emojis:
       by_domain: Dominiu
       copy_failed_msg: Nun pudo facese una copia llocal d'esi fustaxe
       emoji: Fustaxe
+      not_permitted: Nun tienes permisu pa facer esta aición
       update_failed_msg: Nun pudo anovase esi fustaxe
+    dashboard:
+      media_storage: Almacenamientu multimedia
+      software: Software
+      top_languages: Les llingües más actives
+      website: Sitiu web
     domain_blocks:
       domain: Dominiu
+      private_comment: Comentariu priváu
+      public_comment: Comentariu públicu
     email_domain_blocks:
       domain: Dominiu
     instances:
+      availability:
+        title: Disponibilidá
       by_domain: Dominiu
+      content_policies:
+        comment: Nota interna
+        policy: Política
+        reason: Motivu públicu
       private_comment: Comentariu priváu
       public_comment: Comentariu públicu
       title: Federación
@@ -161,9 +179,12 @@ ast:
     login: Aniciar sesión
     migrate_account: Mudase a otra cuenta
     migrate_account_html: Si deseyes redirixir esta cuenta a otra, pues <a href="%{path}">configuralo equí</a>.
+    providers:
+      cas: CAS
+      saml: SAML
     register: Rexistrase
     security: Seguranza
-    trouble_logging_in: "¿Problemes col aniciu de sesión?"
+    trouble_logging_in: "¿Tienes problemes col aniciu de sesión?"
   authorize_follow:
     already_following: Yá tas siguiendo a esta cuenta
     already_requested: Yá unviesti una solicitú de siguimientu a esa cuenta
@@ -175,8 +196,16 @@ ast:
       web: Dir a la web
   datetime:
     distance_in_words:
+      about_x_hours: "%{count} h"
+      about_x_years: "%{count} a"
+      almost_x_years: "%{count} a"
       half_a_minute: Puramente agora
+      less_than_x_minutes: "%{count} m"
       less_than_x_seconds: Puramente agora
+      over_x_years: "%{count} a"
+      x_days: "%{count} d"
+      x_minutes: "%{count} m"
+      x_seconds: "%{count} s"
   deletes:
     challenge_not_passed: La información qu'introduxesti nun yera correuta
     confirm_password: Introduz la contraseña pa verificar la to identidá
@@ -193,7 +222,7 @@ ast:
   errors:
     '400': The request you submitted was invalid or malformed.
     '403': Nun tienes permisu pa ver esta páxina.
-    '404': La páxina que tabes guetando nun ta equí.
+    '404': La páxina que busques nun ta equí.
     '406': Esta páxina nun ta disponible nel formatu solicitáu.
     '410': La páxina que tabes guetando yá nun esiste.
     '422':
@@ -201,7 +230,7 @@ ast:
       title: Falló la verificación de seguranza
     '429': Ficiéronse milenta solicitúes
     '500': 
-    '503': The page could not be served due to a temporary server failure.
+    '503': Nun se pudo sirvir la páxina pola mor d'un fallu temporal del sirvidor.
   exports:
     archive_takeout:
       date: Data
@@ -213,6 +242,7 @@ ast:
     blocks: Xente que bloquiesti
     lists: Llistes
     mutes: Xente que silenciesti
+    storage: Almacenamientu multimedia
   featured_tags:
     add_new: Amestar
   filters:
@@ -275,8 +305,8 @@ ast:
       limit: Algamesti la cantidá máxima de llistes
   media_attachments:
     validations:
-      images_and_video: Nun pue axuntase un videu a un estáu que yá contién imáxenes
-      too_many: Nun puen axuntase más de 4 ficheros
+      images_and_video: Nun se pue axuntar nengún videu a un artículu que yá contién imáxenes
+      too_many: Nun se puen axuntar más de 4 ficheros
   migrations:
     acct: nome_usuariu@dominiu de la cuenta nueva
     incoming_migrations: Mudase dende otra cuenta
@@ -349,6 +379,11 @@ ast:
       generic: Restolador desconocíu
       ie: Internet Explorer
       micro_messenger: MicroMessenger
+      opera: Opera
+      otter: Otter
+      phantom_js: PhantomJS
+      uc_browser: UCBrowser
+      weibo: Weibo
     current_session: Sesión actual
     description: "%{browser} en %{platform}"
     ip: IP
@@ -399,7 +434,7 @@ ast:
     boosted_from_html: Compartióse'l barritu dende %{acct_link}
     pin_errors:
       limit: Yá fixesti'l númberu máximu de barritos
-      ownership: Nun pue fixase'l barritu d'otra persona
+      ownership: Nun se pue fixar l'artículu d'otru perfil
       reblog: Nun pue fixase un barritu compartíu
     poll:
       total_people:
@@ -423,6 +458,7 @@ ast:
       '2629746': 1 mes
       '31556952': 1 añu
       '5259492': 2 meses
+      '604800': 1 selmana
       '63113904': 2 años
       '7889238': 3 meses
   stream_entries:
@@ -446,6 +482,7 @@ ast:
     webauthn: Claves d'autenticación
   user_mailer:
     warning:
+      reason: 'Motivu:'
       subject:
         suspend: Suspendióse la cuenta %{acct}
       title:
@@ -456,6 +493,7 @@ ast:
       subject: Afáyate en Mastodon
       tips: Conseyos
   users:
+    follow_limit_reached: Nun pues siguir a más de %{limit} persones
     invalid_otp_token: El códigu nun ye válidu
     otp_lost_help_html: Si pierdes l'accesu, contauta con %{email}
     seamless_external_login: Aniciesti sesión pente un serviciu esternu, polo que los axustes de la contraseña y corréu nun tán disponibles.
diff --git a/config/locales/bg.yml b/config/locales/bg.yml
index ba0d2e4a5..e017dd0e2 100644
--- a/config/locales/bg.yml
+++ b/config/locales/bg.yml
@@ -61,7 +61,6 @@ bg:
     media: Мултимедия
     moved_html: "%{name} се премести в %{new_profile_link}:"
     network_hidden: Тази информация не е налична
-    never_active: Никога
     nothing_here: Тук няма никого!
     people_followed_by: Хора, които %{name} следва
     people_who_follow: Хора, които следват %{name}
diff --git a/config/locales/bn.yml b/config/locales/bn.yml
index 5d7f89a70..20a99fd2f 100644
--- a/config/locales/bn.yml
+++ b/config/locales/bn.yml
@@ -64,7 +64,6 @@ bn:
     media: ছবি বা ভিডিও
     moved_html: "%{name} চলে গেছে %{new_profile_link} তে:"
     network_hidden: এই তথ্যটি নেই
-    never_active: কখনও না
     nothing_here: এখানে কিছুই নেই!
     people_followed_by: "%{name} যাদেরকে অনুসরণ করে"
     people_who_follow: যারা %{name} কে অনুসরণ করে
@@ -235,7 +234,6 @@ bn:
       enable: সক্রিয়
       enabled: সক্রিয়
       enabled_msg: সফলভাবে সেই ইমোজি সক্ষম করা হয়েছে
-      image_hint: ৫০কেবি অবধি পিএনজি
       list: তালিকা
       listed: তালিকাভুক্ত
       new:
diff --git a/config/locales/br.yml b/config/locales/br.yml
index 0f66b6fbc..618ea48b5 100644
--- a/config/locales/br.yml
+++ b/config/locales/br.yml
@@ -36,7 +36,6 @@ br:
       other: Heulier·ez
       two: Heulier·ez
     following: O heuliañ
-    never_active: Birviken
     posts:
       few: Toud
       many: Toud
@@ -117,11 +116,6 @@ br:
           noop: Hini ebet
           silence: Mudañ
           suspend: Astalañ
-      severity:
-        silence: mudet
-        suspend: astalet
-      show:
-        undo: Dizober
     email_domain_blocks:
       add_new: Ouzhpenniñ unan nevez
       delete: Dilemel
diff --git a/config/locales/ca.yml b/config/locales/ca.yml
index 11cd14566..460feb037 100644
--- a/config/locales/ca.yml
+++ b/config/locales/ca.yml
@@ -16,6 +16,7 @@ ca:
     contact: Contacte
     contact_missing: No configurat
     contact_unavailable: N/D
+    continue_to_web: Continua a l'aplicació web
     discover_users: Descobrir usuaris
     documentation: Documentació
     federation_hint_html: Amb un compte de %{instance} podràs seguir persones de qualsevol servidor Mastodon i altres.
@@ -25,6 +26,8 @@ ca:
       Aquest compte és un actor virtual utilitzat per a representar al propi servidor i no cap usuari individual.
       S'utilitza per a propòsits de federació i no ha de ser bloquejat si no voleu bloquejar tota la instància, en aquest cas hauríeu d'utilitzar un bloqueig de domini.
     learn_more: Més informació
+    logged_in_as_html: Actualment has iniciat sessió com a %{username}.
+    logout_before_registering: Ja has iniciat sessió.
     privacy_policy: Política de privadesa
     rules: Normes del servidor
     rules_html: 'El de sota és un resum de les normes que has de seguir si vols tenir un compte en aquest servidor de Mastodon:'
@@ -69,7 +72,6 @@ ca:
     media: Mèdia
     moved_html: "%{name} s'ha mogut a %{new_profile_link}:"
     network_hidden: Aquesta informació no està disponible
-    never_active: Mai
     nothing_here: No hi ha res aquí!
     people_followed_by: Usuaris seguits per %{name}
     people_who_follow: Usuaris que segueixen %{name}
@@ -371,7 +373,7 @@ ca:
       enable: Habilita
       enabled: Activat
       enabled_msg: S'ha habilitat amb èxit emoji
-      image_hint: PNG de fins a 50 KB
+      image_hint: PNG or GIF fins a %{size}
       list: Llista
       listed: Enumerat
       new:
@@ -448,21 +450,6 @@ ca:
       reject_media_hint: Elimina els fitxers multimèdia emmagatzemats localment i impedeix baixar-ne cap en el futur. Irrellevant en les suspensions
       reject_reports: Rebutja informes
       reject_reports_hint: Ignora tots els informes procedents d'aquest domini. No és rellevant per a les suspensions
-      rejecting_media: rebutjant els fitxers multimèdia
-      rejecting_reports: rebutjant els informes
-      severity:
-        silence: silenciat
-        suspend: suspès
-      show:
-        affected_accounts:
-          one: Un compte afectat en la base de dades
-          other: "%{count} comptes afectats en la base de dades"
-          zero: Cap compte afectat en la base de dades
-        retroactive:
-          silence: Desfés el silenci a tots els comptes existents d'aquest domini
-          suspend: Desfés la suspensió de tots els comptes d'aquest domini
-        title: Desfés el bloqueig de domini de %{domain}
-        undo: Desfés
       undo: Desfés el bloqueig del domini
       view: Veure el bloqueig del domini
     email_domain_blocks:
@@ -493,23 +480,47 @@ ca:
       title: Seguir les recomanacions
       unsuppress: Restaurar les recomanacions de seguiment
     instances:
+      availability:
+        description_html:
+          one: Si la tramesa cap el domini falla <strong>%{count} dia</strong> sense èxit, no es faran més intents d'entrega a no ser que es rebi una tramesa <em>des de</em> el domini.
+          other: Si la tramesa cap el domini falla durant <strong>%{count} diferents dies</strong> sense èxit, no es faran més intents a no se que es rebi una tramesa <em>des de</em> el domini.
+        failure_threshold_reached: Llindar de fallada assolit el %{date}.
+        failures_recorded:
+          one: Inten fallit en %{count} dia.
+          other: Intents fallits en %{count} diferents dies.
+        no_failures_recorded: Sense errors registrats.
+        title: Disponibilitat
       back_to_all: Totes
       back_to_limited: Limitades
       back_to_warning: Avís
       by_domain: Domini
       confirm_purge: Estàs segur que vols eliminar permanentment les dades d'aquest domini?
+      content_policies:
+        comment: Nota interna
+        description_html: Pots definir polítiques de contingut que seran aplicades a tots els comptes d'aquest domini i a qualsevol dels seus subdominis.
+        policies:
+          reject_media: Rebutja mèdia
+          reject_reports: Rebutja informes
+          silence: Límit
+          suspend: Suspèn
+        policy: Política
+        reason: Raó pública
+        title: Polítiques de contingut
+      dashboard:
+        instance_accounts_dimension: Comptes més seguits
+        instance_accounts_measure: comptes desats
+        instance_followers_measure: els nostres seguidors d'allà
+        instance_follows_measure: els seus seguidors d'aquí
+        instance_languages_dimension: Idiomes principals
+        instance_media_attachments_measure: adjunts multimèdia desats
+        instance_reports_measure: informes sobre ells
+        instance_statuses_measure: publicacions desades
       delivery:
         all: Totes
         clear: Neteja els errors de lliurament
         restart: Reinicia el lliurament
         stop: Atura el lliurament
-        title: Lliurament
         unavailable: No disponible
-        unavailable_message: El lliurament no està disponible
-        warning: Avís
-        warning_message:
-          one: Fallada de lliurament %{count} dia
-          other: Fallada de lliurament %{count} dies
       delivery_available: El lliurament està disponible
       delivery_error_days: Dies de fallades de lliurament
       delivery_error_hint: Si el lliurament no és possible per %{count} dies, serà automàticament marcat com a no lliurable.
@@ -526,12 +537,14 @@ ca:
       private_comment: Comentari privat
       public_comment: Comentari públic
       purge: Purga
+      purge_description_html: Si creus que aquest domini està fora de línia per sempre, pots esborrar tots els seus comptes i dades relacionades del teu emmagatzematge. Això pot trigar una estona.
       title: Federació
       total_blocked_by_us: Bloquejats per nosaltres
       total_followed_by_them: Seguits per ells
       total_followed_by_us: Seguits per nosaltres
       total_reported: Informes sobre ells
       total_storage: Adjunts multimèdia
+      totals_time_period_hint_html: Els totals mostrats a sota incloeixen dades de tots els temps.
     invites:
       deactivate_all: Desactiva-ho tot
       filter:
@@ -586,6 +599,7 @@ ca:
       action_taken_by: Mesures adoptades per
       actions:
         delete_description_html: Les publicacions reportades seran eliminades i un cop serà gravat per ajudar-te a escalar en futures infraccions des d'el mateix compte.
+        mark_as_sensitive_description_html: Els mèdia de les publicacions reportades seran marcats com a sensibles i una acció serà gravada per ajudar a escalar en futures infraccions del mateix compte.
         other_description_html: Veu més opcions controlant el comportament del compte i personalitza la comunicació al compte reportat.
         resolve_description_html: No serà presa cap acció contra el compte reportat, cap cop serà gravat i l'informe es tancarà.
         silence_description_html: El perfil serà visible només per aquells que ja el seguien o en cerca manual, limitant severament el seu alcanç. Sempre pot ser revertit.
@@ -606,6 +620,7 @@ ca:
       forwarded: Reenviat
       forwarded_to: Reenviat a %{domain}
       mark_as_resolved: Marca com a resolt
+      mark_as_sensitive: Marca com a sensible
       mark_as_unresolved: Marcar com a sense resoldre
       no_one_assigned: Ningú
       notes:
@@ -749,6 +764,7 @@ ca:
       actions:
         delete_statuses: "%{name} ha eliminat les publicacions de %{target}"
         disable: "%{name} ha congelat el compte de %{target}"
+        mark_statuses_as_sensitive: "%{name} ha marcat les publicacions de %{target} com a sensibles"
         none: "%{name} ha enviat un avís a %{target}"
         sensitive: "%{name} ha marcat el compte de %{target} com a sensible"
         silence: "%{name} ha limitat el compte de %{target}"
@@ -774,6 +790,7 @@ ca:
       links:
         allow: Permet enllaç
         allow_provider: Permet mitjà
+        description_html: Aquests son enllaços que ara mateix s'estan compartint molt per els comptes que el teu servidor en veu les publicacions. Poden ajudar als teus usuaris a trobar què està passant en el món. Cap dels enllaços es mostra publicament fins que no aprovis el mitjà. També pots aceptar o rebutjar enllaços individuals.
         disallow: No permetre l'enllaç
         disallow_provider: No permetre el mitjà
         shared_by_over_week:
@@ -785,14 +802,17 @@ ca:
       pending_review: Revisió pendent
       preview_card_providers:
         allowed: Els enllaços d'aquest mitjà poden estar en tendència
+        description_html: Aquest son els dominis des d´els quals es comparteixen sovint enllaços en el teu servidor. Els enllaços no seran tendència pública fins que el domini del enllaç s'aprovi. La teva aprovació (o rebuig) es fa extensible als subdominis.
         rejected: Els enllaços d'aquest mitjà no poden estar en tendència
         title: Mitjans
       rejected: Rebutjat
       statuses:
         allow: Permet publicació
         allow_account: Permet autor
+        description_html: Aquestes son publicacions que el teu servidor veu i que ara mateix s'estan compartint i afavorint molt. Poden ajudar als teus nous usuaris i als que retornen a trobar més gent a qui seguir. Cap publicació es mostra publicament fins que no aprovis l'autor i l'autor permeti que el seu compte sigui sugerit a altres. També pots aceptar o rebutjar publicacions individuals.
         disallow: Rebutja publicació
         disallow_account: Rebutja autor
+        not_discoverable: L'autor no ha activat poder ser detectable
         shared_by:
           one: Compartit o afavorit una vegada
           other: Compartit i afavorit %{friendly_count} vegades
@@ -805,6 +825,7 @@ ca:
           tag_servers_dimension: Els millors servidors
           tag_servers_measure: diferents servidors
           tag_uses_measure: total usos
+        description_html: Aquestes son etiquetes que ara mateix estan apareixen en moltes publicacions que el teu servidor veu. Poden ajudar als teus usuaris a trobar de què està parlant majoritariament la gent en aquest moment. Cap etiqueta es mostra publicament fins que no l'aprovis.
         listable: Es pot suggerir
         not_listable: No es pot suggerir
         not_trendable: No apareixeran en les tendències
@@ -831,6 +852,7 @@ ca:
       actions:
         delete_statuses: eliminar les seves publicacions
         disable: congelar els seus comptes
+        mark_statuses_as_sensitive: marcar les seves publicacions com a sensibles
         none: un avís
         sensitive: marcar els seus comptes com a sensibles
         silence: limitar els seus comptes
@@ -933,8 +955,10 @@ ca:
     status:
       account_status: Estat del compte
       confirming: Esperant que es completi la confirmació del correu electrònic.
+      functional: El teu compte està completament operatiu.
       pending: La vostra sol·licitud està pendent de revisió pel nostre personal. Això pot trigar una mica. Rebreu un correu electrònic quan sigui aprovada.
       redirecting_to: El teu compte és inactiu perquè actualment està redirigint a %{acct}.
+      view_strikes: Veure accions del passat contra el teu compte
     too_fast: Formulari enviat massa ràpid, torna a provar-ho.
     trouble_logging_in: Problemes per iniciar la sessió?
     use_security_key: Usa clau de seguretat
@@ -1010,6 +1034,7 @@ ca:
         submit: Apel·lació emesa
       associated_report: Informe associat
       created_at: Datada
+      description_html: Aquestes son accions preses contra el teu compte i avisos que se t'han enviat per l'equip de %{instance}.
       recipient: Dirigida a
       status: 'Publicació #%{id}'
       status_removed: Publicació ja esborrada del sistema
@@ -1017,8 +1042,9 @@ ca:
       title_actions:
         delete_statuses: Eliminació de publicació
         disable: Congelació del compte
+        mark_statuses_as_sensitive: Marcatge de les publicacions com a sensibles
         none: Avís
-        sensitive: Marcant com a sensible el compte
+        sensitive: Marcatge del compte com a sensible
         silence: Limitació del compte
         suspend: Suspensió del compte
       your_appeal_approved: La teva apel·lació s'ha aprovat
@@ -1390,6 +1416,7 @@ ca:
     profile: Perfil
     relationships: Seguits i seguidors
     statuses_cleanup: Esborrat automàtic de publicacions
+    strikes: Accions de mediació
     two_factor_authentication: Autenticació de dos factors
     webauthn_authentication: Claus de seguretat
   statuses:
@@ -1410,7 +1437,7 @@ ca:
     disallowed_hashtags:
       one: 'conté una etiqueta no permesa: %{tags}'
       other: 'conté les etiquetes no permeses: %{tags}'
-    edited_at: Editat %{date}
+    edited_at_html: Editat %{date}
     errors:
       in_reply_not_found: El tut al qual intentes respondre sembla que no existeix.
     open_in_web: Obre en la web
@@ -1469,6 +1496,7 @@ ca:
       '2629746': 1 mes
       '31556952': 1 any
       '5259492': 2 mesos
+      '604800': 1 setmana
       '63113904': 2 anys
       '7889238': 3 mesos
     min_age_label: Llindar d'edat
@@ -1616,17 +1644,18 @@ ca:
         spam: Contingut brossa
         violation: El contingut viola les següents guies de la comunitat
       explanation:
-        delete_statuses: Algunes de les teves publicacions han estat trobades que violen les guies de la comunitat i han estat per tant esborrades per els moderadors de %{instance}. Futures violacions podrien resultar en accions més punitives contra el teu compte.
+        delete_statuses: Algunes de les teves publicacions s'han trobat que violen una o més directrius de la comunitat i per tant han estat eliminades per els moderadors de %{instance}.
         disable: Ja no pots utilitzar el teu compte però el teu perfil i altres dades segueixen intactes. Pots demanar una copia de les teves dades, canviar els ajustaments del teu compte o esborrar-lo.
+        mark_statuses_as_sensitive: Algunes de les teves publicacions han estat marcades com a sensibles per els moderadors de %{instance}. Això significa que la gent necessitarà tocar els mèdia en les publicacions per a que la previsualització sigui mostrada. Tu mateix pots marcar els teus mèdia com a sensibles quan publiquis en el futur.
         sensitive: A partir d'ara, tots els mèdia pujats seran marcats com a sensibles i ocultats darrera un avís.
         silence: Encara pots fer servir el teu compte però només la gent que ja t'està seguint veuran les teves publicacions en aquest servidor i tu podries ser exclòs de les diverses opcions de descobriment. De totes maneres altres podrien encara seguir-te manualment.
         suspend: Ja no pots utilitzar el teu compte i el teu perfil i altres dades ja no son accessibles. Encara pots iniciar sessió per a demanar una copia de les teves dades fins que siguin totalment eliminades als 30 dies però es mantindran les dades bàsiques per evitar que esquivis la suspensió.
-      get_in_touch: Si tu creus que això és un error pots respondre aquest correu electrònic per a contactar amb l'equip de %{instance}.
       reason: 'Raó:'
-      statuses: 'Publicacions que han estat trobades com a violació:'
+      statuses: 'Publicacions citades:'
       subject:
         delete_statuses: Les teves publicacions de %{acct} han estat esborrades
         disable: S'ha congelat el teu compte %{acct}
+        mark_statuses_as_sensitive: Les teves publicacions de %{acct} han estat marcades com a sensibles
         none: Avís per a %{acct}
         sensitive: Els teus mèdia de %{acct} seran marcades com a sensibles a partir d'ara
         silence: El teu compte %{acct} ha estat limitat
@@ -1634,8 +1663,9 @@ ca:
       title:
         delete_statuses: Publicacions esborrades
         disable: Compte congelat
+        mark_statuses_as_sensitive: Publicacions marcades com a sensibles
         none: Avís
-        sensitive: Mèdia ocult
+        sensitive: Compte marcat com a sensible
         silence: Compte limitat
         suspend: Compte suspès
     welcome:
diff --git a/config/locales/ckb.yml b/config/locales/ckb.yml
new file mode 100644
index 000000000..c7b26e23e
--- /dev/null
+++ b/config/locales/ckb.yml
@@ -0,0 +1,1213 @@
+---
+ckb:
+  about:
+    about_hashtag_html: ئەمانە توتی گشتین بە هەشتەگی گشتی <strong>#%{hashtag}}</strong>. گەر ئێوە لە هەر ڕاژەیەک هەژمارەتان بێت دەتوانیت لێرە بەم نووسراوانە هاوئاهەنگ بن.
+    about_mastodon_html: 'تۆڕی کۆمەڵایەتی داهاتوو: هیچ ڕیکلامێک ، هیچ چاودێرییەکی کۆمپانیا ، دیزاینی ئەخلاقی و لامەرکەزی! خاوەنی داتاکانت نابێ لە ماستۆدۆن!'
+    about_this: دەربارە
+    active_count_after: چالاک
+    active_footnote: بەکارهێنەرانی چالاکی مانگانە (MAU)
+    administered_by: 'بەڕێوەبراو لەلایەن:'
+    apps: ئەپەکانی مۆبایل
+    apps_platforms: بەکارهێنانی ماستۆدۆن لە iOS، ئەندرۆید و سەکۆکانی تر
+    browse_directory: گەڕان لە ڕێبەرێکی پرۆفایل و پاڵاوتن بەپێی بەرژەوەندیەکان
+    browse_local_posts: گەڕانی ڕاستەوخۆ لە نووسراوە گشتیەکان لەم ڕاژەوە
+    browse_public_posts: گەڕان لە جۆگەیەکی زیندووی نووسراوە گشتیەکان لەسەر ماستۆدۆن
+    contact: بەردەنگ
+    contact_missing: سازنەکراوە
+    contact_unavailable: بوونی نییە
+    discover_users: پەیداکردنی بەکارهێنەران
+    documentation: بەڵگەکان
+    federation_hint_html: بە هەژمارەیەک لەسەر %{instance} دەتوانیت شوێن خەڵک بکەویت لەسەر هەرڕاژەیەکی ماستۆدۆن.
+    get_apps: ئەپێکی تەلەفۆن تاقی بکەرەوە
+    hosted_on: مەستودۆن میوانداری کراوە لە %{domain}
+    instance_actor_flash: |
+      ئەم هەژمارەیە ئەکتەرێکی خەیاڵی بەکارهاتووە بۆ نوێنەرایەتی کردنی خودی ڕاژەکە و نەک هیچ بەکارهێنەرێکی تاک.
+      بۆ مەبەستی فیدراسیۆن بەکاردێت و نابێت بلۆک بکرێت مەگەر دەتەوێت هەموو نمونەکە بلۆک بکەیت، کە لە حاڵەتەش دا پێویستە بلۆکی دۆمەین بەکاربهێنیت.
+    learn_more: زیاتر فێربه
+    privacy_policy: ڕامیاری تایبەتێتی
+    see_whats_happening: بزانە چی ڕوودەدات
+    server_stats: 'زانیاری ڕاژەکار:'
+    source_code: کۆدی سەرچاوە
+    status_count_after:
+      one: دۆخ
+      other: دۆخەکان
+    status_count_before: لە لایەن یەکەوە
+    tagline: دوای هاوڕێکان بکەوە و ئەوانەی نوێ بدۆزیەوە
+    terms: مەرجەکانی خزمەتگوزاری
+    unavailable_content: ڕاژەی چاودێریکراو
+    unavailable_content_description:
+      domain: ڕاژەکار
+      reason: هۆکار
+      rejecting_media: 'پەڕگەکانی میدیا لەم ڕاژانەوە پرۆسە ناکرێت یان هەڵناگیرێن، و هیچ وێنۆچکەیەک پیشان نادرێت، پێویستی بە کرتە کردنی دەستی هەیە بۆ فایلە سەرەکیەکە:'
+      rejecting_media_title: پاڵێوەری میدیا
+      silenced: 'بابەتەکانی ئەم ڕاژانە لە هێڵی کاتی گشتی و گفتوگۆکاندا دەشاردرێنەوە، و هیچ ئاگانامێک دروست ناکرێت لە چالاکی بەکارهێنەرانیان، مەگەر تۆ بەدوایان دەچیت:'
+      silenced_title: ڕاژە ناچالاکەکان
+      suspended: 'هیچ داتایەک لەم ڕاژانەوە پرۆسە ناکرێت، خەزن دەکرێت یان دەگۆڕدرێتەوە، وا دەکات هیچ کارلێک یان پەیوەندییەک لەگەڵ بەکارهێنەران لەم ڕاژانە مەحاڵ بێت:'
+      suspended_title: ڕاژە ڕاگیراوەکان
+    unavailable_content_html: ماستۆدۆن بە گشتی ڕێگەت پێدەدات بۆ پیشاندانی ناوەڕۆک لە و کارلێ کردن لەگەڵ بەکارهێنەران لە هەر ڕاژەیەکی تر بە گشتی. ئەمانە ئەو بەدەرکردنانەن کە کراون لەسەر ئەم ڕاژە تایبەتە.
+    user_count_after:
+      one: بەکارهێنەر
+      other: بەکارهێنەران
+    user_count_before: "`خاوەن"
+    what_is_mastodon: ماستۆدۆن چییە?
+  accounts:
+    choices_html: 'هەڵبژاردنەکانی %{name}:'
+    endorsements_hint: دەتوانیت ئەو کەسانە پەسەند بکەیت کە پەیڕەویان دەکەیت لە ڕووکاری وێب، و ئەوان لێرە دەردەکەون.
+    featured_tags_hint: دەتوانیت هاشتاگی تایبەت پێشکەش بکەیت کە لێرە پیشان دەدرێت.
+    follow: شوێن کەوە
+    followers:
+      one: شوێنکەوتوو
+      other: شوێن‌کەوتووان
+    following: شوێن‌کەوتووی
+    joined: بەشداری %{date}
+    last_active: دوا چالاکی
+    link_verified_on: خاوەنداریەتی ئەم لینکە لە %{date} چێک کراوە
+    media: میدیا
+    moved_html: "%{name} گواستراوەتەوە بۆ %{new_profile_link}:"
+    network_hidden: ئەم زانیاریە بەردەست نیە
+    nothing_here: لێرە هیچ نییە!
+    people_followed_by: ئەو کەسانەی کە %{name} بەدوایدا دەکەون
+    people_who_follow: ئەو کەسانەی کە بەدوای %{name} دا دەکەون
+    pin_errors:
+      following: تۆ دەبێت هەر ئێستا بە دوای ئەو کەسەدا بیت کە دەتەوێت پەسەندی بکەیت
+    posts:
+      one: توت
+      other: تووتەکان
+    posts_tab_heading: تووتەکان
+    posts_with_replies: تووتەکان و وڵامەکان
+    roles:
+      admin: بەڕێوەبەر
+      bot: بۆت
+      group: گرووپ
+      moderator: مۆد
+    unavailable: پرۆفایل بەردەست نیە
+    unfollow: بەدوادانەچو
+  admin:
+    account_actions:
+      action: ئەنجامدانی کردار
+      title: ئەنجامدانی کاری بەڕێوەبردن لە %{acct}
+    account_moderation_notes:
+      create: جێهێشتنی تێبینی
+      created_msg: تێبینی بەڕێوەبەر بە سەرکەوتوویی دروست کرا!
+      destroyed_msg: تێبینی بەڕێوەبەر بە سەرکەوتوویی لەناوچوو!
+    accounts:
+      add_email_domain_block: بلۆککردنی هەموو دۆمەینەکە
+      approve: پەسەند کردن
+      approved_msg: بەرنامەی تۆمارکردنی %{username} بۆ چوونەناوی پەسەند کرا
+      are_you_sure: دڵنیای?
+      avatar: وێنۆچکە
+      by_domain: دۆمەین
+      change_email:
+        changed_msg: ئیمەیڵی ئەژمێر بە سەرکەوتوویی گۆڕا!
+        current_email: ئیمەیلی ئێستا
+        label: گۆڕینی ئیمێڵ
+        new_email: ئیمەیڵی نوێ
+        submit: گۆڕینی ئیمێڵ
+        title: گۆڕینی ئیمەیڵ بۆ %{username}
+      confirm: پشتڕاستی بکەوە
+      confirmed: پشتڕاست کرا
+      confirming: پشتڕاستکردنەوە
+      delete: سڕینەوەی داتا
+      deleted: سڕینەوە
+      demote: پلە نزمکرایەوە
+      destroyed_msg: دراوەکانی %{username} لە ڕیزی سڕینەوەن
+      disable: بەستن
+      disable_two_factor_authentication: لەکارخستنی 2FA
+      disabled: بەستوو
+      display_name: ناوی پیشاندان
+      domain: دۆمەین
+      edit: دەستکاری
+      email: پۆستی ئەلکترۆنی
+      email_status: دۆخی ئیمەیڵ
+      enable: چالاک کردن
+      enabled: چالاککراوە
+      enabled_msg: هەژمارە %{username} بە سەرکەوتوویی سنووردار کرا
+      followers: شوێنکەوتوان
+      follows: شوێنکەوتوان
+      header: سەرپەڕە
+      inbox_url: نیشانی هاتنەژوور
+      invited_by: هاتۆتە ژورەوە لە لایەن
+      ip: ئای‌پی
+      joined: ئەندام بوو لە
+      location:
+        all: هەموو
+        local: ناوخۆیی
+        remote: دوور
+        title: شوێن
+      login_status: دۆخی چوونەژوورەوە
+      media_attachments: هاوپێچی میدیا
+      memorialize: گۆڕان بە یادەوەری
+      memorialized: بیرکەوتنەوە
+      memorialized_msg: بە سەرکەوتوویی %{username} بۆ هەژمارێکی بیرەوەری گۆڕا
+      moderation:
+        active: چالاک
+        all: هەموو
+        pending: چاوەڕوان
+        suspended: ڕاگرتن
+        title: بەڕێوەبردن
+      moderation_notes: بەڕێوەبردنی تێبینیەکان
+      most_recent_activity: نوێترین چالاکی
+      most_recent_ip: نوێترین ئای پی
+      no_account_selected: هیچ هەژمارەیەک نەگۆڕاوە وەک ئەوەی هیچ یەکێک دیاری نەکراوە
+      no_limits_imposed: هیچ سنوورێک نەسەپێنرا
+      not_subscribed: بەشدار نەبوو
+      pending: پێداچوونەوەی چاوەڕوان
+      perform_full_suspension: ڕاگرتن
+      promote: بەرزکردنەوە
+      protocol: پرۆتۆکۆل
+      public: گشتی
+      push_subscription_expires: بەشداری PuSH بەسەر دەچێت
+      redownload: نوێکردنەوەی پرۆفایل
+      redownloaded_msg: پرۆفایلی %{username} لە بنەڕەتەوە بە سەرکەوتوویی نوێکرایەوە
+      reject: ڕەتکردنەوە
+      rejected_msg: بەرنامەی تۆمارکردنی %{username} بە سەرکەوتوویی ڕەتکرایەوە
+      remove_avatar: لابردنی وێنۆجکە
+      remove_header: سەرپەڕ لابدە
+      removed_avatar_msg: وێنەی ئەڤاتار %{username} بە سەرکەوتوویی لابرا
+      removed_header_msg: بە سەرکەوتوویی وێنەی سەرپەڕەی %{username} لابرا
+      resend_confirmation:
+        already_confirmed: ئەم بەکارهێنەرە پێشتر پشتڕاستکراوەتەوە
+        send: دووبارە ناردنی ئیمەیڵی دووپاتکردنەوە
+        success: ئیمەیڵی پشتڕاستکردنەوە بە سەرکەوتوویی نێردرا!
+      reset: ڕێکخستنەوە
+      reset_password: گەڕانەوەی تێپەڕوشە
+      resubscribe: دووبارە ئابونەبوون
+      role: مۆڵەتەکان
+      roles:
+        admin: بەڕێوەبەر
+        moderator: بەڕێوەبەر
+        staff: ستاف
+        user: بەکارهێنەر
+      search: گەڕان
+      search_same_email_domain: بەکارهێنەرانی دیکە بە ئیمەیلی یەکسان
+      search_same_ip: بەکارهێنەرانی تر بەهەمان ئای پی
+      sensitive: هەستیار
+      sensitized: وەک هەستیار نیشان کراوە
+      shared_inbox_url: بەستەری سندوقی هاوبەشکراو
+      show:
+        created_reports: گوزارشتی تۆمارکراوە
+        targeted_reports: گوزارشتکراوە لەلایەن کەسانی ترەوە
+      silence: سنوور
+      silenced: سنوورکرا
+      statuses: دۆخەکان
+      subscribe: ئابوونە
+      suspended: ڕاگرتن
+      suspension_irreversible: داتای ئەم هەژمارەیە بە شێوەیەکی نائاسایی سڕاوەتەوە. دەتوانیت هەژمارەکەت ڕابخەیت بۆ ئەوەی بەکاربێت بەڵام هیچ داتایەک ناگەڕگەڕێتەوە کە پێشتر بوونی بوو.
+      suspension_reversible_hint_html: هەژمارە ڕاگیرا ، و داتاکە بەتەواوی لە %{date} لادەبرێت. تا ئەو کاتە هەژمارەکە دەتوانرێت بە بێ هیچ کاریگەریەکی خراپ بژمێردرێتەوە. ئەگەر دەتەوێت هەموو داتاکانی هەژمارەکە بسڕەوە، دەتوانیت لە خوارەوە ئەمە بکەیت.
+      title: هەژمارەکان
+      unconfirmed_email: ئیمەیڵی پشتڕاستنەکراو
+      undo_sensitized: " هەستیار نەکردن"
+      undo_silenced: بێدەنگ ببە
+      undo_suspension: دووبارە ڕاگرتن
+      unsilenced_msg: هەژماری %{username} بە سەرکەوتوویی بێسنوور کرا
+      unsubscribe: بەتاڵکردنی ئابوونە
+      unsuspended_msg: هەژمارە %{username} بە سەرکەوتوویی ئابوونەی بەتاڵکرا
+      username: ناوی بەکارهێنەر
+      view_domain: پیشاندانی کورتەبۆ دۆمەین
+      warn: وریاکردنەوە
+      web: ماڵپەڕ
+      whitelisted: پێرستی ڕێپێدراو
+    action_logs:
+      action_types:
+        assigned_to_self_report: تەرخانکردنی گوزارشت
+        change_email_user: گۆڕینی ئیمەیڵ بۆ بەکارهێنەر
+        confirm_user: دڵنیابوون لە بەکارهێنەر
+        create_account_warning: دروستکردنی ئاگاداری
+        create_announcement: دروستکردنی راگەیەندراو
+        create_custom_emoji: دروستکردنی ئێمۆمۆجی دڵخواز
+        create_domain_allow: دروستکردنی ڕێپێدان بە دۆمەین
+        create_domain_block: دروستکردنی بلۆکی دۆمەین
+        create_email_domain_block: دروستکردنی بلۆکی دۆمەینی ئیمەیڵ
+        create_ip_block: دروستکردنی یاسای IP
+        demote_user: دابەزاندنی ئاستی بەکارهێنەر
+        destroy_announcement: سڕینەوەی راگەیەندراو
+        destroy_custom_emoji: سڕینەوەی ئێمۆمۆجی تایبەتمەند
+        destroy_domain_allow: سڕینەوەی ڕێپێدان بە دۆمەین
+        destroy_domain_block: سڕینەوەی بلۆکی دۆمەین
+        destroy_email_domain_block: سڕینەوەی بلۆکی دۆمەینی ئیمەیڵ
+        destroy_ip_block: سڕینەوەی یاسای IP
+        destroy_status: دۆخ بسڕەوە
+        disable_2fa_user: لەکارخستنی 2FA
+        disable_custom_emoji: سڕینەوەی ئێمۆمۆجی تایبەتمەند
+        disable_user: بەکارهێنەر لە کاربخە
+        enable_custom_emoji: ئیمۆمۆجی تایبەتمەند چالاک بکە
+        enable_user: چالاککردنی بەکارهێنەر
+        memorialize_account: هەژماری بیرکەوتنەوە
+        promote_user: بەرزکردنەوەی بەکارهێنەر
+        remove_avatar_user: لابردنی وێنۆجکە
+        reopen_report: دووبارە کردنەوەی گوزارشت
+        reset_password_user: گەڕانەوەی تێپەڕوشە
+        resolve_report: گوزارشت چارەسەربکە
+        sensitive_account: میدیاکە لە هەژمارەکەت وەک هەستیار نیشانە بکە
+        silence_account: هەژماری بێدەنگی
+        suspend_account: ڕاگرتنی هەژمارە
+        unassigned_report: گوزارشتی دیارینەکراو
+        unsensitive_account: میدیاکە لە هەژمارەکەت وەک هەستیار نیشانە مەکە
+        unsilence_account: هەژماری بێ دەنگ
+        unsuspend_account: هەژماری هەڵنەوەستێنراو
+        update_announcement: بەڕۆژکردنەوەی راگەیەندراو
+        update_custom_emoji: بەڕۆژکردنی ئێمۆمۆجی دڵخواز
+        update_status: بەڕۆژکردنی دۆخ
+      deleted_status: "(نووسراوە سڕاوە)"
+      empty: هیچ لاگی کارنەدۆزرایەوە.
+      filter_by_action: فلتەر کردن بە کردار
+      filter_by_user: فلتەر کردن بە کردار
+      title: تۆماری وردبینی
+    announcements:
+      destroyed_msg: بانگەوازەکە بە سەرکەوتوویی سڕاوەتەوە!
+      edit:
+        title: بڵاوکردنەوەی راگەیەندراو
+      empty: هیچ راگەیەندراوێک نەدۆزرایەوە.
+      live: زیندوو
+      new:
+        create: دروستکردنی راگەیەندراو
+        title: ڕاگەیاندنی نوێ
+      published_msg: بانگەوازەکە بە سەرکەوتوویی بڵاو کرایەوە!
+      scheduled_for: خشتەکراوە بۆ %{time}
+      scheduled_msg: ڕاگەیاندنی خشتەی بۆ بڵاوکردنەوە!
+      title: ڕاگه یه نراوەکان
+      unpublished_msg: بانگەواز بە سەرکەوتوویی بڵاونەکرایەوە!
+      updated_msg: بانگەوازەکە بە سەرکەوتوویی نوێکرایەوە!
+    custom_emojis:
+      assign_category: دانانی پۆلێن
+      by_domain: دۆمەین
+      copied_msg: کۆپیەکی ناوخۆیی ئیمۆجیبەکە بە سەرکەوتوویی دروست کرد
+      copy: کۆپی
+      copy_failed_msg: نهیتوانی کۆپیهکی ناوخۆیی ئهو ئیمۆجییە دروست بکات
+      create_new_category: دروستکردنی هاوپۆلی نوێ
+      created_msg: ئیمۆجی بە سەرکەوتوویی دروستکرا!
+      delete: سڕینەوە
+      destroyed_msg: ئیمۆجی بە سەرکەوتوویی بەتاڵکرا!
+      disable: لەکارخستن
+      disabled: ناچالاککراوە
+      disabled_msg: بە سەرکەوتوویی ئەو ئیمۆجییە لە کارخراوە
+      emoji: ئیمۆجی
+      enable: چالاککردن
+      enabled: چالاککراوە
+      enabled_msg: ئەو ئیمۆجییە بە سەرکەوتووانە چالاک کرا
+      list: پێرست
+      listed: پێرستکراوە
+      new:
+        title: ئیمۆجی نوێی دڵخواز زیاد بکە
+      not_permitted: تۆ ڕێگەپێدراو نین بۆ ئەنجامدانی ئەم کارە
+      overwrite: نووسینەوە
+      shortcode: کورتەکلیل
+      shortcode_hint: بەلایەنی کەمەوە ٢نووسە، تەنها نووسەکانی ئەلف و بێ و ژێرهێڵەکان
+      title: ئیمۆجی دڵخواز
+      uncategorized: هاوپۆل نەکراوە
+      unlist: بێ پێرست
+      unlisted: پێرست نەبووە
+      update_failed_msg: نه یتوانی ئه و ئیمۆجییه نوێ بکاتەوە
+      updated_msg: ئیمۆجی بە سەرکەوتوویی نوێکرایەوە!
+      upload: بارکردن
+    dashboard:
+      software: نەرمەکالا
+      space: بەکارهێنانی بۆشایی
+      title: داشبۆرد
+    domain_allows:
+      add_new: ڕێپێدان بە دۆمەین
+      created_msg: دۆمەین بە سەرکەوتوویی رێگەی پێدرا
+      destroyed_msg: دۆمەین لە پێرستی رێگەی پێدرا لابرا
+      undo: لابردن لە پێرستی ڕێپێدراو
+    domain_blocks:
+      add_new: زیادکردنی بلۆکی دۆمەینی نوێ
+      created_msg: بلۆککردنی دۆمەین لە حاڵێ جێبەجێکردنە
+      destroyed_msg: بلۆکی دۆمەین هەڵوەشاوەتەوە
+      domain: دۆمەین
+      edit: دەستکاری بلۆکی دۆمەینی نوێ
+      existing_domain_block_html: ئێوە پێشتر سنووری دژوارتنا لە سەر%{name} جێبەجێکردووە، سەرەتا دەبێ <a href="%{unblock_url}">بلۆک هەڵوەشێنەوە</a>.
+      new:
+        create: دروستکردنی بلۆک
+        hint: بلۆکی دۆمەین رێگری لە دروستکردنی هەژمارەی چوونەژوورەوە لە بنکەی زانیارێکان ناکات ، بەڵکو بە شێوەیەکی دووبارە و خۆکارانە رێوشێوازی پێشکەوتوو تایبەت لەسەر ئەو هەژمارانە جێبەجێ دەکات.
+        severity:
+          desc_html: "<strong> بێدەنگی</strong> وا دەکات کە نووسراوەکانی هەژمارەکان نەبینراوە بێت بۆ هەر کەسێک کە شوێنیان نەکەوێ. <strong>ڕاگرتنی</strong> هەموو ناوەڕۆکی هەژمارەکە، میدیا، و داتای پرۆفایلەکەی بەکارهێنان. <strong>هیچ </strong> ئەگەر دەتەوێت فایلەکانی میدیا ڕەت بکەیتەوە."
+          noop: هیچ
+          silence: بێدەنگ
+          suspend: ڕاگرتن
+        title: بلۆکی دۆمەینی نوێ
+      private_comment: لێدوانی تایبەت
+      private_comment_hint: لێدوان دەربارەی سنوورداری ئەم دۆمەینە بۆ بەکارهێنانی ناوخۆیی لەلایەن مۆدەرەکان.
+      public_comment: سەرنجی گشتی
+      public_comment_hint: لێدوان دەربارەی سنوورداری ئەم دۆمەینە بۆ گشتی، ئەگەر بڵاوکردنەوەی لیستی سنوورداری دۆمەینەکە چالاک بکرێت.
+      reject_media: ڕەتکردنەوەی فایلەکانی میدیا
+      reject_media_hint: پەڕگە میدیای پاشکەوتکراو بە شێوەێکی ناوخۆیی لابدە و دابەزین لە داهاتوو ڕەتدەکاتەوە. ناپەیوەندیدار ە بۆ ڕاگرتن
+      reject_reports: گوزارشتەکان ڕەت بکەوە
+      reject_reports_hint: پشتگوێ خستنی هەموو گوزارشتەکان کە دێن لەم دۆمەینە. ناپەیوەندیدارە بۆ ڕاگرتن
+      undo: گەڕانەوەی بلۆکی دۆمەینی
+      view: دیتنی بلۆکی دۆمەینی
+    email_domain_blocks:
+      add_new: زیادکردنی نوێ
+      created_msg: بە سەرکەوتوویی دۆمەینی ئیمەیڵ بلۆک کرا
+      delete: سڕینەوە
+      domain: دۆمەین
+      new:
+        create: زیادکردنی دۆمەین
+        title: بلۆککردنی دۆمەینی ئیمەیڵی نوێ
+      title: دۆمەینە بلۆککراوەکانی ئیمەیڵ
+    instances:
+      by_domain: دۆمەین
+      delivery_available: گەیاندن بەردەستە
+      moderation:
+        all: هەموو
+        limited: سنووردار
+        title: بەڕێوەبردن
+      private_comment: لێدوانی تایبەت
+      public_comment: سەرنجی گشتی
+      title: پەیوەندی نێوان ڕاژە
+      total_blocked_by_us: لەلایەن ئێمە بەربەست کراوە
+      total_followed_by_them: شوێنمان دەکەون
+      total_followed_by_us: شوێنیان کەوتین
+      total_reported: گوزارشت له باره یان
+      total_storage: هاوپێچی میدیا
+    invites:
+      deactivate_all: هەموو لەکارخستنی
+      filter:
+        all: هەموو
+        available: بەردەستە
+        expired: بەسەرچووە
+        title: پاڵاوتن
+      title: بانگهێشتەکان
+    ip_blocks:
+      add_new: دروستکردنی یاسا
+      created_msg: سەرکەوتووانە یاسای نوێی IP زیادکرا
+      delete: سڕینەوە
+      expires_in:
+        '1209600': ٢ هەفتە
+        '15778476': ٦ مانگ
+        '2629746': ١ مانگ
+        '31556952': ١ ساڵ
+        '86400': ١ ڕۆژ
+        '94670856': ٣ ساڵ
+      new:
+        title: دروستکردنی یاسای نوێی IP
+      no_ip_block_selected: هیچ ڕێسایەکی IP نەگۆڕدرا وەک ئەوەی هیچ کامیان دەستنیشان نەکران
+      title: یاساکانی IP
+    relationships:
+      title: پەیوەنیەکان %{acct}
+    relays:
+      add_new: زیادکردنی گواستنەوەی نوێ
+      delete: سڕینەوە
+      description_html: دانەیەکی <strong>ڕێڵەی نێو ڕاژەییە(federation relay) کە قەبارەیەکی فرەی لە تووتە گشتییەکان لە نێو ڕاژە هاوبەشەکان و ئابوونەکان دەگوازێتەوە <strong>رێڵە یارمەتی بە ڕاژە بچکۆلەو مامناوە ندییەکان دەدا کە بابەتی فرەتر پەیدا بکەن</strong> گەر ڕێڵە نەبێت، ئەم بابەتە گشتییانە تەنها کاتێک پەیدا دەبن کە بە کارهێنەرانی ناوخۆیی خۆیان شوێنکەوتووی بەکارهێنەران لە سەر ڕاژەکانی دیکە بن.
+      disable: لەکارخستن
+      disabled: ناچالاککراوە
+      enable: چالاککراوە
+      enable_hint: کاتێک چالاک کرا، ڕاژەکارەکەت بەشداری دەکات لە هەموو توتەکانی گشتی لەم گواستنەوەیە، و دەست دەکات بە ناردنی توتی گشتی ئەم ڕاژەیە.
+      enabled: چالاککراوە
+      inbox_url: نیشانەی URL
+      pending: چاوەڕێی پەسەندکردنی ڕێلەی
+      save_and_enable: پاشکەوتکردن و چالاککردن
+      setup: دامەزراندنی ڕێڵەی پەیوەندی
+      signatures_not_enabled: ڕیلەکان بە دروستی کارناکات لە کاتێکدا دۆخی پارێزراو یان دۆخی سنوورداری گشتی چالاک کراوە
+      status: دۆخ
+      title: ڕێڵەکان
+    report_notes:
+      created_msg: تێبینی ڕاپۆرت کردن بە سەرکەوتوویی دروست کرا!
+      destroyed_msg: تێبینی گوزارشت بە سەرکەوتوویی سڕاوەتەوە!
+    reports:
+      account:
+        notes:
+          one: "%{count} یاداشت"
+          other: "%{count} یاداشت"
+      action_taken_by: کردەوە لە لایەن
+      are_you_sure: دڵنیای?
+      assign_to_self: دیاریکردن بۆ من
+      assigned: بەڕێوەبەری بەرپرس
+      by_target_domain: دۆمەینی هەژمارەی گوزارشتدراو
+      comment:
+        none: هیچ
+      created_at: گوزارشتکرا
+      mark_as_resolved: نیشانەی بکە وەک چارەسەرکراو
+      mark_as_unresolved: نیشانەکردن وەک چارەسەرنەکراوە
+      notes:
+        create: زیادکردنی تێبینی
+        create_and_resolve: چارەسەر کردن لەگەڵ تێبینی
+        create_and_unresolve: دووبارە کردنەوەی بە تێبینی
+        delete: سڕینەوە
+        placeholder: باسی ئەو کردارانە بکە کە ئەنجام دراون، یان هەر نوێکردنەوەیەکی پەیوەندیداری ت...
+      reopen: دووبارە کردنەوەی گوزارشت
+      report: 'گوزارشت #%{id}'
+      reported_account: گوزارشتی هەژمارە
+      reported_by: گوزارشت لە لایەن
+      resolved: چارەسەرکرا
+      resolved_msg: گوزارشتکردن بە سەرکەوتوویی چارەسەر کرا!
+      status: دۆخ
+      title: گوزارشتکرا
+      unassign: دیارینەکراوە
+      unresolved: چارەسەر نەکراوە
+      updated_at: نوێکرایەوە
+    settings:
+      activity_api_enabled:
+        desc_html: ژماردنی دۆخی بڵاوکراوە ی ناوخۆیی و بەکارهێنەرە چالاکەکان و تۆماری نوێ لە سەتڵی هەفتانە
+        title: بڵاوکردنەوەی ئاماری کۆ دەربارەی چالاکی بەکارهێنەر
+      bootstrap_timeline_accounts:
+        desc_html: چەند ناوی بەکارهێنەرێک جیابکە بە بۆر، تەنها هەژمارەی بلۆککراوەکان و ناوخۆیی کاردەکەن. بنەڕەت کاتێک بەتاڵ بوو هەموو بەڕێوەبەرە خۆجێیەکانن.
+        title: بەدواداچوەکانی گریمانەیی بۆ بەکارهێنەرە نوێکان
+      contact_information:
+        email: ئیمەیلی بازرگانی
+        username: ناوی بەکارهێنەر
+      custom_css:
+        desc_html: دەستکاری کردنی شێوەی CSS بارکراو لەسەر هەموو لاپەڕەکان
+        title: CSSی تایبەتمەند
+      default_noindex:
+        desc_html: کاردەکاتە سەر هەموو بەکارهێنەرەکان کە ئەم ڕێکخستنە خۆیان نەگۆڕاون
+        title: بەکارهێنەران لە پێڕستکردنی بزوێنەری گەڕان بە گریمانەیی هەڵبژێن
+      domain_blocks:
+        all: بۆ هەموو کەسێک
+        disabled: بۆ هیچ کەسێک
+        title: بلۆکەکانی دۆمەین پیشان بدە
+        users: بۆ چوونە ژوورەوەی بەکارهێنەرانی ناوخۆ
+      domain_blocks_rationale:
+        title: پیشاندانی ڕێژەیی
+      hero:
+        desc_html: نیشان درا لە پەڕەی سەرەتا. بەلایەنی کەمەوە 600x100px پێشنیارکراوە. کاتێک ڕێک نەکەویت، دەگەڕێتەوە بۆ وێنۆجکەی ڕاژە
+        title: وێنەی پاڵەوان
+      mascot:
+        desc_html: نیشان دراوە لە چەند لاپەڕەیەک. بەلایەنی کەمەوە 293× 205px پێشنیارکراوە. کاتێک دیاری ناکرێت، دەگەڕێتەوە بۆ بەختبەختێکی ئاسایی
+        title: وێنەی ماسکۆت
+      peers_api_enabled:
+        desc_html: ناوی دۆمەینەکانێک کە ئەم ڕاژە پەیوەندی پێوەگرتووە
+        title: بڵاوکردنەوەی لیستی راژەکانی دۆزراوە
+      preview_sensitive_media:
+        desc_html: بینینی لینک لە وێب سایتەکانی تر وێنۆچکەیەک پیشان دەدات تەنانەت ئەگەر میدیاکە بە هەستیاری نیشان کرابێت
+        title: پیشاندانی میدیای هەستیار لە پێشبینیەکانی OpenGraph
+      profile_directory:
+        desc_html: ڕێگەدان بە بەکارهێنەران بۆ دۆزینەوەیان
+        title: چالاککردنی ڕێنیشاندەرێکی پرۆفایل
+      registrations:
+        closed_message:
+          desc_html: لە پەڕەی پێشەوە پیشان دەدرێت کاتێک تۆمارەکان داخراون. دەتوانیت تاگەکانی HTML بەکاربێنیت
+          title: نامەی تۆمارکردن داخراو
+        deletion:
+          desc_html: ڕێ بدە بە هەر کەسێک هەژمارەکەی بسڕیتەوە
+          title: سڕینەوەی هەژمارە بکەوە
+        min_invite_role:
+          disabled: هیچکەس
+          title: ڕێپێدانی بانگهێشتەکان لەلایەن
+      registrations_mode:
+        modes:
+          approved: پەسەندکردنی داواکراو بۆ ناوتۆمارکردن
+          none: کەس ناتوانێت خۆی تۆمار بکات
+          open: هەر کەسێک دەتوانێت خۆی تۆمار بکات
+        title: مەرجی تۆمارکردن
+      show_known_fediverse_at_about_page:
+        desc_html: کاتێک ناچالاک کرا، هێڵی کاتی گشتی کە بەستراوەتەوە بە لاپەڕەی ئێستا سنووردار دەبن، تەنها ناوەڕۆکی ناوخۆیی پیشاندەدرێن
+        title: نیشاندانی ڕاژەکانی دیکە لە پێشنەمایەشی ئەم ڕاژە
+      show_staff_badge:
+        desc_html: پیشاندانی هێمایەک هاوکار لە سەر پەڕەی بەکارهێنەر
+        title: نیشاندانی هێمای هاوکار
+      site_description:
+        desc_html: کورتە باسیک دەربارەی API، دەربارەی ئەوە چ شتێک دەربارەی ئەم ڕاژەی ماستۆدۆن تایبەتە یان هەر شتێکی گرینگی دیکە. دەتوانن HTML بنووسن، بەتایبەت <code>&lt;a&gt;</code> وە <code>&lt;em&gt;</code>.
+        title: دەربارەی ئەم ڕاژە
+      site_description_extended:
+        desc_html: شوێنیکی باشە بۆ نووسینی سیاسەتی ئیس، یاسا و ڕێسا ، ڕێنمایی و هەر شتیک کە تایبەت بەم ڕاژیە، تاگەکانی HTMLــلیش ڕێگەی پێدراوە
+        title: زانیاری تەواوکەری تایبەتمەندی
+      site_short_description:
+        desc_html: نیشان لە شریتی لاتەنیشت و مێتا تاگەکان. لە پەرەگرافێک دا وەسفی بکە کە ماستۆدۆن چیە و چی وا لە ڕاژە کە دەکات تایبەت بێت.
+        title: دەربارەی ئەم ڕاژە
+      site_terms:
+        desc_html: دەتوانیت سیاسەتی تایبەتیێتی خۆت بنووسیت، مەرجەکانی خزمەتگوزاری یان یاسایی تر. دەتوانیت تاگەکانی HTML بەکاربێنیت
+        title: مەرجەکانی خزمەتگوزاری ئاسایی
+      site_title: ناوی ڕاژە
+      thumbnail:
+        desc_html: بۆ پێشبینین بەکارهاتووە لە ڕێگەی OpenGraph وە API. ڕووناکی بینین ١٢٠٠x٦٣٠پیکسێڵ پێشنیارکراوە
+        title: وێنەی بچکۆلەی ڕاژە
+      timeline_preview:
+        desc_html: لینکەکە نیشان بدە بۆ هێڵی کاتی گشتی لەسەر پەڕەی نیشتنەوە و ڕێگە بە API بدە دەستگەیشتنی هەبێت بۆ هێڵی کاتی گشتی بەبێ سەلماندنی ڕەسەنایەتی
+        title: ڕێگەبدە بە چوونە ژورەوەی نەسەلمێنراو بۆ هێڵی کاتی گشتی
+      title: ڕێکخستنەکانی ماڵپەڕ
+      trendable_by_default:
+        desc_html: کاریگەری لەسەر هاشتاگی پێشوو کە پێشتر ڕێگە پێنەدراوە
+        title: ڕێگە بدە بە هاشتاگی بەرچاوکراوە بەبێ پێداچوونەوەی پێشوو
+      trends:
+        desc_html: بە ئاشکرا هاشتاگی پێداچوونەوەی پێشوو پیشان بدە کە ئێستا بەرچاوکراوەن
+        title: هاشتاگی بەرچاوکراوە
+    site_uploads:
+      delete: سڕینەوەی فایلی بارکراو
+      destroyed_msg: بارکردنی ماڵپەڕ بە سەرکەوتوویی سڕدراوەتەوە!
+    statuses:
+      back_to_account: گەڕانەوە بۆ لاپەڕەی هەژمارە
+      deleted: سڕینەوە
+      media:
+        title: میدیا
+      no_status_selected: هیچ دۆخیک نەگۆڕاوە وەک ئەوەی هیچ بارێک دەستنیشان نەکراوە
+      title: دۆخی ئەژمێر
+      with_media: بە میدیا
+    tags:
+      review: پێداچوونەوەی دۆخ
+      updated_msg: ڕێکخستنی هاشتاگ بە سەرکەوتوویی نوێکرایەوە
+    title: بەڕێوەبەر
+    warning_presets:
+      add_new: زیادکردنی نوێ
+      delete: سڕینەوە
+      edit_preset: دەستکاریکردنی ئاگاداری پێشگریمان
+      title: بەڕێوەبردنی ئاگادارکردنەوە پێش‌سازدان
+  admin_mailer:
+    new_pending_account:
+      body: وردەکاریهەژمارە نوێیەکە لە خوارەوەیە. دەتوانیت ئەم نەرمەکالا پەسەند بکەیت یان ڕەت بکەیتەوە.
+      subject: هەژمارەیەک نوێ بۆ پێداچوونەوە لەسەر %{instance} (%{username})
+    new_report:
+      body: بەکارهێنەری %{reporter} گوزارشی لە بەکارهینەری%{target} دا
+      body_remote: کەسێک لە %{domain} گوزارشتی %{target} ناردووە
+      subject: گوزارشتێکی نوی لە %{instance} (#%{id})
+  aliases:
+    add_new: دروستکردنی ناوی ساختە
+    created_msg: نازناوێکی نوێیان سەرکەوتووانە دروستکرد. ئێستا دەتوانیت دەست بە گواستنەوە کەیت لە هەژمێرە کۆنەکەت.
+    deleted_msg: سەرکەوتووانە نازناوەکان لابدە. گواستنەوە لەو هەژمارەوە بۆ ئەم کەسە چیتر نابێت.
+    empty: هیچ نازناوێکت نیە.
+    hint_html: ئەگەر دەتەوێت لە هەژمارەیەکی ترەوە بگوێزریتەوە بۆ ئەم هەژمارە، لێرەدا دەتوانیت نازناوێک دروست بکەیت، پێش ئەوەی ئەوە بەردەوام بیت لە گواستنەوەی لە هەژمارە کۆنەکە بۆ ئەم هەژمارە پێویستە. ئەم کردەوەیە خۆی لە خۆیدا <strong>بێ زەرە و ناگەڕێتەوە</strong><strong>گواستنەوەی لە هەژمارەی کۆنە بۆ هەژمارەی نوێ دەستی پێکردووە</strong>.
+    remove: سڕینەوەی پەیوەندی ناز ناو
+  appearance:
+    advanced_web_interface: روخساری پێشکەوتوو
+    advanced_web_interface_hint: 'ئەگەر دەتەوێت پانی شاشەکە بەکاربێنیت، دەتوانی بە یارمەتی ڕووکاری پێشکەوتوو چەندین ستوونی جیاواز ڕێکبخەیت بۆ بینینی زانیاری زیاتر لە هەمان کات کە دەتەوێت بیبینیت: نووسراوەکانی نووسەرانی دیکە، ئاگانامەکان، پێرستی نووسراوەکانی هەموو شوێنێک، وە هەر ژمارەیەک لە لیستەکان و هاشتاگەکان.'
+    animations_and_accessibility: ئەنیمەیشن و توانایی دەستپێگەیشتن
+    confirmation_dialogs: پەیامەکانی پەسەندکراو
+    discovery: دۆزینەوە
+    localization:
+      body: ماستۆدۆن لەلایەن خۆبەخشەوە وەردەگێڕێت.
+      guide_link_text: هەموو کەسێک دەتوانێت بەشداری بکات.
+    sensitive_content: ناوەڕۆکی هەستیار
+    toot_layout: لۆی توت
+  application_mailer:
+    notification_preferences: گۆڕینی پەسەندکراوەکانی ئیمەیڵ
+    settings: 'گۆڕینی پەسەندکراوەکانی ئیمەیڵ: %{link}'
+    view: 'نیشاندان:'
+    view_profile: پرۆفایل نیشان بدە
+    view_status: پیشاندانی دۆخ
+  applications:
+    created: بەرنامە بە سەرکەوتوویی دروست کرا
+    destroyed: بەرنامە بە سەرکەوتوویی سڕدراوەتەوە
+    invalid_url: بەستەری دابینکراو نادروستە
+    regenerate_token: دووبارە دروستکردنەوەی نیشانەی چوونە ژوورەوە
+    token_regenerated: کۆدی دەستپێگەیشتن بە سەرکەوتوویی دروستکرا
+    warning: زۆر ئاگاداربە لەم داتایە. هەرگیز لەگەڵ کەس دا هاوبەشی مەکە!
+    your_token: کۆدی دەستپێگەیشتنی ئێوە
+  auth:
+    apply_for_account: داواکردنی بانگهێشتێک
+    change_password: تێپەڕوشە
+    checkbox_agreement_html: من ڕازیم بە <a href ="%{rules_path}" target="_blank">یاساکانی ڕاژە</a> وە <a href="%{terms_path}" target="_blank">مەرجەکانی خزمەتگوزاری</a>
+    checkbox_agreement_without_rules_html: من ڕازیم بە <a href="%{terms_path}" target="_blank">مەرجەکانی خزمەتگوزاری</a>
+    delete_account: سڕینەوەی هەژمارە
+    delete_account_html: گەر هەرەکتە هەژمارەکەت بسڕیتەوە، لە <a href="%{path}">لەم قوناغانە</a> بڕۆیتە پێشەوە. داوای پەسەند کردنتان لێدەگیرێت.
+    description:
+      prefix_invited_by_user: "@%{name} بانگت دەکات بۆ پەیوەندیکردن بەم ڕاژەی ماستۆدۆن!"
+      prefix_sign_up: ئەمڕۆ خۆت تۆمار بکە لە ماستۆدۆن!
+      suffix: بە هەژمارەیەک، دەتوانیت شوێن هەژمارەکانی دیکە بکەویت، نوێکردنەوەکان بڵاوبکەوە و نامە لەگەڵ بەکارهێنەران لە هەر ڕاژەیەکی ماستۆدۆن و زیاتر بگۆڕیتەوە!
+    didnt_get_confirmation: ڕێنماییەکانی دڵنیاکردنەوەت پێنەدرا?
+    dont_have_your_security_key: کلیلی ئاسایشت نیە?
+    forgot_password: تێپەڕوشەکەت لەبیر چووە?
+    invalid_reset_password_token: وشەی نهێنی دووبارە ڕێکبخەوە دروست نیە یان بەسەرچووە. تکایە داوایەکی نوێ بکە.
+    link_to_otp: کۆدی دوو فاکتەر لە تەلەفۆنەکەت یان کۆدی چاککردنەوە تێبنووسە
+    link_to_webauth: بەکارهێنانی ئامێری کلیلی پاراستن
+    login: چوونەژوورەوە
+    logout: چوونەدەرەوە
+    migrate_account: گواستنەوە بۆ ئەژمێرێکی تر
+    migrate_account_html: ئەگەر دەتەوێت ئەم هەژمارە دووبارە ئاڕاستە بکەیت بۆ ئەژمێرێکی تر، دەتوانیت <href="%{path}"> کرتەیەک لێرە بکەی </a>.
+    or_log_in_with: یان چوونە ژوورەوە بە
+    register: خۆ تۆمارکردن
+    registration_closed: "%{instance} ئەندامانی نوێ قبووڵ ناکات"
+    resend_confirmation: دووبارە ناردنی ڕێنماییەکانی دووپاتکردنەوە
+    reset_password: گەڕانەوەی تێپەڕوشە
+    security: ئاسایش
+    set_new_password: سازدانی تێپەڕوشەی نوێ
+    setup:
+      email_below_hint_html: ئەگەر ناونیشانی ئیمەیڵی خوارەوە نادروستە، دەتوانیت لێرە بیگۆڕیت و ئیمەیڵێکی پشتڕاستکردنەوەی نوێ وەربگۆڕیت.
+      email_settings_hint_html: ئیمەیڵی پشتڕاستکردنەوە کە نێردرا بۆ %{email}. ئەگەر ناونیشانی ئیمەیڵ ڕاست نەبوو، دەتوانیت لە ڕێکبەندەکانی هەژمارەکەت بیگۆڕیت.
+      title: دامەزراندن
+    status:
+      account_status: دۆخی هەژمارە
+      confirming: چاوەڕوانی دڵنیاکردنەوەی ئیمەیڵ بۆ تەواوکردن.
+      pending: ئەپلیکەیشەنەکەت چاوەڕوانی پێداچوونەوەیە لەلایەن ستافەکەمانەوە. لەوانەیە ئەمە هەندێک کاتی بخایەنێت ئەگەر ئەۆپەکەت پەسەند کرا، ئیمەیڵت پێدەگات.
+      redirecting_to: هەژمارەکەت ناچالاکە لەبەرئەوەی ئێستا دووبارە ئاڕاستەدەکرێتەوە بۆ %{acct}.
+    trouble_logging_in: کێشە ت هەیە بۆ چوونە ژوورەوە?
+    use_security_key: کلیلی ئاسایش بەکاربهێنە
+  authorize_follow:
+    already_following: ئێوە ئێستا شوێن کەوتووی ئەم هەژمارەیەی
+    already_requested: تۆ پێشتر داواکاری بەدواداچوت ناردوە بۆ ئەو هەژمارە
+    error: بەداخەوە هەڵەیەک هەبوو لە کاتی گەڕان بەدوای ئەو هەژمارەیە
+    follow: شوێن کەوە
+    follow_request: 'تۆ داواکاری شوێنکەوتنت ناردووە بۆ:'
+    following: 'ئەنجام بوو! تۆ ئێستا بەدوای ئەم بەکارهێنەرە دەکەویت:'
+    post_follow:
+      close: یان، دەتوانیت ئەم پەنجەرەیە دابخەیت.
+      return: پرۆفایلی بەکارهێنەر نیشان بدە
+      web: بڕۆ بۆ وێب
+    title: دوای %{acct} بکەوە
+  challenge:
+    confirm: بەردەوام بە
+    hint_html: "<strong>خاڵ:</strong> ئیمە لە کاتژمێری داهاتوو تێپەروشەت لێداوا ناکەین."
+    invalid_password: تێپەروشە دروست نیە
+    prompt: دڵنیابوون لە نهێنوشە بۆ بەردەوامبوون
+  crypto:
+    errors:
+      invalid_key: کلیلی باوڕپێکراو Ed25519 یان Curve25519 دروست نییە
+      invalid_signature: واژووی Ed25519 بڕوادار نییە
+  datetime:
+    distance_in_words:
+      about_x_hours: "%{count}کات"
+      about_x_years: "%{count}ساڵ"
+      almost_x_years: "%{count}ساڵ"
+      half_a_minute: ئێستا
+      less_than_x_seconds: ئێستا
+      over_x_years: "%{count}ساڵ"
+      x_days: "%{count}ڕۆژ"
+  deletes:
+    challenge_not_passed: ئەو زانیاریانەی تێنووست کردووە ڕاست نەبوو
+    confirm_password: تێپەڕوشەی ئێستات تێبنووسە بۆ سەلماندنی ناسنامەکەت
+    confirm_username: ناوی بەکارهێنەرت تێبنووسە بۆ دڵنیابوون لە کردارەکە
+    proceed: سڕینەوەی هەژمارە
+    success_msg: هەژمارەکەت بە سەرکەوتوویی سڕرایەوە
+    warning:
+      before: 'پێش بەردەوام بوون، تکایە ئەم تێبینیانە بە وردی بخوێننەوە:'
+      caches: وادیارە ئەو ناوەرۆکە کە ڕاژەکانی دیکە پاشکەوتیان کردووە بمینێتەوە
+      data_removal: بابەتەکانت و داتاکانی تر بە هەمیشەیی لادەبرێن
+      email_change_html: دەتوانی <a href="%{path}"> ناونیشانی ئیمەیڵەکەت بگۆڕیت</a> بەبێ سڕینەوەی هەژمارەکەت
+      email_contact_html: گەر ئیمەیل نەگەیشتووە بۆ داوای یارمەتی پەیامێک بنێرە بۆ <a href="mailto:%{email}">%{email}</a> پیغام دهید
+      email_reconfirmation_html: ئەگەر ئیمەیڵی پشتڕاستکردنەوەت پێنەگەشتووە، دەتوانیت <a href="%{path}"> دووبارە داوای لێبکە</a>
+      irreversible: ناتوانیت هەژمارەکەت بگەڕێنیتەوە یان کارا بکەیتەوە
+      more_details_html: بۆ زانیاری زیاتر، <a href="%{terms_path}"> پاراستنی نهێنیەکان</a> ببینە.
+      username_available: ناوی تێپەڕبوونت دووبارە بەردەست دەبێت
+      username_unavailable: ناوی تێپەڕبوونت بەردەست نییە
+  directories:
+    directory: ڕێنیشاندەرێکی پرۆفایل
+    explanation: دۆزینەوەی بەکارهێنەران لەسەر بنەمای بەرژەوەندییەکانیان
+    explore_mastodon: گەڕان لە %{title}
+  domain_validator:
+    invalid_domain: ناوی دۆمەین بڕوادار نییە
+  errors:
+    '400': داواکاریەکەی کە پێشکەشت کردووە نادروستە یان نەیپێکا.
+    '403': تۆ مۆڵەتت نیە بۆ بینینی ئەم لاپەڕەیە.
+    '404': ئەو لاپەڕەیەی بەدوای دەگەڕێی لێرە نیە.
+    '406': ئەم پەڕەیە لە فۆرماتی داواکراودا بەردەست نییە.
+    '410': ئەو لاپەڕەیەی بەدوای دا دەگەڕایت چیتر لێرە بوونی نیە.
+    '422':
+      content: سەلماندنەکەی ئاسایش سەرکەوتوو نەبوو. تۆ بلۆکی کۆکیز دەکەیت?
+      title: سەلماندنەکەی ئاسایش سەرکەوتوو نەبوو
+    '429': داواکاری زۆر
+    '500':
+      content: داوای لێبوردن دەکەین، بەڵام لە کۆتاییەکەماندا. شتێک هەڵە ڕویداوە.
+      title: ئەم لاپەڕەیە ڕاست نییە
+    '503': ناتوانرێت پەڕەکە خزمەت بکرێت بەهۆی شکستی ڕاژەیەکی کاتی.
+    noscript_html: بۆ بەکارهێنانی بەرنامەی وێبی ماستۆدۆن، تکایە جاڤاسکریپت بەتوانا بکە. لە جیاتی ئەوە، یەکێک لە < href="%{apps_path}">ئەپێکی ماستۆدۆن</a>بەکارببە.
+  existing_username_validator:
+    not_found: بەکارهێنەرێک بەم هەژمارەی بەکارهێنەرە لەم ڕاژە پەیدا نەبوو
+    not_found_multiple: نەیتوانی %{usernames} بدۆزێتەوە
+  exports:
+    archive_takeout:
+      date: بەروار
+      download: داگرتنی ئەرشیفەکەت
+      hint_html: دەتوانیت داوای ئەرشیفی <strong> نووسراوە و میدیای بارکراوەی خۆت </strong> بکەی. داتای هەناردەکراو لە فۆرماتی ActivityPub دەبێت، دەخوێنرێتەوە لەلایەن هەر نەرمەکالایەکی گونجاو. دەتوانیت هەموو ٧ ڕۆژ جارێک داوای ئەرشیفێکەت بکەیت.
+      in_progress: خەریکی کۆ کردنەوەی ئەرشیڤەکەت...
+      request: داوای ئەرشیفەکەت بکە
+      size: قەبارە
+    blocks: تۆ بلۆک دەکەیت
+    bookmarks: نیشانکراوەکان
+    domain_blocks: دۆمەین قەپاتکرا
+    lists: لیستەکان
+    mutes: هەژمارە بێدەنگ کراوە
+    storage: هەمارگەی میدیا
+  featured_tags:
+    add_new: زیادکردنی نوێ
+    errors:
+      limit: ئێوە ژمارەی بڕی ڕێگەپێدراوەی هاشتاگت هەیە
+    hint_html: "<strong> هاشتاگی تایبەت چییە؟</strong> بە شێوەیەکی دیار نیشان دەدرێت لەسەر پرۆفایلی گشتی و ڕێگە بە خەڵک دەدات بۆ گەڕان لە نووسراوە گشتیەکانت بە تایبەتی لەژێر ئەو هاشتاگە. ئامرازێکی زۆر باشن بۆ پاراستنی کاری داهێنەرانە یان پڕۆژەی درێژخایەنی ئێوە."
+  filters:
+    contexts:
+      account: پرۆفایلەکان
+      home: ماڵەوە
+      notifications: ئاگادارییەکان
+      public: پێرستی گشتی نووسراوەکان
+      thread: گفتوگۆکان
+    edit:
+      title: دەستکاری فلتەر
+    errors:
+      invalid_context: هیچ دەقێکی نادروست نییە یان بێ بڕوایە
+      invalid_irreversible: فلتەرکردنی بێ گەڕانەوە تەنها کار دەکات لەگەڵ چوارچێوەی ماڵ یان ئاگانامەکان
+    index:
+      delete: سڕینەوە
+      empty: هیچ پالێوەرێکت نیە.
+      title: فلتەرەکان
+    new:
+      title: زیادکردنی فلتەری نوێ
+  footer:
+    developers: پەرەپێدەران
+    more: زیاتر…
+    resources: سەرچاوەکان
+    trending_now: هەوادارانی ئێستا
+  generic:
+    all: هەموو
+    changes_saved_msg: گۆڕانکاریەکان بە سەرکەوتوویی هەڵگیرا!
+    copy: ڕوونووس
+    delete: سڕینەوە
+    order_by: ڕێکخستن بەپێی
+    save_changes: گۆڕانکاریەکان بپارێزە
+    validation_errors:
+      one: شتێک هێشتا تەواو ڕاست نیە تکایە چاو بە هەڵەکەی خوارەوە بخشێنەوە
+      other: هێشتا تەواو ڕاست نیە تکایە چاو بە هەڵەی %{count} خوارەوە بخشێنەوە
+  html_validator:
+    invalid_markup: 'نیشانەی HTML نادروستی تێدایە: %{error}'
+  imports:
+    modes:
+      merge: یەکخستن
+      merge_long: هێشتنەوەی تۆمارەکانی بەردەست و زیادکردنی دانەنوێکان
+      overwrite: نووسینەوە
+      overwrite_long: دراوەکانی ئێستا بسڕەوە و دراوی نوێ زیاد بکە
+    preface: دەتوانیت زانیاری هاوردە بکەیت کە ناردوتە تە لە ڕاژەیەکی ترەوە، وەک لیستی ئەو کەسانەی کە تۆ بەدوای دادەکەویت یان بەربەستت دەکەن.
+    success: داتاکەت بە سەرکەوتوویی بارکرا و ئێستا لە کاتی خۆیدا پرۆسێس دەکرێت
+    types:
+      blocking: لیستی بلۆککردن
+      bookmarks: نیشانەکان
+      domain_blocking: لیستی بلۆککردنی دۆمەین
+      following: لیستی خوارەوە
+      muting: لیستی کپکردنەوە
+    upload: بارکردن
+  in_memoriam_html: لەیادبوون.
+  invites:
+    delete: لەکارخستن
+    expired: بەسەرچووە
+    expires_in:
+      '1800': ٣٠ خولەک
+      '21600': ٦ کاتژمێر
+      '3600': ١ کاتژمێر
+      '43200': ١٢ کاتژمێر
+      '604800': ١ هەفتە
+      '86400': ١ ڕۆژ
+    expires_in_prompt: هەرگیز
+    generate: دروستکردنی لینکی بانگهێشت
+    invited_by: 'بانگهێشتکرایت لەلایەن:'
+    max_uses:
+      one: ١ بار
+      other: "%{count} بار"
+    max_uses_prompt: بێ سنوور
+    prompt: دروست کردن و هاوبەش کردنی لینکەکان لەگەڵ ئەوانی تر بۆ پێدانی چوونە ژوورەوە بۆ ئەم ڕاژە
+    table:
+      expires_at: بەسەرچووە
+      uses: بەکارهاوردنەکان
+    title: بانگهێشتکردنی خەڵک
+  lists:
+    errors:
+      limit: تۆ گەیشتوویتە زۆرترین ڕێژەی لیستەکان
+  media_attachments:
+    validations:
+      images_and_video: ناتوانرێت لەگەڵ ئەو نووسراوانە کە وێنەی لەگەڵە ،ڤیدیۆ بار بکەی
+      not_ready: ناتوانێت فایلەکان هاوپێچ بکات کە پرۆسەکەیان تەواو نەکردووە. دووبارە هەوڵ بدە!
+      too_many: ناتوانێت زیاتر لە ٤ فایل هاوپێچ بکات
+  migrations:
+    acct: گوێزرایەوە بۆ
+    cancel: پاشگەزبوونەوە لە دووبارە ئاڕاستەکردنەوە
+    cancel_explanation: هەڵوەشاندنەوەی دووبارە ئاڕاستەکردنەوە هەژمارەی ئێستات چالاک دەکات، بەڵام ئەو شوێنکەوتوانی ناهێنە وه کە گواستراوەتەوە بۆ ئەو هەژمارە.
+    cancelled_msg: سەرکەوتووانە دووبارە ئاڕاستەکردنەوەکەی بەتاڵ کردەوە.
+    errors:
+      already_moved: هەمان ئەژمێرە کە تۆ پێشتر گواستووتە بۆ
+      missing_also_known_as: نازناوێکی ئەم هەژمارە نییە
+      move_to_self: ناتوانێت هەژمارەی ئێستا بێت
+      not_found: نادۆزرێتەوە
+      on_cooldown: تۆ دەبێت چاوەڕوان بیت
+    followers_count: شوێنکەوتوانی کاتی لە حاڵی گواستنەوە
+    incoming_migrations: گواستنەوە لە هەژمارەی جیاواز
+    incoming_migrations_html: بۆ گواستنەوە لە هەژمارەیەکی ترەوە بۆ ئەم هەژمارە، سەرەتا پێویستە <href="%{path}"> ئەژمێرێک دروست </a> بکەی.
+    moved_msg: هەژمارەکەت ئێستا دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct} و شوێنکەوتوانی تۆ گواستراوەتەوە بۆ ئەوێ.
+    not_redirecting: هەژمارەکەت لە ئێستادا دووبارە ئاڕاستە ناکرێتەوە بۆ هیچ هەژمارەیەکی دیکە.
+    on_cooldown: تۆ بەم دواییە هەژمارەکەت کۆچ کردووە. ئەم کارە لە رۆژەکانی %{count} دا جارێکی تر بەردەست دەبێت.
+    past_migrations: گەواستنەوەکانی ڕابردوو
+    proceed_with_move: شوێنکەوتوان بگوازەوە
+    redirected_msg: ئەژمێرەکەت ئێستا دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct}.
+    redirecting_to: ئەژمێرەکەت دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct}.
+    set_redirect: دووبارە ئاڕاستەکردن ڕێک بخە
+    warning:
+      backreference_required: پێویستە سەرەتا هەژمارە نوێیەکە بۆ گەڕانەوەی سەرچاوەی ئەم هەژمارە رێکوپێک بکرێت
+      before: 'پێش بەردەوام بوون، تکایە ئەم تێبینیانە بە وردی بخوێننەوە:'
+      cooldown: دوای گواستنەوە ماوەیەکی چاوەڕوان دەبێ کە لە ماوەی ئەو دا نابێت جارێکی تر بگوازیتەوە
+      disabled_account: هەژمارەی ئێستات دوای ئەوە بە تەواوی بەکارناهیێت. هەرچۆنێک بێت، تۆ دەستگەیشتنت دەبێت بۆ ناردنەدەرەوەی داتا و هەروەها دووبارە کاراکردنەوە.
+      followers: ئەم کردارە هەموو شوێنکەوتوانی هەژمارەی ئێستا دەگوازێتەوە بۆ هەژمارەی نوێ
+      only_redirect_html: ئێوە دەتانن هەژمارەکەی خۆتان <a href="%{path}">بیخەنە سەر هەژمارەیەکی دیکە</a>.
+      other_data: هیچ داتایەکی تر بە خۆکارانە ناگوێزرێتەوە
+      redirect: پرۆفایلی هەژمارەی ئێستات بە ئاگادارییەکی ئاراستەکەراوە نوێ دەکرێتەوە و دووردەکەویت لە گەڕانەکان
+  moderation:
+    title: بەڕێوەبردن
+  move_handler:
+    carry_blocks_over_text: ئەم بەکارهێنەرە گواسترایەوە بۆ %{acct}، تۆ بلۆکت کردووە.
+    carry_mutes_over_text: ئەم بەکارهێنەرە گواسترایەوە بۆ %{acct}، تۆ بێدەنگت کردووە.
+    copy_account_note_text: 'ئەم بەکارهێنەرە لە %{acct} ەوە گواستیەوە، تێبینیەکانی پێشووت دەربارەیان بوون:'
+  notification_mailer:
+    digest:
+      action: پیشاندانی هەموو ئاگانامەکان
+      body: ئەمە کورتەی ئەو نامانەی لە دەستت دا لە دوا سەردانیت لە %{since}
+      mention: "%{name} ئاماژەی بە تۆ کرد لە:"
+      new_followers_summary:
+        one: لەکاتێک کە نەبوو ،شوێنکەوتوویێکی نوێت پەیداکرد،ئافەرم!
+        other: کاتیک کە نەبووی %{count} شوێنکەوتوویێکی نوێت پەیدا کرد! چ باشە!
+      subject:
+        one: "ئاگاداریێکی نووی لە دوایین سەردانی ئێوە\U0001F418"
+        other: "%{count} ئاگاداریێکی نوێ لە دوایین سەردانی ئێوە\U0001F418"
+      title: لە غیابی تۆدا...
+    favourite:
+      body: 'دۆخت پەسەندکراوە لەلایەن %{name}:'
+      subject: "%{name} دۆخی تۆی پەسەند کرد"
+      title: دڵخوازکردنی نوێ
+    follow:
+      body: "%{name} ئێستا شوێنکەوتوو ئێوەیە!"
+      subject: "%{name} ئێستا شوێنکەوتوو ئێوەیە"
+      title: شوێنکەوتوانی نوێ
+    follow_request:
+      action: بەڕێوەبردنی داوای شوێنکەوتن
+      body: "%{name} داوای کردووە کە شوێنت بکەوێت"
+      subject: 'چاوەڕوانی شوێنکەوتووە: %{name}'
+      title: داواکاری شوینکەوتنی نوێ
+    mention:
+      action: وەڵام
+      body: "%{name} لێرە ناوی ئێووەی بردووە:"
+      subject: "%{name} لێرە ناوی ئێووەی بردووە"
+      title: ناوبراوەی نوێ
+    reblog:
+      body: "%{name} نووسیسراوەکەی ئێوەی توتاندەوە:"
+      subject: "%{name} نووسراوەکەتی دووبارە توتاند"
+      title: توتاندنەوەی نوێ
+  notifications:
+    email_events: رووداوەکان بۆ ئاگاداری ئیمەیلی
+    email_events_hint: 'ئەو ڕووداوانە دیاریبکە کە دەتەوێت ئاگانامەکان وەربگری بۆ:'
+    other_settings: ڕێکبەندەکانی ئاگانامەکانی تر
+  otp_authentication:
+    code_hint: کۆدێک داخڵ بکە کە دروست کراوە لەلایەن ئەپی ڕەسەنایەتیەوە بۆ دڵنیابوون
+    description_html: ئەگەر تۆ <strong> هاتنەژوورەوەی دوو قۆناغی</strong> بە یارمەتی ئەپێکی پەسەندکردن چالاک بکەن، پێویستە بۆ چوونەژوورەوە ، بە تەلەفۆنەکەتان کە کۆدیکتان بۆ دروستدەکات دەستپێگەیشتنتان هەبێت.
+    enable: چالاککردن
+    instructions_html: "<strong> QR بدۆزەوە بۆ ناو ڕەسەنایەتی گووگڵ یان کاربەرنامەی TOTP هاوشێوە لەسەر تەلەفۆنەکەت </strong>. لە ئێستاوە، ئەو کاربەرنامەیە نیشانە دروست دەکات کە دەبێت داخڵیان بکەیت لەکاتی چوونە ژوورەوە."
+    manual_instructions: 'ئەگەر ناتوانیت کۆدی QR سکان بکەیت و پێویستە بە دەستی تێبنووسە، ئەمە نهێنیی دەقی سادەیە:'
+    setup: ئامادەکردن
+    wrong_code: کۆدی داخڵکراو نادروستە! ئایا کاتی ڕاژە و کاتی ئامێر راستن?
+  pagination:
+    newer: نوێتر
+    next: داهاتوو
+    older: کۆنتر
+    prev: پێشوو
+  polls:
+    errors:
+      already_voted: تۆ پێشتر دەنگت داوە لەسەر ئەم ڕاپرسییە
+      duplicate_options: خاوەنی ئایەمی دووبارە
+      duration_too_long: لە داهاتوو زۆر دوورە
+      duration_too_short: لە داهاتوو زۆر نزیکە
+      expired: ڕاپرسیەکە پێشتر کۆتایی هاتووە
+      invalid_choice: بژاردەی دەنگدانی هەڵبژێردراو بوونی نییە
+      over_character_limit: ناتوانێت هەر کامێکی درێژتر بێت لە %{max} نووسە
+      too_few_options: پێویستە زیاتر لە یەک بڕگەی هەبێت
+      too_many_options: ناتوانێت زیاتر لە %{max} بەندی تێدا بێت
+  preferences:
+    other: هی تر
+    posting_defaults: بڵاوکردنی بنەڕەتەکان
+    public_timelines: هێڵی کاتی گشتی
+  reactions:
+    errors:
+      limit_reached: سنووری کاردانه وه ی جیاواز گه یشت
+      unrecognized_emoji: ئیمۆجییەکی ناسراو نییە
+  relationships:
+    activity: چالاکی هەژمارە
+    dormant: ناچالاک
+    follow_selected_followers: شوێنکەوتوان دیاریکراو بکە
+    followers: شوێنکەوتوان
+    following: شوێن‌کەوتووی
+    invited: بانگهێشتەکان
+    last_active: دوایین چالاکی
+    most_recent: تازەترین
+    moved: گوێزرایەوە
+    mutual: دوولایەنە
+    primary: سەرەتایی
+    relationship: پەیوەندی
+    remove_selected_domains: لابردنی هەموو شوێنکەوتوانی دۆمەینە دیاریکراوەکان
+    remove_selected_followers: شوێنکەوتوانی دیاریکراو لابدە
+    remove_selected_follows: کۆتایی بە بەدوادانەچوی بەکارهێنەرە دیاریکراوەکان بدە
+    status: دۆخی هەژمارە
+  remote_follow:
+    acct: ناونیشانی هەژمارەی username@domainخۆت لێرە بنووسە
+    missing_resource: نەیتوانی URLی ئاراستەکردنەوەی پێویست بدۆزێتەوە بۆ ئەژمێرەکەت
+    no_account_html: هێشتا نەبووی بە ئەندام؟ <a href='%{sign_up_path}' target='_blank'>لێرە دەتوانی هەژمارەیەک دروست بکەی</a>
+    proceed: بەردەوام بە بۆ بەدواداچوون
+    prompt: 'تۆ بەدوای دا دەچیت:'
+    reason_html: "<strong> بۆچی ئەم هەنگاوە پێویستە؟ </strong> <code>%{instance}</code> لەوانەیە ئەو ڕاژەیە نەبێت کە تۆ تۆمارت کردووە، بۆیە پێویستە سەرەتا دووبارە ئاڕاستەت بکەین بۆ ڕاژەکاری ماڵەوەت."
+  remote_interaction:
+    favourite:
+      proceed: بۆ دڵخوازکردنی ئەم توتە
+      prompt: 'دەتەوێت ئەم تووتە تپەسەند بکەیت؛:'
+    reblog:
+      proceed: بەردەوام بە بۆ دووبارە توتاندن
+      prompt: 'دەتەوێت ئەم تووتە دووبارە بکەیتەوە:'
+    reply:
+      proceed: بۆ وەڵامدانەوە
+      prompt: 'دەتەوێت ئەم تووتە وڵام بدەیتەوە:'
+  scheduled_statuses:
+    over_daily_limit: ئێوە لە سنووری ڕیپێدراوی %{limit} توتی ئەو رۆژە،خۆرتر ڕۆیشتوویت
+    over_total_limit: تۆ سنووری خشتەکراوی %{limit} ت بەزاندووە
+    too_soon: پێویستە بەرواری خشتەکراو لە داهاتوودا بێت
+  sessions:
+    activity: دوایین چالاکی
+    browser: وێبگەڕ
+    browsers:
+      blackberry: بلاکبێری
+      chrome: کرۆم
+      edge: مایکرۆسۆفت ئیچ
+      electron: ئەلکترۆن
+      firefox: فایەرفۆکس
+      generic: وێبگەڕی نەناسراو
+      ie: ئینتێرنێت ئێکسپلۆرەر
+      micro_messenger: مایکرۆمێسنجەر
+      nokia: وێبگەڕی نۆکیا ئێس ٤٠ ئۆڤی
+      opera: ئۆپێرا
+      otter: ئۆتەر
+      phantom_js: فانتۆم جەی ئێس
+      qq: وێبگەڕی QQ
+      safari: سافری
+      uc_browser: وێبگەڕی UC
+    current_session: دانیشتنی ئێستا
+    description: "%{browser} لەسەر %{platform}"
+    explanation: ئەمانە وێبگەڕەکەن کە ئێستا چووەتە ژوورەوە بۆ ئەژمێری ماستۆدۆنی خۆت.
+    ip: ئای‌پی
+    platforms:
+      android: ئەندرۆید
+      blackberry: بلاکبێری
+      chrome_os: سیستەمی کارگێڕی کرۆم
+      firefox_os: سیستەمی کارگێڕی فایەرفۆکس
+      linux: لینۆکس
+      mac: ماک
+      other: سیستەمیکارگێڕی نەناسراو
+      windows: ویندۆز
+      windows_mobile: ویندۆزموبایل
+      windows_phone: ویندۆزفۆن
+    revoke: بەتاڵکردن
+    revoke_success: دانیشتن بەسەرکەوتوویی بەتاڵکرا
+    title: کۆبوونەوەکان
+  settings:
+    account: هەژمارە
+    account_settings: ڕێکخستنەکانی هەژمارە
+    aliases: نازناوەی هەژمارە
+    appearance: ڕووخسار
+    authorized_apps: ئەپەکانی ڕێگەپێدراو
+    back: گەڕانەوە بۆ ماستۆدۆن
+    delete: سڕینەوەی هەژمارە
+    development: گەشەپێدان
+    edit_profile: دەستکاری پرۆفایل
+    export: ناردن زانیاری
+    featured_tags: هاشتاگی تایبەت
+    import: هاوردن
+    import_and_export: هاوردەکردن و ناردن
+    migrate: گواستنەوەی هەژمارە
+    notifications: ئاگادارییەکان
+    preferences: پەسەندەکان
+    profile: پرۆفایل
+    relationships: شوێنکەوتوو و شوێنکەوتوان
+    two_factor_authentication: کۆدی دووقۆناغی هاتنەژوور
+    webauthn_authentication: کلیلەکانی پاراستن
+  statuses:
+    attached:
+      audio:
+        one: "%{count} دەنگ"
+        other: "%{count} دەنگ"
+      description: 'هاوپێچ: %{attached}'
+      image:
+        one: "%{count} وێنە"
+        other: "%{count} وێنەکان"
+      video:
+        one: "%{count} ڤیدیۆ"
+        other: "%{count} ڤیدیۆکان"
+    boosted_from_html: توکراوەتەوە لەلایەن %{acct_link}
+    content_warning: 'ئاگاداری ناوەڕۆک: %{warning}'
+    disallowed_hashtags:
+      one: 'هاشتاگی ڕێگەپێنەدراوەی تێدابوو: %{tags}'
+      other: 'هاشتاگەکانی ڕێگەپێنەدراوەی تێدابوو: %{tags}'
+    errors:
+      in_reply_not_found: ئەو دۆخەی کە تۆ هەوڵی وەڵامدانەوەی دەدەیت وادەرناکەوێت کە هەبێت.
+    open_in_web: کردنەوە لە وێب
+    over_character_limit: سنووری نووسەی %{max} تێپەڕێنرا
+    pin_errors:
+      limit: تۆ پێشتر زۆرترین ژمارەی توتتی چەسپیوەت هەیە
+      ownership: نووسراوەکانی تر ناتوانرێ بسەلمێت
+      reblog: بەهێزکردن ناتوانرێت بچەسپێ
+    poll:
+      total_people:
+        one: "%{count} کەس"
+        other: "%{count} خەڵک"
+      total_votes:
+        one: "%{count} دەنگ"
+        other: "%{count} دەنگەکان"
+      vote: دەنگ
+    show_more: زیاتر پیشان بدە
+    show_newer: نوێتر پیشان بدە
+    show_older: پیشاندانی کۆنتر
+    show_thread: نیشاندانی ڕشتە
+    sign_in_to_participate: بچۆ ژوورەوە بۆ بەشداریکردن لە گفتوگۆکەدا
+    visibilities:
+      private: شوێنکەوتوانی تەنها
+      private_long: تەنها بۆ شوێنکەوتوانی پیشان بدە
+      public: گشتی
+      public_long: هەموو کەس دەتوانێت ببینێت
+      unlisted: پێرست نەبووە
+      unlisted_long: هەموو کەس دەتوانێت بیبینێت، بەڵام لە هێڵی کاتی گشتی دا نەریزراوە
+  stream_entries:
+    pinned: توتی چەسپکراو
+    reblogged: بەهێزکردن
+    sensitive_content: ناوەڕۆکی هەستیار
+  tags:
+    does_not_match_previous_name: لەگەڵ ناوی پێشوو یەک ناگرێتەوە
+  terms:
+    body_html: |
+      <h2>سیاسەتی تایبەت</h2>
+      <h3 id="collect">چ زانیاریێک کۆ دەکەینەوە؟</h3>
+      <ul>
+      <li><em>زانیاری ئەژمێری بنەڕەتی</em>: ئەگەر تۆ لەسەر ئەم ڕاژەی تۆماربکەیت، لەوانەیە داوات لێبکرێت ناوی بەکارهێنەر، ناونیشانی ئیمەیڵ و نهێنوشە تێبنووسیت. هەروەها دەتوانیت زانیاری پرۆفایلی زیاتر تێبنووسی ت وەک ناوی پیشاندان و ژیاننامە، و بارکردنی وێنەی پرۆفایل و وێنەی سەرپەڕە. ناوی بەکارهێنەر، ناوی پیشاندان، ژیاننامە، وێنەی پرۆفایل و وێنەی سەرپەڕە هەمیشە بە ئاشکرا لیست کراوە.</li>
+      <li><em> پۆستەکان، بەدواکەوتن و زانیاری گشتی </em>: لیستی ئەو کەسانەی کە پەیڕەوی دەکەیت بە ئاشکرا لیست کراوە، هەمان شت بۆ شوێنکەوتەکانت ڕاستە. کاتێک ئیمەیڵێکت پێشکەش کرد، بەروار و کات خەزن کراوە و هەروەها ئەو بەرنامەیەی کە نامەکەت لەوە پێشکەش کردووە. نامەکان لەوانەیە هاوپێچی میدیای تێدابێت، وەک وێنە و ڤیدیۆ. گشتی و لیستە نەکراوەکان بابەتەکان بە ئاشکرا بەردەستن. کاتێک بابەتێک پێشکەش دەکەیت لەسەر پرۆفایلەکەت، کە هەروەها زانیاری بەردەستی گشتیە. بابەتەکانت دەگەیەنینە شوێنکەوتەکانت، لە هەندێک حاڵەتدا مانای وایە دەگەیەنینە ڕاژەکاری جیاواز و کۆپیەکان لەوێ هەڵگیراون. کاتێک بابەتەکان دەسڕیتەوە، ئەمە بە هەمان شێوەیە دەگەیەنیتە شوێنکەوتوانی خۆت. کاری سەرلێبڕین یان بە دڵنییاکردنی پۆستی تر هەمیشە گشتیە.</li>
+      <li><em> ڕاستەوخۆ و تەنها شوێنکەوتوانی بابەتەکان</em>: هەموو بابەتەکان خەزن کراون و لە ڕاژەکارەکە دا پرۆسەکراون. پۆست تەنها شوێنکەوتوانی خۆت دەگەیەنینە شوێنکەوتوانی خۆت و بەکارهێنەران کە تێیدا باس دەکرێت، و پۆستی ڕاستەوخۆش تەنها دەگەیەنینە ئەو بەکارهێنەرانەی کە ئاماژەیان پێکراوە لە هەندێک حاڵەتدا واتە دەگەیەنینە ڕاژەی جیاوازەکان و کۆپیەکان لەوێ هەڵگیراون ئێمە هەوڵی باوەڕێکی باش دەکەین بۆ سنووردارکردنی گەیشتن بەو پۆستانە تەنها بۆ کەسانی ڕێگەپێدراو، بەڵام لەوانەیە ڕاژەکارەکانی تر سەرکەوتوو نەبوون. بۆیە گرنگە پێداچوونەوە بە سێرڤەرەکان بکەیت کە شوێنکەوتوانی تۆ هی ئەوەن. لەوانەیە بژاردەیەک بگۆڕیت بۆ پەسەندکردن و ڕەتکردنەوەی شوێنکەوتوانی نوێ بە دەستی لە ڕێکبەندەکان. <em> تکایە لە بیرت بێت کە کارپێکەرەکانی سێرڤەرەکە و هەر خزمەتکاری وەرگرێک لەوانەیە ئەم جۆرە نامانە </em>، و وەرگرەکان لەوانەیە گرتەی شاشە یان کۆپی بکەن یان بە پێچەوانەوە دووبارە بەشداری پێبکەن. <em> هیچ زانیاریەکی مەترسیدار لەسەر ماستۆدۆن بڵاو</em></li>
+      <li><em>ئای پی و مێتاداتای تر</em>: کاتێک دەچیتە ژوورەوە، ئێمە ئەو ئای پی ە تۆمار دەکەین کە تۆ لە ناوی ەوە داخڵ تدەکەیت، هەروەها ناوی بەرنامەی وێبگەڕەکەت. هەموو ئەو کۆکراوانەی لە کۆبوونەوەکاندا هەن بۆ پێداچوونەوە و بەتاڵکردنەوەت لە ڕێکبەندەکان. نوێترین ناونیشانی IP بەکارهێنراوە خەزن کراوە بۆ ١٢ مانگ. هەروەها لەوانەیە ئێمە مادە ڕاژەکارەکان بهێڵین کە ئای پی ئەدرێسی هەموو داواکارییەک بۆ ڕاژەکارەکانمان </li>
+      </ul>
+      < hr="spacer" />
+
+      <h3 id="use">ئێمە زانیاری ئێوەمان بۆ چییە؟</h3>
+
+      <p> ئەو زانیاریانەی لە ئێوە کۆی دەکەین لەوانەیە بەم ڕێگایانە بەکار بهێنرێت:</p>
+
+      <ul>
+      <li> بۆ دابینکردنی ئەرکە سەرەکیەکانی ماستۆدۆن. دەتوانیت تەنها کارلێک بکەیت لەگەڵ ناوەڕۆکی کەسانی تر و ناوەڕۆکی خۆت پۆست بکەیت کاتێک دەچیتە ژوورەوە. بۆ نموونە، لەوانەیە شوێن کەسانی تر بکەویت بۆ بینینی پۆستە تێکەڵەکانیان لە تایم لاینی ماڵەوەی تایبەتی خۆت.</li>
+      <li> بۆ چاودێری کردنی کۆمەڵگا، بۆ نموونە بەراوردکردنی ناونیشانی IPەکەت لەگەڵ کەسانی ناسراو بۆ دیاریکردنی خۆدزینەوە یان پێشێلکاریتر.</li>
+      <li> ئەو ئیمەیڵەی کە تۆ دەستەبەرت کردووە لەوانەیە بەکاربێت بۆ ناردنی زانیاری، ئاگاداری دەربارەی کەسانی تر کە کارلێک دەکەن لەگەڵ ناوەڕۆکەکەت یان ناردنی نامەکانت، و وەڵامدانەوەی پرسیارکردنەکان، و/یان داواکارییان یان پرسیارەکانی تر.</li>
+      </ul>
+      < hr="spacer" />
+
+      <h3 id="بپارێزە"> چۆن زانیاریەکەت دەپارێزین؟</h3>
+
+      <p> ئێمە چەندین پێوانەی ئەمنی جۆراوجۆر جێبەجێ دەکەین بۆ پاراستنی سەلامەتی زانیاری ە تایبەتیەکانت کاتێک تۆ داخڵت کردووە یان پێشکەشکردن یان چوونە ژوورەوە بۆ زانیاری تایبەتی. لە نێوان شتەکانی تردا، دانیشتنی وێبگەڕەکەت، هەروەها ترافیکی نێوان کاربەرنامەکانت و API، بە SSL پارێزراوە، و نهێنوشەکەت بە بەکارهێنانی ئەلگاریتمی یەک-ڕێگەی بەهێز بە هاوسێکراوە. دەتوانیت سەلماندنی دوو-فاکتەر بەتوانا بکەیت بۆ زیاتر پاراستنی چوونە ژوورەوە بۆ ئەژمێرەکەت.</p>
+
+      < hr="spacer" />
+      < hr="spacer" />
+
+      <h3 id="داتا-هێشتنەوە"> بیمەنامەی هێشتنەوە داتامان چییە؟</h3>
+
+      <p> ئێمە بە باشی هەوڵ بۆ باوەڕەکان </p>
+
+      <ul>
+      <li> سێرڤەری پاراستنی ناونووسەکان کە ناونیشانی ئای پی تێدایە بۆ هەموو داواکاریەکان بۆ ئەم سێرڤەرە، تا ئێستا وەک ئەو جۆرە لۆگانە پارێزراون، زیاتر لە 90 ڕۆژ.</li>
+      <li> ئای پیەکە بپارێزە کە پەیوەندی بە بەکارهێنەرە تۆمارکراوەکان هەیە زیاتر لە 12 مانگ.</li>
+      </ul>
+      <p> دەتوانیت داواکاری و داگرتنی ئەرشیفی ناوەڕۆکەکەت بکەیت، لەوانە بابەتەکانت، هاوپێچەکانی میدیا، وێنەی پرۆفایل، و وێنەی سەرپەڕە.</p>
+
+      <p> تۆ دەتوانیت بە شێوەیەکی نائاسایی ئەژمێرەکەت بسڕیتەوە لە هەر کاتێکدا.</p>
+
+      < hr="spacer"/>
+
+      <h3 id="کۆکیز"> ئایا ئێمە کۆکیز بەکار بێنە؟</h3>
+
+      <p> بەڵێ کۆکیزەکان فایلی بچووکن کە سایتێک یان دابینکەری خزمەتگوزاریەکەی دەیگوێزێتەوە بۆ هارد درایڤی کۆمپیوتەرەکەت لە ڕێگەی وێبگەڕەکەت (ئەگەر ڕێگەت پێ بدەیت). ئەم کۆکیزانە وێبسایتە بەتوانا دەکەن بۆ ناسینەوەی وێبگەڕەکەت و، ئەگەر ئەژمێرێکی تۆمارکراوت هەیە، بیبەستە بە ئەژمێری تۆمارکراو.</p>
+
+      <p> کۆکیز بەکاربێنە بۆ تێگەیشتن و هەڵگرتنی پەسەندیەکانی تۆ بۆ سەردانەکانی داهاتوو.</p>
+
+      < hr="spacer" />
+
+      <h3 ="ئاشکرا</h3> > ئایا هیچ زانیارییەک بۆ حزبەکانی دەرەوە ئاشکرا دەکەین؟
+
+      <p> ئێمە زانیاریە تایبەتەکانت نافرۆشین، بازرگانی دەکەین، یان ناگوازرێتەوە بۆ حزبەکانی دەرەوە. ئەمە لایەنی سێیەمی باوەڕپێکراو ی تێدا نییە کە یارمەتیمان دەدات لە کارپێکردنی سایتەکەمان، ئەنجامدانی کارەکانمان، یان خزمەتکردنی ئێوە، هەتا ئەو حزبانە ڕازی بن بە نهێنی هێشتنەوەی ئەم زانیاریانە. هەروەها لەوانەیە زانیاریەکەت بڵاوکەینەوه کاتێک پێمان وایە ئازادکردن گونجاوە بۆ پابەندبوون بە یاسا، سەپاندنی سیاسەتی ماڵپەڕەکەمان، یان پاراستنی مافەکانمان یان مافی تر، موڵک، یان سەلامەتی.</p>
+
+      <p> لەوانەیە ناوەڕۆکی گشتیت دابەزێنرابێت لەلایەن خزمەتگوزاریەکانی ترەوە لە تۆڕەکەدا. پۆستە گشتی و تەنها شوێنکەوتوانی تۆ دەگەیەنینە ئەو سێرڤەرانەی کە شوێنکەوتوانی تێیدا نواندووە، و پەیامی ڕاستەوخۆ دەگەیەنینە خزمەتکارەکانی وەرگرەکان، لە دووری ئەوەی کە شوێنکەوتوانی یان وەرگرەکان لە سێرڤەرێکی جیاواز لەم.</p>
+
+      <p> کاتێک تۆ مۆڵەت بە کاربەرنامەیەک بدەیت بۆ بەکارهێنانی ئەژمێرەکەت، بەگوێرەی مەودای مۆڵەتەکانت کە پەسەندت کردووە، لەوانەیە بچێتە ناو زانیاری پرۆفایلی گشتی، لیستی خوارەوەت، شوێنکەوتوانی تۆ، لیستەکانت، هەموو بابەتەکانت، و دڵراوەکانی تۆ. کاربەرنامەکان هەرگیز ناتوانن دەستگەیشتنیان هەبێت بە ناونیشانی ئیمەیڵ یان نهێنوشە.</p>
+      < hr="spacer" />
+
+      <h3 id="منداڵان"> بەکارهێنانی سایت لەلایەن منداڵانەوە</h3>
+
+      <p> ئەگەر ئەم سێرڤەرە لە یەکێتی ئەورووپا یان ئی ئی ئی ئەی بێت: ماڵپەڕ، بەرهەم و خزمەتگوزارییەکانی ئێمە هەموویان ئاراستەی ئەو کەسانە دەکرێت کە بە لایەنی کەمەوە 16 ساڵ ن. ئەگەر تەمەنت لە خوار 16 ساڵەوە بێت، لە سەر پێداویستی GDPR (<a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">General Data Protection Regulation</a>) ئەم سایتە بەکارمەهێنیت.</p>
+
+      <p> ئەگەر ئەم سێرڤەرە لە ئەمریکا بێت: ماڵپەڕ و بەرهەم و خزمەتگوزاریەکانمان هەمووی ئاراستەی ئەو کەسانە دەکرێت کە بە لایەنی کەمەوە 13 ساڵ ن. ئەگەر تۆ لە خوار تەمەنی 13 ساڵیەوەبیت، لە سەر داواکاریەکانی COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children's Online Privacy Protection act</a>) ئەم سایتە بەکارمەهێنیت.</p>
+
+      <p> یاسا دەتوانێت جیاواز بێت ئەگەر ئەم سێرڤەرە لە دەسەڵاتی دادوەری تر بێت.</p>
+
+      < hr="spacer" />
+
+      <h3 id="گۆڕانکاریەکان"> گۆڕانکاریەکان لە سیاسەتی تایبەتمەندیمان</h3>
+
+      <p> ئەگەر بڕیارمان دا سیاسەتی تایبەتمەندیمان بگۆڕین، ئەو گۆڕانکاریانە لەم پەڕەیە بڵاودەکەینەوە.</p>
+
+      <p> ئەم دۆکیومێنتە CC-BY-SA ە. دوایین جار نوێکرایەوە لە 7ی ئازاری 2018.</p>
+
+      <p> لە بنەڕەتدا لە < href="https://github.com/discourse/discourse">Discourse privacy policy</a>.</p>
+    title: "%{instance} مەرجەکانی خزمەتگوزاری و سیاسەتی تایبەتیێتی"
+  themes:
+    contrast: ماستۆدۆن (کۆنتراستی بەرز)
+    default: ماستۆدۆن (ڕەش)
+    mastodon-light: ماستۆدۆن (کاڵ)
+  two_factor_authentication:
+    add: زیادکردن
+    disable: لەکارخستنی 2FA
+    disabled_success: سەلماندنی سەلماندنی دوو-فاکتەر بە سەرکەوتوویی لەکارخراوە
+    edit: دەستکاری
+    enabled: سەلماندنی دوو-فاکتەر چالاک کراوە
+    enabled_success: سەلماندنی دوو-فاکتەر بە سەرکەوتوویی چالاک کرا
+    generate_recovery_codes: دروست کردنی کۆدی چاککردنەوە
+    lost_recovery_codes: کۆدی گەڕاندنەوە ڕێگەت پێ دەدات کە دەستگەیشتنت بۆ هەژمارەکەت بەدەست بهێنێ ئەگەر تەلەفۆنەکەت لەدەست بدەیت. ئەگەر کۆدەکانی چاکبوونەوەت لەدەست داوە، دەتوانیت لێرە دووبارە دروستیان کەی. کۆدی چاککردنەوەی کۆنت هەڵدەوەشێنێتەوە.
+    methods: دوو - میتۆدی فاکتەر
+    otp: ئەپی ڕاستەوە
+    recovery_codes: پاڵپشتکردن لە کۆدی هێنانەوەی
+    recovery_codes_regenerated: کۆدی گەڕاندنەوە بە سەرکەوتوویی دووبارە دروست بوویەوە
+    recovery_instructions_html: گەر تەلەفۆنەکەت بزر کرد دەتوانی بە یەکێک لە کۆدەکانی خوارەوە چاودێری هەژمارەکەت لە دەست بگریت.<strong>ائەم کۆدانە لە شوێنێکی پاراو هەڵبگرە</strong> بۆ نموونە چاپی بکەن یان لەگەڵ بەڵگەنامە گرینگەکانت دایبنێ.
+    webauthn: کلیلەکانی پاراستن
+  user_mailer:
+    backup_ready:
+      explanation: ئێوە وشانێکی پاڵپشتی تەواوت لە هەژمارەکەی خۆت داوا کردووە، ئەم پاڵپشتییە ئێستا ئامادەی بارکردنە!
+      subject: ئارشیڤی ئێوە ئامادەی داگرتنە
+      title: وەرگرتنی ئارشیڤ
+    sign_in_token:
+      details: 'وردەکاریی هەوڵەکان:'
+      explanation: 'هەوڵێک بۆ هاتنە نێو هەژمارەکەتان لە ناونیسانێکی ئای‌پی پەیداکرا. گەر خۆتانن. تێپەڕوشەی پاراستن بۆ پەڕەی بەرنگاری دابین بکە:'
+      further_actions: 'گەر ئێوە نیین تکایە تێپەڕوشە بگۆڕە وە لێرەوە پەسەند بوونی دوو قۆناغی لە سەر هەژمارەکەتان چالاک بکەن:'
+      subject: تکایە دڵنیابە لە هەوڵدان بۆ چوونە ژوورەوە
+      title: هەوڵدان بۆ چوونە ژوورەوە
+    warning:
+      subject:
+        disable: هەژمارەکەت %{acct} بەستراوە
+        none: ئاگاداری بۆ %{acct}
+        silence: هەژمارەکەی %{acct} سنووردار کراوە
+        suspend: هەژمارەکەی %{acct} ڕاگیرا
+      title:
+        disable: هەژمارە بەستراوە
+        none: ئاگاداری
+        silence: هەژماری سنووردار
+        suspend: هەژمار ڕاگیرا
+    welcome:
+      edit_profile_action: پرۆفایلی جێگیرکردن
+      edit_profile_step: 'ئێوە دەتوانن پرۆفایلەکەتان بە دڵخوازی خۆتان بگۆڕن: دەتوانن وێنەی پرۆفایل،وێنەی پاشبنەما،ناو و... هتد دابین بکەن. ئەگەر هەرەکت بێت دەتوانی هەژمارەکەت تایبەت بکەیتەوە تا تەنها کەسانێک کە ئێوە ڕێگەتان داوە دەتوانن شوێنکەوتوو هەژمارەکەتان بن.'
+      explanation: ئەمە چەند ئامۆژگارییەکن بۆ دەست پێکردنت
+      final_action: دەست بکە بە بڵاوکردنەوە
+      final_step: 'چیزی بنووسید! تەنانەت گەر ئێستا کەسێک شوێن کەوتووی ئێوە نەبوو، هەژمارەکانی دیکە و سەردانکەرەکانی پرۆفایلەکەتان نووسراوەکانی گشتی ئێوە دەبینن. بۆ نموونە لە پێرستی نووسراوە خۆماڵییەکان و لە لکاوەی(هاشتاگ) ەکان، شایەد هەرەکتان بێت بە چەسپکراوەی # خۆتان بناسێنن.'
+      full_handle: ناوی بەکارهێنەری تەواوی ئێوە
+      full_handle_hint: ئەمە ئەو شتەیە کە بە هاوڕێکانت دەلێی بۆ ئەوەی پەیام یان لە ڕاژەیەکی دیکەی ترەوە بەدوات بکەون.
+      review_preferences_action: گۆڕینی پەسەندەکان
+      review_preferences_step: دڵنیابە لە دانانی پەسەندکراوەکانت، وەک کام ئیمەیل کە دەتەوێت وەریبگرێ، یان دەتەوێت چ ئاستێکی تایبەتیت بۆ بابەتەکانت پێش گریمانە بێت. ئەگەر نەخۆشی جوڵەت(دڵ تێکەڵدان لە وێنە جووڵەییەکان) نیە، دەتوانیت هەڵبژێریت بۆ بەتواناکردنی پەخشکردنی خۆکاری GIF.
+      subject: بەخێربیت بۆ ماستۆدۆن
+      tip_federated_timeline: پێرستی نووسراوەکانی هەمووشوێنێک وێنەیەکی گشتی لە تۆڕی ماستۆدۆنە، بەڵام تەنها بریتییە لە هاوسێکان کە شوێنیان کەوتن؛بس تەواو نییە.
+      tip_following: بە شیوەی بنەڕەتی بەڕێوەبەران ڕاژەکەتان چاودێری دەکەن، بۆ پەداکردنی کەسانی سەرنجڕاکێشە چاودێری نووسراوە ناخۆیی و نووسراوەکانی شوێنەکانی دیکە بکەن.
+      tip_local_timeline: پێرستی نووسراوە ناوخۆییەکان شێوەیەکی تەواو لە بەکارهێنەران لە سەر %{instance} پیسان دەدەن، ئەمانە جەیرانی ئێوەن!
+      tip_mobile_webapp: ئەگەر وێبگەڕی مۆبایلەکەت پێشنیاری زیادکردنی ماستۆدۆن بۆ شاشەی ڕوومێزیەکەتی کرد، دەتوانیت ئاگانامەکانی هاندان وەربگری. لە زۆر ڕوەوە وەک بەرنامەیەیەکی ئەسڵی ئیس دەکا!
+      tips: ئامۆژگاریەکان
+      title: بەخێربێیت، بەکارهێنەر %{name}!
+  users:
+    follow_limit_reached: ناتوانیت زیاتر لە %{limit} خەڵک پەیڕەو کەیت
+    generic_access_help_html: کێشەت هەیە لە گەیشتن بە هەژمارەکەت؟ دەتوانیت لەگەڵ %{email} بۆ یارمەتیدان پەیوەندی بگرن
+    invalid_otp_token: کۆدی دوو-فاکتەر نادروستە
+    invalid_sign_in_token: کۆدی پاراستن دروست نیە
+    otp_lost_help_html: گەر بەو دووڕێگا نەتوانی بچیتە ژوورەوە، لەوانەیە پەیوەندی بگری بە %{email} بۆ یارمەتی
+    seamless_external_login: تۆ لە ڕێگەی خزمەتگوزاری دەرەکیەوە داخڵ بووی، بۆیە ڕێکبەندەکانی نهێنوشە و ئیمەیل بەردەست نین.
+    signed_in_as: 'چوونە ژوورەوە وەک:'
+    suspicious_sign_in_confirmation: وادیارە تۆ پێشتر لەم ئامێرە نەچویتە ژوورەوە، و بۆ ماوەیەک نەچویتە ژوورەوە، بۆیە کۆدی پاراستن دەنێردرینە ناونیشانی ئیمەیڵەکەت بۆ دڵنیابوون لەوەی کە ئەوە تۆیت.
+  verification:
+    explanation_html: 'دەتوانیت <strong> خۆت بسەلمێنیت وەک خاوەنی لینکەکان لە مێتاداتای پرۆفایلەکەت</strong>. بۆ ئەمە، ماڵپەڕە لینککراوەکە پێویستە لینکێکی تێدا بێت بۆ پرۆفایلی ماستۆدۆنەکەت. بەستەری <strong> دەبێت </strong> هەبێت <code>="me"</code>. ناوەڕۆکی دەقی لینکەکە گرنگ نییە. ئەمە نموونەیەکە:'
+    verification: ساغ کردنەوە
+  webauthn_credentials:
+    add: زیادکردنی کلیلی ئاسایشی نوێ
+    create:
+      error: کێشەیەک هەبوو لە زیادکردنی کلیلی پاراستنەکەت. تکایە دووبارە هەوڵ دەوەشنەوە.
+      success: کلیلی ئاسایشت بە سەرکەوتوویی زیادکرا.
+    delete: سڕینەوە
+    delete_confirmation: ئایا دڵنیایت لەوەی دەتەوێت ئەم کلیلی پاراستنە بسڕیتەوە?
+    description_html: ئەگەر تۆ <strong> کلیلی سەلماندنت</strong> چالاک دەکەی، بۆ چوونە ژوورەوە پێویستت پێ دەبێ، یەکێک لە کلیلە کانی ئاسایشت بەکاربێنیت.
+    destroy:
+      error: کێشەیەک هەبوو لە سڕینەوەی کلیلی پاراستنەکەت. تکایە دووبارە هەوڵ بدەرەوە.
+      success: کلیلی ئاسایشت بە سەرکەوتوویی سڕایەوە.
+    invalid_credential: کۆدی پاراستن دروست نیە
+    nickname_hint: نازناوی کلیلی ئاسایشی نوێت تێبنووسە
+    not_enabled: تۆ هێشتا WebAuthnت چالاک نەکردووە
+    not_supported: ئەم وێبگەڕە پشتگیری کلیلەکانی پاراستن ناکات
+    otp_required: بۆ بەکارهێنانی کلیلەکانی پاراستن تکایە سەرەتا سەلماندنی دوو-فاکتەر چالاک بکە.
+    registered_on: تۆمارکراو لە %{date}
diff --git a/config/locales/co.yml b/config/locales/co.yml
index 4d5327aef..c09f4c24e 100644
--- a/config/locales/co.yml
+++ b/config/locales/co.yml
@@ -69,7 +69,6 @@ co:
     media: Media
     moved_html: "%{name} hà cambiatu di contu, avà hè nant’à %{new_profile_link}:"
     network_hidden: St'infurmazione ùn hè micca dispunibule
-    never_active: Mai
     nothing_here: Ùn c’hè nunda quì!
     people_followed_by: Seguitati da %{name}
     people_who_follow: Seguitanu %{name}
@@ -349,7 +348,6 @@ co:
       enable: Attivà
       enabled: Attivate
       enabled_msg: L’emoji hè stata attivata
-      image_hint: PNG di 50Ko o menu
       list: Listà
       listed: Listata
       new:
@@ -409,17 +407,6 @@ co:
       reject_media_hint: Sguassa tutti i media caricati è ricusa caricamenti futuri. Inutile per una suspensione
       reject_reports: Righjittà i riporti
       reject_reports_hint: Ignurà tutti i signalamenti chì venenu d'issu duminiu. Senz'oghjettu pè e suspensione
-      rejecting_media: righjettu di i fugliali media
-      rejecting_reports: righjettu di i signalamenti
-      severity:
-        silence: silenzatu
-        suspend: suspesu
-      show:
-        retroactive:
-          silence: Ùn silenzà più i conti affettati di stu duminiu
-          suspend: Ùn suspende più i conti affettati di stu duminiu
-        title: Ùn bluccà più u duminiu %{domain}
-        undo: Annullà
       undo: Annullà u blucchime di duminiu
       view: Vede blucchime di duminiu
     email_domain_blocks:
@@ -448,13 +435,7 @@ co:
         clear: Sguassà l'errori di distribuzione
         restart: Riprincipià a distribuzione
         stop: Firmà a distribuzione
-        title: Distribuzione
         unavailable: Indispunibule
-        unavailable_message: Distribuzione micca dispunibule
-        warning: Avertimentu
-        warning_message:
-          one: Errore di distribuzione per %{count} ghjornu
-          other: Errore di distribuzione per %{count} ghjorni
       delivery_available: Distribuzione dispunibule
       delivery_error_days: Ghjorni d'errori di a distribuzione
       delivery_error_hint: S'ellu ùn si pò distribuì à u duminiu per %{count} ghjorni, sarà autumaticamente marcatu cum'è indistribuibile.
@@ -1251,6 +1232,7 @@ co:
       '2629746': 1 mese
       '31556952': 1 annu
       '5259492': 2 mesi
+      '604800': 1 week
       '63113904': 2 anni
       '7889238': 3 mesi
     min_age_label: Età minima
diff --git a/config/locales/cs.yml b/config/locales/cs.yml
index 0db4bd7e5..8eda24b4f 100644
--- a/config/locales/cs.yml
+++ b/config/locales/cs.yml
@@ -75,7 +75,6 @@ cs:
     media: Média
     moved_html: "%{name} se přesunul a na %{new_profile_link}:"
     network_hidden: Tato informace není k dispozici
-    never_active: Nikdy
     nothing_here: Nic tu není!
     people_followed_by: Lidé, které sleduje %{name}
     people_who_follow: Lidé, kteří sledují %{name}
@@ -367,7 +366,6 @@ cs:
       enable: Povolit
       enabled: Povoleno
       enabled_msg: Emoji bylo úspěšně povoleno
-      image_hint: PNG až do 50 KB
       list: Uvést
       listed: Uvedeno
       new:
@@ -428,17 +426,6 @@ cs:
       reject_media_hint: Odstraní lokálně uložené mediální soubory a odmítne jejich stahování v budoucnosti. Nepodstatné pro pozastavení
       reject_reports: Odmítat hlášení
       reject_reports_hint: Ignorovat všechna hlášení pocházející z této domény. Nepodstatné pro pozastavení
-      rejecting_media: odmítají se mediální soubory
-      rejecting_reports: odmítají se hlášení
-      severity:
-        silence: omezena
-        suspend: pozastaveno
-      show:
-        retroactive:
-          silence: Vzít zpět omezení existujících dotčených účtů z této domény
-          suspend: Zrušit pozastavení existujících ovlivněných účtů z této domény
-        title: Zrušit blokaci domény %{domain}
-        undo: Odvolat
       undo: Odvolat blokaci domény
       view: Zobrazit blokaci domény
     email_domain_blocks:
@@ -469,15 +456,7 @@ cs:
         clear: Vymazat chyby doručení
         restart: Restartovat doručování
         stop: Zastavit doručování
-        title: Doručování
         unavailable: Nedostupný
-        unavailable_message: Doručování nedostupné
-        warning: Varování
-        warning_message:
-          few: Doručení selhává %{count} dny
-          many: Doručení selhává %{count} dnů
-          one: Doručení selhává %{count} den
-          other: Doručení selhává %{count} dnů
       delivery_available: Doručení je k dispozici
       delivery_error_days: Dny chybného doručování
       delivery_error_hint: Není-li možné doručení po dobu %{count} dnů, bude automaticky označen za nedoručitelný.
@@ -1339,6 +1318,7 @@ cs:
       '2629746': 1 měsíc
       '31556952': 1 rok
       '5259492': 2 měsíce
+      '604800': 1 week
       '63113904': 2 roky
       '7889238': 3 měsíce
     min_age_label: Hranice stáří
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index 066a54cbc..15de9ac76 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -77,7 +77,6 @@ cy:
     media: Cyfryngau
     moved_html: 'Mae %{name} wedi symud i %{new_profile_link}:'
     network_hidden: Nid yw'r wybodaeth hyn ar gael
-    never_active: Peidiwch byth
     nothing_here: Does dim byd yma!
     people_followed_by: Pobl y mae %{name} yn ei ddilyn
     people_who_follow: Pobl sy'n dilyn %{name}
@@ -279,7 +278,6 @@ cy:
       enable: Galluogi
       enabled: Wedi ei alluogi
       enabled_msg: Llwyddwyd i alluogi yr emoji hwnnw
-      image_hint: PNG hyd at 50KB
       list: Rhestr
       listed: Rhestredig
       new:
@@ -328,17 +326,6 @@ cy:
       reject_media_hint: Dileu dogfennau cyfryngau wedi eu cadw yn lleol ac yn gwrthod i lawrlwytho unrhyw rai yn y dyfodol. Amherthnasol i ataliadau
       reject_reports: Gwrthod adroddiadau
       reject_reports_hint: Anwybyddu'r holl adroddiadau sy'n dod o'r parth hwn. Amherthnasol i ataliadau
-      rejecting_media: Yn gwrthod ffeiliau cyfryngau
-      rejecting_reports: Yn gwrthod adroddiadau
-      severity:
-        silence: tawelu
-        suspend: ataliedig
-      show:
-        retroactive:
-          silence: Dad-dawelu pob cyfri presennol o'r parth hwn
-          suspend: Dad-atal pob cyfrif o'r parth hwn sy'n bodoli
-        title: Dadwneud blocio parth ar gyfer %{domain}
-        undo: Dadwneud
       undo: Dadwneud bloc parth
       view: Gweld bloc parth
     email_domain_blocks:
diff --git a/config/locales/da.yml b/config/locales/da.yml
index 8d9be5f18..34e56ded4 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -1,53 +1,56 @@
 ---
 da:
   about:
-    about_hashtag_html: Disse er offentlige trut tagget med <strong>#%{hashtag}</strong>. Du kan interagere med dem, hvis du har en konto hvor som helst i fediverset.
-    about_mastodon_html: 'Fremtidens sociale netværk: Ingen annoncer, ingen virksomhedsovervågning, etisk design og decentralisering! Ej dine data med Mastodon!'
+    about_hashtag_html: Disse er offentlige indlæg tagget med <strong>#%{hashtag}</strong>, som man kan interagere med, hvis man har en konto hvor som helst i fediverset.
+    about_mastodon_html: 'Fremtidens sociale netværk: Ingen annoncer, ingen virksomhedsovervågning, etisk design og decentralisering! Vær ejer af egne data med Mastodon!'
     about_this: Om
     active_count_after: aktive
     active_footnote: Månedlige aktive brugere (MAU)
-    administered_by: 'Administreres af:'
+    administered_by: 'Håndteres af:'
     api: API
     apps: Mobil-apps
     apps_platforms: Benyt Mastodon på Android, iOS og andre platforme
-    browse_directory: Gennemse en profilindholdsfortegnelse og filtrér efter interesser
+    browse_directory: Gennemse en profilmappe og filtrér efter interesser
     browse_local_posts: Gennemse en live stream af offentlige indlæg fra denne server
     browse_public_posts: Gennemse en live stream af offentlige indlæg på Mastodon
     contact: Kontakt
-    contact_missing: Ikke sat
+    contact_missing: Ikke angivet
     contact_unavailable: Utilgængelig
+    continue_to_web: Fortsæt til web-app
     discover_users: Find brugere
     documentation: Dokumentation
-    federation_hint_html: Med en konto på %{instance} vil du kunne følge andre på en hvilken som helst Mastodon-server.
+    federation_hint_html: Vha. en konto på %{instance} vil man kunne følge andre på en hvilken som helst Mastodon-server.
     get_apps: Prøv en mobil-app
     hosted_on: Mostodon hostet på %{domain}
     instance_actor_flash: |
-      Denne konto er en virtuel skuespiller, der bruges til at repræsentere selve serveren og ikke nogen individuel bruger.
-      Det bruges til føderationsformål og bør ikke blokeres, medmindre du vil blokere hele forekomsten og i så tilfælde bør bruge en domæneblokering.
-    learn_more: Få mere at vide
+      Denne konto er en virtuel aktør brugt som repræsentation af selve serveren og ikke en individuel bruger.
+      Den bruges til fællesformål og bør ikke blokeres, medmindre hele instansen ønskes blokeret, i hvilket tilfælde man bør bruge domæneblokering.
+    learn_more: Læs mere
+    logged_in_as_html: Du er pt. logget ind som %{username}.
+    logout_before_registering: Allerede logget ind.
     privacy_policy: Fortrolighedspolitik
     rules: Serverregler
-    rules_html: 'Nedenfor ses en oversigt over regler, som skal følges, hvis du ønsker at have en konto på denne Mastodon-server:'
+    rules_html: 'Nedenfor ses en oversigt over regler, som skal følges, hvis man ønsker at have en konto på denne Mastodon-server:'
     see_whats_happening: Se, hvad der sker
     server_stats: 'Serverstatstik:'
     source_code: Kildekode
     status_count_after:
-      one: status
-      other: statusser
-    status_count_before: Som har skrevet
-    tagline: Følg venner og find nye
+      one: indlæg
+      other: indlæg
+    status_count_before: Som har postet
+    tagline: Følg venner og opdag nye
     terms: Tjenestevilkår
     unavailable_content: Modererede servere
     unavailable_content_description:
       domain: Server
       reason: Årsag
-      rejecting_media: 'Mediefiler fra disse servere behandles eller gemmes ikke, og ingen miniaturebilleder vises, og kræver manuel klik-igennem til originalfilen:'
+      rejecting_media: 'Mediefiler fra disse servere hverken behandles eller gemmes, og ingen miniaturebilleder vises, hvilket kræver manuelt klik-igennem til originalfilen:'
       rejecting_media_title: Filtrerede medier
-      silenced: 'Indlæg fra disse servere er skjult i offentlige tidslinjer og konversationer, og der genereres ingen notifikationer fra deres brugerinteraktioner, medmindre du følger dem:'
-      silenced_title: Tavsgjorte servere
-      suspended: 'Ingen data fra disse servere behandles, gemmes eller udveksles, hvilket umuliggør interaktion eller kommunikation med brugere fra disse servere:'
+      silenced: 'Indlæg fra disse servere er skjult i offentlige tidslinjer og konversationer, og der genereres ingen notifikationer fra deres brugerinteraktioner, medmindre man følger dem:'
+      silenced_title: Begrænsede servere
+      suspended: 'Data fra disse servere hverken behandles, gemmes eller udveksles, hvilket umuliggør interaktion eller kommunikation med brugere fra disse servere:'
       suspended_title: Suspenderede servere
-    unavailable_content_html: Mastodon tillader dig generelt at se indhold og interagere med brugere fra enhver anden server i fediverset. Disse er undtagelserne, som er implementeret på netop denne servertype.
+    unavailable_content_html: 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.
     user_count_after:
       one: bruger
       other: brugere
@@ -55,31 +58,30 @@ da:
     what_is_mastodon: Hvad er Mastodon?
   accounts:
     choices_html: "%{name}s valg:"
-    endorsements_hint: Du kan støtte personer, du følger, fra webgrænsefladen, og de vil fremgå hér.
-    featured_tags_hint: Du kan fremhæve bestemte hashtags, som så vil fremgå hér.
+    endorsements_hint: Man kan støtte personer, man følger, fra webgrænsefladen, som så vil fremgå hér.
+    featured_tags_hint: Man kan fremhæve bestemte hashtags, som så vil fremgå hér.
     follow: Følg
     followers:
       one: Følger
       other: Følgere
     following: Følger
-    instance_actor_flash: Denne konto er en virtuel aktør, der bruges til at repræsentere selve serveren og ikke nogen individuel bruger. Den anvendes til føderation og bør ikke suspenderes.
+    instance_actor_flash: Denne konto er en virtuel aktør repræsenterende selve serveren og ikke en individuel bruger. Den anvendes til fællesformål og bør ikke suspenderes.
     joined: Tilmeldt %{date}
     last_active: senest aktiv
     link_verified_on: Ejerskab af dette link blev tjekket %{date}
     media: Medier
     moved_html: "%{name} er flyttet til %{new_profile_link}:"
     network_hidden: Denne information er utilgængelig
-    never_active: Aldrig
     nothing_here: Der er intet hér!
     people_followed_by: Personer, som %{name} følger
     people_who_follow: Personer, som følger %{name}
     pin_errors:
-      following: Du skal allerede følge den person, du ønsker at støtte
+      following: Man skal allerede følge den person, man ønsker at støtte
     posts:
-      one: Trut
-      other: Trut
-    posts_tab_heading: Trut
-    posts_with_replies: Trut og svar
+      one: Indlæg
+      other: Indlæg
+    posts_tab_heading: Indlæg
+    posts_with_replies: Indlæg og svar
     roles:
       admin: Admin
       bot: Bot
@@ -92,13 +94,13 @@ da:
       action: Udfør handling
       title: Udfør moderatorhandling på %{acct}
     account_moderation_notes:
-      create: Læg en note
+      create: Skriv notat
       created_msg: Moderatornotat oprettet!
       destroyed_msg: Moderatornotat destrueret!
     accounts:
       add_email_domain_block: Blokér e-maildomæne
       approve: Godkend
-      approved_msg: Tilmeldingsansøgning for %{username} blev godkendt
+      approved_msg: Tilmeldingsansøgning for %{username} godkendt
       are_you_sure: Sikker?
       avatar: Profilbillede
       by_domain: Domæne
@@ -116,7 +118,7 @@ da:
       delete: Slet data
       deleted: Slettet
       demote: Degradér
-      destroyed_msg: "%{username}s data er nu i kø til straks at blive slettet"
+      destroyed_msg: "%{username}s data er nu sat i kø mhp. snarlig sletning"
       disable: Frys
       disable_sign_in_token_auth: Deaktivér e-mailtokengodkendelse
       disable_two_factor_authentication: Deaktivér 2FA
@@ -127,7 +129,7 @@ da:
       email: E-mail
       email_status: E-mailstatus
       enable: Optø
-      enable_sign_in_token_auth: Aktivér e-mailtokengodkendelse
+      enable_sign_in_token_auth: Aktivér e-mailtoken godkendelse
       enabled: Aktiveret
       enabled_msg: "%{username}s konto er optøet"
       followers: Følgere
@@ -146,7 +148,7 @@ da:
       login_status: Indlogningsstatus
       media_attachments: Medievedhæftninger
       memorialize: Omdan til mindekonto
-      memorialized: Minde gjort
+      memorialized: Memorialiseret
       memorialized_msg: "%{username} gjort til mindekonto"
       moderation:
         active: Aktiv
@@ -162,20 +164,23 @@ da:
       not_subscribed: Abonnerer ikke
       pending: Afventende vurdering
       perform_full_suspension: Suspendér
+      previous_strikes: Tidligere anmeldelser (strikes)
       previous_strikes_description_html:
-        zero: Denne kontostatus er <strong>på god fod</strong>.
+        one: Denne konto har <strong>et</strong> anmeldelse.
+        other: Denne konto har <strong>%{count}</strong> anmeldelser.
+        zero: Denne konto er <strong>på god fod</strong>.
       promote: Forfrem
       protocol: Protokol
       public: Offentlig
       push_subscription_expires: PuSH-abonnement udløber
       redownload: Opfrisk profil
-      redownloaded_msg: Profil for %{username} opfriske fra oprindelsesserver
+      redownloaded_msg: "%{username}s profil opfrisket fra oprindelsesserver"
       reject: Afvis
-      rejected_msg: Tilmeldingsansøgning fra %{username} afvist
+      rejected_msg: "%{username}s tilmeldingsansøgning afvist"
       remove_avatar: Fjern profilbillede
       remove_header: Fjern overskrift
-      removed_avatar_msg: Profilbillede for %{username} fjernet
-      removed_header_msg: Overskriftsbillede for %{username} fjernet
+      removed_avatar_msg: "%{username}s profilbillede fjernet"
+      removed_header_msg: "%{username}s overskriftsbillede fjernet"
       resend_confirmation:
         already_confirmed: Denne bruger er allerede bekræftet
         send: Gensend bekræftelses e-mail
@@ -190,39 +195,39 @@ da:
         staff: Personale
         user: Bruger
       search: Søg
-      search_same_email_domain: Andre brugere med det samme e-maildomæne
-      search_same_ip: Andre brugere med den samme IP
+      search_same_email_domain: Øvrige brugere med samme e-maildomæne
+      search_same_ip: Øvrige brugere med identisk IP
       security_measures:
         only_password: Kun adgangskode
         password_and_2fa: Adgangskode og 2FA
         password_and_sign_in_token: Adgangskode og e-mailtoken
-      sensitive: Sensitivt
-      sensitized: markeret som sensitivt
+      sensitive: Gennemtving sensitiv
+      sensitized: Markeret som sensitiv
       shared_inbox_url: Delt indbakke-URL
       show:
         created_reports: Indsendte anmeldelser
         targeted_reports: Anmeldt af andre
-      silence: Tavsgør
-      silenced: Tavsgjort
-      statuses: Statusser
-      strikes: Tidligere striber
+      silence: Brgræns
+      silenced: Begrænset
+      statuses: Indlæg
+      strikes: Tidligere anmeldelser
       subscribe: Abonnér
       suspend: Suspendér
       suspended: Suspenderet
-      suspension_irreversible: Disse kontodata er blevet slettet permanent. Du kan afsuspendere kontoen for at gøre den brugbar, men dette gendanner ikke de tidligere kontodata.
+      suspension_irreversible: Denne kontos data er blevet slettet permanent. Kontoen kan genaktiveres for at gøre den brugbar, imidlertid gendanner dette ikke tidligere kontodata.
       suspension_reversible_hint_html: Kontoen er blevet suspenderet, og dens data fjernes helt d. %{date}. Indtil da kan kontoen genoprettes uden datatab mv. Ønsker alle kontodata fjernet straks, kan dette gøres nedenfor.
       title: Konti
       unblock_email: Afblokér e-mailadresse
       unblocked_email_msg: "%{username}s e-mail-adresse afblokeret"
-      unconfirmed_email: Ikke-bekræftet e-mail
-      undo_sensitized: Fortryd sensitiv
-      undo_silenced: Fortryd tavsgørelse
+      unconfirmed_email: Ubekræftet e-mail
+      undo_sensitized: Fortryd gennemtving sensitiv
+      undo_silenced: Fortryd begrænsning
       undo_suspension: Fortryd suspendering
-      unsilenced_msg: "%{username}s konto er optøet"
+      unsilenced_msg: "%{username}s kontobegrænsning er fjernet"
       unsubscribe: Opsig abonnement
       unsuspended_msg: "%{username}s konto er afsuspenderet"
       username: Brugernavn
-      view_domain: Vis resumé for domæne
+      view_domain: Vis domæneoversigt
       warn: Advar
       web: Web
       whitelisted: Tilladt for federering
@@ -241,7 +246,7 @@ da:
         create_email_domain_block: Opret e-maildomæneblokering
         create_ip_block: Opret IP-regel
         create_unavailable_domain: Opret Utilgængeligt Domæne
-        demote_user: Degradere bruger
+        demote_user: Degradér bruger
         destroy_announcement: Slet bekendtgørelse
         destroy_custom_emoji: Slet tilpasset emoji
         destroy_domain_allow: Slet domænetilladelse
@@ -249,50 +254,50 @@ da:
         destroy_email_domain_block: Slet e-maildomæneblokering
         destroy_instance: Udrens domæne
         destroy_ip_block: Slet IP-regel
-        destroy_status: Slet status
+        destroy_status: Slet indlæg
         destroy_unavailable_domain: Slet Utilgængeligt Domæne
         disable_2fa_user: Deaktivér 2FA
         disable_custom_emoji: Deaktivér tilpasset emoji
-        disable_sign_in_token_auth_user: Deaktivér e-mailtokengodkendelse for bruger
+        disable_sign_in_token_auth_user: Deaktivér e-mailtoken godkendelse for bruger
         disable_user: Deaktivér bruger
         enable_custom_emoji: Aktivér tilpasset emoji
-        enable_sign_in_token_auth_user: Aktivér e-mailtokengodkendelse for bruger
-        enable_user: Aktivér brugeren
-        memorialize_account: Gør til mindekonto
-        promote_user: Promovér bruger
+        enable_sign_in_token_auth_user: Aktivér e-mailtoken godkendelse for bruger
+        enable_user: Aktivér bruger
+        memorialize_account: Memoralisér konto
+        promote_user: Forfrem bruger
         reject_appeal: Afvis appel
         reject_user: Afvis bruger
         remove_avatar_user: Fjern profilbillede
         reopen_report: Genåbn anmeldelse
         reset_password_user: Nulstil adgangskode
         resolve_report: Løs anmeldelse
-        sensitive_account: Markér medierne i din konto som sensitive
-        silence_account: Tavsgør konto
+        sensitive_account: Gennemtving sensitiv konto
+        silence_account: Begræns konto
         suspend_account: Suspendér konto
-        unassigned_report: Aftildel anmeldelse
-        unblock_email_account: Afblokér af e-mailadresse
-        unsensitive_account: Afmarkér medierne i din konto som sensitive
-        unsilence_account: Fjern kontotavsgørelse
+        unassigned_report: Fjer anmeldelsestildeling
+        unblock_email_account: Afblokér e-mailadresse
+        unsensitive_account: Fjern Gennemtving sensitiv konto
+        unsilence_account: Fjern kontobegrænselse
         unsuspend_account: Afsuspendér konto
         update_announcement: Opdatér bekendtgørelse
         update_custom_emoji: Opdatér tilpasset emoji
         update_domain_block: Opdatér domæneblokering
-        update_status: Opdatér status
+        update_status: Opdatér indlæg
       actions:
         approve_appeal_html: "%{name} godkendte moderationsafgørelsesappellen fra %{target}"
-        approve_user_html: "%{name} godkendte tilmelding fra %{target}"
+        approve_user_html: "%{name} godkendte tilmeldingen fra %{target}"
         assigned_to_self_report_html: "%{name} tildelte sig selv anmeldelsen %{target}"
         change_email_user_html: "%{name} ændrede e-mailadressen for bruger %{target}"
         confirm_user_html: "%{name} bekræftede e-mailadressen for bruger %{target}"
         create_account_warning_html: "%{name} sendte en advarsel til %{target}"
         create_announcement_html: "%{name} oprettede den nye bekendtgørelse %{target}"
-        create_custom_emoji_html: "%{name} uploadede det nye emoji %{target}"
+        create_custom_emoji_html: "%{name} uploadede den nye emoji %{target}"
         create_domain_allow_html: "%{name} tillod federering med domænet %{target}"
         create_domain_block_html: "%{name} blokerede domænet %{target}"
         create_email_domain_block_html: "%{name} blokerede e-maildomænet %{target}"
         create_ip_block_html: "%{name} oprettede en regel for IP %{target}"
         create_unavailable_domain_html: "%{name} stoppede levering til domænet %{target}"
-        demote_user_html: "%{name} degraderede bruger %{target}"
+        demote_user_html: "%{name} degraderede brugeren %{target}"
         destroy_announcement_html: "%{name} slettede bekendtgørelsen %{target}"
         destroy_custom_emoji_html: "%{name} fjernede emojien %{target}"
         destroy_domain_allow_html: "%{name} fjernede federeringstilladelsen med domænet %{target}"
@@ -300,14 +305,14 @@ da:
         destroy_email_domain_block_html: "%{name} afblokerede e-maildomænet %{target}"
         destroy_instance_html: "%{name} udrensede domænet %{target}"
         destroy_ip_block_html: "%{name} slettede en regel for IP %{target}"
-        destroy_status_html: "%{name} fjernede statussen fra %{target}"
+        destroy_status_html: "%{name} fjernede indlægget fra %{target}"
         destroy_unavailable_domain_html: "%{name} genoptog levering til domænet %{target}"
         disable_2fa_user_html: "%{name} deaktiverede tofaktorkravet for brugeren %{target}"
-        disable_custom_emoji_html: "%{name} deaktiverede humørikonet %{target}"
-        disable_sign_in_token_auth_user_html: "%{name} deaktiverede e-mailtokengodkendelse for %{target}"
+        disable_custom_emoji_html: "%{name} deaktiverede emojien %{target}"
+        disable_sign_in_token_auth_user_html: "%{name} deaktiverede e-mailtoken godkendelsen for %{target}"
         disable_user_html: "%{name} deaktiverede indlogning for brugeren %{target}"
-        enable_custom_emoji_html: "%{name} aktiverede humørikonet %{target}"
-        enable_sign_in_token_auth_user_html: "%{name} aktiverede e-mailtokengodkendelse for %{target}"
+        enable_custom_emoji_html: "%{name} aktiverede emojien %{target}"
+        enable_sign_in_token_auth_user_html: "%{name} aktiverede e-mailtoken godkendelse for %{target}"
         enable_user_html: "%{name} aktiverede indlogning for brugeren %{target}"
         memorialize_account_html: "%{name} gjorde %{target}s konto til en mindeside"
         promote_user_html: "%{name} forfremmede brugeren %{target}"
@@ -318,24 +323,24 @@ da:
         reset_password_user_html: "%{name} nulstillede adgangskoden for brugeren %{target}"
         resolve_report_html: "%{name} løste anmeldelsen %{target}"
         sensitive_account_html: "%{name} markerede %{target}s medier som sensitive"
-        silence_account_html: "%{name} tavsgjorde %{target}s konto"
+        silence_account_html: "%{name} begrænsede %{target}s konto"
         suspend_account_html: "%{name} suspenderede %{target}s konto"
         unassigned_report_html: "%{name} fjernede tildelingen af rapporten %{target}"
         unblock_email_account_html: "%{name} afblokerede %{target}s e-mailadresse"
-        unsensitive_account_html: "%{name} afmarkerede %{target}s medier som sensitive"
-        unsilence_account_html: "%{name} fjernede tavsgøring af %{target}s konto"
+        unsensitive_account_html: "%{name} fjernede sensitivmarkeringen af %{target}s medier"
+        unsilence_account_html: "%{name} fjernede begrænsningen af %{target}s konto"
         unsuspend_account_html: "%{name} fjernede suspenderingen af %{target}s konto"
         update_announcement_html: "%{name} opdaterede bekendtgørelsen %{target}"
         update_custom_emoji_html: "%{name} opdaterede emoji %{target}"
         update_domain_block_html: "%{name} opdaterede domæneblokeringen for %{target}"
-        update_status_html: "%{name} opdaterede status for %{target}"
-      deleted_status: "(slettet status)"
+        update_status_html: "%{name} opdaterede indlægget fra %{target}"
+      deleted_status: "(slettet indlæg)"
       empty: Ingen logger fundet.
       filter_by_action: Filtrér efter handling
       filter_by_user: Filtrér efter bruger
       title: Revisionslog
     announcements:
-      destroyed_msg: Bekendtgørelsen blev slettet!
+      destroyed_msg: Bekendtgørelsen er slettet!
       edit:
         title: Redigér bekendtgørelse
       empty: Ingen bekendtgørelser fundet.
@@ -344,13 +349,13 @@ da:
         create: Opret bekendtgørelse
         title: Ny bekendtgørelse
       publish: Publicér
-      published_msg: Bekendtgørelsen blev publiceret!
+      published_msg: Bekendtgørelsen er publiceret!
       scheduled_for: Planlagt til %{time}
-      scheduled_msg: Bekendtgørelse planlagt til publicering!
+      scheduled_msg: Bekendtgørelse planlagt til udgivelse!
       title: Bekendtgørelser
       unpublish: Afpublicér
-      unpublished_msg: Bekendtgørelsen blev afpubliceret!
-      updated_msg: Bekendtgørelsen blev opdateret!
+      unpublished_msg: Bekendtgørelsen er afpubliceret!
+      updated_msg: Bekendtgørelsen er opdateret!
     custom_emojis:
       assign_category: Tildel kategori
       by_domain: Domæne
@@ -363,46 +368,46 @@ da:
       destroyed_msg: Emoji destrueret!
       disable: Deaktivér
       disabled: Deaktiveret
-      disabled_msg: Denne emoji blev deaktiveret
+      disabled_msg: Denne emoji er nu deaktiveret
       emoji: Emoji
       enable: Aktivér
       enabled: Aktiveret
-      enabled_msg: Denne emoji blev aktiveret
-      image_hint: PNG op til 50KB
+      enabled_msg: Denne emoji er nu aktiv
+      image_hint: PNG eller GIF op til %{size}
       list: Oplist
       listed: Oplistet
       new:
         title: Tilføj ny tilpasset emoji
-      not_permitted: Du har ikke tilladelse til at udføre denne handling
+      not_permitted: Ingen tilladelse til at udføre denne handling
       overwrite: Overskriv
       shortcode: Kortkode
-      shortcode_hint: Mindst 2 tegn, kun alfanumeriske tegn og understreger
+      shortcode_hint: Mindst 2 tegn, kun alfanumeriske og understregstegn
       title: Tilpassede emojier
       uncategorized: Ukategoriseret
       unlist: Fjern fra oplistning
       unlisted: Ikke oplistet
-      update_failed_msg: Kunne ikke opdatere den emoji
-      updated_msg: Emoji blev opdateret!
+      update_failed_msg: Kunne ikke opdatere denne emoji
+      updated_msg: Emoji er opdateret!
       upload: Upload
     dashboard:
       active_users: aktive brugere
       interactions: interaktioner
       media_storage: Medielagerplads
       new_users: nye brugere
-      opened_reports: rapporter åbnet
+      opened_reports: indberettede anmeldelser
       pending_appeals_html:
-        one: "<strong>%{count}</strong> afventende appel"
-        other: "<strong>%{count}</strong> afventende appeller"
+        one: "<strong>%{count}</strong> verserende anke"
+        other: "<strong>%{count}</strong> verserende anker"
       pending_reports_html:
-        one: "<strong>%{count}</strong> afventende anmeldelse"
-        other: "<strong>%{count}</strong> afventende anmeldelser"
+        one: "<strong>%{count}</strong> verserende anmeldelse"
+        other: "<strong>%{count}</strong> verserende anmeldelser"
       pending_tags_html:
         one: "<strong>%{count}</strong> afventende hashtag"
         other: "<strong>%{count}</strong> afventende hashtags"
       pending_users_html:
         one: "<strong>%{count}</strong> afventende bruger"
         other: "<strong>%{count}</strong> afventende brugere"
-      resolved_reports: anmeldelser løst
+      resolved_reports: løste anmeldelser
       software: Software
       sources: Tilmeldingskilder
       space: Lagerpladsforbrug
@@ -412,12 +417,12 @@ da:
       website: Websted
     disputes:
       appeals:
-        empty: Ingen appeller fundet.
-        title: Appeller
+        empty: Ingen anker fundet.
+        title: Anker
     domain_allows:
       add_new: Tillade federering med domæne
-      created_msg: Domæne er blevet tilladt federering
-      destroyed_msg: Domæne er blevet forbudt federering
+      created_msg: Domæne er blevet tilladt for federering
+      destroyed_msg: Domæne er blevet forbudt for federering
       undo: Forbyd federering med domæne
     domain_blocks:
       add_new: Tilføj ny domæneblokering
@@ -425,12 +430,12 @@ da:
       destroyed_msg: Domæneblokering er blevet fjernet
       domain: Domæne
       edit: Redigér domæneblokering
-      existing_domain_block_html: Du har allerede pålagt %{name} strengere grænser, du skal <a href="%{unblock_url}">afblokerere</a> det først.
+      existing_domain_block_html: Der har allerede pålagt %{name} strengere begrænsninger, så dette kræver først en <a href="%{unblock_url}">afblokering</a>.
       new:
         create: Opret blokering
-        hint: Domæneblokeringen vil ikke forhindre oprettelse af kontoposter i databasen, men vil retroaktivt og automatisk benytte specifikke moderationsmetoder på disse konti.
+        hint: Domæneblokeringen vil ikke forhindre oprettelse af kontoposter i databasen, men vil retroaktivt og automatisk føje særlige moderationsmetoder til disse konti.
         severity:
-          desc_html: "<strong>Tavsgjort</strong> vil gøre kontoens indlæg usynlige for alle, som ikke følger dem. <strong>Suspendering</strong> vil fjerne alt kontoindhold, medier og profildata. Brug <strong>Ingen</strong>, hvis mediefiler blot ønskes afvist."
+          desc_html: "<strong>Tavsgørelse</strong> gør kontoens indlæg usynlige for alle, som ikke følger dem. <strong>Suspendering</strong> fjerner alt kontoindhold, medier og profildata. Brug <strong>Ingen</strong>, hvis mediefiler blot ønskes afvist."
           noop: Ingen
           silence: Tavsgøre
           suspend: Suspendere
@@ -442,24 +447,9 @@ da:
       public_comment: Offentlig kommentar
       public_comment_hint: Kommentar om denne domænebegrænsning for den brede offentlighed, hvis annoncering af listen over domænebegrænsninger er aktiveret.
       reject_media: Afvis mediefiler
-      reject_media_hint: Fjerner lokalt lagrede mediefiler og afviser at download nogle fremadrettet. Irrelevant for suspenderinger
+      reject_media_hint: Fjerner lokalt lagrede mediefiler og afviser at download nogle fremadrettet. Irrelevant ifm. suspenderinger
       reject_reports: Afvis anmeldelser
-      reject_reports_hint: Ignorér alle anmeldelser fra dette domæne. Irrelevant for suspenderinger
-      rejecting_media: afviser mediefiler
-      rejecting_reports: afviser anmeldelser
-      severity:
-        silence: tavsgjort
-        suspend: suspenderet
-      show:
-        affected_accounts:
-          one: Én konto i databasen påvirket
-          other: "%{count} konti i databasen påvirket"
-          zero: Ingen konto i databasen påvirket
-        retroactive:
-          silence: Fjern tavsgøring for eksisterende, berørte konti fra dette domæne
-          suspend: Fjern suspendering for eksisterende, berørte konti fra dette domæne
-        title: Annullér domæneblokering for domænet %{domain}
-        undo: Annullér
+      reject_reports_hint: Ignorér alle anmeldelser fra dette domæne. Irrelevant ifm. suspenderinger
       undo: Annullér domæneblokering
       view: Vis domæneblokering
     email_domain_blocks:
@@ -476,41 +466,65 @@ da:
       new:
         create: Tilføj domæne
         resolve: Opløs domæne
-        title: Blokere nyt e-maildomæne
-      no_email_domain_block_selected: Ingen e-mailblokeringer ændret, da ingen var valgt
-      resolved_dns_records_hint_html: Domænenavnet opløses til flg. MX-domæner, som i sidste ende er ansvarlige for e-mailmodtagelse. Blokering af et MX-domæne blokerer også tilmeldinger fra enhver e-mailadresse på det pågældende MX-domæne, selv hvis det synlige domænenavn er et andet. <strong>Pas på ikke ikke at blokere store e-mailudbydere.</strong>
+        title: Blokér nyt e-maildomæne
+      no_email_domain_block_selected: Ingen e-mailblokeringer ændret (ingen var valgt)
+      resolved_dns_records_hint_html: Domænenavnet opløses til flg. MX-domæner, som i sidste ende er ansvarlige for e-mailmodtagelse. Blokering af et MX-domæne blokerer også tilmeldinger fra enhver e-mailadresse på det pågældende MX-domæne, selv hvis det synlige domænenavn er et andet. <strong>Pas på ikke ikke at blokere større e-mailudbydere.</strong>
       resolved_through_html: Opløst via %{domain}
       title: Blokerede e-maildomæner
     follow_recommendations:
-      description_html: "<strong>Følg-anbefalinger hjælpe nye brugere til hurtigt at finde interessant indhold</strong>. Når en bruger ikke har interageret nok med andre til at danne personlige følg-anbefalinger, anbefales disse konti i stedet. De genberegnes dagligt baseret på en blanding af konti med de fleste nylige engagementer og fleste lokale følger-antal for et givet sprog."
+      description_html: "<strong>Følg-anbefalinger hjælpe nye brugere til hurtigt at finde interessant indhold</strong>. Når en bruger ikke har interageret nok med andre til at generere personlige følg-anbefalinger, anbefales disse konti i stedet. De revurderes dagligt baseret på en blanding af konti med de flest nylige engagementer og fleste lokale følger-antal for et givet sprog."
       language: For sprog
       status: Status
       suppress: Undertryk følg-anbefaling
       suppressed: Undertrykt
       title: Følg-anbefalinger
-      unsuppress: Genetablér følg-anbefaling
+      unsuppress: Genopret følg-anbefaling
     instances:
+      availability:
+        description_html:
+          one: Lykkes det ikke at levere til domænet i løbet af <strong>%{count} dag</strong>, foretages ingen yderligere leveringsforsøg, medmindre en levering <em>fra</em> domænet modtages.
+          other: Lykkes det ikke at levere til domænet i <strong>%{count} dage</strong>, foretages ingen yderligere leveringsforsøg, medmindre en levering <em>fra</em> domænet modtages.
+        failure_threshold_reached: Fejlgrænse nået pr. %{date}.
+        failures_recorded:
+          one: Mislykket forsøg %{count} dag.
+          other: Mislykkede forsøg på %{count} forskellige dage.
+        no_failures_recorded: Ingen fejl noteret.
+        title: Tilgængelighed
       back_to_all: Alle
       back_to_limited: Begrænset
       back_to_warning: Advarsel
       by_domain: Domæne
       confirm_purge: Sikker på, at data skal slettes fra dette domæne permanent?
+      content_policies:
+        comment: Internt notat
+        description_html: Der kan defineres indholdspolitikker, som anvendes på alle konti fra dette domæne samt alle dets underdomæner.
+        policies:
+          reject_media: Afvis medier
+          reject_reports: Afvis anmeldelser
+          silence: Begræns
+          suspend: Suspendér
+        policy: Politik
+        reason: Offentlig årsag
+        title: Indholdspolitikker
+      dashboard:
+        instance_accounts_dimension: Mest fulgte konti
+        instance_accounts_measure: gemte konti
+        instance_followers_measure: vores følgere dér
+        instance_follows_measure: deres følgere dér
+        instance_languages_dimension: Topsprog
+        instance_media_attachments_measure: gemte medievedhæftninger
+        instance_reports_measure: anmeldelser af dem
+        instance_statuses_measure: gemte indlæg
       delivery:
         all: Alle
         clear: Ryd leveringsfejl
         restart: Genstart levering
         stop: Stop levering
-        title: Levering
         unavailable: Utilgængelig
-        unavailable_message: Levering utilgængelig
-        warning: Advarsel
-        warning_message:
-          one: Leveringsfejl %{count} dag
-          other: Leveringsfejl %{count} dage
       delivery_available: Levering er tilgængelig
       delivery_error_days: Leveringsfejldage
       delivery_error_hint: Er levering ikke mulig i %{count} dage, markeres den automatisk som ikke-leverbar.
-      destroyed_msg: Data fra %{domain} er nu sat i kø til snarlig sletning.
+      destroyed_msg: Data fra %{domain} er nu sat i kø mhp. snarlig sletning.
       empty: Ingen domæner fundet.
       known_accounts:
         one: "%{count} kendt konto"
@@ -523,12 +537,14 @@ da:
       private_comment: Privat kommentar
       public_comment: Offentlig kommentar
       purge: Udrens
-      title: Federation
+      purge_description_html: Antages dette domæne at være offline permanent, kan alle kontooptegnelser og tilknyttede data herfra slettes fra ens lagerplads. Dette kan tage et stykke tid.
+      title: Federering
       total_blocked_by_us: Blokeret af os
       total_followed_by_them: Følges af dem
       total_followed_by_us: Følges af os
       total_reported: Anmeldelser om dem
       total_storage: Medievedhæftninger
+      totals_time_period_hint_html: Nedenfor viste totaler omfatter data for alle tidsperioder.
     invites:
       deactivate_all: Deaktivér alle
       filter:
@@ -550,14 +566,14 @@ da:
         '94670856': 3 år
       new:
         title: Opret ny IP-regel
-      no_ip_block_selected: Ingen IP-regler blev ændret, da ingen blev valgt
+      no_ip_block_selected: Ingen IP-regler blev ændret (ingen var valgt)
       title: IP-regler
     relationships:
       title: "%{acct}-relationer"
     relays:
       add_new: Tilføj ny videreformidler
       delete: Slet
-      description_html: En <strong>federationsvidereformidler</strong> er en mellemliggende server, der udveksler store mængder af offentlige trut imellem servere, som abonnerer på og publicerer til den. <strong>Det kan hjælpe små og mellemstore servere opdage indhold fra fediverset</strong>, hvilket ellers ville kræve at lokale brugere manuelt følger andre personer på fjernservere.
+      description_html: En <strong>federationsvidereformidler</strong> er en mellemliggende server, der udveksler store mængder offentlige indlæg mellem servere, som abonnerer på og publicerer til den. <strong>Det kan hjælpe små og mellemstore servere med at opdage indhold fra fediverset</strong>, der ellers ville kræve at lokale brugere manuelt følger andre personer på fjernservere.
       disable: Deaktivér
       disabled: Deaktiveret
       enable: Aktivér
@@ -567,30 +583,33 @@ da:
       pending: Afventer videreformidlers godkendelse
       save_and_enable: Gem og aktivér
       setup: Opsæt en videreformidlerforbindelse
-      signatures_not_enabled: Videreformidlere fungerer ikke korrekt, mens sikker tilstand eller begrænset føderationstilstand er aktiveret
+      signatures_not_enabled: Videreformidlere fungerer ikke korrekt, mens sikker tilstand eller begrænset federeringstilstand er aktiveret
       status: Status
       title: Videreformidlere
     report_notes:
       created_msg: Anmeldelsesnotat er oprettet!
       destroyed_msg: Anmeldelsesnotat er slettet!
-      today_at: I dag kl. %{time}
+      today_at: I dag %{time}
     reports:
       account:
         notes:
           one: "%{count} notat"
           other: "%{count} notater"
       action_log: Revisionslog
-      action_taken_by: Handling udført af
+      action_taken_by: Handling foretaget af
       actions:
-        other_description_html: Se flere muligheder for kontoadfærdsstyring og kommunikationstilpasning til den anmeldte konto.
-        silence_description_html: Profilen vil kun være synlig for dem, som allerede følger den eller manuelt slå den op, hvilket markant begrænse dens rækkevidde. Kan altid omgøres.
-        suspend_description_html: Profilen inkl. alt indhold gøres utilgængelig, indtil den til sidst slettes. Interaktion med kontoen vil være umulig. Reversible inden for 30 dage.
+        delete_description_html: De anmeldte indlæg slettes, og en advarsel (strike) registreres mhp. eskalering ved evt. fremtidige overtrædelser fra samme konto.
+        mark_as_sensitive_description_html: Medierne i det anmeldte indlæg markeres som sensitive, og en advarsel (strike) registreres mhp. eskalering ved evt. fremtidige overtrædelser fra samme konto.
+        other_description_html: Se flere muligheder relateret til at adfærdshåndtering for, samt tilpasning af kommunikation til, den anmeldte konto.
+        resolve_description_html: Ingen foranstaltninger træffes mod den anmeldte konto, ingen advarsel (strike) registreres og anmeldelsen lukkes.
+        silence_description_html: Profilen vil kun være synlig for dem, som allerede følger den eller manuelt slå den op, hvilket markant begrænser dens rækkevidde. Kan altid omgøres.
+        suspend_description_html: Profilen (inkl. alt indhold) gøres utilgængelig, indtil den til sidst slettes. Interaktion med kontoen vil være umulig. Kan fortrydes inden for 30 dage.
       actions_description_html: Afgør, hvilke foranstaltning, der skal træffes for at løse denne anmeldelse. Træffes en straffende foranstaltning mod den anmeldte konto, fremsendes en e-mailnotifikation, undtagen når kategorien <strong>Spam</strong> er valgt.
       add_to_report: Føj mere til anmeldelse
       are_you_sure: Sikker?
       assign_to_self: Tildel til mig
       assigned: Tildelt moderator
-      by_target_domain: Domæne for anmeldt konto
+      by_target_domain: Anmeldte kontos domæne
       category: Kategori
       category_description_html: Årsagen til anmeldelsen af denne konto og/eller indhold refereres i kommunikationen med den anmeldte konto
       comment:
@@ -601,14 +620,15 @@ da:
       forwarded: Videresendt
       forwarded_to: Videresendt til %{domain}
       mark_as_resolved: Markér som løst
-      mark_as_unresolved: Markér som ikke-løst
+      mark_as_sensitive: Markér som sensitiv
+      mark_as_unresolved: Markér som uløst
       no_one_assigned: Ingen
       notes:
         create: Tilføj notat
         create_and_resolve: Løs med notat
         create_and_unresolve: Genåbn med notat
         delete: Slet
-        placeholder: Beskriv de udførte handlinger eller andre relevante opdateringer...
+        placeholder: Beskriv udførte foranstaltninger eller andre relevante opdateringer...
         title: Notater
       notes_description_html: Se og skriv notater til andre moderatorer og dit fremtid selv
       quick_actions_description_html: 'Træf en hurtig foranstaltning eller rul ned for at se anmeldt indhold:'
@@ -618,31 +638,31 @@ da:
       reported_account: Anmeldt konto
       reported_by: Anmeldt af
       resolved: Løst
-      resolved_msg: Anmeldelse er nu løst!
-      skip_to_actions: Overspring til handlinger
+      resolved_msg: Anmeldelse løst!
+      skip_to_actions: Overspring til foranstaltninger
       status: Status
       statuses: Anmeld indhold
-      statuses_description_html: Krænkende indhold refereres i kommunikationen med den anmeldte konto
+      statuses_description_html: Krænkende indhold citeres i kommunikationen med den anmeldte konto
       target_origin: Anmeldte kontos oprindelse
       title: Anmeldelser
-      unassign: Utildel
-      unresolved: Ikke-løst
+      unassign: Fjern tildeling
+      unresolved: Uløst
       updated_at: Opdateret
       view_profile: Vis profil
     rules:
       add_new: Tilføj regel
       delete: Slet
-      description_html: Mens de fleste hævder at have læst og accepteret tjenestevilkårene, så læser folk normalt ikke disse, før et problem er opstået. <strong>Gør det lettere med ét blik at se din servers regler ved at opliste disse på en punktsliste.</strong> Prøv at holde individuelle regler korte og enkle, men undgå også at opdele dem i mange separate underpunkter.
+      description_html: Mens de fleste hævder at have læst og accepteret tjenestevilkårene, så læser folk normalt ikke disse, før et problem er opstået. <strong>Gør det lettere med ét blik at se din servers regler ved at opliste disse på en punktliste.</strong> Forsøg at holde individuelle regler korte og enkle, men undgå også at opdele dem i mange separate underpunkter.
       edit: Redigér regel
       empty: Ingen serverregler defineret endnu.
       title: Serverregler
     settings:
       activity_api_enabled:
-        desc_html: Antal af lokalt opslåede statusser, aktive brugere, og nye registreringer i ugentlige opdelinger
+        desc_html: Antal lokalt opslåede indlæg, aktive brugere samt nye tilmeldinger i ugentlige opdelinger
         title: Offentliggør samlede statistikker vedr. brugeraktivitet i API'en
       bootstrap_timeline_accounts:
-        desc_html: Adskil flere brugernavne med kommaer. Kun lokale og ulåste konti vil fungere. Standard, hvis tom, er alle lokale admins.
-        title: Standard følger for nye brugere
+        desc_html: Adskil flere brugernavne med kommaer. Disse konti vil være garanteret visning i følg-anbefalinger
+        title: Anbefal disse konti til nye brugere
       contact_information:
         email: Forretningse-mail
         username: Kontaktbrugernavn
@@ -651,7 +671,7 @@ da:
         title: Tilpasset CSS
       default_noindex:
         desc_html: Påvirker alle brugere, som ikke selv har ændret denne indstilling
-        title: Fravælge som standard søgemaskineindekseringer for brugere
+        title: Fravælg som standard søgemaskineindekseringer for brugere
       domain_blocks:
         all: Til alle
         disabled: Til ingen
@@ -660,24 +680,24 @@ da:
       domain_blocks_rationale:
         title: Vis begrundelse
       hero:
-        desc_html: Vist på forsiden. Mindst 600x100px anbefales. Hvis ikke sat, benyttes serverminiaturebillede
+        desc_html: Vises på forsiden. Mindst 600x100px anbefales. Hvis ikke opsat, benyttes serverminiaturebillede
         title: Heltebillede
       mascot:
-        desc_html: Vist på forsiden. Mindst 293x205px anbefales. Hvis ikke sat, benyttes standardmaskot
+        desc_html: Vises på flere sider. Mindst 293x205px anbefales. Hvis ikke opsat, benyttes standardmaskot
         title: Maskotbillede
       peers_api_enabled:
         desc_html: Domænenavne, denne server er stødt på i fediverset
-        title: Udgiv liste over opdagede server i API'en
+        title: Udgiv liste over fundne server i API'en
       preview_sensitive_media:
         desc_html: Linkforhåndsvisninger på andre websteder vil vise et miniaturebillede, selv hvis mediet er markeret som sensitivt
-        title: Vis følsomme medier i OpenGraph-forhåndsvisninger
+        title: Vis sensitive medier i OpenGraph-forhåndsvisninger
       profile_directory:
-        desc_html: Tillad at brugere kan findes
+        desc_html: Tillad brugere at blive fundet
         title: Aktivér profilmappe
       registrations:
         closed_message:
-          desc_html: Vist på forside, når tilmeldingsmuligheder er lukket. HTML-tags kan bruges
-          title: Lukket tilmelding-meddelelse
+          desc_html: Vises på forside, når tilmeldingsmuligheder er lukket. HTML-tags kan bruges
+          title: Lukket tilmelding-besked
         deletion:
           desc_html: Tillad enhver at slette sin konto
           title: Åbn kontosletning
@@ -685,32 +705,32 @@ da:
           disabled: Ingen
           title: Tillad invitationer fra
         require_invite_text:
-          desc_html: Når tilmeldnger kræver manuel godkendelse, så gør “Hvorfor ønsker du at deltage?” tekstinput obligatorisk i stedet for valgfri
-          title: Nye brugere afkræves deltagelsesbegrundelse
+          desc_html: Når tilmelding kræver manuel godkendelse, så gør “Hvorfor ønsker du at deltage?” tekstinput obligatorisk i stedet for valgfrit
+          title: Nye brugere afkræves tilmeldingsbegrundelse
       registrations_mode:
         modes:
-          approved: Godkendelse kræves for tilmelding
+          approved: Tilmeldingsgodkendelse kræves
           none: Ingen kan tilmelde sig
-          open: Enhver kan tilmelde sig
+          open: Alle kan tilmelde sig
         title: Tilmeldingstilstand
       show_known_fediverse_at_about_page:
-        desc_html: Når deaktiveret, begrænses den offentlige tidslinje linket fra indgangssiden til kun at vise lokalt indhold
+        desc_html: Når deaktiveret, begrænses den fra indgangssiden linkede offentlige tidslinje til kun at vise lokalt indhold
         title: Medtag federeret indhold på ikke-godkendt, offentlig tidslinjeside
       show_staff_badge:
-        desc_html: Vis et personaleemblem på en brugerside
-        title: Vis personaleemblem
+        desc_html: Vis et personale-badge på en brugerside
+        title: Vis personale-badge
       site_description:
-        desc_html: Introduktionsafsnit på API'en. Beskriv, hvad der gør denne Mastodonserver speciel samt alt andet vigtigt. HTML tags kan bruges, især <code>&lt;a&gt;</code> og <code>&lt;em&gt;</code>.
+        desc_html: Introduktionsafsnit på API'en. Beskriv, hvad der gør denne Mastodonserver speciel samt alt andet vigtigt. HTML-tags kan bruges, især <code>&lt;a&gt;</code> og <code>&lt;em&gt;</code>.
         title: Serverbeskrivelse
       site_description_extended:
-        desc_html: Et god placering til dit adfærdskodes, regler, retningslinjer mv., som gør din server unik. HTML-tags kan bruges
+        desc_html: Et god placering til adfærdskodes, regler, retningslinjer mv., som gør denne server unik. HTML-tags kan bruges
         title: Tilpasset udvidet information
       site_short_description:
         desc_html: Vises på sidebjælke og metatags. Beskriv i et enkelt afsnit, hvad Mastodon er, og hvad der gør denne server speciel.
         title: Kort serverbeskrivelse
       site_terms:
-        desc_html: Du kan skrive din egen fortrolighedspolitik, tjenestevilkår el.lign. HTML-tags kan bruges
-        title: Tilpasset tjenestevilkår
+        desc_html: Der kan angives egen fortrolighedspolitik, tjenestevilkår el.lign. HTML-tags kan bruges
+        title: Tilpassede tjenestevilkår
       site_title: Servernavn
       thumbnail:
         desc_html: Bruges til forhåndsvisninger via OpenGraph og API. 1200x630px anbefales
@@ -720,30 +740,31 @@ da:
         title: Tillad ikke-godkendt tilgang til offentlig tidslinje
       title: Webstedsindstillinger
       trendable_by_default:
-        desc_html: Påvirker hashtags, som ikke blevet nægtet tidligere
-        title: Tillad hashtags at forme tendens uden forudgående gennemsyn
+        desc_html: Påvirker hashtags, som ikke tidligere er blevet nægtet
+        title: Tillad hashtags at forme tendens uden forudgående revision
       trends:
-        desc_html: Vis tidligere gennemgåede hashtags, som pt. trender
-        title: Populære hashtags
+        desc_html: Vis offentligt tidligere reviderede hashtags, som pt. trender
+        title: Populært
     site_uploads:
       delete: Slet uploadet fil
       destroyed_msg: Websteds-upload blev slettet!
     statuses:
-      back_to_account: Tilbage til kontosiden
-      back_to_report: Retur til anmeldelsessiden
+      back_to_account: Retur til kontoside
+      back_to_report: Retur til anmeldelsesside
       batch:
         remove_from_report: Fjern fra anmeldelse
         report: Anmeldelse
       deleted: Slettet
       media:
         title: Medier
-      no_status_selected: Ingen indlæg ændret, da ingen var valgt
+      no_status_selected: Ingen indlæg ændret (ingen valgt)
       title: Kontoindlæg
       with_media: Med medier
     strikes:
       actions:
         delete_statuses: "%{name} slettede %{target}s indlæg"
         disable: "%{name} frøs %{target}s konto"
+        mark_statuses_as_sensitive: "%{name} markerede %{target}s indlæg som sensitive"
         none: "%{name} sendte en advarsel til %{target}"
         sensitive: "%{name} markerede %{target}s konto som sensitiv"
         silence: "%{name} begrænsede %{target}s konto"
@@ -757,9 +778,9 @@ da:
         action: Håndtér serverregler
         message_html: Ingen serverregler defineret.
       sidekiq_process_check:
-        message_html: Ingen Sidekiq-proces kører for %{value}-kø(er). Gennemgå din Sidekiq-opsætning
+        message_html: Ingen Sidekiq-proces kører for %{value}-kø(er). Gennemgå Sidekiq-opsætningen
     tags:
-      review: Gennemsynsstatus
+      review: Revisionsstatus
       updated_msg: Hashtag-indstillinger opdateret
     title: Administration
     trends:
@@ -769,6 +790,7 @@ da:
       links:
         allow: Tillad link
         allow_provider: Tillad udgiver
+        description_html: Disse er links, som pt. deles meget af konti, som serveren ser indlæg fra. Det kan hjælpe ens brugere med at finde ud af, hvad der sker i verden. Ingen links vises offentligt, før man godkender udgiveren. Man kan også tillade/afvise individuelle links.
         disallow: Tillad ikke link
         disallow_provider: Tillad ikke udgiver
         shared_by_over_week:
@@ -777,43 +799,47 @@ da:
           zero: Ikke delt af nogen i løbet af den seneste uge
         title: Populære links
         usage_comparison: Delt %{today} gange i dag, sammenlignet med %{yesterday} i går
-      pending_review: Afventende vurdering
+      pending_review: Afventer revision
       preview_card_providers:
         allowed: Links fra denne udgiver kan trende
+        description_html: Disse er domæner, hvorfra links ofte deles på serveren. Links vil ikke trende offentligt, medmindre man har godkendt domænet for linket. Godkendelse/afvisning indbefatter underdomæner.
         rejected: Links fra denne udgiver vil ikke trende
         title: Udgivere
       rejected: Afvist
       statuses:
         allow: Tillad indlæg
         allow_account: Tillad forfatter
-        disallow: Forbyd indlæg
-        disallow_account: Forbyd forfatter
+        description_html: Disse er indlæg, serveren kender til, som pt. deles og favoritmarkeres meget. Det kan hjælpe nye og tilbagevendende brugere til at finde flere personer at følge. Ingen indlæg vises offentligt, før man godkender forfatteren, samt denne tillader sin konto at blive foreslået andre. Man kan også tillade/afvise individuelle indlæg.
+        disallow: Tillad ikke indlæg
+        disallow_account: Tillad ikke forfatter
+        not_discoverable: Forfatteren har ikke valgt at kunne findes
         shared_by:
-          one: Delt eller favoriseret én gang
-          other: Delt eller favoriseret %{friendly_count} gange
+          one: Delt eller favoritmarkeret én gang
+          other: Delt eller favoritmarkeret %{friendly_count} gange
         title: Populære opslag
       tags:
         current_score: Aktuel score %{score}
         dashboard:
-          tag_accounts_measure: unikke brugere
+          tag_accounts_measure: unikke anvendelser
           tag_languages_dimension: Topsprog
           tag_servers_dimension: Topservere
           tag_servers_measure: forskellige servere
-          tag_uses_measure: brugere i alt
+          tag_uses_measure: anvendelser i alt
+        description_html: Disse er hashtags, som pt. vises i en masse indlæg, som serveren ser. Det kan hjælpe brugerne til at finde ud af, hvad folk taler mest om pt. Ingen hashtags vises offentligt, før man godkender dem.
         listable: Kan foreslås
         not_listable: Foreslås ikke
         not_trendable: Vises ikke under tendenser
-        not_usable: Kan ikke bruges
-        peaked_on_and_decaying: Toppede d. %{date}, nu nedadgående
+        not_usable: Kan ikke anvendes
+        peaked_on_and_decaying: Toppede pr. %{date}, nu for nedadgående
         title: Populære hashtags
         trendable: Kan vises under tendenser
         trending_rank: 'Populær #%{rank}'
-        usable: Kan bruges
-        usage_comparison: Brugt %{today} gange i dag, sammenlignet med %{yesterday} i går
+        usable: Kan anvendes
+        usage_comparison: Anvendt %{today} gange i dag, sammenlignet med %{yesterday} i går
         used_by_over_week:
-          one: Brugt af én person i løbet af den seneste uge
-          other: Brugt af %{count} personer i løbet af den seneste uge
-          zero: Ikke brugt af nogen i løbet af den seneste uge
+          one: Anvendt af én person i løbet af den seneste uge
+          other: Anvendt af %{count} personer i løbet af den seneste uge
+          zero: Ikke anvendt af nogen i løbet af den seneste uge
       title: Trends
     warning_presets:
       add_new: Tilføj ny
@@ -928,8 +954,10 @@ da:
     status:
       account_status: Kontostatus
       confirming: Afventer færdiggørelse af e-mailbekræftelse.
+      functional: Din konto er fuldt funktionel.
       pending: Din ansøgning afventer gennemgang af vores medarbejdere. Dette kan tage noget tid. Du modtager en e-mail, hvis din ansøgning godkendes.
       redirecting_to: Din konto er inaktiv, da den pt. er omdirigerer til %{acct}.
+      view_strikes: Se tidligere anmeldelser af din konto
     too_fast: Formularen indsendt for hurtigt, forsøg igen.
     trouble_logging_in: Indlogningsproblemer?
     use_security_key: Brug sikkerhedsnøgle
@@ -1004,6 +1032,7 @@ da:
         submit: Indgiv appel
       associated_report: Tilknyttet anmeldelse
       created_at: Dateret
+      description_html: Disse er implementerede handlinger for din konto, samt advarsler tilsendt dig af %{instance}-personalet.
       recipient: Adresseret til
       status: 'Indlæg #%{id}'
       status_removed: Indlæg allerede fjernet fra system
@@ -1012,7 +1041,6 @@ da:
         delete_statuses: Indlægsfjernelse
         disable: Kontofrysning
         none: Advarsel
-        sensitive: Markering som sensitiv konto
         silence: Kontobegrænsning
         suspend: Kontosuspendering
       your_appeal_approved: Din appel er godkendt
@@ -1190,25 +1218,25 @@ da:
   move_handler:
     carry_blocks_over_text: Denne bruger er flyttet fra %{acct}, som du har haft blokeret.
     carry_mutes_over_text: Denne bruger er flyttet fra %{acct}, som du har haft tavsgjort.
-    copy_account_note_text: 'Denne bruger er flyttet fra %{acct}, her er dine tidligere noter om dem:'
+    copy_account_note_text: 'Denne bruger er flyttet fra %{acct}, hvor dine tidligere noter om dem var:'
   notification_mailer:
     admin:
       sign_up:
         subject: "%{name} tilmeldte sig"
     digest:
       action: Se alle notifikationer
-      body: Her er et kort resumé af de beskeder, du er gået glip af siden dit seneste besøg d. %{since}
+      body: Her er en kort oversigt over de beskeder, som er misset siden dit seneste besøg %{since}
       mention: "%{name} nævnte dig i:"
       new_followers_summary:
-        one: Du har også fået en ny følger, mens du var væk! Sådan!
-        other: Du har også fået %{count} nye følgere, mens du var væk! Sådan!
+        one: Under dit fravær har du har også fået en ny følger! Sådan!
+        other: Under dit fravær har du har også fået %{count} nye følgere! Sådan!
       subject:
-        one: "1 ny notifikation siden dit senest besøg \U0001F418"
-        other: "%{count} nye notifikationer siden dit senest besøg \U0001F418"
-      title: Mens du var væk...
+        one: "1 ny notifikation siden senest besøg \U0001F418"
+        other: "%{count} nye notifikationer siden senest besøg \U0001F418"
+      title: I dit fravær...
     favourite:
-      body: 'Dit indlæg blev favoriseret af %{name}:'
-      subject: "%{name} favoriserede dit indlæg"
+      body: "%{name} favoritmarkerede dit indlæg:"
+      subject: "%{name} favoritmarkerede dit indlæg"
       title: Ny favorit
     follow:
       body: "%{name} følger dig nu!"
@@ -1236,7 +1264,7 @@ da:
       subject: "%{name} redigerede et indlæg"
   notifications:
     email_events: Begivenheder for e-mailnotifikationer
-    email_events_hint: 'Vælg begivenheder, som notifikationer skal modtages for:'
+    email_events_hint: 'Vælg begivenheder, for hvilke notifikationer skal modtages:'
     other_settings: Andre notifikationsindstillinger
   number:
     human:
@@ -1249,12 +1277,12 @@ da:
           thousand: T
           trillion: tri.
   otp_authentication:
-    code_hint: Angiv koden genereret af din godkendelses-app for at bekræfte
-    description_html: Aktiverer du <strong>tofaktorgodkendelse</strong> vha. af en godkendelses-app, vil du skulle benytte din mobil, der genererer det token, der skal angives ved indlogning.
+    code_hint: Angiv koden genereret af godkendelses-appen for at bekræfte
+    description_html: Aktiveres <strong>tofaktorgodkendelse</strong> vha. af en godkendelses-app, vil man skulle benytte sin mobil, der genererer det token, der skal angives ved indlogning.
     enable: Aktivér
-    instructions_html: "<strong>Skan denne QR-kode i Google Autehnticator eller en lign. TOTP-app på din mobil</strong>. Fra nu af, vil appen generere tokens, som vil skulle angives ifm. indlogning."
-    manual_instructions: 'Kan QR-koden ikke skannes, så du er nødt til manuelt at angive den, er her en simplel tekst-hemmelighed:'
-    setup: Sæt op
+    instructions_html: "<strong>Skan denne QR-kode i Google Autehnticator eller en lign. TOTP-app på mobilen</strong>. Fremadrettet vil appen generere de tokens, som vil skulle angives ifm. indlogning."
+    manual_instructions: 'Kan QR-koden ikke skannes, så man er nødt til manuelt at angive den, er her en simplel tekst-hemmelighed:'
+    setup: Opsæt
     wrong_code: Den angivne kode er ugyldig! Er server- og enhedsklokkeslæt korrekte?
   pagination:
     newer: Nyere
@@ -1265,17 +1293,17 @@ da:
   polls:
     errors:
       already_voted: Du har allerede stemt i denne afstemning
-      duplicate_options: indeholder dubletelementer
-      duration_too_long: er for langt ude i fremtiden
-      duration_too_short: er for tidligt
-      expired: Denne afstemning er allerede afsluttet
-      invalid_choice: Den valgte afstemningsmulighed findes ikke
+      duplicate_options: indeholder dubletvalg
+      duration_too_long: er for lang en varighed
+      duration_too_short: er for kort en varighed
+      expired: Afstemningen er allerede afsluttet
+      invalid_choice: Den valgte stemmemulighed findes ikke
       over_character_limit: må maks. udgøre %{max} tegn hver
-      too_few_options: skal have flere end ét element
-      too_many_options: må maks. indeholde %{max} elementer
+      too_few_options: skal have flere end ét valg
+      too_many_options: for mange svar (maks. %{max})
   preferences:
     other: Andet
-    posting_defaults: Indlægsstandarder
+    posting_defaults: Standarder for indlæg
     public_timelines: Offentlige tidslinjer
   reactions:
     errors:
@@ -1299,28 +1327,28 @@ da:
     remove_selected_follows: Følg ikke længere valgte brugere
     status: Kontostatus
   remote_follow:
-    acct: Angiv dit brugernavn@domæne du vil agere fra
-    missing_resource: Nødvendige omdirigerings-URL til din konto ikke fundet
-    no_account_html: Har ingen konto? Du kan <a href='%{sign_up_path}' target='_blank'>oprette en hér</a>
+    acct: Angiv det brugernavn@domæne, hvorfra du vil ageres
+    missing_resource: Nødvendige omdirigerings-URL til kontoen ikke fundet
+    no_account_html: Har ingen konto? Der kan <a href='%{sign_up_path}' target='_blank'>oprettes én hér</a>
     proceed: Fortsæt for at følge
     prompt: 'Du er ved at følge:'
-    reason_html: "<strong>Hvorfor er dette skridt nødvendigt?</strong> <code>%{instance}</code> er måske ikke den server, hvor du er registreret, så du skal først omdirigeres til din hjemmeserver."
+    reason_html: "<strong>Hvorfor er dette trin nødvendigt?</strong> <code>%{instance}</code> er måske ikke den server, hvorpå man er registreret, så man skal først omdirigeres til sin hjemmeserver."
   remote_interaction:
     favourite:
-      proceed: Fortsæt for at føje til favorit
-      prompt: 'Gør dette indlæg til favorit:'
+      proceed: Fortsæt for at favoritmarkere
+      prompt: 'Favoritmarkere dette indlæg:'
     reblog:
       proceed: Fortsæt for at booste
-      prompt: 'Du ønsker at booste dette indlæg:'
+      prompt: 'Booste dette indlæg:'
     reply:
       proceed: Fortsæt for at besvare
-      prompt: 'Du ønsker at besvare dette indlæg:'
+      prompt: 'Besvare dette indlæg:'
   reports:
     errors:
       invalid_rules: refererer ikke til gyldige regler
   scheduled_statuses:
-    over_daily_limit: Du har nået dagsgrænsen på %{limit} planlagte indlæg
-    over_total_limit: Du har nået grænsen på %{limit} planlagte indlæg
+    over_daily_limit: Den daglige grænse på %{limit} planlagte indlæg er nået
+    over_total_limit: Grænsen på %{limit} planlagte indlæg er nået
     too_soon: Den planlagte dato skal være i fremtiden
   sessions:
     activity: Seneste aktivitet
@@ -1338,20 +1366,20 @@ da:
       nokia: Nokia S40 Ovi Browser
       opera: Opera
       otter: Otter
-      phantom_js: FantomJS
+      phantom_js: PhantomJS
       qq: QQ Browser
       safari: Safari
       uc_browser: UCbrowser
       weibo: Weibo
     current_session: Aktuelle session
     description: "%{browser} på %{platform}"
-    explanation: Disse er de webbrowsere, som pt. er pålogget din Mastodon-konto.
+    explanation: Disse webbrowsere er pt. logget ind på din Mastodon-konto.
     ip: IP
     platforms:
       adobe_air: Adobe Air
       android: Android
       blackberry: Blackberry
-      chrome_os: ChromeOS
+      chrome_os: Chrome OS
       firefox_os: Firefox OS
       ios: iOS
       linux: Linux
@@ -1363,27 +1391,28 @@ da:
     revoke: Tilbagekald
     revoke_success: Session tilbagekaldt
     title: Sessioner
-    view_authentication_history: Vis godkendelseshistorik for din konto
+    view_authentication_history: Vis godkendelseshistorik for kontoen
   settings:
     account: Konto
     account_settings: Kontoindstillinger
     aliases: Kontoaliaser
     appearance: Udseende
     authorized_apps: Godkendte apps
-    back: Tilbage til Mastodon
+    back: Retur til Mastodon
     delete: Kontosletning
     development: Udvikling
     edit_profile: Redigér profil
     export: Dataeksport
-    featured_tags: Fremhævede hashtags
+    featured_tags: Udvalgte hashtags
     import: Import
-    import_and_export: Importér og eksportér
+    import_and_export: Import og eksport
     migrate: Kontomigrering
     notifications: Notifikationer
     preferences: Præferencer
     profile: Profil
     relationships: Følger og følgere
-    statuses_cleanup: Automatiseret indlægssletning
+    statuses_cleanup: Auto-indlægssletning
+    strikes: Moderationsadvarsler
     two_factor_authentication: Tofaktorgodkendelse
     webauthn_authentication: Sikkerhedsnøgler
   statuses:
@@ -1400,18 +1429,18 @@ da:
         other: "%{count} videoer"
     boosted_from_html: Boostet fra %{acct_link}
     content_warning: 'Indholdsadvarsel: %{warning}'
-    default_language: Det samme som UI-sproget
+    default_language: Samme som UI-sproget
     disallowed_hashtags:
       one: 'indeholdte et ikke tilladt hashtag: %{tags}'
       other: 'indeholdte de ikke tilladte hashtags: %{tags}'
-    edited_at: Redigeret %{date}
+    edited_at_html: Redigeret %{date}
     errors:
-      in_reply_not_found: Indlægget, du forsøger at besvare, ser ikke ud til at findes.
-    open_in_web: Åbn i browser
-    over_character_limit: grænsen på %{max} tegn er nået
+      in_reply_not_found: Indlægget, der forsøges besvaret, ser ikke ud til at eksistere.
+    open_in_web: Åbn i webbrowser
+    over_character_limit: grænsen på %{max} tegn overskredet
     pin_errors:
       direct: Indlæg, som kun kan ses af nævnte brugere, kan ikke fastgøres
-      limit: Du har allerede fastgjort det maksimale antal indlæg
+      limit: Maksimalt antal indlæg allerede fastgjort
       ownership: Andres indlæg kan ikke fastgøres
       reblog: Et boost kan ikke fastgøres
     poll:
@@ -1433,43 +1462,44 @@ da:
       private: Kun følgere
       private_long: Vis kun til følgere
       public: Offentlig
-      public_long: Alle kan se
+      public_long: Kan ses af alle
       unlisted: Ulistet
-      unlisted_long: Alle kan se, men er ikke listet på offentlige tidslinjer
+      unlisted_long: Kan ses af alle, men listes på offentlige tidslinjer
   statuses_cleanup:
     enabled: Slet automatisk gamle indlæg
     enabled_hint: Sletter automatisk dine indlæg, når disse når en bestemt alder, medmindre de matcher en af undtagelserne nedenfor
     exceptions: Undtagelser
-    explanation: Sletning af indlæg er en ressourcekrævende operation, hvorfor dette sker gradvist over tid, når serveren ellers ikke er optaget. Dine indlæg kan derfor blive slettet nogen tid efter, at de har passeret aldersgrænsen.
+    explanation: Sletning af indlæg er en ressourcekrævende operation, hvorfor dette sker gradvist over tid, når serveren ellers ikke er optaget. Indlæg kan derfor blive slettet efter, at de reelt har passeret aldersgrænsen.
     ignore_favs: Ignorér favoritter
     ignore_reblogs: Ignorér boosts
     interaction_exceptions: Undtagelser baseret på interaktioner
-    interaction_exceptions_explanation: Bemærk, at der ikke er nogen garanti for at indlæg slettes, hvis de går under favorit- eller boost-tærsklerne efter at have været gået over dem.
+    interaction_exceptions_explanation: Bemærk, at det ikke garanteres, at indlæg slettes, hvis de når under favorit- eller boost-tærsklerne efter én gang at været nået over dem.
     keep_direct: Behold direkte besked
-    keep_direct_hint: Slet ingen af dine direkte beskeder
+    keep_direct_hint: Sletter ingen af dine direkte beskeder
     keep_media: Behold indlæg med medievedhæftninger
     keep_media_hint: Sletter ingen af dine indlæg med medievedhæftninger
     keep_pinned: Behold fastgjorte indlæg
     keep_pinned_hint: Sletter ingen af dine fastgjorte indlæg
     keep_polls: Behold afstemninger
     keep_polls_hint: Sletter ingen af dine afstemninger
-    keep_self_bookmark: Behold dine bogmærker
+    keep_self_bookmark: Behold bogmærkede indlæg
     keep_self_bookmark_hint: Sletter ikke egne indlæg, såfremt de er bogmærket
-    keep_self_fav: Behold indlæg du har foretrukket
-    keep_self_fav_hint: Sletter ikke egne indlæg, såfremt de er foretrukket
+    keep_self_fav: Behold favoritmarkerede indlæg
+    keep_self_fav_hint: Sletter ikke egne indlæg, såfremt de er favoritmarkeret
     min_age:
       '1209600': 2 uger
       '15778476': 6 måneder
       '2629746': 1 måned
       '31556952': 1 år
       '5259492': 2 måneder
+      '604800': 1 uge
       '63113904': 2 år
       '7889238': 3 måneder
     min_age_label: Alderstærskel
-    min_favs: Behold indlæg foretrukket mere end
-    min_favs_hint: Sletter ingen af dine indlæg, som har modtaget flere end dette antal favoriseringer. Lad stå tomt for at slette indlæg uanset favoriseringsantal
-    min_reblogs: Behold indlæg boostet flere end
-    min_reblogs_hint: Sletter ingen af dine indlæg, som er blevet boostet flere end dette antal gange. Lad stå tomt for at slette indlæg uanset deres boosts-antal
+    min_favs: Behold indlæg favoritmarkeret mindst
+    min_favs_hint: Sletter ingen egne indlæg, som har modtaget minimum dette antal favoritmarkeringer. Lad stå tomt for at ignorere denne tærskel under sletning
+    min_reblogs: Behold indlæg boostet mindst
+    min_reblogs_hint: Sletter ingen egne indlæg, som er boostet flere end dette antal gange. Lad stå tomt for at ignorere denne tærskel under sletning
   stream_entries:
     pinned: Fastgjort indlæg
     reblogged: boostet
@@ -1477,7 +1507,7 @@ da:
   tags:
     does_not_match_previous_name: matcher ikke det foregående navn
   terms:
-    body_html: "<p><h2>Fortrolighedspolitik</h2> \n<h3 id=\"collect\">Hvilke oplysninger indsamler vi?</h3> \n\n<ul>\n  <li><em>Grundlæggende kontooplysninger</em>: Opretter du dig på denne server, kan du blive bedt om at angive brugernavn, e-mailadresse og adgangskode. Du kan også angive yderligere profiloplysninger, såsom visningsnavn og biografi, og uploade et profil- og overskriftsbillede. Brugernavn, visningsnavn, biografi, profil- og overskriftsbilleder vises altid offentligt.</li> \n  <li> <em>Indlæg, følgning og andre offentlige oplysninger</em>: Listen over personer, du følger, er offentligt tilgængelig, det samme gælder dine følgere. Når du sender en besked, gemmes dato og klokkeslæt såvel som det program, du sendte beskeden fra. Beskeder kan indeholde medievedhæftninger, såsom billeder og videoer. Offentlige og ulistede indlæg er offentligt tilgængelige. Når du fremhæver et indlæg på din profil, er det også offentligt tilgængelig information. Dine indlæg leveres til dine tilhængere, i nogle tilfælde betyder det, at de leveres til forskellige servere, hvor kopier gemmes. Når du sletter indlæg, leveres det også til dine følgere. Genbloggingshandlinger eller favorisering af et andet indlæg sker altid offentligt.</li>\n  <li><em>Direkte og kun følgere-indlæg</em>: Alle indlæg gemmes og behandles på serveren. Kun følgere-indlæg leveres til dine følgere og brugere, som er nævnt i disse, og direkte indlæg leveres kun til brugere nævnt heri. I visse tilfælde betyder dette, at de leveres til forskellige servere, hvor der gemmes kopier. Vi gør en bedste-evne indsats for at begrænse adgangen til disse indlæg til kun godkendte personer, men andre servere kan undlade dette tiltag. Det er derfor vigtigt at gennemgå de servere, dine følgere tilhører. Du kan skifte en valgmulighed for at godkende og afvise nye følgere manuelt i indstillingerne.<em>Husk dog på, at operatørerne af serveren og enhver modtagende server vil kunne se sådanne meddelelser</em>, og at modtagere vil kunne tage skærmfotos, kopiere eller på anden vis deler disse igen.<em> Del ingen sensitive mv. oplysninger over Mastodon.</em> </li>\n  <li> <em>IP'er og andre metadata</em>: Når du logger ind, registrerer vi den IP-adresse, du logger ind fra, samt navnet på din browser-applikation. Du vil have alle indloggede sessioner tilgængelige for gennemgang og tilbagekaldelse via indstillingerne. Den senest anvendte IP-adresse gemmes i op til 12 måneder. Vi kan også beholde serverlogfiler indeholdende IP-adressen for hver forespørgsel til vores server.</li>\n</ul>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"use\">Hvad bruger vi dine oplysninger til?</h3>\n\n<p>Enhver oplysning, vi indsamler fra dig, kan blive brugt på flg. måder: </p>\n\n<ul>\n  <li>Til at levere Mastodons kernfunktionalitet. Du kan kun interagere med andres indhold og indsende dit eget, når du er logget ind. Du kan f.eks. følge andre personer for at se deres kombinerede indlæg på din egen personlige tidslinje.</li>\n  <li>Som hjælp til moderering af fællesskabet, f.eks. sammenligning af din IP-adresse med andre kendte, for at bestemme udelukkelsesomgåelse eller andre overtrædelser.</li>\n  <li>Den af dig angivne e-mailadresse kan bruges til at sende dig oplysninger, notifikationer om andre personer, som interagerer med dit indhold eller sender dig beskeder samt til at svare på henvendelser og/eller andre forespørgsler eller spørgsmål. </li>\n</ul>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"protect\">Hvordan beskytter vi dine oplysninger?</h3>\n\n<p>Vi implementerer en række sikkerhedsforanstaltninger for at sikre dine personlige oplysninger, når du angiver, indsender eller tilgår dine personlige oplysninger. Bl.a. sikres din browsersession samt trafikken mellem dine applikationer og API'en med SSL, og din adgangskode er hashed vha. en stærk envejsalgoritme. Du kan aktivere tofaktorgodkendelse for yderligere at adgangssikre din konto.</p>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"data-retention\">Hvad er vores datalagringspolitik?</h3>\n\n<p>Vi vil efter bedste oprigtige evne gøre en indsats for at: </p>\n\n<ul>\n  <li>Beholde/lagre serverlogfiler indeholdende IP-adressen på alle forespørgsler til denne server, for så vidt at sådanne logfiler ikke opbevares/lagres længere end 90 dage.</li>\n  <li>Beholde/lagre IP-adresser forbundet med registrerede brugere i maksimalt 12 måneder.</li>\n</ul>\n\n<p>Du kan anmode om og downloade et arkiv af dit indhold, herunder dine indlæg, medievedhæftninger samt profil- og headerbilleder </p>\n\n<p>Du kan til enhver tid slette din konto permanent.</p>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"cookies\">Bruger vi cookies?</h3>\n\n<p>Ja. Cookies er små filer, som et websted eller dets tjenesteudbyder overfører til din computers lagerplads via din webbrowser (hvis du tillader det). Disse cookies gør det muligt for webstedet at genkende din browser og, hvis du har en registreret konto, associerer den med din registrerede konto.</p>\n\n<p>Vi bruger cookies til at forstå og gemme dine præferencer for fremtidige besøg.</p>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"disclose\">Afslører vi nogle oplysninger til eksterne parter?</h3>\n\n<p>Vi hverken sælger, handler/bytter eller på anden måde overfører dine personlige identificerbare oplysninger til eksterne parter. Herfra undtaget er dog betroede tredjeparter, som hjælper os med at drive vores websted, drive vores forretning eller servicere dig, så længe parterne accepterer at holde disse oplysninger fortrolige. Vi kan også vælge at frigive dine oplysninger, såfremt vi mener, at frigivelsen er hensigtsmæssig ift. at overholde loven, håndhæve vores webstedspolitikker eller beskytte vores/andres rettigheder, ejendom eller sikkerhed.</p>\n\n<p>Dit offentlige indhold kan blive downloades af andre servere i netværket. Dine offentlige og kun-følgere indlæg leveres til de servere, hvor dine tilhængere er hjemhørende, og direkte beskeder leveres til modtagerens servere, for så vidt som disse følgere/modtagere ikke er hjemhørende på denne server.</p>\n\n<p>Når du godkender en applikation til at bruge din konto, afhængt af tilladelsesomfanget, godkender du, at det kan tilgå dine offentlige profiloplysninger, din liste over dem, du følger, dine følgere, dine lister, alle dine indlæg og dine favoritter. Applikationer kan aldrig tilgå din e-mailadresse eller adgangskode.</p>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"children\">Børns brug af webstedet</h3>\n\n<p>Hvis denne server er i EU eller EØS: Vores websted, produkter og tjenester er alle er alle beregnet på personer, som er fyldt 16 år. Er du ike fyldt 16 år, så benyt ikke dette websted jf. kravene i GDPR, (<a href=\"https://en.wikipedia.org/wiki/General_Data_Protection_Regulation\">Generel Databeskyttelsesforordning</a>).</p>\n\n<p>Hvis denne server er i USA: Vores websted, produkter og tjenester er alle rettet mod personer, som er fyldt 13 år. Er du ikke fyldt 13 år, så benyt ikke dette websted jf. kravene i COPPA, (<a href=\"https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\">Børns online fortrolighedsbeskyttelsesslov</a>).</p>\n\n<p>Lovkrav kan afvige, hvis denne server befinder sig i et andet retsområde.</p>\n\n<hr class = \"spacer\" />\n\n<h3 id=\"changes\">Ændringer i vores fortrolighedspolitik</h3>\n\n<p>Beslutter vi os for at ændre vores fortrolighedspolitik, vil disse ændringer fremgå på denne side.</p>\n\n<p>Dette dokument er CC-BY-SA, og det blev senest opdateret 7. marts 2018.</p>\n\n<p> Oprindelig tilpasset fra <a href=\"https://github.com/discourse/discourse\"> Discourse' Fortrolighedspolitik</a>.</p>\n"
+    body_html: "<p><h2>Fortrolighedspolitik</h2> \n<h3 id=\"collect\">Hvilke oplysninger indsamler vi?</h3> \n\n<ul>\n  <li><em>Grundlæggende kontooplysninger</em>: Opretter du dig på denne server, kan du blive bedt om at angive brugernavn, e-mailadresse og adgangskode. Du kan også angive yderligere profiloplysninger, såsom visningsnavn og biografi, samt uploade et profil- og overskriftsbillede. Brugernavn, visningsnavn, biografi, profil- og overskriftsbilleder vises altid offentligt.</li> \n  <li> <em>Indlæg, følgning og andre offentlige oplysninger</em>: Listen over personer, du følger, er offentligt tilgængelig, det samme gælder dine følgere. Når du sender en besked, gemmes dato og klokkeslæt såvel som det program, du sendte beskeden fra. Beskeder kan indeholde medievedhæftninger, såsom billeder og videoer. Offentlige og ulistede indlæg er offentligt tilgængelige. Når du fremhæver et indlæg på din profil, er det også offentligt tilgængelig information. Dine indlæg leveres til dine følgere, i visse tilfælde betyder det, at de leveres til forskellige servere, hvor kopier gemmes. Når du sletter indlæg, leveres det også til dine følgere. Genbloggingshandlinger eller favoritmarkeringer af andre indlæg sker altid i offentligt regi.</li>\n  <li><em>Direkte og kun-følgere indlæg</em>: Alle indlæg gemmes og behandles på serveren. Kun-følgere indlæg leveres til dine følgere og brugere, nævnt heri, og direkte indlæg leveres kun til brugere nævnt heri. I visse tilfælde betyder dette, at de leveres til forskellige servere, hvor kopier gemmes. Vi gør en bedste-evne indsats for at begrænse adgangen til disse indlæg til kun godkendte personer, men andre servere kan undlade dette tiltag. Det er derfor vigtigt at gennemgå de servere, dine følgere tilhører. Man kan via indstillingerne manuelt slå muligheden Godkend/Afvis nye følgere til/fra.<em>Husk dog på, at operatørerne af serveren og enhver modtagende server vil kunne se sådanne meddelelser</em>, og at modtagere vil kunne tage skærmfotos, kopiere eller på anden vis deler disse igen.<em> Del ingen sensitive mv. oplysninger over Mastodon.</em> </li>\n  <li> <em>IP'er og andre metadata</em>: Når der logges ind, registreres den IP-adresse, der logges ind fra, samt navnet på browser-applikationen. Du vil have alle indloggede sessioner tilgængelige mhp. gennemgang og tilbagekaldelse via indstillingerne. Den senest anvendte IP-adresse gemmes i op til 12 måneder. Vi kan også beholde serverlogfiler indeholdende IP-adressen for hver forespørgsel til vores server.</li>\n</ul>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"use\">Hvad bruger vi dine oplysninger til?</h3>\n\n<p>Enhver oplysning indsamlet fra/om dig, kan blive brugt på flg. måder: </p>\n\n<ul>\n  <li>Til at levere Mastodon-kernfunktionalitet. Man kan kun interagere med andres indhold og indsende eget ditto, når man indlogget ind. Man kan f.eks. følge andre personer for at se deres kombinerede indlæg på sin egen personlige tidslinje.</li>\n  <li>Som hjælp til moderering af fællesskabet, f.eks. sammenligning af din IP-adresse med andre kendte mhp. at fastslå udelukkelsesomgåelse eller andre overtrædelser.</li>\n  <li>Den af dig angivne e-mailadresse kan bruges til at sende dig oplysninger, notifikationer om andre personer, som interagerer med dit indhold eller sender dig beskeder samt til at svare på henvendelser og/eller andre forespørgsler eller spørgsmål. </li>\n</ul>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"protect\">Hvordan beskytter vi dine oplysninger?</h3>\n\n<p>Vi implementerer en vifte af sikkerhedsforanstaltninger for at sikre dine personlige oplysninger, når du angiver, indsender eller tilgår personlige oplysninger. Bl.a. sikres din browsersession samt trafikken mellem dine applikationer og API'en med SSL, og din adgangskode hashes vha. en stærk envejsalgoritme. Tofaktorgodkendelse kan endvidere aktiveres til yderligere adgangssikring af kontoen.</p>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"data-retention\">Hvad er vores datalagringspolitik?</h3>\n\n<p>Vi vil efter bedste evne bestræbe os på at: </p>\n\n<ul>\n  <li>Ikke at beholde/lagre serverlogfiler indeholdende IP-adressen på alle forespørgsler til denne server, for så vidt at sådanne logfiler gemmes, længere end 90 dage.</li>\n  <li>Ikke at beholde/lagre IP-adresser tilknyttet registrerede brugere længere end 12 måneder.</li>\n</ul>\n\n<p>Du kan anmode om, og downloade, et arkiv af dit indhold, herunder indlæg, medievedhæftninger samt profil- og overskriftsbilleder </p>\n\n<p>Du kan til enhver tid slette din konto permanent.</p>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"cookies\">Bruger vi cookies?</h3>\n\n<p>Ja. Cookies er små filer, som et websted eller dets tjenesteudbyder gemmer til din computers harddisk via din webbrowser (hvis du tillader det). Disse cookies gør det muligt for webstedet at genkende din browser og, hvis du har en registreret konto, associerer den med din registrerede konto.</p>\n\n<p>Vi bruger cookies til at forstå og gemme dine præferencer for fremtidige besøg.</p>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"disclose\">Videregiver vi oplysninger til eksterne parter?</h3>\n\n<p>Vi hverken sælger, handler/bytter eller overfører på anden vis dine personlige identificerbare oplysninger til eksterne parter. Herfra undtaget er dog betroede tredjeparter, som hjælper os med at drive vores websted, drive vores forretning eller servicere dig, så længe parterne accepterer at holde disse oplysninger fortrolige. Vi kan også vælge at frigive dine oplysninger, såfremt vi mener, at frigivelsen er hensigtsmæssig ift. at overholde loven, håndhæve vores webstedspolitikker eller beskytte vores/andres rettigheder, ejendom eller sikkerhed.</p>\n\n<p>Dit offentlige indhold kan blive downloadet af andre servere i netværket. Dine offentlige og kun-følgere indlæg leveres til de servere, hvor dine tilhængere er hjemhørende, og direkte beskeder leveres til modtagerens servere, for så vidt som disse følgere/modtagere ikke er hjemhørende på denne server.</p>\n\n<p>Når du godkender en applikation til at bruge din konto, godkender du, afhængt af tilladelsesomfanget, at denne kan tilgå dine offentlige profiloplysninger, listen over dem, du følger, følgere, lister, alle indlæg og favoritter. Applikationer kan aldrig tilgå din e-mailadresse eller adgangskode.</p>\n\n<hr class=\"spacer\" />\n\n<h3 id=\"children\">Børns brug af webstedet</h3>\n\n<p>Hvis denne server er i EU eller EØS: Vores websted, produkter og tjenester er alle er alle beregnet på personer, som er fyldt 16 år. Er man ikke fyldt 16 år, så benyt ikke, jf. kravene i GDPR, (<a href=\"https://en.wikipedia.org/wiki/General_Data_Protection_Regulation\">Generel Databeskyttelsesforordning</a>), dette websted.</p>\n\n<p>Hvis denne server er i USA: Vores websted, produkter og tjenester er alle rettet mod personer, som er fyldt 13 år. Er man ikke fyldt 13 år, så benyt ikke, jf. kravene i COPPA, (<a href=\"https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\">Børns online fortrolighedsbeskyttelsesslov</a>), dette websted.</p>\n\n<p>Lovkrav kan afvige, hvis denne server befinder sig i et andet retsområde.</p>\n\n<hr class = \"spacer\" />\n\n<h3 id=\"changes\">Ændringer i vores Fortrolighedspolitik</h3>\n\n<p>Beslutter vi os for at ændre vores Fortrolighedspolitik, vil disse ændringer fremgå på denne side.</p>\n\n<p>Dette dokument er CC-BY-SA, og det blev senest opdateret 7. marts 2018.</p>\n\n<p> Oprindelig tilpasset fra <a href=\"https://github.com/discourse/discourse\"> Discourse privacy policy</a>.</p>\n"
     title: Tjenestevilkår og Fortrolighedspolitik for %{instance}
   themes:
     contrast: Mastodon (høj kontrast)
@@ -1485,7 +1515,7 @@ da:
     mastodon-light: Mastodon (lyst)
   time:
     formats:
-      default: "%b %d, %Y, %H:%M"
+      default: "%a %d %b %Y, %H:%M"
       month: "%b %Y"
       time: "%H:%M"
   two_factor_authentication:
@@ -1495,75 +1525,79 @@ da:
     edit: Redigér
     enabled: Tofaktorgodkendelse aktiveret
     enabled_success: Tofaktorgodkendelse aktiveret
-    generate_recovery_codes: Generér gendannelseskoder
-    lost_recovery_codes: Gendannelseskoder lader dig opnå adgang til din konto, hvis du mister din mobil. Har du mistet dine gendannelseskoder, kan du regenerere dem her. Dine gamle gendannelseskoder ugyldiggøres.
+    generate_recovery_codes: Generere gendannelseskoder
+    lost_recovery_codes: Gendannelseskoder muliggør adgang til din konto, hvis du mister din mobil. Ved mistet gendannelseskoder, kan disse regenerere her. Dine gamle gendannelseskoder ugyldiggøres.
     methods: Tofaktormetoder
     otp: Godkendelses-app
-    recovery_codes: Sikkerhedskopiér koder
+    recovery_codes: Sikkerhedskopieret gendannelseskoder
     recovery_codes_regenerated: Gendannelseskoder er regenereret
-    recovery_instructions_html: Mister du nogensinde adgang til din mobil, kan du bruge en af gendannelseskoderne nedenfor til at opnå adgang til din konto. <strong>Opbevar gendannelseskoderne et sikkert sted</strong>. Du kan f.eks. udskrive dem, og gemme dem sammen med andre vigtige dokumenter.
+    recovery_instructions_html: Mister du nogensinde adgang til din mobil, kan en af gendannelseskoderne nedenfor bruges til at opnå adgang til din konto. <strong>Opbevar disse et sikkert sted</strong>. De kan f.eks. udskrives og gemmes sammen med andre vigtige dokumenter.
     webauthn: Sikkerhedsnøgler
   user_mailer:
     appeal_approved:
       action: Gå til din konto
+      explanation: Appellen af kontoadvarslen fra %{strike_date}, indsendt af dig pr. %{appeal_date}, er blevet godkendt. Din kontostatus er igen god.
       subject: Din appel pr. %{date} er godkendt
       title: Appel godkendt
     appeal_rejected:
+      explanation: Appellen af kontoadvarslen fra %{strike_date}, indsendt af dig pr. %{appeal_date}, er blevet afvist.
       subject: Din appel pr. %{date} er afvist
       title: Appel afvist
     backup_ready:
       explanation: Den anmodede fulde sikkerhedskopi af din Mastodon-konto er nu klar til download!
       subject: Dit arkiv er klar til download
-      title: Arkiv-takeout
+      title: Arkiv download
     sign_in_token:
-      details: 'Her er detaljer om forsøget:'
-      explanation: 'Der er registreret et forsøg på at logge ind på din konto fra en ukendt IP-adresse. Er dette er dig, så angiv nedenstående sikkerhedskode på siden med log ind-verifikationssiden:'
-      further_actions: 'Var dette ikke dig, så ændr din adgangskode og aktivér tofaktorgodkendelse på din konto. Du kan gøre dette hér:'
+      details: 'Her er nogle detaljer om forsøget:'
+      explanation: 'Der er registreret et forsøg på at logge ind på din konto fra en ukendt IP-adresse. Er dette er dig, så angiv nedenstående sikkerhedskode på log ind-bekræftelsessiden:'
+      further_actions: 'Var dette ikke dig, så ændr adgangskoden og aktivér tofaktorgodkendelse på din konto, hvilket kan gøres hér:'
       subject: Bekræft indlogningsforsøg
       title: Indlogningsforsøg
     warning:
       appeal: Indgiv appel
-      appeal_description: Mener du, at dette er en fejl, kan der indgives en appel til personalet på %{instance}.
+      appeal_description: Mener du, at dette er en fejl, kan der indgives en appel til %{instance}-personalet.
       categories:
         spam: Spam
         violation: Indhold overtræder flg. fællesskabsretningslinjer
       explanation:
-        delete_statuses: Nogle af dine indlæg har vist sig at være i strid med en eller flere fællesskabsretningslinjer og er som konsekvens fjernet af moderatorerne på %{instance}. Fremtidige overtrædelser kan resultere i hårdere kontosanktioner.
-        disable: Din konto kan ikke længere bruges, men profilen og andre data er intakte. Du kan anmode om en sikkerhedskopi af dine data, ændre kontoindstillinger eller slette kontoen.
+        delete_statuses: Nogle af dine indlæg har vist sig at være i strid med en eller flere fællesskabsretningslinjer og er efterfølgende fjernet af %{instance}-moderatorerne.
+        disable: Du kan ikke længere anvende din konto, men profilen og øvrige data er intakte. Du kan anmode om en sikkerhedskopi af dine data, ændre kontoindstillinger eller slette kontoen.
+        mark_statuses_as_sensitive: Nogle af dine indlæg er blevet markeret som sensitive af %{instance}-moderatorerne. Det betyder, at folk er nødt til at trykke på medierne i indlæggene, før en forhåndsvisning vises. Du kan selv markere medier som sensitive i fremtidige indlæg.
         sensitive: Fra nu af vil alle dine uploadede mediefiler blive markeret som sensitive og skjult bag en klik-igennem advarsel.
-        silence: Din konto kan stadig bruges, men dine indlæg vil kunne ses af personer, som allerede følger dig på denne server, og du kan blive udelukket fra forskellige opdagelsesfunktioner. Personer vil stadig kunne følge dig manuelt.
-        suspend: Din konto kan ikke længere bruges, og hverken profil eller øvrige data kan tilgås. Du kan stadig logge ind for at anmode om en sikkerhedskopi af dine data, indtil disse om ca. 30 er helt slettet. Visse data bevares dog mhp. at forhindre dig i at omgå udelukkelsen.
-      get_in_touch: Anses dette som en fejl, kan denne e-mail besvares for at komme i kontakt med personalet på %{instance}.
+        silence: Din konto kan stadig anvendes, men dine indlæg vil kunne ses af personer, som allerede følger dig på denne server, og du udelukkes muligvis fra forskellige opdagelsesfunktioner. Personer vil stadig kunne følge dig manuelt.
+        suspend: Din konto kan ikke længere anvendes, og hverken profilen eller øvrige data kan tilgås. Du kan stadig logge ind for at anmode om en sikkerhedskopi af dine data, indtil disse om ca. 30 dage vil være slettet. Visse data bevares dog mhp. at forhindre dig i at omgå udelukkelsen.
       reason: 'Årsag:'
-      statuses: 'Indlæg fundet i krænkelse:'
+      statuses: 'Anmeldte indlæg:'
       subject:
         delete_statuses: Dine indlæg på %{acct} er blevet fjernet
         disable: Din konto %{acct} er blevet frosset
-        none: Advarsel for %{acct}
-        sensitive: Dine mediefiler på %{acct} markeres fra nu af som sensitive
+        mark_statuses_as_sensitive: Dine indlæg på %{acct} er blevet markeret som sensitive
+        none: Advarsel til %{acct}
+        sensitive: Dine indlæg på %{acct} markeres fra nu af som sensitive
         silence: Din konto %{acct} er blevet begrænset
         suspend: Din konto %{acct} er blevet suspenderet
       title:
         delete_statuses: Indlæg fjernet
         disable: Konto frosset
+        mark_statuses_as_sensitive: Indlæg markeret som sensitive
         none: Advarsel
-        sensitive: Medier skjult
+        sensitive: Konto markeret som sensitiv
         silence: Konto begrænset
         suspend: Konto suspenderet
     welcome:
       edit_profile_action: Opsæt profil
-      edit_profile_step: Du kan tilpasse din profil ved at uploade et profilbillede, overskrift, ændre dit visningsnavn mm. Ønsker du at vurdere nye følgere, før de må følge dig, kan du låse din konto.
-      explanation: Her er nogle råd for at få dig igang
+      edit_profile_step: Du kan tilpasse din profil ved at uploade profilbillede, overskrift, ændre visningsnavn mm. Ønsker du at vurdere nye følgere, før de må følge dig, kan du låse din konto.
+      explanation: Her er nogle råd for at få dig i gang
       final_action: Begynd at poste
-      final_step: 'Begynd at poste! Selv uden følgere vil dine offentlige beskeder kunne ses af andre f.eks. på den lokale tidslinje og i hashtags. Måske kunne du tænke dig at introducere dig selv på #introductions-hashtagget.'
+      final_step: 'Begynd at poste! Selv uden følgere vil dine offentlige indlæg kunne ses af andre f.eks. på den lokale tidslinje og i hashtags. Du kan introducere dig selv via hastagget #introductions.'
       full_handle: Dit fulde brugernavn
-      full_handle_hint: Dette er, hvad du vil fortælle dine venner, så de kan sende dig beskeder eller følge dig fra andre server.
+      full_handle_hint: Dette er, hvad du oplyser til dine venner, så de kan sende dig beskeder eller følge dig fra andre server.
       review_preferences_action: Ændre præferencer
-      review_preferences_step: Vær sikker på at opsætte dine præferencer, såsom hvilke e-mails du kunne tænke dig at modtage, eller hvilket fortrolighedsniveau, der skal være standard for dine opslag. Har du ikke let til køresyge, kan du vælge at aktivere auto-afspilning af GIF'er.
+      review_preferences_step: Husk at opsætte dine præferencer, såsom hvilke e-mails, du ønsker at modtage, eller hvilket fortrolighedsniveau, der skal være standard for dine opslag. Har du ikke let til køresyge, kan du vælge at aktivere auto-afspilning af GIF'er.
       subject: Velkommen til Mastodon
-      tip_federated_timeline: Den delte tidslinje giver det store overblik over Mastodon-netværket, men det inkluderer kun folk, dine naboer abonnerer på, så det er ikke komplet.
-      tip_following: Du følger som standard din servers admin(s). For at finde flere interessante folk, så tjek den lokale og fælles tidslinje.
-      tip_local_timeline: Den lokale tidslinje er det store overblik over folk på %{instance}. Disse er dine umiddelbare naboer!
+      tip_federated_timeline: Den fælles tidslinje giver det store overblik over Mastodon-netværket, men den inkluderer kun folk, dine naboer abonnerer på, så den er ikke komplet.
+      tip_following: Du følger som standard din servers admin(s). For at finde flere interessante folk, så tjek de lokale og fælles tidslinjer.
+      tip_local_timeline: Den lokale tidslinje er det store overblik over folk på %{instance}, dvs. dine umiddelbare naboer!
       tip_mobile_webapp: Tilbyder din mobilbrowser at føje Mastodon til din hjemmeskærm, kan du modtage push-notifikationer. Dette fungerer på mange måder ligesom en almindelig app!
       tips: Tips
       title: Velkommen ombord, %{name}!
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 33e2e648b..4768f4e80 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -16,6 +16,7 @@ de:
     contact: Kontakt
     contact_missing: Nicht angegeben
     contact_unavailable: Nicht verfügbar
+    continue_to_web: Weiter zur Web App
     discover_users: Benutzer entdecken
     documentation: Dokumentation
     federation_hint_html: Mit einem Account auf %{instance} wirst du in der Lage sein Nutzern auf irgendeinem Mastodon-Server und darüber hinaus zu folgen.
@@ -25,6 +26,8 @@ de:
       Dieses Konto ist ein virtueller Akteur, der den Server selbst und nicht einen einzelnen Benutzer repräsentiert.
       Dieser wird für Föderationszwecke verwendet und sollte nicht blockiert werden, es sei denn du möchtest die gesamte Instanz blockieren.
     learn_more: Mehr erfahren
+    logged_in_as_html: Du bist derzeit als %{username} eingeloggt.
+    logout_before_registering: Du bist bereits angemeldet.
     privacy_policy: Datenschutzerklärung
     rules: Server-Regeln
     rules_html: 'Unten ist eine Zusammenfassung der Regeln, denen du folgen musst, wenn du ein Konto auf diesem Mastodon-Server haben möchtest:'
@@ -69,7 +72,6 @@ de:
     media: Medien
     moved_html: "%{name} ist auf %{new_profile_link} umgezogen:"
     network_hidden: Diese Informationen sind nicht verfügbar
-    never_active: Nie
     nothing_here: Hier gibt es nichts!
     people_followed_by: Profile, denen %{name} folgt
     people_who_follow: Profile, die %{name} folgen
@@ -371,7 +373,6 @@ de:
       enable: Aktivieren
       enabled: Aktiviert
       enabled_msg: Das Emoji wurde aktiviert
-      image_hint: PNG bis zu 50 kB
       list: Liste
       listed: Gelistet
       new:
@@ -448,21 +449,6 @@ de:
       reject_media_hint: Entfernt lokal gespeicherte Mediendateien und verhindert deren künftiges Herunterladen. Für Sperren irrelevant
       reject_reports: Meldungen ablehnen
       reject_reports_hint: Ignoriere alle Meldungen von dieser Domain. Irrelevant für Sperrungen
-      rejecting_media: Mediendateien werden nicht gespeichert
-      rejecting_reports: Meldungen werden ignoriert
-      severity:
-        silence: stummgeschaltet
-        suspend: gesperrt
-      show:
-        affected_accounts:
-          one: Ein Konto in der Datenbank betroffen
-          other: "%{count} Konten in der Datenbank betroffen"
-          zero: Kein Konto in der Datenbank ist betroffen
-        retroactive:
-          silence: Alle existierenden Konten dieser Domain nicht mehr stummschalten
-          suspend: Alle existierenden Konten dieser Domain entsperren
-        title: Domain-Blockade für %{domain} zurücknehmen
-        undo: Zurücknehmen
       undo: Domainblockade zurücknehmen
       view: Zeige Domain-Blockade
     email_domain_blocks:
@@ -493,23 +479,47 @@ de:
       title: Folgeempfehlungen
       unsuppress: Nicht mehr unterdrücken
     instances:
+      availability:
+        description_html:
+          one: Wenn die Auslieferung an die Domain seit <strong>%{count} Tag</strong> ohne Erfolg ist, werden keine weiteren Versandversuche unternommen, es sei denn, es ist eine Lieferung <em>von</em> der Domain.
+          other: Wenn die Auslieferung an die Domain seit <strong>%{count} Tagen</strong> ohne Erfolg ist, werden keine weiteren Versandversuche unternommen, es sei denn, es ist eine Lieferung <em>von</em> der Domain.
+        failure_threshold_reached: Fehlschlag-Schwelle am %{date} erreicht.
+        failures_recorded:
+          one: Fehlgeschlagener Versuch am %{count}. Tag.
+          other: Fehlgeschlagener Versuch am %{count}. Tag.
+        no_failures_recorded: Keine Fehler bei der Aufzeichnung.
+        title: Verfügbarkeit
       back_to_all: Alle
       back_to_limited: Beschränkt
       back_to_warning: Warnung
       by_domain: Domain
       confirm_purge: Bist du dir sicher, dass du die Daten für diese Domain für immer löschen möchtest?
+      content_policies:
+        comment: Interne Notiz
+        description_html: Du kannst Inhaltsrichtlinien definieren, die auf alle Konten dieser Domain und einer ihrer Subdomains angewendet werden.
+        policies:
+          reject_media: Medien ablehnen
+          reject_reports: Meldungen ablehnen
+          silence: Stummschalten
+          suspend: Verbannen
+        policy: Richtlinie
+        reason: Öffentlicher Grund
+        title: Inhaltsrichtlinien
+      dashboard:
+        instance_accounts_dimension: Meiste gefolgte Konten
+        instance_accounts_measure: gespeicherte Konten
+        instance_followers_measure: unsere Follower dort
+        instance_follows_measure: ihre Follower hier
+        instance_languages_dimension: Top Sprachen
+        instance_media_attachments_measure: gespeicherte Medienanhänge
+        instance_reports_measure: über sie berichtet
+        instance_statuses_measure: gespeicherte Beiträge
       delivery:
         all: Alle
         clear: Zustellfehler löschen
         restart: Lieferung neu starten
         stop: Lieferung stoppen
-        title: Zustellung
         unavailable: Nicht verfügbar
-        unavailable_message: Zustellung funktioniert nicht
-        warning: Warnung
-        warning_message:
-          one: Zustellfehler seit %{count} Tag
-          other: Zustellfehler seit %{count} Tagen
       delivery_available: Zustellung funktioniert
       delivery_error_days: Tage seitdem die Zustellung nicht funktioniert
       delivery_error_hint: Wenn eine Lieferung für %{count} Tage nicht möglich ist, wird sie automatisch als nicht lieferbar markiert.
@@ -526,12 +536,14 @@ de:
       private_comment: Privater Kommentar
       public_comment: Öffentlicher Kommentar
       purge: Löschen
+      purge_description_html: Wenn du glaubst, dass diese Domain endgültig offline ist, kannst du alle Account-Datensätze und zugehörigen Daten aus dieser Domain löschen. Das kann eine Weile dauern.
       title: Föderation
       total_blocked_by_us: Von uns blockiert
       total_followed_by_them: Gefolgt von denen
       total_followed_by_us: Gefolgt von uns
       total_reported: Beschwerden über sie
       total_storage: Medienanhänge
+      totals_time_period_hint_html: Die unten angezeigten Summen enthalten Daten für alle Zeiten.
     invites:
       deactivate_all: Alle deaktivieren
       filter:
@@ -586,6 +598,7 @@ de:
       action_taken_by: Maßnahme ergriffen durch
       actions:
         delete_description_html: Der gemeldete Beitrag wird gelöscht und ein Strike wird aufgezeichnet, um dir bei zukünftigen Verstößen des gleichen Accounts zu helfen.
+        mark_as_sensitive_description_html: Der gemeldete Beitrag wird als NSFW markiert und ein Strike wird aufgezeichnet, um dir bei zukünftigen Verstößen des gleichen Accounts zu helfen.
         other_description_html: Weitere Optionen zur Kontrolle des Kontoverhaltens und zur Anpassung der Kommunikation an das gemeldete Konto.
         resolve_description_html: Es wird keine Maßnahme gegen den gemeldeten Account ergriffen, es wird kein Strike verzeichnet und die Meldung wird geschlossen.
         silence_description_html: Das Profil wird nur für diejenigen sichtbar sein, die es bereits verfolgen oder manuell nachschlagen und die Reichweite wird stark begrenzt. Kann immer rückgängig gemacht werden.
@@ -606,6 +619,7 @@ de:
       forwarded: Weitergeleitet
       forwarded_to: Weitergeleitet an %{domain}
       mark_as_resolved: Als gelöst markieren
+      mark_as_sensitive: Als NSFW markieren
       mark_as_unresolved: Als ungelöst markieren
       no_one_assigned: Niemand
       notes:
@@ -749,6 +763,7 @@ de:
       actions:
         delete_statuses: "%{name} hat die Beiträge von %{target} entfernt"
         disable: "%{name} hat das Konto von %{target} eingefroren"
+        mark_statuses_as_sensitive: "%{name} markierte %{target}'s Beiträge als NSFW"
         none: "%{name} hat eine Warnung an %{target} gesendet"
         sensitive: "%{name} markierte %{target}'s Konto als NSFW"
         silence: "%{name} hat das Konto von %{target} eingeschränkt"
@@ -774,6 +789,7 @@ de:
       links:
         allow: Erlaube Link
         allow_provider: Erlaube Herausgeber
+        description_html: Dies sind Links, die derzeit von Konten geteilt werden, von denen dein Server Beiträge sieht. Es kann deinen Benutzern helfen, herauszufinden, was in der Welt vor sich geht. Es werden keine Links öffentlich angezeigt, bis du den Publisher genehmigst. Du kannst auch einzelne Links zulassen oder ablehnen.
         disallow: Verbiete Link
         disallow_provider: Verbiete Herausgeber
         shared_by_over_week:
@@ -785,14 +801,17 @@ de:
       pending_review: Überprüfung ausstehend
       preview_card_providers:
         allowed: Links von diesem Herausgeber können angesagt sein
+        description_html: Dies sind Domains, von denen Links oft auf deinem Server geteilt werden. Links werden sich nicht öffentlich trenden, es sei denn, die Domain des Links wird genehmigt. Deine Zustimmung (oder Ablehnung) erstreckt sich auf Subdomains.
         rejected: Links von diesem Herausgeber können nicht angesagt sein
         title: Herausgeber
       rejected: Abgelehnt
       statuses:
         allow: Beitrag erlauben
         allow_account: Autor erlauben
+        description_html: Dies sind Beiträge, von denen dein Server weiß, dass sie derzeit viel geteilt und favorisiert werden. Es kann deinen neuen und wiederkehrenden Benutzern helfen, weitere Personen zu finden. Es werden keine Beiträge öffentlich angezeigt, bis du den Autor genehmigst und der Autor es zulässt deren Konto anderen Benutzern zu zeigen. Du kannst auch einzelne Beiträge zulassen oder ablehnen.
         disallow: Beitrag verbieten
         disallow_account: Autor verbieten
+        not_discoverable: Der Autor hat sich nicht dafür entschieden, entdeckt zu werden
         shared_by:
           one: Einmal geteilt oder favorisiert
           other: "%{friendly_count} mal geteilt oder favorisiert"
@@ -805,6 +824,7 @@ de:
           tag_servers_dimension: Top Server
           tag_servers_measure: verschiedene Server
           tag_uses_measure: Gesamtnutzungen
+        description_html: Dies sind Hashtags, die derzeit in vielen Beiträgen erscheinen, die dein Server sieht. Es kann deinen Benutzern helfen, herauszufinden, worüber die Menschen im Moment am meisten reden. Es werden keine Hashtags öffentlich angezeigt, bis du sie genehmigst.
         listable: Kann vorgeschlagen werden
         not_listable: Wird nicht vorgeschlagen
         not_trendable: Wird nicht unter Trends angezeigt
@@ -831,6 +851,7 @@ de:
       actions:
         delete_statuses: deren Beiträge zu löschen
         disable: deren Konto einzufrieren
+        mark_statuses_as_sensitive: um ihre Beiträge als NSFW zu markieren
         none: eine Warnung
         sensitive: deren Konto als NSFW zu markieren
         silence: deren Konto zu beschränken
@@ -933,8 +954,10 @@ de:
     status:
       account_status: Kontostatus
       confirming: Warte auf die Bestätigung der E-Mail.
+      functional: Dein Konto ist voll funktionsfähig.
       pending: Deine Bewerbung wird von unseren Mitarbeitern noch überprüft. Dies kann einige Zeit dauern. Du erhältst eine E-Mail, wenn deine Bewerbung genehmigt wurde.
       redirecting_to: Dein Konto ist inaktiv, da es derzeit zu %{acct} umgeleitet wird.
+      view_strikes: Zeige frühere Streiks gegen dein Konto
     too_fast: Formular zu schnell gesendet, versuchen Sie es erneut.
     trouble_logging_in: Schwierigkeiten beim Anmelden?
     use_security_key: Sicherheitsschlüssel verwenden
@@ -1010,6 +1033,7 @@ de:
         submit: Einspruch erheben
       associated_report: Zugehöriger Bericht
       created_at: Datum
+      description_html: Dies sind Aktionen gegen dein Konto und Warnungen, die von den Mitarbeitern von %{instance} an dich gesendet wurden.
       recipient: Adressiert an
       status: 'Beitrag #%{id}'
       status_removed: Beitrag bereits vom System entfernt
@@ -1017,8 +1041,9 @@ de:
       title_actions:
         delete_statuses: Post-Entfernung
         disable: Einfrieren des Kontos
+        mark_statuses_as_sensitive: Das Markieren der Beiträge als NSFW
         none: Warnung
-        sensitive: Als NSFW markieren
+        sensitive: Das Markieren des Kontos als NSFW
         silence: Kontobeschränkung
         suspend: Kontosperre
       your_appeal_approved: Dein Einspruch wurde angenommen
@@ -1390,6 +1415,7 @@ de:
     profile: Profil
     relationships: Folgende und Gefolgte
     statuses_cleanup: Automatische Löschung
+    strikes: Strikes
     two_factor_authentication: Zwei-Faktor-Auth
     webauthn_authentication: Sicherheitsschlüssel
   statuses:
@@ -1410,7 +1436,6 @@ de:
     disallowed_hashtags:
       one: 'enthält einen verbotenen Hashtag: %{tags}'
       other: 'enthält verbotene Hashtags: %{tags}'
-    edited_at: Bearbeitet am %{date}
     errors:
       in_reply_not_found: Der Beitrag, auf den du antworten möchtest, scheint nicht zu existieren.
     open_in_web: Im Web öffnen
@@ -1469,6 +1494,7 @@ de:
       '2629746': 1 Monat
       '31556952': 1 Jahr
       '5259492': 2 Monate
+      '604800': 1 Woche
       '63113904': 2 Jahre
       '7889238': 3 Monate
     min_age_label: Altersgrenze
@@ -1618,26 +1644,28 @@ de:
         spam: Spam
         violation: Inhalt verletzt die folgenden Community-Richtlinien
       explanation:
-        delete_statuses: Einige deiner Beiträge wurden aufgrund eines Verstoßes gegen eine oder mehrere Community-Richtlinien entfernt und von den Moderatoren auf %{instance} entfernt. Künftige Verstöße können zu härteren Strafmaßnahmen gegen dein Konto führen.
+        delete_statuses: Einige deiner Beiträge wurden als Verstoß gegen eine oder mehrere Communityrichtlinien erkannt und von den Moderatoren von %{instance} entfernt.
         disable: Du kannst dein Konto nicht mehr verwenden, aber dein Profil und andere Daten bleiben unversehrt. Du kannst ein Backup deiner Daten anfordern, die Kontoeinstellungen ändern oder dein Konto löschen.
+        mark_statuses_as_sensitive: Einige deiner Beiträge wurden von den Moderatoren von %{instance} als NSFW markiert. Das bedeutet, dass die Nutzer die Medien in den Beiträgen antippen müssen, bevor eine Vorschau angezeigt wird. Du kannst Medien in Zukunft als NSFW markieren, wenn du Beiträge verfasst.
         sensitive: Von nun an werden alle deine hochgeladenen Mediendateien als sensibel markiert und hinter einer Warnung versteckt.
         silence: Solange dein Konto limitiert ist, können nur die Leute, die dir bereits folgen, deine Beiträge auf dem Server sehen und es könnte sein, dass du von verschiedenen öffentlichen Listungen ausgeschlossen wirst. Andererseits können andere dir manuell folgen.
         suspend: Du kannst dein Konto nicht mehr verwenden und dein Profil und andere Daten sind nicht mehr verfügbar. Du kannst dich immer noch anmelden, um ein Backup deiner Daten anzufordern, bis die Daten innerhalb von 30 Tagen vollständig gelöscht wurden. Allerdings werden wir einige Daten speichern, um zu verhindern, dass du die Sperrung umgehst.
-      get_in_touch: Wenn du glaubst, dass dies ein Fehler ist, kannst auf diese E-Mail antworten, um mit den Mitarbeitern von %{instance} in Kontakt zu treten.
       reason: 'Grund:'
-      statuses: 'Beiträge, die in Verletzung gefunden wurden:'
+      statuses: 'Zitierte Beiträge:'
       subject:
         delete_statuses: Deine Beiträge auf %{acct} wurden entfernt
         disable: Dein Konto %{acct} wurde eingefroren
+        mark_statuses_as_sensitive: Deine Beiträge auf %{acct} wurden als NSFW markiert
         none: Warnung für %{acct}
-        sensitive: Deine Mediendateien auf %{acct} werden von nun an als sensibel markiert
+        sensitive: Deine Beiträge auf %{acct} werden von nun an als NSFW markiert
         silence: Dein Konto %{acct} wurde limitiert
         suspend: Dein Konto %{acct} wurde gesperrt
       title:
         delete_statuses: Beiträge entfernt
         disable: Konto eingefroren
+        mark_statuses_as_sensitive: Als NSFW markierte Beiträge
         none: Warnung
-        sensitive: Medien versteckt
+        sensitive: Als NSFW markiertes Konto
         silence: Konto limitiert
         suspend: Konto gesperrt
     welcome:
diff --git a/config/locales/devise.ast.yml b/config/locales/devise.ast.yml
index eaeb425f3..687c8e7b2 100644
--- a/config/locales/devise.ast.yml
+++ b/config/locales/devise.ast.yml
@@ -13,6 +13,7 @@ ast:
       pending: La cuenta ta entá en revisión.
       timeout: La sesión caducó. Volvi aniciar sesión pa siguir.
       unauthenticated: Precises aniciar sesión o rexistrate enantes de siguir.
+      unconfirmed: Tienes de confirmar la direición de corréu electrónicu enantes de siguir.
     mailer:
       confirmation_instructions:
         explanation: Creesti una cuenta en %{host} con esta direición de corréu. Tas a un calcu d'activala. Si nun fuisti tu, inora esti corréu.
@@ -42,6 +43,8 @@ ast:
       updated_not_active: La contraseña camudó con correutamente.
     registrations:
       signed_up: "¡Afáyate! Rexistréstite correutamente."
+      signed_up_but_inactive: Rexistréstite correutamente. Por embargu, nun se pudo aniciar la sesión porque la to cuenta entá nun s'activó.
+      signed_up_but_locked: Rexistréstite correutamente. Por embargu, nun se pudo aniciar la sesión porque la to cuenta ta bloquiada.
       signed_up_but_unconfirmed: Unvióse un mensaxe de confirmación a la direición de corréu. Sigui l'enllaz p'activar la cuenta. Comprueba la carpeta Puxarra si nun recibiesti esti corréu.
       updated: La cuenta anovóse correutamente.
     sessions:
diff --git a/config/locales/devise.ca.yml b/config/locales/devise.ca.yml
index e1600bc6a..ff7836711 100644
--- a/config/locales/devise.ca.yml
+++ b/config/locales/devise.ca.yml
@@ -25,7 +25,7 @@ ca:
         explanation: Has creat un compte a %{host} amb aquesta adreça de correu electrònic. Estàs a un sol clic de l'activació. Si no fos així, ignora aquest correu electrònic.
         explanation_when_pending: Has sol·licitat una invitació a %{host} amb aquesta adreça de correu electrònic. Un cop confirmis la teva adreça de correu electrònic revisarem la teva sol·licitud. No es pot iniciar la sessió fins llavors. Si la teva sol·licitud és rebutjada les teves dades s’eliminaran, de manera que no s’exigirà cap altra acció. Si no has estat tu qui ha fet aquest sol·licitud si us plau ignora aquest correu electrònic.
         extra_html: Si us plau consulta també <a href="%{terms_path}"> les regles del servidor</a> i <a href="%{policy_path}"> les nostres condicions de servei</a>.
-        subject: 'Mastodon: Instruccions de confirmació %{instance}'
+        subject: 'Mastodon: Instruccions de confirmació de %{instance}'
         title: Verifica l'adreça de correu
       email_changed:
         explanation: 'L''adreça de correu del teu compte s''està canviant a:'
diff --git a/config/locales/devise.ckb.yml b/config/locales/devise.ckb.yml
new file mode 100644
index 000000000..1261ebb64
--- /dev/null
+++ b/config/locales/devise.ckb.yml
@@ -0,0 +1,115 @@
+---
+ckb:
+  devise:
+    confirmations:
+      confirmed: ناونیشانی ئیمەیڵەکەت بە سەرکەوتوویی پشتڕاستکرایەوە.
+      send_instructions: ئیمەیڵێکت بۆ دەنێردرێت لەگەڵ ڕێنمایی بۆ چۆنیەتی دڵنیابوون لە ناونیشانی ئیمەیلەکەت لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت چاولێبکە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
+      send_paranoid_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، ئیمەیڵێکت پێدەگات لەگەڵ ڕێنماییەکانی چۆنیەتی دڵنیابوون لە ناونیشانی ئیمەیلەکەت لە چەند خولەکێکدا. تکایە بۆخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
+    failure:
+      already_authenticated: تۆ پێشتر چوونە ژوورەوەت کردووە.
+      inactive: هەژمارەکەت هێشتا کارا نەکراوە.
+      invalid: "%{authentication_keys} یان نهێنوشە نادروستە."
+      last_attempt: تۆ یەک هەوڵیدیکەت ماوە پێش ئەوەی ئەژمێرەکەت قوفڵ بێت.
+      locked: هەژمارەکت داخراوە.
+      not_found_in_database: "%{authentication_keys} یان نهێنوشە نادروستە."
+      pending: هەژمێرەکەت هێشتا لەژێر پێداچوونەوەدایە.
+      timeout: کۆبوونەوەکەت بەسەرچووە. تکایە دووبارە بچۆ ژوورەوە بۆ بەردەوام بوون.
+      unauthenticated: پێویستە بچیتە ژوورەوە یان بچیتە ناو چوونە ناو پێش بەردەوام بوون.
+      unconfirmed: دەبێت ناونیشانی ئیمەیڵەکەت پشتڕاست بکەیتەوە پێش بەردەوام بوون.
+    mailer:
+      confirmation_instructions:
+        action: ناونیشانی ئیمەیڵ ساخ بکەرەوە
+        action_with_app: پشتڕاستی بکەوە و بگەڕێوە بۆ %{app}
+        explanation: ئەژمێرێکت دروست کردووە لەسەر %{host} بەم ناونیشانی ئیمەیڵە. تۆ یەک کرتە دووریت لە کاراکردنی. ئەگەر ئەمە تۆ نەبووی، تکایە ئەم ئیمەیڵە فەرامۆش بکە.
+        explanation_when_pending: تۆ داوای بانگهێشتت کرد بۆ %{host} بەم ناونیشانی ئیمەیڵە. هەر کە دڵنیایی لە ناونیشانی ئیمەیڵەکەت دەکەیت، ئێمە پێداچوونەوە دەکەین بە بەرنامەکەتدا. دەتوانیت بچیت بۆ چوونە ژوورەوە بۆ گۆڕینی ووردەکاریەکانت یان سڕینەوەی هەژمارەکەت، بەڵام ناتوانیت دەستگەیشتنت هەبێت بە زۆربەی ئەرکەکان تا ئەژمێرەکەت پەسەند ناکرێت. ئەگەر کاربەرنامەکەت ڕەتکرایەوە، داتاکەت لادەبرێت، بۆیە پێویست بە کاری زیاتر لە تۆ ناکرێت. ئەگەر ئەمە تۆ نەبووی، تکایە ئەم ئیمەیڵە فەرامۆش بکە.
+        extra_html: تکایە تێڕوانە لە <a href="%{terms_path}"> ڕێساکانی ڕاژەکار</a> و <a href="%{policy_path}"> مەرجەکانی خزمەتگوزاری</a>.
+        subject: 'ماستۆدۆن: ڕێنماییەکانی پشتڕاستکردنەوە بۆ %{instance}'
+        title: ناونیشانی ئیمەیڵ ساخ بکەرەوە
+      email_changed:
+        explanation: 'ناونیشانی ئیمەیڵەکەی ئەژمێرەکەت دەگۆڕدرێت بۆ:'
+        extra: ئەگەر ئیمەیلەکەت نەگۆڕیت، لەوانەیە کەسێک دەستگەیشتنی بۆ هەژمارەکەت بەدەست بێت. تکایە تێپەڕوشەکەت بگۆڕە دەستبەجێ یان پەیوەندی بکە بە بەڕێوەبەری ڕاژەوە ئەگەر تۆ لە هەژمارەکەت داخرایت.
+        subject: 'ماستۆدۆن: ئیمەیڵ گۆڕا'
+        title: ناونیشانی ئیمەیڵی نوێ
+      password_change:
+        explanation: تێپەڕوشە بۆ هەژمارەکەت گۆڕاوە.
+        extra: ئەگەر تێپەڕوشەکەت نەگۆڕی، وا دیارە کەسێک دەستگەیشتنی بۆ هەژمارەکەت بەدەست بێت. تکایە تێپەڕوسيکەت بگۆڕە دەستبەجێ یان پەیوەندی بکە بە بەڕێوەبەری ڕاژە ئەگەر تۆ لە هەژمارەکەت داخرایت.
+        subject: 'ماستۆدۆن: تێپەڕوشە گۆڕدرا'
+        title: تێپەڕوشە گۆڕدرا
+      reconfirmation_instructions:
+        explanation: دڵنیابوون لە ناونیشانی نوێ بۆ گۆڕینی ئیمەیڵەکەت.
+        extra: ئەگەر ئەم گۆڕانکاریە لەلایەن تۆوە دەست پێنەکراوە، تکایە ئەم ئیمەیڵە فەرامۆش بکە. ناونیشانی ئیمەیڵ بۆ هەژمێری ماستۆدۆن ناگۆڕێ هەتا ئەو کاتەی دەستپێگەیشتنی ئەم لینکەت لە سەرەوە نیە.
+        subject: 'ماستۆدۆن: دووپاتی ئیمەیل بۆ %{instance}'
+        title: ناونیشانی ئیمەیڵ ساخ بکەرەوە
+      reset_password_instructions:
+        action: گۆڕینی تێپەڕوشە
+        explanation: تۆ تیپەڕوشەی نوێت داوا کرد بۆ هەژمارەکەت.
+        extra: ئەگەر ئەم داواکاریەت نەکرد، تکایە ئەم ئیمەیڵە فەرامۆش بکە. تێپەڕوشەکەت ناگۆڕێ هەتا نەچیتە ناو لینکی سەرەوە و دانەیەکی نوێ دروست بکەیت.
+        subject: 'ماستۆدۆن: رێکردنەوەی رێنماییەکانی تێپەڕوشە'
+        title: گەڕانەوەی تێپەڕوشە
+      two_factor_disabled:
+        explanation: سەلماندنی دوو-فاکتەر بۆ هەژمارەکەت کە لە کارخراوە. چوونەژوورەوە ئێستا دەکرێت تەنها ناونیشانی ئیمەیڵ و تێپەڕوشەکەت بەکاربهێنی.
+        subject: 'ماستۆدۆن: سەلماندنی دوو-فاکتەری ناچالاک کراوە'
+        title: 2FA ناچالاک کرا
+      two_factor_enabled:
+        explanation: سەلماندنی دوو-فاکتەر بۆ هەژمارەکەت چالاک کراوە. ئاماژەیەک کە لەلایەن نەرمەکالایTOTP جووتکراو دروست کراوە پێویستە بە چوونە ژوورەوە.
+        subject: 'ماستۆدۆن: سەلماندنی دوو-فاکتەری چالاک کراوە'
+        title: 2FA چالاک کرا
+      two_factor_recovery_codes_changed:
+        explanation: کۆدەکانی چاککردنەوەی پێشوو هەڵوەشێنرانەوە و، نوێکان دروست بوون.
+        subject: 'ماستۆدۆن: کۆدەکانی گەڕانەوەی دوو فاکتەر، دووبارە دروست دەکرێتەوە'
+        title: 2FA کۆدی چاککردنەوە گۆڕا
+      unlock_instructions:
+        subject: 'ماستۆدۆن: رێنماییەکان بکەرەوە'
+      webauthn_credential:
+        added:
+          explanation: کلیلی ئاسایشی خوارەوە زیادکرا بۆ هەژمارەکەت
+          subject: 'ماستۆدۆن: کلیلی ئاسایشی نوێ'
+          title: کلیلی پاراستنی نوێ زیادکرا
+        deleted:
+          explanation: کلیلی ئاسایشی خوارەوە لە هەژمارەکەت سڕایەوە
+          subject: 'ماستۆدۆن: کلیلی پاراستن سڕایەوە'
+          title: کلیلە کانی پاراستنی یەکێک لە ئێوە سڕایەوە
+      webauthn_disabled:
+        explanation: سەلماندن بە کلیلەپارێزراوەکان لە کارخراوە بۆ هەژمارەکەت. چوونەژوورەوە ئێستا دەکرێت تەنها ئەو نیشانەیە بەکاربێنیت کە لەلایەن نەرمەکالایTOTP دروست کراوە.
+        subject: 'ماستۆدۆن: سەلماندن لەگەڵ کلیلە پاسایشی ناچالاک کراوە'
+        title: کلیلە پارستنەکان ناچالاک کراون
+      webauthn_enabled:
+        explanation: سەلماندنی کلیلی ئاسایش چالاک کراوە بۆ هەژمارەکەت. ئێستا کلیلی پاراستن دەتوانرێت بۆ چوونە ژوورەوە بەکار بێت.
+        subject: 'ماستۆدۆن: سەلماندنی کلیلی پاراستن چالاک کراوە'
+        title: کلیلە کانی پاراستن چالاک کرا
+    omniauth_callbacks:
+      failure: نەیتوانی ڕەسەنایە تی %{kind} بتەوبکات لەبەرئەوەی "%{reason}".
+      success: سەرکەوتووانە لە هەژماری %{kind} سەلمێنرا.
+    passwords:
+      no_token: ناتوانیت دەستگەیشتنت هەبێت بەم لاپەڕەیە بەبێ ئەوەی لە ئیمەیڵێکی گەڕانەوەی تێپەڕوشەت بێت. ئەگەر لە ئیمەیڵێکیگەڕانەوەی تێپەڕوشە هاتوویت، تکایە دڵنیابە لەوەی کە URLی تەواوت بەکارهێناوە کە دابینکراوە.
+      send_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، لە چەند خولەکێکی کەمدا لینکی هێنانەوەی تێپەڕوشە لە ناونیشانی ئیمەیلەکەت پێ دەگات. تکایە بوخچەی سپامەکەت بکەرەوە، ئەگەر ئەم ئیمەیڵەت پێنەدرا.
+      send_paranoid_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، لە چەند خولەکێکی کەمدا لینکی هێنانەوەی تێپەڕوشە لە ناونیشانی ئیمەیلەکەت پێ دەگات. تکایە بوخچەی سپامەکەت بکەرەوە، ئەگەر ئەم ئیمەیڵەت پێنەدرا.
+      updated: تێپەڕوشەکەت بە سەرکەوتوویی گۆڕدرا. تۆ ئێستاچوویتە ژوورەوە.
+      updated_not_active: تێپەڕوشەکەت بە سەرکەوتوویی گۆڕدرا.
+    registrations:
+      destroyed: خوات لەگەڵ! ئەژمێرەکەت بە سەرکەوتوویی هەڵوەشێنرایەوە. هیوادارین بەزوویی بتبینینەوە.
+      signed_up: بەخێربێیت! تۆ بە سەرکەوتوویی تۆمار کرای.
+      signed_up_but_inactive: تۆ بە سەرکەوتوویی تۆمارکرای. هەرچۆنێک بێت، نەمانتوانی چوونە ژوورەوەت بۆ بکەین لەبەرئەوەی هێشتا هەژمارەکەت کارا نەکراوە.
+      signed_up_but_locked: تۆ بە سەرکەوتوویی تۆمارکرای. هەرچۆنێک بێت، نەمانتوانی چوونە ژوورەوەت بۆ بکەین لەبەرئەوەی هێشتا هەژمارەکەت قوفڵ کراوە.
+      signed_up_but_pending: نامەیەک بە لینکی دووپاتکردنەوە نێردراوە بۆ ناونیشانی ئیمەیڵەکەت. دوای ئەوەی تۆ کرتە لەسەر لینکەکە دەکەیت، ئێمە پێداچوونەوە دەکەین بە بەرنامەکەتدا. ئاگادار دەکرێیت ئەگەر پەسەند کرا.
+      signed_up_but_unconfirmed: نامەیەک بە لینکی دووپاتکردنەوە نێردراوە بۆ ناونیشانی ئیمەیڵەکەت. تکایە دوای لینکەکە بکەوە بۆ کاراکردنی هەژمارەکەت. تکایە بوخچەی سپامەکەت بکەرەوە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
+      update_needs_confirmation: تۆ ئەژمێرەکەت بە سەرکەوتوویی نوێکردەوە، بەڵام پێویستە ئیمەیڵە نوێکەت بسەلمێنین. تکایە ئیمەیڵەکەت بپشکنە و دوای بەستەری دڵنیابوونەوە بکەوە بۆ دڵنیابوون لە ناونیشانی ئیمەیڵە نوێکەت. تکایە بوخچەی سپامەکەت بکەرەوە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
+      updated: هەژمارەکەت بە سەرکەوتوویی نوێکرایەوە.
+    sessions:
+      already_signed_out: چوونە دەرەوە بە سەرکەوتوویی ئەنجام بوو.
+      signed_in: بە سەرکەوتوویی چوونە ژوورەوە.
+      signed_out: چوونە دەرەوە بە سەرکەوتوویی ئەنجام بوو.
+    unlocks:
+      send_instructions: ئیمەیڵێکت بۆ دەنێردرێت لەگەڵ ڕێنمایی بۆ چۆنیەتی کردنەوەی هەژمارەکەت لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
+      send_paranoid_instructions: ئەگەر هەژمارەکەت بوونی هەبێت، ئیمەیڵێکت پێدەگات لەگەڵ ڕێنمایی چۆنیەتی کردنەوەی لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
+      unlocked: هەژمارەکەت بە سەرکەوتوویی لە قوفڵ لاچوو. تکایە بچۆ ژوورەوە بۆ بەردەوام بوون.
+  errors:
+    messages:
+      already_confirmed: پێشتر پشتڕاست کرایەوە، تکایە هەوڵ دەدە بچۆ ژوورەوە
+      confirmation_period_expired: پێویستە لە نێو %{period} دا پشتڕاست بکرێتەوە، تکایە داوای دانەیەکی نوێ بکە
+      expired: بەسەرچووە، تکایە داوایەکی نوێ بکە
+      not_found: نەدۆزرایەوە
+      not_locked: دانەخرابوو
+      not_saved:
+        one: '١ هەڵە قەدەغەکرا ئەم %{resource} لە تۆمارکردن:'
+        other: "%{count} هەڵەی قەدەغەکرد کە %{resource} لە پاشکەوتکردن:"
diff --git a/config/locales/devise.da.yml b/config/locales/devise.da.yml
index 9f5ef3b14..6e4d5ad62 100644
--- a/config/locales/devise.da.yml
+++ b/config/locales/devise.da.yml
@@ -3,8 +3,8 @@ da:
   devise:
     confirmations:
       confirmed: Din e-mail er nu bekræftet.
-      send_instructions: Du vil om få minutter modtage en e-mailvejledning til, hvordan du bekræfter din e-mailadresse. Tjek din spammappe, hvis du modtager denne e-mail.
-      send_paranoid_instructions: Findes din e-mailadresse allerede i vores database, vil du om få minutter modtage en e-mailvejledning til, hvordan du bekræfter din e-mailadresse. Tjek din spammappe, hvis du ikke modtager denne e-mail.
+      send_instructions: Du skulle om få minutter modtage en e-mailvejledning til, hvordan din e-mailadresse bekræftes. Tjek spammappen, hvis e-mailen ikke ser ud til at lande i indbakken.
+      send_paranoid_instructions: Findes din e-mailadresse allerede i vores database, skulle du om få minutter modtage en e-mailvejledning til, hvordan din e-mailadresse bekræftes. Tjek spammappen, hvis e-mailen ikke ser ud til at lande i indbakken.
     failure:
       already_authenticated: Du er allerede logget ind.
       inactive: Din konto er endnu ikke aktiveret.
@@ -12,46 +12,46 @@ da:
       last_attempt: Du har ét forsøg mere, før din konto bliver låst.
       locked: Din konto er låst.
       not_found_in_database: Ugyldig %{authentication_keys} eller adgangskode.
-      pending: Din konto er stadig under bedømmelse.
-      timeout: Din session udløb. Log ind igen for at fortsætte.
-      unauthenticated: Du skal logge ind eller tilmelde dig for at fortsætte.
-      unconfirmed: Du skal bekræfte din e-mailadresse for at fortsætte.
+      pending: Din konto er stadig under revision.
+      timeout: Session udløbet. Log ind igen for at fortsætte.
+      unauthenticated: Log ind eller tilmelde dig for at fortsætte.
+      unconfirmed: Bekræft din e-mailadresse for at fortsætte.
     mailer:
       confirmation_instructions:
         action: Bekræft e-mailadresse
         action_with_app: Bekræft og returnér til %{app}
-        explanation: Du har oprettet en konto på %{host} med denne e-mailadresse og er nu et klik fra at aktivere din konto. Har du ikke oprettet dig, så ignorér blot denne e-mail.
-        explanation_when_pending: Du ansøgte om en invitation til %{host} med denne e-mailadresse. Når du har bekræftet din e-mailadresse, gennemgår vi din ansøgning. Du kan logge ind for at ændre dine oplysninger eller slette din konto, men du kan ikke tilgå de fleste af funktionerne, før din konto er godkendt. Afvises din ansøgning, fjernes dine data, så ingen yderligere handling fra dig er nødvendig. Har du ikke ansøgt, så ignorér blot denne e-mail.
-        extra_html: Tjek også <a href="%{terms_path}">reglerne for serveren</a> samt <a href="%{policy_path}">vores tjenestevilkår</a>.
+        explanation: Du har oprettet en konto på %{host} med denne e-mailadresse og er nu ét klik fra at aktivere den. Har du ikke oprettet dig, så ignorér blot denne e-mail.
+        explanation_when_pending: Du har ansøgt om en invitation til %{host} med denne e-mailadresse. Når du har bekræftet adressen, gennemgås din ansøgning. Du kan logge ind for at ændre oplysninger eller slette kontoen, men hovedparten af funktionerne kan ikke tilgås, før kontoen er godkendt. Afvises ansøgningen, fjernes dine data, så ingen yderligere handling fra dig er nødvendig. Har du ikke ansøgt, så ignorér blot denne e-mail.
+        extra_html: Tjek også <a href="%{terms_path}">reglerne for serveren</a> samt <a href="%{policy_path}">gældende Tjenestevilkår</a>.
         subject: 'Mastodon: Bekræftelsesinstrukser for %{instance}'
         title: Bekræft e-mailadresse
       email_changed:
         explanation: 'Din kontos e-mailadressen ændres til:'
-        extra: Har du ikke selv skiftet din e-mailadresse, er det muligt, at nogen har fået adgang til din konto. Skift venligst din adgangskode med det samme eller kontakt serveradministratoren, hvis du er låst ude af din konto.
+        extra: Har du ikke selv skiftet din e-mailadresse, har nogen sandsynligvis opnået adgang til din konto. Skift derfor straks din adgangskode eller kontakt serveradministratoren, hvis du er låst ude af kontoen.
         subject: 'Mastodon: E-mail skiftet'
         title: Ny e-mailadresse
       password_change:
         explanation: Din kontoadgangskode er skiftet.
-        extra: Har du ikke selv ændret dim adgangskode, er det muligt, at nogen har fået adgang til din konto. Skift venligst din adgangskode med det samme eller kontakt serveradministratoren, hvis du er låst ude af din konto.
+        extra: Har du ikke selv skiftet din adgangskode, har nogen sandsynligvis opnået adgang til din konto. Skift derfor straks din adgangskode eller kontakt serveradministratoren, hvis du er låst ude af kontoen.
         subject: 'Mastodon: Adgangskode skiftet'
         title: Adgangskode skiftet
       reconfirmation_instructions:
         explanation: Bekræft den nye adresse for at skifte din e-mail.
-        extra: Er denne ændring ikke iværksat af dig, så ignorér denne e-mail. E-mailadressen til Mastodon-kontoen ændres ikke, før du tilgår linket ovenfor.
+        extra: Er denne ændring ikke foranlediget af dig, så ignorér denne e-mail. Mastodon-kontoens e-mailadresse skiftes ikke, før linket ovenfor benyttes.
         subject: 'Mastodon: Bekræft e-mail for %{instance}'
         title: Bekræft e-mailadresse
       reset_password_instructions:
         action: Skift adgangskode
         explanation: Du har anmodet om en ny kontoadgangskode.
-        extra: Har du ikke anmodet om dette, så ignorér denne e-mail. Din adgangskode skiftes først, når du via linket ovenfor har oprettet en ny.
+        extra: Har du ikke anmodet om dette, så ignorér denne e-mail. Din adgangskode skiftes først, når linket ovenfor er benyttet til at oprette en ny.
         subject: 'Mastodon: Nulstil adgangskode-instruktioner'
-        title: Adgangskode nulstillet
+        title: Adgangskodenulstilling
       two_factor_disabled:
         explanation: Tofaktorgodkendelse for din konto er blevet deaktiveret. Indlogning er nu kun mulig via email og adgangskode.
         subject: 'Mastodon: Tofaktorgodkendelse deaktiveret'
         title: 2FA deaktiveret
       two_factor_enabled:
-        explanation: Tofaktorgodkendelse er blevet aktiveret for din konto. Et token genereret af den parrede TOTP-app vil være nødvendig for at logge ind.
+        explanation: Tofaktorgodkendelse er blevet aktiveret for din konto. Et login-token genereret af den parrede TOTP-app vil være nødvendig.
         subject: 'Mastodon: Tofaktorgodkendelse aktiveret'
         title: 2FA aktiveret
       two_factor_recovery_codes_changed:
@@ -66,7 +66,7 @@ da:
           subject: 'Mastodon: Ny sikkerhedsnøgle'
           title: En ny sikkerhedsnøgle er tilføjet
         deleted:
-          explanation: Flg. sikkerhedsnøgle er slettet din konto
+          explanation: Flg. sikkerhedsnøgle er slettet fra din konto
           subject: 'Mastodon: Sikkerhedsnøgle slettet'
           title: En af dine sikkerhedsnøgler er blevet slettet
       webauthn_disabled:
@@ -81,9 +81,9 @@ da:
       failure: Kunne ikke godkende dig fra %{kind} fordi "%{reason}".
       success: Godkendt fra %{kind}-konto.
     passwords:
-      no_token: Du kan kun tilgå denne side via linket fra en adgangskodenulstillings e-mail. Kommer du fra en sådan e-mail, så sørg for at benytte den angivne, komplette URL.
-      send_instructions: Er din e-mail-adresse allerede registreret, e-mailer vi dig et link til adgangskodenulstilling. Tjek din spammappe, hvis du ikke ser e-mailen i din indbakke indenfor få minutter.
-      send_paranoid_instructions: Er din e-mail-adresse allerede registreret, e-mailer vi dig et link til adgangskodegendannelse. Tjek din spammappe, hvis du ikke ser e-mailen i din indbakke indenfor få minutter.
+      no_token: Denne side er kun tilgængelig via linket fra en adgangskodenulstillings e-mail. Husk i den forbindelse at benytte den fuldstændige URL fra e-mailen.
+      send_instructions: Er din e-mailadresse allerede registreret, e-mailes du et link til adgangskodenulstilling. Tjek spammappen, hvis e-mailen ikke ses i indbakken indenfor få minutter.
+      send_paranoid_instructions: Er din e-mail-adresse allerede registreret, e-mailes du et link til adgangskodegendannelse. Tjek spammappen, hvis e-mailen ikke ses i indbakken indenfor få minutter.
       updated: Din adgangskode er skiftet, og du er nu logget ind.
       updated_not_active: Din adgangskode er skiftet.
     registrations:
diff --git a/config/locales/devise.eo.yml b/config/locales/devise.eo.yml
index 7b6f6783b..1b7fbd198 100644
--- a/config/locales/devise.eo.yml
+++ b/config/locales/devise.eo.yml
@@ -6,7 +6,7 @@ eo:
       send_instructions: Vi ricevos retmesaĝon kun instrukcioj por konfirmi vian retadreson ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon.
       send_paranoid_instructions: Se via retadreso ekzistas en nia datumbazo, vi ricevos retmesaĝon kun instrukcioj por konfirmi vian retadreson ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon.
     failure:
-      already_authenticated: Vi jam ensalutis.
+      already_authenticated: Vi jam salutis.
       inactive: Via konto ankoraŭ ne estas konfirmita.
       invalid: Nevalida %{authentication_keys} aŭ pasvorto.
       last_attempt: Vi ankoraŭ povas provi unufoje antaŭ ol via konto estos ŝlosita.
@@ -96,16 +96,16 @@ eo:
       update_needs_confirmation: Vi sukcese ĝisdatigis vian konton, sed ni bezonas kontroli vian novan retadreson. Bonvolu kontroli viajn retmesaĝojn kaj sekvi la konfirman ligilon por konfirmi vian novan retadreson. Bonvolu kontroli vian spamujon, se vi ne ricevis ĉi tiun retmesaĝon.
       updated: Via konto estis sukcese ĝisdatigita.
     sessions:
-      already_signed_out: Sukcese elsalutis.
-      signed_in: Sukcese ensalutis.
-      signed_out: Sukcese elsalutis.
+      already_signed_out: Sukcese adiaŭis.
+      signed_in: Sukcese salutis.
+      signed_out: Sukcese adiaŭis.
     unlocks:
       send_instructions: Vi ricevos retmesaĝon kun instrukcioj por malŝlosi vian konton ene de kelkaj minutoj. Bonvolu kontroli vian spamujon, se vi ne ricevis ĉi tiun retmesaĝon.
       send_paranoid_instructions: Se via konto ekzistas, vi ricevos retmesaĝon kun instrukcioj por malŝlosi ĝin ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon.
       unlocked: Via konto estis sukcese malŝlosita. Bonvolu ensaluti por daŭrigi.
   errors:
     messages:
-      already_confirmed: jam estis konfirmita, bonvolu provi ensaluti
+      already_confirmed: jam estis konfirmita, bonvolu provi saluti
       confirmation_period_expired: devas esti konfirmita ene de %{period}, bonvolu peti denove
       expired: eksvalidiĝis, bonvolu peti denove
       not_found: ne estis trovita
diff --git a/config/locales/devise.kmr.yml b/config/locales/devise.kmr.yml
deleted file mode 100644
index 14528ff62..000000000
--- a/config/locales/devise.kmr.yml
+++ /dev/null
@@ -1,119 +0,0 @@
----
-kmr:
-  devise:
-    confirmations:
-      confirmed: Navnîşana te ya e-nameyê bi awayekî serkeftî hat piştrastkirin.
-      send_instructions: Çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêre.
-      send_paranoid_instructions: Heger navnîşana e-name ya te danegeha me de hebe çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêrin.
-    failure:
-      already_authenticated: Jixwe te berê têketin kiriye.
-      inactive: Ajimêra te hîn nehatiye çalakkirin.
-      invalid: Nederbasdar %{authentication_keys} an jî şîfre.
-      last_attempt: Peşiya kilît kirina ajimêra te carek din jî biceribîne.
-      locked: Ajimêra ye hat kilît kirin.
-      not_found_in_database: Nederbasdar %{authentication_keys} an jî şîfre.
-      pending: Ajimêra te hîn tê vekolandin.
-      timeout: Danişîna te qedîya. Ji kerema xwe ji bo berdewamiyê dîsa têkeve.
-      unauthenticated: Peşiya berdewamiya te têketina xwe bike an jî xwe tomar bike.
-      unconfirmed: Peşiya berdewamiyê, navnîşana e-name ya xwe bipejirîne.
-    mailer:
-      confirmation_instructions:
-        action: Navnîşana e-nameyê piştrast bike
-        action_with_app: Piştrast bike û vegere bo %{app}
-        explanation: Te li ser %{host} ajimêrek çê kiriye bi navnîşana vê e-nameyê re. Tu ji çalakkirina wê bi tikandinekê dûr î. Heke ev ne tu bûya, ji kerema xwe guh nede vê e-nameyê.
-        explanation_when_pending: |-
-          Te bi vê navnîşana e -nameyê serlêdana vexwendina %{host} kir. Gava ku tu navnîşana e-nameya xwe piştrast bikî, em ê serlêdana te binirxînin. Tu dikarî têkevî da ku hûrguliyên xwe biguherînî an ajimêra xwe jê bibî, lê heya ku ajimêra te neyê pejirandin tu nekarî piraniya fonksiyonan bi kar bînî
-           Heke serlêdana te werê red kirin, dê daneyên te werin jêbirin, ji ber vê yekê çalakîyek din ji te nayê xwestin. Heke ev ne tu bû, ji kerema xwe guh nede vê e-nameyê.
-        extra_html: Jkx vê jî kontrol bike <a href="%{terms_path}"> rêbazên rajekar</a> û <a href="%{policy_path}">mercên me yên karûbaran</a>.
-        subject: 'Mastodon: ji bo %{instance} pejirandinê rêwerzan'
-        title: Navnîşana e-nameyê piştrast bike
-      email_changed:
-        explanation: 'Navnîşana e-nameyê ajimêra te hate guhertin bo:'
-        extra: Heke te ajimêra xwe ne guhertiye. Ew tê wateya ku kesek ketiye ajimêrê te. Jkx pêborîna xwe zû biguherîne an jî bi rêveberiya rajekar re têkeve têkiliyê heke tu êdî nikare ajimêra xwe bi kar bînî.
-        subject: 'Mastodon: E-name hate guhertin'
-        title: Navnîşana e-nameya nû
-      password_change:
-        explanation: Pêborîna ajimêra te hate guhertin.
-        extra: Heke te ajimêra xwe ne guhertiye. Ew tê wateya ku kesek ketiye ajimêrê te. Jkx pêborîna xwe zû biguherîne an jî bi rêveberiya rajekar re têkeve têkiliyê heke tu êdî nikare ajimêra xwe bi kar bînî.
-        subject: 'Mastodon: pêborîn hate guhertin'
-        title: Pêborîn hate guhertin
-      reconfirmation_instructions:
-        explanation: Navnîşana nû piştrast bike da ku tu e-nameya xwe biguherînî.
-        extra: |-
-          Heke ev daxwaz ji aliyê te de nehate pêkanîn, jkx guh nede vê e-nameyê
-           Navnîşana e-nameyê bo ajimêra Mastodon wê tu guhertin pêk neyîne heya ku tu li girêdana Jêrin bitikînî.
-        subject: 'Mastodon: E-nameyê piştrast bike bo %{instance}'
-        title: Navnîşana e-nameyê piştrast bike
-      reset_password_instructions:
-        action: Pêborînê biguherîne
-        explanation: Te ji bo ajimêra xwe daxwaza pêborîneke nû kiriye.
-        extra: Heke te ev daxwaz nekir, jkx guh nede vê e-nameyê. Pêborîna te wê neyê guhertin heya ku tu li girêdana Jêrin bitikînî û yeka nû çê bikî.
-        subject: 'Mastodon: rêwerzên jê birina pêborîn'
-        title: Pêborîn ji nû ve saz bike
-      two_factor_disabled:
-        explanation: Ji bo ajimêrê te piştrastkirina du-faktorî hat asteng kirin. Niha tu tenê bi navnîşana e-name û şîfre ya xwe dikarî têketin bikî.
-        subject: 'Mastodon: piştrastkirina du- faktorî neçalak bike'
-        title: 2FA Neçalak e
-      two_factor_enabled:
-        explanation: Piştrastkirinê du-faktorî ya ajimêrê te hat çalak kirin. Ji bo têketinê ji alî sepanê cotkirî TOTP ve hewceyî nîşanderek heye.
-        subject: 'Mastodon: piştrastkirina du-faktorî hat çalak kirin'
-        title: 2FA Çalak e
-      two_factor_recovery_codes_changed:
-        explanation: Kodên paşve hatiye rizgarkirin betal bû û yên nû hat çêkirin.
-        subject: 'Mastodon: kodên rizgarkirî ên du-faktorî dîsa hat avakirin'
-        title: Kodê 2FA ya rizgarkirinê hatine guhertin
-      unlock_instructions:
-        subject: 'Mastodon: kilîdê rêwerzan veke'
-      webauthn_credential:
-        added:
-          explanation: Kilîta ewlehiyê jêrîn li ajimêra te hate tevlîkirin
-          subject: Kilîta ewlehiyê ya nû
-          title: Kilîta ewlehiyê ya nû hate tevlîkirin
-        deleted:
-          explanation: Kilîta ewlehiyê jêrîn li ajimêra te hate jêbirin
-          subject: 'Mastodon: Kilîta ewlehiyê hate jêbirin'
-          title: Yek ji kilîta ewlehiyê yên te hate jêbirin
-      webauthn_disabled:
-        explanation: Rastandina kilîta ewlehiyê hate çalakkirin bo ajimêra te. kilîta te ya ewlehiyê niha bo têketinê dikarê bê karanîn. Têketin niha gengaz e ku mirov tenê nîşana ku ji hêla sepana cotkirî ya TOTP ve hatî avakirin bi kar bîne.
-        subject: 'Mastodon: Rastandin bi kilîta ewlehiyê re nehate çalakirin'
-        title: Kilîta ewlehiyê neçalak e
-      webauthn_enabled:
-        explanation: Rastandina kilîta ewlehiyê hate çalakkirin bo ajimêra te. kilîta te ya ewlehiyê niha bo têketinê dikarê bê karanîn.
-        subject: 'Mastodon: Rastandina kilîta ewlehiyê hate çalakkirin'
-        title: Kilîta ewlehiyê çalak e
-    omniauth_callbacks:
-      failure: Nikare ji %{kind} rastandinê bikê ji bo " %{reason}".
-      success: Ji ajimêra %{kind} bi serkeftî hate rastandin.
-    passwords:
-      no_token: Tu nikarî xwe bigihînî vê rûpelê bêyî ku tu ji e-nameya ji nû ve sazkirina pêborînê wernegerî. Heke tu ji e-nameya ji nû ve sazkirina pêborînê tê, ji kerema xwe pê ewle be ku tu girêdanê ya tevahî bi kar tînî.
-      send_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike.
-      send_paranoid_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî di hundir çend xulkan de. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike.
-      updated: Pêborîna te bi serkeftî hate guhertin. Niha tu têketî ye.
-      updated_not_active: Pêborîna te bi serkeftî hate guhertin.
-    registrations:
-      destroyed: Xatirê te! Ajimêra te bi serkeftî hate pûçkirin. Em hêvî dikin ku tu di nêzîk de te dîsa bibînin.
-      signed_up: Bi xêr hatî! Te bi serkeftî tomarkirin kir.
-      signed_up_but_inactive: Te bi serkeftî tomarkirin kir. lê piştî ku tu çalak bikî em dikarin ku tu têketinê bikî.
-      signed_up_but_locked: Te bi serkeftî tomarkirin kir. lê ajimêra te girtiye ber wê tu nikarî ku têketinê bikî.
-      signed_up_but_pending: Peyamek bi girêda pejirandinê ji navnîşana e-nameya te re hate şandin. Piştî ku tu girêdanê bitikînî, em ê serlêdana te binirxînin. Heke werê pejirandin tu yê bê agahdarkirin.
-      signed_up_but_unconfirmed: Peyamek bi girêda pejirandinê ji navnîşana e-nameya te re hate şandin. Ji kerema xwe girêdanê bişopîne da ku tu ajimêra xwe çalak bikî. Ji kerema xwe heke te ev e-name nestand peldanka spama xwe kontrol bike.
-      update_needs_confirmation: Te ajimêra xwe bi awayekî serkeftî rojane kir, lê pêdiviya me bi kontrolkirina navnîşana e -nameya te ya nû heye. Ji kerema xwe e -nameya xwe kontrol bike û girêdana piştrastkirinê bişopîne da ku navnîşana e -nameya xwe ya nû piştrast bikî. Ji kerema xwe heke te ev e -name nestand peldanka spama xwe kontrol bike.
-      updated: Ajimêra te bi awayekî serkeftî hate rojanekirin.
-    sessions:
-      already_signed_out: Derketina te serkeftî bû.
-      signed_in: Têketina te serkeftî bû.
-      signed_out: Derketina te serkeftî bû.
-    unlocks:
-      send_instructions: Çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêrin.
-      send_paranoid_instructions: Hek ajimêra te hebe, tu yê e-nameyeke bi zanyariyan bistînî ka mirov çawa di çend xulekan de ajimêr vedikê. Ji kerema xwe heke te ev e-name nestand peldanka spama xwe kontrol bike.
-      unlocked: Ajimêra te bi serkeftî vebû. Ji kerema xwe têkeve da ku tu bidomînî.
-  errors:
-    messages:
-      already_confirmed: jixwe hate pejirandin, ji kerema xwe têketinê biceribîne
-      confirmation_period_expired: pêdivî ye ku di nav %{period} de werê pejirandin, ji kerema xwe yeka nû bixwaze
-      expired: qediya ye, ji kerema xwe yeka nû bixwaze
-      not_found: nehate dîtin
-      not_locked: ne girtî bû
-      not_saved:
-        one: '1 çewtî nehişt ku %{resource} werê tomarkirin:'
-        other: "%{count} çewtî nehişt ku %{resource} werê tomarkirin:"
diff --git a/config/locales/devise.ku.yml b/config/locales/devise.ku.yml
index 64c305681..9ae76dab2 100644
--- a/config/locales/devise.ku.yml
+++ b/config/locales/devise.ku.yml
@@ -2,114 +2,118 @@
 ku:
   devise:
     confirmations:
-      confirmed: ناونیشانی ئیمەیڵەکەت بە سەرکەوتوویی پشتڕاستکرایەوە.
-      send_instructions: ئیمەیڵێکت بۆ دەنێردرێت لەگەڵ ڕێنمایی بۆ چۆنیەتی دڵنیابوون لە ناونیشانی ئیمەیلەکەت لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت چاولێبکە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
-      send_paranoid_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، ئیمەیڵێکت پێدەگات لەگەڵ ڕێنماییەکانی چۆنیەتی دڵنیابوون لە ناونیشانی ئیمەیلەکەت لە چەند خولەکێکدا. تکایە بۆخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
+      confirmed: Navnîşana te ya e-nameyê bi awayekî serkeftî hat piştrastkirin.
+      send_instructions: Çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêre.
+      send_paranoid_instructions: Heger navnîşana e-name ya te danegeha me de hebe çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêrin.
     failure:
-      already_authenticated: تۆ پێشتر چوونە ژوورەوەت کردووە.
-      inactive: هەژمارەکەت هێشتا کارا نەکراوە.
-      invalid: "%{authentication_keys} یان نهێنوشە نادروستە."
-      last_attempt: تۆ یەک هەوڵیدیکەت ماوە پێش ئەوەی ئەژمێرەکەت قوفڵ بێت.
-      locked: هەژمارەکت داخراوە.
-      not_found_in_database: "%{authentication_keys} یان نهێنوشە نادروستە."
-      pending: هەژمێرەکەت هێشتا لەژێر پێداچوونەوەدایە.
-      timeout: کۆبوونەوەکەت بەسەرچووە. تکایە دووبارە بچۆ ژوورەوە بۆ بەردەوام بوون.
-      unauthenticated: پێویستە بچیتە ژوورەوە یان بچیتە ناو چوونە ناو پێش بەردەوام بوون.
-      unconfirmed: دەبێت ناونیشانی ئیمەیڵەکەت پشتڕاست بکەیتەوە پێش بەردەوام بوون.
+      already_authenticated: Jixwe te berê têketin kiriye.
+      inactive: Ajimêra te hîn nehatiye çalakkirin.
+      invalid: Nederbasdar %{authentication_keys} an jî şîfre.
+      last_attempt: Peşiya kilît kirina ajimêra te carek din jî biceribîne.
+      locked: Ajimêra ye hat kilît kirin.
+      not_found_in_database: Nederbasdar %{authentication_keys} an jî şîfre.
+      pending: Ajimêra te hîn tê vekolandin.
+      timeout: Danişîna te qedîya. Ji kerema xwe ji bo berdewamiyê dîsa têkeve.
+      unauthenticated: Peşiya berdewamiya te têketina xwe bike an jî xwe tomar bike.
+      unconfirmed: Peşiya berdewamiyê, navnîşana e-name ya xwe bipejirîne.
     mailer:
       confirmation_instructions:
-        action: ناونیشانی ئیمەیڵ ساخ بکەرەوە
-        action_with_app: پشتڕاستی بکەوە و بگەڕێوە بۆ %{app}
-        explanation: ئەژمێرێکت دروست کردووە لەسەر %{host} بەم ناونیشانی ئیمەیڵە. تۆ یەک کرتە دووریت لە کاراکردنی. ئەگەر ئەمە تۆ نەبووی، تکایە ئەم ئیمەیڵە فەرامۆش بکە.
-        explanation_when_pending: تۆ داوای بانگهێشتت کرد بۆ %{host} بەم ناونیشانی ئیمەیڵە. هەر کە دڵنیایی لە ناونیشانی ئیمەیڵەکەت دەکەیت، ئێمە پێداچوونەوە دەکەین بە بەرنامەکەتدا. دەتوانیت بچیت بۆ چوونە ژوورەوە بۆ گۆڕینی ووردەکاریەکانت یان سڕینەوەی هەژمارەکەت، بەڵام ناتوانیت دەستگەیشتنت هەبێت بە زۆربەی ئەرکەکان تا ئەژمێرەکەت پەسەند ناکرێت. ئەگەر کاربەرنامەکەت ڕەتکرایەوە، داتاکەت لادەبرێت، بۆیە پێویست بە کاری زیاتر لە تۆ ناکرێت. ئەگەر ئەمە تۆ نەبووی، تکایە ئەم ئیمەیڵە فەرامۆش بکە.
-        extra_html: تکایە تێڕوانە لە <a href="%{terms_path}"> ڕێساکانی ڕاژەکار</a> و <a href="%{policy_path}"> مەرجەکانی خزمەتگوزاری</a>.
-        subject: 'ماستۆدۆن: ڕێنماییەکانی پشتڕاستکردنەوە بۆ %{instance}'
-        title: ناونیشانی ئیمەیڵ ساخ بکەرەوە
+        action: Navnîşana e-nameyê piştrast bike
+        action_with_app: Piştrast bike û vegere bo %{app}
+        explanation: Te li ser %{host} ajimêrek çê kiriye bi navnîşana vê e-nameyê re. Tu ji çalakkirina wê bi tikandinekê dûr î. Heke ev ne tu bûya, ji kerema xwe guh nede vê e-nameyê.
+        explanation_when_pending: |-
+          Te bi vê navnîşana e -nameyê serlêdana vexwendina %{host} kir. Gava ku tu navnîşana e-nameya xwe piştrast bikî, em ê serlêdana te binirxînin. Tu dikarî têkevî da ku hûrguliyên xwe biguherînî an ajimêra xwe jê bibî, lê heya ku ajimêra te neyê pejirandin tu nekarî piraniya fonksiyonan bi kar bînî
+           Heke serlêdana te werê red kirin, dê daneyên te werin jêbirin, ji ber vê yekê çalakîyek din ji te nayê xwestin. Heke ev ne tu bû, ji kerema xwe guh nede vê e-nameyê.
+        extra_html: Jkx vê jî kontrol bike <a href="%{terms_path}"> rêbazên rajekar</a> û <a href="%{policy_path}">mercên me yên karûbaran</a>.
+        subject: 'Mastodon: ji bo %{instance} pejirandinê rêwerzan'
+        title: Navnîşana e-nameyê piştrast bike
       email_changed:
-        explanation: 'ناونیشانی ئیمەیڵەکەی ئەژمێرەکەت دەگۆڕدرێت بۆ:'
-        extra: ئەگەر ئیمەیلەکەت نەگۆڕیت، لەوانەیە کەسێک دەستگەیشتنی بۆ هەژمارەکەت بەدەست بێت. تکایە تێپەڕوشەکەت بگۆڕە دەستبەجێ یان پەیوەندی بکە بە بەڕێوەبەری ڕاژەوە ئەگەر تۆ لە هەژمارەکەت داخرایت.
-        subject: 'ماستۆدۆن: ئیمەیڵ گۆڕا'
-        title: ناونیشانی ئیمەیڵی نوێ
+        explanation: 'Navnîşana e-nameyê ajimêra te hate guhertin bo:'
+        extra: Heke te ajimêra xwe ne guhertiye. Ew tê wateya ku kesek ketiye ajimêrê te. Jkx pêborîna xwe zû biguherîne an jî bi rêveberiya rajekar re têkeve têkiliyê heke tu êdî nikare ajimêra xwe bi kar bînî.
+        subject: 'Mastodon: E-name hate guhertin'
+        title: Navnîşana e-nameya nû
       password_change:
-        explanation: تێپەڕوشە بۆ هەژمارەکەت گۆڕاوە.
-        extra: ئەگەر تێپەڕوشەکەت نەگۆڕی، وا دیارە کەسێک دەستگەیشتنی بۆ هەژمارەکەت بەدەست بێت. تکایە تێپەڕوسيکەت بگۆڕە دەستبەجێ یان پەیوەندی بکە بە بەڕێوەبەری ڕاژە ئەگەر تۆ لە هەژمارەکەت داخرایت.
-        subject: 'ماستۆدۆن: تێپەڕوشە گۆڕدرا'
-        title: تێپەڕوشە گۆڕدرا
+        explanation: Pêborîna ajimêra te hate guhertin.
+        extra: Heke te ajimêra xwe ne guhertiye. Ew tê wateya ku kesek ketiye ajimêrê te. Jkx pêborîna xwe zû biguherîne an jî bi rêveberiya rajekar re têkeve têkiliyê heke tu êdî nikare ajimêra xwe bi kar bînî.
+        subject: 'Mastodon: pêborîn hate guhertin'
+        title: Pêborîn hate guhertin
       reconfirmation_instructions:
-        explanation: دڵنیابوون لە ناونیشانی نوێ بۆ گۆڕینی ئیمەیڵەکەت.
-        extra: ئەگەر ئەم گۆڕانکاریە لەلایەن تۆوە دەست پێنەکراوە، تکایە ئەم ئیمەیڵە فەرامۆش بکە. ناونیشانی ئیمەیڵ بۆ هەژمێری ماستۆدۆن ناگۆڕێ هەتا ئەو کاتەی دەستپێگەیشتنی ئەم لینکەت لە سەرەوە نیە.
-        subject: 'ماستۆدۆن: دووپاتی ئیمەیل بۆ %{instance}'
-        title: ناونیشانی ئیمەیڵ ساخ بکەرەوە
+        explanation: Navnîşana nû piştrast bike da ku tu e-nameya xwe biguherînî.
+        extra: |-
+          Heke ev daxwaz ji aliyê te de nehate pêkanîn, jkx guh nede vê e-nameyê
+           Navnîşana e-nameyê bo ajimêra Mastodon wê tu guhertin pêk neyîne heya ku tu li girêdana Jêrin bitikînî.
+        subject: 'Mastodon: E-nameyê piştrast bike bo %{instance}'
+        title: Navnîşana e-nameyê piştrast bike
       reset_password_instructions:
-        action: گۆڕینی تێپەڕوشە
-        explanation: تۆ تیپەڕوشەی نوێت داوا کرد بۆ هەژمارەکەت.
-        extra: ئەگەر ئەم داواکاریەت نەکرد، تکایە ئەم ئیمەیڵە فەرامۆش بکە. تێپەڕوشەکەت ناگۆڕێ هەتا نەچیتە ناو لینکی سەرەوە و دانەیەکی نوێ دروست بکەیت.
-        subject: 'ماستۆدۆن: رێکردنەوەی رێنماییەکانی تێپەڕوشە'
-        title: گەڕانەوەی تێپەڕوشە
+        action: Pêborînê biguherîne
+        explanation: Te ji bo ajimêra xwe daxwaza pêborîneke nû kiriye.
+        extra: Heke te ev daxwaz nekir, jkx guh nede vê e-nameyê. Pêborîna te wê neyê guhertin heya ku tu li girêdana Jêrin bitikînî û yeka nû çê bikî.
+        subject: 'Mastodon: rêwerzên jê birina pêborîn'
+        title: Pêborîn ji nû ve saz bike
       two_factor_disabled:
-        explanation: سەلماندنی دوو-فاکتەر بۆ هەژمارەکەت کە لە کارخراوە. چوونەژوورەوە ئێستا دەکرێت تەنها ناونیشانی ئیمەیڵ و تێپەڕوشەکەت بەکاربهێنی.
-        subject: 'ماستۆدۆن: سەلماندنی دوو-فاکتەری ناچالاک کراوە'
-        title: 2FA ناچالاک کرا
+        explanation: Ji bo ajimêrê te piştrastkirina du-faktorî hat asteng kirin. Niha tu tenê bi navnîşana e-name û şîfre ya xwe dikarî têketin bikî.
+        subject: 'Mastodon: piştrastkirina du- faktorî neçalak bike'
+        title: 2FA Neçalak e
       two_factor_enabled:
-        explanation: سەلماندنی دوو-فاکتەر بۆ هەژمارەکەت چالاک کراوە. ئاماژەیەک کە لەلایەن نەرمەکالایTOTP جووتکراو دروست کراوە پێویستە بە چوونە ژوورەوە.
-        subject: 'ماستۆدۆن: سەلماندنی دوو-فاکتەری چالاک کراوە'
-        title: 2FA چالاک کرا
+        explanation: Piştrastkirinê du-faktorî ya ajimêrê te hat çalak kirin. Ji bo têketinê ji alî sepanê cotkirî TOTP ve hewceyî nîşanderek heye.
+        subject: 'Mastodon: piştrastkirina du-faktorî hat çalak kirin'
+        title: 2FA Çalak e
       two_factor_recovery_codes_changed:
-        explanation: کۆدەکانی چاککردنەوەی پێشوو هەڵوەشێنرانەوە و، نوێکان دروست بوون.
-        subject: 'ماستۆدۆن: کۆدەکانی گەڕانەوەی دوو فاکتەر، دووبارە دروست دەکرێتەوە'
-        title: 2FA کۆدی چاککردنەوە گۆڕا
+        explanation: Kodên paşve hatiye rizgarkirin betal bû û yên nû hat çêkirin.
+        subject: 'Mastodon: kodên rizgarkirî ên du-faktorî dîsa hat avakirin'
+        title: Kodê 2FA ya rizgarkirinê hatine guhertin
       unlock_instructions:
-        subject: 'ماستۆدۆن: رێنماییەکان بکەرەوە'
+        subject: 'Mastodon: kilîdê rêwerzan veke'
       webauthn_credential:
         added:
-          explanation: کلیلی ئاسایشی خوارەوە زیادکرا بۆ هەژمارەکەت
-          subject: 'ماستۆدۆن: کلیلی ئاسایشی نوێ'
-          title: کلیلی پاراستنی نوێ زیادکرا
+          explanation: Kilîta ewlehiyê jêrîn li ajimêra te hate tevlîkirin
+          subject: Kilîta ewlehiyê ya nû
+          title: Kilîta ewlehiyê ya nû hate tevlîkirin
         deleted:
-          explanation: کلیلی ئاسایشی خوارەوە لە هەژمارەکەت سڕایەوە
-          subject: 'ماستۆدۆن: کلیلی پاراستن سڕایەوە'
-          title: کلیلە کانی پاراستنی یەکێک لە ئێوە سڕایەوە
+          explanation: Kilîta ewlehiyê jêrîn li ajimêra te hate jêbirin
+          subject: 'Mastodon: Kilîta ewlehiyê hate jêbirin'
+          title: Yek ji kilîta ewlehiyê yên te hate jêbirin
       webauthn_disabled:
-        explanation: سەلماندن بە کلیلەپارێزراوەکان لە کارخراوە بۆ هەژمارەکەت. چوونەژوورەوە ئێستا دەکرێت تەنها ئەو نیشانەیە بەکاربێنیت کە لەلایەن نەرمەکالایTOTP دروست کراوە.
-        subject: 'ماستۆدۆن: سەلماندن لەگەڵ کلیلە پاسایشی ناچالاک کراوە'
-        title: کلیلە پارستنەکان ناچالاک کراون
+        explanation: Rastandina kilîta ewlehiyê hate çalakkirin bo ajimêra te. kilîta te ya ewlehiyê niha bo têketinê dikarê bê karanîn. Têketin niha gengaz e ku mirov tenê nîşana ku ji hêla sepana cotkirî ya TOTP ve hatî avakirin bi kar bîne.
+        subject: 'Mastodon: Rastandin bi kilîta ewlehiyê re nehate çalakirin'
+        title: Kilîta ewlehiyê neçalak e
       webauthn_enabled:
-        explanation: سەلماندنی کلیلی ئاسایش چالاک کراوە بۆ هەژمارەکەت. ئێستا کلیلی پاراستن دەتوانرێت بۆ چوونە ژوورەوە بەکار بێت.
-        subject: 'ماستۆدۆن: سەلماندنی کلیلی پاراستن چالاک کراوە'
-        title: کلیلە کانی پاراستن چالاک کرا
+        explanation: Rastandina kilîta ewlehiyê hate çalakkirin bo ajimêra te. kilîta te ya ewlehiyê niha bo têketinê dikarê bê karanîn.
+        subject: 'Mastodon: Rastandina kilîta ewlehiyê hate çalakkirin'
+        title: Kilîta ewlehiyê çalak e
     omniauth_callbacks:
-      failure: نەیتوانی ڕەسەنایە تی %{kind} بتەوبکات لەبەرئەوەی "%{reason}".
-      success: سەرکەوتووانە لە هەژماری %{kind} سەلمێنرا.
+      failure: Nikare ji %{kind} rastandinê bikê ji bo " %{reason}".
+      success: Ji ajimêra %{kind} bi serkeftî hate rastandin.
     passwords:
-      no_token: ناتوانیت دەستگەیشتنت هەبێت بەم لاپەڕەیە بەبێ ئەوەی لە ئیمەیڵێکی گەڕانەوەی تێپەڕوشەت بێت. ئەگەر لە ئیمەیڵێکیگەڕانەوەی تێپەڕوشە هاتوویت، تکایە دڵنیابە لەوەی کە URLی تەواوت بەکارهێناوە کە دابینکراوە.
-      send_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، لە چەند خولەکێکی کەمدا لینکی هێنانەوەی تێپەڕوشە لە ناونیشانی ئیمەیلەکەت پێ دەگات. تکایە بوخچەی سپامەکەت بکەرەوە، ئەگەر ئەم ئیمەیڵەت پێنەدرا.
-      send_paranoid_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، لە چەند خولەکێکی کەمدا لینکی هێنانەوەی تێپەڕوشە لە ناونیشانی ئیمەیلەکەت پێ دەگات. تکایە بوخچەی سپامەکەت بکەرەوە، ئەگەر ئەم ئیمەیڵەت پێنەدرا.
-      updated: تێپەڕوشەکەت بە سەرکەوتوویی گۆڕدرا. تۆ ئێستاچوویتە ژوورەوە.
-      updated_not_active: تێپەڕوشەکەت بە سەرکەوتوویی گۆڕدرا.
+      no_token: Tu nikarî xwe bigihînî vê rûpelê bêyî ku tu ji e-nameya ji nû ve sazkirina pêborînê wernegerî. Heke tu ji e-nameya ji nû ve sazkirina pêborînê tê, ji kerema xwe pê ewle be ku tu girêdanê ya tevahî bi kar tînî.
+      send_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike.
+      send_paranoid_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî di hundir çend xulkan de. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike.
+      updated: Pêborîna te bi serkeftî hate guhertin. Niha tu têketî ye.
+      updated_not_active: Pêborîna te bi serkeftî hate guhertin.
     registrations:
-      destroyed: خوات لەگەڵ! ئەژمێرەکەت بە سەرکەوتوویی هەڵوەشێنرایەوە. هیوادارین بەزوویی بتبینینەوە.
-      signed_up: بەخێربێیت! تۆ بە سەرکەوتوویی تۆمار کرای.
-      signed_up_but_inactive: تۆ بە سەرکەوتوویی تۆمارکرای. هەرچۆنێک بێت، نەمانتوانی چوونە ژوورەوەت بۆ بکەین لەبەرئەوەی هێشتا هەژمارەکەت کارا نەکراوە.
-      signed_up_but_locked: تۆ بە سەرکەوتوویی تۆمارکرای. هەرچۆنێک بێت، نەمانتوانی چوونە ژوورەوەت بۆ بکەین لەبەرئەوەی هێشتا هەژمارەکەت قوفڵ کراوە.
-      signed_up_but_pending: نامەیەک بە لینکی دووپاتکردنەوە نێردراوە بۆ ناونیشانی ئیمەیڵەکەت. دوای ئەوەی تۆ کرتە لەسەر لینکەکە دەکەیت، ئێمە پێداچوونەوە دەکەین بە بەرنامەکەتدا. ئاگادار دەکرێیت ئەگەر پەسەند کرا.
-      signed_up_but_unconfirmed: نامەیەک بە لینکی دووپاتکردنەوە نێردراوە بۆ ناونیشانی ئیمەیڵەکەت. تکایە دوای لینکەکە بکەوە بۆ کاراکردنی هەژمارەکەت. تکایە بوخچەی سپامەکەت بکەرەوە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
-      update_needs_confirmation: تۆ ئەژمێرەکەت بە سەرکەوتوویی نوێکردەوە، بەڵام پێویستە ئیمەیڵە نوێکەت بسەلمێنین. تکایە ئیمەیڵەکەت بپشکنە و دوای بەستەری دڵنیابوونەوە بکەوە بۆ دڵنیابوون لە ناونیشانی ئیمەیڵە نوێکەت. تکایە بوخچەی سپامەکەت بکەرەوە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
-      updated: هەژمارەکەت بە سەرکەوتوویی نوێکرایەوە.
+      destroyed: Xatirê te! Ajimêra te bi serkeftî hate pûçkirin. Em hêvî dikin ku tu di nêzîk de te dîsa bibînin.
+      signed_up: Bi xêr hatî! Te bi serkeftî tomarkirin kir.
+      signed_up_but_inactive: Te bi serkeftî tomarkirin kir. lê piştî ku tu çalak bikî em dikarin ku tu têketinê bikî.
+      signed_up_but_locked: Te bi serkeftî tomarkirin kir. lê ajimêra te girtiye ber wê tu nikarî ku têketinê bikî.
+      signed_up_but_pending: Peyamek bi girêda pejirandinê ji navnîşana e-nameya te re hate şandin. Piştî ku tu girêdanê bitikînî, em ê serlêdana te binirxînin. Heke werê pejirandin tu yê bê agahdarkirin.
+      signed_up_but_unconfirmed: Peyamek bi girêda pejirandinê ji navnîşana e-nameya te re hate şandin. Ji kerema xwe girêdanê bişopîne da ku tu ajimêra xwe çalak bikî. Ji kerema xwe heke te ev e-name nestand peldanka spama xwe kontrol bike.
+      update_needs_confirmation: Te ajimêra xwe bi awayekî serkeftî rojane kir, lê pêdiviya me bi kontrolkirina navnîşana e -nameya te ya nû heye. Ji kerema xwe e -nameya xwe kontrol bike û girêdana piştrastkirinê bişopîne da ku navnîşana e -nameya xwe ya nû piştrast bikî. Ji kerema xwe heke te ev e -name nestand peldanka spama xwe kontrol bike.
+      updated: Ajimêra te bi awayekî serkeftî hate rojanekirin.
     sessions:
-      already_signed_out: چوونە دەرەوە بە سەرکەوتوویی ئەنجام بوو.
-      signed_in: بە سەرکەوتوویی چوونە ژوورەوە.
-      signed_out: چوونە دەرەوە بە سەرکەوتوویی ئەنجام بوو.
+      already_signed_out: Derketina te serkeftî bû.
+      signed_in: Têketina te serkeftî bû.
+      signed_out: Derketina te serkeftî bû.
     unlocks:
-      send_instructions: ئیمەیڵێکت بۆ دەنێردرێت لەگەڵ ڕێنمایی بۆ چۆنیەتی کردنەوەی هەژمارەکەت لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
-      send_paranoid_instructions: ئەگەر هەژمارەکەت بوونی هەبێت، ئیمەیڵێکت پێدەگات لەگەڵ ڕێنمایی چۆنیەتی کردنەوەی لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا.
-      unlocked: هەژمارەکەت بە سەرکەوتوویی لە قوفڵ لاچوو. تکایە بچۆ ژوورەوە بۆ بەردەوام بوون.
+      send_instructions: Çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêrin.
+      send_paranoid_instructions: Hek ajimêra te hebe, tu yê e-nameyeke bi zanyariyan bistînî ka mirov çawa di çend xulekan de ajimêr vedikê. Ji kerema xwe heke te ev e-name nestand peldanka spama xwe kontrol bike.
+      unlocked: Ajimêra te bi serkeftî vebû. Ji kerema xwe têkeve da ku tu bidomînî.
   errors:
     messages:
-      already_confirmed: پێشتر پشتڕاست کرایەوە، تکایە هەوڵ دەدە بچۆ ژوورەوە
-      confirmation_period_expired: پێویستە لە نێو %{period} دا پشتڕاست بکرێتەوە، تکایە داوای دانەیەکی نوێ بکە
-      expired: بەسەرچووە، تکایە داوایەکی نوێ بکە
-      not_found: نەدۆزرایەوە
-      not_locked: دانەخرابوو
+      already_confirmed: jixwe hate pejirandin, ji kerema xwe têketinê biceribîne
+      confirmation_period_expired: pêdivî ye ku di nav %{period} de werê pejirandin, ji kerema xwe yeka nû bixwaze
+      expired: qediya ye, ji kerema xwe yeka nû bixwaze
+      not_found: nehate dîtin
+      not_locked: ne girtî bû
       not_saved:
-        one: '١ هەڵە قەدەغەکرا ئەم %{resource} لە تۆمارکردن:'
-        other: "%{count} هەڵەی قەدەغەکرد کە %{resource} لە پاشکەوتکردن:"
+        one: '1 çewtî nehişt ku %{resource} werê tomarkirin:'
+        other: "%{count} çewtî nehişt ku %{resource} werê tomarkirin:"
diff --git a/config/locales/devise.zh-CN.yml b/config/locales/devise.zh-CN.yml
index ef09b0d03..072d4bc8d 100644
--- a/config/locales/devise.zh-CN.yml
+++ b/config/locales/devise.zh-CN.yml
@@ -9,10 +9,10 @@ zh-CN:
       already_authenticated: 你已登录。
       inactive: 你还没有激活帐户。
       invalid: "%{authentication_keys} 无效或密码错误。"
-      last_attempt: 你只有最后一次尝试机会,若未通过,帐号将被锁定。
+      last_attempt: 你只有最后一次尝试机会,若未通过,账号将被锁定。
       locked: 你的帐户已被锁定。
       not_found_in_database: "%{authentication_keys}或密码错误。"
-      pending: 你的帐号仍在审核中。
+      pending: 你的账号仍在审核中。
       timeout: 你的会话已过期。请重新登录再继续操作。
       unauthenticated: 继续操作前请注册或者登录。
       unconfirmed: 你必须先确认你的电子邮件地址才能继续。
@@ -20,7 +20,7 @@ zh-CN:
       confirmation_instructions:
         action: 验证电子邮件地址
         action_with_app: 确认并返回%{app}
-        explanation: 你在 %{host} 上使用此电子邮箱地址创建了一个帐号。点击下面的链接即可激活帐号。如果你没有创建帐号,请忽略此邮件。
+        explanation: 你在 %{host} 上使用此电子邮箱地址创建了一个账号。点击下面的链接即可激活账号。如果你没有创建账号,请忽略此邮件。
         explanation_when_pending: 你用这个电子邮件申请了在 %{host} 注册。在确认电子邮件地址之后,我们会审核你的申请。在此之前,你不能登录。如果你的申请被驳回,你的数据会被移除,因此你无需再采取任何行动。如果申请人不是你,请忽略这封邮件。
         extra_html: 请记得阅读<a href="%{terms_path}">本服务器的相关规定</a>和<a href="%{policy_path}">我们的使用条款</a>。
         subject: Mastodon:来自 %{instance} 的确认指引
@@ -47,7 +47,7 @@ zh-CN:
         subject: Mastodon:重置密码信息
         title: 重置密码
       two_factor_disabled:
-        explanation: 帐号的双重认证已禁用。现在仅使用邮箱和密码登录即可登录。
+        explanation: 账号的双重认证已禁用。现在仅使用邮箱和密码即可登录。
         subject: Mastodon:双重认证已禁用。
         title: 双重认证已禁用
       two_factor_enabled:
@@ -93,7 +93,7 @@ zh-CN:
       signed_up_but_locked: 你已成功注册,但我们无法让你登录,因为你的账户已被锁定。
       signed_up_but_pending: 一条带有确认链接的邮件已经发送到你的电子邮件地址。在你点击该链接后,我们将会审查你的申请。如果申请被批准,你将收到通知。
       signed_up_but_unconfirmed: 一封带有确认链接的邮件已经发送至你的邮箱,请点击邮件中的链接以激活你的帐户。如果没有,请检查你的垃圾邮件。
-      update_needs_confirmation: 帐号信息更新成功,但我们需要验证你的新电子邮件地址,请点击邮件中的链接以确认。如果没有,请检查你的垃圾邮箱。
+      update_needs_confirmation: 账号信息更新成功,但我们需要验证你的新电子邮件地址,请点击邮件中的链接以确认。如果没有收到邮件,请检查你的垃圾邮箱。
       updated: 帐户资料更新成功。
     sessions:
       already_signed_out: 已成功登出。
@@ -101,7 +101,7 @@ zh-CN:
       signed_out: 已成功登出。
     unlocks:
       send_instructions: 几分钟后,你将收到一封解锁帐户的邮件。如果没有,请检查你的垃圾邮箱。
-      send_paranoid_instructions: 如果你的账户存在,你将会在几分钟内收到一封指引你如何解锁账户的邮件。如果你没有收到这封邮件,请检查你邮箱的垃圾箱。
+      send_paranoid_instructions: 如果你的账号存在,你将会在几分钟内收到一封指引你如何解锁账号的邮件。如果你没有收到这封邮件,请检查你邮箱的垃圾箱。
       unlocked: 你的帐户已成功解锁。登录以继续。
   errors:
     messages:
diff --git a/config/locales/doorkeeper.ar.yml b/config/locales/doorkeeper.ar.yml
index 03863a338..d35253c3c 100644
--- a/config/locales/doorkeeper.ar.yml
+++ b/config/locales/doorkeeper.ar.yml
@@ -60,8 +60,6 @@ ar:
       error:
         title: حدث هناك خطأ
       new:
-        able_to: يُخوَّل لهذا التطبيق القيام بـ
-        prompt: طلبَ تطبيق %{client_name} تصريحا لاستعمال حسابك
         title: إذن بالتصريح
       show:
         title: قم بنسخ رمز المصادقة و إلصاقه على التطبيق.
@@ -71,10 +69,10 @@ ar:
       confirmations:
         revoke: متأكد ؟
       index:
-        application: التطبيق
-        created_at: صُرّح له في
-        date_format: "%d-%m-%Y %H:%M:%S"
-        scopes: المجالات
+        last_used_at: آخر استخدام في %{date}
+        never_used: لم يُستخدَم قط
+        scopes: الصلاحيات
+        superapp: داخلي
         title: تطبيقاتك المرخص لها
     errors:
       messages:
@@ -110,6 +108,17 @@ ar:
       authorized_applications:
         destroy:
           notice: تم إبطال التصريح المخول للتطبيق.
+    grouped_scopes:
+      access:
+        read: وصول للقراءة فقط
+        read/write: وصول للقراءة والكتابة
+        write: وصول للكتابة فقط
+      title:
+        accounts: الحسابات
+        admin/accounts: إدارة الحسابات
+        admin/all: جميع المهام الإدارية
+        admin/reports: إدارة التقارير
+        all: كل شيء
     layouts:
       admin:
         nav:
diff --git a/config/locales/doorkeeper.ast.yml b/config/locales/doorkeeper.ast.yml
index 6d12751d7..45eb623ec 100644
--- a/config/locales/doorkeeper.ast.yml
+++ b/config/locales/doorkeeper.ast.yml
@@ -46,9 +46,6 @@ ast:
         deny: Negar
       error:
         title: Asocedió un fallu
-      new:
-        able_to: Va ser a
-        prompt: L'aplicación %{client_name} solicitó l'accesu a la to cuenta
       show:
         title: Copia esti códigu d'autorización y apiégalu na aplicación.
     authorized_applications:
@@ -57,10 +54,7 @@ ast:
       confirmations:
         revoke: "¿De xuru?"
       index:
-        application: Aplicación
-        created_at: Data d'autorización
-        date_format: "%H:%M:%S %d-%m-%Y"
-        scopes: Ámbitos
+        scopes: Permisos
         title: Les aplicaciones qu'autoricesti
     errors:
       messages:
@@ -73,6 +67,9 @@ ast:
         temporarily_unavailable: Anguaño'l sirvidor d'autorizaciones nun ye a remanar la solicitú pola mor d'una sobrecarga temporal o caltenimientu del sirvidor.
         unauthorized_client: El veceru nun ta autorizáu pa facer esta solicitú usando esti métodu.
         unsupported_response_type: El sirvidor d'autorización nun sofita esta triba de rempuesta.
+    grouped_scopes:
+      title:
+        notifications: Avisos
     layouts:
       admin:
         nav:
diff --git a/config/locales/doorkeeper.bg.yml b/config/locales/doorkeeper.bg.yml
index 083d19bb2..7bfcec48a 100644
--- a/config/locales/doorkeeper.bg.yml
+++ b/config/locales/doorkeeper.bg.yml
@@ -60,8 +60,6 @@ bg:
       error:
         title: Възникна грешка
       new:
-        able_to: Ще е възможно
-        prompt: Приложението %{client_name} заявява достъп до твоя акаунт
         title: Изисква се упълномощаване
       show:
         title: Копирайте този код за удостоверяване и го поставете в приложението.
@@ -71,10 +69,6 @@ bg:
       confirmations:
         revoke: Потвърждаваш ли отмяната?
       index:
-        application: Приложение
-        created_at: Създадено на
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Диапазони
         title: Твоите упълномощени приложения
     errors:
       messages:
diff --git a/config/locales/doorkeeper.br.yml b/config/locales/doorkeeper.br.yml
index dfcdb984d..810e96d8b 100644
--- a/config/locales/doorkeeper.br.yml
+++ b/config/locales/doorkeeper.br.yml
@@ -53,8 +53,6 @@ br:
       error:
         title: Ur fazi a zo degouezhet
       new:
-        able_to: Gallout a raio
-        prompt: Arload %{client_name} a reket moned d'ho kont
         title: Aotre rekis
       show:
         title: Eilennit kod aotre-se ha pegit en arload.
@@ -64,9 +62,6 @@ br:
       confirmations:
         revoke: Ha sur oc'h ?
       index:
-        application: Arload
-        created_at: Aotreet
-        date_format: "%d-%m-%Y %H:%M:%S"
         title: Hoc'h arloadoù aotreet
     errors:
       messages:
diff --git a/config/locales/doorkeeper.ca.yml b/config/locales/doorkeeper.ca.yml
index 9b0961433..a4d37f417 100644
--- a/config/locales/doorkeeper.ca.yml
+++ b/config/locales/doorkeeper.ca.yml
@@ -60,8 +60,8 @@ ca:
       error:
         title: S'a produit un error
       new:
-        able_to: Serà capaç de
-        prompt: L'aplicació %{client_name} sol⋅licita tenir accés al teu compte
+        prompt_html: "%{client_name} voldria permís per a accedir el teu compte. És una aplicació de tercers. <strong>Si no hi confies no hauries d'autoritzar-la.</strong>"
+        review_permissions: Revisa els permisos
         title: Cal autorizació
       show:
         title: Copia aquest codi d'autorització i enganxa'l en l'aplicació.
@@ -71,10 +71,12 @@ ca:
       confirmations:
         revoke: N'estàs segur?
       index:
-        application: Aplicació
-        created_at: Creat el
-        date_format: "%A-%m-%d %H:%M:%S"
-        scopes: Àmbits
+        authorized_at: Autoritzada el %{date}
+        description_html: Aquestes son les aplicacions que poden accedir al teu compte usant l'API. Si aquí hi ha aplicacions que no reconeixes o una aplicació es comporta malament, pots revocar el seu accés.
+        last_used_at: Darrera utilització el %{date}
+        never_used: Mai usat
+        scopes: Permisos
+        superapp: Interna
         title: Les teves aplicacions autoritzades
     errors:
       messages:
@@ -110,6 +112,33 @@ ca:
       authorized_applications:
         destroy:
           notice: Aplicació revocada.
+    grouped_scopes:
+      access:
+        read: Accés només de lectura
+        read/write: Accés de lectura i escriptura
+        write: Accés de només escriptura
+      title:
+        accounts: Comptes
+        admin/accounts: Administració dels comptes
+        admin/all: Totes les funcions administratives
+        admin/reports: Administració dels informes
+        all: Tot
+        blocks: Bloquejos
+        bookmarks: Marcadors
+        conversations: Converses
+        crypto: Xifrat d'extrem a extrem
+        favourites: Favorits
+        filters: Filtres
+        follow: Relacions
+        follows: Seguits
+        lists: Llistes
+        media: Adjunts multimèdia
+        mutes: Silenciats
+        notifications: Notificacions
+        push: Notificacions push
+        reports: Informes
+        search: Cerca
+        statuses: Publicacions
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ ca:
       admin:write: modificar totes les dades en el servidor
       admin:write:accounts: fer l'acció de moderació en els comptes
       admin:write:reports: fer l'acció de moderació en els informes
+      crypto: usa xifrat d'extrem a extrem
       follow: seguir, blocar, desblocar i deixar de seguir comptes
       push: rebre notificacions push del teu compte
       read: llegir les dades del teu compte
@@ -143,6 +173,7 @@ ca:
       write:accounts: modifica el teu perfil
       write:blocks: bloqueja comptes i dominis
       write:bookmarks: publicacions a marcadors
+      write:conversations: silencia i esborra converses
       write:favourites: afavoreix tuts
       write:filters: crear filtres
       write:follows: seguir usuaris
diff --git a/config/locales/doorkeeper.ckb.yml b/config/locales/doorkeeper.ckb.yml
new file mode 100644
index 000000000..f9a688279
--- /dev/null
+++ b/config/locales/doorkeeper.ckb.yml
@@ -0,0 +1,143 @@
+---
+ckb:
+  activerecord:
+    attributes:
+      doorkeeper/application:
+        name: ناوی بەرنامە
+        redirect_uri: URI گۆڕانی شوێن
+        scopes: بوارەکان
+        website: نەرمەکالای ماڵپەڕ
+    errors:
+      models:
+        doorkeeper/application:
+          attributes:
+            redirect_uri:
+              fragment_present: ناتوانێت پارچەیەک لەخۆوە بگری.
+              invalid_uri: پێویستە URI دروست بێت.
+              relative_uri: پێویستە URI ی ڕەها بێت.
+              secured_uri: پێویستە HTTPS/SSL URI بێت.
+  doorkeeper:
+    applications:
+      buttons:
+        authorize: ڕێگەپێدان
+        cancel: هەڵوەشاندنەوه
+        destroy: لەناوبردن
+        edit: دەستکاری
+        submit: ناردن
+      confirmations:
+        destroy: دڵنیای?
+      edit:
+        title: دەستکاری کردنی بەرنامە
+      form:
+        error: تەحح! بزانە شتێکت لە نێو فۆرمەکە بە هەڵە نەنووسیوە
+      help:
+        native_redirect_uri: بۆ تاقیکردنەوەی ناوخۆیی %{native_redirect_uri} بەکاربەرە،
+        redirect_uri: بەکارهێنانی یەک هێڵ بۆ هەر URI
+        scopes: دۆمەینەکان جیاببکەن بە بۆشاییەکان. بۆ بەکارهێنانی دۆمەینی گریمانەیی چۆڵی بەجێبهێڵە.
+      index:
+        application: نەرمەکال
+        callback_url: Callback نیشانی
+        delete: سڕینەوە
+        empty: هیچ بەرنامەیەکت نیە.
+        name: ناو
+        new: بەرنامەی نوێ
+        scopes: دۆمەینەکان
+        show: نیشاندان
+        title: بەرنامەی تۆ
+      new:
+        title: بەرنامەی نوێ
+      show:
+        actions: کارەکان
+        application_id: کلیلی ڕاژەخواز
+        callback_urls: Callback نیشانەکانی
+        scopes: دۆمەینەکان
+        secret: نهێنی ڕاژەخواز
+        title: 'بەرنامە: %{name}'
+    authorizations:
+      buttons:
+        authorize: ڕێپێدراو
+        deny: نکۆڵی لێبکە
+      error:
+        title: هەڵەیەک ڕوویدا
+      new:
+        title: ڕێپێدان پێویستە
+      show:
+        title: کۆپیکردنی کۆدی ئەم رێپێدانە و لکاندنی بە بەرنامەکە.
+    authorized_applications:
+      buttons:
+        revoke: بەتاڵی بکە
+      confirmations:
+        revoke: ئایا دڵنیایت?
+      index:
+        title: بەرنامە ڕێگەپێدراوەکانت
+    errors:
+      messages:
+        access_denied: خاوەنی سەرچاوە یان سێرڤەری ڕێپێدان داواکاریەکەی ڕەت کردەوە.
+        credential_flow_not_configured: لێشاوی بڕواپێدانی تێپەڕەوشەی خاوەن سەرچاوە شکستی هێنا بەهۆی Doorkeeper.configure.resource_owner_from_credentials شێوەبەندی نەکراو.
+        invalid_client: سەلماندنی کڕیار سەرکەوتوو نەبوو بەهۆی کڕیاری نەناسراوەوە، هیچ ڕەسەنایەتی سەلماندنێکی کلایەنت لەخۆوە نەدەگرێت، یان شێوازی سەلماندنی پەسەند نەکراو.
+        invalid_grant: بەخشین مۆڵەتی دابینکراو نایاساییە، بەسەرچووە، هەڵوەشاندنەوەیە، ناگونجێلەگەڵ ئاراستەی URI بەکارهاتوو لە داواکاری ڕێپێدان، یان دەرچووە بۆ کڕیارێکی تر.
+        invalid_redirect_uri: Uri دووبارە ئاڕاستەکردنەوەکە لەخۆدەگرێت دروست نیە.
+        invalid_resource_owner: بڕواپێدانەکانی خاوەنی سەرچاوەی دابینکراو دروست نیە، یان ناتوانرێت خاوەنی سەرچاوە بدۆزرێتەوە
+        invalid_scope: بواری داواکراو نادروستە، نەناسراو، یان تێکچووە.
+        invalid_token:
+          expired: نیشانەی چوونەژورەوە بەسەرچووە
+          revoked: کۆدی دەستپێگەیشتن بەتاڵ بووەتەوە
+          unknown: دەستپێگەیشتن بە کۆدی چوونەژوور باوڕپێنەکراوە
+        resource_owner_authenticator_not_configured: خاوەنی سەرچاوە بەهۆی Doorkeeper.configure.resource_owner_authenticator کۆنفیگنەکردن سەرکەوتوو نەبوو.
+        server_error: ڕاژەکاری ڕێپێدان تووشی مەرجێکی چاوەڕوان نەکراو بوو کە رێگری دەکا لە جێبەجێ کردنی داواکاریەکە.
+        temporarily_unavailable: ڕاژەکاری ڕێپێدان لە ئێستادا ناتوانێت داواکاریەکە چارەسەر بکات لەبەر بارکردنی کاتی یان چاککردنەوەی سێرڤەرەکە.
+        unauthorized_client: ڕاژەخوازەکە دەسەڵاتی ئەوەی نییە ئەم داواکاریە بە بەکارهێنانی ئەم شێوازە بدات.
+        unsupported_grant_type: جۆری بەخشینە مۆڵەتپێدانەکە لەلایەن ڕاژەکاری مۆڵەتەوە پەسەند ناکرێت.
+        unsupported_response_type: ڕاژەکاری ڕێگەپێدان پشتگیری ئەم جۆرە وەڵامە ناکات.
+    flash:
+      applications:
+        create:
+          notice: بەرنامە دروستکرا.
+        destroy:
+          notice: بەرنامە سڕایەوە.
+        update:
+          notice: بەرنامە بەڕۆژکرا.
+      authorized_applications:
+        destroy:
+          notice: بەرنامە هەڵوەشێنڕا.
+    layouts:
+      admin:
+        nav:
+          applications: بەرنامەکان
+      application:
+        title: داوای ڕێپێدانی OAuth
+    scopes:
+      admin:read: خوێندنەوەی هەموو داتاکان لەسەر ڕاژەکارەکە
+      admin:read:accounts: زانیاری هەستیاری هەموو هەژمارەکان بخوێنەوە
+      admin:read:reports: زانیاری هەستیاری هەموو گوزارشت و هەژمارە گوزارشتکراوەکان بخوێنەوە
+      admin:write: دەستکاری هەموو داتاکان بکە لەسەر ڕاژەکار
+      admin:write:accounts: ئەنجامدانی کاری میانڕەوی لەسەر هەژمارەکان
+      admin:write:reports: ئەنجامدانی کاری میانڕەوی لەسەر گوزارشتەکان
+      follow: دەستکاریکردنی پەیوەندییەکانی هەژمارەی بەکارهێنەر
+      push: وەرگرتنی ئاگانامەکانی پاڵنان
+      read: هەموو دراوەکانی هەژمارەکەت بخوێنەوە
+      read:accounts: بینینی زانیاری هەژمارەکان
+      read:blocks: بینینی بلۆکەکانت
+      read:bookmarks: نیشانەکان ببینە
+      read:favourites: بینینی دڵخوازەکانت
+      read:filters: بینینی پاڵافتنەکانت
+      read:follows: سەیری شوێنکەوتەکانت بکە
+      read:lists: بینینی لیستەکانت
+      read:mutes: بێدەنگەکانت ببینە
+      read:notifications: ئاگانامەکانت ببینە
+      read:reports: سەیری گوزارشەکانت بکە
+      read:search: گەڕان لە جیاتی تۆ
+      read:statuses: بینینی هەموو بارودۆخەکان
+      write: دەستکاری هەموو داتاکانی هەژمارەکەت بکە
+      write:accounts: دەستکاری پرۆفایلەکەت بکە
+      write:blocks: بلۆک کردنی هەژمارەکەی دۆمەینەکان
+      write:bookmarks: بارەکانی نیشانکەر
+      write:favourites: دۆخی دڵخوازەکان
+      write:filters: پاڵێوەر دروست بکە
+      write:follows: دوای خەڵک بکەوە
+      write:lists: دروستکردنی لیستەکان
+      write:media: پەڕگەی میدیا باربکە
+      write:mutes: بێدەنگکردنی خەڵک و گفتوگۆکان
+      write:notifications: ئاگانامەکانت بسڕیەوە
+      write:reports: گوزارشتکردنی کەسانی تر
+      write:statuses: بڵاوکردنەوەی بارودۆخەکان
diff --git a/config/locales/doorkeeper.co.yml b/config/locales/doorkeeper.co.yml
index 6819d8fc6..78c86d0db 100644
--- a/config/locales/doorkeeper.co.yml
+++ b/config/locales/doorkeeper.co.yml
@@ -60,8 +60,6 @@ co:
       error:
         title: C’hè statu un prublemu
       new:
-        able_to: St’applicazione puderà
-        prompt: L’applicazione %{client_name} hà dumandatu d’avè accessu à u vostru contu
         title: Permessu richiestu
       show:
         title: Codice d’auturizazione da cupià indè l’applicazione.
@@ -71,10 +69,6 @@ co:
       confirmations:
         revoke: Site sicuru·a?
       index:
-        application: Applicazione
-        created_at: Auturizata u
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Scopi
         title: E vostre applicazione auturizate
     errors:
       messages:
diff --git a/config/locales/doorkeeper.cs.yml b/config/locales/doorkeeper.cs.yml
index 120a21b65..d47e1afac 100644
--- a/config/locales/doorkeeper.cs.yml
+++ b/config/locales/doorkeeper.cs.yml
@@ -60,8 +60,6 @@ cs:
       error:
         title: Vyskytla se chyba
       new:
-        able_to: Bude moci
-        prompt: Aplikace %{client_name} vyžaduje přístup k vašemu účtu
         title: Je vyžadována autorizace
       show:
         title: Zkopírujte tento autorizační kód a vložte ho do aplikace.
@@ -71,10 +69,6 @@ cs:
       confirmations:
         revoke: Opravdu?
       index:
-        application: Aplikace
-        created_at: Autorizováno
-        date_format: "%d. %m. %Y %H:%M:%S"
-        scopes: Rozsahy
         title: Vaše autorizované aplikace
     errors:
       messages:
diff --git a/config/locales/doorkeeper.cy.yml b/config/locales/doorkeeper.cy.yml
index 93c618da9..4dc4b5e0a 100644
--- a/config/locales/doorkeeper.cy.yml
+++ b/config/locales/doorkeeper.cy.yml
@@ -60,8 +60,6 @@ cy:
       error:
         title: Mae rhywbeth wedi mynd o'i le
       new:
-        able_to: Mi fydd a'r gallu i
-        prompt: Mae'r ap %{client_name} yn gofyn caniatad i gal mynediad i'ch cyfrif
         title: Angen awdurdodi
       show:
         title: Copiwch y côd awdurdodi a gludiwch i'r rhaglen.
@@ -71,10 +69,6 @@ cy:
       confirmations:
         revoke: Ydych chi'n sicr?
       index:
-        application: Rhaglen
-        created_at: Awdurdodedig
-        date_format: "%Y-%m-%d% %H:%M:%S"
-        scopes: Rhinweddau
         title: Eich rhaglenni awdurdodedig
     errors:
       messages:
diff --git a/config/locales/doorkeeper.da.yml b/config/locales/doorkeeper.da.yml
index 05fac0036..19f4307f6 100644
--- a/config/locales/doorkeeper.da.yml
+++ b/config/locales/doorkeeper.da.yml
@@ -60,8 +60,8 @@ da:
       error:
         title: En fejl opstod
       new:
-        able_to: Den vil være i stand til
-        prompt: Applikationen %{client_name} anmoder om adgang til din konto
+        prompt_html: "%{client_name} ønsker tilladelse til at tilgå din konto. Den er en tredjepartsapplikation. <strong>Er der ikke tillid til den, bør den ikke godkendes.</strong>"
+        review_permissions: Gennemgå tilladelser
         title: Godkendelse krævet
       show:
         title: Kopiér og indsæt denne godkendelseskode i applikationen.
@@ -71,10 +71,12 @@ da:
       confirmations:
         revoke: Sikker?
       index:
-        application: Applikation
-        created_at: Godkendt
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Omfang
+        authorized_at: Godkendt pr. %{date}
+        description_html: Disse er applikationer, som kan tilgå din konto vha. API'en. Er der applikationer her, som ikke genkendes eller udviser mærkelig adfærd, kan deres adgang tilbagekaldes.
+        last_used_at: Senest brugt pr. %{date}
+        never_used: Aldrig brugt
+        scopes: Tilladelser
+        superapp: Intern
         title: Dine godkendte applikationer
     errors:
       messages:
@@ -110,6 +112,33 @@ da:
       authorized_applications:
         destroy:
           notice: Applikation tilbagekaldt.
+    grouped_scopes:
+      access:
+        read: Skrivebeskyttet adgang
+        read/write: Læse- og skriveadgang
+        write: Kun skriveadgang
+      title:
+        accounts: Konti
+        admin/accounts: Kontihåndtering
+        admin/all: Alle håndteringsfunktioner
+        admin/reports: Rapporthåndteringer
+        all: Alt
+        blocks: Blokeringer
+        bookmarks: Bogmærker
+        conversations: Konversationer
+        crypto: Ende-til-ende kryptering
+        favourites: Favoritter
+        filters: Filtre
+        follow: Relationer
+        follows: Følger
+        lists: Lister
+        media: Medievedhæftninger
+        mutes: Tavsgjorte
+        notifications: Notifikationer
+        push: Push-notifikationer
+        reports: Anmeldelser
+        search: Søgning
+        statuses: Indlæg
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ da:
       admin:write: redigér al data på serveren
       admin:write:accounts: udfør modereringshandlinger på konti
       admin:write:reports: udfør modereringshandlinger på anmeldelser
+      crypto: benyt ende-til-ende kryptering
       follow: ændre kontorelationer
       push: modtage dine push-notifikationer
       read: læse alle dine kontodata
@@ -143,7 +173,8 @@ da:
       write:accounts: ændre din profil
       write:blocks: blokere konti og domæner
       write:bookmarks: bogmærke statusser
-      write:favourites: favorisere statusser
+      write:conversations: tavsgør og slet konversationer
+      write:favourites: favoritmarkerede indlæg
       write:filters: oprette filtre
       write:follows: følge personer
       write:lists: oprette lister
diff --git a/config/locales/doorkeeper.de.yml b/config/locales/doorkeeper.de.yml
index 032a3dbce..3f7e1b2d7 100644
--- a/config/locales/doorkeeper.de.yml
+++ b/config/locales/doorkeeper.de.yml
@@ -60,8 +60,8 @@ de:
       error:
         title: Ein Fehler ist aufgetreten
       new:
-        able_to: 'Es wird folgende Befugnisse haben:'
-        prompt: Die Anwendung %{client_name} verlangt Zugriff auf dein Konto
+        prompt_html: "%{client_name} möchte auf dein Konto zugreifen. Es ist eine Anwendung von Drittanbietern. <strong>Wenn du ihr nicht vertraust, dann solltest du sie nicht autorisieren.</strong>"
+        review_permissions: Rechte überprüfen
         title: Autorisierung erforderlich
       show:
         title: Kopiere diesen Autorisierungs-Code und füge ihn in die Anwendung ein.
@@ -71,10 +71,12 @@ de:
       confirmations:
         revoke: Bist du sicher?
       index:
-        application: Anwendung
-        created_at: Autorisiert am
-        date_format: "%d.%m.%Y %H:%M:%S"
-        scopes: Befugnisse
+        authorized_at: Autorisiert am %{date}
+        description_html: Dies sind Anwendungen, die über die Programmierschnittstelle auf dein Konto zugreifen können. Wenn es Anwendungen gibt, die du hier nicht erkennst oder eine Anwendung sich falsch verhält, kannst du den Zugriff widerrufen.
+        last_used_at: Zuletzt verwendet am %{date}
+        never_used: Nie verwendet
+        scopes: Berechtigungen
+        superapp: Intern
         title: Deine autorisierten Anwendungen
     errors:
       messages:
@@ -110,6 +112,33 @@ de:
       authorized_applications:
         destroy:
           notice: Anwendung widerrufen.
+    grouped_scopes:
+      access:
+        read: Nur-Lese-Zugriff
+        read/write: Lese- und Schreibzugriff
+        write: Schreibzugriff
+      title:
+        accounts: Konten
+        admin/accounts: Verwaltung der Konten
+        admin/all: Alle administrativen Funktionen
+        admin/reports: Verwaltung der Berichte
+        all: Alles
+        blocks: Blocks
+        bookmarks: Lesezeichen
+        conversations: Konversationen
+        crypto: Ende-zu-Ende-Verschlüsselung
+        favourites: Favoriten
+        filters: Filter
+        follow: Beziehungen
+        follows: Folgt
+        lists: Listen
+        media: Medienanhänge
+        mutes: Stummschaltungen
+        notifications: Benachrichtigungen
+        push: Push-Benachrichtigungen
+        reports: Meldungen
+        search: Suche
+        statuses: Beiträge
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ de:
       admin:write: alle Daten auf dem Server ändern
       admin:write:accounts: Moderationsaktionen auf Konten ausführen
       admin:write:reports: Moderationsaktionen auf Meldungen ausführen
+      crypto: Ende-zu-Ende-Verschlüsselung verwenden
       follow: Kontenbeziehungen verändern
       push: deine Push-Benachrichtigungen erhalten
       read: all deine Daten lesen
@@ -143,6 +173,7 @@ de:
       write:accounts: dein Profil bearbeiten
       write:blocks: Domains und Konten blockieren
       write:bookmarks: Lesezeichen hinzufügen
+      write:conversations: Unterhaltungen stummschalten und löschen
       write:favourites: Beiträge favorisieren
       write:filters: Filter erstellen
       write:follows: Leuten folgen
diff --git a/config/locales/doorkeeper.el.yml b/config/locales/doorkeeper.el.yml
index 29db6d883..8c75eb854 100644
--- a/config/locales/doorkeeper.el.yml
+++ b/config/locales/doorkeeper.el.yml
@@ -60,8 +60,6 @@ el:
       error:
         title: Εμφανίστηκε σφάλμα
       new:
-        able_to: Θα μπορεί να
-        prompt: Η εφαρμογή %{client_name} ζητάει πρόσβαση στο λογαριασμό σου
         title: Απαιτείται έγκριση
       show:
         title: Αντέγραψε αυτό τον κωδικό έγκρισης στην εφαρμογή.
@@ -71,10 +69,8 @@ el:
       confirmations:
         revoke: Σίγουρα;
       index:
-        application: Εφαρμογή
-        created_at: Εγκεκριμένη
-        date_format: "%H:%M:%S, %d/%m/%Y"
-        scopes: Εύρος εφαρμογής
+        never_used: Ποτέ σε χρήση
+        scopes: Δικαιώματα
         title: Οι εφαρμογές που έχεις εγκρίνει
     errors:
       messages:
@@ -110,6 +106,29 @@ el:
       authorized_applications:
         destroy:
           notice: Η εφαρμογή ανακλήθηκε.
+    grouped_scopes:
+      access:
+        read: Πρόσβαση μόνο για ανάγνωση
+        read/write: Πρόσβαση ανάγνωσης και εγγραφής
+        write: Πρόσβαση μόνο για εγγραφή
+      title:
+        admin/accounts: Διαχείριση λογαριασμών
+        admin/all: Όλες οι λειτουργίες διαχείρησης
+        admin/reports: Διαχείριση αναφορών
+        bookmarks: Σελιδοδείκτες
+        conversations: Συνομιλίες
+        crypto: Κρυπτογράφηση από άκρο σε άκρο
+        favourites: Αγαπημένα
+        filters: Φίλτρα
+        follow: Σχέσεις
+        lists: Λίστες
+        media: Συνημμένα πολυμέσα
+        mutes: Αποσιωπήσεις
+        notifications: Ειδοποιήσεις
+        push: Άμεσες ειδοποιήσεις
+        reports: Αναφορές
+        search: Αναζήτηση
+        statuses: Αναρτήσεις
     layouts:
       admin:
         nav:
@@ -124,6 +143,7 @@ el:
       admin:write: αλλαγή δεδομένων στον διακομιστή
       admin:write:accounts: εκτέλεση διαχειριστικών ενεργειών σε λογαριασμούς
       admin:write:reports: εκτέλεση διαχειριστικών ενεργειών σε καταγγελίες
+      crypto: χρήση κρυπτογράφησης από άκρο σε άκρο
       follow: να αλλάζει τις σχέσεις με λογαριασμούς
       push: να λαμβάνει τις ειδοποιήσεις σου
       read: να διαβάζει όλα τα στοιχεία του λογαριασμού σου
@@ -143,6 +163,7 @@ el:
       write:accounts: να αλλάζει το προφίλ σου
       write:blocks: να μπλοκάρει λογαριασμούς και τομείς
       write:bookmarks: προσθήκη σελιδοδεικτών
+      write:conversations: σίγαση και διαγραφή συνομιλιών
       write:favourites: να σημειώνει δημοσιεύσεις ως αγαπημένες
       write:filters: να δημιουργεί φίλτρα
       write:follows: να ακολουθεί ανθρώπους
diff --git a/config/locales/doorkeeper.eo.yml b/config/locales/doorkeeper.eo.yml
index c590fbde0..ba4c43122 100644
--- a/config/locales/doorkeeper.eo.yml
+++ b/config/locales/doorkeeper.eo.yml
@@ -60,8 +60,6 @@ eo:
       error:
         title: Eraro okazis
       new:
-        able_to: Ĝi povos
-        prompt: La aplikaĵo %{client_name} petas aliron al via konto
         title: Rajtigo bezonata
       show:
         title: Kopiu ĉi tiun rajtigan kodon kaj gluu ĝin al la aplikaĵo.
@@ -71,10 +69,6 @@ eo:
       confirmations:
         revoke: Ĉu vi certas?
       index:
-        application: Aplikaĵo
-        created_at: Rajtigita
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Ampleksoj
         title: Viaj rajtigitaj aplikaĵoj
     errors:
       messages:
diff --git a/config/locales/doorkeeper.es-AR.yml b/config/locales/doorkeeper.es-AR.yml
index f914a62ff..4a874a366 100644
--- a/config/locales/doorkeeper.es-AR.yml
+++ b/config/locales/doorkeeper.es-AR.yml
@@ -60,8 +60,8 @@ es-AR:
       error:
         title: Ocurrió un error
       new:
-        able_to: Será capaz de
-        prompt: La aplicación %{client_name} solicita acceso a tu cuenta
+        prompt_html: "%{client_name} solicitaa permiso para acceder a tu cuenta. Es una aplicación de terceros. <strong>Si no confiás en ella, no deberías autorizarla.</strong>"
+        review_permissions: Revisar permisos
         title: Autorización requerida
       show:
         title: Copiá este código de autorización y pegalo en la aplicación.
@@ -71,10 +71,12 @@ es-AR:
       confirmations:
         revoke: "¿Estás seguro?"
       index:
-        application: Aplicación
-        created_at: Autorizada
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Ámbitos
+        authorized_at: Autorizado el %{date}
+        description_html: Estas son aplicaciones que pueden acceder a tu cuenta usando la API. Si hay aplicaciones que no reconocés acá, o que funcionan de forma sospechosa, podés revocar su acceso.
+        last_used_at: Último uso el %{date}
+        never_used: Nunca usada
+        scopes: Permisos
+        superapp: Interno
         title: Tus aplicaciones autorizadas
     errors:
       messages:
@@ -110,6 +112,33 @@ es-AR:
       authorized_applications:
         destroy:
           notice: Aplicación revocada.
+    grouped_scopes:
+      access:
+        read: Acceso de sólo lectura
+        read/write: Acceso de lectura y escritura
+        write: Acceso de sólo escritura
+      title:
+        accounts: Cuentas
+        admin/accounts: Administración de cuentas
+        admin/all: Todas las funciones administrativas
+        admin/reports: Administración de denuncias
+        all: Todo
+        blocks: Bloqueos
+        bookmarks: Marcadores
+        conversations: Conversaciones
+        crypto: Cifrado de extremo a extremo
+        favourites: Favoritos
+        filters: Filtros
+        follow: Relaciones
+        follows: Seguimientos
+        lists: Listas
+        media: Adjuntos de medios
+        mutes: Silenciados
+        notifications: Notificaciones
+        push: Notificaciones push
+        reports: Denuncias
+        search: Buscar
+        statuses: Mensajes
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ es-AR:
       admin:write: modificar todos los datos en el servidor
       admin:write:accounts: ejecutar acciones de moderación en cuentas
       admin:write:reports: ejecutar acciones de moderación en denuncias
+      crypto: usar cifrado de extremo a extremo
       follow: modificar relaciones de cuenta
       push: recibir tus notificaciones push
       read: leer todos los datos de tu cuenta
@@ -143,6 +173,7 @@ es-AR:
       write:accounts: modificar tu perfil
       write:blocks: bloquear cuentas y dominios
       write:bookmarks: marcar mensajes
+      write:conversations: silenciar y eliminar conversaciones
       write:favourites: marcar mensajes como favoritos
       write:filters: crear filtros
       write:follows: seguir cuentas
diff --git a/config/locales/doorkeeper.es-MX.yml b/config/locales/doorkeeper.es-MX.yml
index df12ceb79..58017d83a 100644
--- a/config/locales/doorkeeper.es-MX.yml
+++ b/config/locales/doorkeeper.es-MX.yml
@@ -60,8 +60,8 @@ es-MX:
       error:
         title: Ha ocurrido un error
       new:
-        able_to: Será capaz de
-        prompt: La aplicación %{client_name} solicita tener acceso a su cuenta
+        prompt_html: "%{client_name} Requiere permisos para acceder a tu cuenta. Es una aplicación de terceros. <strong>Si no confías en ella, no deberías darle autorización.</strong>"
+        review_permissions: Revisar permisos
         title: Se requiere autorización
       show:
         title: Copia este código de autorización y pégalo en la aplicación.
@@ -71,10 +71,12 @@ es-MX:
       confirmations:
         revoke: "¿Está seguro?"
       index:
-        application: Aplicación
-        created_at: Creado el
-        date_format: "%A-%m-%d %H:%M:%S"
-        scopes: Ámbitos
+        authorized_at: Autorizado el %{date}
+        description_html: Estas son aplicaciones que pueden acceder a tu cuenta utilizando la API. Si hay alguna aplicación que no reconozcas aquí, o una aplicación esta teniendo comportamientos extraños, puedes revocar el acceso.
+        last_used_at: Usado por ultima vez el %{date}
+        never_used: Nunca usado
+        scopes: Permisos
+        superapp: Interno
         title: Sus aplicaciones autorizadas
     errors:
       messages:
@@ -110,6 +112,33 @@ es-MX:
       authorized_applications:
         destroy:
           notice: Aplicación revocada.
+    grouped_scopes:
+      access:
+        read: Acceso de solo lectura
+        read/write: Acceso de lectura y escritura
+        write: Acceso de sólo escritura
+      title:
+        accounts: Cuentas
+        admin/accounts: Administración de cuentas
+        admin/all: Todas las funciones administrativas
+        admin/reports: Administración de reportes
+        all: Todo
+        blocks: Bloques
+        bookmarks: Marcadores
+        conversations: Conversaciones
+        crypto: Cifrado de extremo a extremo
+        favourites: Favoritos
+        filters: Filtros
+        follow: Relaciones
+        follows: Seguidos
+        lists: Listas
+        media: Archivos adjuntos
+        mutes: Silenciados
+        notifications: Notificaciones
+        push: Notificaciones push
+        reports: Reportes
+        search: Busqueda
+        statuses: Publicaciones
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ es-MX:
       admin:write: modificar todos los datos en el servidor
       admin:write:accounts: realizar acciones de moderación en cuentas
       admin:write:reports: realizar acciones de moderación en informes
+      crypto: usar cifrado de extremo a extremo
       follow: seguir, bloquear, desbloquear y dejar de seguir cuentas
       push: recibir tus notificaciones push
       read: leer los datos de tu cuenta
@@ -143,6 +173,7 @@ es-MX:
       write:accounts: modifica tu perfil
       write:blocks: bloquear cuentas y dominios
       write:bookmarks: guardar estados como marcadores
+      write:conversations: silenciar y eliminar conversaciones
       write:favourites: toots favoritos
       write:filters: crear filtros
       write:follows: seguir usuarios
diff --git a/config/locales/doorkeeper.es.yml b/config/locales/doorkeeper.es.yml
index e3bb4d91f..9b2eee652 100644
--- a/config/locales/doorkeeper.es.yml
+++ b/config/locales/doorkeeper.es.yml
@@ -60,8 +60,8 @@ es:
       error:
         title: Ha ocurrido un error
       new:
-        able_to: Será capaz de
-        prompt: La aplicación %{client_name} solicita tener acceso a su cuenta
+        prompt_html: "%{client_name} desea permiso para acceder a tu cuenta. Es una aplicación de terceros. <strong>Si no confías en ella, no deberías autorizarla.</strong>"
+        review_permissions: Revisar permisos
         title: Se requiere autorización
       show:
         title: Copia este código de autorización y pégalo en la aplicación.
@@ -71,10 +71,12 @@ es:
       confirmations:
         revoke: "¿Está seguro?"
       index:
-        application: Aplicación
-        created_at: Creado el
-        date_format: "%A-%m-%d %H:%M:%S"
-        scopes: Ámbitos
+        authorized_at: Autorizado el %{date}
+        description_html: Estas son aplicaciones que pueden acceder a tu cuenta usando la API. Si hay aplicaciones que no se reconocen aquí, o una aplicación no funciona correctamente, puedes revocar su acceso.
+        last_used_at: Último uso el %{date}
+        never_used: Nunca usado
+        scopes: Permisos
+        superapp: Interno
         title: Sus aplicaciones autorizadas
     errors:
       messages:
@@ -110,6 +112,33 @@ es:
       authorized_applications:
         destroy:
           notice: Aplicación revocada.
+    grouped_scopes:
+      access:
+        read: Acceso de solo lectura
+        read/write: Acceso de lectura y escritura
+        write: Acceso de sólo escritura
+      title:
+        accounts: Cuentas
+        admin/accounts: Administración de cuentas
+        admin/all: Todas las funciones administrativas
+        admin/reports: Administración de informes
+        all: Todo
+        blocks: Bloqueos
+        bookmarks: Marcadores
+        conversations: Conversaciones
+        crypto: Cifrado de extremo a extremo
+        favourites: Favoritos
+        filters: Filtros
+        follow: Relaciones
+        follows: Seguidos
+        lists: Listas
+        media: Adjuntos multimedia
+        mutes: Silenciados
+        notifications: Notificaciones
+        push: Notificaciones push
+        reports: Informes
+        search: Buscar
+        statuses: Publicaciones
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ es:
       admin:write: modificar todos los datos en el servidor
       admin:write:accounts: realizar acciones de moderación en cuentas
       admin:write:reports: realizar acciones de moderación en informes
+      crypto: usar cifrado de extremo a extremo
       follow: seguir, bloquear, desbloquear y dejar de seguir cuentas
       push: recibir tus notificaciones push
       read: leer los datos de tu cuenta
@@ -143,6 +173,7 @@ es:
       write:accounts: modifica tu perfil
       write:blocks: bloquear cuentas y dominios
       write:bookmarks: guardar estados como marcadores
+      write:conversations: silenciar y eliminar conversaciones
       write:favourites: publicaciones favoritas
       write:filters: crear filtros
       write:follows: seguir usuarios
diff --git a/config/locales/doorkeeper.et.yml b/config/locales/doorkeeper.et.yml
index 6f038c365..a04a5dde3 100644
--- a/config/locales/doorkeeper.et.yml
+++ b/config/locales/doorkeeper.et.yml
@@ -60,8 +60,6 @@ et:
       error:
         title: Ilmnes viga
       new:
-        able_to: Sellel on võimalik
-        prompt: Rakendus %{client_name} soovib ligipääsu Teie kontole
         title: Autoriseerimine vajalik
       show:
         title: Kopeeri see autoriseerimisvõti ja kleebi see rakendusse.
@@ -71,9 +69,6 @@ et:
       confirmations:
         revoke: Olete kindel?
       index:
-        application: Rakendus
-        created_at: Autoriseeritud
-        scopes: Ulatused
         title: Autoriseeritud rakendused
     errors:
       messages:
diff --git a/config/locales/doorkeeper.eu.yml b/config/locales/doorkeeper.eu.yml
index 576ece002..12f6aaee0 100644
--- a/config/locales/doorkeeper.eu.yml
+++ b/config/locales/doorkeeper.eu.yml
@@ -60,8 +60,8 @@ eu:
       error:
         title: Errore bat gertatu da
       new:
-        able_to: Egin ahal izango du
-        prompt: "%{client_name} aplikazioak zure kontua atzitzea eskatu du"
+        prompt_html: "%{client_name} bezeroak zure kontura sartzeko baimena nahi du. Hirugarrengoen aplikazio bat da. <strong>Ez bazara fidatzen, ez zenuke baimendu behar.</strong>"
+        review_permissions: Berrikusi baimenak
         title: Baimena behar da
       show:
         title: Kopiatu baimen kode hau eta itsatsi aplikazioan.
@@ -71,10 +71,12 @@ eu:
       confirmations:
         revoke: Ziur zaude?
       index:
-        application: Aplikazioa
-        created_at: Baimenduta
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Irismena
+        authorized_at: "%{date} datan baimendua"
+        description_html: Aplikazio hauek zure kontura sarbidea dute APIa erabiliz. Ezagutzen ez duzun aplikazioren bat badago, edo aplikazio batek portaera desegokia badu, baimena kendu diezaiokezu.
+        last_used_at: Azkena %{date} datan erabilia
+        never_used: Inoiz erabili gabea
+        scopes: Baimenak
+        superapp: Barnekoa
         title: Zuk baimendutako aplikazioak
     errors:
       messages:
@@ -110,6 +112,33 @@ eu:
       authorized_applications:
         destroy:
           notice: Aplikazioa indargabetuta.
+    grouped_scopes:
+      access:
+        read: Bakarrik irakurtzeko sarbidea
+        read/write: Irakurtzeko eta idazteko baimena
+        write: Bakarrik idazteko sarbidea
+      title:
+        accounts: Kontuak
+        admin/accounts: Kontuen administrazioa
+        admin/all: Funtzio administratibo guztiak
+        admin/reports: Salaketen administrazioa
+        all: Dena
+        blocks: Blokeoak
+        bookmarks: Laster-markak
+        conversations: Elkarrizketak
+        crypto: Muturretik-muturrerako zifraketa
+        favourites: Gogokoak
+        filters: Iragazkiak
+        follow: Erlazioak
+        follows: Jarraipenak
+        lists: Zerrendak
+        media: Multimedia eranskinak
+        mutes: Mututzeak
+        notifications: Jakinarazpenak
+        push: Push jakinarazpenak
+        reports: Salaketak
+        search: Bilaketak
+        statuses: Bidalketak
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ eu:
       admin:write: zerbitzariko datu guztiak aldatu
       admin:write:accounts: kontuetan moderazio ekintzak burutu
       admin:write:reports: salaketetan moderazio ekintzak burutu
+      crypto: erabili muturretik muturrerako zifraketa
       follow: aldatu kontuaren erlazioak
       push: jaso push jakinarazpenak
       read: irakurri zure kontuko datu guztiak
@@ -143,6 +173,7 @@ eu:
       write:accounts: zure profila aldatzea
       write:blocks: kontuak eta domeinuak blokeatzea
       write:bookmarks: mezuen laster-marka
+      write:conversations: mututu eta ezabatu elkarrizketak
       write:favourites: gogoko mezuak
       write:filters: sortu iragazkiak
       write:follows: jarraitu jendea
diff --git a/config/locales/doorkeeper.fa.yml b/config/locales/doorkeeper.fa.yml
index d977c0afb..cc479fbc1 100644
--- a/config/locales/doorkeeper.fa.yml
+++ b/config/locales/doorkeeper.fa.yml
@@ -60,8 +60,6 @@ fa:
       error:
         title: خطایی رخ داد
       new:
-        able_to: اجازه خواهد داشت
-        prompt: برنامهٔ %{client_name} می‌خواهد به حساب شما دسترسی داشته باشد
         title: نیاز به اجازه دادن
       show:
         title: این کد مجوز را کپی کرده و در برنامه وارد کنید.
@@ -71,10 +69,6 @@ fa:
       confirmations:
         revoke: آیا مطمئن هستید؟
       index:
-        application: برنامه
-        created_at: مجازشده از
-        date_format: "%Y-%m-%d%H:%M:%S"
-        scopes: اجازه‌ها
         title: برنامه‌های مجاز
     errors:
       messages:
diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml
index d095b0f93..db7c4d01a 100644
--- a/config/locales/doorkeeper.fi.yml
+++ b/config/locales/doorkeeper.fi.yml
@@ -60,8 +60,7 @@ fi:
       error:
         title: Tapahtui virhe
       new:
-        able_to: Se voi
-        prompt: Sovellus %{client_name} pyytää lupaa käyttää tiliäsi
+        review_permissions: Tarkista käyttöoikeudet
         title: Valtuutus vaaditaan
       show:
         title: Kopioi tämä valtuutuskoodi ja liitä se sovellukseen.
@@ -71,10 +70,10 @@ fi:
       confirmations:
         revoke: Oletko varma?
       index:
-        application: Sovellus
-        created_at: Valtuutettu
-        date_format: "%d/%m/%Y %H:%M:%S"
+        last_used_at: Viimeksi käytetty %{date}
+        never_used: Ei käytetty
         scopes: Oikeudet
+        superapp: Sisäinen
         title: Valtuutetut sovellukset
     errors:
       messages:
@@ -110,6 +109,30 @@ fi:
       authorized_applications:
         destroy:
           notice: Sovellus peruttu.
+    grouped_scopes:
+      access:
+        read: Vain luku
+        read/write: Luku- ja kirjoitusoikeudet
+        write: Vain kirjoitus
+      title:
+        accounts: Tilit
+        all: Kaikki
+        blocks: Torjutut
+        bookmarks: Kirjanmerkit
+        conversations: Keskustelut
+        crypto: Päästä päähän -salaus
+        favourites: Suosikit
+        filters: Suodattimet
+        follow: Liitokset
+        follows: Seuraa
+        lists: Listat
+        media: Medialiitteet
+        mutes: Mykistykset
+        notifications: Ilmoitukset
+        push: Push-ilmoitukset
+        reports: Raportit
+        search: Hae
+        statuses: Viestit
     layouts:
       admin:
         nav:
diff --git a/config/locales/doorkeeper.fr.yml b/config/locales/doorkeeper.fr.yml
index fde6c1a2e..7e890f3d6 100644
--- a/config/locales/doorkeeper.fr.yml
+++ b/config/locales/doorkeeper.fr.yml
@@ -60,8 +60,8 @@ fr:
       error:
         title: Une erreur est survenue
       new:
-        able_to: Cette application pourra
-        prompt: Autoriser %{client_name} à utiliser votre compte ?
+        prompt_html: "%{client_name} souhaite accéder à votre compte. Il s'agit d'une application tierce. <strong>Vous ne devriez pas l'y autoriser si vous ne lui faites pas confiance.</strong>"
+        review_permissions: Examiner les autorisations
         title: Autorisation requise
       show:
         title: Copiez ce code d’autorisation et collez-le dans l’application.
@@ -71,10 +71,12 @@ fr:
       confirmations:
         revoke: Voulez-vous vraiment faire ça ?
       index:
-        application: Application
-        created_at: Créé le
-        date_format: "%d-%m-%Y %H:%M:%S"
-        scopes: Permissions
+        authorized_at: Autorisée le %{date}
+        description_html: Ces applications peuvent accéder à votre compte via l'API. Si vous voyez ici des applications que vous ne reconnaissez pas ou qui ne fonctionnent pas normalement, vous pouvez en révoquer les accès.
+        last_used_at: Dernière utilisation le %{date}
+        never_used: Jamais utilisée
+        scopes: Autorisations
+        superapp: Interne
         title: Vos applications autorisées
     errors:
       messages:
@@ -85,7 +87,7 @@ fr:
         invalid_redirect_uri: L’URL de redirection n’est pas valide.
         invalid_request:
           missing_param: 'Parramètre requis manquant: %{value}.'
-          request_not_authorized: La requête doit être autorisée. Le paramètre requis pour la requête d'autorisation est manquant ou non valide.
+          request_not_authorized: La requête doit être autorisée. Le paramètre requis pour l'autorisation de la requête est manquant ou non valide.
           unknown: La requête omet un paramètre requis, inclut une valeur de paramètre non prise en charge ou est autrement mal formée.
         invalid_resource_owner: Les identifiants fournis par le propriétaire de la ressource ne sont pas valides ou le propriétaire de la ressource ne peut être trouvé
         invalid_scope: La permission demandée est invalide, inconnue ou mal formée.
@@ -110,6 +112,33 @@ fr:
       authorized_applications:
         destroy:
           notice: Application révoquée.
+    grouped_scopes:
+      access:
+        read: Accès en lecture seule
+        read/write: Accès en lecture et écriture
+        write: Accès en écriture seule
+      title:
+        accounts: Comptes
+        admin/accounts: Gestion des comptes
+        admin/all: Toutes les fonctionnalités d'administration
+        admin/reports: Gestion des rapports
+        all: Tout
+        blocks: Bloqués
+        bookmarks: Marque-pages
+        conversations: Conversations
+        crypto: Chiffrement de bout-en-bout
+        favourites: Favoris
+        filters: Filtres
+        follow: Relations
+        follows: Abonnements
+        lists: Listes
+        media: Fichiers médias
+        mutes: Masqués
+        notifications: Notifications
+        push: Notifications push
+        reports: Signalements
+        search: Recherche
+        statuses: Messages
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ fr:
       admin:write: modifier toutes les données sur le serveur
       admin:write:accounts: effectuer des actions de modération sur les comptes
       admin:write:reports: effectuer des actions de modération sur les signalements
+      crypto: utiliser le chiffrement de bout-en-bout
       follow: modifier les relations du compte
       push: recevoir vos notifications poussées
       read: lire toutes les données de votre compte
@@ -143,6 +173,7 @@ fr:
       write:accounts: modifier votre profil
       write:blocks: bloquer des comptes et des domaines
       write:bookmarks: mettre des messages en marque-pages
+      write:conversations: masquer et effacer les conversations
       write:favourites: mettre des messages en favori
       write:filters: créer des filtres
       write:follows: suivre des personnes
diff --git a/config/locales/doorkeeper.gd.yml b/config/locales/doorkeeper.gd.yml
index 0ca8dfa23..217dca738 100644
--- a/config/locales/doorkeeper.gd.yml
+++ b/config/locales/doorkeeper.gd.yml
@@ -60,8 +60,6 @@ gd:
       error:
         title: Thachair mearachd
       new:
-        able_to: 'Seo na comasan a bhios air:'
-        prompt: Tha aplacaid %{client_name} ag iarraidh inntrigeadh dhan chunntas agad
         title: Tha feum air ùghdarrachadh
       show:
         title: Dèan lethbhreac dhen chòd ùghdarrachaidh seo ’s cuir san aplacaid e.
@@ -71,10 +69,6 @@ gd:
       confirmations:
         revoke: A bheil thu cinnteach?
       index:
-        application: Aplacaid
-        created_at: Ceadaichte
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Sgòpaichean
         title: Na h-aplacaidean ùghdarraichte agad
     errors:
       messages:
diff --git a/config/locales/doorkeeper.gl.yml b/config/locales/doorkeeper.gl.yml
index 365eebb6e..d61928030 100644
--- a/config/locales/doorkeeper.gl.yml
+++ b/config/locales/doorkeeper.gl.yml
@@ -60,8 +60,8 @@ gl:
       error:
         title: Algo fallou
       new:
-        able_to: Poderá
-        prompt: A aplicación %{client_name} solicita acceso a túa conta
+        prompt_html: "%{client_name} solicita permiso para acceder á túa conta. É unha aplicación de terceiros. <strong>Se non confías nela, non deberías autorizala.</strong>"
+        review_permissions: Revisar permisos
         title: Autorización necesaria
       show:
         title: Copia este código de autorización e pégao na aplicación.
@@ -71,10 +71,12 @@ gl:
       confirmations:
         revoke: Estás segura?
       index:
-        application: Aplicación
-        created_at: Autorizado
-        date_format: "%d-%m-%Y %H:%M:%S"
-        scopes: Ámbitos
+        authorized_at: Autorizada o %{date}
+        description_html: Estas aplicacións poden acceder á túa conta usando a API. Se ves publicacións que non recoñeces, ou hai comportamentos non consentidos dalgunha delas, podes revogar o acceso.
+        last_used_at: Último acceso o %{date}
+        never_used: Nunca utilizado
+        scopes: Permisos
+        superapp: Interno
         title: As túas aplicacións autorizadas
     errors:
       messages:
@@ -110,6 +112,33 @@ gl:
       authorized_applications:
         destroy:
           notice: Aplicación revogada.
+    grouped_scopes:
+      access:
+        read: Acceso de só-lectura
+        read/write: Acceso de lectura e escritura
+        write: Acceso de só-escritura
+      title:
+        accounts: Contas
+        admin/accounts: Administración das contas
+        admin/all: Tódas funcións administrativas
+        admin/reports: Administración das denuncias
+        all: Todo
+        blocks: Bloqueos
+        bookmarks: Marcadores
+        conversations: Conversas
+        crypto: Cifrado E2E
+        favourites: Favoritas
+        filters: Filtros
+        follow: Relacións
+        follows: Seguimentos
+        lists: Listas
+        media: Anexos multimedia
+        mutes: Silenciamentos
+        notifications: Notificacións
+        push: Notificacións Push
+        reports: Denuncias
+        search: Busca
+        statuses: Publicacións
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ gl:
       admin:write: modificar todos os datos no servidor
       admin:write:accounts: executar accións de moderación nas contas
       admin:write:reports: executar accións de moderación nas denuncias
+      crypto: usar cifrado extremo-a-extremo
       follow: modificar as relacións da conta
       push: recibir notificacións push
       read: ler todos os datos da tua conta
@@ -143,6 +173,7 @@ gl:
       write:accounts: modificar o teu perfil
       write:blocks: bloquear contas e dominios
       write:bookmarks: marcar publicacións
+      write:conversations: acalar e eliminar conversas
       write:favourites: publicacións favoritas
       write:filters: crear filtros
       write:follows: seguir usuarias
diff --git a/config/locales/doorkeeper.he.yml b/config/locales/doorkeeper.he.yml
index 987ce2200..cbbef63b1 100644
--- a/config/locales/doorkeeper.he.yml
+++ b/config/locales/doorkeeper.he.yml
@@ -59,8 +59,6 @@ he:
       error:
         title: התרחשה שגיאה
       new:
-        able_to: יוכל
-        prompt: ישום %{client_name} מבקש גישה לחשבונך
         title: נדרשת הרשאה
       show:
         title: יש להעתיק את קוד ההרשאה הזה ולהדביקו ביישום שביקש אותו.
@@ -70,9 +68,6 @@ he:
       confirmations:
         revoke: בטוח?
       index:
-        application: ישום
-        created_at: מאושר
-        scopes: תחומים
         title: ישומיך המאושרים
     errors:
       messages:
diff --git a/config/locales/doorkeeper.hr.yml b/config/locales/doorkeeper.hr.yml
index 915a16008..cb48de313 100644
--- a/config/locales/doorkeeper.hr.yml
+++ b/config/locales/doorkeeper.hr.yml
@@ -53,8 +53,6 @@ hr:
       error:
         title: Došlo je do greške
       new:
-        able_to: Moći će
-        prompt: Aplikacija %{client_name} zatražila je pristup Vašem računu
         title: Potrebna je autorizacija
     authorized_applications:
       buttons:
@@ -62,8 +60,6 @@ hr:
       confirmations:
         revoke: Jeste li sigurni?
       index:
-        application: Aplikacija
-        created_at: Ovlašeno
         title: Vaše autorizirane aplikacije
     errors:
       messages:
diff --git a/config/locales/doorkeeper.hu.yml b/config/locales/doorkeeper.hu.yml
index 644f71c57..d8959bfa2 100644
--- a/config/locales/doorkeeper.hu.yml
+++ b/config/locales/doorkeeper.hu.yml
@@ -60,8 +60,8 @@ hu:
       error:
         title: Hiba történt
       new:
-        able_to: Képes lesz
-        prompt: "%{client_name} nevű alkalmazás engedélyt kér a fiókodhoz való hozzáféréshez."
+        prompt_html: "%{client_name} szeretné elérni a fiókodat. Ez egy harmadik féltől származó alkalmazás. <strong>Ha nem bízol meg benne, ne addj felhatalmazást neki.</strong>"
+        review_permissions: Engedélyek áttekintése
         title: Engedély szükséges
       show:
         title: Másold le ezt az engedélyező kódot és írd be az alkalmazásba.
@@ -71,10 +71,12 @@ hu:
       confirmations:
         revoke: Biztos vagy benne?
       index:
-        application: Alkalmazás
-        created_at: Felhatalmazva
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Hatáskör
+        authorized_at: 'Felhatalmazva ekkor: %{date}'
+        description_html: Ezek olyan alkalmazások, melyek API-n keresztül érhetik el a fiókodat. Ha vannak itt olyanok, melyeket nem ismersz fel, vagy valamelyik alkalmazás rosszul működik, visszavonhatod az engedélyét.
+        last_used_at: 'Utoljára ekkor használva: %{date}'
+        never_used: Soha sem volt használva
+        scopes: Engedélyek
+        superapp: Belső
         title: Engedélyezett alkalmazásaid
     errors:
       messages:
@@ -110,6 +112,33 @@ hu:
       authorized_applications:
         destroy:
           notice: Alkalmazás visszavonva.
+    grouped_scopes:
+      access:
+        read: Csak olvasási elérés
+        read/write: Olvasási és írási elérés
+        write: Csak írási elérés
+      title:
+        accounts: Fiókok
+        admin/accounts: Fiókok adminisztrációja
+        admin/all: Minden adminisztratív funkció
+        admin/reports: Bejelentések adminisztrációja
+        all: Minden
+        blocks: Letiltások
+        bookmarks: Könyvjelzők
+        conversations: Beszélgetések
+        crypto: Végpontok közti titkosítás
+        favourites: Kedvencek
+        filters: Szűrők
+        follow: Kapcsolatok
+        follows: Követések
+        lists: Listák
+        media: Médiamellékletek
+        mutes: Némítások
+        notifications: Értesítések
+        push: Push értesítések
+        reports: Bejelentések
+        search: Keresés
+        statuses: Bejegyzések
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ hu:
       admin:write: szerver minden adatának változtatása
       admin:write:accounts: moderációs műveletek végzése fiókokon
       admin:write:reports: moderációs műveletek végzése bejelentéseken
+      crypto: végpontok közti titkosítás használata
       follow: fiókok követése, letiltása, tiltás feloldása és követés abbahagyása
       push: push értesítések fogadása
       read: fiókod adatainak olvasása
@@ -143,6 +173,7 @@ hu:
       write:accounts: profilod megváltoztatása
       write:blocks: fiókok és domainek letiltása
       write:bookmarks: bejegyzések könyvjelzőzése
+      write:conversations: beszélgetések némítása és törlése
       write:favourites: bejegyzések kedvencnek jelölése
       write:filters: szűrők létrehozása
       write:follows: mások követése
diff --git a/config/locales/doorkeeper.hy.yml b/config/locales/doorkeeper.hy.yml
index ec7b6e5f5..f9e1e22bd 100644
--- a/config/locales/doorkeeper.hy.yml
+++ b/config/locales/doorkeeper.hy.yml
@@ -60,8 +60,6 @@ hy:
       error:
         title: Առաջացել է սխալ։
       new:
-        able_to: Նա կարողանալու է
-        prompt: "%{client_name} յաւելուածը խնդրում է հասանելիութիւն քո հաշուին"
         title: Անհրաժեշտ է նոյնականացում
       show:
         title: Պատճէնիր այս նոյնականացման կոդը եւ փակցրու յաւելուածում։
@@ -71,10 +69,6 @@ hy:
       confirmations:
         revoke: Վստա՞հ ես
       index:
-        application: Յաւելուած
-        created_at: Նոյնականացրած
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Դաշտեր
         title: Քո նոյնականացրած ծրագրերը
     errors:
       messages:
diff --git a/config/locales/doorkeeper.id.yml b/config/locales/doorkeeper.id.yml
index 066d85e73..050d97dc5 100644
--- a/config/locales/doorkeeper.id.yml
+++ b/config/locales/doorkeeper.id.yml
@@ -60,8 +60,8 @@ id:
       error:
         title: Ada yang error
       new:
-        able_to: Mempunyai akses untuk
-        prompt: Aplikasi %{client_name} meminta akses pada akun anda
+        prompt_html: "%{client_name} meminta izin untuk mengakses akun Anda. Ini adalah aplikasi pihak ketiga. <strong>Jika Anda tidak mempercayainya, Anda boleh tidak mengizinkannya.</strong>"
+        review_permissions: Tinjau izin
         title: Izin diperlukan
       show:
         title: Salin kode autorisasi dan tempelkan pada aplikasi.
@@ -71,10 +71,8 @@ id:
       confirmations:
         revoke: Anda yakin?
       index:
-        application: Aplikasi
-        created_at: Diizinkan pada
-        date_format: "%d-%m-%Y %H:%M:%S"
-        scopes: Scope
+        authorized_at: Diberi hak otorisasi pada %{date}
+        description_html: Ini adalah aplikasi yang dapat mengakses akun Anda menggunakan API. Jika ada aplikasi yang tidak Anda kenal di sini, atau aplikasi yang berperilaku aneh, Anda dapat mencabut hak aksesnya.
         title: Aplikasi yang anda izinkan
     errors:
       messages:
diff --git a/config/locales/doorkeeper.is.yml b/config/locales/doorkeeper.is.yml
index c5071f425..e607901f7 100644
--- a/config/locales/doorkeeper.is.yml
+++ b/config/locales/doorkeeper.is.yml
@@ -60,8 +60,8 @@ is:
       error:
         title: Villa kom upp
       new:
-        able_to: Það mun geta
-        prompt: Forritið %{client_name} biður um aðgang að notandaaðgangnum þínum
+        prompt_html: "%{client_name} biður um heimild til að fara inn á notandaaðganginn þinn. Þetta er utanaðkomandi hugbúnaður. <strong>Ef þú treystir ekki viðkomandi, þá ættir þú ekki að heimila þetta.</strong>"
+        review_permissions: Yfirfara heimildir
         title: Auðkenning er nauðsynleg
       show:
         title: Afritaðu þennan auðkenningarkóða og límdu hann inn hjá forritinu.
@@ -71,10 +71,12 @@ is:
       confirmations:
         revoke: Ertu viss?
       index:
-        application: Forrit
-        created_at: Heimilað
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Gildissvið
+        authorized_at: Heimilað þann %{date}
+        description_html: Þetta eru forrit sem hafa aðgang að notandaaðgangnum þínum í gegnum API-forritsviðmótið. Ef hér eru forrit sem þú kannast ekki við, eða ef eitthvað forrit er til vandræða, skaltu afturkalla himildir þess.
+        last_used_at: Síðast notað þann %{date}
+        never_used: Aldrei notað
+        scopes: Heimildir
+        superapp: Innri
         title: Heimiluðu forritin þín
     errors:
       messages:
@@ -110,6 +112,33 @@ is:
       authorized_applications:
         destroy:
           notice: Forrit afturkallað.
+    grouped_scopes:
+      access:
+        read: Einungis lesaðgangur
+        read/write: Heimilt að lesa og skrifa
+        write: Einungis skrifaðgangur
+      title:
+        accounts: Notandaaðgangar
+        admin/accounts: Stjórnun aðganga
+        admin/all: Allar stjórnunaraðgerðir
+        admin/reports: Stjórnun kæra
+        all: Allt
+        blocks: Útilokanir
+        bookmarks: Bókamerki
+        conversations: Samtöl
+        crypto: Enda-í-enda dulritun
+        favourites: Eftirlæti
+        filters: Síur
+        follow: Vensl
+        follows: Fylgist með
+        lists: Listar
+        media: Myndefnisviðhengi
+        mutes: Þagganir
+        notifications: Tilkynningar
+        push: Ýti-tilkynningar
+        reports: Kærur
+        search: Leita
+        statuses: Færslur
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ is:
       admin:write: breyta öllum gögnum á netþjóninum
       admin:write:accounts: framkvæma umsjónaraðgerðir á notendaaðganga
       admin:write:reports: framkvæma umsjónaraðgerðir á kærur
+      crypto: nota enda-í-enda dulritun
       follow: breyta venslum aðgangs
       push: taka á móti ýti-tilkynningum til þín
       read: lesa öll gögn á notandaaðgangnum þínum
@@ -143,6 +173,7 @@ is:
       write:accounts: breyta notandasniðinu þínu
       write:blocks: útiloka notandaaðganga og lén
       write:bookmarks: bókamerkja færslur
+      write:conversations: þagga og eyða samtölum
       write:favourites: setja færslur í eftirlæti
       write:filters: útbúa síur
       write:follows: fylgjast með fólki
diff --git a/config/locales/doorkeeper.it.yml b/config/locales/doorkeeper.it.yml
index 43053c73d..15b1744d7 100644
--- a/config/locales/doorkeeper.it.yml
+++ b/config/locales/doorkeeper.it.yml
@@ -60,8 +60,8 @@ it:
       error:
         title: Si è verificato un errore
       new:
-        able_to: Non sarà in grado di
-        prompt: L'applicazione %{client_name} richiede l'accesso al tuo account
+        prompt_html: "%{client_name} vorrebbe l'autorizzazione ad accedere al tuo profilo. È un'applicazione di terze parti. <strong>Se non ti fidi, non dovresti autorizzarlo.</strong>"
+        review_permissions: Esamina le autorizzazioni
         title: Autorizzazione richiesta
       show:
         title: Copia questo codice di autorizzazione e incollalo nell'applicazione.
@@ -71,10 +71,12 @@ it:
       confirmations:
         revoke: Sei sicuro/a?
       index:
-        application: Applicazione
-        created_at: Autorizzato
-        date_format: "%d-%m-%Y %H:%M:%S"
-        scopes: Scopi
+        authorized_at: Autorizzato il %{date}
+        description_html: Queste sono le applicazioni che possono accedere al tuo profilo usando l'API. Se qui ci sono delle applicazioni che non riconosci, o un'applicazione si sta comportando erroneamente, puoi revocarne l'accesso.
+        last_used_at: Ultimo uso il %{date}
+        never_used: Mai usato
+        scopes: Autorizzazioni
+        superapp: Interno
         title: Applicazioni autorizzate
     errors:
       messages:
@@ -110,6 +112,33 @@ it:
       authorized_applications:
         destroy:
           notice: Applicazione disabilitata.
+    grouped_scopes:
+      access:
+        read: Accesso di sola lettura
+        read/write: Accesso di lettura e scrittura
+        write: Accesso di sola scrittura
+      title:
+        accounts: Profili
+        admin/accounts: Amministrazione dei profili
+        admin/all: Tutte le funzioni amministrative
+        admin/reports: Amministrazione dei rapporti
+        all: Tutto
+        blocks: Blocchi
+        bookmarks: Segnalibri
+        conversations: Conversazioni
+        crypto: Crittografia end-to-end
+        favourites: Preferiti
+        filters: Filtri
+        follow: Relazioni
+        follows: Segue
+        lists: Elenchi
+        media: Allegati multimediali
+        mutes: Silenziati
+        notifications: Notifiche
+        push: Notifiche push
+        reports: Rapporti
+        search: Cerca
+        statuses: Post
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ it:
       admin:write: modificare tutti i dati sul server
       admin:write:accounts: eseguire azioni di moderazione sugli account
       admin:write:reports: eseguire azioni di moderazione sulle segnalazioni
+      crypto: usa la crittografia end-to-end
       follow: modificare relazioni tra account
       push: ricevere le tue notifiche push
       read: leggere tutte le informazioni del tuo account
@@ -143,6 +173,7 @@ it:
       write:accounts: modificare il tuo profilo
       write:blocks: bloccare account e domini
       write:bookmarks: aggiungere post ai preferiti
+      write:conversations: silenzia ed elimina le conversazioni
       write:favourites: apprezzare post
       write:filters: creare filtri
       write:follows: seguire persone
diff --git a/config/locales/doorkeeper.ja.yml b/config/locales/doorkeeper.ja.yml
index 1bc8dc684..0a80a89f3 100644
--- a/config/locales/doorkeeper.ja.yml
+++ b/config/locales/doorkeeper.ja.yml
@@ -60,8 +60,6 @@ ja:
       error:
         title: エラーが発生しました
       new:
-        able_to: このアプリは以下のことができます
-        prompt: アプリ %{client_name} があなたのアカウントへのアクセスを要求しています
         title: 認証が必要です
       show:
         title: 認証コードをコピーしてアプリに貼り付けて下さい。
@@ -71,10 +69,10 @@ ja:
       confirmations:
         revoke: 本当に取り消しますか?
       index:
-        application: アプリ名
-        created_at: 許可した日時
-        date_format: "%Y年%m月%d日 %H時%M分%S秒"
-        scopes: アクセス権
+        authorized_at: "%{date} に承認されました"
+        last_used_at: 最終使用日 %{date}
+        never_used: 使用されていない
+        scopes: 権限
         title: 認証済みアプリ
     errors:
       messages:
@@ -110,6 +108,28 @@ ja:
       authorized_applications:
         destroy:
           notice: アプリが取り消されました。
+    grouped_scopes:
+      access:
+        read: 読み取り専用アクセス
+        read/write: 読み取りおよび書き込みアクセス
+        write: 書き込み専用アクセス
+      title:
+        accounts: アカウント
+        all: すべて
+        blocks: ブロック
+        bookmarks: ブックマーク
+        crypto: エンドツーエンド暗号化
+        favourites: お気に入り
+        filters: フィルター
+        follow: フォロー・フォロワー
+        lists: リスト
+        media: メディアの添付
+        mutes: ミュート
+        notifications: 通知
+        push: プッシュ通知
+        reports: 通報
+        search: 検索
+        statuses: 投稿
     layouts:
       admin:
         nav:
@@ -124,6 +144,7 @@ ja:
       admin:write: サーバーのすべてのデータの変更
       admin:write:accounts: アカウントに対するアクションの実行
       admin:write:reports: 通報に対するアクションの実行
+      crypto: エンドツーエンド暗号化の使用
       follow: アカウントのつながりを変更
       push: プッシュ通知の受信
       read: アカウントのすべてのデータの読み取り
diff --git a/config/locales/doorkeeper.ka.yml b/config/locales/doorkeeper.ka.yml
index 5a9ec3610..36df811f1 100644
--- a/config/locales/doorkeeper.ka.yml
+++ b/config/locales/doorkeeper.ka.yml
@@ -59,8 +59,6 @@ ka:
       error:
         title: წარმოიშვა შეცდომა
       new:
-        able_to: ის შეძლებს
-        prompt: აპლიკაცია %{client_name} ითხოვს წვდომას თქვენს ანგარიშზე
         title: საჭიროა ავტორიზაცია
       show:
         title: დააკოპირეთ ეს ავტორიზაციის კოდი და ჩასვით აპლიკაციაში.
@@ -70,9 +68,6 @@ ka:
       confirmations:
         revoke: დარწმუნებული ხართ?
       index:
-        application: აპლიკაცია
-        created_at: ავტორიზებული
-        scopes: ფარგლები
         title: თქვენი ავტორიზებული აპლიკაციები
     errors:
       messages:
diff --git a/config/locales/doorkeeper.kab.yml b/config/locales/doorkeeper.kab.yml
index c8171fb83..d17979302 100644
--- a/config/locales/doorkeeper.kab.yml
+++ b/config/locales/doorkeeper.kab.yml
@@ -55,8 +55,6 @@ kab:
       error:
         title: Tella-d tuccḍa
       new:
-        able_to: Asnas-agi yezmer ad
-        prompt: Yessutred wesnan n %{client_name} akečum γer umiḍan-ik
         title: Tlaq tsiregt
       show:
         title: Nγel tangalt n wurag sakkin senteḍ-itt deg usnas.
@@ -66,9 +64,6 @@ kab:
       confirmations:
         revoke: Tetḥeqqeḍ?
       index:
-        application: Asnas
-        created_at: Yettussireg
-        date_format: "%d-%m-%Y %H:%M:%S"
         title: Isnasen-ik·im yettusirgen
     errors:
       messages:
diff --git a/config/locales/doorkeeper.kk.yml b/config/locales/doorkeeper.kk.yml
index 15a1dbff7..daaa3a9eb 100644
--- a/config/locales/doorkeeper.kk.yml
+++ b/config/locales/doorkeeper.kk.yml
@@ -60,8 +60,6 @@ kk:
       error:
         title: Қате пайда болды
       new:
-        able_to: It will be аble to
-        prompt: Application %{client_name} rеquests access to your account
         title: Authorization rеquired
       show:
         title: Copy this authorization cоde and paste it to the application.
@@ -71,9 +69,6 @@ kk:
       confirmations:
         revoke: Шынымен бе?
       index:
-        application: Қосымша
-        created_at: Авторизацияланды
-        scopes: Scopеs
         title: Your authorized applicаtions
     errors:
       messages:
diff --git a/config/locales/doorkeeper.kmr.yml b/config/locales/doorkeeper.kmr.yml
deleted file mode 100644
index 6a8b65d91..000000000
--- a/config/locales/doorkeeper.kmr.yml
+++ /dev/null
@@ -1,154 +0,0 @@
----
-kmr:
-  activerecord:
-    attributes:
-      doorkeeper/application:
-        name: Navê sepanê
-        redirect_uri: Girêdana beralîkirî
-        scopes: Berfirehî
-        website: Malpera sepanê
-    errors:
-      models:
-        doorkeeper/application:
-          attributes:
-            redirect_uri:
-              fragment_present: perçe tê de tinne.
-              invalid_uri: ger ev URL derbasdar be.
-              relative_uri: teqez URl'yek hebe.
-              secured_uri: ger HTTPS/SSL URl hebe.
-  doorkeeper:
-    applications:
-      buttons:
-        authorize: Destûr bide
-        cancel: Dev jê berde
-        destroy: Tinne bike
-        edit: Serrast bike
-        submit: Bişîne
-      confirmations:
-        destroy: Ma tu bawerî?
-      edit:
-        title: Sepanê serrast bike
-      form:
-        error: Wey li min! kontrol bikeku form çewtî tê de tune
-      help:
-        native_redirect_uri: Bo testên herêmî %{native_redirect_uri} bikar bîne
-        redirect_uri: Serê URl de rêzek bikarbînin
-        scopes: Berfirehî bi valahîyan re veqetîne. Bo bikaranîna berfirehî ya standard vala bihêle.
-      index:
-        application: Sepan
-        callback_url: URl ya vegeriyayî
-        delete: Jê bibe
-        empty: Qet sepanê te tinne.
-        name: Nav
-        new: Sepanê nû
-        scopes: Berfirehî
-        show: Nîşan bike
-        title: Sepanê te
-      new:
-        title: Sepanê nû
-      show:
-        actions: Çalakî
-        application_id: Kilîdê rajegir
-        callback_urls: URlyên vegeriyayî
-        scopes: Berfirehî
-        secret: Rajegirî veşartî
-        title: 'Sepan: %{name}'
-    authorizations:
-      buttons:
-        authorize: Destûr bide
-        deny: Guh nedê
-      error:
-        title: Xeletîyek çêbû
-      new:
-        able_to: Ew ê bikaribe
-        prompt: Sepanê %{client_name} dixwaze bigihîje ajimêrê te
-        title: Destûr kirin pêwîst e
-      show:
-        title: Destûr hildana vê kodê jê bigire û ji sepanê re pêve bike.
-    authorized_applications:
-      buttons:
-        revoke: Betal bike
-      confirmations:
-        revoke: Ma tu bawerî?
-      index:
-        application: Sepan
-        created_at: Destûrmend
-        date_format: "%Y-%m-%d%H:%M:%S"
-        scopes: Berfirehî
-        title: Sepanên destûrmendê te
-    errors:
-      messages:
-        access_denied: Xwedîyê çavkanîyê an jî destûrmendê rajeker daxwazî red kirin.
-        credential_flow_not_configured: Herikîna pêborînê bawername ya xwediyê çavkaniyê, ji ber Doorkeeper.configure.resource_owner_from_credentials nehat pevsazkirin.
-        invalid_client: Erêkirina nasnameyê rajegir ji ber rajegirê nediyar têk çû, erêkirina nasnameyê rajegir di nav da tinne an jî rêbaza erêkirinê ne piştgirêdayî ye.
-        invalid_grant: Mafê ku hatiye peyda kirin ne derbasdar e, qediya ye, pûç e, girêdana ya ku di daxwaza mafê de tê bikaranîn li hev nagire an jî rajegirekî din hildaye.
-        invalid_redirect_uri: Girêdan beralîkirî ya di nav da ne derbasdar e.
-        invalid_request:
-          missing_param: 'Pîvana hewce dike kêm e: %{value}.'
-          request_not_authorized: Hewceye daxwazî rêdayî be. Ji bo daxwazî rêdayî be pîvana hewce dike kêm an jî betal e.
-          unknown: Di nav daxwazîyê de pîvanekî hewceyî kêm e. Nirxekî pîvanê bê piştgirêdayî tê de heye an jî wek din xelet e.
-        invalid_resource_owner: Bawernameyên xwediyê çavkanîyê yên hatine pêşkeş kirin ne derbasdar e an jî xwedîyê çavkanîyê nayê dîtin
-        invalid_scope: Berfirehiya tê xwestin nederbasdare, nenas e, an jî xelet e.
-        invalid_token:
-          expired: Dema nîşana gihîştinê qediya
-          revoked: Nîşana gihîştin hatibû pûçkirin
-          unknown: Nîşana gihîştinê derbasdar e
-        resource_owner_authenticator_not_configured: Xwedîyê çavkanîyê, ji ber ku nehatîye sazkirin bi ser neket di Doorkeeper.configure.resource_owner_authenticator de.
-        server_error: Rajekarê rastandinê bi şertek nediyar re rûbirû ma ku nehişt ku ew daxwazê ​​bicîh bîne.
-        temporarily_unavailable: Mafê rajekarê hetta demekî ji ber zêde barkirinê an jî lê nihêrîna rajekarê daxwaz bi cîh nay.
-        unauthorized_client: Rajegir nahêlê ku vê daxwazê bi vê awayê bicîh bîne.
-        unsupported_grant_type: Cureyê maf dayînê ji alîyê rajekara mafê va ne piştgirêdayî ye.
-        unsupported_response_type: Mafê rajekarê cûreya vê bersîvê piştgirêdayî nîne.
-    flash:
-      applications:
-        create:
-          notice: Sepan hate çêkirin.
-        destroy:
-          notice: Sepan hate jêbirin.
-        update:
-          notice: Sepan hate rojanekirin.
-      authorized_applications:
-        destroy:
-          notice: Sepan hate dûrxisitn.
-    layouts:
-      admin:
-        nav:
-          applications: Sepan
-          oauth2_provider: Peydakarê OAuth2
-      application:
-        title: Mafê dayînê OAuth pêwist e
-    scopes:
-      admin:read: hemû daneyên li ser rajekar bixwîne
-      admin:read:accounts: zanyariyên hestiyar yên hemû ajimêran li ser rajekar bixwîne
-      admin:read:reports: zanyariyên hestiyar yên hemû gilîyan û ajimêrên gilêkirî li ser rajekar bixwîne
-      admin:write: hemû daneyên li ser rajekar biguherîne
-      admin:write:accounts: di ajimêrê de çalakiyên li hev kirî pêk bîne
-      admin:write:reports: di ragihandinê de çalakiyên li hev kirî pêk bîne
-      follow: têkiliyên ajimêrê biguherîne
-      push: agahdariyên xwe bistîne
-      read: hemû daneyên ajimêra xwe bixwîne
-      read:accounts: zanyariyên ajimêran bibîne
-      read:blocks: ajimêran ku te astenkiriye bibîne
-      read:bookmarks: şûnpelên xwe bibîne
-      read:favourites: bijarteyên xwe bibîne
-      read:filters: parzûnûn xwe bibîne
-      read:follows: şopînerên xwe bibîne
-      read:lists: rêzoka xwe bibîne
-      read:mutes: ajimêrên bêdeng kirî bibîne
-      read:notifications: agahdariyên xwe bibîne
-      read:reports: ragihandinên xwe bibîne
-      read:search: li ser navê xwe lêgerîn bike
-      read:statuses: hemû şandiyan bibîne
-      write: hemû daneyên ajimêra xwe biguherîne
-      write:accounts: profîla xwe biguherîne
-      write:blocks: hemû ajimêr û navperan asteng bike
-      write:bookmarks: şandiyan di şûnpelê de tomar bike
-      write:favourites: şandiyên bijarte
-      write:filters: parzûnan çê bike
-      write:follows: kesan bişopîne
-      write:lists: rêzokan çê bike
-      write:media: pelên medya bar bike
-      write:mutes: mirovan û axaftinan bêdeng bike
-      write:notifications: agahdariyên xwe pak bike
-      write:reports: mirovên din gilî bike
-      write:statuses: şandiyekê biweşîne
diff --git a/config/locales/doorkeeper.ko.yml b/config/locales/doorkeeper.ko.yml
index edc89a3e2..37e0ab840 100644
--- a/config/locales/doorkeeper.ko.yml
+++ b/config/locales/doorkeeper.ko.yml
@@ -60,22 +60,24 @@ ko:
       error:
         title: 에러가 발생하였습니다
       new:
-        able_to: 다음과 같은 행동들이 가능합니다
-        prompt: "%{client_name}이 당신의 계정에 접근 권한을 요청합니다"
+        prompt_html: "%{client_name}이 당신의 계정에 대한 접근 권한을 요청합니다. 이것은 제3자의 응용프로그램입니다. <strong>이것을 신뢰하지 않는다면, 권한을 승인하지 말아야 합니다.</strong>"
+        review_permissions: 권한 검토
         title: 승인 필요
       show:
         title: 이 승인 코드를 복사하여 애플리케이션에 붙여넣으세요
     authorized_applications:
       buttons:
-        revoke: 취소
+        revoke: 삭제
       confirmations:
         revoke: 확실합니까?
       index:
-        application: 애플리케이션
-        created_at: 승인 됨
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: 범위
-        title: 당신의 승인 된 애플리케이션들
+        authorized_at: "%{date}에 승인됨"
+        description_html: 당신의 계정에 API를 통해 접근 가능한 응용프로그램의 목록입니다. 알 수 없는 응용프로그램, 혹은 잘못된 행동을 하고 있는 응용프로그램이 있다면, 권한을 취소할 수 있습니다.
+        last_used_at: "%{date}에 마지막으로 사용됨"
+        never_used: 사용되지 않음
+        scopes: 권한
+        superapp: 내부
+        title: 당신의 승인된 애플리케이션들
     errors:
       messages:
         access_denied: 리소스 소유자 또는 권한 부여 서버가 요청을 거부했습니다.
@@ -91,7 +93,7 @@ ko:
         invalid_scope: 요청한 범위가 올바르지 않거나, 알 수 없거나, 잘못 된 형식입니다.
         invalid_token:
           expired: 액세스 토큰이 만료되었습니다.
-          revoked: 액세스 토큰이 취소되었습니다.
+          revoked: 액세스 토큰이 삭제되었습니다.
           unknown: 액세스 토큰이 잘못되었습니다.
         resource_owner_authenticator_not_configured: Doorkeeper.configure.resource_owner_authenticator가 설정되지 않아 리소스 소유자 찾기가 실패하였습니다.
         server_error: 권한 부여 서버에 예기치 않은 상태가 발생하여, 요청을 수행할 수 없습니다.
@@ -109,7 +111,34 @@ ko:
           notice: 애플리케이션이 갱신 되었습니다.
       authorized_applications:
         destroy:
-          notice: 애플리케이션이 취소 되었습니다.
+          notice: 애플리케이션이 삭제되었습니다.
+    grouped_scopes:
+      access:
+        read: 읽기 전용 권한
+        read/write: 읽기/쓰기 권한
+        write: 쓰기 전용 권한
+      title:
+        accounts: 계정
+        admin/accounts: 계정 관리
+        admin/all: 모든 관리자 기능
+        admin/reports: 신고 관리
+        all: 전체
+        blocks: 차단
+        bookmarks: 북마크
+        conversations: 대화
+        crypto: 종단간 암호화
+        favourites: 즐겨찾기
+        filters: 필터
+        follow: 관계
+        follows: 팔로우
+        lists: 리스트
+        media: 첨부된 미디어
+        mutes: 뮤트
+        notifications: 알림
+        push: 푸시 알림
+        reports: 신고
+        search: 검색
+        statuses: 게시물
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ ko:
       admin:write: 서버의 모든 데이터 수정
       admin:write:accounts: 계정에 모더레이션 조치 취하기
       admin:write:reports: 신고에 모더레이션 조치 취하기
+      crypto: 종단간 암호화 사용
       follow: 계정의 관계를 수정
       push: 푸시 알림을 받기
       read: 계정의 모든 데이터를 읽기
@@ -143,6 +173,7 @@ ko:
       write:accounts: 프로필 수정
       write:blocks: 계정이나 도메인 차단
       write:bookmarks: 게시글을 보관함에 넣기
+      write:conversations: 뮤트와 대화 삭제
       write:favourites: 관심글 지정
       write:filters: 필터 만들기
       write:follows: 사람을 팔로우
diff --git a/config/locales/doorkeeper.ku.yml b/config/locales/doorkeeper.ku.yml
index db2f0b713..3a98486e3 100644
--- a/config/locales/doorkeeper.ku.yml
+++ b/config/locales/doorkeeper.ku.yml
@@ -3,146 +3,183 @@ ku:
   activerecord:
     attributes:
       doorkeeper/application:
-        name: ناوی بەرنامە
-        redirect_uri: URI گۆڕانی شوێن
-        scopes: بوارەکان
-        website: نەرمەکالای ماڵپەڕ
+        name: Navê sepanê
+        redirect_uri: Girêdana beralîkirî
+        scopes: Berfirehî
+        website: Malpera sepanê
     errors:
       models:
         doorkeeper/application:
           attributes:
             redirect_uri:
-              fragment_present: ناتوانێت پارچەیەک لەخۆوە بگری.
-              invalid_uri: پێویستە URI دروست بێت.
-              relative_uri: پێویستە URI ی ڕەها بێت.
-              secured_uri: پێویستە HTTPS/SSL URI بێت.
+              fragment_present: perçe tê de tinne.
+              invalid_uri: ger ev URL derbasdar be.
+              relative_uri: teqez URl'yek hebe.
+              secured_uri: ger HTTPS/SSL URl hebe.
   doorkeeper:
     applications:
       buttons:
-        authorize: ڕێگەپێدان
-        cancel: هەڵوەشاندنەوه
-        destroy: لەناوبردن
-        edit: دەستکاری
-        submit: ناردن
+        authorize: Destûr bide
+        cancel: Dev jê berde
+        destroy: Tinne bike
+        edit: Serrast bike
+        submit: Bişîne
       confirmations:
-        destroy: دڵنیای?
+        destroy: Ma tu bawerî?
       edit:
-        title: دەستکاری کردنی بەرنامە
+        title: Sepanê serrast bike
       form:
-        error: تەحح! بزانە شتێکت لە نێو فۆرمەکە بە هەڵە نەنووسیوە
+        error: Wey li min! kontrol bikeku form çewtî tê de tune
       help:
-        native_redirect_uri: بۆ تاقیکردنەوەی ناوخۆیی %{native_redirect_uri} بەکاربەرە،
-        redirect_uri: بەکارهێنانی یەک هێڵ بۆ هەر URI
-        scopes: دۆمەینەکان جیاببکەن بە بۆشاییەکان. بۆ بەکارهێنانی دۆمەینی گریمانەیی چۆڵی بەجێبهێڵە.
+        native_redirect_uri: Bo testên herêmî %{native_redirect_uri} bikar bîne
+        redirect_uri: Serê URl de rêzek bikarbînin
+        scopes: Berfirehî bi valahîyan re veqetîne. Bo bikaranîna berfirehî ya standard vala bihêle.
       index:
-        application: نەرمەکال
-        callback_url: Callback نیشانی
-        delete: سڕینەوە
-        empty: هیچ بەرنامەیەکت نیە.
-        name: ناو
-        new: بەرنامەی نوێ
-        scopes: دۆمەینەکان
-        show: نیشاندان
-        title: بەرنامەی تۆ
+        application: Sepan
+        callback_url: URl ya vegeriyayî
+        delete: Jê bibe
+        empty: Qet sepanê te tinne.
+        name: Nav
+        new: Sepanê nû
+        scopes: Berfirehî
+        show: Nîşan bike
+        title: Sepanê te
       new:
-        title: بەرنامەی نوێ
+        title: Sepanê nû
       show:
-        actions: کارەکان
-        application_id: کلیلی ڕاژەخواز
-        callback_urls: Callback نیشانەکانی
-        scopes: دۆمەینەکان
-        secret: نهێنی ڕاژەخواز
-        title: 'بەرنامە: %{name}'
+        actions: Çalakî
+        application_id: Kilîdê rajegir
+        callback_urls: URlyên vegeriyayî
+        scopes: Berfirehî
+        secret: Rajegirî veşartî
+        title: 'Sepan: %{name}'
     authorizations:
       buttons:
-        authorize: ڕێپێدراو
-        deny: نکۆڵی لێبکە
+        authorize: Destûr bide
+        deny: Guh nedê
       error:
-        title: هەڵەیەک ڕوویدا
+        title: Xeletîyek çêbû
       new:
-        able_to: دەتوانێت
-        prompt: بەکارهێنانی %{client_name} داوای چوونە ژوورەوە بۆ هەژمارەکەت دەکات
-        title: ڕێپێدان پێویستە
+        prompt_html: "%{client_name} mafê dixwaze ku bigihîje ajimêrê te. Ew sepanek aliyê sêyemîn e. <strong>Ku tu pê bawer nakî, wê demê divê tu mafê gihiştinê nedî. </strong>"
+        review_permissions: Gihiştinan binirxînin
+        title: Destûr kirin pêwîst e
       show:
-        title: کۆپیکردنی کۆدی ئەم رێپێدانە و لکاندنی بە بەرنامەکە.
+        title: Destûr hildana vê kodê jê bigire û ji sepanê re pêve bike.
     authorized_applications:
       buttons:
-        revoke: بەتاڵی بکە
+        revoke: Betal bike
       confirmations:
-        revoke: ئایا دڵنیایت?
+        revoke: Ma tu bawerî?
       index:
-        application: نەرمەکال
-        created_at: ده‌سه‌ڵاتپێدراو
-        scopes: بوارەکان
-        title: بەرنامە ڕێگەپێدراوەکانت
+        authorized_at: Maf hate dayîn di %{date} de
+        description_html: Ev sepan in ku dikarin bi riya karanîna API ve bigihîjin ajimêrê te. Ku sepanên tu li vir nas nakî hene, an sepanek çewt tevdigere, tu dikarî gihîştina wê têk bibî.
+        last_used_at: Herî dawî di %{date} de hate bikaranîn
+        never_used: Tu car nehatiye bikaranîn
+        scopes: Maf
+        superapp: Hundirin
+        title: Sepanên destûrmendê te
     errors:
       messages:
-        access_denied: خاوەنی سەرچاوە یان سێرڤەری ڕێپێدان داواکاریەکەی ڕەت کردەوە.
-        credential_flow_not_configured: لێشاوی بڕواپێدانی تێپەڕەوشەی خاوەن سەرچاوە شکستی هێنا بەهۆی Doorkeeper.configure.resource_owner_from_credentials شێوەبەندی نەکراو.
-        invalid_client: سەلماندنی کڕیار سەرکەوتوو نەبوو بەهۆی کڕیاری نەناسراوەوە، هیچ ڕەسەنایەتی سەلماندنێکی کلایەنت لەخۆوە نەدەگرێت، یان شێوازی سەلماندنی پەسەند نەکراو.
-        invalid_grant: بەخشین مۆڵەتی دابینکراو نایاساییە، بەسەرچووە، هەڵوەشاندنەوەیە، ناگونجێلەگەڵ ئاراستەی URI بەکارهاتوو لە داواکاری ڕێپێدان، یان دەرچووە بۆ کڕیارێکی تر.
-        invalid_redirect_uri: Uri دووبارە ئاڕاستەکردنەوەکە لەخۆدەگرێت دروست نیە.
-        invalid_resource_owner: بڕواپێدانەکانی خاوەنی سەرچاوەی دابینکراو دروست نیە، یان ناتوانرێت خاوەنی سەرچاوە بدۆزرێتەوە
-        invalid_scope: بواری داواکراو نادروستە، نەناسراو، یان تێکچووە.
+        access_denied: Xwedîyê çavkanîyê an jî destûrmendê rajeker daxwazî red kirin.
+        credential_flow_not_configured: Herikîna pêborînê bawername ya xwediyê çavkaniyê, ji ber Doorkeeper.configure.resource_owner_from_credentials nehat pevsazkirin.
+        invalid_client: Erêkirina nasnameyê rajegir ji ber rajegirê nediyar têk çû, erêkirina nasnameyê rajegir di nav da tinne an jî rêbaza erêkirinê ne piştgirêdayî ye.
+        invalid_grant: Mafê ku hatiye peyda kirin ne derbasdar e, qediya ye, pûç e, girêdana ya ku di daxwaza mafê de tê bikaranîn li hev nagire an jî rajegirekî din hildaye.
+        invalid_redirect_uri: Girêdan beralîkirî ya di nav da ne derbasdar e.
+        invalid_request:
+          missing_param: 'Pîvana hewce dike kêm e: %{value}.'
+          request_not_authorized: Hewceye daxwazî rêdayî be. Ji bo daxwazî rêdayî be pîvana hewce dike kêm an jî betal e.
+          unknown: Di nav daxwazîyê de pîvanekî hewceyî kêm e. Nirxekî pîvanê bê piştgirêdayî tê de heye an jî wek din xelet e.
+        invalid_resource_owner: Bawernameyên xwediyê çavkanîyê yên hatine pêşkeş kirin ne derbasdar e an jî xwedîyê çavkanîyê nayê dîtin
+        invalid_scope: Berfirehiya tê xwestin nederbasdare, nenas e, an jî xelet e.
         invalid_token:
-          expired: نیشانەی چوونەژورەوە بەسەرچووە
-          revoked: کۆدی دەستپێگەیشتن بەتاڵ بووەتەوە
-          unknown: دەستپێگەیشتن بە کۆدی چوونەژوور باوڕپێنەکراوە
-        resource_owner_authenticator_not_configured: خاوەنی سەرچاوە بەهۆی Doorkeeper.configure.resource_owner_authenticator کۆنفیگنەکردن سەرکەوتوو نەبوو.
-        server_error: ڕاژەکاری ڕێپێدان تووشی مەرجێکی چاوەڕوان نەکراو بوو کە رێگری دەکا لە جێبەجێ کردنی داواکاریەکە.
-        temporarily_unavailable: ڕاژەکاری ڕێپێدان لە ئێستادا ناتوانێت داواکاریەکە چارەسەر بکات لەبەر بارکردنی کاتی یان چاککردنەوەی سێرڤەرەکە.
-        unauthorized_client: ڕاژەخوازەکە دەسەڵاتی ئەوەی نییە ئەم داواکاریە بە بەکارهێنانی ئەم شێوازە بدات.
-        unsupported_grant_type: جۆری بەخشینە مۆڵەتپێدانەکە لەلایەن ڕاژەکاری مۆڵەتەوە پەسەند ناکرێت.
-        unsupported_response_type: ڕاژەکاری ڕێگەپێدان پشتگیری ئەم جۆرە وەڵامە ناکات.
+          expired: Dema nîşana gihîştinê qediya
+          revoked: Nîşana gihîştin hatibû pûçkirin
+          unknown: Nîşana gihîştinê derbasdar e
+        resource_owner_authenticator_not_configured: Xwedîyê çavkanîyê, ji ber ku nehatîye sazkirin bi ser neket di Doorkeeper.configure.resource_owner_authenticator de.
+        server_error: Rajekarê rastandinê bi şertek nediyar re rûbirû ma ku nehişt ku ew daxwazê ​​bicîh bîne.
+        temporarily_unavailable: Mafê rajekarê hetta demekî ji ber zêde barkirinê an jî lê nihêrîna rajekarê daxwaz bi cîh nay.
+        unauthorized_client: Rajegir nahêlê ku vê daxwazê bi vê awayê bicîh bîne.
+        unsupported_grant_type: Cureyê maf dayînê ji alîyê rajekara mafê va ne piştgirêdayî ye.
+        unsupported_response_type: Mafê rajekarê cûreya vê bersîvê piştgirêdayî nîne.
     flash:
       applications:
         create:
-          notice: بەرنامە دروستکرا.
+          notice: Sepan hate çêkirin.
         destroy:
-          notice: بەرنامە سڕایەوە.
+          notice: Sepan hate jêbirin.
         update:
-          notice: بەرنامە بەڕۆژکرا.
+          notice: Sepan hate rojanekirin.
       authorized_applications:
         destroy:
-          notice: بەرنامە هەڵوەشێنڕا.
+          notice: Sepan hate dûrxisitn.
+    grouped_scopes:
+      access:
+        read: Gihîştina tenê xwendin
+        read/write: Gihîştina xwendin û nivîsandin
+        write: Gihîştina tenê nivîsandin
+      title:
+        accounts: Ajimêr
+        admin/accounts: Rêveberiya ajimêran
+        admin/all: Hemû fonksiyonên reveberî
+        admin/reports: Rêveberiya ragihandinan
+        all: Her tişt
+        blocks: Astengkirin
+        bookmarks: Şûnpel
+        conversations: Axaftin
+        crypto: Dawî bi dawî şifrekirî
+        favourites: Bijarte
+        filters: Parzûn
+        follow: Pêwendî
+        follows: Şopîner
+        lists: Rêzok
+        media: Pêvekên medya
+        mutes: Bêdengkirin
+        notifications: Agahdarî
+        push: Agahdariyên Push
+        reports: Ragihandin
+        search: Lêgerîn
+        statuses: Şandî
     layouts:
       admin:
         nav:
-          applications: بەرنامەکان
+          applications: Sepan
+          oauth2_provider: Peydakarê OAuth2
       application:
-        title: داوای ڕێپێدانی OAuth
+        title: Mafê dayînê OAuth pêwist e
     scopes:
-      admin:read: خوێندنەوەی هەموو داتاکان لەسەر ڕاژەکارەکە
-      admin:read:accounts: زانیاری هەستیاری هەموو هەژمارەکان بخوێنەوە
-      admin:read:reports: زانیاری هەستیاری هەموو گوزارشت و هەژمارە گوزارشتکراوەکان بخوێنەوە
-      admin:write: دەستکاری هەموو داتاکان بکە لەسەر ڕاژەکار
-      admin:write:accounts: ئەنجامدانی کاری میانڕەوی لەسەر هەژمارەکان
-      admin:write:reports: ئەنجامدانی کاری میانڕەوی لەسەر گوزارشتەکان
-      follow: دەستکاریکردنی پەیوەندییەکانی هەژمارەی بەکارهێنەر
-      push: وەرگرتنی ئاگانامەکانی پاڵنان
-      read: هەموو دراوەکانی هەژمارەکەت بخوێنەوە
-      read:accounts: بینینی زانیاری هەژمارەکان
-      read:blocks: بینینی بلۆکەکانت
-      read:bookmarks: نیشانەکان ببینە
-      read:favourites: بینینی دڵخوازەکانت
-      read:filters: بینینی پاڵافتنەکانت
-      read:follows: سەیری شوێنکەوتەکانت بکە
-      read:lists: بینینی لیستەکانت
-      read:mutes: بێدەنگەکانت ببینە
-      read:notifications: ئاگانامەکانت ببینە
-      read:reports: سەیری گوزارشەکانت بکە
-      read:search: گەڕان لە جیاتی تۆ
-      read:statuses: بینینی هەموو بارودۆخەکان
-      write: دەستکاری هەموو داتاکانی هەژمارەکەت بکە
-      write:accounts: دەستکاری پرۆفایلەکەت بکە
-      write:blocks: بلۆک کردنی هەژمارەکەی دۆمەینەکان
-      write:bookmarks: بارەکانی نیشانکەر
-      write:favourites: دۆخی دڵخوازەکان
-      write:filters: پاڵێوەر دروست بکە
-      write:follows: دوای خەڵک بکەوە
-      write:lists: دروستکردنی لیستەکان
-      write:media: پەڕگەی میدیا باربکە
-      write:mutes: بێدەنگکردنی خەڵک و گفتوگۆکان
-      write:notifications: ئاگانامەکانت بسڕیەوە
-      write:reports: گوزارشتکردنی کەسانی تر
-      write:statuses: بڵاوکردنەوەی بارودۆخەکان
+      admin:read: hemû daneyên li ser rajekar bixwîne
+      admin:read:accounts: zanyariyên hestiyar yên hemû ajimêran li ser rajekar bixwîne
+      admin:read:reports: zanyariyên hestiyar yên hemû gilîyan û ajimêrên gilêkirî li ser rajekar bixwîne
+      admin:write: hemû daneyên li ser rajekar biguherîne
+      admin:write:accounts: di ajimêrê de çalakiyên li hev kirî pêk bîne
+      admin:write:reports: di ragihandinê de çalakiyên li hev kirî pêk bîne
+      crypto: dawî bi dawî şifrekirî bi kar bîne
+      follow: têkiliyên ajimêrê biguherîne
+      push: agahdariyên xwe bistîne
+      read: hemû daneyên ajimêra xwe bixwîne
+      read:accounts: zanyariyên ajimêran bibîne
+      read:blocks: ajimêran ku te astenkiriye bibîne
+      read:bookmarks: şûnpelên xwe bibîne
+      read:favourites: bijarteyên xwe bibîne
+      read:filters: parzûnûn xwe bibîne
+      read:follows: şopînerên xwe bibîne
+      read:lists: rêzoka xwe bibîne
+      read:mutes: ajimêrên bêdeng kirî bibîne
+      read:notifications: agahdariyên xwe bibîne
+      read:reports: ragihandinên xwe bibîne
+      read:search: li ser navê xwe lêgerîn bike
+      read:statuses: hemû şandiyan bibîne
+      write: hemû daneyên ajimêra xwe biguherîne
+      write:accounts: profîla xwe biguherîne
+      write:blocks: hemû ajimêr û navperan asteng bike
+      write:bookmarks: şandiyan di şûnpelê de tomar bike
+      write:conversations: bêdengkirin û jêbirina axaftinan
+      write:favourites: şandiyên bijarte
+      write:filters: parzûnan çê bike
+      write:follows: kesan bişopîne
+      write:lists: rêzokan çê bike
+      write:media: pelên medya bar bike
+      write:mutes: mirovan û axaftinan bêdeng bike
+      write:notifications: agahdariyên xwe pak bike
+      write:reports: mirovên din gilî bike
+      write:statuses: şandiyekê biweşîne
diff --git a/config/locales/doorkeeper.lv.yml b/config/locales/doorkeeper.lv.yml
index 547facc8e..940d6f5ef 100644
--- a/config/locales/doorkeeper.lv.yml
+++ b/config/locales/doorkeeper.lv.yml
@@ -60,8 +60,8 @@ lv:
       error:
         title: Radās kļūda
       new:
-        able_to: Tā varēs
-        prompt: Lietotne %{client_name} prasa piekļuvi tavam kontam
+        prompt_html: "%{client_name} vēlas saņemt atļauju piekļūt tavam kontam. Tā ir trešās puses lietojumprogramma. <strong>Ja tu tam neuzticies, tad nevajadzētu to autorizēt.</strong>"
+        review_permissions: Pārskatīt atļaujas
         title: Nepieciešama autorizācija
       show:
         title: Nokopē šo autorizācijas kodu un ielīmē to lietotnē.
@@ -71,10 +71,12 @@ lv:
       confirmations:
         revoke: Vai esi pārliecināts?
       index:
-        application: Lietotne
-        created_at: Autorizēts
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Darbības sfēras
+        authorized_at: Autorizētas %{date}
+        description_html: Šīs ir lietojumprogrammas, kas var piekļūt tavam kontam, izmantojot API. Ja ir lietojumprogrammas, kuras šeit neatpazīsti, vai lietojumprogramma nedarbojas pareizi, vari atsaukt tām piekļuvi.
+        last_used_at: Pēdējo reizi lietotas %{date}
+        never_used: Nekad nav lietotas
+        scopes: Atļaujas
+        superapp: Iekšējs
         title: Tevis autorizētās lietotnes
     errors:
       messages:
@@ -110,6 +112,33 @@ lv:
       authorized_applications:
         destroy:
           notice: Lietotne atsaukta.
+    grouped_scopes:
+      access:
+        read: Tikai lasīšanas piekļuve
+        read/write: Lasīšanas un rakstīšanas piekļuve
+        write: Tikai rakstīšanas piekļuve
+      title:
+        accounts: Konti
+        admin/accounts: Kontu administrēšana
+        admin/all: Visas administrēšanas funkcijas
+        admin/reports: Ziņojumu administrēšana
+        all: Visi
+        blocks: Bloķētie
+        bookmarks: Grāmatzīmes
+        conversations: Sarunas
+        crypto: Pilnīga šifrēšana
+        favourites: Izlases
+        filters: Filtri
+        follow: Attiecības
+        follows: Seko
+        lists: Saraksti
+        media: Mediju pielikumi
+        mutes: Apklusinātie
+        notifications: Paziņojumi
+        push: Uznirstošie paziņojumi
+        reports: Ziņojumi
+        search: Meklēt
+        statuses: Ziņas
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ lv:
       admin:write: modificēt visus datus uz servera
       admin:write:accounts: veikt moderācijas darbības kontos
       admin:write:reports: veikt moderācijas darbības pārskatos
+      crypto: lieto pilnīgu šifrēšanu
       follow: mainīt konta attiecības
       push: saņemt savus push paziņojumus
       read: lasīt visus sava konta datus
@@ -143,6 +173,7 @@ lv:
       write:accounts: labot manu profilu
       write:blocks: bloķēt kontus un domēnus
       write:bookmarks: pievienotās grāmatzīmes
+      write:conversations: apklusināt un dzēst sarunas
       write:favourites: iecienītākās ziņas
       write:filters: izveidot filtrus
       write:follows: seko cilvēkiem
diff --git a/config/locales/doorkeeper.ml.yml b/config/locales/doorkeeper.ml.yml
index 83a37b1cd..8d65fce7d 100644
--- a/config/locales/doorkeeper.ml.yml
+++ b/config/locales/doorkeeper.ml.yml
@@ -59,9 +59,6 @@ ml:
       confirmations:
         revoke: നിങ്ങൾക്ക് ഉറപ്പാണോ?
       index:
-        application: അപ്ലിക്കേഷന്‍
-        created_at: അംഗീകാരപ്പെടുത്തിയത്
-        date_format: "%Y-%m-%d %H:%M:%S"
         title: നിങ്ങളുടെ അംഗീകൃത അപ്ലിക്കേഷനുകൾ
     errors:
       messages:
diff --git a/config/locales/doorkeeper.nl.yml b/config/locales/doorkeeper.nl.yml
index 786a0fcb8..cb0c70aab 100644
--- a/config/locales/doorkeeper.nl.yml
+++ b/config/locales/doorkeeper.nl.yml
@@ -60,8 +60,6 @@ nl:
       error:
         title: Er is een fout opgetreden
       new:
-        able_to: Deze toepassing zal in staat zijn om
-        prompt: "%{client_name} autoriseren om jouw account te gebruiken"
         title: Autorisatie vereist
       show:
         title: Kopieer deze autorisatiecode en plak het in de toepassing.
@@ -71,10 +69,6 @@ nl:
       confirmations:
         revoke: Weet je het zeker?
       index:
-        application: Toepassing
-        created_at: Aangemaakt op
-        date_format: "%d-%m-%Y %H:%M:%S"
-        scopes: Toestemmingen
         title: Jouw geautoriseerde toepassingen
     errors:
       messages:
diff --git a/config/locales/doorkeeper.nn.yml b/config/locales/doorkeeper.nn.yml
index 72727d64c..789b50f61 100644
--- a/config/locales/doorkeeper.nn.yml
+++ b/config/locales/doorkeeper.nn.yml
@@ -60,8 +60,6 @@ nn:
       error:
         title: Ein feil har oppstått
       new:
-        able_to: Applikasjonen vil kunne
-        prompt: Applikasjonen %{client_name} spør om tilgang til kontoen din
         title: Autorisasjon nødvendig
       show:
         title: Kopier denne autorisasjonskoden og lim den inn i applikasjonen.
@@ -71,10 +69,6 @@ nn:
       confirmations:
         revoke: Er du sikker?
       index:
-        application: Applikasjon
-        created_at: Autorisert
-        date_format: "%d. %m %Y kl. %H.%M.%S"
-        scopes: Skop
         title: Dine autoriserte applikasjonar
     errors:
       messages:
diff --git a/config/locales/doorkeeper.no.yml b/config/locales/doorkeeper.no.yml
index eeddcfa36..40eff8bb1 100644
--- a/config/locales/doorkeeper.no.yml
+++ b/config/locales/doorkeeper.no.yml
@@ -60,8 +60,6 @@
       error:
         title: En feil oppstod
       new:
-        able_to: Den vil ha mulighet til
-        prompt: Applikasjon %{client_name} spør om tilgang til din konto
         title: Autorisasjon påkrevd
       show:
         title: Kopier denne koden og lim den inn i programmet.
@@ -71,10 +69,6 @@
       confirmations:
         revoke: Opphev?
       index:
-        application: Applikasjon
-        created_at: Autorisert
-        date_format: "%d. %m %Y kl. %H.%M.%S"
-        scopes: Omfang
         title: Dine autoriserte applikasjoner
     errors:
       messages:
diff --git a/config/locales/doorkeeper.oc.yml b/config/locales/doorkeeper.oc.yml
index 471ed1c8c..7160ee5ac 100644
--- a/config/locales/doorkeeper.oc.yml
+++ b/config/locales/doorkeeper.oc.yml
@@ -60,8 +60,6 @@ oc:
       error:
         title: I a agut un error
       new:
-        able_to: Aquesta aplicacion poirà
-        prompt: L’aplicacion %{client_name} demanda l’accès al vòstre compte
         title: Cal l’autorizacion
       show:
         title: Copiatz lo còdi d’autorizacion e pegatz-lo dins l’aplicacion.
@@ -71,10 +69,6 @@ oc:
       confirmations:
         revoke: Ne sètz segur ?
       index:
-        application: Aplicacion
-        created_at: Creacion
-        date_format: "%-d %b. de %Y %Ho%M %S"
-        scopes: Encastres
         title: Las vòstras aplicacions autorizadas
     errors:
       messages:
diff --git a/config/locales/doorkeeper.pl.yml b/config/locales/doorkeeper.pl.yml
index 2954fad8f..13ac6b7ff 100644
--- a/config/locales/doorkeeper.pl.yml
+++ b/config/locales/doorkeeper.pl.yml
@@ -60,8 +60,6 @@ pl:
       error:
         title: Wystapił błąd
       new:
-        able_to: Uzyska
-        prompt: Aplikacja %{client_name} prosi o dostęp do Twojego konta
         title: Wymagana jest autoryzacja
       show:
         title: Skopiuj kod uwierzytelniający i wklej go w aplikacji.
@@ -71,10 +69,6 @@ pl:
       confirmations:
         revoke: Czy na pewno?
       index:
-        application: Aplikacja
-        created_at: Autoryzowana
-        date_format: "%d.%m.%Y %H:%M:%S"
-        scopes: Zakresy
         title: Twoje autoryzowane aplikacje
     errors:
       messages:
diff --git a/config/locales/doorkeeper.pt-BR.yml b/config/locales/doorkeeper.pt-BR.yml
index 822159c10..7c77af88b 100644
--- a/config/locales/doorkeeper.pt-BR.yml
+++ b/config/locales/doorkeeper.pt-BR.yml
@@ -60,8 +60,7 @@ pt-BR:
       error:
         title: Ocorreu um erro
       new:
-        able_to: Poderá
-        prompt: O aplicativo %{client_name} solicita acesso à sua conta
+        review_permissions: Analisar permissões
         title: Autorização necessária
       show:
         title: Copie este código de autorização e cole no aplicativo.
@@ -71,10 +70,9 @@ pt-BR:
       confirmations:
         revoke: Você tem certeza?
       index:
-        application: Aplicativos
-        created_at: Autorizados
-        date_format: "%d-%m-%Y %H:%M:%S"
-        scopes: Autorizações
+        never_used: Nunca usado
+        scopes: Permissões
+        superapp: Interno
         title: Aplicativos autorizados
     errors:
       messages:
@@ -110,6 +108,23 @@ pt-BR:
       authorized_applications:
         destroy:
           notice: Aplicativo revogado.
+    grouped_scopes:
+      title:
+        accounts: Contas
+        all: Tudo
+        blocks: Blocos
+        conversations: Conversas
+        crypto: Criptografia de ponta a ponta
+        favourites: Favoritos
+        filters: Filtros
+        follow: Relações
+        lists: Listas
+        media: Mídias anexadas
+        notifications: Notificações
+        push: Notificações push
+        reports: Denúncias
+        search: Buscar
+        statuses: Posts
     layouts:
       admin:
         nav:
diff --git a/config/locales/doorkeeper.pt-PT.yml b/config/locales/doorkeeper.pt-PT.yml
index d2c768a70..4336362ff 100644
--- a/config/locales/doorkeeper.pt-PT.yml
+++ b/config/locales/doorkeeper.pt-PT.yml
@@ -60,8 +60,8 @@ pt-PT:
       error:
         title: Ocorreu um erro
       new:
-        able_to: Vai poder
-        prompt: Aplicação %{client_name} pede acesso à tua conta
+        prompt_html: "%{client_name} pretende ter permissão para aceder à sua conta. É uma aplicação de terceiros. <strong>Se não confia nesta aplicação, então não deve autorizá-la.</strong>"
+        review_permissions: Rever permissões
         title: Autorização é necessária
       show:
         title: Copiar o código desta autorização e colar na aplicação.
@@ -71,10 +71,12 @@ pt-PT:
       confirmations:
         revoke: Tens a certeza?
       index:
-        application: Aplicação
-        created_at: Criada em
-        date_format: "%d-%m-%Y %H:%M:%S"
-        scopes: Autorizações
+        authorized_at: Autorizado em %{date}
+        description_html: Estas são aplicações que podem aceder à sua conta utilizando a API. Se encontrar aqui aplicativos que não reconhece, ou um aplicativo está com mau funcionamento, pode revogar o seu acesso.
+        last_used_at: Última utilização em %{date}
+        never_used: Nunca utilizado
+        scopes: Permissões
+        superapp: Interna
         title: As tuas aplicações autorizadas
     errors:
       messages:
@@ -110,6 +112,33 @@ pt-PT:
       authorized_applications:
         destroy:
           notice: Aplicação revogada.
+    grouped_scopes:
+      access:
+        read: Acesso só de leitura
+        read/write: Acesso de leitura e escrita
+        write: Acesso só de escrita
+      title:
+        accounts: Contas
+        admin/accounts: Administração de contas
+        admin/all: Todas as funções administrativas
+        admin/reports: Administração de denúncias
+        all: Tudo
+        blocks: Bloqueios
+        bookmarks: Itens Salvos
+        conversations: Conversas
+        crypto: Encriptação ponta-a-ponta
+        favourites: Favoritos
+        filters: Filtros
+        follow: Relações
+        follows: Seguidores
+        lists: Listas
+        media: Anexos de media
+        mutes: Silenciados
+        notifications: Notificações
+        push: Notificações push
+        reports: Denúncias
+        search: Pesquisa
+        statuses: Publicações
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ pt-PT:
       admin:write: modificar todos os dados no servidor
       admin:write:accounts: executar ações de moderação em contas
       admin:write:reports: executar ações de moderação em denúncias
+      crypto: usa encriptação ponta-a-ponta
       follow: siga, bloqueie, desbloqueie, e deixa de seguir contas
       push: receber as suas notificações push
       read: tenha acesso aos dados da tua conta
@@ -143,6 +173,7 @@ pt-PT:
       write:accounts: modificar o seu perfil
       write:blocks: bloquear contas e domínios
       write:bookmarks: estado dos favoritos
+      write:conversations: silenciar e eliminar conversas
       write:favourites: estado dos favoritos
       write:filters: criar filtros
       write:follows: seguir pessoas
diff --git a/config/locales/doorkeeper.ro.yml b/config/locales/doorkeeper.ro.yml
index c09fb9e3d..3f94848fc 100644
--- a/config/locales/doorkeeper.ro.yml
+++ b/config/locales/doorkeeper.ro.yml
@@ -60,8 +60,6 @@ ro:
       error:
         title: A apărut o eroare
       new:
-        able_to: Acesta va putea să
-        prompt: Aplicația %{client_name} cere acces la contul dvs
         title: Autorizare necesară
       show:
         title: Copiați acest cod de autorizare și lipiți-l în aplicație.
@@ -71,10 +69,6 @@ ro:
       confirmations:
         revoke: Ești sigur?
       index:
-        application: Aplicație
-        created_at: Autorizat
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Domenii
         title: Aplicațiile dvs autorizate
     errors:
       messages:
diff --git a/config/locales/doorkeeper.ru.yml b/config/locales/doorkeeper.ru.yml
index df36db865..a772f081a 100644
--- a/config/locales/doorkeeper.ru.yml
+++ b/config/locales/doorkeeper.ru.yml
@@ -60,8 +60,8 @@ ru:
       error:
         title: Произошла ошибка
       new:
-        able_to: Оно сможет
-        prompt: Приложение %{client_name} запрашивает доступ к Вашей учётной записи
+        prompt_html: "%{client_name} хочет получить доступ к вашему аккаунту. Это стороннее приложение. <strong>Если вы ему не доверяете, не разрешайте доступ.</strong>"
+        review_permissions: Просмотр разрешений
         title: Требуется авторизация
       show:
         title: Скопируйте этот код авторизации и вставьте его в приложении.
@@ -71,9 +71,10 @@ ru:
       confirmations:
         revoke: Вы уверены?
       index:
-        application: Приложение
-        created_at: Авторизовано
-        date_format: "%d.%m.%Y %H:%M:%S"
+        authorized_at: Доступ получен %{date}
+        description_html: Это приложения, которые могут получить доступ к вашей учетной записи с помощью API. Если здесь есть приложения, которые вы не узнаете, или приложения, работающие неправильно, вы можете отозвать их доступ.
+        last_used_at: Последнее использование %{date}
+        never_used: Не использовалось
         scopes: Разрешения
         title: Ваши авторизованные приложения
     errors:
@@ -110,6 +111,31 @@ ru:
       authorized_applications:
         destroy:
           notice: Авторизация приложения отозвана.
+    grouped_scopes:
+      access:
+        read: Доступ только для чтения
+        read/write: Доступ на чтение и запись
+        write: Доступ только для записи
+      title:
+        accounts: Учётные записи
+        admin/all: Все административные функции
+        all: Все
+        blocks: Блокировки
+        bookmarks: Закладки
+        conversations: Диалоги
+        crypto: Сквозное шифрование
+        favourites: Избранное
+        filters: Фильтры
+        follow: Взаимосвязи
+        follows: Подписки
+        lists: Списки
+        media: Медиафайлы
+        mutes: Без звука
+        notifications: Уведомления
+        push: Push-уведомления
+        reports: Обращения
+        search: Поиск
+        statuses: Посты
     layouts:
       admin:
         nav:
diff --git a/config/locales/doorkeeper.sc.yml b/config/locales/doorkeeper.sc.yml
index db857affd..7631d2cc1 100644
--- a/config/locales/doorkeeper.sc.yml
+++ b/config/locales/doorkeeper.sc.yml
@@ -60,8 +60,6 @@ sc:
       error:
         title: Faddina
       new:
-        able_to: At a pòdere
-        prompt: S'aplicatzione %{client_name} est preguntende atzessu a su contu tuo
         title: Autorizatzione rechesta
       show:
         title: Còpia custu còdighe de autorizatzione e incolla·ddu a s'aplicatzione.
@@ -71,10 +69,6 @@ sc:
       confirmations:
         revoke: Seguru?
       index:
-        application: Aplicatzione
-        created_at: Autorizada
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Àmbitos
         title: Is aplicatziones autorizadas tuas
     errors:
       messages:
diff --git a/config/locales/doorkeeper.si.yml b/config/locales/doorkeeper.si.yml
index 5a97eb41f..6416fd082 100644
--- a/config/locales/doorkeeper.si.yml
+++ b/config/locales/doorkeeper.si.yml
@@ -15,7 +15,7 @@ si:
       confirmations:
         destroy: ඔබට විශ්වාසද?
       edit:
-        title: යෙදුම සංස්කරණය කරන්න
+        title: යෙදුම සංස්කරණය
       index:
         application: යෙදුම
         empty: ඔබට කිසිම යෙදුමක් නැත.
@@ -36,9 +36,6 @@ si:
     authorized_applications:
       confirmations:
         revoke: ඔබට විශ්වාසද?
-      index:
-        application: යෙදුම
-        date_format: "%Y-%m-%d %H:%M:%S"
     layouts:
       admin:
         nav:
diff --git a/config/locales/doorkeeper.sk.yml b/config/locales/doorkeeper.sk.yml
index bd039024d..3f92a67ae 100644
--- a/config/locales/doorkeeper.sk.yml
+++ b/config/locales/doorkeeper.sk.yml
@@ -59,8 +59,6 @@ sk:
       error:
         title: Nastala chyba
       new:
-        able_to: Bude môcť
-        prompt: Aplikácia %{client_name} vyžaduje prístup k tvojmu účtu
         title: Je potrebná autorizácia
       show:
         title: Skopíruj tento autorizačný kód a vlož ho do aplikácie.
@@ -70,9 +68,6 @@ sk:
       confirmations:
         revoke: Si si istý?
       index:
-        application: Aplikácia
-        created_at: Autorizované
-        scopes: Oprávnenia
         title: Tvoje povolené aplikácie
     errors:
       messages:
@@ -104,6 +99,9 @@ sk:
       authorized_applications:
         destroy:
           notice: Oprávnenia aplikácie zrušené.
+    grouped_scopes:
+      title:
+        mutes: Nevšímané
     layouts:
       admin:
         nav:
@@ -137,6 +135,7 @@ sk:
       write:accounts: uprav svoj profil
       write:blocks: blokuj účty a domény
       write:bookmarks: pridaj si príspevky k záložkám
+      write:conversations: stíš a vymaž konverzácie
       write:favourites: obľúbené príspevky
       write:filters: vytvor roztriedenie
       write:follows: následuj ľudí
diff --git a/config/locales/doorkeeper.sl.yml b/config/locales/doorkeeper.sl.yml
index d8e1ef43a..d75752c8d 100644
--- a/config/locales/doorkeeper.sl.yml
+++ b/config/locales/doorkeeper.sl.yml
@@ -60,8 +60,8 @@ sl:
       error:
         title: Prišlo je do napake
       new:
-        able_to: To bo lahko
-        prompt: Program %{client_name} zahteva dostop do vašega računa
+        prompt_html: "%{client_name} želi dovoljenje za dostop do vašega računa. Gre za zunanji program. <strong>Če mu ne zaupate, mu ne dodelite teh pravic.</strong>"
+        review_permissions: Preglej pravice
         title: Potrebna je pooblastitev
       show:
         title: Kopirajte to pooblastilno kodo in jo prilepite v program.
@@ -71,10 +71,12 @@ sl:
       confirmations:
         revoke: Ali ste prepričani?
       index:
-        application: Program
-        created_at: Odobreno
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Obsegi
+        authorized_at: Overjen(a) %{date}
+        description_html: To so programi, ki lahko dostopajo do vašega računa prek vmesnika API. Če so na seznamu programi, ki jih ne prepoznate ali pa se čudno vedejo, lahko prekličete njihovo pravico do dostopa.
+        last_used_at: Zadnjič uporabljeno %{date}
+        never_used: Nikoli uporabljeno
+        scopes: Dovoljenja
+        superapp: Interno
         title: Vaši odobreni programi
     errors:
       messages:
@@ -110,6 +112,33 @@ sl:
       authorized_applications:
         destroy:
           notice: Program je preklican.
+    grouped_scopes:
+      access:
+        read: Dostop samo za branje
+        read/write: Dostop za branje in pisanje
+        write: Dostop samo za pisanje
+      title:
+        accounts: Računi
+        admin/accounts: Upravljanje računov
+        admin/all: Vse skrbniške funkcije
+        admin/reports: Upravljanje poročil
+        all: Vse
+        blocks: Blokira
+        bookmarks: Zaznamki
+        conversations: Pogovori
+        crypto: Šifriranje od konca do konca
+        favourites: Priljubljeni
+        filters: Filtri
+        follow: Razmerja
+        follows: Sledi
+        lists: Seznami
+        media: Predstavnostne priloge
+        mutes: Utišani
+        notifications: Obvestila
+        push: Potisna obvestila
+        reports: Poročila
+        search: Iskanje
+        statuses: Objave
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ sl:
       admin:write: spremeni vse podatke na strežniku
       admin:write:accounts: izvedi moderirana dejanja na računih
       admin:write:reports: izvedi moderirana dejanja na prijavah
+      crypto: Uporabi šifriranje od konca do konca
       follow: spremeni razmerja med računi
       push: prejmi potisna obvestila
       read: preberi vse podatke svojega računa
@@ -143,6 +173,7 @@ sl:
       write:accounts: spremenite svoj profil
       write:blocks: blokirajte račune in domene
       write:bookmarks: objave zaznamkov
+      write:conversations: utišaj in izbriši pogovore
       write:favourites: priljubljena stanja
       write:filters: ustvari filtre
       write:follows: sledi osebam
diff --git a/config/locales/doorkeeper.sq.yml b/config/locales/doorkeeper.sq.yml
index 1b83bbc7c..7b346efc9 100644
--- a/config/locales/doorkeeper.sq.yml
+++ b/config/locales/doorkeeper.sq.yml
@@ -60,8 +60,8 @@ sq:
       error:
         title: Ndodhi një gabim
       new:
-        able_to: Do të jetë në gjendje të
-        prompt: Aplikacioni %{client_name} kërkon hyrje në llogarinë tuaj
+        prompt_html: "%{client_name} do të donte leje të hyjë në llogarinë tuaj. Është një aplikacion palësh të treta. <strong>Nëse s’i zini besë, atëherë s’duhet ta autorizoni.</strong>"
+        review_permissions: Shqyrtoni leje
         title: Lypset autorizim
       show:
         title: Kopjojeni këtë kod autorizimi dhe ngjiteni te aplikacioni.
@@ -71,10 +71,12 @@ sq:
       confirmations:
         revoke: A jeni i sigurt?
       index:
-        application: Aplikacion
-        created_at: I autorizuar
-        date_format: "%d.%m.%Y, %H:%M:%S"
-        scopes: Fushëveprime
+        authorized_at: Autorizuar më %{date}
+        description_html: Këto janë aplikacione që mund të hyjnë në llogarinë tuaj duke përdorur API-n. Nëse këtu ka aplikacione që nuk i njihni, ose një aplikacion po sillet ndryshe nga sa pritet, mund t’i shfuqiozoni hyrjen.
+        last_used_at: Përdorur së fundi më %{date}
+        never_used: I papërdorur ndonjëherë
+        scopes: Leje
+        superapp: I brendshëm
         title: Aplikacionet tuaja të autorizuar
     errors:
       messages:
@@ -110,6 +112,33 @@ sq:
       authorized_applications:
         destroy:
           notice: Aplikacioni u shfuqizua.
+    grouped_scopes:
+      access:
+        read: Hyrje vetëm për lexim
+        read/write: Hyrje për lexim dhe shkrim
+        write: Hyrje vetëm për shkrim
+      title:
+        accounts: Llogari
+        admin/accounts: Administrim llogarish
+        admin/all: Krejt funksionet administrative
+        admin/reports: Administrim i raporteve
+        all: Gjithçka
+        blocks: Blloqe
+        bookmarks: Faqerojtës
+        conversations: Biseda
+        crypto: Fshehtëzim skaj-më-skaj
+        favourites: Të parapëlqyer
+        filters: Filtra
+        follow: Marrëdhënie
+        follows: Ndjekje
+        lists: Lista
+        media: Bashkëngjitje media
+        mutes: Heshtime
+        notifications: Njoftime
+        push: Njoftime Push
+        reports: Raportime
+        search: Kërkim
+        statuses: Postime
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ sq:
       admin:write: të përpunojë krejt të dhënat në shërbyes
       admin:write:accounts: të kryejë veprime moderimi në llogaritë
       admin:write:reports: të kryejë veprime moderimi në raportime
+      crypto: përdor fshehtëzim skaj-më-skaj
       follow: të ndryshojë marrëdhënie llogarish
       push: të marrë njoftime push për ju
       read: të lexojë krejt të dhënat e llogarisë tuaj
@@ -143,6 +173,7 @@ sq:
       write:accounts: të ndryshojë profilin tuaj
       write:blocks: të bllokojë llogari dhe përkatësi
       write:bookmarks: të faqeruajë gjendje
+      write:conversations: heshtoni dhe fshini biseda
       write:favourites: të parapëlqejë gjendje
       write:filters: të krijojë filtra
       write:follows: të ndjekë persona
diff --git a/config/locales/doorkeeper.sr-Latn.yml b/config/locales/doorkeeper.sr-Latn.yml
index c1d7c6e5e..f30e2a6ca 100644
--- a/config/locales/doorkeeper.sr-Latn.yml
+++ b/config/locales/doorkeeper.sr-Latn.yml
@@ -59,8 +59,6 @@ sr-Latn:
       error:
         title: Dogodila se greška
       new:
-        able_to: Biće u mogućnosti da
-        prompt: Aplikacija %{client_name} zahteva pristup Vašem nalogu
         title: Potrebna autorizacija
       show:
         title: Kopirajte ovaj autorizacioni kod i nalepite ga u aplikaciju.
@@ -70,10 +68,6 @@ sr-Latn:
       confirmations:
         revoke: Da li ste sigurni?
       index:
-        application: Aplikacija
-        created_at: Autorizovana
-        date_format: "%d.%m.%Y %H:%M:%S"
-        scopes: Opsezi važenja
         title: Vaše autorizovane aplikacije
     errors:
       messages:
diff --git a/config/locales/doorkeeper.sr.yml b/config/locales/doorkeeper.sr.yml
index 1d92cf2f0..74c79227b 100644
--- a/config/locales/doorkeeper.sr.yml
+++ b/config/locales/doorkeeper.sr.yml
@@ -59,8 +59,6 @@ sr:
       error:
         title: Догодила се грешка
       new:
-        able_to: Биће у могућности да
-        prompt: Апликација %{client_name} захтева приступ Вашем налогу
         title: Потребна ауторизација
       show:
         title: Копирајте овај ауторизациони код и налепите га у апликацију.
@@ -70,10 +68,6 @@ sr:
       confirmations:
         revoke: Да ли сте сигурни?
       index:
-        application: Апликација
-        created_at: Ауторизована
-        date_format: "%d.%m.%Y %H:%M:%S"
-        scopes: Опсези важења
         title: Ваше ауторизоване апликације
     errors:
       messages:
diff --git a/config/locales/doorkeeper.sv.yml b/config/locales/doorkeeper.sv.yml
index d7d28bae0..6e0efd6d1 100644
--- a/config/locales/doorkeeper.sv.yml
+++ b/config/locales/doorkeeper.sv.yml
@@ -60,8 +60,7 @@ sv:
       error:
         title: Ett fel har uppstått
       new:
-        able_to: Det kommer att kunna
-        prompt: Applikation %{client_name} begär tillgång till ditt konto
+        review_permissions: Förhandsgranska behörigheter
         title: Godkännande krävs
       show:
         title: Kopiera denna behörighetskod och klistra in den i programmet.
@@ -71,10 +70,11 @@ sv:
       confirmations:
         revoke: Är du säker?
       index:
-        application: Applikation
-        created_at: Auktoriserad
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Omfattning
+        authorized_at: Auktoriserades %{date}
+        last_used_at: Användes senast %{date}
+        never_used: Aldrig använd
+        scopes: Behörigheter
+        superapp: Internt
         title: Dina behöriga ansökningar
     errors:
       messages:
@@ -110,6 +110,26 @@ sv:
       authorized_applications:
         destroy:
           notice: Applikation återkallas.
+    grouped_scopes:
+      title:
+        accounts: Konton
+        admin/accounts: Administrering av konton
+        admin/all: Alla administrativa funktioner
+        admin/reports: Administrering av rapporter
+        all: Allting
+        blocks: Blockeringar
+        bookmarks: Bokmärken
+        conversations: Konversationer
+        crypto: Ände-till-ände-kryptering
+        favourites: Favoriter
+        follow: Relationer
+        follows: Följer
+        lists: Listor
+        notifications: Aviseringar
+        push: Push-aviseringar
+        reports: Rapporter
+        search: Sök
+        statuses: Inlägg
     layouts:
       admin:
         nav:
diff --git a/config/locales/doorkeeper.ta.yml b/config/locales/doorkeeper.ta.yml
index 879b6ab21..3cba7d9d4 100644
--- a/config/locales/doorkeeper.ta.yml
+++ b/config/locales/doorkeeper.ta.yml
@@ -23,5 +23,4 @@ ta:
       confirmations:
         revoke: உறுதியாகவா?
       index:
-        application: பயன்பாடு
         title: அனுமதியளிக்கப்பட்டுள்ள பயன்பாடுகள்/செயலிகள்
diff --git a/config/locales/doorkeeper.th.yml b/config/locales/doorkeeper.th.yml
index f95276383..b608be384 100644
--- a/config/locales/doorkeeper.th.yml
+++ b/config/locales/doorkeeper.th.yml
@@ -60,8 +60,8 @@ th:
       error:
         title: เกิดข้อผิดพลาด
       new:
-        able_to: แอปจะสามารถ
-        prompt: แอปพลิเคชัน %{client_name} ขอเข้าถึงบัญชีของคุณ
+        prompt_html: "%{client_name} ต้องการสิทธิอนุญาตเพื่อเข้าถึงบัญชีของคุณ แอปพลิเคชันเป็นแอปพลิเคชันจากบุคคลที่สาม <strong>หากคุณไม่เชื่อถือแอปพลิเคชัน คุณไม่ควรอนุญาตแอปพลิเคชัน</strong>"
+        review_permissions: ตรวจทานสิทธิอนุญาต
         title: ต้องมีการอนุญาต
       show:
         title: คัดลอกรหัสการอนุญาตนี้แล้ววางลงในแอปพลิเคชัน
@@ -71,10 +71,12 @@ th:
       confirmations:
         revoke: คุณแน่ใจหรือไม่?
       index:
-        application: แอปพลิเคชัน
-        created_at: อนุญาตเมื่อ
-        date_format: "%d/%m/%Y %H:%M:%S"
-        scopes: ขอบเขต
+        authorized_at: อนุญาตเมื่อ %{date}
+        description_html: นี่คือแอปพลิเคชันที่สามารถเข้าถึงบัญชีของคุณโดยใช้ API หากมีแอปพลิเคชันที่คุณไม่รู้จักที่นี่ หรือแอปพลิเคชันทำงานผิดปกติ คุณสามารถเพิกถอนการเข้าถึงของแอปพลิเคชัน
+        last_used_at: ใช้ล่าสุดเมื่อ %{date}
+        never_used: ไม่เคยใช้
+        scopes: สิทธิอนุญาต
+        superapp: ภายใน
         title: แอปพลิเคชันที่ได้รับอนุญาตของคุณ
     errors:
       messages:
@@ -100,6 +102,33 @@ th:
       authorized_applications:
         destroy:
           notice: เพิกถอนแอปพลิเคชันแล้ว
+    grouped_scopes:
+      access:
+        read: การเข้าถึงแบบอ่านเท่านั้น
+        read/write: การเข้าถึงแบบอ่านและเขียน
+        write: การเข้าถึงแบบเขียนเท่านั้น
+      title:
+        accounts: บัญชี
+        admin/accounts: การดูแลบัญชี
+        admin/all: ฟังก์ชันการดูแลทั้งหมด
+        admin/reports: การดูแลรายงาน
+        all: ทุกอย่าง
+        blocks: การปิดกั้น
+        bookmarks: ที่คั่นหน้า
+        conversations: การสนทนา
+        crypto: การเข้ารหัสแบบต้นทางถึงปลายทาง
+        favourites: รายการโปรด
+        filters: ตัวกรอง
+        follow: ความสัมพันธ์
+        follows: การติดตาม
+        lists: รายการ
+        media: ไฟล์แนบสื่อ
+        mutes: การซ่อน
+        notifications: การแจ้งเตือน
+        push: การแจ้งเตือนแบบผลัก
+        reports: การรายงาน
+        search: ค้นหา
+        statuses: โพสต์
     layouts:
       admin:
         nav:
@@ -114,6 +143,7 @@ th:
       admin:write: ปรับเปลี่ยนข้อมูลทั้งหมดในเซิร์ฟเวอร์
       admin:write:accounts: ทำการกระทำการควบคุมบัญชี
       admin:write:reports: ทำการกระทำการควบคุมรายงาน
+      crypto: ใช้การเข้ารหัสแบบต้นทางถึงปลายทาง
       follow: ปรับเปลี่ยนความสัมพันธ์ของบัญชี
       push: รับการแจ้งเตือนแบบผลักของคุณ
       read: อ่านข้อมูลบัญชีทั้งหมดของคุณ
@@ -133,6 +163,7 @@ th:
       write:accounts: ปรับเปลี่ยนโปรไฟล์ของคุณ
       write:blocks: ปิดกั้นบัญชีและโดเมน
       write:bookmarks: เพิ่มที่คั่นหน้าโพสต์
+      write:conversations: ซ่อนและลบการสนทนา
       write:favourites: ชื่นชอบโพสต์
       write:filters: สร้างตัวกรอง
       write:follows: ติดตามผู้คน
diff --git a/config/locales/doorkeeper.tr.yml b/config/locales/doorkeeper.tr.yml
index 8019b421a..351d271d0 100644
--- a/config/locales/doorkeeper.tr.yml
+++ b/config/locales/doorkeeper.tr.yml
@@ -60,8 +60,8 @@ tr:
       error:
         title: Bir hata oluştu
       new:
-        able_to: 'Şunları yapabilecek:'
-        prompt: "%{client_name} uygulaması hesabınıza erişim istiyor"
+        prompt_html: "%{client_name} hesabınıza erişme izni istiyor. Bu üçüncü taraf bir uygulamadır. <strong>Eğer güvenmiyorsanız, izin vermemelisiniz.</strong>"
+        review_permissions: İzinleri incele
         title: İzin gerekli
       show:
         title: Bu yetkilendirme kodunu kopyalayın ve uygulamaya yapıştırın.
@@ -71,10 +71,12 @@ tr:
       confirmations:
         revoke: Emin misiniz?
       index:
-        application: Uygulama
-        created_at: Yetkili
-        date_format: "%m-%d-%Y %H:%M:%S"
-        scopes: Kapsamlar
+        authorized_at: "%{date} tarihinde onaylandı"
+        description_html: Bunlar, API aracılığıyla hesabınıza erişebilen uygulamalardır. Eğer burada tanımadığınız uygulamalar veya kötü davranan bir uygulama var, erişimini kaldırabilirsiniz.
+        last_used_at: En son %{date} tarihinde kullanıldı
+        never_used: Hiç kullanılmadı
+        scopes: İzinler
+        superapp: Dahili
         title: Yetkili uygulamalarınız
     errors:
       messages:
@@ -110,6 +112,33 @@ tr:
       authorized_applications:
         destroy:
           notice: Uygulama iptal edildi.
+    grouped_scopes:
+      access:
+        read: Sadece okuma erişimi
+        read/write: Okuma ve yazma erişimi
+        write: Sadece yazma erişimi
+      title:
+        accounts: Hesaplar
+        admin/accounts: Hesapların yönetimi
+        admin/all: Tüm yönetsel işlevler
+        admin/reports: Şikayetlerin yönetimi
+        all: Her şey
+        blocks: Engeller
+        bookmarks: Yer imleri
+        conversations: Sohbetler
+        crypto: Uçtan uca şifreleme
+        favourites: Beğeniler
+        filters: Filtreler
+        follow: İlişkiler
+        follows: Takip edilenler
+        lists: Listeler
+        media: Medya ekleri
+        mutes: Sessize alınanlar
+        notifications: Bildirimler
+        push: Anlık bildirimler
+        reports: Şikayetler
+        search: Arama
+        statuses: Gönderiler
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ tr:
       admin:write: sunucudaki tüm verileri değiştirin
       admin:write:accounts: hesaplarda denetleme eylemleri gerçekleştirin
       admin:write:reports: raporlarda denetleme eylemleri gerçekleştirin
+      crypto: uçtan uca şifreleme kullan
       follow: hesap ilişkilerini değiştirin
       push: anlık bildirimlerizi alın
       read: hesabınızın tüm verilerini okuyun
@@ -143,6 +173,7 @@ tr:
       write:accounts: profilinizi değiştirin
       write:blocks: hesapları ve alan adlarını engelleyin
       write:bookmarks: durumları yer imleyin
+      write:conversations: sessize al ve sohbetleri sil
       write:favourites: durumları beğenin
       write:filters: filtreler oluşturun
       write:follows: insanları takip edin
diff --git a/config/locales/doorkeeper.tt.yml b/config/locales/doorkeeper.tt.yml
index af6e8f180..41af088bf 100644
--- a/config/locales/doorkeeper.tt.yml
+++ b/config/locales/doorkeeper.tt.yml
@@ -10,6 +10,3 @@ tt:
         delete: Бетерү
         name: Исем
         show: Күрсәтү
-    authorized_applications:
-      index:
-        date_format: "%Y-%m-%d %H:%M:%S"
diff --git a/config/locales/doorkeeper.uk.yml b/config/locales/doorkeeper.uk.yml
index 8d0d8e770..44562f4b8 100644
--- a/config/locales/doorkeeper.uk.yml
+++ b/config/locales/doorkeeper.uk.yml
@@ -60,8 +60,6 @@ uk:
       error:
         title: Сталася помилка
       new:
-        able_to: Він зможе
-        prompt: Додаток %{client_name} запитує доступ до вашого облікового запису
         title: Необхідна авторизація
       show:
         title: Скопіюйте цей код авторизації та вставте його у додаток.
@@ -71,9 +69,7 @@ uk:
       confirmations:
         revoke: Ви впевнені?
       index:
-        application: Додаток
-        created_at: Авторизовано
-        date_format: "%d-%m-%Y %H:%M:%S"
+        never_used: Ніколи не використовувалися
         scopes: Дозволи
         title: Ваші авторизовані додатки
     errors:
@@ -110,6 +106,19 @@ uk:
       authorized_applications:
         destroy:
           notice: Авторизацію додатка відкликано.
+    grouped_scopes:
+      title:
+        accounts: Облікові записи
+        all: Усе
+        crypto: Наскрізне шифрування
+        filters: Фільтри
+        lists: Списки
+        media: Мультимедійні вкладення
+        notifications: Сповіщення
+        push: Push-сповіщення
+        reports: Скарги
+        search: Пошук
+        statuses: Дописи
     layouts:
       admin:
         nav:
@@ -124,6 +133,7 @@ uk:
       admin:write: модифікувати всі дані на сервері
       admin:write:accounts: модерувати облікові записи
       admin:write:reports: модерувати скарги
+      crypto: використовувати наскрізне шифрування
       follow: змінювати стосунки облікового запису
       push: отримувати Ваші Push-повідомлення
       read: читати усі дані вашого облікового запису
diff --git a/config/locales/doorkeeper.vi.yml b/config/locales/doorkeeper.vi.yml
index 585d7ce07..4acfd9977 100644
--- a/config/locales/doorkeeper.vi.yml
+++ b/config/locales/doorkeeper.vi.yml
@@ -60,8 +60,8 @@ vi:
       error:
         title: Một lỗi đã xảy ra
       new:
-        able_to: Nó sẽ có thể
-        prompt: Ứng dụng %{client_name} yêu cầu quyền truy cập vào tài khoản của bạn
+        prompt_html: "%{client_name} yêu cầu truy cập tài khoản của bạn. Đây là ứng dụng của bên thứ ba. <strong>Nếu không tin tưởng, đừng cho phép nó.</strong>"
+        review_permissions: Xem lại quyền cho phép
         title: Yêu cầu truy cập
       show:
         title: Sao chép mã này và dán nó vào ứng dụng.
@@ -71,10 +71,12 @@ vi:
       confirmations:
         revoke: Bạn có chắc không?
       index:
-        application: Ứng dụng
-        created_at: Đã cho phép
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: Quyền hạn
+        authorized_at: Cấp quyền vào %{date}
+        description_html: Đây là những ứng dụng có thể truy cập tài khoản của bạn bằng API. Nếu có ứng dụng bạn không nhận ra ở đây hoặc ứng dụng hoạt động sai, bạn có thể thu hồi quyền truy cập của ứng dụng đó.
+        last_used_at: Dùng gần nhất vào %{date}
+        never_used: Chưa dùng bao giờ
+        scopes: Quyền cho phép
+        superapp: Đang dùng
         title: Các ứng dụng đang cho phép
     errors:
       messages:
@@ -110,6 +112,33 @@ vi:
       authorized_applications:
         destroy:
           notice: Đã gỡ bỏ ứng dụng.
+    grouped_scopes:
+      access:
+        read: Chỉ đọc
+        read/write: Đọc và ghi
+        write: Chỉ ghi
+      title:
+        accounts: Tài khoản
+        admin/accounts: Quản trị tài khoản
+        admin/all: Mọi chức năng quản trị
+        admin/reports: Quản trị báo cáo
+        all: Tất cả
+        blocks: Chặn
+        bookmarks: Tút đã lưu
+        conversations: Thảo luận
+        crypto: Mã hóa đầu cuối
+        favourites: Lượt thích
+        filters: Bộ lọc
+        follow: Mối quan hệ
+        follows: Đang theo dõi
+        lists: Danh sách
+        media: Tập tin đính kèm
+        mutes: Đã ẩn
+        notifications: Thông báo
+        push: Thông báo đẩy
+        reports: Báo cáo
+        search: Tìm kiếm
+        statuses: Tút
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ vi:
       admin:write: sửa đổi tất cả dữ liệu trên máy chủ
       admin:write:accounts: áp đặt hành động kiểm duyệt trên tài khoản
       admin:write:reports: áp đặt kiểm duyệt với các báo cáo
+      crypto: dùng mã hóa đầu cuối
       follow: sửa đổi các mối quan hệ tài khoản
       push: nhận thông báo đẩy của bạn
       read: đọc tất cả dữ liệu tài khoản của bạn
@@ -143,6 +173,7 @@ vi:
       write:accounts: sửa đổi trang cá nhân của bạn
       write:blocks: chặn người dùng và máy chủ
       write:bookmarks: sửa đổi những thứ bạn lưu
+      write:conversations: ẩn và xóa thảo luận
       write:favourites: lượt thích
       write:filters: tạo bộ lọc
       write:follows: theo dõi ai đó
diff --git a/config/locales/doorkeeper.zgh.yml b/config/locales/doorkeeper.zgh.yml
index d34b8109c..53c5181d4 100644
--- a/config/locales/doorkeeper.zgh.yml
+++ b/config/locales/doorkeeper.zgh.yml
@@ -37,15 +37,10 @@ zgh:
       buttons:
         authorize: ⵙⵙⵓⵔⴳ
         deny: ⴰⴳⵢ
-      new:
-        prompt: ⵜⵙⵙⵓⵜⵓⵔ ⵜⵙⵏⵙⵉ %{client_name} ⴰⵙⴰⴷⴼ ⵖⵔ ⵓⵎⵉⴹⴰⵏ ⵏⵏⴽ
     authorized_applications:
       confirmations:
         revoke: ⵉⵙ ⵏⵉⵜ?
       index:
-        application: ⵜⵉⵙⵏⵙⵉ
-        created_at: ⵜⴻⵜⵜⵓⵙⵓⵔⴳ
-        date_format: "%d-%m-%Y %H:%M:%S"
         title: ⵜⵉⵙⵏⵙⵉⵡⵉⵏ ⵏⵏⴽ ⵉⵜⵜⵓⵙⵓⵔⴷⵏ
     flash:
       applications:
diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml
index 4a2c97e34..f612ac067 100644
--- a/config/locales/doorkeeper.zh-CN.yml
+++ b/config/locales/doorkeeper.zh-CN.yml
@@ -60,8 +60,8 @@ zh-CN:
       error:
         title: 发生错误
       new:
-        able_to: 此应用将能够
-        prompt: "%{client_name} 应用想要授权访问你的账户"
+        prompt_html: "%{client_name} 希望得到访问你账号的许可。这是一个第三方应用。<strong>如果你不信任它,那么你不应该授权它。</strong>"
+        review_permissions: 检查权限
         title: 需要授权
       show:
         title: 接下来请复制此处的授权代码并粘贴到应用中。
@@ -71,10 +71,12 @@ zh-CN:
       confirmations:
         revoke: 确定要撤销对此应用的授权吗?
       index:
-        application: 应用
-        created_at: 授权时间
-        date_format: "%Y 年 %m 月 %d 日 %H:%M:%S"
-        scopes: 权限范围
+        authorized_at: 授权于 %{date}
+        description_html: 这些是可以使用 API 访问你账号的应用程序。如果这里有你不认识的应用程序,或者某个应用程序行为异常,你可以撤销其访问权限。
+        last_used_at: 最后一次使用 %{date}
+        never_used: 从未使用
+        scopes: 权限
+        superapp: 内部
         title: 已授权的应用列表
     errors:
       messages:
@@ -110,6 +112,33 @@ zh-CN:
       authorized_applications:
         destroy:
           notice: 已成功撤销对此应用的授权
+    grouped_scopes:
+      access:
+        read: 只读权限
+        read/write: 读写权限
+        write: 仅写入权限
+      title:
+        accounts: 账号
+        admin/accounts: 账号管理
+        admin/all: 所有管理功能
+        admin/reports: 管理报表
+        all: 所有
+        blocks: 屏蔽
+        bookmarks: 收藏
+        conversations: 会话
+        crypto: 端到端加密
+        favourites: 喜欢
+        filters: 过滤器
+        follow: 关系
+        follows: 关注
+        lists: 列表
+        media: 媒体文件
+        mutes: 静音
+        notifications: 通知
+        push: 推送通知
+        reports: 报告
+        search: 搜索
+        statuses: 嘟文
     layouts:
       admin:
         nav:
@@ -119,11 +148,12 @@ zh-CN:
         title: 需要 OAuth 认证
     scopes:
       admin:read: 读取服务器上的所有数据
-      admin:read:accounts: 读取所有帐号的敏感信息
-      admin:read:reports: 读取所有举报和被举报帐号的敏感信息
+      admin:read:accounts: 读取所有账号的敏感信息
+      admin:read:reports: 读取所有举报和被举报账号的敏感信息
       admin:write: 修改服务器上的所有数据
-      admin:write:accounts: 对帐号执行管理操作
+      admin:write:accounts: 对账号执行管理操作
       admin:write:reports: 对举报执行管理操作
+      crypto: 使用端到端加密
       follow: 关注或屏蔽用户
       push: 接收你的帐户的推送通知
       read: 读取你的帐户数据
@@ -143,6 +173,7 @@ zh-CN:
       write:accounts: 修改你的个人资料
       write:blocks: 屏蔽账号和域名
       write:bookmarks: 为嘟文添加书签
+      write:conversations: 静音并删除会话
       write:favourites: 喜欢的嘟文
       write:filters: 创建过滤器
       write:follows: 关注其他人
diff --git a/config/locales/doorkeeper.zh-HK.yml b/config/locales/doorkeeper.zh-HK.yml
index 60c64cc31..30610ef09 100644
--- a/config/locales/doorkeeper.zh-HK.yml
+++ b/config/locales/doorkeeper.zh-HK.yml
@@ -60,8 +60,6 @@ zh-HK:
       error:
         title: 發生錯誤
       new:
-        able_to: 它將可以
-        prompt: 應用程式 %{client_name} 要求得到你用戶的部份權限
         title: 需要用戶授權
       show:
         title: 請把這個授權碼複製到應用程式中。
@@ -71,10 +69,6 @@ zh-HK:
       confirmations:
         revoke: 是否確定要取消授權?
       index:
-        application: 應用程式
-        created_at: 授權日期
-        date_format: "%Y年%m月%d日 %H:%M:%S"
-        scopes: 權限範圍 (Scopes)
         title: 已獲你授權的程用程式
     errors:
       messages:
diff --git a/config/locales/doorkeeper.zh-TW.yml b/config/locales/doorkeeper.zh-TW.yml
index 912924787..9a777c28b 100644
--- a/config/locales/doorkeeper.zh-TW.yml
+++ b/config/locales/doorkeeper.zh-TW.yml
@@ -60,8 +60,8 @@ zh-TW:
       error:
         title: 發生錯誤
       new:
-        able_to: 這將允許其作:
-        prompt: 應用程式 %{client_name} 要求取得您帳戶的存取權限
+        prompt_html: "%{client_name} 欲請求存取您帳號之權限。這是一個第三方應用程式。<strong>若您不信任該應用程式,請不要授權。</strong>"
+        review_permissions: 檢視權限
         title: 需要授權
       show:
         title: 複製此授權碼並貼上到應用程式中。
@@ -71,10 +71,12 @@ zh-TW:
       confirmations:
         revoke: 確定撤銷?
       index:
-        application: 應用程式
-        created_at: 授權於
-        date_format: "%Y-%m-%d %H:%M:%S"
-        scopes: 範圍
+        authorized_at: 於 %{date} 授權
+        description_html: 這些應用程式能透過 API 存取您的帳號。若有您不認得之應用程式,或應用程式行為異常,您可以於此註銷其存取權限。
+        last_used_at: 上次使用時間 %{date}
+        never_used: 從未使用
+        scopes: 權限
+        superapp: 內部
         title: 已授權的應用程式
     errors:
       messages:
@@ -110,6 +112,33 @@ zh-TW:
       authorized_applications:
         destroy:
           notice: 已撤銷應用程式。
+    grouped_scopes:
+      access:
+        read: 唯讀權限
+        read/write: 讀寫權限
+        write: 唯寫權限
+      title:
+        accounts: 帳號
+        admin/accounts: 帳號管理
+        admin/all: 所有管理功能
+        admin/reports: 檢舉報告管理
+        all: 全部
+        blocks: 封鎖
+        bookmarks: 書籤
+        conversations: 對話
+        crypto: 端到端加密
+        favourites: 最愛
+        filters: 過濾器
+        follow: 關係
+        follows: 跟隨的使用者
+        lists: 名單
+        media: 多媒體附加檔案
+        mutes: 靜音
+        notifications: 通知
+        push: 推播通知
+        reports: 檢舉報告
+        search: 搜尋
+        statuses: 嘟文
     layouts:
       admin:
         nav:
@@ -124,6 +153,7 @@ zh-TW:
       admin:write: 修改伺服器的所有資料
       admin:write:accounts: 對帳戶進行仲裁管理動作
       admin:write:reports: 對報告進行仲裁管理動作
+      crypto: 使用端到端加密
       follow: 修改帳戶關係
       push: 接收帳戶的推播通知
       read: 讀取您所有的帳戶資料
@@ -143,6 +173,7 @@ zh-TW:
       write:accounts: 修改您的個人檔案
       write:blocks: 封鎖帳戶及站台
       write:bookmarks: 書籤狀態
+      write:conversations: 靜音及刪除對話
       write:favourites: 收藏嘟文
       write:filters: 建立過濾條件
       write:follows: 關注其他人
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 328c28186..f14420306 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -25,6 +25,7 @@ el:
       Αυτός ο λογαριασμός είναι εικονικός και απεικονίζει ολόκληρο τον κόμβο, όχι κάποιο συγκεκριμένο χρήστη.
       Χρησιμεύει στη λειτουργία της ομοσπονδίας και δε θα πρέπει να αποκλειστεί, εκτός κι αν είναι επιθυμητός ο αποκλεισμός ολόκληρου του κόμβου. Σε αυτή την περίπτωση θα πρέπει να χρησιμοποιηθεί η λειτουργία αποκλεισμού τομέα.
     learn_more: Μάθε περισσότερα
+    logout_before_registering: Είστε ήδη συνδεδεμένοι.
     privacy_policy: Πολιτική απορρήτου
     rules: Κανόνες διακομιστή
     rules_html: 'Παρακάτω είναι μια σύνοψη των κανόνων που πρέπει να ακολουθήσετε αν θέλετε να έχετε ένα λογαριασμό σε αυτόν τον διακομιστή Mastodon:'
@@ -68,7 +69,6 @@ el:
     media: Πολυμέσα
     moved_html: 'Ο/Η %{name} μετακόμισε στο %{new_profile_link}:'
     network_hidden: Αυτή η πληροφορία δεν είναι διαθέσιμη
-    never_active: Ποτέ
     nothing_here: Δεν υπάρχει τίποτα εδώ!
     people_followed_by: Χρήστες που ακολουθεί ο/η %{name}
     people_who_follow: Χρήστες που ακολουθούν τον/την %{name}
@@ -306,7 +306,7 @@ el:
       enable: Ενεργοποίηση
       enabled: Ενεργοποιημένα
       enabled_msg: Επιτυχής ενεργοποίηση αυτού του emoji
-      image_hint: PNG έως 50KB
+      image_hint: PNG ή GIF έως %{size}
       list: Εμφάνιση
       listed: Αναφερθέντα
       new:
@@ -358,17 +358,6 @@ el:
       reject_media_hint: Αφαιρεί τα τοπικά αποθηκευμένα αρχεία πολυμέσων και αποτρέπει τη λήψη άλλων στο μέλλον. Δεν έχει σημασία για τις αναστολές
       reject_reports: Απόρριψη καταγγελιών
       reject_reports_hint: Αγνόηση όσων καταγγελιών προέρχονται από αυτό τον τομέα. Δεν σχετίζεται με τις παύσεις
-      rejecting_media: απορρίπτουν αρχεία πολυμέσων
-      rejecting_reports: απορρίπτουν καταγγελίες
-      severity:
-        silence: αποσιωπημένοι
-        suspend: ανεσταλμένοι
-      show:
-        retroactive:
-          silence: Αναίρεση αποσιώπησης όλων των λογαριασμός του τομέα
-          suspend: Αναίρεση αναστολής όλων των λογαριασμών του τομέα
-        title: Αναίρεση αποκλεισμού για τον τομέα %{domain}
-        undo: Αναίρεση
       undo: Αναίρεση
       view: Εμφάνιση αποκλεισμού τομέα
     email_domain_blocks:
@@ -474,6 +463,7 @@ el:
       forwarded: Προωθημένα
       forwarded_to: Προώθημένα προς %{domain}
       mark_as_resolved: Σημειωμένο ως επιλυμένο
+      mark_as_sensitive: Σήμανση ως ευαίσθητο
       mark_as_unresolved: Σημειωμένο ως ανεπίλυτο
       no_one_assigned: Κανένας
       notes:
@@ -1104,7 +1094,7 @@ el:
     disallowed_hashtags:
       one: 'περιέχει μη επιτρεπτή ετικέτα: %{tags}'
       other: περιέχει μη επιτρεπτές ετικέτες %{tags}
-    edited_at: Επεξεργάστηκε στις %{date}
+    edited_at_html: Επεξεργάστηκε στις %{date}
     errors:
       in_reply_not_found: Η κατάσταση στην οποία προσπαθείτε να απαντήσετε δεν υπάρχει.
     open_in_web: Δες στο διαδίκτυο
@@ -1134,6 +1124,16 @@ el:
       public_long: Βλέπει οποιοσδήποτε
       unlisted: Μη καταχωρημένο
       unlisted_long: Βλέπει οποιοσδήποτε, αλλά δεν καταχωρείται στις δημόσιες ροές
+  statuses_cleanup:
+    min_age:
+      '1209600': 2 weeks
+      '15778476': 6 months
+      '2629746': 1 month
+      '31556952': 1 year
+      '5259492': 2 months
+      '604800': 1 εβδομάδα
+      '63113904': 2 years
+      '7889238': 3 months
   stream_entries:
     pinned: Καρφιτσωμένο τουτ
     reblogged: προωθημένο
@@ -1265,7 +1265,6 @@ el:
       title:
         disable: Παγωμένος λογαριασμός
         none: Προειδοποίηση
-        sensitive: Κρυμμένο πολυμέσο
         silence: Περιορισμένος λογαριασμός
         suspend: Λογαριασμός σε αναστολή
     welcome:
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 1964285b0..d4a42e867 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -373,7 +373,7 @@ en:
       enable: Enable
       enabled: Enabled
       enabled_msg: Successfully enabled that emoji
-      image_hint: PNG up to 50KB
+      image_hint: PNG or GIF up to %{size}
       list: List
       listed: Listed
       new:
@@ -450,21 +450,6 @@ en:
       reject_media_hint: Removes locally stored media files and refuses to download any in the future. Irrelevant for suspensions
       reject_reports: Reject reports
       reject_reports_hint: Ignore all reports coming from this domain. Irrelevant for suspensions
-      rejecting_media: rejecting media files
-      rejecting_reports: rejecting reports
-      severity:
-        silence: limited
-        suspend: suspended
-      show:
-        affected_accounts:
-          one: One account in the database affected
-          other: "%{count} accounts in the database affected"
-          zero: No account in the database is affected
-        retroactive:
-          silence: Undo limit of existing affected accounts from this domain
-          suspend: Unsuspend existing affected accounts from this domain
-        title: Undo domain block for %{domain}
-        undo: Undo
       undo: Undo domain block
       view: View domain block
     email_domain_blocks:
@@ -495,23 +480,47 @@ en:
       title: Follow recommendations
       unsuppress: Restore follow recommendation
     instances:
+      availability:
+        description_html:
+          one: If delivering to the domain fails <strong>%{count} day</strong> without succeeding, no further delivery attempts will be made unless a delivery <em>from</em> the domain is received.
+          other: If delivering to the domain fails on <strong>%{count} different days</strong> without succeeding, no further delivery attempts will be made unless a delivery <em>from</em> the domain is received.
+        failure_threshold_reached: Failure threshold reached on %{date}.
+        failures_recorded:
+          one: Failed attempt on %{count} day.
+          other: Failed attempts on %{count} different days.
+        no_failures_recorded: No failures on record.
+        title: Availability
       back_to_all: All
       back_to_limited: Limited
       back_to_warning: Warning
       by_domain: Domain
       confirm_purge: Are you sure you want to permanently delete data from this domain?
+      content_policies:
+        comment: Internal note
+        description_html: You can define content policies that will be applied to all accounts from this domain and any of its subdomains.
+        policies:
+          reject_media: Reject media
+          reject_reports: Reject reports
+          silence: Limit
+          suspend: Suspend
+        policy: Policy
+        reason: Public reason
+        title: Content policies
+      dashboard:
+        instance_accounts_dimension: Most followed accounts
+        instance_accounts_measure: stored accounts
+        instance_followers_measure: our followers there
+        instance_follows_measure: their followers here
+        instance_languages_dimension: Top languages
+        instance_media_attachments_measure: stored media attachments
+        instance_reports_measure: reports about them
+        instance_statuses_measure: stored posts
       delivery:
         all: All
         clear: Clear delivery errors
         restart: Restart delivery
         stop: Stop delivery
-        title: Delivery
         unavailable: Unavailable
-        unavailable_message: Delivery unavailable
-        warning: Warning
-        warning_message:
-          one: Delivery failure %{count} day
-          other: Delivery failure %{count} days
       delivery_available: Delivery is available
       delivery_error_days: Delivery error days
       delivery_error_hint: If delivery is not possible for %{count} days, it will be automatically marked as undeliverable.
@@ -528,12 +537,14 @@ en:
       private_comment: Private comment
       public_comment: Public comment
       purge: Purge
+      purge_description_html: If you believe this domain is offline for good, you can delete all account records and associated data from this domain from your storage. This may take a while.
       title: Federation
       total_blocked_by_us: Blocked by us
       total_followed_by_them: Followed by them
       total_followed_by_us: Followed by us
       total_reported: Reports about them
       total_storage: Media attachments
+      totals_time_period_hint_html: The totals displayed below include data for all time.
     invites:
       deactivate_all: Deactivate all
       filter:
@@ -1427,7 +1438,7 @@ en:
     disallowed_hashtags:
       one: 'contained a disallowed hashtag: %{tags}'
       other: 'contained the disallowed hashtags: %{tags}'
-    edited_at: Edited %{date}
+    edited_at_html: Edited %{date}
     errors:
       in_reply_not_found: The post you are trying to reply to does not appear to exist.
     open_in_web: Open in web
@@ -1640,7 +1651,6 @@ en:
         sensitive: From now on, all your uploaded media files will be marked as sensitive and hidden behind a click-through warning.
         silence: You can still use your account but only people who are already following you will see your posts on this server, and you may be excluded from various discovery features. However, others may still manually follow you.
         suspend: You can no longer use your account, and your profile and other data are no longer accessible. You can still login to request a backup of your data until the data is fully removed in about 30 days, but we will retain some basic data to prevent you from evading the suspension.
-      get_in_touch: If you believe this is an error, you can reply to this e-mail to get in touch with the staff of %{instance}.
       reason: 'Reason:'
       statuses: 'Posts cited:'
       subject:
diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml
index de74e0f61..a287810aa 100644
--- a/config/locales/en_GB.yml
+++ b/config/locales/en_GB.yml
@@ -220,7 +220,6 @@ en_GB:
       emoji: Emoji
       enable: Enable
       enabled_msg: Successfully enabled that emoji
-      image_hint: PNG up to 50KB
       listed: Listed
       new:
         title: Add new custom emoji
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index 5a922e6a4..f9cc35533 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -25,6 +25,7 @@ eo:
       Ĉi tiu konto estas virtuala ulo uzata por reprezenti la servilon mem kaj ne iun apartan uzanton.
       Ĝi estas uzata por frataraj celoj kaj ĝi ne devus esti blokita krom se vi volas bloki la tutan servilon, tiuokaze vi devus uzi domajnan blokadon.
     learn_more: Lerni pli
+    logout_before_registering: Vi jam salutis.
     privacy_policy: Privateca politiko
     rules: Reguloj de la servilo
     see_whats_happening: Vidi kio okazas
@@ -61,7 +62,6 @@ eo:
     media: Aŭdovidaĵoj
     moved_html: "%{name} moviĝis al %{new_profile_link}:"
     network_hidden: Tiu informo ne estas disponebla
-    never_active: Neniam
     nothing_here: Estas nenio ĉi tie!
     people_followed_by: Sekvatoj de %{name}
     people_who_follow: Sekvantoj de %{name}
@@ -308,7 +308,6 @@ eo:
       enable: Ebligi
       enabled: Ebligita
       enabled_msg: Tiu emoĝio estis sukcese ebligita
-      image_hint: PNG ĝis 50KB
       list: Listo
       listed: Listigita
       new:
@@ -362,17 +361,6 @@ eo:
       reject_media_hint: Forigas aŭdovidaĵojn loke konservitajn kaj rifuzas alŝuti ajnan estonte. Ne koncernas haltigojn
       reject_reports: Malakcepti signalojn
       reject_reports_hint: Ignori ĉiujn signalojn el tiu domajno. Ne koncernas haltigojn
-      rejecting_media: aŭdovidaj dosieroj malakceptiĝas
-      rejecting_reports: malakceptas signalojn
-      severity:
-        silence: silentigita
-        suspend: haltigita
-      show:
-        retroactive:
-          silence: Malkaŝi ĉiujn kontojn, kiuj ekzistas en ĉi tiu domajno
-          suspend: Malhaltigi ĉiujn kontojn, kiuj ekzistas en ĉi tiu domajno
-        title: Malfari blokadon de domajno %{domain}
-        undo: Malfari
       undo: Malfari
       view: Vidi domajna blokado
     email_domain_blocks:
@@ -397,7 +385,6 @@ eo:
       by_domain: Domajno
       delivery:
         all: Ĉiuj
-        warning: Averto
       delivery_available: Liverado disponeblas
       empty: Neniuj domajnoj trovitaj.
       moderation:
@@ -511,7 +498,7 @@ eo:
         all: Al ciuj
         disabled: Al neniu
         title: Vidi domajna blokado
-        users: Al ensalutintaj lokaj uzantoj
+        users: Al salutintaj lokaj uzantoj
       domain_blocks_rationale:
         title: Montri la kialon
       hero:
@@ -656,8 +643,8 @@ eo:
     invalid_reset_password_token: Ĵetono por restarigi pasvorton nevalida aŭ eksvalida. Bonvolu peti novan.
     link_to_webauth: Uzi vian sekurecan ŝlosilon
     log_in_with: Ensaluti per
-    login: Ensaluti
-    logout: Elsaluti
+    login: Saluti
+    logout: Adiaŭi
     migrate_account: Movi al alia konto
     migrate_account_html: Se vi deziras alidirekti ĉi tiun konton al alia, vi povas <a href="%{path}">agordi ĝin ĉi tie</a>.
     or_log_in_with: Aŭ ensaluti per
@@ -1118,6 +1105,7 @@ eo:
       '2629746': 1 monato
       '31556952': 1 jaro
       '5259492': 2 monatoj
+      '604800': 1 week
       '63113904': 2 jaroj
       '7889238': 3 monatoj
   stream_entries:
@@ -1189,7 +1177,7 @@ eo:
     invalid_sign_in_token: Nevalida sekureca kodo
     otp_lost_help_html: Se vi perdas aliron al ambaŭ, vi povas kontakti %{email}
     seamless_external_login: Vi estas ensalutinta per ekstera servo, do pasvortaj kaj retadresaj agordoj ne estas disponeblaj.
-    signed_in_as: 'Ensalutinta kiel:'
+    signed_in_as: 'Salutinta kiel:'
   verification:
     explanation_html: 'Vi povas <strong>pruvi, ke vi estas la posedanto de la ligiloj en viaj profilaj metadatumoj</strong>. Por fari tion, la alligita retejo devas enhavi ligilon reen al via Mastodon-profilo. La religilo <strong>devas</strong> havi la atributon <code>rel="me"</code>. Ne gravas la teksta enhavo de la religilo. Jen ekzemplo:'
     verification: Kontrolo
diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml
index 8956f8dd7..7dee30a27 100644
--- a/config/locales/es-AR.yml
+++ b/config/locales/es-AR.yml
@@ -16,6 +16,7 @@ es-AR:
     contact: Contacto
     contact_missing: No establecido
     contact_unavailable: No disponible
+    continue_to_web: Continuar con la aplicación web
     discover_users: Descubrí usuarios
     documentation: Documentación
     federation_hint_html: Con una cuenta en %{instance} vas a poder seguir a cuentas de cualquier servidor de Mastodon y más allá.
@@ -25,6 +26,8 @@ es-AR:
       Esta cuenta es un actor virtual usado para representar al propio servidor y no a ningún usuario individual.
       Se usa para fines federativos y no debe ser bloqueado a menos que quieras bloquear toda la instancia, en cuyo caso deberías usar un bloqueo de dominio.
     learn_more: Aprendé más
+    logged_in_as_html: Actualmente iniciaste sesión como %{username}.
+    logout_before_registering: Ya iniciaste sesión.
     privacy_policy: Política de privacidad
     rules: Reglas del servidor
     rules_html: 'Abajo hay un resumen de las reglas que tenés que seguir si querés tener una cuenta en este servidor de Mastodon:'
@@ -69,7 +72,6 @@ es-AR:
     media: Medios
     moved_html: "%{name} se mudó a %{new_profile_link}:"
     network_hidden: Esta información no está disponible
-    never_active: Nunca
     nothing_here: "¡No hay nada acá!"
     people_followed_by: "%{name} sigue a estas personas"
     people_who_follow: Estas personas siguen a %{name}
@@ -371,7 +373,7 @@ es-AR:
       enable: Habilitar
       enabled: Habilitado
       enabled_msg: Se habilitó ese emoji exitosamente
-      image_hint: PNG de hasta 50KB
+      image_hint: PNG o GIF, hasta %{size}
       list: Listar
       listed: Listados
       new:
@@ -448,21 +450,6 @@ es-AR:
       reject_media_hint: Quita los archivos de medios almacenados e impide la descarga en el futuro. Irrelevante para suspensiones
       reject_reports: Rechazar denuncias
       reject_reports_hint: Ignora todas las denuncias que vengan de este dominio. Irrelevante para suspensiones
-      rejecting_media: rechazo de archivos de medios
-      rejecting_reports: rechazo de denuncias
-      severity:
-        silence: limitados
-        suspend: suspendidos
-      show:
-        affected_accounts:
-          one: Una cuenta en la base de datos afectada
-          other: "%{count} cuentas en la base de datos afectada"
-          zero: Ninguna cuenta en la base de datos está afectada
-        retroactive:
-          silence: Quitar límite de las cuentas existentes afectadas de este dominio
-          suspend: Quitar suspensión de las cuentas existentes afectadas de este dominio
-        title: Deshacer el bloqueo de dominio para %{domain}
-        undo: Deshacer
       undo: Deshacer bloqueo de dominio
       view: Ver bloqueo de dominio
     email_domain_blocks:
@@ -493,23 +480,47 @@ es-AR:
       title: Recomendaciones de cuentas para seguir
       unsuppress: Restablecer recomendaciones de cuentas para seguir
     instances:
+      availability:
+        description_html:
+          one: Si el envío al dominio falla durante <strong>%{count} día</strong> sin éxito, no se harán más intentos de entrega a menos que se reciba un envío <em>desde</em> el dominio.
+          other: Si el envío al dominio falla durante <strong>%{count} días</strong> sin éxito, no se harán más intentos de entrega a menos que se reciba un envío <em>desde</em> el dominio.
+        failure_threshold_reached: Umbral de límite de fallo alcanzado el %{date}.
+        failures_recorded:
+          one: Intento fallido en %{count} día.
+          other: Intentos fallidos en %{count} días.
+        no_failures_recorded: No hay fallos en el registro.
+        title: Disponibilidad
       back_to_all: Todos
       back_to_limited: Limitados
       back_to_warning: Advertencia
       by_domain: Dominio
       confirm_purge: "¿Estás seguro que querés eliminar permanentemente los datos de este dominio?"
+      content_policies:
+        comment: Nota interna
+        description_html: Podés definir políticas de contenido que se aplicarán a todas las cuentas de este dominio y a cualquiera de sus subdominios.
+        policies:
+          reject_media: Rechazar medios
+          reject_reports: Rechazar denuncias
+          silence: Limitar
+          suspend: Suspender
+        policy: Política
+        reason: Razón pública
+        title: Políticas de contenido
+      dashboard:
+        instance_accounts_dimension: Cuentas más seguidas
+        instance_accounts_measure: cuentas almacenadas
+        instance_followers_measure: nuestros seguidores allí
+        instance_follows_measure: sus seguidores aquí
+        instance_languages_dimension: Idiomas principales
+        instance_media_attachments_measure: archivos adjuntos almacenados
+        instance_reports_measure: denuncias sobre ellos
+        instance_statuses_measure: mensajes almacenados
       delivery:
         all: Todos
         clear: Limpiar errores de entrega
         restart: Reiniciar entrega
         stop: Detener entrega
-        title: Entrega
         unavailable: No disponible
-        unavailable_message: Entrega no disponible
-        warning: Advertencia
-        warning_message:
-          one: Falla de entrega %{count} día
-          other: Falla de entrega %{count} días
       delivery_available: La entrega está disponible
       delivery_error_days: Días de error de entrega
       delivery_error_hint: Si la entrega no es posible durante %{count} días, se marcará automáticamente como no entregable.
@@ -526,12 +537,14 @@ es-AR:
       private_comment: Comentario privado
       public_comment: Comentario público
       purge: Purgar
+      purge_description_html: Si creés que este dominio está fuera de línea para siempre, podés eliminar de tu almacenamiento todos los registros de cuentas y los datos asociados a este dominio. Esto puede llevar un tiempo.
       title: Federación
       total_blocked_by_us: Bloqueada por nosotros
       total_followed_by_them: Seguidas por ellos
       total_followed_by_us: Seguidas por nosotros
       total_reported: Denuncias sobre ellas
       total_storage: Adjuntos
+      totals_time_period_hint_html: Los datos totales mostrados a continuación incluyen datos para todo el tiempo.
     invites:
       deactivate_all: Desactivar todas
       filter:
@@ -586,6 +599,7 @@ es-AR:
       action_taken_by: Acción tomada por
       actions:
         delete_description_html: Los mensajes denunciados serán eliminados y se registrará un incumplimiento para ayudarte a escalar en futuras infracciones por la misma cuenta.
+        mark_as_sensitive_description_html: Los archivos de medios en los mensajes denunciados se marcarán como sensibles y se registrará un incumplimiento para ayudarte a escalar las futuras acciones de la misma cuenta.
         other_description_html: Ver más opciones para controlar el comportamiento de la cuenta y personalizar la comunicación de la cuenta denunciada.
         resolve_description_html: No se tomarán medidas contra la cuenta denunciada, no se registrará el incumplimiento, y se cerrará la denuncia.
         silence_description_html: El perfil será visible sólo para aquellos que ya sigan esta cuenta o que la busquen manualmente, limitando seriamente su alcance. Siempre puede ser revertido.
@@ -606,6 +620,7 @@ es-AR:
       forwarded: Reenviado
       forwarded_to: Reenviado a %{domain}
       mark_as_resolved: Marcar como resuelta
+      mark_as_sensitive: Marcado como sensible
       mark_as_unresolved: Marcar como no resuelta
       no_one_assigned: Nadie
       notes:
@@ -708,7 +723,7 @@ es-AR:
         desc_html: Párrafo introductorio en la API. Describe qué hace especial a este servidor de Mastodon y todo lo demás que sea importante. Podés usar etiquetas HTML, en particular <code>&lt;a&gt;</code> y <code>&lt;em&gt;</code>.
         title: Descripción del servidor
       site_description_extended:
-        desc_html: Un buen lugar para tu código de conducta, reglas, guías y otras cosas que definen tu servidor. Podés usar etiquets HTML
+        desc_html: Un buen lugar para tu código de conducta, reglas, directrices y otras cosas que definen tu servidor. Podés usar etiquets HTML
         title: Información extendida personalizada
       site_short_description:
         desc_html: Mostrado en la barra lateral y las etiquetas de metadatos. Describe qué es Mastodon y qué hace especial a este servidor en un solo párrafo.
@@ -749,6 +764,7 @@ es-AR:
       actions:
         delete_statuses: "%{name} eliminó los mensajes de %{target}"
         disable: "%{name} congeló la cuenta de %{target}"
+        mark_statuses_as_sensitive: "%{name} marcó los mensajes de %{target} como sensibles"
         none: "%{name} envió una advertencia a %{target}"
         sensitive: "%{name} marcó los medios de %{target} como sensibles"
         silence: "%{name} limitó la cuenta de %{target}"
@@ -774,6 +790,7 @@ es-AR:
       links:
         allow: Permitir enlace
         allow_provider: Permitir medio
+        description_html: Estos son enlaces que actualmente están siendo muy compartidos por cuentas desde las que tu servidor ve los mensajes. Esto puede ayudar a tus usuarios a averiguar qué está pasando en el mundo. No hay enlaces que se muestren públicamente hasta que autoricés al publicador. También podés permitir o rechazar enlaces individuales.
         disallow: Rechazar enlace
         disallow_provider: Rechazar medio
         shared_by_over_week:
@@ -785,14 +802,17 @@ es-AR:
       pending_review: Revisión pendiente
       preview_card_providers:
         allowed: Los enlaces de este medio pueden ser tendencia
+        description_html: Estos son dominios desde los que los enlaces a menudo se comparten en tu servidor. Los enlaces no serán tendencia públicamente a menos que se apruebe el dominio del enlace. Tu aprobación (o rechazo) se extiende a los subdominios.
         rejected: Los enlaces de este medio no serán tendencia
         title: Medios
       rejected: Rechazadas
       statuses:
         allow: Permitir mensaje
         allow_account: Permitir autor
+        description_html: Estos son mensajes que tu servidor detecta que están siendo compartidos y marcados como favoritos muchas veces en este momento. Esto puede ayudar a tus usuarios nuevos y retornantes a encontrar más cuentas para seguir. No hay mensajes que se muestren públicamente hasta que aprobés al autor, y el autor permita que su cuenta sea sugerida a otros. También podés permitir o rechazar mensajes individuales.
         disallow: Rechazar mensaje
         disallow_account: Rechazar autor
+        not_discoverable: El autor optó ser detectable
         shared_by:
           one: Compartido o marcado como favorito una vez
           other: Compartido y marcado como favorito %{friendly_count} veces
@@ -805,6 +825,7 @@ es-AR:
           tag_servers_dimension: Servidores principales
           tag_servers_measure: diferentes servidores
           tag_uses_measure: usos totales
+        description_html: Estas son etiquetas que están apareciendo en muchos mensajes que tu servidor ve. Esto puede ayudar a tus usuarios a averiguar de qué habla la gente en estos momentos. No hay etiquetas que se muestren públicamente hasta que las aprobés.
         listable: Pueden ser recomendadas
         not_listable: No serán recomendadas
         not_trendable: No aparecerán en tendencias
@@ -831,6 +852,7 @@ es-AR:
       actions:
         delete_statuses: para eliminar sus mensajes
         disable: para congelar su cuenta
+        mark_statuses_as_sensitive: para marcar sus mensajes como sensibles
         none: una advertencia
         sensitive: para marcar su cuenta como sensible
         silence: para limitar su cuenta
@@ -933,8 +955,10 @@ es-AR:
     status:
       account_status: Estado de la cuenta
       confirming: Esperando confirmación de correo electrónico.
+      functional: Tu cuenta está totalmente operativa.
       pending: Tu solicitud está pendiente de revisión por nuestra administración. Eso puede tardar algún tiempo. Si se aprueba tu solicitud, vas a recibir un correo electrónico.
       redirecting_to: Tu cuenta se encuentra inactiva porque está siendo redirigida a %{acct}.
+      view_strikes: Ver incumplimientos pasados contra tu cuenta
     too_fast: Formulario enviado demasiado rápido, probá de nuevo.
     trouble_logging_in: "¿Tenés problemas para iniciar sesión?"
     use_security_key: Usar la llave de seguridad
@@ -1010,6 +1034,7 @@ es-AR:
         submit: Enviar apelación
       associated_report: Denuncia asociada
       created_at: Con fecha
+      description_html: Estas son acciones tomadas contra tu cuenta y las advertencias que te han sido enviadas por el equipo de %{instance}.
       recipient: Dirigida a
       status: 'Mensaje #%{id}'
       status_removed: Mensaje ya eliminado del sistema
@@ -1017,6 +1042,7 @@ es-AR:
       title_actions:
         delete_statuses: Eliminación de mensaje
         disable: Congelación de cuenta
+        mark_statuses_as_sensitive: Marcado de mensajes como sensibles
         none: Advertencia
         sensitive: Marcado de cuenta como sensible
         silence: Limitación de cuenta
@@ -1390,6 +1416,7 @@ es-AR:
     profile: Perfil
     relationships: Seguimientos
     statuses_cleanup: Eliminación automática de mensajes
+    strikes: Moderación de incumplimientos
     two_factor_authentication: Autenticación de dos factores
     webauthn_authentication: Llaves de seguridad
   statuses:
@@ -1410,7 +1437,7 @@ es-AR:
     disallowed_hashtags:
       one: 'contenía una etiqueta no permitida: %{tags}'
       other: 'contenía las etiquetas no permitidas: %{tags}'
-    edited_at: Editado %{date}
+    edited_at_html: Editado el %{date}
     errors:
       in_reply_not_found: El mensaje al que intentás responder no existe.
     open_in_web: Abrir en la web
@@ -1469,6 +1496,7 @@ es-AR:
       '2629746': 1 mes
       '31556952': 1 año
       '5259492': 2 meses
+      '604800': 1 semana
       '63113904': 2 años
       '7889238': 3 meses
     min_age_label: Umbral de edad
@@ -1616,26 +1644,28 @@ es-AR:
         spam: Spam
         violation: El contenido viola las siguientes directrices de la comunidad
       explanation:
-        delete_statuses: Algunos de tus mensajes violan una o más directrices de la comunidad y por consiguiente fueron eliminados por los moderadores de %{instance}. Futuras violaciones pueden resultar en acciones punitivas más severas contra tu cuenta.
+        delete_statuses: Algunos de tus mensajes se encontraron violando una o más directrices de la comunidad y fueron eliminados posteriormente por los moderadores de %{instance}.
         disable: Ya no podés usar tu cuenta, pero tu perfil y el resto de datos permanecen intactos. Podés solicitar una copia de seguridad de tus datos, cambiar la configuración de tu cuenta, o eliminarla.
+        mark_statuses_as_sensitive: Algunos de tus mensajes fueron marcados como sensibles por los moderadores de %{instance}. Esto significa que la gente tendrá que hacer clic o darle un toque a los medios en los mensajes antes de que se muestre una vista previa. Podés marcar los medios como sensibles vos mismo cuando publiqués en el futuro.
         sensitive: A partir de ahora, todos tus archivos subidos serán marcados como sensibles y ocultos tras una advertencia en la que habrá que hacer clic.
         silence: Todavía podés usar tu cuenta, pero sólo las personas que te están siguiendo verán tus publicaciones en este servidor, y podrías ser excluido de varias funciones de descubrimiento. Sin embargo, otras cuentas podrán seguirte manualmente.
         suspend: Ya no podés usar tu cuenta, y tu perfil y el resto de datos ya no son accesibles. Todavía podés iniciar sesión para solicitar una copia de seguridad de tus datos, hasta que estos sean eliminados por completo en unos 30 días, aunque conservaremos algunos datos básicos para impedir que esquivés la suspensión.
-      get_in_touch: Si crees que esto es un error, podés responder a este correo electrónico para ponerte en contacto con el equipo de %{instance}.
       reason: 'Motivo:'
-      statuses: 'Mensajes que se encontraron en violación:'
+      statuses: 'Mensajes citados:'
       subject:
         delete_statuses: Se eliminaron tus mensajes en %{acct}
         disable: Tu cuenta %{acct} fue congelada
+        mark_statuses_as_sensitive: Tus mensajes en %{acct} fueron marcados como sensibles
         none: Advertencia para %{acct}
-        sensitive: Tus archivos en %{acct} se marcarán como sensibles a partir de ahora
+        sensitive: Tus mensajes en %{acct} se marcarán como sensibles a partir de ahora
         silence: Tu cuenta %{acct} fue limitada
         suspend: Tu cuenta %{acct} fue suspendida
       title:
         delete_statuses: Mensajes eliminados
         disable: Cuenta congelada
+        mark_statuses_as_sensitive: Mensajes marcados como sensibles
         none: Advertencia
-        sensitive: Medios ocultos
+        sensitive: Cuenta marcada como sensible
         silence: Cuenta limitada
         suspend: Cuenta suspendida
     welcome:
diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml
index 707e279c4..da321d7ee 100644
--- a/config/locales/es-MX.yml
+++ b/config/locales/es-MX.yml
@@ -16,6 +16,7 @@ es-MX:
     contact: Contacto
     contact_missing: No especificado
     contact_unavailable: No disponible
+    continue_to_web: Continuar a la aplicación web
     discover_users: Descubrir usuarios
     documentation: Documentación
     federation_hint_html: Con una cuenta en %{instance} usted podrá seguir a las personas en cualquier servidor de Mastodon y más allá.
@@ -25,6 +26,8 @@ es-MX:
       Esta cuenta es un actor virtual usado para representar al servidor y no a ningún usuario individual.
       Se usa para fines federativos y no debe ser bloqueado a menos que usted quiera bloquear toda la instancia, en cuyo caso se debe utilizar un bloque de dominio.
     learn_more: Aprende más
+    logged_in_as_html: Actualmente estás conectado como %{username}.
+    logout_before_registering: Actualmente ya has iniciado sesión.
     privacy_policy: Política de privacidad
     rules: Normas del servidor
     rules_html: 'A continuación hay un resumen de las normas que debes seguir si quieres tener una cuenta en este servidor de Mastodon:'
@@ -69,7 +72,6 @@ es-MX:
     media: Multimedia
     moved_html: "%{name} se ha trasladado a %{new_profile_link}:"
     network_hidden: Esta información no está disponible
-    never_active: Nunca
     nothing_here: "¡No hay nada aquí!"
     people_followed_by: Usuarios a quien %{name} sigue
     people_who_follow: Usuarios que siguen a %{name}
@@ -127,7 +129,7 @@ es-MX:
       email: E-mail
       email_status: E-mail Status
       enable: Habilitar
-      enable_sign_in_token_auth: Habilitar la autenticación por token de correo electrónico
+      enable_sign_in_token_auth: Habilitar autenticación por token de correo electrónico
       enabled: Habilitada
       enabled_msg: Se ha descongelado correctamente la cuenta de %{username}
       followers: Seguidores
@@ -250,7 +252,7 @@ es-MX:
         destroy_domain_allow: Eliminar Permiso de Dominio
         destroy_domain_block: Eliminar Bloqueo de Dominio
         destroy_email_domain_block: Eliminar Bloqueo de Dominio de Correo Electrónico
-        destroy_instance: Purgar Dominio
+        destroy_instance: Purgar dominio
         destroy_ip_block: Eliminar regla IP
         destroy_status: Eliminar Estado
         destroy_unavailable_domain: Eliminar Dominio No Disponible
@@ -263,7 +265,7 @@ es-MX:
         enable_user: Habilitar Usuario
         memorialize_account: Transformar en Cuenta Conmemorativa
         promote_user: Promover Usuario
-        reject_appeal: Rechazar Apelación
+        reject_appeal: Rechazar apelación
         reject_user: Rechazar Usuario
         remove_avatar_user: Eliminar Avatar
         reopen_report: Reabrir Reporte
@@ -273,7 +275,7 @@ es-MX:
         silence_account: Silenciar Cuenta
         suspend_account: Suspender Cuenta
         unassigned_report: Desasignar Reporte
-        unblock_email_account: Desbloquear dirección de correo
+        unblock_email_account: Desblqouear dirección de correo
         unsensitive_account: Desmarcar multimedia en tu cuenta como sensible
         unsilence_account: Dejar de Silenciar Cuenta
         unsuspend_account: Dejar de Suspender Cuenta
@@ -371,7 +373,7 @@ es-MX:
       enable: Habilitar
       enabled: Activado
       enabled_msg: Se habilitó con éxito ese emoji
-      image_hint: PNG de hasta 50KB
+      image_hint: PNG o GIF hasta %{size}
       list: Lista
       listed: Listados
       new:
@@ -389,8 +391,8 @@ es-MX:
       upload: Subir
     dashboard:
       active_users: usuarios activos
-      interactions: interacciones
-      media_storage: Almacenamiento multimedia
+      interactions: interaccciones
+      media_storage: Almacenamiento
       new_users: nuevos usuarios
       opened_reports: informes abiertos
       pending_appeals_html:
@@ -448,28 +450,13 @@ es-MX:
       reject_media_hint: Remueve localmente archivos multimedia almacenados para descargar cualquiera en el futuro. Irrelevante para suspensiones
       reject_reports: Rechazar informes
       reject_reports_hint: Ignore todos los reportes de este dominio. Irrelevante para suspensiones
-      rejecting_media: rechazar archivos multimedia
-      rejecting_reports: rechazando informes
-      severity:
-        silence: silenciado
-        suspend: suspendido
-      show:
-        affected_accounts:
-          one: Una cuenta en la base de datos afectada
-          other: "%{count} cuentas en la base de datos afectada"
-          zero: Ninguna cuenta en la base de datos está afectada
-        retroactive:
-          silence: Des-silenciar todas las cuentas existentes de este dominio
-          suspend: Des-suspender todas las cuentas existentes de este dominio
-        title: Deshacer bloque de dominio para %{domain}
-        undo: Deshacer
       undo: Deshacer
       view: Ver dominio bloqueado
     email_domain_blocks:
       add_new: Añadir nuevo
       attempts_over_week:
-        one: "%{count} intento durante la última semana"
-        other: "%{count} intentos de registro durante la última semana"
+        one: "%{count} intentos durante la última semana"
+        other: "%{count} intentos de registro en la última semana"
       created_msg: Dominio de correo añadido a la lista negra con éxito
       delete: Borrar
       dns:
@@ -493,23 +480,47 @@ es-MX:
       title: Recomendaciones de cuentas
       unsuppress: Restaurar recomendaciones de cuentas
     instances:
+      availability:
+        description_html:
+          one: Si el envío al dominio falla <strong>%{count} día</strong> sin éxito, no se harán más intentos de entrega a menos que se reciba un envío <em>desde</em> el dominio.
+          other: Si el envío al dominio falla <strong>%{count} días diferentes</strong> sin éxito, no se harán más intentos de entrega a menos que se reciba un envío <em>desde</em> el dominio.
+        failure_threshold_reached: Límite de fallo alcanzado el %{date}.
+        failures_recorded:
+          one: Intento fallido en %{count} día.
+          other: Intentos fallidos en %{count} días diferentes.
+        no_failures_recorded: No hay fallos en el registro.
+        title: Disponibilidad
       back_to_all: Todos
       back_to_limited: Limitados
       back_to_warning: Advertencia
       by_domain: Dominio
       confirm_purge: "¿Seguro que quieres eliminar permanentemente los datos de este dominio?"
+      content_policies:
+        comment: Nota interna
+        description_html: Puedes definir políticas de contenido que se aplicarán a todas las cuentas de este dominio y a cualquiera de sus subdominios.
+        policies:
+          reject_media: Rechazar multimedia
+          reject_reports: Rechazar informes
+          silence: Limitar
+          suspend: Suspender
+        policy: Política
+        reason: Razón pública
+        title: Políticas de contenido
+      dashboard:
+        instance_accounts_dimension: Cuentas más seguidas
+        instance_accounts_measure: cuentas almacenadas
+        instance_followers_measure: nuestros seguidores allí
+        instance_follows_measure: sus seguidores aquí
+        instance_languages_dimension: Idiomas principales
+        instance_media_attachments_measure: archivos adjuntos guardados
+        instance_reports_measure: informes sobre ellos
+        instance_statuses_measure: publicaciones almacenadas
       delivery:
         all: Todos
         clear: Limpiar errores de entrega
         restart: Reiniciar entrega
         stop: Detener entrega
-        title: Entrega
         unavailable: No disponible
-        unavailable_message: Entrega no disponible
-        warning: Advertencia
-        warning_message:
-          one: Fallo de entrega %{count} día
-          other: Fallo de entrega %{count} días
       delivery_available: Entrega disponible
       delivery_error_days: Días de error de entrega
       delivery_error_hint: Si la entrega no es posible a lo largo de %{count} días, se marcará automáticamente como no entregable.
@@ -526,12 +537,14 @@ es-MX:
       private_comment: Comentario privado
       public_comment: Comentario público
       purge: Purgar
+      purge_description_html: Si crees que este dominio está desconectado, puedes borrar todos los registros de cuentas y los datos asociados de este dominio de tu almacenamiento. Esto puede llevar un tiempo.
       title: Instancias conocidas
       total_blocked_by_us: Bloqueado por nosotros
       total_followed_by_them: Seguidos por ellos
       total_followed_by_us: Seguido por nosotros
       total_reported: Informes sobre ellas
       total_storage: Archivos multimedia
+      totals_time_period_hint_html: Los totales mostrados a continuación incluyen datos para todo el tiempo.
     invites:
       deactivate_all: Desactivar todos
       filter:
@@ -586,6 +599,7 @@ es-MX:
       action_taken_by: Acción tomada por
       actions:
         delete_description_html: Los mensajes denunciados serán eliminados y se registrará una amonestación para ayudarte a escalar en futuras infracciones por la misma cuenta.
+        mark_as_sensitive_description_html: Los archivos multimedia en los mensajes informados se marcarán como sensibles y se aplicará una amonestación para ayudarte a escalar futuras acciones sobre la misma cuenta.
         other_description_html: Ver más opciones para controlar el comportamiento de la cuenta y personalizar la comunicación de la cuenta reportada.
         resolve_description_html: No se tomarán medidas contra la cuenta denunciada, no se registrará la amonestación, y se cerrará el informe.
         silence_description_html: El perfil será visible solo para aquellos que ya lo sigan o lo busquen manualmente, limitando seriamente su alcance. Siempre puede ser revertido.
@@ -606,6 +620,7 @@ es-MX:
       forwarded: Reenviado
       forwarded_to: Reenviado a %{domain}
       mark_as_resolved: Marcar como resuelto
+      mark_as_sensitive: Marcar como sensible
       mark_as_unresolved: Marcar como no resuelto
       no_one_assigned: Nadie
       notes:
@@ -627,7 +642,7 @@ es-MX:
       skip_to_actions: Ir directamente a las acciones
       status: Estado
       statuses: Contenido reportado
-      statuses_description_html: El contenido ofensivo se citará en la comunicación con la cuenta reportada
+      statuses_description_html: El contenido ofensivo se citará en comunicación con la cuenta reportada
       target_origin: Origen de la cuenta reportada
       title: Reportes
       unassign: Desasignar
@@ -735,10 +750,10 @@ es-MX:
       destroyed_msg: "¡Carga del sitio eliminada con éxito!"
     statuses:
       back_to_account: Volver a la cuenta
-      back_to_report: Volver a la página del reporte
+      back_to_report: Volver a la página de reporte
       batch:
         remove_from_report: Eliminar del reporte
-        report: Reporte
+        report: Reportar
       deleted: Eliminado
       media:
         title: Multimedia
@@ -747,12 +762,13 @@ es-MX:
       with_media: Con multimedia
     strikes:
       actions:
-        delete_statuses: "%{name} eliminó las publicaciones de %{target}"
+        delete_statuses: "%{name} ha eliminado las publicaciones de %{target}'s"
         disable: "%{name} congeló la cuenta de %{target}"
+        mark_statuses_as_sensitive: "%{name} marcó las publicaciones de %{target} como sensibles"
         none: "%{name} envió una advertencia a %{target}"
-        sensitive: "%{name} marcó la cuenta de %{target} como sensible"
-        silence: "%{name} limitó la cuenta de %{target}"
-        suspend: "%{name} suspendió la cuenta de %{target}"
+        sensitive: "%{name} ha marcado la cuenta de %{target}'s como sensible"
+        silence: "%{name} limito la cuenta de %{target}"
+        suspend: "%{name} suspendio la cuenta de %{target}"
       appeal_approved: Apelado
       appeal_pending: Apelación pendiente
     system_checks:
@@ -769,33 +785,37 @@ es-MX:
     title: Administración
     trends:
       allow: Permitir
-      approved: Aprobadas
-      disallow: No permitir
+      approved: Aprobado
+      disallow: Rechazar
       links:
         allow: Permitir enlace
-        allow_provider: Permitir medio
+        allow_provider: Permitir editor
+        description_html: Estos son enlaces que actualmente están siendo compartidos mucho por las cuentas desde las que tu servidor ve los mensajes. Pueden ayudar a tus usuarios a averiguar qué está pasando en el mundo. Ningún enlace se muestren públicamente hasta que autorice al dominio. También puede permitir o rechazar enlaces individuales.
         disallow: Rechazar enlace
-        disallow_provider: Rechazar medio
+        disallow_provider: Rechazar editor
         shared_by_over_week:
           one: Compartido por una persona en la última semana
           other: Compartido por %{count} personas durante la última semana
           zero: Compartido por nadie en la última semana
         title: Enlaces en tendencia
-        usage_comparison: Compartido %{today} veces hoy, comparado con %{yesterday} ayer
+        usage_comparison: Compartido %{today} veces hoy, comparado a %{yesterday} ayer
       pending_review: Revisión pendiente
       preview_card_providers:
-        allowed: Los enlaces de este medio pueden ser tendencia
-        rejected: Los enlaces de este medio no pueden ser tendencia
-        title: Medios
-      rejected: Rechazadas
+        allowed: Los enlaces de este editor pueden ser tendencia
+        description_html: Estos son dominios desde los que los enlaces a menudo se comparten en su servidor. Los enlaces no serán tendencia públicamente a menos que se apruebe el dominio del enlace. Su aprobación (o rechazo) se extiende a los subdominios.
+        rejected: Los enlaces del editor no pueden ser tendencia
+        title: Editores
+      rejected: Rechazado
       statuses:
         allow: Permitir publicación
         allow_account: Permitir autor
-        disallow: No permitir publicación
+        description_html: Estos son publicaciones que su servidor conoce que están siendo compartidas y marcadas como favoritas mucho en este momento. Pueden ayudar a tus usuarios nuevos y retornantes a encontrar más gente a la que seguir. No hay mensajes que se muestren públicamente hasta que apruebes el autor y el autor permita que su cuenta sea sugerida a otros. También puedes permitir o rechazar mensajes individuales.
+        disallow: Rechazar publicación
         disallow_account: No permitir autor
+        not_discoverable: El autor no ha optado por ser detectable
         shared_by:
           one: Compartido o marcado como favorito una vez
-          other: Compatido o marcado como favorito %{friendly_count} veces
+          other: Compartido o marcado como favorito %{friendly_count} veces
         title: Publicaciones destacadas
       tags:
         current_score: Puntuación actual %{score}
@@ -804,7 +824,8 @@ es-MX:
           tag_languages_dimension: Idiomas principales
           tag_servers_dimension: Servidores principales
           tag_servers_measure: diferentes servidores
-          tag_uses_measure: usos totales
+          tag_uses_measure: usuarios totales
+        description_html: Estos son etiquetas que están apareciendo en muchos posts que tu servidor ve. Pueden ayudar a tus usuarios a averiguar de qué habla más gente en estos momentos. No hay hashtags que se muestren públicamente hasta que los apruebes.
         listable: Pueden ser recomendadas
         not_listable: No serán recomendadas
         not_trendable: No aparecerán en tendencias
@@ -831,6 +852,7 @@ es-MX:
       actions:
         delete_statuses: para eliminar sus mensajes
         disable: para congelar su cuenta
+        mark_statuses_as_sensitive: para marcar sus mensajes como sensibles
         none: una advertencia
         sensitive: para marcar su cuenta como sensible
         silence: para limitar su cuenta
@@ -933,8 +955,10 @@ es-MX:
     status:
       account_status: Estado de la cuenta
       confirming: Esperando confirmación de correo electrónico.
+      functional: Tu cuenta está completamente operativa.
       pending: Su solicitud está pendiente de revisión por nuestros administradores. Eso puede tardar algún tiempo. Usted recibirá un correo electrónico si el solicitud sea aprobada.
       redirecting_to: Tu cuenta se encuentra inactiva porque está siendo redirigida a %{acct}.
+      view_strikes: Ver amonestaciones pasadas contra tu cuenta
     too_fast: Formulario enviado demasiado rápido, inténtelo de nuevo.
     trouble_logging_in: "¿Problemas para iniciar sesión?"
     use_security_key: Usar la clave de seguridad
@@ -1010,6 +1034,7 @@ es-MX:
         submit: Enviar apelación
       associated_report: Informe asociado
       created_at: Con fecha
+      description_html: Estas son las acciones emprendidas contra tu cuenta y las advertencias que te han sido enviadas por el personal de %{instance}.
       recipient: Dirigida a
       status: 'Publicación #%{id}'
       status_removed: Publicación ya eliminada del sistema
@@ -1017,8 +1042,9 @@ es-MX:
       title_actions:
         delete_statuses: Eliminación de publicación
         disable: Congelación de la cuenta
+        mark_statuses_as_sensitive: Marcando los mensajes como sensibles
         none: Advertencia
-        sensitive: Marcado de cuenta como sensible
+        sensitive: Marcando la cuenta como sensible
         silence: Limitación de cuenta
         suspend: Suspensión de cuenta
       your_appeal_approved: Se aprobó tu apelación
@@ -1390,6 +1416,7 @@ es-MX:
     profile: Perfil
     relationships: Siguiendo y seguidores
     statuses_cleanup: Eliminación automática de publicaciones
+    strikes: Amonestaciones de moderación
     two_factor_authentication: Autenticación de dos factores
     webauthn_authentication: Claves de seguridad
   statuses:
@@ -1410,7 +1437,7 @@ es-MX:
     disallowed_hashtags:
       one: 'contenía un hashtag no permitido: %{tags}'
       other: 'contenía los hashtags no permitidos: %{tags}'
-    edited_at: Editado %{date}
+    edited_at_html: Editado %{date}
     errors:
       in_reply_not_found: El estado al que intentas responder no existe.
     open_in_web: Abrir en web
@@ -1469,6 +1496,7 @@ es-MX:
       '2629746': 1 mes
       '31556952': 1 año
       '5259492': 2 meses
+      '604800': 1 semana
       '63113904': 2 años
       '7889238': 3 meses
     min_age_label: Umbral de tiempo
@@ -1616,26 +1644,28 @@ es-MX:
         spam: Spam
         violation: El contenido viola las siguientes directrices de la comunidad
       explanation:
-        delete_statuses: Se ha visto que algunas de tus publicaciones violan una o más directrices de la comunidad y seguidamente han sido eliminadas por los moderadores de %{instance}. Futuras violaciones pueden resultar en acciones punitivas más severas contra tu cuenta.
+        delete_statuses: Se ha determinado que algunos de tus mensajes violan una o más directrices de la comunidad y han sido por tanto eliminados por los moderadores de %{instance}.
         disable: Ya no puedes usar tu cuenta, pero tu perfil y el resto de datos permanecen intactos. Puedes solicitar una copia de seguridad de tus datos, cambiar la configuración de tu cuenta o eliminarla.
+        mark_statuses_as_sensitive: Algunos de tus mensajes han sido marcados como sensibles por los moderadores de %{instance}. Esto significa que la gente tendrá que pulsar los archivos multimedia en las publicaciones antes de que se muestre una vista previa. Puedes marcar los archivos multimedia como sensibles tú mismo cuando publiques en el futuro.
         sensitive: A partir de ahora todos los archivos multimedia que subas serán marcados como sensibles y ocultos tras una advertencia que habrá que clicar.
         silence: Aún puedes usar tu cuenta, pero solo las personas que te están siguiendo verán tus publicaciones en este servidor, y puedes ser excluido de varias funcionalidades de descubrimiento. Sin embargo, otras cuentas podrán empezar a seguirte manualmente.
         suspend: Ya no puedes utilizar tu cuenta, y tu perfil y el resto de datos ya no son accesibles. Todavía puedes iniciar sesión para solicitar una copia de seguridad de tus datos, hasta que estos sean eliminados por completo en unos 30 días, aunque conservaremos algunos datos básicos para impedir que esquives la suspensión.
-      get_in_touch: Si crees que esto es un error, puedes responder a este correo electrónico para ponerte en contacto con el personal de %{instance}.
       reason: 'Razón:'
-      statuses: 'Publicaciones que han sido halladas contrarias las directrices:'
+      statuses: 'Publicaciones citadas:'
       subject:
         delete_statuses: Tus publicaciones en %{acct} han sido eliminadas
         disable: Su cuenta %{acct} ha sido congelada
+        mark_statuses_as_sensitive: Tus publicaciones en %{acct} han sido marcadas como sensibles
         none: Advertencia para %{acct}
-        sensitive: Tus archivos multimedia en %{acct} se marcarán como sensibles a partir de ahora
+        sensitive: Tus publicaciones en %{acct} se marcarán como sensibles a partir de ahora
         silence: Su cuenta %{acct} ha sido limitada
         suspend: Su cuenta %{acct} ha sido suspendida
       title:
         delete_statuses: Publicaciones eliminadas
         disable: Cuenta congelada
+        mark_statuses_as_sensitive: Publicaciones marcadas como sensibles
         none: Advertencia
-        sensitive: Contenido multimedia oculto
+        sensitive: Cuenta marcada como sensible
         silence: Cuenta limitada
         suspend: Cuenta suspendida
     welcome:
diff --git a/config/locales/es.yml b/config/locales/es.yml
index 1202b2d9e..bcce44e20 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -16,6 +16,7 @@ es:
     contact: Contacto
     contact_missing: No especificado
     contact_unavailable: No disponible
+    continue_to_web: Continuar con la aplicación web
     discover_users: Descubrir usuarios
     documentation: Documentación
     federation_hint_html: Con una cuenta en %{instance} usted podrá seguir a las personas en cualquier servidor de Mastodon y más allá.
@@ -25,6 +26,8 @@ es:
       Esta cuenta es un actor virtual usado para representar al servidor y no a ningún usuario individual.
       Se usa para fines federativos y no debe ser bloqueado a menos que usted quiera bloquear toda la instancia, en cuyo caso se debe utilizar un bloque de dominio.
     learn_more: Aprende más
+    logged_in_as_html: Actualmente has iniciado sesión como %{username}.
+    logout_before_registering: Ya has iniciado sesión.
     privacy_policy: Política de privacidad
     rules: Normas del servidor
     rules_html: 'A continuación hay un resumen de las normas que debes seguir si quieres tener una cuenta en este servidor de Mastodon:'
@@ -69,7 +72,6 @@ es:
     media: Multimedia
     moved_html: "%{name} se ha trasladado a %{new_profile_link}:"
     network_hidden: Esta información no está disponible
-    never_active: Nunca
     nothing_here: "¡No hay nada aquí!"
     people_followed_by: Usuarios a quien %{name} sigue
     people_who_follow: Usuarios que siguen a %{name}
@@ -371,7 +373,7 @@ es:
       enable: Habilitar
       enabled: Activado
       enabled_msg: Se habilitó con éxito ese emoji
-      image_hint: PNG de hasta 50KB
+      image_hint: PNG o GIF hasta %{size}
       list: Lista
       listed: Listados
       new:
@@ -448,21 +450,6 @@ es:
       reject_media_hint: Remueve localmente archivos multimedia almacenados para descargar cualquiera en el futuro. Irrelevante para suspensiones
       reject_reports: Rechazar informes
       reject_reports_hint: Ignore todos los reportes de este dominio. Irrelevante para suspensiones
-      rejecting_media: rechazar archivos multimedia
-      rejecting_reports: rechazando informes
-      severity:
-        silence: silenciado
-        suspend: suspendido
-      show:
-        affected_accounts:
-          one: Una cuenta en la base de datos afectada
-          other: "%{count} cuentas en la base de datos afectada"
-          zero: Ninguna cuenta en la base de datos está afectada
-        retroactive:
-          silence: Des-silenciar todas las cuentas existentes de este dominio
-          suspend: Des-suspender todas las cuentas existentes de este dominio
-        title: Deshacer bloque de dominio para %{domain}
-        undo: Deshacer
       undo: Deshacer
       view: Ver dominio bloqueado
     email_domain_blocks:
@@ -493,23 +480,47 @@ es:
       title: Recomendaciones de cuentas
       unsuppress: Restaurar recomendaciones de cuentas
     instances:
+      availability:
+        description_html:
+          one: Si el envío al dominio falla <strong>%{count} día</strong> sin éxito, no se harán más intentos de entrega a menos que se reciba un envío <em>desde</em> el dominio.
+          other: Si el envío al dominio falla <strong>%{count} días diferentes</strong> sin éxito, no se harán más intentos de entrega a menos que se reciba un envío <em>desde</em> el dominio.
+        failure_threshold_reached: Límite de fallo alcanzado el %{date}.
+        failures_recorded:
+          one: Intento fallido en %{count} día.
+          other: Intentos fallidos en %{count} días diferentes.
+        no_failures_recorded: No hay fallos en el registro.
+        title: Disponibilidad
       back_to_all: Todos
       back_to_limited: Limitados
       back_to_warning: Advertencia
       by_domain: Dominio
       confirm_purge: "¿Seguro que quieres eliminar permanentemente los datos de este dominio?"
+      content_policies:
+        comment: Nota interna
+        description_html: Puedes definir políticas de contenido que se aplicarán a todas las cuentas de este dominio y a cualquiera de sus subdominios.
+        policies:
+          reject_media: Rechazar multimedia
+          reject_reports: Rechazar informes
+          silence: Límite
+          suspend: Suspender
+        policy: Política
+        reason: Razón pública
+        title: Políticas de contenido
+      dashboard:
+        instance_accounts_dimension: Cuentas más seguidas
+        instance_accounts_measure: cuentas almacenadas
+        instance_followers_measure: nuestros seguidores allí
+        instance_follows_measure: sus seguidores aquí
+        instance_languages_dimension: Idiomas principales
+        instance_media_attachments_measure: archivos adjuntos guardados
+        instance_reports_measure: informes sobre ellos
+        instance_statuses_measure: mensajes almacenados
       delivery:
         all: Todos
         clear: Limpiar errores de entrega
         restart: Reiniciar entrega
         stop: Detener entrega
-        title: Entrega
         unavailable: No disponible
-        unavailable_message: Entrega no disponible
-        warning: Advertencia
-        warning_message:
-          one: Fallo de entrega %{count} día
-          other: Fallo de entrega %{count} días
       delivery_available: Entrega disponible
       delivery_error_days: Días de error de entrega
       delivery_error_hint: Si la entrega no es posible a lo largo de %{count} días, se marcará automáticamente como no entregable.
@@ -526,12 +537,14 @@ es:
       private_comment: Comentario privado
       public_comment: Comentario público
       purge: Purgar
+      purge_description_html: Si crees que este dominio está desconectado, puedes borrar todos los registros de cuentas y los datos asociados de este dominio de tu almacenamiento. Esto puede llevar un tiempo.
       title: Instancias conocidas
       total_blocked_by_us: Bloqueado por nosotros
       total_followed_by_them: Seguidos por ellos
       total_followed_by_us: Seguido por nosotros
       total_reported: Informes sobre ellas
       total_storage: Archivos multimedia
+      totals_time_period_hint_html: Los totales mostrados a continuación incluyen datos para todo el tiempo.
     invites:
       deactivate_all: Desactivar todos
       filter:
@@ -586,6 +599,7 @@ es:
       action_taken_by: Acción tomada por
       actions:
         delete_description_html: Los mensajes denunciados serán eliminados y se registrará una amonestación para ayudarte a escalar en futuras infracciones por la misma cuenta.
+        mark_as_sensitive_description_html: Los archivos multimedia en los mensajes informados se marcarán como sensibles y se aplicará una amonestación para ayudarte a escalar futuras acciones sobre la misma cuenta.
         other_description_html: Ver más opciones para controlar el comportamiento de la cuenta y personalizar la comunicación de la cuenta reportada.
         resolve_description_html: No se tomarán medidas contra la cuenta denunciada, no se registrará la amonestación, y se cerrará el informe.
         silence_description_html: El perfil será visible solo para aquellos que ya lo sigan o lo busquen manualmente, limitando seriamente su alcance. Siempre puede ser revertido.
@@ -606,6 +620,7 @@ es:
       forwarded: Reenviado
       forwarded_to: Reenviado a %{domain}
       mark_as_resolved: Marcar como resuelto
+      mark_as_sensitive: Marcar como sensible
       mark_as_unresolved: Marcar como no resuelto
       no_one_assigned: Nadie
       notes:
@@ -749,6 +764,7 @@ es:
       actions:
         delete_statuses: "%{name} eliminó las publicaciones de %{target}"
         disable: "%{name} congeló la cuenta de %{target}"
+        mark_statuses_as_sensitive: "%{name} ha marcado las publicaciones de %{target} como sensibles"
         none: "%{name} envió una advertencia a %{target}"
         sensitive: "%{name} marcó la cuenta de %{target} como sensible"
         silence: "%{name} limitó la cuenta de %{target}"
@@ -774,6 +790,7 @@ es:
       links:
         allow: Permitir enlace
         allow_provider: Permitir medio
+        description_html: Estos son enlaces que actualmente están siendo compartidos mucho por las cuentas desde las que tu servidor ve los mensajes. Pueden ayudar a tus usuarios a averiguar qué está pasando en el mundo. Ningún enlace se muestren públicamente hasta que autorice al dominio. También puede permitir o rechazar enlaces individuales.
         disallow: Rechazar enlace
         disallow_provider: Rechazar medio
         shared_by_over_week:
@@ -785,14 +802,17 @@ es:
       pending_review: Revisión pendiente
       preview_card_providers:
         allowed: Los enlaces de este medio pueden ser tendencia
+        description_html: Estos son dominios desde los que los enlaces a menudo se comparten en su servidor. Los enlaces no serán tendencia públicamente a menos que se apruebe el dominio del enlace. Su aprobación (o rechazo) se extiende a los subdominios.
         rejected: Los enlaces de este medio no pueden ser tendencia
         title: Medios
       rejected: Rechazadas
       statuses:
         allow: Permitir publicación
         allow_account: Permitir autor
+        description_html: Estos son publicaciones que su servidor conoce que están siendo compartidas y marcadas como favoritas mucho en este momento. Pueden ayudar a tus usuarios nuevos y retornantes a encontrar más gente a la que seguir. No hay mensajes que se muestren públicamente hasta que apruebes el autor y el autor permita que su cuenta sea sugerida a otros. También puedes permitir o rechazar mensajes individuales.
         disallow: No permitir publicación
         disallow_account: No permitir autor
+        not_discoverable: El autor no ha optado por ser detectable
         shared_by:
           one: Compartido o marcado como favorito una vez
           other: Compatido o marcado como favorito %{friendly_count} veces
@@ -805,6 +825,7 @@ es:
           tag_servers_dimension: Servidores principales
           tag_servers_measure: diferentes servidores
           tag_uses_measure: usos totales
+        description_html: Estos son etiquetas que están apareciendo en muchos posts que tu servidor ve. Pueden ayudar a tus usuarios a averiguar de qué habla más gente en estos momentos. No hay hashtags que se muestren públicamente hasta que los apruebes.
         listable: Pueden ser recomendadas
         not_listable: No serán recomendadas
         not_trendable: No aparecerán en tendencias
@@ -831,6 +852,7 @@ es:
       actions:
         delete_statuses: para eliminar sus mensajes
         disable: para congelar su cuenta
+        mark_statuses_as_sensitive: para marcar sus mensajes como sensibles
         none: una advertencia
         sensitive: para marcar su cuenta como sensible
         silence: para limitar su cuenta
@@ -933,8 +955,10 @@ es:
     status:
       account_status: Estado de la cuenta
       confirming: Esperando confirmación de correo electrónico.
+      functional: Tu cuenta está completamente operativa.
       pending: Su solicitud está pendiente de revisión por nuestros administradores. Eso puede tardar algún tiempo. Usted recibirá un correo electrónico si el solicitud sea aprobada.
       redirecting_to: Tu cuenta se encuentra inactiva porque está siendo redirigida a %{acct}.
+      view_strikes: Ver amonestaciones pasadas contra tu cuenta
     too_fast: Formulario enviado demasiado rápido, inténtelo de nuevo.
     trouble_logging_in: "¿Problemas para iniciar sesión?"
     use_security_key: Usar la clave de seguridad
@@ -1010,6 +1034,7 @@ es:
         submit: Enviar apelación
       associated_report: Informe asociado
       created_at: Con fecha
+      description_html: Estas son las acciones emprendidas contra tu cuenta y las advertencias que te han sido enviadas por el personal de %{instance}.
       recipient: Dirigida a
       status: 'Publicación #%{id}'
       status_removed: Publicación ya eliminada del sistema
@@ -1017,8 +1042,9 @@ es:
       title_actions:
         delete_statuses: Eliminación de publicación
         disable: Congelación de la cuenta
+        mark_statuses_as_sensitive: Marcando los mensajes como sensibles
         none: Advertencia
-        sensitive: Marcado de cuenta como sensible
+        sensitive: Marcando la cuenta como sensible
         silence: Limitación de cuenta
         suspend: Suspensión de cuenta
       your_appeal_approved: Se aprobó tu apelación
@@ -1390,6 +1416,7 @@ es:
     profile: Perfil
     relationships: Siguiendo y seguidores
     statuses_cleanup: Eliminación automática de publicaciones
+    strikes: Amonestaciones de moderación
     two_factor_authentication: Autenticación de dos factores
     webauthn_authentication: Claves de seguridad
   statuses:
@@ -1410,7 +1437,7 @@ es:
     disallowed_hashtags:
       one: 'contenía un hashtag no permitido: %{tags}'
       other: 'contenía los hashtags no permitidos: %{tags}'
-    edited_at: Editado %{date}
+    edited_at_html: Editado %{date}
     errors:
       in_reply_not_found: El estado al que intentas responder no existe.
     open_in_web: Abrir en web
@@ -1469,6 +1496,7 @@ es:
       '2629746': 1 mes
       '31556952': 1 año
       '5259492': 2 meses
+      '604800': 1 semana
       '63113904': 2 años
       '7889238': 3 meses
     min_age_label: Umbral de tiempo
@@ -1616,26 +1644,28 @@ es:
         spam: Spam
         violation: El contenido viola las siguientes directrices de la comunidad
       explanation:
-        delete_statuses: Se ha visto que algunas de tus publicaciones violan una o más directrices de la comunidad y seguidamente han sido eliminadas por los moderadores de %{instance}. Futuras violaciones pueden resultar en acciones punitivas más severas contra tu cuenta.
+        delete_statuses: Se ha determinado que algunos de tus mensajes violan una o más directrices de la comunidad y han sido por tanto eliminados por los moderadores de %{instance}.
         disable: Ya no puedes usar tu cuenta, pero tu perfil y el resto de datos permanecen intactos. Puedes solicitar una copia de seguridad de tus datos, cambiar la configuración de tu cuenta o eliminarla.
+        mark_statuses_as_sensitive: Algunos de tus mensajes han sido marcados como sensibles por los moderadores de %{instance}. Esto significa que la gente tendrá que pulsar los archivos multimedia en las publicaciones antes de que se muestre una vista previa. Puedes marcar los archivos multimedia como sensibles tú mismo cuando publiques en el futuro.
         sensitive: A partir de ahora todos los archivos multimedia que subas serán marcados como sensibles y ocultos tras una advertencia que habrá que clicar.
         silence: Aún puedes usar tu cuenta, pero solo las personas que te están siguiendo verán tus publicaciones en este servidor, y puedes ser excluido de varias funcionalidades de descubrimiento. Sin embargo, otras cuentas podrán empezar a seguirte manualmente.
         suspend: Ya no puedes utilizar tu cuenta, y tu perfil y el resto de datos ya no son accesibles. Todavía puedes iniciar sesión para solicitar una copia de seguridad de tus datos, hasta que estos sean eliminados por completo en unos 30 días, aunque conservaremos algunos datos básicos para impedir que esquives la suspensión.
-      get_in_touch: Si crees que esto es un error, puedes responder a este correo electrónico para ponerte en contacto con el personal de %{instance}.
       reason: 'Razón:'
-      statuses: 'Publicaciones que han sido halladas contrarias las directrices:'
+      statuses: 'Publicaciones citadas:'
       subject:
         delete_statuses: Tus publicaciones en %{acct} han sido eliminadas
         disable: Su cuenta %{acct} ha sido congelada
+        mark_statuses_as_sensitive: Tus publicaciones en %{acct} han sido marcadas como sensibles
         none: Advertencia para %{acct}
-        sensitive: Tus archivos multimedia en %{acct} se marcarán como sensibles a partir de ahora
+        sensitive: Tus publicaciones en %{acct} se marcarán como sensibles a partir de ahora
         silence: Su cuenta %{acct} ha sido limitada
         suspend: Su cuenta %{acct} ha sido suspendida
       title:
         delete_statuses: Publicaciones eliminadas
         disable: Cuenta congelada
+        mark_statuses_as_sensitive: Publicaciones marcadas como sensibles
         none: Advertencia
-        sensitive: Contenido multimedia oculto
+        sensitive: Cuenta marcada como sensible
         silence: Cuenta limitada
         suspend: Cuenta suspendida
     welcome:
diff --git a/config/locales/et.yml b/config/locales/et.yml
index fdf5081d5..ac8404885 100644
--- a/config/locales/et.yml
+++ b/config/locales/et.yml
@@ -61,7 +61,6 @@ et:
     media: Meedia
     moved_html: "%{name} kolis %{new_profile_link}:"
     network_hidden: Neid andmeid pole saadaval
-    never_active: Mitte kunagi
     nothing_here: Siin pole midagi!
     people_followed_by: Inimesed, keda %{name} jälgib
     people_who_follow: Inimesed, kes jälgivad kasutajat %{name}
@@ -259,7 +258,6 @@ et:
       enable: Luba
       enabled: Lubatud
       enabled_msg: Selle emotikoni lubamine õnnestus
-      image_hint: PNG kuni 50KB
       list: Loend
       listed: Nimekirjastatud
       new:
@@ -311,17 +309,6 @@ et:
       reject_media_hint: Kustutab kohalikult salvestatud meediafailid ja keeldub tulevikus rohkem allalaadimast. Ei puuduta peatamisi
       reject_reports: Lükka teavitused tagasi
       reject_reports_hint: Eira kõik teavitused sellelt domeenilt. Ei puuduta peatamisi
-      rejecting_media: keelan meediafaile
-      rejecting_reports: keelan teavitusi
-      severity:
-        silence: vaigistatud
-        suspend: peatatud
-      show:
-        retroactive:
-          silence: Eemalda vaigistus mõjutatud kasutajatelt sellel domeenil
-          suspend: Lõpeta mõjutatud kasutajate peatamine sellel domeenil
-        title: Eemalda domeeniblokeering %{domain}
-        undo: Võta tagasi
       undo: Võta tagasi domeeniblokeering
       view: Vaata domeeniblokeeringut
     email_domain_blocks:
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index 6b07e3a03..d6f49058e 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -16,6 +16,7 @@ eu:
     contact: Kontaktua
     contact_missing: Ezarri gabe
     contact_unavailable: E/E
+    continue_to_web: Jarraitu web aplikaziora
     discover_users: Aurkitu erabiltzaileak
     documentation: Dokumentazioa
     federation_hint_html: "%{instance} instantzian kontu bat izanda edozein Mastodon zerbitzariko jendea jarraitu ahal izango duzu, eta harago ere."
@@ -23,6 +24,8 @@ eu:
     hosted_on: Mastodon %{domain} domeinuan ostatatua
     instance_actor_flash: "Kontu hau zerbitzaria bera adierazten duen aktore birtual bat da, ez norbanako bat. Federaziorako erabiltzen da eta ez zenuke blokeatu behar instantzia osoa blokeatu nahi ez baduzu, kasu horretan domeinua blokeatzea egokia litzateke. \n"
     learn_more: Ikasi gehiago
+    logged_in_as_html: "%{username} bezala saioa hasita zaude."
+    logout_before_registering: Saioa hasi duzu jada.
     privacy_policy: Pribatutasun politika
     rules: Zerbitzariaren arauak
     rules_html: 'Behean Mastodon zerbitzari honetan kontua eduki nahi baduzu jarraitu beharreko arauen laburpena daukazu:'
@@ -67,7 +70,6 @@ eu:
     media: Multimedia
     moved_html: "%{name} hona migratu da %{new_profile_link}:"
     network_hidden: Informazio hau ez dago eskuragarri
-    never_active: Inoiz ez
     nothing_here: Ez dago ezer hemen!
     people_followed_by: "%{name}(e)k jarraitzen dituenak"
     people_who_follow: "%{name} jarraitzen dutenak"
@@ -160,6 +162,11 @@ eu:
       not_subscribed: Harpidetu gabe
       pending: Berrikusketa egiteke
       perform_full_suspension: Kanporatu
+      previous_strikes: Aurreko abisuak
+      previous_strikes_description_html:
+        one: Kontu honek abisu <strong>bat</strong> dauka.
+        other: Kontu honek <strong>%{count}</strong> abisu dauzka.
+        zero: Kontu honek <strong>ez dauka abisurik</strong>.
       promote: Sustatu
       protocol: Protokoloa
       public: Publikoa
@@ -201,6 +208,7 @@ eu:
       silence: Isilarazi
       silenced: Isilarazita
       statuses: Bidalketa
+      strikes: Aurreko abisuak
       subscribe: Harpidetu
       suspend: Kanporatu
       suspended: Kanporatuta
@@ -363,7 +371,7 @@ eu:
       enable: Gaitu
       enabled: Gaituta
       enabled_msg: Emoji hori ongi gaitu da
-      image_hint: PNG gehienez 50KB
+      image_hint: "%{size} arteko PNG edo GIF"
       list: Zerrendatu
       listed: Zerrendatua
       new:
@@ -428,31 +436,20 @@ eu:
       reject_media_hint: Lokalki gordetako multimedia fitxategiak ezabatzen ditu eta etorkizunean fitxategi berriak deskargatzeari uko egingo dio. Ez du garrantzirik kanporaketetan
       reject_reports: Errefusatu salaketak
       reject_reports_hint: Ezikusi domeinu honetatik jasotako salaketak. Kanporatzeentzako garrantzirik gabekoa
-      rejecting_media: errefusatu multimedia fitxategiak
-      rejecting_reports: txostenak errefusatzen
-      severity:
-        silence: isilarazia
-        suspend: kanporatua
-      show:
-        affected_accounts:
-          one: Datu-baseko kontu bati eragiten dio
-          other: Datu-baseko %{count} konturi eragiten die
-          zero: Ez die eragiten datu-baseko kontuei
-        retroactive:
-          silence: Kendu isilarazteko agindua domeinu honetako kontu guztiei
-          suspend: Kendu kanporatzeko agindua domeinu honetako kontu guztiei
-        title: Desegin %{domain} domeinuko blokeoa
-        undo: Desegin
       undo: Desegin domeinuaren blokeoa
       view: Ikusi domeinuaren blokeoa
     email_domain_blocks:
       add_new: Gehitu berria
       created_msg: Ongi gehitu da e-mail helbidea domeinuen zerrenda beltzera
       delete: Ezabatu
+      dns:
+        types:
+          mx: MX erregistroa
       domain: Domeinua
       new:
         create: Gehitu domeinua
         title: Sarrera berria e-mail zerrenda beltzean
+      no_email_domain_block_selected: Ez da eposta domeinu blokeorik aldatu ez delako bat bera ere hautatu
       title: E-mail zerrenda beltza
     follow_recommendations:
       description_html: "<strong>Jarraitzeko gomendioek erabiltzaile berriei eduki interesgarria azkar aurkitzen laguntzen diete</strong>. Erabiltzaile batek jarraitzeko gomendio pertsonalizatuak jasotzeko adina interakzio izan ez duenean, kontu hauek gomendatzen zaizkio. Egunero birkalkulatzen dira hizkuntza bakoitzerako, azken aldian parte-hartze handiena izan duten eta jarraitzaile lokal gehien dituzten kontuak nahasiz."
@@ -463,23 +460,38 @@ eu:
       title: Jarraitzeko gomendioak
       unsuppress: Berrezarri jarraitzeko gomendioa
     instances:
+      availability:
+        failure_threshold_reached: Hutsegite atalasera iritsi da %{date} datan.
+        no_failures_recorded: Ez dago hutsegiterik erregistroan.
+        title: Egoera
       back_to_all: Guztiak
       back_to_limited: Mugatua
       back_to_warning: Abisua
       by_domain: Domeinua
       confirm_purge: Ziur zaude domeinu honen datuak behin betiko ezabatu nahi dituzula?
+      content_policies:
+        comment: Barne-oharra
+        description_html: Domeinu honetako eta bere azpi-domeinuetako kontu guztiei aplikatuko zaizkien eduki-politikak definitu ditzakezu.
+        policies:
+          reject_media: Errefusatu multimediak
+          reject_reports: Errefusatu salaketak
+          silence: Isilarazi
+          suspend: Kanporatu
+        policy: Politika
+        reason: Arrazoi publikoa
+        title: Eduki politikak
+      dashboard:
+        instance_accounts_dimension: Kontu jarraituenak
+        instance_accounts_measure: gordetako kontuak
+        instance_followers_measure: gure jarraitzaileak hemen
+        instance_follows_measure: beren jarraitzaileak hemen
+        instance_languages_dimension: Hizkuntza nagusiak
       delivery:
         all: Guztiak
         clear: Garbitu banaketa erroreak
         restart: Berrabiarazi banaketa
         stop: Gelditu banaketa
-        title: Banaketa
         unavailable: Eskuraezina
-        unavailable_message: Banaketa ez dago eskuragarri
-        warning: Abisua
-        warning_message:
-          one: Banaketa hutsegitea egun %{count}
-          other: Banaketa hutsegitea %{count} egun
       delivery_available: Bidalketa eskuragarri dago
       delivery_error_days: Banaketa errore egunak
       delivery_error_hint: Banaketa ezin bada %{count} egunean egin, banaezin bezala markatuko da automatikoki.
@@ -1350,6 +1362,7 @@ eu:
       '2629746': Hilabete 1
       '31556952': Urte 1
       '5259492': 2 hilabete
+      '604800': 1 week
       '63113904': 2 urte
       '7889238': 3 hilabete
     min_age_label: Denbora muga
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index 48b1f095b..1776505ba 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -69,7 +69,6 @@ fa:
     media: عکس و ویدیو
     moved_html: "%{name} حساب خود را به %{new_profile_link} منتقل کرده است:"
     network_hidden: این اطلاعات در دسترس نیست
-    never_active: هرگز
     nothing_here: این‌جا چیزی نیست!
     people_followed_by: کسانی که %{name} پی می‌گیرد
     people_who_follow: کسانی که %{name} را پی می‌گیرند
@@ -361,7 +360,6 @@ fa:
       enable: به کار انداختن
       enabled: فعال
       enabled_msg: این شکلک با موفقیت فعال شد
-      image_hint: پروندهٔ PNG حداکثر 50KB
       list: فهرست
       listed: فهرست شده
       new:
@@ -422,17 +420,6 @@ fa:
       reject_media_hint: پرونده‌های رسانه‌ای ذخیره‌شدهٔ محلّی را پاک کرده و از بارگیریشان در آینده خودداری می‌کند. بی‌تأثیر روی معلق‌ها
       reject_reports: نپذیرفتن گزارش‌ها
       reject_reports_hint: گزارش‌هایی را که از این دامنه می‌آید نادیده می‌گیرد. بی‌تأثیر برای معلق‌شده‌ها
-      rejecting_media: نپذیرفتن پرونده‌های رسانه‌ای
-      rejecting_reports: گزارش‌ها نادیده گرفته می‌شوند
-      severity:
-        silence: بی‌صداشده
-        suspend: معلق‌شده
-      show:
-        retroactive:
-          silence: بی‌صداشدن همهٔ حساب‌های این دامین را لغو کن
-          suspend: معلق‌شدن همهٔ حساب‌های این دامین را لغو کن
-        title: واگردانی مسدودسازی دامنه برای %{domain}
-        undo: واگردانی
       undo: واگردانی مسدودسازی دامین
       view: دیدن مسدودسازی دامنه
     email_domain_blocks:
@@ -463,13 +450,7 @@ fa:
         clear: پاک کردن خطاهای تحول محتوا
         restart: بازراه‌اندازی تحویل محتوا
         stop: متوقف‌کردن تحویل محتوا
-        title: تحویل محتوا
         unavailable: ناموجود
-        unavailable_message: تحویل محتوا در دسترس نیست
-        warning: هشدار
-        warning_message:
-          one: شکست تحویل %{count} روز
-          other: شکست تحویل محتوا %{count} روز
       delivery_available: پیام آماده است
       delivery_error_days: زورهای خطای تحویل محتوا
       delivery_error_hint: اگر تحویل محتوا به مدت %{count} روز ممکن نباشد، به طور خودکار به عنوان تحویل‌ناشونده علامت‌گذاری خواهد شد.
@@ -1257,7 +1238,6 @@ fa:
     disallowed_hashtags:
       one: 'دارای هشتگ غیرمجاز: %{tags}'
       other: 'دارای هشتگ‌های غیرمجاز: %{tags}'
-    edited_at: ویراسته در %{date}
     errors:
       in_reply_not_found: به نظر نمی‌رسد وضعیتی که می‌خواهید به آن پاسخ دهید، وجود داشته باشد.
     open_in_web: بازکردن در وب
@@ -1315,6 +1295,7 @@ fa:
       '2629746': ۱ ماه
       '31556952': ۱ سال
       '5259492': ۲ ماه
+      '604800': 1 week
       '63113904': ۲ سال
       '7889238': ۳ ماه
     min_age_label: کرانهٔ سن
@@ -1459,7 +1440,6 @@ fa:
         delete_statuses: فرسته‌ها برداشته شدند
         disable: حساب متوقف شده است
         none: هشدار
-        sensitive: رسانهٔ نهفته
         silence: حساب محدود شده است
         suspend: حساب معلق شده است
     welcome:
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index 878a1fac0..918c505b1 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -16,6 +16,7 @@ fi:
     contact: Ota yhteyttä
     contact_missing: Ei asetettu
     contact_unavailable: Ei saatavilla
+    continue_to_web: Jatka verkkosovellukseen
     discover_users: Löydä käyttäjiä
     documentation: Dokumentaatio
     federation_hint_html: Tilillä %{instance}:ssa voit seurata ihmisiä millä tahansa Mastodon-palvelimella ja sen ulkopuolella.
@@ -25,6 +26,8 @@ fi:
       Tämä on virtuaalitili, joka edustaa itse palvelinta eikä yksittäistä käyttäjää.
       Sitä käytetään yhdistämistarkoituksiin, eikä sitä saa estää, ellet halua estää koko palvelinta, jolloin sinun on käytettävä verkkotunnuksen estoa.
     learn_more: Lisätietoja
+    logged_in_as_html: Olet kirjautunut sisään nimellä %{username}.
+    logout_before_registering: Olet jo kirjautunut sisään.
     privacy_policy: Tietosuojakäytäntö
     rules: Palvelimen säännöt
     rules_html: 'Alla on yhteenveto säännöistä, joita sinun on noudatettava, jos haluat olla tili tällä Mastodonin palvelimella:'
@@ -69,7 +72,6 @@ fi:
     media: Media
     moved_html: "%{name} on muuttanut osoitteeseen %{new_profile_link}:"
     network_hidden: Nämä tiedot eivät ole käytettävissä
-    never_active: Ei koskaan
     nothing_here: Täällä ei ole mitään!
     people_followed_by: Henkilöt, joita %{name} seuraa
     people_who_follow: Käyttäjän %{name} seuraajat
@@ -371,7 +373,6 @@ fi:
       enable: Ota käyttöön
       enabled: Käytössä
       enabled_msg: Emojin käyttöönotto onnistui
-      image_hint: PNG enintään 50 kt
       list: Listaa
       listed: Listassa
       new:
@@ -448,21 +449,6 @@ fi:
       reject_media_hint: Poistaa paikallisesti tallennetut mediatiedostot eikä lataa niitä enää jatkossa. Ei merkitystä jäähyn kohdalla
       reject_reports: Hylkää raportit
       reject_reports_hint: Ohita kaikki tästä verkkotunnuksesta tulevat raportit. Erottamisen kannalta ei merkitystä
-      rejecting_media: mediatiedostojen hylkääminen
-      rejecting_reports: raporttien hylkääminen
-      severity:
-        silence: hiljennetty
-        suspend: jäähyllä
-      show:
-        affected_accounts:
-          one: Tämä vaikuttaa yhteen tiliin tietokannassa
-          other: Vaikuttaa %{count} tiliin tietokannassa
-          zero: Tämä ei vaikuta mihinkään tietokannan tiliin
-        retroactive:
-          silence: Peru kaikkien tässä verkkotunnuksessa jo olemassa olevien tilien hiljennys
-          suspend: Peru kaikkien tässä verkkotunnuksessa jo olemassa olevien tilien jäähy
-        title: Peru verkkotunnuksen %{domain} esto
-        undo: Peru
       undo: Peru
       view: Näytä verkkotunnuksen esto
     email_domain_blocks:
@@ -503,13 +489,7 @@ fi:
         clear: Tyhjennä toimitusvirheet
         restart: Käynnistä toimitus uudelleen
         stop: Lopeta toimitus
-        title: Toimitus
         unavailable: Ei saatavilla
-        unavailable_message: Toimitus ei käytettävissä
-        warning: Varoitus
-        warning_message:
-          one: Toimitusvirhe %{count} päivä
-          other: Toimitushäiriö %{count} päivää
       delivery_available: Toimitus on saatavilla
       delivery_error_days: Toimitusvirheen päivät
       delivery_error_hint: Jos toimitus ei ole mahdollista %{count} päivän aikana, se merkitään automaattisesti toimittamattomaksi.
@@ -586,6 +566,7 @@ fi:
       action_taken_by: Toimenpiteen tekijä
       actions:
         delete_description_html: Ilmoitetut viestit poistetaan ja kirjataan varoitus, joka auttaa sinua saman tilin tulevista rikkomuksista.
+        mark_as_sensitive_description_html: Ilmoitettujen viestien media merkitään arkaluonteisiksi ja varoitus tallennetaan, jotta voit lisätä saman tilin tulevia rikkomuksia.
         other_description_html: Katso lisää vaihtoehtoja tilin käytöksen hallitsemiseksi ja ilmoitetun tilin viestinnän mukauttamiseksi.
         resolve_description_html: Ilmoitettua tiliä vastaan ei ryhdytä toimenpiteisiin, varoitusta ei kirjata ja raportti suljetaan.
         silence_description_html: Profiili näkyy vain niille, jotka jo seuraavat sitä tai etsivät sen manuaalisesti, mikä rajoittaa merkittävästi kattavuutta. Se voidaan aina palauttaa.
@@ -606,6 +587,7 @@ fi:
       forwarded: Välitetty
       forwarded_to: Välitetty %{domain}
       mark_as_resolved: Merkitse ratkaistuksi
+      mark_as_sensitive: Merkitse arkaluonteiseksi
       mark_as_unresolved: Merkitse ratkaisemattomaksi
       no_one_assigned: Ei kukaan
       notes:
@@ -749,6 +731,7 @@ fi:
       actions:
         delete_statuses: "%{name} poisti käyttäjän %{target} viestit"
         disable: "%{name} jäädytti %{target} tilin"
+        mark_statuses_as_sensitive: "%{name} merkitsi %{target} viestiä arkaluonteiseksi"
         none: "%{name} lähetti varoituksen henkilölle %{target}"
         sensitive: "%{name} merkitsi käyttäjän %{target} tilin arkaluonteiseksi"
         silence: "%{name} rajoitti käyttäjän %{target} tilin"
@@ -774,6 +757,7 @@ fi:
       links:
         allow: Salli linkki
         allow_provider: Salli julkaisija
+        description_html: Nämä ovat linkkejä, joita jaetaan tällä hetkellä paljon tileillä, joilta palvelimesi näkee viestejä. Se voi auttaa käyttäjiäsi saamaan selville, mitä maailmassa tapahtuu. Linkkejä ei näytetä julkisesti, ennen kuin hyväksyt julkaisijan. Voit myös sallia tai hylätä yksittäiset linkit.
         disallow: Hylkää linkki
         disallow_provider: Estä julkaisija
         shared_by_over_week:
@@ -785,14 +769,17 @@ fi:
       pending_review: Odottaa tarkistusta
       preview_card_providers:
         allowed: Tämän julkaisijan linkit voivat trendata
+        description_html: Nämä ovat verkkotunnuksia, joiden linkkejä jaetaan usein palvelimellasi. Linkit eivät trendaa julkisesti, ellei linkin verkkotunnusta ole hyväksytty. Hyväksyntäsi (tai hylkäys) ulottuu aliverkkotunnuksiin.
         rejected: Tämän julkaisijan linkit eivät voi trendata
         title: Julkaisijat
       rejected: Hylätty
       statuses:
         allow: Salli viesti
         allow_account: Salli tekijä
+        description_html: Nämä ovat viestejä, jotka palvelimesi tietää tällä hetkellä jaetuksi ja suosituksi. Tämä voi auttaa uusia ja palaavia ihmisiä löytämään lisää ihmisiä, joita seurata seurata. Julkaisuja ei näytetä julkisesti ennen kuin hyväksyt tekijän ja kirjoittaja sallii tilinsä ehdottamisen muille. Voit myös sallia tai hylätä yksittäiset viestit.
         disallow: Estä viesti
         disallow_account: Estä tekijä
+        not_discoverable: Tekijä ei ole ilmoittanut olevansa löydettävissä
         shared_by:
           one: Jaettu tai suosikki kerran
           other: Jaettu ja lisätty suosikkeihin %{friendly_count} kertaa
@@ -805,6 +792,7 @@ fi:
           tag_servers_dimension: Suosituimmat palvelimet
           tag_servers_measure: eri palvelimet
           tag_uses_measure: käyttökerrat
+        description_html: Nämä ovat hashtageja, jotka näkyvät tällä hetkellä monissa viesteissä, jotka palvelimesi näkee. Tämä voi auttaa käyttäjiäsi selvittämään, mistä ihmiset puhuvat eniten tällä hetkellä. Mitään hashtageja ei näytetä julkisesti ennen kuin hyväksyt ne.
         listable: Voidaan ehdottaa
         not_listable: Ei tulla ehdottamaan
         not_trendable: Ei näy trendien alla
@@ -831,6 +819,7 @@ fi:
       actions:
         delete_statuses: poistaa heidän viestit
         disable: jäädyttää heidän tilinsä
+        mark_statuses_as_sensitive: merkitä heidän viestinsä arkaluonteisiksi
         none: varoitus
         sensitive: merkitä heidän tilinsä arkaluonteiseksi
         silence: rajoittaa heidän tilinsä
@@ -933,8 +922,10 @@ fi:
     status:
       account_status: Tilin tila
       confirming: Odotetaan sähköpostivahvistuksen valmistumista.
+      functional: Tilisi on täysin toimiva.
       pending: Hakemuksesi odottaa henkilökuntamme tarkastusta. Tämä voi kestää jonkin aikaa. Saat sähköpostiviestin, jos hakemuksesi on hyväksytty.
       redirecting_to: Tilisi ei ole aktiivinen, koska se ohjaa tällä hetkellä kohteeseen %{acct}.
+      view_strikes: Näytä tiliäsi koskevia aiempia varoituksia
     too_fast: Lomake lähetettiin liian nopeasti, yritä uudelleen.
     trouble_logging_in: Ongelmia kirjautumisessa?
     use_security_key: Käytä suojausavainta
@@ -1010,6 +1001,7 @@ fi:
         submit: Lähetä valitus
       associated_report: Liittyvä raportti
       created_at: Päivätty
+      description_html: Nämä ovat tiliäsi koskevia toimia ja varoituksia, jotka %{instance} henkilökunta on lähettänyt sinulle.
       recipient: Osoitettu
       status: 'Viesti #%{id}'
       status_removed: Viesti on jo poistettu järjestelmästä
@@ -1017,8 +1009,9 @@ fi:
       title_actions:
         delete_statuses: Viestin poisto
         disable: Tilin jäädyttäminen
+        mark_statuses_as_sensitive: Viestien merkitseminen arkaluonteisiksi
         none: Varoitus
-        sensitive: Merkintä tilille arkaluonteisena
+        sensitive: Tilin merkitseminen arkaluonteiseksi
         silence: Tilin rajoittaminen
         suspend: Tilin keskeyttäminen
       your_appeal_approved: Valituksesi on hyväksytty
@@ -1390,6 +1383,7 @@ fi:
     profile: Profiili
     relationships: Seuratut ja seuraajat
     statuses_cleanup: Automaattinen viestin poisto
+    strikes: Valvojan varoitukset
     two_factor_authentication: Kaksivaiheinen todentaminen
     webauthn_authentication: Suojausavaimet
   statuses:
@@ -1410,7 +1404,6 @@ fi:
     disallowed_hashtags:
       one: 'sisälsi aihetunnisteen jota ei sallita: %{tags}'
       other: 'sisälsi aihetunnisteet joita ei sallita: %{tags}'
-    edited_at: Muokattu %{date}
     errors:
       in_reply_not_found: Viesti, johon yrität vastata, ei näytä olevan olemassa.
     open_in_web: Avaa selaimessa
@@ -1469,6 +1462,7 @@ fi:
       '2629746': 1 kuukausi
       '31556952': 1 vuosi
       '5259492': 2 kuukautta
+      '604800': 1 viikko
       '63113904': 2 vuotta
       '7889238': 3 kuukautta
     min_age_label: Ikäraja
@@ -1535,26 +1529,28 @@ fi:
         spam: Roskaposti
         violation: Sisältö rikkoo seuraavia yhteisön sääntöjä
       explanation:
-        delete_statuses: Joitakin viestejäsi on havaittu rikkovan yhtä tai useampaa yhteisön sääntöä ja %{instance} valvojat ovat poistaneet ne. Tulevat rikkomukset voivat johtaa ankarampiin rangaistuksiin tiliäsi vastaan.
+        delete_statuses: Joitakin viesteistäsi on havaittu rikkovan yhtä tai useampaa yhteisön sääntöä ja %{instance} valvojat ovat poistaneet ne.
         disable: Et voi enää käyttää tiliäsi, mutta profiilisi ja muut tiedot pysyvät muuttumattomina. Voit pyytää varmuuskopiota tiedoistasi, vaihtaa tilin asetuksia tai poistaa tilisi.
+        mark_statuses_as_sensitive: Valvojat %{instance} ovat merkinneet osan julkaisuistasi arkaluonteisiksi. Tämä tarkoittaa sitä, että ihmisten täytyy napauttaa viestiä ennen kuin esikatselu näytetään. Voit merkitä median itse arkaluonteiseksi kun julkaiset tulevaisuudessa.
         sensitive: Tästä lähtien kaikki ladatut mediatiedostot merkitään arkaluonteisiksi ja piilotetaan napsautusvaroituksen taakse.
         silence: Voit edelleen käyttää tiliäsi, mutta vain sinua jo seuraavat ihmiset näkevät viestisi tällä palvelimella ja sinut voidaan sulkea pois erilaisista hakuominaisuuksista. Toiset voivat kuitenkin edelleen seurata sinua manuaalisesti.
         suspend: Et voi enää käyttää tiliäsi ja profiilisi ja muut tiedot eivät ole enää käytettävissä. Voit silti kirjautua sisään pyytääksesi varmuuskopiota tiedoistasi, kunnes tiedot on poistettu kokonaan noin 30 päivän kuluttua. Säilytämme joitakin perustietoja, jotka estävät sinua kiertämästä keskeyttämistä.
-      get_in_touch: Jos uskot, että tämä on virhe, voit vastata tähän sähköpostiin ottaaksesi yhteyttä %{instance} henkilökuntaan.
       reason: 'Syy:'
-      statuses: 'Viestit, joiden on havaittu rikkovan sääntöjä:'
+      statuses: 'Viestejä lainattu:'
       subject:
         delete_statuses: Viestisi %{acct} on poistettu
         disable: Tilisi %{acct} on jäädytetty
+        mark_statuses_as_sensitive: Viestisi %{acct} on merkitty arkaluonteisiksi
         none: Varoitus %{acct}
-        sensitive: Sinun mediatiedostosi %{acct} merkitään tästä lähtien arkaluonteisiksi
+        sensitive: Sinun viestisi %{acct} merkitään arkaluonteisiksi tästä lähtien
         silence: Tilisi %{acct} on rajoitettu
         suspend: Tilisi %{acct} on keskeytetty
       title:
         delete_statuses: Viestit poistettu
         disable: Tili jäädytetty
+        mark_statuses_as_sensitive: Viestit on merkitty arkaluonteisiksi
         none: Varoitus
-        sensitive: Media piilotettu
+        sensitive: Tili on merkitty arkaluonteiseksi
         silence: Rajoitettu tili
         suspend: Tilin käyttäminen keskeytetty
     welcome:
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 208c4c342..e3879be0a 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -16,6 +16,7 @@ fr:
     contact: Contact
     contact_missing: Non défini
     contact_unavailable: Non disponible
+    continue_to_web: Continuer vers l’application web
     discover_users: Découvrez des utilisateur·rice·s
     documentation: Documentation
     federation_hint_html: Avec un compte sur %{instance}, vous pourrez suivre des gens sur n’importe quel serveur Mastodon et au-delà.
@@ -25,6 +26,8 @@ fr:
       Ce compte est un acteur virtuel utilisé pour représenter le serveur lui-même et non un·e utilisateur·rice individuel·le.
       Il est utilisé à des fins de fédération et ne doit pas être bloqué à moins que vous ne vouliez bloquer l’instance entière, auquel cas vous devriez utiliser un blocage de domaine.
     learn_more: En savoir plus
+    logged_in_as_html: Vous êtes actuellement connecté·e en tant que %{username}.
+    logout_before_registering: Vous êtes déjà connecté·e.
     privacy_policy: Politique de confidentialité
     rules: Règles du serveur
     rules_html: 'Voici un résumé des règles que vous devez suivre si vous voulez avoir un compte sur ce serveur de Mastodon :'
@@ -69,7 +72,6 @@ fr:
     media: Médias
     moved_html: "%{name} a changé de compte pour %{new_profile_link} :"
     network_hidden: Cette information n’est pas disponible
-    never_active: Jamais
     nothing_here: Rien à voir ici !
     people_followed_by: Personnes suivies par %{name}
     people_who_follow: Personnes qui suivent %{name}
@@ -351,7 +353,7 @@ fr:
       scheduled_for: Planifiée pour %{time}
       scheduled_msg: Annonce planifiée pour publication !
       title: Annonces
-      unpublish: Supprimer la publication
+      unpublish: Retirer l'annonce
       unpublished_msg: L’annonce a été dépubliée avec succès !
       updated_msg: L’annonce a été mise à jour avec succès !
     custom_emojis:
@@ -371,7 +373,7 @@ fr:
       enable: Activer
       enabled: Activé
       enabled_msg: Émoji activé avec succès
-      image_hint: PNG de moins de 50 Ko
+      image_hint: PNG ou GIF de moins de %{size}
       list: Lister
       listed: Listé
       new:
@@ -448,21 +450,6 @@ fr:
       reject_media_hint: Supprime localement les fichiers média stockés et refuse d’en télécharger ultérieurement. Ne concerne pas les suspensions
       reject_reports: Rejeter les signalements
       reject_reports_hint: Ignorez tous les signalements provenant de ce domaine. Ne concerne pas les suspensions
-      rejecting_media: rejet des fichiers multimédia
-      rejecting_reports: rejet des signalements
-      severity:
-        silence: limité
-        suspend: suspendu
-      show:
-        affected_accounts:
-          one: Un compte affecté dans la base de données
-          other: "%{count} comptes affectés dans la base de données"
-          zero: Pas de compte affecté dans la base de données
-        retroactive:
-          silence: Ne plus limiter les comptes existants affectés de ce domaine
-          suspend: Annuler la suspension des comptes existants affectés pour ce domaine
-        title: Annuler le blocage du domaine %{domain}
-        undo: Annuler
       undo: Annuler le blocage de domaine
       view: Afficher les blocages de domaines
     email_domain_blocks:
@@ -493,23 +480,41 @@ fr:
       title: Recommandations d'abonnement
       unsuppress: Rétablir les recommandations d'abonnement
     instances:
+      availability:
+        failure_threshold_reached: Le seuil de défaillance a été atteint le %{date}.
+        no_failures_recorded: Pas d'échec enregistré.
+        title: Disponibilité
       back_to_all: Tout
       back_to_limited: Limité
       back_to_warning: Avertissement
       by_domain: Domaine
       confirm_purge: Êtes-vous sûr de vouloir supprimer définitivement les données de ce domaine ?
+      content_policies:
+        comment: Note interne
+        description_html: Vous pouvez définir des politiques de contenu qui seront appliquées à tous les comptes de ce domaine et à tous ses sous-domaines.
+        policies:
+          reject_media: Rejeter les médias
+          reject_reports: Rejeter les signalements
+          silence: Limiter
+          suspend: Suspendre
+        policy: Règlement
+        reason: Raison publique
+        title: Politiques de contenu
+      dashboard:
+        instance_accounts_dimension: Comptes les plus suivis
+        instance_accounts_measure: comptes stockés
+        instance_followers_measure: nos abonné⋅e⋅s là-bas
+        instance_follows_measure: leurs abonné⋅e⋅s ici
+        instance_languages_dimension: Langues les plus utilisées
+        instance_media_attachments_measure: fichiers médias stockés
+        instance_reports_measure: signalements mentionnant l'instance
+        instance_statuses_measure: messages stockés
       delivery:
         all: Tout
         clear: Effacer les erreurs de livraison
         restart: Redémarrer la livraison
         stop: Arrêter la livraison
-        title: Livraison
         unavailable: Indisponible
-        unavailable_message: Livraison indisponible
-        warning: Avertissement
-        warning_message:
-          one: Échec de livraison %{count} jour
-          other: Échec de livraison %{count} jours
       delivery_available: Livraison disponible
       delivery_error_days: Jours d'erreur de livraison
       delivery_error_hint: Si la livraison n'est pas possible pendant %{count} jours, elle sera automatiquement marquée comme non livrable.
@@ -526,12 +531,14 @@ fr:
       private_comment: Commentaire privé
       public_comment: Commentaire public
       purge: Purge
+      purge_description_html: Si vous pensez que ce domaine est définitivement hors service, vous pouvez supprimer de votre espace de stockage toutes les traces des comptes de ce domaine et les données associées. Cela peut prendre du temps.
       title: Fédération
       total_blocked_by_us: Bloqués par nous
       total_followed_by_them: Suivi par eux
       total_followed_by_us: Suivi par nous
       total_reported: Signalements à leur sujet
       total_storage: Attachements de média
+      totals_time_period_hint_html: Les totaux affichés ci-dessous incluent des données sans limite de temps.
     invites:
       deactivate_all: Tout désactiver
       filter:
@@ -586,6 +593,7 @@ fr:
       action_taken_by: Intervention de
       actions:
         delete_description_html: Les messages signalés seront supprimés et une sanction sera enregistrée pour vous aider à prendre les mesures appropriées en cas d'infractions futures par le même compte.
+        mark_as_sensitive_description_html: Les médias des messages signalés seront marqués comme sensibles et une sanction sera enregistrée pour vous aider à prendre les mesures appropriées en cas d'infractions futures par le même compte.
         other_description_html: Voir plus d'options pour contrôler le comportement du compte et personnaliser la communication vers le compte signalé.
         resolve_description_html: Aucune mesure ne sera prise contre le compte signalé, aucune sanction ne sera enregistrée et le sigalement sera clôturé.
         silence_description_html: Le profil ne sera visible que pour ceux qui le suivent déjà ou le consultent manuellement, ce qui limite considérablement sa portée. Peut toujours être restauré.
@@ -602,10 +610,11 @@ fr:
         none: Aucun
       comment_description_html: 'Pour fournir plus d''informations, %{name} a écrit :'
       created_at: Signalé
-      delete_and_resolve: Supprimer les publications
+      delete_and_resolve: Supprimer les messages
       forwarded: Transféré
       forwarded_to: Transféré à %{domain}
       mark_as_resolved: Marquer comme résolu
+      mark_as_sensitive: Marquer comme sensible
       mark_as_unresolved: Marquer comme non-résolu
       no_one_assigned: Personne
       notes:
@@ -742,13 +751,14 @@ fr:
       deleted: Supprimé
       media:
         title: Médias
-      no_status_selected: Aucun statut n’a été modifié car aucun n’a été sélectionné
+      no_status_selected: Aucun message n’a été modifié car aucun n’a été sélectionné
       title: Messages du compte
       with_media: Avec médias
     strikes:
       actions:
         delete_statuses: "%{name} a supprimé les messages de %{target}"
         disable: "%{name} a gelé le compte de %{target}"
+        mark_statuses_as_sensitive: "%{name} a marqué le message de %{target} comme sensible"
         none: "%{name} a envoyé un avertissement à %{target}"
         sensitive: "%{name} a marqué le compte de %{target} comme sensible"
         silence: "%{name} a limité le compte de %{target}"
@@ -774,6 +784,7 @@ fr:
       links:
         allow: Autoriser le lien
         allow_provider: Autoriser l'éditeur
+        description_html: Ces liens sont actuellement énormément partagés par des comptes dont votre serveur voit les messages. Cela peut aider vos utilisateur⋅rice⋅s à découvrir ce qu'il se passe dans le monde. Aucun lien n'est publiquement affiché tant que vous n'avez pas approuvé le compte qui le publie. Vous pouvez également autoriser ou rejeter les liens individuellement.
         disallow: Interdire le lien
         disallow_provider: Interdire l'éditeur
         shared_by_over_week:
@@ -785,14 +796,17 @@ fr:
       pending_review: En attente de révision
       preview_card_providers:
         allowed: Les liens de cet éditeur peuvent être tendance
+        description_html: Voici les domaines depuis lesquels des liens sont souvent partagés sur votre serveur. Les liens n'apparaîtront pas publiquement dans les tendances à moins que le domaine du lien ne soit approuvé. Votre approbation (ou votre rejet) s'étend aux sous-domaines.
         rejected: Les liens de cet éditeur ne seront pas considérés tendance
         title: Éditeurs
       rejected: Rejeté
       statuses:
         allow: Autoriser le message
         allow_account: Autoriser l'auteur·rice
+        description_html: Voici les messages dont votre serveur a connaissance qui sont beaucoup partagés et mis en favoris en ce moment. Cela peut aider vos utilisateur⋅rice⋅s, néophytes comme aguerri⋅e⋅s, à trouver plus de comptes à suivre. Aucun message n'est publiquement affiché tant que vous n'en avez pas approuvé l'auteur⋅rice, et seulement si icellui permet que son compte soit suggéré aux autres. Vous pouvez également autoriser ou rejeter les messages individuellement.
         disallow: Proscrire le message
         disallow_account: Proscrire l'auteur·rice
+        not_discoverable: L'auteur⋅rice n'a pas choisi de pouvoir être découvert⋅e
         shared_by:
           one: Partagé ou ajouté aux favoris une fois
           other: Partagé et ajouté aux favoris %{friendly_count} fois
@@ -805,6 +819,7 @@ fr:
           tag_servers_dimension: Meilleurs serveurs
           tag_servers_measure: différents serveurs
           tag_uses_measure: utilisations totales
+        description_html: Ces hashtags apparaissent actuellement dans de nombreux messages que votre serveur voit. Cela peut aider vos utilisateur⋅rice⋅s à découvrir les sujets dont les gens parlent le plus en ce moment. Aucun hashtag n'est publiquement affiché tant que vous ne l'avez pas approuvé.
         listable: Peut être suggéré
         not_listable: Ne sera pas suggéré
         not_trendable: N'apparaîtra pas sous les tendances
@@ -831,6 +846,7 @@ fr:
       actions:
         delete_statuses: effacer les messages
         disable: geler le compte
+        mark_statuses_as_sensitive: marquer les messages comme sensibles
         none: un avertissement
         sensitive: marquer le compte comme sensible
         silence: limiter le compte
@@ -933,15 +949,17 @@ fr:
     status:
       account_status: État du compte
       confirming: En attente de la confirmation par courriel à compléter.
+      functional: Votre compte est entièrement opérationnel.
       pending: Votre demande est en attente d'examen par notre personnel. Cela peut prendre un certain temps. Vous recevrez un courriel si votre demande est approuvée.
       redirecting_to: Votre compte est inactif car il est actuellement redirigé vers %{acct}.
+      view_strikes: Voir les sanctions précédemment appliquées à votre compte
     too_fast: Formulaire envoyé trop rapidement, veuillez réessayer.
     trouble_logging_in: Vous avez un problème pour vous connecter ?
     use_security_key: Utiliser la clé de sécurité
   authorize_follow:
     already_following: Vous suivez déjà ce compte
     already_requested: Vous avez déjà envoyé une demande d’abonnement à ce compte
-    error: Malheureusement, il y a eu une erreur en cherchant les détails du compte distant
+    error: Malheureusement, une erreur s'est produite lors de la recherche du compte distant
     follow: Suivre
     follow_request: 'Vous avez demandé à suivre :'
     following: 'Youpi ! Vous suivez maintenant  :'
@@ -1001,6 +1019,7 @@ fr:
   disputes:
     strikes:
       action_taken: Mesure prise
+      appeal: Faire appel
       appeal_approved: Cette sanction a été annulée en appel et n'est plus valide
       appeal_rejected: L'appel a été rejeté
       appeal_submitted_at: Appel soumis le
@@ -1009,6 +1028,7 @@ fr:
         submit: Faire appel
       associated_report: Rapport associé
       created_at: En date du
+      description_html: Ce sont les mesures prises contre votre compte et les avertissements qui vous ont été envoyés par les responsables de %{instance}.
       recipient: Adressé à
       status: 'Message #%{id}'
       status_removed: Message déjà supprimé du système
@@ -1016,8 +1036,9 @@ fr:
       title_actions:
         delete_statuses: Suppression de message
         disable: Gel du compte
+        mark_statuses_as_sensitive: Marquage des messages comme sensibles
         none: Avertissement
-        sensitive: Marquage d'un compte comme sensible
+        sensitive: Marquage du compte comme sensible
         silence: Limitation du compte
         suspend: Suspension de compte
       your_appeal_approved: Votre appel a été approuvé
@@ -1097,7 +1118,7 @@ fr:
     today: aujourd’hui
     validation_errors:
       one: Quelque chose ne va pas ! Veuillez vérifiez l’erreur ci-dessous
-      other: Certaines choses ne vont pas ! Veuillez vérifiez les %{count} erreurs ci-dessous
+      other: Certaines choses ne vont pas ! Veuillez vérifier les %{count} erreurs ci-dessous
   html_validator:
     invalid_markup: 'contient un balisage HTML invalide: %{error}'
   imports:
@@ -1156,8 +1177,8 @@ fr:
     title: Historique d'authentification
   media_attachments:
     validations:
-      images_and_video: Impossible de joindre une vidéo à un statut contenant déjà des images
-      not_ready: Impossible de joindre les fichiers en traitements. Réessayez dans un instant !
+      images_and_video: Impossible de joindre une vidéo à un message contenant déjà des images
+      not_ready: Impossible de joindre les fichiers en cours de traitement. Réessayez dans un instant !
       too_many: Impossible de joindre plus de 4 fichiers
   migrations:
     acct: A déménagé vers
@@ -1238,7 +1259,7 @@ fr:
     status:
       subject: "%{name} vient de publier"
     update:
-      subject: "%{name} a modifié une publication"
+      subject: "%{name} a modifié un message"
   notifications:
     email_events: Événements pour les notifications par courriel
     email_events_hint: 'Sélectionnez les événements pour lesquels vous souhaitez recevoir des notifications :'
@@ -1389,6 +1410,7 @@ fr:
     profile: Profil
     relationships: Abonnements et abonné·e·s
     statuses_cleanup: Suppression automatique de messages
+    strikes: Sanctions de modération
     two_factor_authentication: Identification à deux facteurs
     webauthn_authentication: Clés de sécurité
   statuses:
@@ -1409,15 +1431,14 @@ fr:
     disallowed_hashtags:
       one: 'contient un hashtag désactivé : %{tags}'
       other: 'contient les hashtags désactivés : %{tags}'
-    edited_at: Édité le %{date}
     errors:
-      in_reply_not_found: Le statut auquel vous essayez de répondre ne semble pas exister.
+      in_reply_not_found: Le message auquel vous essayez de répondre ne semble pas exister.
     open_in_web: Ouvrir sur le web
     over_character_limit: limite de %{max} caractères dépassée
     pin_errors:
       direct: Les messages qui ne sont visibles que pour les utilisateurs mentionnés ne peuvent pas être épinglés
       limit: Vous avez déjà épinglé le nombre maximum de messages
-      ownership: Vous ne pouvez pas épingler un statut ne vous appartenant pas
+      ownership: Vous ne pouvez pas épingler un message ne vous appartenant pas
       reblog: Un partage ne peut pas être épinglé
     poll:
       total_people:
@@ -1438,9 +1459,9 @@ fr:
       private: Abonné⋅e⋅s uniquement
       private_long: Afficher seulement à vos vos abonné·e·s
       public: Publique
-      public_long: Tout le monde peut voir vos statuts
+      public_long: Tout le monde peut voir vos messages
       unlisted: Public sans être affiché sur le fil public
-      unlisted_long: Tout le monde peut voir vos statuts mais ils ne seront pas listés sur les fils publics
+      unlisted_long: Tout le monde peut voir vos messages mais ils ne seront pas listés sur les fils publics
   statuses_cleanup:
     enabled: Supprimer automatiquement vos anciens messages
     enabled_hint: Supprime automatiquement vos messages une fois qu'ils ont atteint un seuil d'ancienneté défini, à moins qu'ils ne correspondent à l'une des exceptions ci-dessous
@@ -1468,6 +1489,7 @@ fr:
       '2629746': 1 mois
       '31556952': 1 an
       '5259492': 2 mois
+      '604800': 1 semaine
       '63113904': 2 ans
       '7889238': 3 mois
     min_age_label: Seuil d'ancienneté
@@ -1613,28 +1635,30 @@ fr:
       appeal_description: Si vous pensez qu'il s'agit d'une erreur, vous pouvez faire appel auprès de l'équipe de %{instance}.
       categories:
         spam: Indésirable
-        violation: Le contenu viole les directives de la communauté suivantes
+        violation: Le contenu enfreint les directives de la communauté suivantes
       explanation:
-        delete_statuses: Certains de vos messages ont été jugés en violation d'une ou plusieurs directives de la communauté et ont été supprimés par les modérateurs de %{instance}. De nouvelles violations peuvent entraîner des actions punitives plus sévères contre votre compte.
+        delete_statuses: Il a été constaté que certains de vos messages enfreignent une ou plusieurs directives de la communauté. Par conséquent, ils ont été supprimés par l'équipe de modération de %{instance}.
         disable: Vous ne pouvez plus utiliser votre compte, mais votre profil et d'autres données restent intacts. Vous pouvez demander une sauvegarde de vos données, modifier les paramètres de votre compte ou supprimer votre compte.
+        mark_statuses_as_sensitive: Certains de vos messages ont été marqués comme sensibles par l'équipe de modération de %{instance}. Cela signifie qu'il faudra cliquer sur le média pour pouvoir en afficher un aperçu. Vous pouvez marquer les médias comme sensibles vous-même lorsque vous posterez à l'avenir.
         sensitive: Désormais, tous vos fichiers multimédias téléchargés seront marqués comme sensibles et cachés derrière un avertissement à cliquer.
         silence: Vous pouvez toujours utiliser votre compte, mais seules les personnes qui vous suivent déjà verront vos messages sur ce serveur, et vous pourriez être exclu de diverses fonctions de découverte. Cependant, d'autres personnes peuvent toujours vous suivre manuellement.
         suspend: Vous ne pouvez plus utiliser votre compte, votre profil et vos autres données ne sont plus accessibles. Vous pouvez toujours vous connecter pour demander une sauvegarde de vos données jusqu'à leur suppression complète dans environ 30 jours, mais nous conserverons certaines données de base pour vous empêcher d'échapper à la suspension.
-      get_in_touch: Si vous pensez qu’il s'agit d’une erreur, vous pouvez répondre à ce courriel pour entrer en contact avec l’équipe de %{instance}.
       reason: 'Motif :'
-      statuses: 'Les messages qui ont été jugés en violation :'
+      statuses: 'Messages cités :'
       subject:
         delete_statuses: Vos messages sur %{acct} ont été supprimés
         disable: Votre compte %{acct} a été gelé
+        mark_statuses_as_sensitive: Vos messages sur %{acct} ont été marqués comme sensibles
         none: Avertissement pour %{acct}
-        sensitive: Vos fichiers multimédias sur %{acct} seront désormais marqués comme sensibles
+        sensitive: Vos messages sur %{acct} seront désormais marqués comme sensibles
         silence: Votre compte %{acct} a été limité
         suspend: Votre compte %{acct} a été suspendu
       title:
         delete_statuses: Messages supprimés
         disable: Compte gelé
+        mark_statuses_as_sensitive: Messages marqués comme sensibles
         none: Avertissement
-        sensitive: Média masqué
+        sensitive: Compte marqué comme sensible
         silence: Compte limité
         suspend: Compte suspendu
     welcome:
diff --git a/config/locales/gd.yml b/config/locales/gd.yml
index 92ed02398..6729b0443 100644
--- a/config/locales/gd.yml
+++ b/config/locales/gd.yml
@@ -16,6 +16,7 @@ gd:
     contact: Fios thugainn
     contact_missing: Cha deach a shuidheachadh
     contact_unavailable: Chan eil seo iomchaidh
+    continue_to_web: Lean air adhart dhan aplacaid-lìn
     discover_users: Lorg cleachdaichean
     documentation: Docamaideadh
     federation_hint_html: Le cunntas air %{instance}, ’s urrainn dhut leantainn air daoine air frithealaiche Mastodon sam bith is a bharrachd.
@@ -25,6 +26,8 @@ gd:
       ’S e actar biortail a tha sa chunntas seo a riochdaicheas am frithealaiche fhèin seach cleachdaiche sònraichte.
       Tha e ’ga chleachdadh a chùm co-nasgaidh agus cha bu chòir dhut a bhacadh ach ma tha thu airson an t-ionstans gu lèir a bhacadh agus b’ fheàirrde thu bacadh àrainne a chleachdadh an àite sin.
     learn_more: Barrachd fiosrachaidh
+    logged_in_as_html: Tha thu air do chlàradh a-steach an-dràsta mar %{username}.
+    logout_before_registering: Tha thu air clàradh a-steach mu thràth.
     privacy_policy: Poileasaidh prìobhaideachd
     rules: Riaghailtean an fhrithealaiche
     rules_html: 'Tha geàrr-chunntas air na riaghailtean a dh’fheumas tu gèilleadh riutha ma tha thu airson cunntas fhaighinn air an fhrithealaiche Mastodon seo gu h-ìosal:'
@@ -75,7 +78,6 @@ gd:
     media: Meadhanan
     moved_html: 'Chaidh %{name} imrich gu %{new_profile_link}:'
     network_hidden: Chan eil am fiosrachadh seo ri fhaighinn
-    never_active: Chan ann idir
     nothing_here: Chan eil dad an-seo!
     people_followed_by: Daoine air a leanas %{name}
     people_who_follow: Daoine a tha a’ leantainn air %{name}
@@ -379,7 +381,6 @@ gd:
       enable: Cuir an comas
       enabled: Chaidh a chur an comas
       enabled_msg: Chaidh an t-Emoji sin a chur an comas
-      image_hint: PNG suas ri 50KB
       list: Liosta
       listed: Liostaichte
       new:
@@ -406,6 +407,21 @@ gd:
         one: "<strong>%{count}</strong> ath-thagradh ri dhèiligeadh"
         other: "<strong>%{count}</strong> ath-thagradh ri dhèiligeadh"
         two: "<strong>%{count}</strong> ath-thagradh ri dhèiligeadh"
+      pending_reports_html:
+        few: "<strong>%{count}</strong> gearanan ri dhèiligeadh"
+        one: "<strong>%{count}</strong> ghearan ri dhèiligeadh"
+        other: "<strong>%{count}</strong> gearan ri dhèiligeadh"
+        two: "<strong>%{count}</strong> ghearan ri dhèiligeadh"
+      pending_tags_html:
+        few: "<strong>%{count}</strong> tagaichean hais ri dhèiligeadh"
+        one: "<strong>%{count}</strong> taga hais ri dhèiligeadh"
+        other: "<strong>%{count}</strong> taga hais ri dhèiligeadh"
+        two: "<strong>%{count}</strong> thaga hais ri dhèiligeadh"
+      pending_users_html:
+        few: "<strong>%{count}</strong> cleachdaichean ri dhèiligeadh"
+        one: "<strong>%{count}</strong> chleachdaiche ri dhèiligeadh"
+        other: "<strong>%{count}</strong> cleachdaiche ri dhèiligeadh"
+        two: "<strong>%{count}</strong> chleachdaiche ri dhèiligeadh"
       resolved_reports: gearanan air am fuasgladh
       software: Bathar-bog
       sources: Tùsan clàraidh
@@ -449,27 +465,27 @@ gd:
       reject_media_hint: Bheir seo air falbh na faidhlichean meadhain a chaidh a stòradh agus diùltaidh e luchdadh a-nuas sam bith dhiubh san àm ri teachd. Chan eil buaidh aig seo fo chur à rèim
       reject_reports: Diùlt gearanan
       reject_reports_hint: Leig seachad gearan sam bith a thig a-steach on àrainn seo. Chan eil buaidh aig seo fo chur à rèim
-      rejecting_media: a’ diùltadh faidhlichean meadhain
-      rejecting_reports: a’ diùltadh gearanan
-      severity:
-        silence: cuingichte
-        suspend: à rèim
-      show:
-        retroactive:
-          silence: Dì-chuingich na cunntasan a tha ann on àrainn seo ’s air a bheil buaidh
-          suspend: Cuir na cunntasan a tha ann on àrainn seo ’s air a bheil buaidh ann an rèim a-rithist
-        title: Neo-dhèan bacadh na h-àrainne %{domain}
-        undo: Neo-dhèan
       undo: Neo-dhèan bacadh na h-àrainne
       view: Seall bacadh na h-àrainne
     email_domain_blocks:
       add_new: Cuir tè ùr ris
+      attempts_over_week:
+        few: "%{count} oidhirpean clàraidh rè na seachdain seo chaidh"
+        one: "%{count} oidhirp clàraidh rè na seachdain seo chaidh"
+        other: "%{count} oidhirp clàraidh rè na seachdain seo chaidh"
+        two: "%{count} oidhirp clàraidh rè na seachdain seo chaidh"
       created_msg: Chaidh àrainn a’ phuist-d a bhacadh
       delete: Sguab às
+      dns:
+        types:
+          mx: Clàr MX
       domain: Àrainn
       new:
         create: Cuir àrainn ris
+        resolve: Fuasgail an àrainn
         title: Bac àrainn puist-d ùr
+      no_email_domain_block_selected: Cha deach bacadh àrainn puist-d sam bith atharrachadh o nach deach gin dhiubh a thaghadh
+      resolved_through_html: Chaidh fuasgladh slighe %{domain}
       title: Àrainnean puist-d ’gam bacadh
     follow_recommendations:
       description_html: "<strong>Cuidichidh molaidhean leantainn an luchd-cleachdaidh ùr ach an lorg iad susbaint inntinneach gu luath</strong>. Mur an do ghabh cleachdaiche conaltradh gu leòr le càch airson molaidhean leantainn gnàthaichte fhaighinn, mholamaid na cunntasan seo ’nan àite. Thèid an àireamhachadh às ùr gach latha stèidhichte air na cunntasan air an robh an conaltradh as trice ’s an luchd-leantainn ionadail as motha sa chànan."
@@ -490,20 +506,16 @@ gd:
         clear: Falamhaich na mearachdan lìbhrigidh
         restart: Ath-thòisich air an lìbhrigeadh
         stop: Cuir stad air an lìbhrigeadh
-        title: Lìbhrigeadh
         unavailable: Chan eil e ri làimh
-        unavailable_message: Chan eil lìbhrigeadh ri fhaighinn
-        warning: Rabhadh
-        warning_message:
-          few: Dh’fhàillig leis an lìbhrigeadh fad %{count} làithean
-          one: Dh’fhàillig leis an lìbhrigeadh fad %{count} latha
-          other: Dh’fhàillig leis an lìbhrigeadh fad %{count} latha
-          two: Dh’fhàillig leis an lìbhrigeadh fad %{count} latha
       delivery_available: Tha lìbhrigeadh ri fhaighinn
       delivery_error_days: Làithean le mearachd lìbhrigidh
       delivery_error_hint: Mura gabh a lìbhrigeadh fad %{count} là(ithean), thèid comharra a chur ris gu fèin-obrachail a dh’innseas nach gabh a lìbhrigeadh.
       destroyed_msg: Tha an dàta o %{domain} air ciutha an sguabaidh às aithghearr.
       empty: Cha deach àrainn a lorg.
+      known_accounts:
+        one: "%{count} chunntas as aithne dhuinn"
+        other: "%{count} cunntas(an) as aithne dhuinn"
+        zero: Gun chunntas as aithne dhuinn
       moderation:
         all: Na h-uile
         limited: Cuingichte
@@ -586,9 +598,11 @@ gd:
         none: Chan eil gin
       comment_description_html: 'Airson barrachd fiosrachaidh a sholar, sgrìobh %{name}:'
       created_at: Chaidh an gearan a dhèanamh
+      delete_and_resolve: Sguab às na postaichean
       forwarded: Chaidh a shìneadh air adhart
       forwarded_to: Chaidh a shìneadh air adhart gu %{domain}
       mark_as_resolved: Cuir comharra gun deach fhuasgladh
+      mark_as_sensitive: Cuir comharra gu bheil e frionasach
       mark_as_unresolved: Cuir comharra nach deach fhuasgladh
       no_one_assigned: Gun iomruineadh
       notes:
@@ -599,12 +613,15 @@ gd:
         placeholder: Mìnich dè na ghnìomhan a chaidh a ghabhail no naidheachd sam bith eile mu dhèidhinn…
         title: Nòtaichean
       notes_description_html: Seall is sgrìobh nòtaichean do mhaoir eile is dhut fhèin san àm ri teachd
+      quick_actions_description_html: 'Gabh gnìomh luath no sgrolaich sìos a dh’fhaicinn susbaint a’ ghearain:'
+      remote_user_placeholder: cleachdaiche cèin o %{instance}
       reopen: Fosgail an gearan a-rithist
       report: 'Gearan air #%{id}'
       reported_account: Cunntas mun a chaidh a ghearan
       reported_by: Chaidh gearan a dhèanamh le
       resolved: Air fhuasgladh
       resolved_msg: Chaidh an gearan fhuasgladh!
+      skip_to_actions: Geàrr leum dha na gnìomhan
       status: Staid
       statuses: Susbaint le gearan
       statuses_description_html: Thèid iomradh a thoirt air an t-susbaint oilbheumach sa chonaltradh leis a’ chunntas mun a chaidh an gearan a thogail
@@ -726,6 +743,14 @@ gd:
       title: Postaichean a’ chunntais
       with_media: Le meadhanan riutha
     strikes:
+      actions:
+        delete_statuses: Sguab %{name} às na postaichean aig %{target}
+        disable: Reòth %{name} an cunntas aig %{target}
+        mark_statuses_as_sensitive: Chuir %{name} comharra gu bheil na postaichean aig %{target} frionasach
+        none: Chuir %{name} rabhadh gu %{target}
+        sensitive: Chuir %{name} comharra gu bheil an cunntas aig %{target} frionasach
+        silence: Chuingich %{name} an cunntas aig %{target}
+        suspend: Chuir %{name} an cunntas aig %{target} à rèim
       appeal_approved: Air ath-thagradh
       appeal_pending: "’Ga ath-thagradh"
     system_checks:
@@ -749,6 +774,10 @@ gd:
         allow_provider: Ceadaich am foillsichear
         disallow: Na ceadaich an ceangal
         disallow_provider: Na ceadaich am foillsichear
+        shared_by_over_week:
+          one: Chaidh a cho-roinneadh le aonar rè na seachdain seo chaidh
+          other: Chaidh a cho-roinneadh le %{count} rè na seachdain seo chaidh
+          zero: Cha deach a cho-roinneadh rè na seachdain seo chaidh
         title: Ceanglaichean a’ treandadh
         usage_comparison: Chaidh a cho-roinneadh %{today} tura(i)s an-diugh an coimeas ri %{yesterday} an-dè
       pending_review: A’ feitheamh air lèirmheas
@@ -757,6 +786,18 @@ gd:
         rejected: Cha treandaich ceanglaichean on fhoillsichear seo
         title: Foillsichearan
       rejected: Air a dhiùltadh
+      statuses:
+        allow: Ceadaich am post
+        allow_account: Ceadaich an t-ùghdar
+        disallow: Na ceadaich am post
+        disallow_account: Na ceadaich an t-ùghdar
+        not_discoverable: Cha do chuir an t-ùghdar roimhe gun gabh a lorg
+        shared_by:
+          few: Chaidh a cho-roinneadh no ’na annsachd %{friendly_count} tursan
+          one: Chaidh a cho-roinneadh no ’na annsachd %{friendly_count} turas
+          other: Chaidh a cho-roinneadh no ’na annsachd %{friendly_count} turas
+          two: Chaidh a cho-roinneadh no ’na annsachd %{friendly_count} thuras
+        title: Postaichean a’ treandadh
       tags:
         current_score: Sgòr làithreach de %{score}
         dashboard:
@@ -775,6 +816,10 @@ gd:
         trending_rank: 'A’ treandadh #%{rank}'
         usable: Gabhaidh a chleachdadh
         usage_comparison: Chaidh a chleachdadh %{today} tura(i)s an-diugh an coimeas ri %{yesterday} an-dè
+        used_by_over_week:
+          one: Chaidh a chleachdadh le aonar rè na seachdain seo chaidh
+          other: Chaidh a chleachdadh le %{count} rè na seachdain seo chaidh
+          zero: Cha deach a chleachdadh rè na seachdain seo chaidh
       title: Treandaichean
     warning_presets:
       add_new: Cuir fear ùr ris
@@ -784,6 +829,14 @@ gd:
       title: Stiùirich na rabhaidhean ro-shuidhichte
   admin_mailer:
     new_appeal:
+      actions:
+        delete_statuses: sguabadh às nam postaichean aca
+        disable: reòthadh a’ chunntais aca
+        mark_statuses_as_sensitive: comharra gu bheil na postaichean aca frionasach
+        none: rabhadh
+        sensitive: comharra gu bheil an cunntas aca frionasach
+        silence: cuingeachadh a’ chunntais aca
+        suspend: cur à rèim a’ chunntais aca
       body: 'Tha %{target} ag ath-thagradh co-dhùnadh na maorsainneachd a thug %{action_taken_by} %{date} agus ’s e %{type} a bh’ ann. Sgrìobh iad:'
       next_steps: "’S urrainn dhut aontachadh ris an ath-thagradh air co-dhùnadh na maorsainneachd no a leigeil seachad."
       subject: Tha %{username} ag ath-thagradh co-dhùnadh na maorsainneachd air %{instance}
@@ -794,6 +847,18 @@ gd:
       body: Rinn %{reporter} gearan air %{target}
       body_remote: Rinn cuideigin o %{domain} gearan air %{target}
       subject: Tha gearan ùr aig %{instance} (#%{id})
+    new_trends:
+      body: 'Tha na nithean seo feumach air lèirmheas mus nochd iad gu poblach:'
+      new_trending_links:
+        no_approved_links: Chan eil ceangal a’ treandadh le aontachadh ann.
+        title: Ceanglaichean a’ treandadh
+      new_trending_statuses:
+        no_approved_statuses: Chan eil post a’ treandadh le aontachadh ann.
+        title: Postaichean a’ treandadh
+      new_trending_tags:
+        no_approved_tags: Chan eil taga hais a’ treandadh le aontachadh ann.
+        title: Tagaichean hais a’ treandadh
+      subject: Tha treandaichean ùra a’ feitheamh air lèirmheas air %{instance}
   aliases:
     add_new: Cruthaich alias
     created_msg: Chaidh an t-alias ùr a chruthachadh. ’S urrainn dhut tòiseachadh air imrich on seann-chunntas a-nis.
@@ -867,8 +932,10 @@ gd:
     status:
       account_status: Staid a’ chunntais
       confirming: A’ feitheamh air coileanadh an dearbhaidh on phost-d.
+      functional: Tha an cunntas agad ag obair gu slàn.
       pending: Feumaidh an sgioba againn lèirmheas a dhèanamh air d’ iarrtas. Dh’fhaoidte gun doir seo greis. Gheibh thu post-d nuair a bhios sinn air aontachadh ri d’ iarrtas.
       redirecting_to: Chan eil an cunntas gad gnìomhach on a tha e ’ga ath-stiùireadh gu %{acct}.
+      view_strikes: Seall na rabhaidhean a fhuair an cunntas agad roimhe
     too_fast: Chaidh am foirm a chur a-null ro luath, feuch ris a-rithist.
     trouble_logging_in: A bheil duilgheadas agad leis a’ chlàradh a-steach?
     use_security_key: Cleachd iuchair tèarainteachd
@@ -934,6 +1001,7 @@ gd:
     explore_mastodon: Rùraich %{title}
   disputes:
     strikes:
+      action_taken: An gnìomh a ghabhadh
       appeal: Ath-thagair
       appeal_approved: Chaidh le ath-thagradh an rabhaidh is chan eil e dligheach tuilleadh
       appeal_rejected: Chaidh an t-ath-thagradh a dhiùltadh
@@ -941,6 +1009,8 @@ gd:
       appealed_msg: Chaidh an t-ath-thagradh agad a chur a-null. Ma thèid aontachadh ris, gheibh thu brath mu dhèidhinn.
       appeals:
         submit: Cuir a-null an t-ath-thagradh
+      associated_report: An gearan co-cheangailte
+      created_at: Ceann-là
       your_appeal_approved: Chaidh aontachadh ris an ath-thagradh agad
       your_appeal_pending: Chuir thu ath-thagradh a-null
       your_appeal_rejected: Chaidh an t-ath-thagradh agad a dhiùltadh
@@ -1337,7 +1407,6 @@ gd:
       one: "– bha na tagaichean hais toirmisgte seo ann: %{tags}"
       other: "– bha na tagaichean hais toirmisgte seo ann: %{tags}"
       two: "– bha na tagaichean hais toirmisgte seo ann: %{tags}"
-    edited_at: Air a dheasachadh %{date}
     errors:
       in_reply_not_found: Tha coltas nach eil am post dhan a tha thu airson freagairt ann.
     open_in_web: Fosgail air an lìon
@@ -1400,6 +1469,7 @@ gd:
       '2629746': Mìos
       '31556952': Bliadhna
       '5259492': 2 mhìos
+      '604800': 1 week
       '63113904': 2 bhliadhna
       '7889238': 3 mìosan
     min_age_label: Stairsneach aoise
@@ -1458,26 +1528,21 @@ gd:
         spam: Spama
         violation: Tha an t-susbaint a’ briseadh na riaghailtean giùlain a leanas
       explanation:
-        delete_statuses: Thathar dhen bheachd gu bheil cuid dhe na postaichean agad a’ briseadh riaghailt no riaghailtean giùlain agus chaidh an toirt air falbh le maoir %{instance} an uairsin. Ma bhriseas tu na riaghailtean a-rithist, dh’fhaoidte gum fulaing an cunntas agad peanas nas teinne.
         disable: Chan urrainn dhut an cunntas agad a chleachdadh tuilleadh ach mairidh a’ phròifil ’s an dàta eile agad. Faodaidh tu lethbhreac-glèidhidh dhen dàta agad iarraidh, roghainnean a’ chunntais atharrachadh no an cunntas agad a sguabadh às.
         sensitive: O seo a-mach, thèid comharra na frionasachd a chur ri faidhle meadhain sam bith a luchdaicheas tu suas agus thèid am falach air cùlaibh rabhaidh a ghabhas briogadh air.
         silence: "’S urrainn dhut an cunntas agad a chleachdadh fhathast ach chan fhaic ach na daoine a tha a’ leantainn ort mu thràth na postaichean agad air an fhrithealaiche seo agus dh’fhaoidte gun dèid d’ às-dhùnadh o iomadh gleus luirg. Gidheadh, faodaidh càch leantainn ort a làimh fhathast."
         suspend: Chan urrainn dhut an cunntas agad a chleachdadh tuilleadh agus chan fhaigh thu grèim air a’ phròifil no air an dàta eile agad. ’S urrainn dhut clàradh a-steach fhathast airson lethbhreac-glèidhidh dhen dàta agad iarraidh mur dèid an dàta a thoirt air falbh an ceann 30 latha gu slàn ach cumaidh sinn cuid dhen dàta bhunasach ach nach seachain thu an cur à rèim.
-      get_in_touch: Ma tha thu dhen bheachd gur e mearachd a th’ ann, ’s urrainn dhut freagairt dhan phost-d seo no conaltradh ris an sgioba aig %{instance}.
       reason: 'Adhbhar:'
-      statuses: 'Na postaichean a bhris riaghailt:'
       subject:
         delete_statuses: Chaidh na postaichean agad air %{acct} a thoirt air falbh
         disable: Chaidh an cunntas %{acct} agad a reòthadh
         none: Rabhadh dha %{acct}
-        sensitive: Thèid comharra na frionasachd a chur ris na faidhlichean meadhain agad air %{acct} o seo a-mach
         silence: Chaidh an cunntas %{acct} agad a chuingeachadh
         suspend: Chaidh an cunntas %{acct} agad a chur à rèim
       title:
         delete_statuses: Chaidh postaichean a thoirt air falbh
         disable: Cunntas reòite
         none: Rabhadh
-        sensitive: Chaidh meadhanan fhalach
         silence: Cunntas cuingichte
         suspend: Cunntas à rèim
     welcome:
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index 84acfefe6..f3a4beb70 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -16,6 +16,7 @@ gl:
     contact: Contacto
     contact_missing: Non establecido
     contact_unavailable: Non dispoñíbel
+    continue_to_web: Continuar na app web
     discover_users: Descubrir usuarias
     documentation: Documentación
     federation_hint_html: Cunha conta en %{instance} poderás seguir ás persoas en calquera servidor do Mastodon e alén.
@@ -25,6 +26,8 @@ gl:
 
       '
     learn_more: Saber máis
+    logged_in_as_html: Entraches como %{username}.
+    logout_before_registering: Xa iniciaches sesión.
     privacy_policy: Política de privacidade
     rules: Regras do servidor
     rules_html: 'Aquí tes un resumo das regras que debes seguir se queres ter unha conta neste servidor de Mastodon:'
@@ -69,7 +72,6 @@ gl:
     media: Multimedia
     moved_html: "%{name} mudouse a %{new_profile_link}:"
     network_hidden: Esta información non está dispoñíbel
-    never_active: Nunca
     nothing_here: Non hai nada aquí!
     people_followed_by: Persoas que segue %{name}
     people_who_follow: Persoas que seguen a %{name}
@@ -371,7 +373,7 @@ gl:
       enable: Activar
       enabled: Activado
       enabled_msg: Activouse a emoticona de xeito correcto
-      image_hint: PNG de até 50KB
+      image_hint: PNG ou GIF ata %{size}
       list: Listar
       listed: Listado
       new:
@@ -448,21 +450,6 @@ gl:
       reject_media_hint: Eliminar ficheiros multimedia almacenados de xeito local e rexeita descargalos no futuro. Irrelevante para as suspensións
       reject_reports: Rexeitar denuncias
       reject_reports_hint: Ignorar todas as denuncias procedentes deste dominio. Irrelevante para as suspensións
-      rejecting_media: rexeitando ficheiros multimedia
-      rejecting_reports: rexeitando denuncias
-      severity:
-        silence: limitado
-        suspend: suspendido
-      show:
-        affected_accounts:
-          one: Ten efecto sobre unha conta na base de datos
-          other: Ten efecto sobre %{count} contas na base de datos
-          zero: Non afecta a ningunha conta na base de datos
-        retroactive:
-          silence: Deixar de silenciar todas as contas existentes deste dominio
-          suspend: Desbotar suspenso de todas as contas existentes deste dominio
-        title: Desfacer o bloqueo de dominio para %{domain}
-        undo: Desfacer
       undo: Desfacer bloqueo de dominio
       view: Ollar dominios bloqueados
     email_domain_blocks:
@@ -493,23 +480,47 @@ gl:
       title: Recomendacións de seguimento
       unsuppress: Restablecer recomendación de seguimento
     instances:
+      availability:
+        description_html:
+          one: Se fallan as entregas ao dominio por <strong>%{count} día</strong>, non se farán máis intentos a menos que se reciba unha solicitude <em>desde</em> ese dominio.
+          other: Se fallan as entregas ao dominio por <strong>%{count} días diferentes</strong>, non se farán máis intentos a menos que se reciba unha solicitude <em>desde</em> ese dominio.
+        failure_threshold_reached: Acadouse o límite de fallos o %{date}.
+        failures_recorded:
+          one: Intento fallido por %{count} día.
+          other: Intentos fallidos durante %{count} días distintos.
+        no_failures_recorded: Non hai fallos rexistrados.
+        title: Dispoñibilidade
       back_to_all: Todo
       back_to_limited: Limitado
       back_to_warning: Aviso
       by_domain: Dominio
       confirm_purge: Tes a certeza de querer eliminar permanentemente os datos deste dominio?
+      content_policies:
+        comment: Nota interna
+        description_html: Podes definir políticas acerca do contido que serán aplicadas a tódalas contas deste dominio e tódolos seus subdominios.
+        policies:
+          reject_media: Rexeitar multimedia
+          reject_reports: Rexeitar denuncias
+          silence: Límitar
+          suspend: Suspender
+        policy: Criterios
+        reason: Razón pública
+        title: Políticas sobre o contido
+      dashboard:
+        instance_accounts_dimension: Contas máis seguidas
+        instance_accounts_measure: contas gardadas
+        instance_followers_measure: as nosas seguidoras alí
+        instance_follows_measure: as súas seguidoras aquí
+        instance_languages_dimension: Top de idiomas
+        instance_media_attachments_measure: anexos multimedia gardados
+        instance_reports_measure: denuncias acerca deles
+        instance_statuses_measure: publicacións gardadas
       delivery:
         all: Todo
         clear: Eliminar erros na entrega
         restart: Restablecer a entrega
         stop: Deter a entrega
-        title: Entrega
         unavailable: Non dispoñible
-        unavailable_message: Entrega non dispoñible
-        warning: Aviso
-        warning_message:
-          one: Fallou a entrega %{count} día
-          other: Fallou a entrega %{count} días
       delivery_available: Entrega dispoñíbel
       delivery_error_days: Días de fallo na entrega
       delivery_error_hint: Se non é posible a entrega durante %{count} días, será automáticamente marcado como non entregable.
@@ -526,12 +537,14 @@ gl:
       private_comment: Comentario privado
       public_comment: Comentario público
       purge: Purgar
+      purge_description_html: Se cres que este dominio está desconectado por unha boa razón, podes borrar tódolos rexistros e datos asociados a este dominio na túa almacenaxe. Vainos levar un anaco.
       title: Federación
       total_blocked_by_us: Bloqueado por nós
       total_followed_by_them: Seguidos por eles
       total_followed_by_us: Seguidos por nós
       total_reported: Denuncias sobre eles
       total_storage: Adxuntos multimedia
+      totals_time_period_hint_html: Os totais aquí mostrados inclúen todo o historial de datos.
     invites:
       deactivate_all: Desactivar todo
       filter:
@@ -586,6 +599,7 @@ gl:
       action_taken_by: Acción tomada por
       actions:
         delete_description_html: As publicacións denunciadas van ser eliminadas e gárdase un aviso para axudarche a xestionar futuras infraccións desta conta.
+        mark_as_sensitive_description_html: O multimedia das publicacións denunciadas vai ser marcado como sensible e apúntase un aviso para axudarche a facer seguimento das infraccións da mesma conta.
         other_description_html: Mira máis opcións para controlar o comportamento da conta e personalizar as comunicacións coa conta denunciada.
         resolve_description_html: Non se van tomar accións contra a conta denunciada, nin se gardan avisos, e a denuncia arquivada.
         silence_description_html: O perfil será visible só para quen xa o está a seguir ou quen o buscou manualmente, limitando moito o seu alcance. Pódese cambiar.
@@ -606,6 +620,7 @@ gl:
       forwarded: Reenviado
       forwarded_to: Reenviado a %{domain}
       mark_as_resolved: Marcar como resolto
+      mark_as_sensitive: Marcar como sensible
       mark_as_unresolved: Marcar como non resolto
       no_one_assigned: Ninguén
       notes:
@@ -749,6 +764,7 @@ gl:
       actions:
         delete_statuses: "%{name} eliminou as publicacións de %{target}"
         disable: "%{name} pausou a conta de %{target}"
+        mark_statuses_as_sensitive: "%{name} marcou as publicacións de %{target} como sensibles"
         none: "%{name} envioulle un aviso a %{target}"
         sensitive: "%{name} marcou a conta de %{target} como sensible"
         silence: "%{name} limitou a conta de %{target}"
@@ -774,6 +790,7 @@ gl:
       links:
         allow: Permitir ligazón
         allow_provider: Permitir orixe
+        description_html: Estas son ligazóns que actualmente están sendo compartidas por moitas contas das que o teu servidor recibe publicación. Pode ser de utilidade para as túas usuarias para saber o que acontece polo mundo. Non se mostran ligazóns de xeito público a non ser que autorices a quen as publica. Tamén podes permitir ou rexeitar ligazóns de xeito individual.
         disallow: Denegar ligazón
         disallow_provider: Denegar orixe
         shared_by_over_week:
@@ -785,14 +802,17 @@ gl:
       pending_review: Revisión pendente
       preview_card_providers:
         allowed: As ligazóns desta orixe poden estar en voga
+        description_html: Estes son dominios de onde proceden as ligazóns compartidas con frecuencia no teu servidor. As ligazóns non se mostran públicamente a non ser que o dominio da ligazón sexa aprobado. A aprobación (ou rexeitamento) exténdese aos subdominios.
         rejected: As ligazóns desta orixe non poden estar en voga
         title: Orixes
       rejected: Rexeitado
       statuses:
         allow: Permitir publicación
         allow_account: Permitir autora
+        description_html: Estas son publicacións que o teu servidor coñece que están sendo compartidas e favorecidas en gran número neste intre. Pode ser útil para as persoas recén chegadas e as que retornan para que atopen persoas a quen seguir. Non se mostran publicamente a menos que aprobes a autora, e a autora permita que a súa conta sexa suxerida a outras. Tamén podes rexeitar ou aprobar publicacións individuais.
         disallow: Rexeitar publicación
         disallow_account: Rexeitar autora
+        not_discoverable: A autora non elexiu poder ser atopada
         shared_by:
           one: Compartida ou favorecida unha vez
           other: Compartida ou favorecida %{friendly_count} veces
@@ -805,6 +825,7 @@ gl:
           tag_servers_dimension: Clasificación Servidores
           tag_servers_measure: diferentes servidores
           tag_uses_measure: total de usos
+        description_html: Estes son cancelos que actualmente están presentes en moitas publicacións que o teu servidor recibe. Pode ser útil para que as túas usuarias atopen a outras persoas a través do máis comentado neste intre. Non se mostran cancelos públicamente que non fosen aprobados por ti.
         listable: Pode ser suxerida
         not_listable: Non vai ser suxerida
         not_trendable: Non aparecerá en tendencias
@@ -831,6 +852,7 @@ gl:
       actions:
         delete_statuses: borrar as súas publicacións
         disable: pausar a súa conta
+        mark_statuses_as_sensitive: marcar as súas publicacións como sensibles
         none: un aviso
         sensitive: marcar a conta como sensible
         silence: limitar a súa conta
@@ -933,8 +955,10 @@ gl:
     status:
       account_status: Estado da conta
       confirming: Agardando a confirmación do correo enviado.
+      functional: A túa conta está completamente operativa.
       pending: A túa solicitude está pendente de revisión. Poderíanos levar algún tempo. Recibirás un correo se a solicitude está aprobada.
       redirecting_to: A túa conta está inactiva porque está redirixida a %{acct}.
+      view_strikes: Ver avisos anteriores respecto da túa conta
     too_fast: Formulario enviado demasiado rápido, inténtao outra vez.
     trouble_logging_in: Problemas para acceder?
     use_security_key: Usa chave de seguridade
@@ -1010,6 +1034,7 @@ gl:
         submit: Enviar apelación
       associated_report: Denuncia asociada
       created_at: Data
+      description_html: Estas son as accións tomadas contra a túa conta e os avisos que che enviou a administración de %{instance}.
       recipient: Entregada a
       status: 'Publicación #%{id}'
       status_removed: A publicación xa foi eliminada do sistema
@@ -1017,6 +1042,7 @@ gl:
       title_actions:
         delete_statuses: Eliminación da publicación
         disable: Pausar conta
+        mark_statuses_as_sensitive: Marcar as publicacións como sensibles
         none: Aviso
         sensitive: Marcar a conta como sensible
         silence: Limitar a conta
@@ -1226,7 +1252,7 @@ gl:
       subject: 'Seguidora pendente: %{name}'
       title: Nova petición de seguimento
     mention:
-      action: Respostar
+      action: Responder
       body: 'Foi mencionada por %{name} en:'
       subject: Foches mencionada por %{name}
       title: Nova mención
@@ -1319,7 +1345,7 @@ gl:
       proceed: Darlle a promocionar
       prompt: 'Vas promover esta publicación:'
     reply:
-      proceed: Respostar
+      proceed: Responde
       prompt: 'Vas responder a esta publicación:'
   reports:
     errors:
@@ -1390,6 +1416,7 @@ gl:
     profile: Perfil
     relationships: Seguindo e seguidoras
     statuses_cleanup: Borrado automático da publicación
+    strikes: Avisos da moderación
     two_factor_authentication: Validar Dobre Factor
     webauthn_authentication: Chaves de seguridade
   statuses:
@@ -1410,9 +1437,9 @@ gl:
     disallowed_hashtags:
       one: 'contiña un cancelo non permitido: %{tags}'
       other: 'contiña uns cancelos non permitidos: %{tags}'
-    edited_at: Editado %{date}
+    edited_at_html: Editado %{date}
     errors:
-      in_reply_not_found: A publicación á que tentas respostar semella que non existe.
+      in_reply_not_found: A publicación á que tentas responder semella que non existe.
     open_in_web: Abrir na web
     over_character_limit: Excedeu o límite de caracteres %{max}
     pin_errors:
@@ -1469,6 +1496,7 @@ gl:
       '2629746': 1 mes
       '31556952': 1 ano
       '5259492': 2 meses
+      '604800': 1 semana
       '63113904': 2 anos
       '7889238': 3 meses
     min_age_label: Límite temporal
@@ -1616,26 +1644,28 @@ gl:
         spam: Spam
         violation: O contido viola as seguintes normas da comunidade
       explanation:
-        delete_statuses: Algunha das túas publicacións semella que viola algunha das normas da comunidade e foi eliminada pola moderación de %{instance}. Futuras violacións poderían implicar accións máis contundentes contra a túa conta.
+        delete_statuses: Algunha das túas publicacións son consideradas contrarias ás normas da comunidade e foron por tanto eliminadas pola moderación de %{instance}.
         disable: Xa non podes usar a túa conta, pero o teu perfil e outros datos permanecen intactos. Podes solicitar unha copia dos teus datos, cambiar os axustes da conta ou eliminar a túa conta.
+        mark_statuses_as_sensitive: Algunha das túas publicacións foron marcadas como sensible pola moderación de %{instance}. Esto significa que as persoas só poderan ver a vista previa se tocan nelas. Ti tamén podes marcar os medios como sensibles en futuras publicacións.
         sensitive: A partir deste momento, tódolos ficheiros que subiches estarán marcados como sensibles e agochados tras un aviso de contido.
         silence: Aínda podes usar a túa conta pero só as persoas que te siguen poden ver as túas publicacións neste servidor, e podes que foses excluída de varios xeitos de descubrimento. Porén, aínda te poden seguir de xeito manual.
         suspend: Xa non podes usar a túa conta, o teu perfil e outros datos xa non son accesibles. Aínda podes acceder para solicitar unha copia dos teus datos no prazo de 30 días previos á eliminación da conta. Imos reter algúns datos básicos para evitar que poidas evitar a suspensión.
-      get_in_touch: Se consideras que isto é un erro, podes responder a este email para contactar coa administración de %{instance}.
       reason: 'Razón:'
-      statuses: 'Publicacións que contradín as normas:'
+      statuses: 'Publicacións citadas:'
       subject:
         delete_statuses: As túas publicacións en %{acct} foron eliminadas
         disable: A súa conta %{acct} foi conxelada
+        mark_statuses_as_sensitive: As túas publicacións en %{acct} foron marcadas como sensibles
         none: Aviso para %{acct}
-        sensitive: A partir de agora os ficheiros multimedia en %{acct} van ser marcados como sensibles
+        sensitive: A partir de agora as túas publicacións en %{acct} van ser marcadas como sensibles
         silence: A súa conta %{acct} foi limitada
         suspend: A súa conta %{acct} foi suspendida
       title:
         delete_statuses: Publicacións eliminadas
         disable: Conta conxelada
+        mark_statuses_as_sensitive: Publicacións marcadas como sensibles
         none: Aviso
-        sensitive: Contido multimedia agochado
+        sensitive: Conta marcada como sensible
         silence: Conta limitada
         suspend: Conta suspendida
     welcome:
diff --git a/config/locales/he.yml b/config/locales/he.yml
index e0068d5bc..67f3df609 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -119,16 +119,6 @@ he:
         title: חסימת שרת חדשה
       reject_media: חסימת קבצי מדיה
       reject_media_hint: מסירה קבצי מדיה השמורים מקומית ומונעת מהורדת קבצים נוספים בעתיד. לא רלוונטי להשעיות
-      show:
-        affected_accounts:
-          one: חשבון אחד במסד נתונים מושפע
-          other: "%{count} חשבונות במסד נתונים מושפעים"
-          zero: אף חשבון במסד נתונים מושפע
-        retroactive:
-          silence: הסרת השתקה מכל החשבונות על שרת זה
-          suspend: הסרת השעייה מכל החשבונות על שרת זה
-        title: ביטול חסימת שרת עבור %{domain}
-        undo: ביטול
       undo: ביטול
     instances:
       title: שרתים מוכרים
@@ -207,6 +197,7 @@ he:
     security: החלפת סיסמא
     set_new_password: שינוי סיסמא
     status:
+      functional: החשבון שלכם פעיל לגמרי.
       redirecting_to: חשבונכם לא פעיל כעת מכיוון שמפנה ל%{acct}.
   authorize_follow:
     error: למרבה הצער, היתה שגיאה בחיפוש החשבון המרוחק
@@ -304,7 +295,6 @@ he:
     two_factor_authentication: אימות דו-שלבי
   statuses:
     default_language: זהה לשפת ממשק
-    edited_at: נערך ב%{date}
     open_in_web: פתח ברשת
     over_character_limit: חריגה מגבול התווים של %{max}
     show_more: עוד
@@ -336,9 +326,7 @@ he:
       reason: 'סיבה:'
       subject:
         delete_statuses: הפוסטים שלכם ב%{acct} הוסרו
-        sensitive: קבצי המדיה שלכם ב%{acct} יסומנו בתור תוכן רגיש מעכשיו והלאה
       title:
         delete_statuses: פוסטים שהוסרו
-        sensitive: מדיה שהוסתרה
   users:
     invalid_otp_token: קוד דו-שלבי שגוי
diff --git a/config/locales/hr.yml b/config/locales/hr.yml
index d1a809144..2e6af8cda 100644
--- a/config/locales/hr.yml
+++ b/config/locales/hr.yml
@@ -25,7 +25,6 @@ hr:
     following: Praćenih
     last_active: posljednja aktivnost
     media: Medijski sadržaj
-    never_active: Nikad
     nothing_here: Ovdje nema ničeg!
     people_followed_by: Ljudi koje %{name} prati
     people_who_follow: Ljudi koji prate %{name}
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 224bcc986..000184317 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -16,6 +16,7 @@ hu:
     contact: Kapcsolat
     contact_missing: Nincs megadva
     contact_unavailable: N/A
+    continue_to_web: Tovább a webes alkalmazáshoz
     discover_users: Találj meg másokat
     documentation: Dokumentáció
     federation_hint_html: Egy %{instance} fiókkal bármely más Mastodon szerveren vagy a föderációban lévő felhasználót követni tudsz.
@@ -25,6 +26,8 @@ hu:
       Ez a fiók virtuális, magát a szervert reprezentálja, nem pedig konkrét
       felhasználót. Föderációs célokra szolgál, nem szabad tehát felfüggeszteni, hacsak nem akarod a teljes szervert kitiltani, mely esetben a domain tiltásának használata javasolt.
     learn_more: Tudj meg többet
+    logged_in_as_html: Belépve, mint %{username}.
+    logout_before_registering: Már be vagy jelentkezve.
     privacy_policy: Adatvédelmi szabályzat
     rules: Szerverünk szabályai
     rules_html: 'Alább látod azon követendő szabályok összefoglalóját, melyet be kell tartanod, ha szeretnél fiókot ezen a szerveren:'
@@ -71,7 +74,6 @@ hu:
     media: Média
     moved_html: "%{name} ide költözött: %{new_profile_link}"
     network_hidden: Ez az információ nem elérhető
-    never_active: Soha
     nothing_here: Nincs itt semmi!
     people_followed_by: "%{name} követettjei"
     people_who_follow: "%{name} követői"
@@ -164,10 +166,10 @@ hu:
       not_subscribed: Nincs feliratkozás
       pending: Engedélyezés alatt
       perform_full_suspension: Felfüggesztés
-      previous_strikes: Korábbi vétségek
+      previous_strikes: Korábbi szankciók
       previous_strikes_description_html:
-        one: Ennek a fióknak <strong>egy</strong> vétsége van.
-        other: Ennek a fióknak <strong>%{count}</strong> vétsége van.
+        one: Ezt a fiókot <strong>egyszer</strong> szankcionálták.
+        other: Ezt a fiókot <strong>%{count}</strong> esetben szankcionálták.
         zero: Ez a fiók <strong>makulátlan</strong>.
       promote: Előléptetés
       protocol: Protokoll
@@ -210,7 +212,7 @@ hu:
       silence: Némítás
       silenced: Némított
       statuses: Bejegyzés
-      strikes: Korábbi kihágások
+      strikes: Korábbi szankciók
       subscribe: Feliratkozás
       suspend: Felfüggesztés
       suspended: Felfüggesztett
@@ -373,7 +375,7 @@ hu:
       enable: Engedélyezés
       enabled: Engedélyezve
       enabled_msg: Emodzsi sikeresen engedélyezve
-      image_hint: PNG (legfeljebb 50 kB-os)
+      image_hint: PNG vagy GIF, legfeljebb %{size}-os
       list: Felsorolás
       listed: Felsorolva
       new:
@@ -450,21 +452,6 @@ hu:
       reject_media_hint: Eltávolítja a helyben tárolt médiafájlokat és a továbbiakban letiltja az új médiafájlok letöltését. Felfüggesztett fiókok esetében irreleváns opció
       reject_reports: Bejelentések elutasítása
       reject_reports_hint: Erről a domainről származó minden bejelentés elutasítása. Felfüggesztett fiókok esetén irreleváns opció
-      rejecting_media: médiafájlok elutasítása
-      rejecting_reports: bejelentések elutasítása
-      severity:
-        silence: némítva
-        suspend: felfüggesztve
-      show:
-        affected_accounts:
-          one: Egy fiókot érintett az adatbázisban
-          other: "%{count} fiókot érintett az adatbázisban"
-          zero: Nem érintett fiókot az adatbázisban
-        retroactive:
-          silence: Minden felhasználó némításának feloldása ezen a domainen
-          suspend: Minden felhasználó felfüggesztésének feloldása ezen a domainen
-        title: "%{domain} domain tiltásának feloldása"
-        undo: Visszavonás
       undo: Domain tiltásának visszavonása
       view: Domain tiltásának megtekintése
     email_domain_blocks:
@@ -495,23 +482,47 @@ hu:
       title: Követési ajánlatok
       unsuppress: Követési ajánlatok visszaállítása
     instances:
+      availability:
+        description_html:
+          one: Ha a domainre történő kézbesítés <strong>%{count} teljes nap</strong> sikertelen, további kézbesítéseket már nem kísérlünk meg, hacsak mi nem kapunk kézbesítést a <em>domaintől</em>.
+          other: Ha a domainre történő kézbesítés <strong>%{count} különböző nap</strong> sikertelen, további kézbesítéseket már nem kísérlünk meg, hacsak mi nem kapunk kézbesítést a <em>domaintől</em>.
+        failure_threshold_reached: 'Hibaküszöb elérve ekkor: %{date}.'
+        failures_recorded:
+          one: Sikertelen próbálkozás %{count} napon.
+          other: Sikertelen próbálkozás %{count} különböző napon.
+        no_failures_recorded: Nem rögzítettünk hibát.
+        title: Elérhetőség
       back_to_all: Mind
       back_to_limited: Korlátozott
       back_to_warning: Figyelmeztetés
       by_domain: Domain
       confirm_purge: Biztos, hogy véglegesen törölni akarod az adatokat ebből a domainből?
+      content_policies:
+        comment: Belső megjegyzés
+        description_html: Definiálhatsz tartalmi szabályokat, melyek ezen domain és minden aldomain fiókjára vonatkozni fognak.
+        policies:
+          reject_media: Média elutasítása
+          reject_reports: Bejelentések elutasítása
+          silence: Korlátozás
+          suspend: Felfüggesztés
+        policy: Házirend
+        reason: Nyilvános indok
+        title: Tartalmi szabályok
+      dashboard:
+        instance_accounts_dimension: Legtöbbet követett fiókok
+        instance_accounts_measure: tárolt fiók
+        instance_followers_measure: követőnk náluk
+        instance_follows_measure: követőik nálunk
+        instance_languages_dimension: Legnépszerűbb nyelvek
+        instance_media_attachments_measure: tárolt médiatartalom
+        instance_reports_measure: bejelentés róluk
+        instance_statuses_measure: tárolt bejegyzés
       delivery:
         all: Mind
         clear: Kézbesítési hibák törlése
         restart: Kézbesítés újraindítása
         stop: Kézbesítés leállítása
-        title: Kézbesítés
         unavailable: Nem elérhető
-        unavailable_message: Kézbesítés nem elérhető
-        warning: Figyelmeztetés
-        warning_message:
-          one: Kézbesítés sikertelen %{count} napja
-          other: Kézbesítés sikertelen %{count} napja
       delivery_available: Kézbesítés elérhető
       delivery_error_days: Kézbesítési hiba időtartama
       delivery_error_hint: Ha a kézbesítés lehetetlen %{count} napig, automatikusan kézbesíthetetlennek lesz megjelölve.
@@ -528,12 +539,14 @@ hu:
       private_comment: Privát megjegyzés
       public_comment: Nyilvános megjegyzés
       purge: Végleges törlés
+      purge_description_html: Ha úgy véled, hogy ez a domain végleg offline marad, a tárhelyedről letörölhetsz minden fiókot és hozzá tartozó adatot. Ez eltarthat egy darabig.
       title: Föderáció
       total_blocked_by_us: Általunk letiltott
       total_followed_by_them: Általuk követett
       total_followed_by_us: Általunk követett
       total_reported: Bejelentés róluk
       total_storage: Média csatolmány
+      totals_time_period_hint_html: Az alább mutatott összesítések minden eddigi adatot tartalmaznak.
     invites:
       deactivate_all: Összes deaktiválása
       filter:
@@ -587,9 +600,10 @@ hu:
       action_log: Audit napló
       action_taken_by: 'Kezelte:'
       actions:
-        delete_description_html: A bejelentett bejegyzéseket törölni fogjuk és feljegyzünk egy vétséget, hogy segítsünk a későbbi eszkalációban ugyanennél a fióknál.
+        delete_description_html: A bejelentett bejegyzéseket törölni fogjuk és feljegyzünk egy szankciót, hogy segítsük az eszkalációt a fiók későbbi kihágásai esetén.
+        mark_as_sensitive_description_html: A bejelentett bejegyzések médaitartalmait érzékenynek jelöljük, és rögzítünk egy szankciót, hogy segítsük az eszkalációt a fiók későbbi kihágásai esetében.
         other_description_html: További lehetőségek megjelenítése a fiók viselkedésének szabályozásához, és a jelentett fiók kommunikációjának testreszabásához.
-        resolve_description_html: Nem csinálunk semmit a bejelentett fiókkal, nem jegyzünk fel vétséget, és bezárjuk a bejelentést.
+        resolve_description_html: Nem csinálunk semmit a bejelentett fiókkal, nem jegyzünk fel szankciót, és bezárjuk a bejelentést.
         silence_description_html: A profil csak azok számára lesz látható, akik már követik, vagy kézileg megkeresik, rendkívül korlátozva az elérését. Ez mindig visszafordítható.
         suspend_description_html: A profil és az összes tartalma elérhetetlen lesz, amíg végleg törlésre nem kerül. A fiókkal történő minden interakció lehetetlen lesz. 30 napon belül még visszaállítható.
       actions_description_html: Döntsd el, mit csináljunk, hogy megoldjuk ezt a bejelentést. Ha valamilyen büntető intézkedést hozol a bejelentett fiók ellen, küldünk neki egy figyelmeztetést e-mail-ben, kivéve ha a <strong>Spam</strong> kategóriát választod.
@@ -608,6 +622,7 @@ hu:
       forwarded: Továbbítva
       forwarded_to: 'Továbbítva ide: %{domain}'
       mark_as_resolved: Megjelölés megoldottként
+      mark_as_sensitive: Érzékenynek jelölés
       mark_as_unresolved: Megjelölés megoldatlanként
       no_one_assigned: Senki
       notes:
@@ -751,6 +766,7 @@ hu:
       actions:
         delete_statuses: "%{name} törölte %{target} bejegyzését"
         disable: "%{name} befagyasztotta %{target} fiókját"
+        mark_statuses_as_sensitive: "%{name} %{target} bejegyzését érzékenynek jelölte"
         none: "%{name} figyelmeztetést küldött %{target} számára"
         sensitive: "%{name} érzékenynek jelölte %{target} fiókját"
         silence: "%{name} korlátozta %{target} fiókját"
@@ -776,6 +792,7 @@ hu:
       links:
         allow: Hivatkozás engedélyezése
         allow_provider: Közzétevő engedélyezése
+        description_html: Ezek olyan hivatkozások, melyeket a szervered által látott fiókok mostanában sokat osztanak meg. Ez segíthet a felhasználóidnak rátalálni arra, hogy mi történik a világban. Egy hivatkozást sem mutatunk meg nyilvánosan, amíg a közzétevőt jóvá nem hagytad. A hivatkozásokat külön is engedélyezheted vagy visszautasíthatod.
         disallow: Hivatkozás letiltása
         disallow_provider: Közzétevő letiltása
         shared_by_over_week:
@@ -787,14 +804,17 @@ hu:
       pending_review: Áttekintésre vár
       preview_card_providers:
         allowed: A közzétevő hivatkozásai felkapottak lehetnek
+        description_html: Ezek olyan domainek, melyekre vonatkozó hivatkozásokat gyakran osztanak meg a szervereden. A hivatkozások nem lesznek nyilvánosan trendik, amíg a hivatkozás domainjét jóvá nem hagytad. A jóváhagyásod (vagy visszautasításod) az aldomainekre is vonatkozik.
         rejected: A közzétevő hivatkozásai nem lesznek felkapottak
         title: Közzétévők
       rejected: Elutasított
       statuses:
         allow: Bejegyzés engedélyezése
         allow_account: Szerző engedélyezése
+        description_html: Ezek olyan, a szervered által ismert bejegyzések, melyeket mostanság gyakran osztanak meg vagy jelölnek kedvencnek. Ez segíthet az új vagy visszatérő felhasználóidnak, hogy több követhető személyt találjanak Egyetlen bejegyzést sem mutatunk meg nyilvánosan, amíg ennek szerzőjét nem hagytad jóvá és ő nem járult hozzá, hogy őt másoknak ajánlják. Bejegyzéseket egyenként is engedélyezhetsz vagy visszautasíthatsz.
         disallow: Bejegyzés tiltása
         disallow_account: Szerző tiltása
+        not_discoverable: A szerző nem járult hozzá, hogy mások rátalálhassanak
         shared_by:
           one: Megosztva vagy kedvencnek jelölve egy alkalommal
           other: Megosztva és kedvencnek jelölve %{friendly_count} alkalommal
@@ -807,6 +827,7 @@ hu:
           tag_servers_dimension: Legnépszerűbb kiszolgálók
           tag_servers_measure: különböző kiszolgáló
           tag_uses_measure: összes használat
+        description_html: Ezek olyan hashtag-ek, melyek mostanság nagyon sok bejegyzésben jelennek meg, melyet a szervered lát. Ez segíthet a felhasználóidnak abban, hogy megtudják, miről beszélnek legtöbbet az emberek az adott pillanatban. Egyetlen hashtag-et sem mutatunk meg nyilvánosan, amíg azt nem hagytad jóvá.
         listable: Javasolható
         not_listable: Nem lesz javasolva
         not_trendable: Nem fog megjelenni a trendek alatt
@@ -833,6 +854,7 @@ hu:
       actions:
         delete_statuses: bejegyzések törléséről
         disable: fiók befagyasztásáról
+        mark_statuses_as_sensitive: bejegyzések érzékenynek jelöléséről
         none: figyelmeztetésről
         sensitive: fiók érzékenynek jelöléséről
         silence: fiók korlátozásáról
@@ -935,8 +957,10 @@ hu:
     status:
       account_status: Fiók állapota
       confirming: Várakozás az e-mailes visszaigazolásra.
+      functional: A fiókod teljesen működőképes.
       pending: A jelentkezésed engedélyezésre vár. Ez eltarthat egy ideig. Kapsz egy e-mailt, ha a kérelmedet jóváhagyták.
       redirecting_to: A fiókod inaktív, mert jelenleg ide %{acct} van átirányítva.
+      view_strikes: Fiókod elleni korábbi szankciók megtekintése
     too_fast: Túl gyorsan küldted el az űrlapot, próbáld később.
     trouble_logging_in: Problémád van a bejelentkezéssel?
     use_security_key: Biztonsági kulcs használata
@@ -1004,7 +1028,7 @@ hu:
     strikes:
       action_taken: Intézkedés
       appeal: Fellebbezés
-      appeal_approved: Ezt a vétséget eredményesen fellebbezték, így már nem érvényes
+      appeal_approved: Ezt a szankciót eredményesen fellebbezték, így már nem érvényes
       appeal_rejected: A fellebbezést visszautasították
       appeal_submitted_at: Fellebbezés beküldve
       appealed_msg: A fellebbezésedet beküldtük. Ha jóváhagyták, értesítünk.
@@ -1012,6 +1036,7 @@ hu:
         submit: Fellebbezés beküldése
       associated_report: Társított bejelentés
       created_at: Dátum
+      description_html: Ezek a fiókoddal szemben elvégzett műveletek és figyelmeztetések, melyeket a %{instance} szerver csapata küldött.
       recipient: Címzett
       status: 'Bejegyzés #%{id}'
       status_removed: A bejegyzést már eltávolítottuk a rendszerből
@@ -1019,6 +1044,7 @@ hu:
       title_actions:
         delete_statuses: Bejegyzés eltávolítása
         disable: Fiók befagyasztása
+        mark_statuses_as_sensitive: Bejegyzések érzékenynek jelölése
         none: Figyelmeztetés
         sensitive: Fiók érzékenynek jelölése
         silence: Fiók korlátozása
@@ -1392,6 +1418,7 @@ hu:
     profile: Profil
     relationships: Követések és követők
     statuses_cleanup: Bejegyzések automatikus törlése
+    strikes: Moderációs szankciók
     two_factor_authentication: Kétlépcsős hitelesítés
     webauthn_authentication: Biztonsági kulcsok
   statuses:
@@ -1412,7 +1439,7 @@ hu:
     disallowed_hashtags:
       one: 'tiltott hashtaget tartalmaz: %{tags}'
       other: 'tiltott hashtageket tartalmaz: %{tags}'
-    edited_at: 'Szerkesztve: %{date}'
+    edited_at_html: 'Szerkesztve: %{date}'
     errors:
       in_reply_not_found: Már nem létezik az a bejegyzés, melyre válaszolni szeretnél.
     open_in_web: Megnyitás a weben
@@ -1471,6 +1498,7 @@ hu:
       '2629746': 1 hónap
       '31556952': 1 év
       '5259492': 2 hónap
+      '604800': 1 hét
       '63113904': 2 év
       '7889238': 3 hónap
     min_age_label: Korhatár
@@ -1594,11 +1622,11 @@ hu:
   user_mailer:
     appeal_approved:
       action: Ugrás a fiókodhoz
-      explanation: A fiókod %{appeal_date}-i fellebbezése, mely a %{strike_date}-i vétségeddel kapcsolatos, jóváhagyásra került. A fiókod megint makulátlan.
+      explanation: A fiókod %{appeal_date}-i fellebbezése, mely a %{strike_date}-i szankcióval kapcsolatos, jóváhagyásra került. A fiókod megint makulátlan.
       subject: A %{date}-i fellebbezésedet jóváhagyták
       title: Fellebbezés jóváhagyva
     appeal_rejected:
-      explanation: A %{appeal_date}-i fellebbezésed, amely a fiókod %{strike_date}-i vétségével kapcsolatos, elutasításra került.
+      explanation: A %{appeal_date}-i fellebbezésed, amely a fiókod %{strike_date}-i szankciójával kapcsolatos, elutasításra került.
       subject: A %{date}-i fellebbezésedet visszautasították
       title: Fellebbezés visszautasítva
     backup_ready:
@@ -1618,26 +1646,28 @@ hu:
         spam: Kéretlen üzenet
         violation: A tartalom megsérti a következő közösségi irányelveket
       explanation:
-        delete_statuses: Néhány bejegyzésedről a moderátorok úgy találták, hogy sérti a közösségi szabályainkat, így ezeket eltávolították a %{instance} kiszolgálóról. A jövőbeni kihágásokat a fiókodon keményebben is büntethetik.
+        delete_statuses: Néhány bejegyzésedről úgy találták, hogy megsértenek egy vagy több közösségi irányelvet, így ezeket a %{instance} moderátorai eltávolították.
         disable: Nem használhatod tovább a fiókodat, bár a profil- és egyéb adataid érintetlenül maradnak. Kérhetsz mentést az adataidról, megváltoztathatod a beállításaidat vagy törölheted a fiókodat.
+        mark_statuses_as_sensitive: Néhány bejegyzésedet a %{instance} moderátorai érzékenynek jelölték. Ez azt jelenti, hogy az embereknek először rá kell nyomni a bejegyzés médiatartalmára, mielőtt egy előnézet megjelenne. A jövőben te is megjelölheted bejegyzés írása közben a médiatartalmat érzékenyként.
         sensitive: Mostantól minden feltöltött médiaállományodat érzékeny tartalomként jelölünk meg és kattintásos figyelmeztetés mögé rejtjük.
         silence: A fiókodat most is használhatod, de ezen a kiszolgálón csak olyanok láthatják a bejegyzéseidet, akik már eddig is a követőid voltak, valamint kihagyunk különböző felfedezésre használható funkciókból. Ettől még mások továbbra is manuálisan be tudnak követni.
         suspend: Többé nem használhatod a fiókodat, a profilod és más adataid többé nem elérhetőek. Még be tudsz jelentkezni, hogy mentést kérj az adataidról addig, amíg kb. 30 nap múlva teljesen le nem töröljük őket. Néhány alapadatot megtartunk, hogy el tudjuk kerülni, hogy megkerüld a felfüggesztést.
-      get_in_touch: Ha azt gondolod, hogy ez egy hiba, akkor válaszolj erre az e-mail-re, hogy kapcsolatba léphess a %{instance} kiszolgáló üzemeltetőivel.
       reason: 'Indok:'
-      statuses: 'Szabálysértőnek talált bejegyzések:'
+      statuses: 'Bejegyzések idézve:'
       subject:
         delete_statuses: A(z) %{acct} fiók bejegyzései eltávolításra kerültek
         disable: A fiókodat %{acct} befagyasztották
+        mark_statuses_as_sensitive: Bejegyzéseidet a %{acct} szerveren érzékenyek jelölték
         none: Figyelmeztetés a %{acct} fióknak
-        sensitive: A(z) %{acct} fiók médiafájljai mostantól érzékenynek lesznek jelölve
+        sensitive: Bejegyzéseidet a %{acct} szerveren mostantól érzékenynek jelöljük
         silence: A fiókodat %{acct} korlátozták
         suspend: A fiókodat %{acct} felfüggesztették
       title:
         delete_statuses: Bejegyzések törölve
         disable: Befagyasztott fiók
+        mark_statuses_as_sensitive: Bejegyzések érzékenynek jelölve
         none: Figyelem
-        sensitive: Média elrejtve
+        sensitive: Fiók érzékenynek jelölve
         silence: Lekorlátozott fiók
         suspend: Felfüggesztett fiók
     welcome:
diff --git a/config/locales/hy.yml b/config/locales/hy.yml
index 0739f3879..e7d8bd414 100644
--- a/config/locales/hy.yml
+++ b/config/locales/hy.yml
@@ -67,7 +67,6 @@ hy:
     media: Մեդիա
     moved_html: "%{name} տեղափոխուել է %{new_profile_link}"
     network_hidden: Այս տուեալը հասանելի չէ
-    never_active: Երբեք
     nothing_here: Այստեղ բան չկայ
     people_followed_by: Մարդիկ, որոնց %{name}ը հետեւում է
     people_who_follow: Մարդիկ, որոնք հետեւում են %{name}ին
@@ -296,7 +295,6 @@ hy:
       enable: Միացնել
       enabled: Միացուած
       enabled_msg: Յաջողութեամբ միացուեց էմոջին
-      image_hint: PNG մինչեւ 50KB
       list: Ցանկ
       listed: Ցուցակագրուած
       new:
@@ -337,14 +335,6 @@ hy:
       public_comment: Հրապարակային մեկնաբանութիւն
       reject_media: Մերժել մեդիա ֆայլերը
       reject_reports: Մերժել բողոքները
-      rejecting_media: մերժուում են մեդիա ֆայլեր
-      rejecting_reports: մերժուում են բողոքներ
-      severity:
-        silence: լռեցուած
-        suspend: կասեցուած
-      show:
-        title: Ետարկել տիրոյթի արգելափակումը %{domain}ի համար
-        undo: Ետարկել
       undo: Ետարկել տիրոյթի արգելափակումը
       view: Տեսնել տիրոյթի արգելափակումը
     email_domain_blocks:
@@ -367,7 +357,6 @@ hy:
       delivery:
         all: Բոլորը
         unavailable: Անհասանելի է
-        warning: Զգուշացում
       empty: Դոմեյնները չեն գտնուել
       moderation:
         all: Բոլորը
@@ -912,6 +901,7 @@ hy:
       '2629746': 1 ամիս
       '31556952': 1 տարի
       '5259492': 2 ամիս
+      '604800': 1 week
       '63113904': 2 տարի
       '7889238': 3 ամիս
   stream_entries:
diff --git a/config/locales/id.yml b/config/locales/id.yml
index 4e94de090..97443b4a5 100644
--- a/config/locales/id.yml
+++ b/config/locales/id.yml
@@ -16,6 +16,7 @@ id:
     contact: Kontak
     contact_missing: Belum diset
     contact_unavailable: Tidak Tersedia
+    continue_to_web: Lanjut ke apl web
     discover_users: Temukan pengguna
     documentation: Dokumentasi
     federation_hint_html: Dengan akun di %{instance} Anda dapat mengikuti orang di server Mastodon mana pun dan di luarnya.
@@ -23,6 +24,8 @@ id:
     hosted_on: Mastodon dihosting di %{domain}
     instance_actor_flash: "Akun ini adalah aktor virtual yang dipakai untuk merepresentasikan server, bukan pengguna individu. Ini dipakai untuk tujuan federasi dan jangan diblokir kecuali Anda ingin memblokir seluruh instansi, yang seharusnya Anda pakai blokir domain. \n"
     learn_more: Pelajari selengkapnya
+    logged_in_as_html: Anda sedang masuk sebagai %{username}.
+    logout_before_registering: Anda sudah masuk.
     privacy_policy: Kebijakan Privasi
     rules: Aturan server
     rules_html: 'Di bawah ini adalah ringkasan aturan yang perlu Anda ikuti jika Anda ingin memiliki akun di server Mastodon ini:'
@@ -64,7 +67,6 @@ id:
     media: Media
     moved_html: "%{name} telah pindah ke %{new_profile_link}:"
     network_hidden: Informasi ini tidak tersedia
-    never_active: Tak pernah
     nothing_here: Tidak ada apapun disini!
     people_followed_by: Orang yang diikuti %{name}
     people_who_follow: Orang-orang yang mengikuti %{name}
@@ -365,7 +367,7 @@ id:
       enable: Aktifkan
       enabled: Diaktifkan
       enabled_msg: Emoji berhasil diaktifkan
-      image_hint: PNG hingga 50KB
+      image_hint: PNG atau GIF hingga %{size}
       list: Daftar
       listed: Terdaftar
       new:
@@ -438,21 +440,6 @@ id:
       reject_media_hint: Hapus file media yang tersimpan dan menolak semua unduhan nantinya. Tidak terpengaruh dengan suspen
       reject_reports: Tolak laporan
       reject_reports_hint: Abaikan semua laporan dari domain ini. Tidak relevan untuk penangguhan
-      rejecting_media: tolak berkas media
-      rejecting_reports: laporan ditolak
-      severity:
-        silence: dibungkam
-        suspend: ditangguhkan
-      show:
-        affected_accounts:
-          one: Satu akun di basis data terpengaruh
-          other: "%{count} akun di basis data terpengaruh"
-          zero: Tidak ada akun di basis data terpengaruh
-        retroactive:
-          silence: Hapus pendiaman terhadap akun pada domain ini
-          suspend: Hapus suspen terhadap akun pada domain ini
-        title: Hapus pemblokiran domain %{domain}
-        undo: Urungkan
       undo: Urungkan blokir domain
       view: Lihat blokir domain
     email_domain_blocks:
@@ -482,22 +469,45 @@ id:
       title: Rekomendasi untuk diikuti
       unsuppress: Kembalikan rekomendasi untuk diikuti
     instances:
+      availability:
+        description_html:
+          other: Jika pengiriman ke domain selama <strong>%{count} hari</strong> tidak berhasil, tidak akan ada upaya pengiriman kecuali bila kiriman <em>dari</em> domain tersebut berhasil diterima.
+        failure_threshold_reached: Batas kegagalan tercapai pada %{date}.
+        failures_recorded:
+          other: Upaya gagal dalam %{count} hari berbeda.
+        no_failures_recorded: Tidak ada kegagalan tercatat.
+        title: Ketersediaan
       back_to_all: Semua
       back_to_limited: Terbatas
       back_to_warning: Peringatan
       by_domain: Domain
       confirm_purge: Yakin ingin menghapus permanen data dari domain ini?
+      content_policies:
+        comment: Catatan internal
+        description_html: Anda dapat menentukan kebijakan konten yang akan diterapkan ke semua akun dari domain ini dan dari subdomainnya.
+        policies:
+          reject_media: Tolak media
+          reject_reports: Tolak laporan
+          silence: Batas
+          suspend: Tangguhkan
+        policy: Kebijakan
+        reason: Alasan publik
+        title: Kebijakan konten
+      dashboard:
+        instance_accounts_dimension: Akun yang paling banyak diikuti
+        instance_accounts_measure: akun tersimpan
+        instance_followers_measure: pengikut kami di sana
+        instance_follows_measure: pengikut mereka di sini
+        instance_languages_dimension: Bahasa terpopuler
+        instance_media_attachments_measure: lampiran media tersimpan
+        instance_reports_measure: laporan tentang mereka
+        instance_statuses_measure: kiriman tersimpan
       delivery:
         all: Semua
         clear: Hapus galat pengiriman
         restart: Mulai ulang pengiriman
         stop: Setop pengiriman
-        title: Pengiriman
         unavailable: Tidak tersedia
-        unavailable_message: Pengiriman tidak tersedia
-        warning: Peringatan
-        warning_message:
-          other: Kegagalan pengiriman %{count} hari
       delivery_available: Pengiriman tersedia
       delivery_error_days: Lama hari pengiriman galat
       delivery_error_hint: Jika pengiriman tidak terjadi selama %{count} hari, ia akan ditandai secara otomatis sebagai tidak terkirim.
@@ -514,12 +524,14 @@ id:
       private_comment: Komentar pribadi
       public_comment: Komentar publik
       purge: Hapus
+      purge_description_html: Jika Anda meyakini bahwa domain ini lebih baik offline, Anda dapat menghapus semua rekaman akun dan data terkait dari domain ini dari ruang penyimpanan Anda. Ini perlu beberapa waktu.
       title: Server yang diketahui
       total_blocked_by_us: Yang kita blokir
       total_followed_by_them: Diikuti mereka
       total_followed_by_us: Diikuti kita
       total_reported: Laporan tentang mereka
       total_storage: Lampiran media
+      totals_time_period_hint_html: Total tampilan di bawah termasuk data seluruh waktu.
     invites:
       deactivate_all: Nonaktifkan semua
       filter:
@@ -573,6 +585,7 @@ id:
       action_taken_by: Aksi dilakukan oleh
       actions:
         delete_description_html: Kiriman yang dilaporkan akan dihapus dan peringatan akan direkam untuk membantu Anda mengurus masalah oleh akun yang sama di masa mendatang.
+        mark_as_sensitive_description_html: Media di dalam kiriman terlapor akan ditandai sebagai sensitif dan hukuman akan direkam untuk membantu menangani pelanggaran dari akun yang sama di masa mendatang.
         other_description_html: Lihat opsi lain untuk mengendalikan perilaku akun dan menyesuaikan komunikasi ke akun yang dilaporkan.
         resolve_description_html: Tidak ada tindakan untuk akun yang dilaporkan, tidak ada peringatan yang direkam, dan laporan akan ditutup.
         silence_description_html: Profil hanya dapat terlihat oleh pengguna yang telah mengikuti atau melihatnya secara manual, yang sangat membatasi jangkauannya. Selalu dapat dipulihkan kembali.
@@ -593,6 +606,7 @@ id:
       forwarded: Diteruskan
       forwarded_to: Diteruskan ke %{domain}
       mark_as_resolved: Tandai telah diseleseikan
+      mark_as_sensitive: Tandai sebagai sensitif
       mark_as_unresolved: Tandai belum terselesaikan
       no_one_assigned: Tidak ada
       notes:
@@ -736,6 +750,7 @@ id:
       actions:
         delete_statuses: "%{name} menghapus kiriman %{target}"
         disable: "%{name} membekukan akun %{target}"
+        mark_statuses_as_sensitive: "%{name} menandai kiriman %{target} sebagai sensitif"
         none: "%{name} mengirim peringatan ke %{target}"
         sensitive: "%{name} menandai akun %{target} sebagai sensitif"
         silence: "%{name} membatasi akun %{target}"
@@ -761,6 +776,7 @@ id:
       links:
         allow: Izinkan tautan
         allow_provider: Izinkan penerbit
+        description_html: Ini adalah tautan yang saat ini dibagikan oleh banyak akun yang dapat dilihat dari server Anda. Ini dapat membantu pengguna Anda menemukan apa yang sedang terjadi di dunia. Tidak ada tautan yang ditampilkan secara publik kecuali Anda sudah menyetujui pengirimnya. Anda juga dapat mengizinkan atau menolak tautan individu.
         disallow: Batalkan izin tautan
         disallow_provider: Batalkan izin penerbit
         shared_by_over_week:
@@ -772,14 +788,17 @@ id:
       pending_review: Tinjauan tertunda
       preview_card_providers:
         allowed: Tautan dari penerbit ini dapat menjadi tren
+        description_html: Ini adalah domain yang tautannya sering dibagikan di server Anda. Tautan tidak akan menjadi tren secara publik kecuali domain dari tautan tersebut disetujui. Persetujuan (atau penolakan) Anda mempengaruhi subdomain.
         rejected: Tautan dari penerbit ini tidak dapat menjadi tren
         title: Penerbit
       rejected: Ditolak
       statuses:
         allow: Izinkan kiriman
         allow_account: Izinkan penulis
+        description_html: Ini adalah kiriman yang diketahui server Anda yang kini sedang dibagikan dan difavoritkan banyak akun. Ini akan membantu pengguna baru dan lama Anda menemukan lebih banyak orang untuk diikuti. Tidak ada kiriman yang ditampilkan secara publik kecuali jika sudah disetujui pemilik akun, dan pemilik akun mengizinkan akun mereka disarankan untuk orang lain. Anda juga dapat mengizinkan atau menolak kiriman individu.
         disallow: Jangan beri izin kiriman
         disallow_account: Jangan beri izin penulis
+        not_discoverable: Pemilik akun memilih untuk tidak dapat ditemukan
         shared_by:
           other: Dibagikan dan difavoritkan %{friendly_count} kali
         title: Kiriman yang sedang tren
@@ -791,6 +810,7 @@ id:
           tag_servers_dimension: Server terpopuler
           tag_servers_measure: server berbeda
           tag_uses_measure: kegunaan total
+        description_html: Ini adalah tagar yang kini sedang muncul di banyak kiriman yang dapat dilihat server Anda. Ini dapat membantu pengguna Anda menemukan apa yang sedang dibicarakan banyak orang. Tagar tidak akan ditampilkan secara publik kecuali jika Anda mengizinkannya.
         listable: Dapat disarankan
         not_listable: Tidak akan disarankan
         not_trendable: Tidak akan muncul di bawah tren
@@ -817,6 +837,7 @@ id:
       actions:
         delete_statuses: untuk menghapus kiriman mereka
         disable: untuk membekukan akun mereka
+        mark_statuses_as_sensitive: untuk menandai kiriman sebagai sensitif
         none: peringatan
         sensitive: untuk menandai akun mereka sebagai sensitif
         silence: untuk membatasi akun mereka
@@ -919,8 +940,10 @@ id:
     status:
       account_status: Status akun
       confirming: Menunggu konfirmasi email diselesaikan.
+      functional: Akun Anda kini beroperasi penuh.
       pending: Permintaan Anda sedang ditinjau oleh staf kami. Ini mungkin butuh beberapa waktu. Anda akan menerima email jika permintaan Anda diterima.
       redirecting_to: Akun Anda tidak aktif karena sekarang dialihkan ke %{acct}.
+      view_strikes: Lihat hukuman lalu yang pernah terjadi kepada akun Anda
     too_fast: Formulir dikirim terlalu cepat, coba lagi.
     trouble_logging_in: Kesulitan masuk?
     use_security_key: Gunakan kunci keamanan
@@ -996,6 +1019,7 @@ id:
         submit: Ajukan banding
       associated_report: Laporan yang berkaitan
       created_at: Tanggal
+      description_html: Ini adalah tindakan yang dilakukan terhadap akun Anda dan peringatan telah dikirim oleh staf %{instance}.
       recipient: Dialamatkan untuk
       status: 'Kiriman #%{id}'
       status_removed: Kirim sudah dihapus dari sistem
@@ -1003,6 +1027,7 @@ id:
       title_actions:
         delete_statuses: Penghapusan kiriman
         disable: Pembekuan akun
+        mark_statuses_as_sensitive: Tandai kiriman sebagai sensitif
         none: Peringatan
         sensitive: Tandai akun sebagai sensitif
         silence: Pembatasan akun
@@ -1372,6 +1397,7 @@ id:
     profile: Profil
     relationships: Ikuti dan pengikut
     statuses_cleanup: Hapus kiriman otomatis
+    strikes: Moderasi hukuman
     two_factor_authentication: Autentikasi Two-factor
     webauthn_authentication: Kunci keamanan
   statuses:
@@ -1388,7 +1414,7 @@ id:
     default_language: Sama seperti bahasa antarmuka
     disallowed_hashtags:
       other: 'berisi tagar yang tidak diizinkan: %{tags}'
-    edited_at: Diedit %{date}
+    edited_at_html: Diedit %{date}
     errors:
       in_reply_not_found: Status yang ingin Anda balas sudah tidak ada.
     open_in_web: Buka di web
@@ -1445,6 +1471,7 @@ id:
       '2629746': 1 bulan
       '31556952': 1 tahun
       '5259492': 2 bulan
+      '604800': 1 minggu
       '63113904': 2 tahun
       '7889238': 3 bulan
     min_age_label: Batas usia
@@ -1592,26 +1619,28 @@ id:
         spam: Spam
         violation: Konten melanggar panduan komunitas berikut
       explanation:
-        delete_statuses: Beberapa kiriman Anda melanggar satu atau lebih panduan komunitas dan telah dihapus oleh moderator %{instance}. Pelanggaran berikutnya akan menyebabkan tindakan yang lebih parah terhadap akun Anda.
+        delete_statuses: Beberapa kiriman Anda terdeteksi melanggar satu atau lebih panduan komunitas dan satu per satu telah dihapus moderator %{instance}.
         disable: Anda tidak lagi dapat menggunakan akun, tapi profil dan data Anda lainnya masih tersimpan. Anda dapat minta cadangan data Anda, mengubah pengaturan akun, atau menghapus akun.
+        mark_statuses_as_sensitive: Beberapa kiriman Anda telah ditandai sebagai sensitif oleh moderator %{instance}. Artinya, orang-orang perlu mengetuk media pada kiriman sebelum pratinjau ditampilkan. Anda dapat menandai sendiri media Anda sebagai sensitif di kiriman pada masa mendatang.
         sensitive: Mulai sekarang, semua berkas media yang telah Anda unggah akan ditandai sebagai sensitif dan disembunyikan di balik peringatan yang harus diklik.
         silence: Anda masih tetap dapat menggunakan akun tetapi hanya orang yang mengikuti Anda yang dapat melihat kiriman Anda di server ini, dan Anda mungkin akan dikeluarkan dari fitur pencarian akun. Bagaimana pun, orang lain tetap dapat mengikuti Anda secara manual.
         suspend: Anda tidak dapat menggunakan akun Anda, dan profil serta data lain Anda tidak lagi dapat diakses. Anda masih tetap bisa masuk akun untuk minta cadangan data sampai data Anda akan dihapus permanen 30 hari lagi, tapi kami akan menyimpan beberapa data dasar untuk mencegah Anda menghindari penangguhan.
-      get_in_touch: Jika Anda yakin ini kesalahan, Anda dapat membalas email ini untuk menghubungi staf %{instance}.
       reason: 'Alasan:'
-      statuses: 'Postingan yang telah terbukti pelanggarannya:'
+      statuses: 'Kiriman mengutip:'
       subject:
         delete_statuses: Postingan anda pada %{acct} telah dihapus
         disable: Akun Anda %{acct} telah dibekukan
+        mark_statuses_as_sensitive: Kiriman Anda di %{acct} telah ditandai sebagai sensitif
         none: Peringatan untuk %{acct}
-        sensitive: File media anda pada %{acct} akan ditandai sebagai sensitif mulai saat ini
+        sensitive: Kiriman Anda di %{acct} akan ditandai sebagai sensitif mulai sekarang
         silence: Akun Anda %{acct} telah dibatasi
         suspend: Akun Anda %{acct} telah ditangguhkan
       title:
         delete_statuses: Postingan dihapus
         disable: Akun dibekukan
+        mark_statuses_as_sensitive: Kiriman ditandai sebagai sensitif
         none: Peringatan
-        sensitive: Media disembunyikan
+        sensitive: Akun ditandai sebagai sensitif
         silence: Akun dibatasi
         suspend: Akun ditangguhkan
     welcome:
diff --git a/config/locales/io.yml b/config/locales/io.yml
index ad9ac5be6..4360d804e 100644
--- a/config/locales/io.yml
+++ b/config/locales/io.yml
@@ -27,10 +27,6 @@ io:
       new:
         severity:
           desc_html: "<strong>Silence</strong> will make the account's posts invisible to anyone who isn't following them. <strong>Suspend</strong> will remove all of the account's content, media, and profile data."
-      show:
-        retroactive:
-          silence: Unsilence all existing accounts from this domain
-          suspend: Unsuspend all existing accounts from this domain
       undo: Undo
     instances:
       title: Known Instances
diff --git a/config/locales/is.yml b/config/locales/is.yml
index 38c31d12f..04d193975 100644
--- a/config/locales/is.yml
+++ b/config/locales/is.yml
@@ -16,6 +16,7 @@ is:
     contact: Hafa samband
     contact_missing: Ekki skilgreint
     contact_unavailable: Ekki til staðar
+    continue_to_web: Halda áfram í vefforritið
     discover_users: Uppgötva notendur
     documentation: Hjálparskjöl
     federation_hint_html: Með notandaaðgangi á %{instance} geturðu fylgst með fólki á hvaða Mastodon-þjóni sem er og reyndar víðar.
@@ -25,6 +26,8 @@ is:
       Þessi aðgangur er sýndarnotandi sem er notaður til að tákna sjálfan vefþjóninn en ekki neinn einstakan notanda.
       Tilgangur hans tengist virkni vefþjónasambandsins og ætti alls ekki að loka á hann nema að þú viljir útiloka allan viðkomandi vefþjón, en þá ætti frekar að útiloka sjálft lénið.
     learn_more: Kanna nánar
+    logged_in_as_html: Þú ert núna skráð/ur inn sem %{username}.
+    logout_before_registering: Þú ert þegar skráð/ur inn.
     privacy_policy: Persónuverndarstefna
     rules: Reglur netþjónsins
     rules_html: 'Hér fyrir neðan er yfirlit yfir þær reglur sem þú þarft að fara eftir ef þú ætlar að vera með notandaaðgang á þessum Mastodon-netþjóni:'
@@ -69,7 +72,6 @@ is:
     media: Myndefni
     moved_html: "%{name} hefur verið færður í %{new_profile_link}:"
     network_hidden: Þessar upplýsingar ekki tiltækar
-    never_active: Aldrei
     nothing_here: Það er ekkert hér!
     people_followed_by: Fólk sem %{name} fylgist með
     people_who_follow: Fólk sem fylgist með %{name}
@@ -371,7 +373,7 @@ is:
       enable: Virkja
       enabled: Virkt
       enabled_msg: Tókst að gera þetta tjáningartákn virkt
-      image_hint: PNG allt að 50KB
+      image_hint: PNG eða GIF allt að %{size}
       list: Listi
       listed: Skráð
       new:
@@ -448,21 +450,6 @@ is:
       reject_media_hint: Fjarlægir staðværar myndefnisskrár úr geymslu og neitar framvegis að sækja neinar slíkar. Skiptir ekki máli fyrir biðstöður
       reject_reports: Hafna kærum
       reject_reports_hint: Hunsa allar kærur frá þessu léni. Skiptir ekki máli fyrir biðstöður
-      rejecting_media: hafna myndskrám
-      rejecting_reports: hafna kærum
-      severity:
-        silence: takmarkað
-        suspend: í bið
-      show:
-        affected_accounts:
-          one: Einn notandaaðgangur í gagnagrunninum kemur við sögu
-          other: "%{count} notendaaðgangar í gagnagrunninum koma við sögu"
-          zero: Enginn notandaaðgangur í gagnagrunninum kemur við sögu
-        retroactive:
-          silence: Hætta að takmarka viðkomandi notendaaðganga frá þessu léni
-          suspend: Taka úr bið viðkomandi notendaaðganga frá þessu léni
-        title: Afturkalla útilokun á léni fyrir %{domain}
-        undo: Afturkalla
       undo: Afturkalla útilokun á léni
       view: Skoða útilokun á léni
     email_domain_blocks:
@@ -493,23 +480,47 @@ is:
       title: Fylgja meðmælum
       unsuppress: Endurheimta að fylgja meðmælum
     instances:
+      availability:
+        description_html:
+          one: Ef afhending til lénsins mistekst í <strong>%{count} dag</strong>, verður ekki reynt aftur að afhenda til lénsins nema ef afhending <em>frá</em> léninu berst.
+          other: Ef afhending til lénsins mistekst í <strong>%{count} daga</strong>, verður ekki reynt aftur að afhenda til lénsins nema ef afhending <em>frá</em> léninu berst.
+        failure_threshold_reached: Hámarki misheppnaðra tilrauna náð þann %{date}.
+        failures_recorded:
+          one: Misheppnaðar tilraunir á %{count} degi.
+          other: Misheppnaðar tilraunir á %{count} mismunandi dögum.
+        no_failures_recorded: Engar misheppnaðar tilraunir á skrá.
+        title: Tiltækileiki
       back_to_all: Allt
       back_to_limited: Takmarkað
       back_to_warning: Aðvörun
       by_domain: Lén
       confirm_purge: Ertu viss um að þú viljir eyða gögnum endanlega frá þessu léni?
+      content_policies:
+        comment: Innri minnispunktur
+        description_html: Þú getur skilgreint stefnu varðandi efni sem verður beitt á alla aðganga frá þessu léni og öllum undirlénum þess.
+        policies:
+          reject_media: Hafna myndefni
+          reject_reports: Hafna kærum
+          silence: Takmörk
+          suspend: Setja í bið
+        policy: Stefna
+        reason: Opinber ástæða
+        title: Stefnur varðandi efni
+      dashboard:
+        instance_accounts_dimension: Aðgangar sem mest er fylgst með
+        instance_accounts_measure: geymdir aðgangar
+        instance_followers_measure: fylgjendur okkar þar
+        instance_follows_measure: fylgjendur þeirra hér
+        instance_languages_dimension: Vinsælustu tungumál
+        instance_media_attachments_measure: geymd myndefnisviðhengi
+        instance_reports_measure: kærur um þá
+        instance_statuses_measure: geymdar færslur
       delivery:
         all: Allt
         clear: Hreinsa afhendingarvillur
         restart: Endurræsa afhendingu
         stop: Stöðva afhendingu
-        title: Afhending
         unavailable: Ekki tiltækt
-        unavailable_message: Afhending ekki möguleg
-        warning: Aðvörun
-        warning_message:
-          one: "%{count} dagur með villum í afhendingu"
-          other: "%{count} dagar með villum í afhendingu"
       delivery_available: Afhending er til taks
       delivery_error_days: Dagar með villum í afhendingu
       delivery_error_hint: Ef afhending er ekki möguleg í %{count} daga, verður það sjálfkrafa merkt sem óafhendanlegt.
@@ -526,12 +537,14 @@ is:
       private_comment: Einkaathugasemd
       public_comment: Opinber athugasemd
       purge: Henda
+      purge_description_html: Ef þú heldur að þetta lén sé farið endanlega af netinu, geturðu eytt öllum færslum aðganga og tengdum gögnum frá þessu léni úr gagnageymslum þínum. Þetta gæti tekið þó nokkra stund.
       title: Samband
       total_blocked_by_us: Útilokað af okkur
       total_followed_by_them: Fylgt af þeim
       total_followed_by_us: Fylgt af okkur
       total_reported: Kærur um þá
       total_storage: Myndaviðhengi
+      totals_time_period_hint_html: Samtölurnar sem birtar eru hér fyrir neðan innihalda gögn frá upphafi.
     invites:
       deactivate_all: Gera allt óvirkt
       filter:
@@ -586,6 +599,7 @@ is:
       action_taken_by: Aðgerð framkvæmd af
       actions:
         delete_description_html: Kærðum færslum verður eytt og refsing skráð svo þú eigir auðveldara með að bregðast við í framtíðinni verði um fleiri brot að ræða frá sama notandaaðgangi.
+        mark_as_sensitive_description_html: Myndefnið í kærðu færslunum verður merkt sem viðkvæmt og refsing verður skráð til minnis fyrir viðbrögð gegn mögulegum framtíðarbrotum frá sama notandaaðgangi.
         other_description_html: Skoðaðu fleir valkosti fyrir stjórnun á hegðun notandaaðgangsins og til að stýra samskiptum við kærðan notandaaðgang.
         resolve_description_html: Til engra aðgerða verður tekið gagnvart kærðum færslum, engin refsing verður skráð og kærunni verður lokað.
         silence_description_html: Notandaaðgangurinn verður einungis sýnilegur þeim sem þegar fylgjast með honum eða sem fletta honum upp handvirkt, sem takmarkar útbreiðslu efnis verulega. Er alltaf hægt að afturkalla.
@@ -606,6 +620,7 @@ is:
       forwarded: Áframsent
       forwarded_to: Áframsent á %{domain}
       mark_as_resolved: Merkja sem leyst
+      mark_as_sensitive: Merkja sem viðkvæmt
       mark_as_unresolved: Merkja sem óleyst
       no_one_assigned: Enginn
       notes:
@@ -749,6 +764,7 @@ is:
       actions:
         delete_statuses: "%{name} eyddi færslum frá %{target}"
         disable: "%{name} frysti aðganginn %{target}"
+        mark_statuses_as_sensitive: "%{name} merkti færslur frá %{target} sem viðkvæmar"
         none: "%{name} sendi aðvörun til %{target}"
         sensitive: "%{name} merkti efni frá %{target} sem viðkvæmt"
         silence: "%{name} takmarkaði aðganginn %{target}"
@@ -774,6 +790,7 @@ is:
       links:
         allow: Leyfa tengil
         allow_provider: Leyfa útgefanda
+        description_html: Þetta eru tenglar/slóðir sem mikið er deilt af notendum sem netþjónninn þinn sér færslur frá. Þeir geta hjálpað notendunum þínu við að finna út hvað sé í gangi í heiminum. Engir tenglar birtast opinberlega fyrr en þú hefur samþykkt útgefanda þeirra. Þú getur líka leyft eða hafnað eintökum tenglum.
         disallow: Ekki leyfa tengil
         disallow_provider: Ekki leyfa útgefanda
         shared_by_over_week:
@@ -785,14 +802,17 @@ is:
       pending_review: Bíður eftir yfirlestri
       preview_card_providers:
         allowed: Tenglar frá þessum útgefanda geta verið með í vinsældum
+        description_html: Þetta eru lén þaðan sem tenglum er oftast deilt á netþjóninum þínum. Vinsældir tengla munu ekki aukast opinberlega nema lén þeirra sé samþykkt. Samþykki þitt (eða höfnun) nær einnig yfir undirlén.
         rejected: Tenglar frá þessum útgefanda verða ekki með í vinsældum
         title: Útgefendur
       rejected: Hafnað
       statuses:
         allow: Leyfa færslu
         allow_account: Leyfa höfund
+        description_html: Þetta eru færslur sem netþjónninn þinn veit að er víða deilt eða eru mikið sett í eftirlæti þessa stundina. Þær geta hjálpað nýjum sem eldri notendum þínum við að finna fleira fólk til að fylgjast með. Engar færslur birtast opinberlega fyrr en þú hefur samþykkt höfund þeirra og að viðkomandi höfundur leyfi að efni frá þeim sé notað í tillögur til annarra. Þú getur líka leyft eða hafnað eintökum færslum.
         disallow: Ekki leyfa færslu
         disallow_account: Ekki leyfa höfund
+        not_discoverable: Höfundur hefur ekki beðið um að vera finnanlegur
         shared_by:
           one: ShaDeilt eða gert að eftirlæti einu sinni
           other: Deilt eða gert að eftirlæti %{friendly_count} sinnum
@@ -805,6 +825,7 @@ is:
           tag_servers_dimension: Vinsælustu netþjónar
           tag_servers_measure: mismunandi netþjónar
           tag_uses_measure: tilvik alls
+        description_html: Þetta eru myllumerki sem birtast núna í mjög mörgum færslum sem netþjónninn þinn sér. Þau geta hjálpað notendunum þínu við að finna út hvað sé mest í umræðunni hjá öðru fólki. Engin myllumerki birtast opinberlega fyrr en þú hefur samþykkt þau.
         listable: Má stinga uppá
         not_listable: Mun ekki vera stungið uppá
         not_trendable: Mun ekki birtast í vinsældum
@@ -831,6 +852,7 @@ is:
       actions:
         delete_statuses: að eyða færslum viðkomandi
         disable: að frysta aðgang viðkomandi
+        mark_statuses_as_sensitive: að merkja færslur frá þeim sem viðkvæmar
         none: aðvörun
         sensitive: að merkja efni á aðgangnum sem viðkvæmt
         silence: að takmarka aðgang viðkomandi
@@ -933,8 +955,10 @@ is:
     status:
       account_status: Staða notandaaðgangs
       confirming: Bíð eftir að staðfestingu tölvupósts sé lokið.
+      functional: Notandaaðgangurinn þinn er með fulla virkni.
       pending: Umsóknin þín bíður eftir að starfsfólkið okkar fari yfir hana. Það gæti tekið nokkurn tíma. Þú munt fá tölvupóst ef umsóknin er samþykkt.
       redirecting_to: Notandaaðgangurinn þinn er óvirkur vegna þess að hann endurbeinist á %{acct}.
+      view_strikes: Skoða fyrri bönn notandaaðgangsins þíns
     too_fast: Innfyllingarform sent inn of hratt, prófaðu aftur.
     trouble_logging_in: Vandræði við að skrá inn?
     use_security_key: Nota öryggislykil
@@ -1010,6 +1034,7 @@ is:
         submit: Senda inn áfrýjun
       associated_report: Tengd kæra
       created_at: Dagsett
+      description_html: Þetta eru aðgerðir sem notaðar hafa verið gagnvart aðgangnum þínum og aðvaranir sem þér hafa verið sendar af umsjónarfólki á %{instance}.
       recipient: Stílað til
       status: 'Færsla #%{id}'
       status_removed: Færsla þegar fjarlægð úr kerfinu
@@ -1017,8 +1042,9 @@ is:
       title_actions:
         delete_statuses: Fjarlæging færslu
         disable: Frysting aðgangs
+        mark_statuses_as_sensitive: Merking færslna sem viðkvæmar
         none: Aðvörun
-        sensitive: Efni verður merkt sem viðkvæmt frá aðgangnum
+        sensitive: Merking notanda sem viðkvæms
         silence: Takmörkun aðgangs
         suspend: Setja aðgang í bið
       your_appeal_approved: Áfrýjun þín hefur verið samþykkt
@@ -1390,6 +1416,7 @@ is:
     profile: Notandasnið
     relationships: Fylgist með og fylgjendur
     statuses_cleanup: Sjálfvirk eyðing færslna
+    strikes: Umsýsla refsinga
     two_factor_authentication: Tveggja-þátta auðkenning
     webauthn_authentication: Öryggislyklar
   statuses:
@@ -1410,7 +1437,7 @@ is:
     disallowed_hashtags:
       one: 'innihélt óleyfilegt myllumerki: %{tags}'
       other: 'innihélt óleyfilegu myllumerkin: %{tags}'
-    edited_at: Breytt %{date}
+    edited_at_html: Breytt %{date}
     errors:
       in_reply_not_found: Færslan sem þú ert að reyna að svara að er líklega ekki til.
     open_in_web: Opna í vafra
@@ -1469,6 +1496,7 @@ is:
       '2629746': 1 mánuður
       '31556952': 1 ár
       '5259492': 2 mánuðir
+      '604800': 1 vika
       '63113904': 2 ár
       '7889238': 3 mánuðir
     min_age_label: Aldursmörk
@@ -1616,26 +1644,28 @@ is:
         spam: Ruslpóstur
         violation: Efnið er á skjön við eftirfarandi leiðbeiningar til notenda
       explanation:
-        delete_statuses: Sumar færslur frá þér eru álitnar hafa gengið gegn samþykktum skilmálum vegna notkunar og hafa því stjórnendur fjarlægt þau af %{instance}. Brot sem framin verða hér eftir geta leitt til enn harðari aðgerða gegn notandaaðgangnum þínum.
+        delete_statuses: Sumar færslur frá þér eru álitnar hafa gengið gegn samþykktum skilmálum vegna notkunar og hafa því verið fjarlægðar af stjórnendum á %{instance}.
         disable: Þú getur ekki lengur notað aðganginn þinn, en notandasniðið þitt og önnur gögn eru óskemmd. Þú getur beðið um afrit af gögnunum þínum, getur breytt stillingum eða eytt aðgangnum þínum.
+        mark_statuses_as_sensitive: Sumar færslur frá þér hafa verið merktar sem viðkvæmt efni af stjórnendum á %{instance}. Þetta þýðir að fólk þarf að ýta á myndefnið til þess að forskoðunarmynd birtist. Þú getur framvegis sjálf/ur merkt myndefnið þitt sem viðkvæmt í færslunum þínum.
         sensitive: Héðan í frá verður allt myndefni sem þú sendir inn meðhöndlað sem viðkvæmt efni og falið á bakvið aðvörun sem smella þarf á.
         silence: Þú getur áfram notað aðganginn þinn en aðeins fólk sem þegar fylgist með þér mun sjá færslurnar þínar á þessum vefþjóni, auk þess sem lokað gæti verið á þig á ýmsum opinberum listum. Aftur á móti geta aðrir gerst fylgjendur þínir handvirkt.
         suspend: Þú getur ekki lengur notað aðganginn þinn og notandasniðið þitt og önnur gögn eru ekki lengur aðgengileg. Þú getur enn skráð þig inn til að biðja um afrit af gögnunum þínum þar til þeim verður eytt að fullu eftir 30 daga, við munum hinsvegar halda eftir einstaka grunnupplýsingum til að koma í veg fyrir að þú komist framhjá þessu banni.
-      get_in_touch: Ef þú álítur að um mistök sé að ræða, geturðu svarað þessum tölvupósti til að setja þig í samband við umsjónarmenn %{instance}.
       reason: 'Ástæða:'
-      statuses: 'Færslur sem álitnar eru að hafa gengið gegn samþykktum ákvæðum:'
+      statuses: 'Færslur sem vísað er í:'
       subject:
         delete_statuses: Færslurnar þínar á %{acct} hafa verið fjarlægðar
         disable: Notandaaðgangurinn þinn %{acct} hefur verið frystur
+        mark_statuses_as_sensitive: Færslur þínar á %{acct} hafa verið merktar sem viðkvæmar
         none: Aðvörun fyrir %{acct}
-        sensitive: Myndefnið þitt á %{acct} verður héðan í frá merkt sem viðkvæmt
+        sensitive: Færslur þínar á %{acct} verða héðan í frá merktar sem viðkvæmar
         silence: Notandaaðgangurinn þinn %{acct} hefur verið takmarkaður
         suspend: Notandaaðgangurinn þinn %{acct} hefur verið settur í bið
       title:
         delete_statuses: Færslur fjarlægðar
         disable: Notandaaðgangur frystur
+        mark_statuses_as_sensitive: Færslur merktar sem viðkvæmar
         none: Aðvörun
-        sensitive: Mynd er falin
+        sensitive: Notandaaðgangur merktur sem viðkvæmur
         silence: Notandaaðgangur takmarkaður
         suspend: Notandaaðgangur í bið
     welcome:
diff --git a/config/locales/it.yml b/config/locales/it.yml
index a5cab56a1..d96e58540 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -16,6 +16,7 @@ it:
     contact: Contatti
     contact_missing: Non impostato
     contact_unavailable: N/D
+    continue_to_web: Continua all'app web
     discover_users: Scopri utenti
     documentation: Documentazione
     federation_hint_html: Con un account su %{instance} sarai in grado di seguire persone su qualsiasi server Mastodon e oltre.
@@ -25,6 +26,8 @@ it:
       Questo account è un attore virtuale utilizzato per rappresentare il server stesso e non un particolare utente.
       È utilizzato per scopi di federazione e non dovrebbe essere bloccato a meno che non si voglia bloccare l'intera istanza: in questo caso si dovrebbe utilizzare un blocco di dominio.
     learn_more: Scopri altro
+    logged_in_as_html: Sei correntemente connesso come %{username}.
+    logout_before_registering: Hai giù acceduto.
     privacy_policy: Politica della privacy
     rules: Regole del server
     rules_html: 'Di seguito è riportato un riassunto delle regole che devi seguire se vuoi avere un account su questo server di Mastodon:'
@@ -69,7 +72,6 @@ it:
     media: Media
     moved_html: "%{name} si è spostato su %{new_profile_link}:"
     network_hidden: Questa informazione non e' disponibile
-    never_active: Mai
     nothing_here: Qui non c'è nulla!
     people_followed_by: Persone seguite da %{name}
     people_who_follow: Persone che seguono %{name}
@@ -371,7 +373,7 @@ it:
       enable: Abilita
       enabled: Abilitato
       enabled_msg: Questa emoji è stata abilitata con successo
-      image_hint: PNG fino a 50 KB
+      image_hint: PNG o GIF fino a %{size}
       list: Includi nell'elenco
       listed: Elencato
       new:
@@ -448,21 +450,6 @@ it:
       reject_media_hint: Rimuovi i file media salvati in locale e blocca i download futuri. Irrilevante per le sospensioni
       reject_reports: Respingi rapporti
       reject_reports_hint: Ignora tutti i rapporti provenienti da questo dominio. Irrilevante per sospensioni
-      rejecting_media: rigetta file media
-      rejecting_reports: rigetta segnalazioni
-      severity:
-        silence: silenziato
-        suspend: sospeso
-      show:
-        affected_accounts:
-          one: Interessato un solo account nel database
-          other: Interessati %{count} account nel database
-          zero: Nessun account nel database è interessato
-        retroactive:
-          silence: De-silenzia tutti gli account esistenti da questo dominio
-          suspend: Annulla la sospensione di tutti gli account esistenti da questo dominio
-        title: Annulla il blocco del dominio per %{domain}
-        undo: Annulla
       undo: Annulla
       view: Visualizza blocco di dominio
     email_domain_blocks:
@@ -493,23 +480,47 @@ it:
       title: Consigli su chi seguire
       unsuppress: Ripristina consigli su chi seguire
     instances:
+      availability:
+        description_html:
+          one: Se la consegna al dominio fallisce <strong>%{count} giorno</strong>, non sarà effettuato alcun tentativo di consegna ulteriore a meno che la consegna <em>dal</em> dominio non sia ricevuta.
+          other: Se la consegna al dominio fallisce <strong>%{count} giorni differenti</strong>, non sarà effettuato alcun tentativo di consegna ulteriore a meno che la consegna <em>dal</em> dominio non sia ricevuta.
+        failure_threshold_reached: Soglia di fallimento raggiunta il %{date}.
+        failures_recorded:
+          one: Tentativo fallito %{count} giorno.
+          other: Tentativo fallito %{count} giorni differenti.
+        no_failures_recorded: Nessun fallimento registrato.
+        title: Disponibilità
       back_to_all: Tutto
       back_to_limited: Limitato
       back_to_warning: Avviso
       by_domain: Dominio
       confirm_purge: Sei sicuro di voler cancellare definitivamente i dati di questo dominio?
+      content_policies:
+        comment: Nota interna
+        description_html: Puoi definire le politiche del contenuto che saranno applicate a tutti i profili da questo dominio e ognuno dei suoi sottodomini.
+        policies:
+          reject_media: Rifiuta multimedia
+          reject_reports: Rifiuta rapporti
+          silence: Limita
+          suspend: Sospendi
+        policy: Politica
+        reason: Motivo pubblico
+        title: Politiche sui contenuti
+      dashboard:
+        instance_accounts_dimension: Profili più seguiti
+        instance_accounts_measure: profili memorizzati
+        instance_followers_measure: i nostri seguaci lì
+        instance_follows_measure: i loro seguaci qui
+        instance_languages_dimension: Lingue preferite
+        instance_media_attachments_measure: allegati multimediali memorizzati
+        instance_reports_measure: segnalazioni su di loro
+        instance_statuses_measure: post memorizzati
       delivery:
         all: Tutto
         clear: Cancella errori di consegna
         restart: Riavvia la consegna
         stop: Interrompi consegna
-        title: Consegna
         unavailable: Non disponibile
-        unavailable_message: Consegna non disponibile
-        warning: Avviso
-        warning_message:
-          one: Errore di consegna %{count} giorno
-          other: Errori di consegna %{count} giorni
       delivery_available: Distribuzione disponibile
       delivery_error_days: Giorni con errori di consegna
       delivery_error_hint: Se la consegna non è possibile per %{count} giorni, sarà automaticamente contrassegnata come non consegnabile.
@@ -526,12 +537,14 @@ it:
       private_comment: Commento privato
       public_comment: Commento pubblico
       purge: Ripulisci
+      purge_description_html: Se credi che questo dominio sia offline per sempre, puoi eliminare tutti i registri del profilo e i dati associati da questo dominio dalla tua archiviazione. Questo potrebbe richiedere un po' di tempo.
       title: Istanze conosciute
       total_blocked_by_us: Bloccato da noi
       total_followed_by_them: Seguito da loro
       total_followed_by_us: Seguito da noi
       total_reported: Segnalazioni su di loro
       total_storage: Media allegati
+      totals_time_period_hint_html: I totali sotto visualizzati includono i dati per tutti i tempi.
     invites:
       deactivate_all: Disattiva tutto
       filter:
@@ -586,6 +599,7 @@ it:
       action_taken_by: Azione intrapresa da
       actions:
         delete_description_html: I post segnalati saranno eliminati e la violazione sarà registrata per aiutarti a prendere ulteriori provvedimenti sulle future infrazioni dello stesso account.
+        mark_as_sensitive_description_html: I media nei post segnalati saranno segnati come sensibili e la violazione sarà registrata per aiutarti a prendere ulteriori provvedimenti sulle future infrazioni dello stesso account.
         other_description_html: Vedi altre opzioni per controllare il comportamento dell'account e personalizzare la comunicazione all'account segnalato.
         resolve_description_html: Nessuna azione sarà intrapresa contro l'account segnalato, nessuna violazione registrata, e la segnalazione sarà chiusa.
         silence_description_html: Il profilo sarà visibile solo a coloro che lo seguono o lo cercano manualmente, limitandone fortemente la raggiungibilità. Può sempre essere annullato.
@@ -606,6 +620,7 @@ it:
       forwarded: Inoltrato
       forwarded_to: Inoltrato a %{domain}
       mark_as_resolved: Segna come risolto
+      mark_as_sensitive: Segna come sensibile
       mark_as_unresolved: Segna come non risolto
       no_one_assigned: Nessuno
       notes:
@@ -749,6 +764,7 @@ it:
       actions:
         delete_statuses: "%{name} ha eliminato i post di %{target}"
         disable: "%{name} ha congelato l'account di %{target}"
+        mark_statuses_as_sensitive: "%{name} ha segnato il media di %{target} come sensibile"
         none: "%{name} ha inviato un avviso a %{target}"
         sensitive: "%{name} ha contrassegnato l'account di %{target} come sensibile"
         silence: "%{name} ha limitato l'account di %{target}"
@@ -774,6 +790,7 @@ it:
       links:
         allow: Consenti link
         allow_provider: Consenti editore
+        description_html: Questi sono collegamenti che attualmente vengono molto condivisi dagli account di cui il server vede i post. Può aiutare i tuoi utenti a scoprire cosa sta succedendo nel mondo. Nessun link viene visualizzato pubblicamente finché non si approva chi lo pubblica. È anche possibile permettere o rifiutare i singoli collegamenti.
         disallow: Non consentire link
         disallow_provider: Non consentire editore
         shared_by_over_week:
@@ -785,14 +802,17 @@ it:
       pending_review: Revisione in sospeso
       preview_card_providers:
         allowed: I link da questa fonte possono essere in tendenza
+        description_html: Questi sono domini da cui i link sono spesso condivisi sul tuo server. I link non appariranno di tendenza se il dominio del link non è approvato. La tua approvazione (o rifiuto) si estende ai sottodomini.
         rejected: I link da questa fonte non possono essere in tendenza
         title: Editori
       rejected: Rifiutato
       statuses:
         allow: Consenti post
         allow_account: Consenti autore
+        description_html: Questi sono post noti al tuo server che sono attualmente molto condivisi e preferiti. Può aiutare i tuoi utenti (nuovi e non) a trovare più persone da seguire. Nessun post viene visualizzato pubblicamente fino a quando si approva l'autore, e l'autore permette che il suo account sia suggerito ad altri. È anche possibile permettere o rifiutare singoli post.
         disallow: Non consentire post
         disallow_account: Non consentire autore
+        not_discoverable: L'autore non ha optato di essere scopribile
         shared_by:
           one: Condiviso o preferito una volta
           other: Condiviso e preferito %{friendly_count} volte
@@ -805,6 +825,7 @@ it:
           tag_servers_dimension: Server migliori
           tag_servers_measure: server diversi
           tag_uses_measure: usi totali
+        description_html: Questi sono hashtag che attualmente compaiono in molti post che il tuo server vede. Può aiutare i tuoi utenti a scoprire di cosa le persone stanno parlando di più al momento. Nessun hashtag viene visualizzato pubblicamente finché non lo approvi.
         listable: Suggeribile
         not_listable: Non sarà suggerito
         not_trendable: Non apparirà nelle tendenze
@@ -831,6 +852,7 @@ it:
       actions:
         delete_statuses: per cancellare i loro post
         disable: per congelare il loro account
+        mark_statuses_as_sensitive: per contrassegnare i loro post come sensibili
         none: avviso
         sensitive: per contrassegnare il loro account come sensibile
         silence: per limitare il loro account
@@ -935,8 +957,10 @@ it:
     status:
       account_status: Stato dell'account
       confirming: In attesa che la conferma e-mail sia completata.
+      functional: Il tuo profilo è completamente operativo.
       pending: La tua richiesta è in attesa di esame da parte del nostro staff. Potrebbe richiedere un po' di tempo. Riceverai una e-mail se la richiesta è approvata.
       redirecting_to: Il tuo account è inattivo perché attualmente reindirizza a %{acct}.
+      view_strikes: Visualizza gli avvisi passati contro il tuo profilo
     too_fast: Modulo inviato troppo velocemente, riprova.
     trouble_logging_in: Problemi di accesso?
     use_security_key: Usa la chiave di sicurezza
@@ -1012,6 +1036,7 @@ it:
         submit: Presenta un appello
       associated_report: Segnalazione associata
       created_at: Data
+      description_html: Queste sono azioni intraprese contro il tuo profilo e avvisi inviati a te dallo staff di %{instance}.
       recipient: Indirizzata a
       status: 'Post #%{id}'
       status_removed: Post già rimosso dal sistema
@@ -1019,6 +1044,7 @@ it:
       title_actions:
         delete_statuses: Eliminazione del post
         disable: Congelamento dell'account
+        mark_statuses_as_sensitive: Marcatura dei post come sensibili
         none: Avviso
         sensitive: Marcatura dell'account come sensibile
         silence: Limitazione dell'account
@@ -1392,6 +1418,7 @@ it:
     profile: Profilo
     relationships: Follows e followers
     statuses_cleanup: Cancellazione automatica dei post
+    strikes: Avvisi di moderazione
     two_factor_authentication: Autenticazione a due fattori
     webauthn_authentication: Chiavi di sicurezza
   statuses:
@@ -1412,7 +1439,7 @@ it:
     disallowed_hashtags:
       one: 'contiene un hashtag non permesso: %{tags}'
       other: 'contiene gli hashtags non permessi: %{tags}'
-    edited_at: Modificato il %{date}
+    edited_at_html: Modificato il %{date}
     errors:
       in_reply_not_found: Il post a cui stai tentando di rispondere non sembra esistere.
     open_in_web: Apri sul Web
@@ -1471,6 +1498,7 @@ it:
       '2629746': 1 mese
       '31556952': 1 anno
       '5259492': 2 mesi
+      '604800': 1 settimana
       '63113904': 2 anni
       '7889238': 3 mesi
     min_age_label: Soglia di età
@@ -1621,26 +1649,28 @@ it:
         spam: Spam
         violation: Il contenuto viola le seguenti linee guida della comunità
       explanation:
-        delete_statuses: Alcuni dei tuoi post sono in violazione di una o più linee guida della comunità, e quindi sono stati eliminati dai moderatori di %{instance}. Le future violazioni possono comportare azioni punitive più severe contro il tuo account.
+        delete_statuses: Alcuni dei tuoi post sono stati riconosciuti in violazione di una o più linee guida della comunità e sono stati successivamente rimossi dai moderatori di %{instance}.
         disable: Non puoi più utilizzare il tuo account, ma il tuo profilo e gli altri dati rimangono intatti. Puoi richiedere un backup dei tuoi dati, modificare le impostazioni dell'account o eliminare il tuo account.
+        mark_statuses_as_sensitive: Alcuni dei tuoi post sono stati contrassegnati come sensibili dai moderatori di %{instance}. Ciò significa che le persone dovranno toccare i media nei post prima che venga visualizzata un'anteprima. Puoi contrassegnare tu i media come sensibili quando ne pubblicherai in futuro.
         sensitive: D'ora in poi, tutti i file multimediali che hai caricato saranno contrassegnati come sensibili e nascosti dietro un avviso click-through.
         silence: Puoi ancora utilizzare il tuo account, ma solo le persone che già ti seguono possono vedere i tuoi post su questo server, e potresti essere escluso da varie funzionalità di ricerca. Gli altri utenti possono comunque seguirti manualmente.
         suspend: Non puoi più utilizzare il tuo account, e il tuo profilo e gli altri dati non sono più accessibili. Puoi ancora effettuare il login per richiedere un backup dei dati fino a quando i dati non saranno completamente cancellati nei prossimi 30 giorni, ma conserveremo alcuni dati di base per impedirti di eludere la sospensione.
-      get_in_touch: Se credi che questo sia un errore, puoi rispondere a questa e-mail per metterti in contatto con lo staff di %{instance}.
       reason: 'Motivo:'
-      statuses: 'Post che sono stati trovati in violazione:'
+      statuses: 'Post citati:'
       subject:
         delete_statuses: I tuoi post su %{acct} sono stati eliminati
         disable: Il tuo account %{acct} è stato congelato
+        mark_statuses_as_sensitive: I tuoi post su %{acct} sono stati contrassegnati come sensibili
         none: Avviso per %{acct}
-        sensitive: I tuoi file multimediali su %{acct} d'ora in poi saranno contrassegnati come sensibili
+        sensitive: I tuoi post su %{acct} d'ora in poi saranno contrassegnati come sensibili
         silence: Il tuo account %{acct} è stato limitato
         suspend: Il tuo account %{acct} è stato sospeso
       title:
         delete_statuses: Post eliminati
         disable: Account congelato
+        mark_statuses_as_sensitive: Post contrassegnati come sensibili
         none: Avviso
-        sensitive: Media nascosto
+        sensitive: Account contrassegnato come sensibile
         silence: Account limitato
         suspend: Account sospeso
     welcome:
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 99428d7de..32b101147 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -16,6 +16,7 @@ ja:
     contact: 連絡先
     contact_missing: 未設定
     contact_unavailable: N/A
+    continue_to_web: アプリで続ける
     discover_users: ユーザーを見つける
     documentation: ドキュメント
     federation_hint_html: "%{instance} のアカウントひとつでどんなMastodon互換サーバーのユーザーでもフォローできるでしょう。"
@@ -23,6 +24,8 @@ ja:
     hosted_on: Mastodon hosted on %{domain}
     instance_actor_flash: "このアカウントはサーバーそのものを示す仮想的なもので、特定のユーザーを示すものではありません。これはサーバーの連合のために使用されます。サーバー全体をブロックするときは、このアカウントをブロックせずに、ドメインブロックを使用してください。 \n"
     learn_more: もっと詳しく
+    logged_in_as_html: "%{username} としてログインしています。"
+    logout_before_registering: 既にログインしています。
     privacy_policy: プライバシーポリシー
     rules: サーバーのルール
     rules_html: 'このMastodonサーバーには、アカウントの所持にあたって従うべきルールが設定されています。概要は以下の通りです:'
@@ -64,7 +67,6 @@ ja:
     media: メディア
     moved_html: "%{name} さんは引っ越しました %{new_profile_link}:"
     network_hidden: この情報は利用できません
-    never_active: 活動なし
     nothing_here: 何もありません!
     people_followed_by: "%{name} さんがフォロー中のアカウント"
     people_who_follow: "%{name} さんをフォロー中のアカウント"
@@ -359,7 +361,7 @@ ja:
       enable: 有効化
       enabled: 有効
       enabled_msg: 絵文字を有効化しました
-      image_hint: 50KBまでのPNG画像を利用できます
+      image_hint: "%{size}までのPNGまたはGIF画像を利用できます"
       list: 表示
       listed: 表示
       new:
@@ -432,17 +434,6 @@ ja:
       reject_media_hint: ローカルに保存されたメディアファイルを削除し、今後のダウンロードを拒否します。停止とは無関係です
       reject_reports: 通報を拒否
       reject_reports_hint: このドメインからの通報をすべて無視します。停止とは無関係です
-      rejecting_media: メディアファイルを拒否中
-      rejecting_reports: 通報を拒否中
-      severity:
-        silence: サイレンス中
-        suspend: 停止中
-      show:
-        retroactive:
-          silence: このドメインの既存の影響するアカウントのサイレンスを戻す
-          suspend: このドメインの既存の影響するアカウントの停止を戻す
-        title: "%{domain}のドメインブロックを戻す"
-        undo: 元に戻す
       undo: ドメインブロックを戻す
       view: ドメインブロックを表示
     email_domain_blocks:
@@ -477,12 +468,7 @@ ja:
         clear: 配送エラーをクリア
         restart: 配送を再開
         stop: 配送を停止
-        title: 配送
         unavailable: 配送不可
-        unavailable_message: 配送不可
-        warning: 警告あり
-        warning_message:
-          other: "%{count} 日配送失敗"
       delivery_available: 配送可能
       delivery_error_days: 配送エラー発生日
       delivery_error_hint: "%{count} 日間配送ができない場合は、自動的に配送不可としてマークされます。"
@@ -570,6 +556,7 @@ ja:
       forwarded: 転送済み
       forwarded_to: "%{domain} に転送されました"
       mark_as_resolved: 解決済みとしてマーク
+      mark_as_sensitive: 閲覧注意にする
       mark_as_unresolved: 未解決に戻す
       no_one_assigned: なし
       notes:
@@ -709,6 +696,9 @@ ja:
       title: 投稿一覧
       with_media: メディアあり
     strikes:
+      actions:
+        mark_statuses_as_sensitive: "%{name} さんが %{target} さんの投稿を閲覧注意としてマークしました"
+        sensitive: "%{name} さんが %{target} さんのアカウントを閲覧注意としてマークしました"
       appeal_approved: 抗議済み
       appeal_pending: 保留中の抗議
     system_checks:
@@ -740,6 +730,9 @@ ja:
         rejected: この発行者からのリンクを拒否
         title: 発行者
       rejected: 拒否
+      statuses:
+        allow: 投稿を許可する
+        disallow: 投稿を許可しない
       tags:
         current_score: 現在のスコア %{score}
         dashboard:
@@ -769,6 +762,7 @@ ja:
     new_appeal:
       actions:
         none: 警告
+        sensitive: アカウントを閲覧注意にする
     new_pending_account:
       body: 新しいアカウントの詳細は以下の通りです。この申請を承認または却下することができます。
       subject: "%{instance} で新しいアカウント (%{username}) が承認待ちです"
@@ -834,6 +828,7 @@ ja:
     invalid_reset_password_token: パスワードリセットトークンが正しくないか期限切れです。もう一度リクエストしてください。
     link_to_otp: 携帯電話から二段階認証コードを入力するか、リカバリーコードを入力してください
     link_to_webauth: セキュリティキーを使用する
+    log_in_with: 次の方法でログイン
     login: ログイン
     logout: ログアウト
     migrate_account: 別のアカウントに引っ越す
@@ -922,6 +917,7 @@ ja:
     explore_mastodon: "%{title}を探索"
   disputes:
     strikes:
+      action_taken: 取られた措置
       appeal: 抗議
       appeal_submitted_at: 抗議が送信されました
       appeals:
@@ -931,8 +927,13 @@ ja:
       recipient: 送信元
       title: "%{date}に%{action}"
       title_actions:
+        delete_statuses: 投稿の削除
         disable: アカウント凍結
+        mark_statuses_as_sensitive: 投稿を閲覧注意としてマーク
         none: 警告
+        sensitive: アカウントを閲覧注意としてマーク
+        silence: アカウントの制限
+        suspend: アカウントの一時停止
   domain_validator:
     invalid_domain: は無効なドメイン名です
   errors:
@@ -1105,6 +1106,9 @@ ja:
     carry_mutes_over_text: このユーザーは、あなたがミュートしていた %{acct} から引っ越しました。
     copy_account_note_text: このユーザーは %{acct} から引っ越しました。これは以前のメモです。
   notification_mailer:
+    admin:
+      sign_up:
+        subject: "%{name} がサインアップしました"
     digest:
       action: 全ての通知を表示
       body: '最後のログイン(%{since})からの出来事:'
@@ -1305,7 +1309,6 @@ ja:
     default_language: UIの表示言語
     disallowed_hashtags:
       other: '許可されていないハッシュタグが含まれています: %{tags}'
-    edited_at: "%{date} に編集"
     errors:
       in_reply_not_found: あなたが返信しようとしている投稿は存在しないようです。
     open_in_web: Webで開く
@@ -1362,6 +1365,7 @@ ja:
       '2629746': 1ヶ月
       '31556952': 1年
       '5259492': 2ヶ月
+      '604800': 1 週間
       '63113904': 2年
       '7889238': 3ヶ月
     min_age_label: 投稿を保持する期間
@@ -1501,21 +1505,24 @@ ja:
         spam: スパム
         violation: コンテンツは以下のコミュニティガイドラインに違反しています
       explanation:
-        delete_statuses: あなたの投稿のいくつかは、1つ以上のコミュニティガイドラインに違反していることが判明し、 %{instance} のモデレータによって削除されました。 今後の違反は、より厳しい処罰が行われる可能性があります。
         disable: アカウントは使用できませんが、プロフィールやその他のデータはそのまま残ります。 データのバックアップをリクエストしたり、アカウント設定を変更したり、アカウントを削除したりできます。
-        sensitive: 今後、アップロードされたすべてのメディアファイルは閲覧注意してマークされ、クリックスルー警告の背後に隠されます。
+        mark_statuses_as_sensitive: あなたのいくつかの投稿は、 %{instance} のモデレータによって閲覧注意としてマークされています。これは、プレビューが表示される前にユーザが投稿内のメディアをタップする必要があることを意味します。あなたは将来投稿する際に自分自身でメディアを閲覧注意としてマークすることができます。
+        sensitive: 今後、アップロードされたすべてのメディアファイルは閲覧注意としてマークされ、クリック解除式の警告で覆われるようになります。
         silence: アカウントが制限されています。このサーバーでは既にフォローしている人だけがあなたの投稿を見ることができます。 様々な発見機能から除外されるかもしれません。他の人があなたを手動でフォローすることは可能です。
       reason: '理由:'
       subject:
         disable: あなたのアカウント %{acct} は凍結されました
+        mark_statuses_as_sensitive: あなたの %{acct} の投稿は閲覧注意としてマークされました
         none: "%{acct} に対する警告"
+        sensitive: あなたの %{acct} の投稿はこれから閲覧注意としてマークされます
         silence: あなたのアカウント %{acct} はサイレンスにされました
         suspend: あなたのアカウント %{acct} は停止されました
       title:
         delete_statuses: 投稿が削除されました
         disable: アカウントが凍結されました
+        mark_statuses_as_sensitive: 閲覧注意としてマークされた投稿
         none: 警告
-        sensitive: メディアが非表示にされました
+        sensitive: 閲覧注意としてマークされたアカウント
         silence: アカウントがサイレンスにされました
         suspend: アカウントが停止されました
     welcome:
diff --git a/config/locales/ka.yml b/config/locales/ka.yml
index 48b3c227d..29b3715bc 100644
--- a/config/locales/ka.yml
+++ b/config/locales/ka.yml
@@ -139,7 +139,6 @@ ka:
       emoji: ემოჯი
       enable: ჩართვა
       enabled_msg: წარმატებით ჩაირთო ეს ემოჯი
-      image_hint: PNG 50კბმდე
       listed: ჩამოთვლილი
       new:
         title: ახალი პერსონალიზირებული ემოჯის დამატება
@@ -171,12 +170,6 @@ ka:
         title: ახალი დომენის ბლოკი
       reject_media: მედია ფაილების უარყოფა
       reject_media_hint: შლის ლოკალურად შენახულ მედია ფაილებს და უარყოფს სამომავლო გადმოტვირთებს. შეუსაბამო შეჩერებებისთვის
-      show:
-        retroactive:
-          silence: ამ დომენში ყველა არსებულ ანგარიშზე გაჩუმების მოშორება
-          suspend: ამ დომენში ყველა არსებულ ანგარიშზე შეჩერების მოშორება
-        title: უკუაქციეთ დომენის ბლოკი %{domain} დომენზე
-        undo: უკუქცევა
       undo: უკუქცევა
     email_domain_blocks:
       add_new: ახლის დამატება
diff --git a/config/locales/kab.yml b/config/locales/kab.yml
index 169f69492..99e178512 100644
--- a/config/locales/kab.yml
+++ b/config/locales/kab.yml
@@ -55,7 +55,6 @@ kab:
     media: Taɣwalt
     moved_html: 'ibeddel %{name} amiḍan ɣer %{new_profile_link}:'
     network_hidden: Ulac isalli-agi
-    never_active: Werǧin
     nothing_here: Ulac kra da!
     people_followed_by: Imdanen i yeṭṭafaṛ %{name}
     people_who_follow: Imdanen yeṭṭafaṛen %{name}
@@ -293,7 +292,6 @@ kab:
       enable: Rmed
       enabled: Yermed
       enabled_msg: Imuji yermed mebla ugur
-      image_hint: PNG n ddaw n 50KT
       list: Umuγ
       new:
         title: Timerna n imuji udmawan amaynut
@@ -330,13 +328,6 @@ kab:
       public_comment: Awennit azayez
       reject_media: Agi ifuyla n umidya
       reject_reports: Agi ineqqisen
-      rejecting_media: agami n yifuyla n umidya
-      rejecting_reports: agami n yineqqisen
-      severity:
-        silence: yettwasgugem
-        suspend: yeḥbes
-      show:
-        undo: Sefsex
       undo: Sefsex iḥder n taɣult
       view: Sken-d iḥder n taɣult
     email_domain_blocks:
@@ -360,10 +351,7 @@ kab:
         clear: Sfeḍ tuccḍiwin n usiweḍ
         restart: Ales asiweḍ
         stop: Seḥbes asiweḍ
-        title: Asiweḍ
         unavailable: Ur yelli ara
-        unavailable_message: Asiweḍ ur yelli ara
-        warning: Aneddeh
       delivery_available: Yella usiweḍ
       delivery_error_days: Ussan n tuccḍiwin n usiweḍ
       empty: Ulac taɣultin yettwafen.
@@ -789,7 +777,6 @@ kab:
       video:
         one: "%{count} n tbidyutt"
         other: "%{count} n tbidyutin"
-    edited_at: Tettwaẓreg deg %{date}
     open_in_web: Ldi deg Web
     poll:
       total_people:
@@ -818,6 +805,7 @@ kab:
       '2629746': 1 n wayyur
       '31556952': 1 n useggas
       '5259492': 2 n wayyuren
+      '604800': 1 week
       '63113904': 2 n yiseggasen
       '7889238': 3 n wayyuren
   stream_entries:
diff --git a/config/locales/kk.yml b/config/locales/kk.yml
index 3e6615956..9055b531f 100644
--- a/config/locales/kk.yml
+++ b/config/locales/kk.yml
@@ -62,7 +62,6 @@ kk:
     media: Медиа
     moved_html: "%{name} мына жерге көшті %{new_profile_link}:"
     network_hidden: Бұл ақпарат қолжетімді емес
-    never_active: Ешқашан
     nothing_here: Бұл жерде ештеңе жоқ!
     people_followed_by: "%{name} жазылған адамдар"
     people_who_follow: "%{name} атты қолданушының оқырмандары"
@@ -212,7 +211,6 @@ kk:
       enable: Қосу
       enabled: Қосылды
       enabled_msg: Эмодзи сәтті қосылды
-      image_hint: PNG 50KB
       list: Тізім
       listed: Тізілді
       new:
@@ -260,17 +258,6 @@ kk:
       reject_media_hint: Жергілікті сақталған мультимедиалық файлдарды жояды және болашақта кез келген жүктеуден бас тартады. Суспензияға байланысты емес
       reject_reports: Шағым қабылдамау
       reject_reports_hint: Бұл доменнен келген барлық есептерді елемеңіз. Суспензияға байланысты емес
-      rejecting_media: медиа файлдарды қабылдамау
-      rejecting_reports: шағымдарды қабылдамау
-      severity:
-        silence: үнсіз
-        suspend: тоқтатылған
-      show:
-        retroactive:
-          silence: Осы домендегі бар тіркелгілерді жою
-          suspend: Осы домендегі бар барлық тіркелгілерді тоқтатыңыз
-        title: "%{domain} доменіндегі блокты алып таста"
-        undo: Қайтару
       undo: Домен блокын қайтып алу
       view: Домен блокын көрсету
     email_domain_blocks:
diff --git a/config/locales/kmr.yml b/config/locales/kmr.yml
deleted file mode 100644
index 6ee62729c..000000000
--- a/config/locales/kmr.yml
+++ /dev/null
@@ -1,1688 +0,0 @@
----
-kmr:
-  about:
-    about_hashtag_html: Ev şandiyeke gelemperî ye bi <strong>#%{hashtag}</strong> re nîşankirî ye. Tu dikarî pê re çalak bibî heke ajimêreke te heye li ser fediverse.
-    about_mastodon_html: 'Tora civakî ya pêşerojê: Ne reklam, ne çavdêriya pargîdanî, sêwirana exlaqî, û desentralîzasyon! Bi Mastodon re bibe xwediyê daneyên xwe!'
-    about_this: Derbar
-    active_count_after: çalak
-    active_footnote: Mehane bikarhênerên çalak (MBÇ)
-    administered_by: 'Tê bi rêvebirin ji aliyê:'
-    api: API
-    apps: Sepana mobîl
-    apps_platforms: Mastodon ji iOS, Android û platformên din bi kar bîne
-    browse_directory: Li riya profîlê bigere û li gorî berjewendiyan parzûn bike
-    browse_local_posts: Ji vî rajekarê weşaneke zindî ya şandiyên giştî bigere
-    browse_public_posts: Weşaneke zindî ya şandiyên giştî bigere li ser Mastodon
-    contact: Têkilî
-    contact_missing: Nehate sazkirin
-    contact_unavailable: N/A
-    discover_users: Bikarhêneran keşf bike
-    documentation: Pelbend
-    federation_hint_html: Bi ajimêrê xwe %{instance} re tu dikarî kesên rajekar û li derveyî mastodonê bişopînî.
-    get_apps: Sepaneke mobîl bicerbîne
-    hosted_on: Mastodon li ser%{domain} tê hildanê
-    instance_actor_flash: 'Ev ajimêr aktorekî aşopî ye ji bo rajekar were temsîl kirin tê bikaranîn ne ajimêra kesî ye. Ji bo armanca federasyonê dixebite û divê ney asteng kirin heta ku te xwest hemû nimûneyan asteng bikî, di vir de ger tu blogek navper bikarbînî.
-
-      '
-    learn_more: Bêtir fêr bibe
-    privacy_policy: Polîtikaya nihêniyê
-    rules: Rêbazên rajekar
-    rules_html: 'Heger tu bixwazî ajimêrekî li ser rajekarê mastodon vebikî, li jêrê de kurtasî ya qaîdeyên ku tu guh bidî heye:'
-    see_whats_happening: Binêre ka çi diqewime
-    server_stats: 'Statîstîkên rajekar:'
-    source_code: Çavkaniya Kodî
-    status_count_after:
-      one: şandî
-      other: şandî
-    status_count_before: Hatin weşan
-    tagline: Hevalên xwe bişopîne û yên nû bibîne
-    terms: Peyama mercan
-    unavailable_content: Rajekarên li hev kirî
-    unavailable_content_description:
-      domain: Rajekar
-      reason: Sedem
-      rejecting_media: 'Pelên medyayê yên ji van rajekaran nayên pêvajoyî kirin an tomarkirin, û tu dîmenek nayên xuyakirin, ku pêdivî ye ku bi desta pêlêkirina pelika rasteqîn hebe:'
-      rejecting_media_title: Medyayên parzûnkirî
-      silenced: 'Şandiyên ji van rajekaran dê di demnameyên û axaftinên gelemperî de bêne veşartin, û heya ku tu wan neşopînî dê ji çalakiyên bikarhênerên wan agahdariyek çênebe:'
-      silenced_title: Rajekarên sînor kirî
-      suspended: '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:'
-      suspended_title: Rajekarên rawestî
-    unavailable_content_html: 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.
-    user_count_after:
-      one: bikarhêner
-      other: bikarhêner
-    user_count_before: Serrûpel
-    what_is_mastodon: Mastodon çi ye?
-  accounts:
-    choices_html: 'Hilbijartina %{name}:'
-    endorsements_hint: Tu dikarî kesên ku di navrûyê wep de dişopînî bipejirînî û ew li vir were nîşan kirin.
-    featured_tags_hint: Tu dikarî hashtagên teybetî li vir tê nîşan kirin di pê de derxî.
-    follow: Bişopîne
-    followers:
-      one: Şopîner
-      other: Şopîner
-    following: Dişopîne
-    instance_actor_flash: Ev ajimêr listikvaneke rastkî ye ku ji bo wek nûnerê rajekar bixwe tê bikaranîn û ne bikarhênerek kesane. Ew ji bo mebestên yekbûyî tê bikaranîn û divê neyê rawestandin.
-    joined: Di %{date} de tevlî bû
-    last_active: çalakiya dawî
-    link_verified_on: Xwedaniya li vê girêdanê di %{date} de hatiye kontrolkirin
-    media: Medya
-    moved_html: "%{name} bar kire %{new_profile_link}:"
-    network_hidden: Ev zanyarî berdest nîne
-    never_active: Tu car
-    nothing_here: Li vir tiştek tune ye!
-    people_followed_by: Kesên ku%{name} wan dişopîne
-    people_who_follow: Kesên%{name} dişopîne
-    pin_errors:
-      following: Kesê ku tu dixwazî bipejirînî jixwe tu vê dişopînî
-    posts:
-      one: Şandî
-      other: Şandî
-    posts_tab_heading: Şandî
-    posts_with_replies: Şandî û bersiv
-    roles:
-      admin: Rêvebir
-      bot: Bot
-      group: Kom
-      moderator: Moderator
-    unavailable: Profîl nay bikaranîn
-    unfollow: Neşopîne
-  admin:
-    account_actions:
-      action: Çalakî yê bike
-      title: Li ser %{acct} çalakiyên li hev hatî pêk bîne
-    account_moderation_notes:
-      create: Nîşeyekê bihêle
-      created_msg: Nîşeyê moderator bi awayekî serkeftî hate afirandin!
-      destroyed_msg: Nîşeyê moderator bi awayekî serkeftî hate tinne kirin!
-    accounts:
-      add_email_domain_block: Navparê e-nameyê asteng bike
-      approve: Bipejirîne
-      approved_msg: Tomarkirina %{username} bi awayekî serkeftî hate pejirandin
-      are_you_sure: Ma tu bawerî?
-      avatar: Wêne
-      by_domain: Navper
-      change_email:
-        changed_msg: E-nameya ajimêr bi awayekî serkeftî hate guhertin!
-        current_email: E-nameya heyî
-        label: E-nameyê biguherîne
-        new_email: E-nameya nû
-        submit: E-nameyê biguherîne
-        title: E-nameyê biguherîne bo %{username}
-      confirm: Bipejirîne
-      confirmed: Hate pejirandin
-      confirming: Tê pejirandin
-      custom: Kesanekirin
-      delete: Daneyan jê bibe
-      deleted: Hate jêbirin
-      demote: Ast daxistin
-      destroyed_msg: Daneyên %{username} niha ket rêzê da yê demek nêz da were jêbirin
-      disable: Qerisî ye
-      disable_sign_in_token_auth: E-name ya rastandina token neçalak bike
-      disable_two_factor_authentication: 2FA ne çalak bike
-      disabled: Qerisî ye
-      display_name: Navê xuyangê
-      domain: Navper
-      edit: Serrast bike
-      email: E-name
-      email_status: Rewşa E-nameyê
-      enable: Çalak bike
-      enable_sign_in_token_auth: E-name ya rastandina token çalak bike
-      enabled: Çalakkirî
-      enabled_msg: Ajimêra %{username} bi serkeftî hat çalak kirin
-      followers: Şopîner
-      follows: Dişopînê
-      header: Jormalper
-      inbox_url: Peyamên hatî URl
-      invite_request_text: Sedemên tevlêbûnê
-      invited_by: Bi vexwendinê
-      ip: IP
-      joined: Tevlî bû
-      location:
-        all: Hemû
-        local: Herêmî
-        remote: Ji dûr ve
-        title: Cih
-      login_status: Rewşa têketinê
-      media_attachments: Pêvekên medya
-      memorialize: Vegerîne bîranînê
-      memorialized: Bû bîranîn
-      memorialized_msg: "%{username} bi serkeftî veguherî ajimêra bîranînê"
-      moderation:
-        active: Çalak
-        all: Hemû
-        pending: Tê nirxandin
-        suspended: Sekinandî
-        title: Çavdêrî
-      moderation_notes: Nîşeyên Rêvebirinê
-      most_recent_activity: Çalakîyên dawî
-      most_recent_ip: IP' a dawî
-      no_account_selected: Tu ajimêr nehat hilbijartin ji ber vê tu ajimêr nehat guhertin
-      no_limits_imposed: Sînor nay danîn
-      not_subscribed: Beşdar nebû
-      pending: Li benda nirxandinê ye
-      perform_full_suspension: Sekinî
-      previous_strikes: Binpêkirinên berê
-      previous_strikes_description_html:
-        one: Ev ajimêr <strong>yek</strong> binpêkirin kiriye.
-        other: Ev ajimêr <strong>%{count}</strong> binpêkirin kiriye.
-        zero: Ev ajimêr <strong>di rewşeke baş de ye</strong>.
-      promote: Derbasê asteke bilind be
-      protocol: Protokol
-      public: Gelemperî
-      push_subscription_expires: Beşdarbûna PuSH diqede
-      redownload: Profîl nûve bike
-      redownloaded_msg: Bi serkeftî profîla %{username} ji kokê va hat nûve kirin
-      reject: Nepejirîne
-      rejected_msg: Tomarkirina %{username} bi awayekî serkeftî nehate pejirandin
-      remove_avatar: Avatarê rake
-      remove_header: Sernavê rake
-      removed_avatar_msg: Wêneyê %{username} bi awayekî serkeftî hate rakirin
-      removed_header_msg: Wêneyê dîwar ê %{username} bi awayekî serkeftî hate rakirin
-      resend_confirmation:
-        already_confirmed: Ev bikarhêner jixwe hatiye pejirandin
-        send: E-nameya pejirandinê dîsa bişîne
-        success: E-nameya pejirandinê bi awayekî serkeftî hate şandin!
-      reset: Ji nû ve saz bike
-      reset_password: Pêborînê ji nû ve saz bike
-      resubscribe: Dîsa beşdar bibe
-      role: Maf
-      roles:
-        admin: Rêvebir
-        moderator: Çavdêr
-        staff: Xebatkar
-        user: Bikarhêner
-      search: Bigere
-      search_same_email_domain: Bikarhênerên din ên bi heman navpera e-nameyê
-      search_same_ip: Bikarhênerên din ên xwedî heman IP
-      security_measures:
-        only_password: Têne pêborîn
-        password_and_2fa: Pêborîn û 2FA
-        password_and_sign_in_token: Pêborîn û navnîşana e-nameyê
-      sensitive: Hêz-hestiyar
-      sensitized: Wek hestiyar hatiye nîşankirin
-      shared_inbox_url: URLya wergirtiyên parvekirî
-      show:
-        created_reports: Ragihandinên ku çêkiriye
-        targeted_reports: Ji aliyê kesên din ve hatiye ragihandin
-      silence: Sînor
-      silenced: Bêdeng kirî
-      statuses: Şandî
-      strikes: Binpêkirinên berê
-      subscribe: Bibe kiryar
-      suspend: Hatiye rawestandin
-      suspended: Hatiye rawestandin
-      suspension_irreversible: Daneyên vê ajimêrê bêveger hatine jêbirin. Tu dikarî ajimêra xwe ji rawestandinê vegerinî da ku ew bi kar bînî lê ew ê tu daneya ku berê hebû venegere.
-      suspension_reversible_hint_html: Ajimêr hat qerisandin, û daneyên di %{date} de hemû were rakirin. Hetta vê demê, ajimêr bê bandorên nebaş dikare dîsa vegere. Heke tu dixwazî hemû daneyan ajimêrê niha rakî, tu dikarî li jêrê bikî.
-      title: Ajimêr
-      unblock_email: Astengiyê li ser navnîşana e-nameyê rake
-      unblocked_email_msg: Bi serkeftî astengiya li ser navnîşana e-nameyê %{username} hate rakirin
-      unconfirmed_email: E-nameya nepejirandî
-      undo_sensitized: Hestiyariyê vegerîne
-      undo_silenced: Sînorê vegerîne
-      undo_suspension: Dûrxistinê paşve vegerîne
-      unsilenced_msg: Ajimêra %{username} bi awayekî serkeftî bêsînor çêbû
-      unsubscribe: Dev ji beşdarbûnê berde
-      unsuspended_msg: Bi awayekî serkeftî beşdarbûna bi ajimêra %{username} hate berdan
-      username: Navê bikarhêneriyê
-      view_domain: Kurte ji bo navperê bide nîşan
-      warn: Hişyarî
-      web: Tevn
-      whitelisted: Ji bona yekbûyînê maf tê dayîn
-    action_logs:
-      action_types:
-        approve_appeal: Îtîrazê bipejirîne
-        approve_user: Bikarhêner bipejirîne
-        assigned_to_self_report: Ragihandinê diyar bike
-        change_email_user: E-nameya bikarhêner biguherîne
-        confirm_user: Bikarhêner bipejirîne
-        create_account_warning: Hişyariyekê çê bike
-        create_announcement: Daxûyaniyekê çê bike
-        create_custom_emoji: Emojiyên kesanekirî çê bike
-        create_domain_allow: Navpera ku destûr standiye peyda bike
-        create_domain_block: Navpera ku asteng bûye ava bike
-        create_email_domain_block: Navpera e-name yê de asteng kirinê peyda bike
-        create_ip_block: Rêziknameya IPyê saz bike
-        create_unavailable_domain: Navpera ku nayê bikaranîn pêk bîne
-        demote_user: Bikarhênerê kaşê jêr bike
-        destroy_announcement: Daxûyanîyê jê bibe
-        destroy_custom_emoji: Emojîya kesanekirî jê bibe
-        destroy_domain_allow: Navperên mafdayî jê bibe
-        destroy_domain_block: Navperên astengkirî jê bibe
-        destroy_email_domain_block: Navperên e-nameyê yên astengkirî jê bibe
-        destroy_instance: Pakirina navperê
-        destroy_ip_block: Tomara IPyê jêbibe
-        destroy_status: Şandiyê jê bibe
-        destroy_unavailable_domain: Navperên tuneyî jê bibe
-        disable_2fa_user: 2FA neçalak bike
-        disable_custom_emoji: Emojîya kesanekirî neçalak bike
-        disable_sign_in_token_auth_user: Ji bo bikarhênerê piştrastkirina navnîşana e-name yê ya token neçalak bike
-        disable_user: Bikarhêner neçalak bike
-        enable_custom_emoji: Emojîya kesanekirî çalak bike
-        enable_sign_in_token_auth_user: Ji bo bikarhênerê piştrastkirina navnîşana e-name yê ya token çalak bike
-        enable_user: Bikarhêner çalak bike
-        memorialize_account: Ajimêrê bike bîranînek
-        promote_user: Bikarhêner pêş bixe
-        reject_appeal: Îtîrazê nepejirîne
-        reject_user: Bikarhêner nepejirîne
-        remove_avatar_user: Avatarê rake
-        reopen_report: Ragihandina ji nû ve veke
-        reset_password_user: Pêborînê ji nû ve saz bike
-        resolve_report: Ragihandinê çareser bike
-        sensitive_account: Ajimêra hêz-hestiyar
-        silence_account: Ajimêrê bi sînor bike
-        suspend_account: Ajimêr rawestîne
-        unassigned_report: Ragihandinê diyar neke
-        unblock_email_account: Astengiyê li ser navnîşana e-nameyê rake
-        unsensitive_account: Medyayên di ajimêrê te de wek hestyarî nepejirîne
-        unsilence_account: Ajimêra sînorkirî vegerîne
-        unsuspend_account: Ajimêrê xwe ji rewestandinê rake
-        update_announcement: Daxûyaniyê rojane bike
-        update_custom_emoji: Emojîya kesanekirî rojane bike
-        update_domain_block: Navperên astengkirî rojane bike
-        update_status: Şandiyê rojane bike
-      actions:
-        approve_appeal_html: "%{name} îtiraza biryara çavdêriyê ji %{target} pejirand"
-        approve_user_html: "%{name} tomarkirina ji %{target} pejirand"
-        assigned_to_self_report_html: "%{name} ji xwe re ragihandinek %{target} hilda"
-        change_email_user_html: "%{name} navnîşana e-nameya bikarhêner %{target} guherand"
-        confirm_user_html: "%{name} navnîşana e-nameya bikarhêner %{target} piştrast kir"
-        create_account_warning_html: "%{name} ji bo %{target} hişyariyek şand"
-        create_announcement_html: "%{name} agahdarkirineke nû çêkir %{target}"
-        create_custom_emoji_html: "%{name} emojîyeke nû ya %{target} bar kir"
-        create_domain_allow_html: "%{name} bi navperê %{target} re maf da federeyê"
-        create_domain_block_html: "%{name} navpera %{target} asteng kir"
-        create_email_domain_block_html: "%{name} e-nameya navperê %{target} asteng kir"
-        create_ip_block_html: "%{name} ji bo IPya %{target} rêzikname saz kir"
-        create_unavailable_domain_html: "%{name} bi navperê %{target} re gihandinê rawestand"
-        demote_user_html: "%{name} bikarhênerê %{target} kaşê jêr kir"
-        destroy_announcement_html: "%{name} daxûyaniyeke %{target} jê bir"
-        destroy_custom_emoji_html: "%{name} emojiya %{target} tune kir"
-        destroy_domain_allow_html: "%{name} bi navperê %{target} re maf neda federeyê"
-        destroy_domain_block_html: "%{name} navpera %{target} asteng kir"
-        destroy_email_domain_block_html: "%{name} astengiya li ser navpera e-nameyê %{target} rakir"
-        destroy_instance_html: "%{name} navpera %{target} asteng kir"
-        destroy_ip_block_html: "%{name}, ji bo IPya %{target} rêziknameyê jêbir"
-        destroy_status_html: "%{name} ji alîyê %{target} ve şandiyê rakir"
-        destroy_unavailable_domain_html: "%{name} bi navperê %{target} re gihandinê berdewam kir"
-        disable_2fa_user_html: "%{name} ji bo bikarhênerê %{target} du faktorî neçalak kir"
-        disable_custom_emoji_html: "%{name} emojiya %{target} neçalak kir"
-        disable_sign_in_token_auth_user_html: "%{name} ji bo %{target} nîşana mafdayîna e-nameya ne çalak kir"
-        disable_user_html: "%{name} ji bo bikarhêner %{target} têketin neçalak kir"
-        enable_custom_emoji_html: "%{name} emojiya %{target} çalak kir"
-        enable_sign_in_token_auth_user_html: "%{name} ji bo %{target} nîşana mafdayîna e-nameyê çalak kir"
-        enable_user_html: "%{name} ji bo bikarhêner %{target} têketin çalak kir"
-        memorialize_account_html: "%{name} ajimêra %{target} veguherand rûpeleke bîranînê"
-        promote_user_html: "%{name} bikarhêner %{target} bilind kir"
-        reject_appeal_html: "%{name} îtiraza biryara çavdêriyê ji %{target} nepejirand"
-        reject_user_html: "%{name} tomarkirina ji %{target} nepejirand"
-        remove_avatar_user_html: "%{name} avatara bikarhêner %{target} rakir"
-        reopen_report_html: "%{name} ragihandina %{target} ji nû ve vekir"
-        reset_password_user_html: "%{name} pêborîna bikarhênerê %{target} ji nû ve saz kir"
-        resolve_report_html: "%{name} ragihandina %{target} çareser kir"
-        sensitive_account_html: "%{name} medyayê %{target} wekî hestiyarî nîşan kir"
-        silence_account_html: "%{name} ajimêra %{target} bi sînor kir"
-        suspend_account_html: "%{name} ajimêra %{target} hilda rawestandinê"
-        unassigned_report_html: "%{name} ragihandina %{target} rakir"
-        unblock_email_account_html: "%{name} navnîşana e-nameyê %{target} asteng kir"
-        unsensitive_account_html: "%{name} medyayê %{target} nîşandana wek hestiyarî rakir"
-        unsilence_account_html: "%{name} bêdengiya ajimêrê %{target} rakir"
-        unsuspend_account_html: "%{name} rawestandina ajimêrê %{target} rakir"
-        update_announcement_html: "%{name} daxûyaniya %{target} rojane kir"
-        update_custom_emoji_html: "%{name} emojiya %{target} rojane kir"
-        update_domain_block_html: "%{name} ji bo navpera %{target} astengkirin rojane kir"
-        update_status_html: "%{name} şandiya bikarhêner %{target} rojane kir"
-      deleted_status: "(şandiyeke jêbirî)"
-      empty: Tomarkirin nehate dîtin.
-      filter_by_action: Li gorî çalakiyê biparzinîne
-      filter_by_user: Li gorî bikarhênerê biparzinîne
-      title: Tomarê çavdêriyê
-    announcements:
-      destroyed_msg: Daxûyanî bi awayekî serkeftî hate jêbirin!
-      edit:
-        title: Daxûyaniyê serrast bike
-      empty: Daxûyanî nehat dîtin.
-      live: Zindî
-      new:
-        create: Daxûyaniyekê çê bike
-        title: Daxûyaniya nû
-      publish: Biweşîne
-      published_msg: Daxûyanî bi awayekî serkeftî hate weşan!
-      scheduled_for: Bo %{time} hatiye demsazkirin
-      scheduled_msg: Daxûyanî hate demsazkirin bo weşanê!
-      title: Daxuyanî
-      unpublish: Neweşîne
-      unpublished_msg: Daxûyanî bi awayekî serkeftî weşan pûç kir!
-      updated_msg: Daxûyanî bi awayekî serkeftî hate rojanekirin!
-    custom_emojis:
-      assign_category: Diyarkirina beşê
-      by_domain: Navper
-      copied_msg: Jêgirtiyê emojî ya herêmî bi serkeftî hate afirandin
-      copy: Jê bigire
-      copy_failed_msg: Jêgirtiyêke emojî ya herêmî nehate afirandin
-      create_new_category: Beşêke nû biafirîne
-      created_msg: Hestok bi serkeftî hate çêkirin!
-      delete: Jê bibe
-      destroyed_msg: Hestok bi serkeftî hate rûxandin!
-      disable: Neçalak bike
-      disabled: Neçalakkirî
-      disabled_msg: Ev hestok bi serkeftî hate neçalak kirin
-      emoji: Emoji
-      enable: Çalak bike
-      enabled: Çalakkirî
-      enabled_msg: Ev hestok bi serkeftî hate çalak kirin
-      image_hint: Mezinahiya pelê PNG heya 50Kb te
-      list: Rêzok
-      listed: Rêzokkirî
-      new:
-        title: Hestokên kesane yên nû lê zêde bike
-      not_permitted: Mafê te tune ku tu vê çalakiyê bikî
-      overwrite: Bi ser de binivsîne
-      shortcode: Kurtekod
-      shortcode_hint: Herê kêm 2 tîp, tenê tîpên alfahejmarî û yên bin xêzkirî
-      title: Hestokên kesane
-      uncategorized: Bêbeş
-      unlist: Dervî rêzokê
-      unlisted: Nerêzokkirî
-      update_failed_msg: Ev hestok nehate rojanekirin
-      updated_msg: Emojî bi awayekî serkeftî hate rojanekirin!
-      upload: Bar bike
-    dashboard:
-      active_users: bikarhênerên çalak
-      interactions: têgerîn
-      media_storage: Bîrdanaka medyayê
-      new_users: bikarhênerên nû
-      opened_reports: ragihandin hatin vekirin
-      pending_appeals_html:
-        one: "<strong>%{count}</strong> îtîraz li benda nirxandinê ye"
-        other: "<strong>%{count}</strong> îtîraz li benda nirxandinê ne"
-      pending_reports_html:
-        one: "<strong>%{count}</strong> ragihandin benda nirxandinê ye"
-        other: "<strong>%{count}</strong> ragihandin benda nirxandinê ne"
-      pending_tags_html:
-        one: "<strong>%{count}</strong> hashtag benda nirxandinê ye"
-        other: "<strong>%{count}</strong> hashtag benda nirxandinê ne"
-      pending_users_html:
-        one: "<strong>%{count}</strong> bikarhêner benda nirxandinê ye"
-        other: "<strong>%{count}</strong> bikarhêner benda nirxandinê ne"
-      resolved_reports: ragihandinên çareserkirî
-      software: Nermalav
-      sources: Çavkaniyên tomarkirî
-      space: Bikaranîna cîh
-      title: Destgeha venasînê
-      top_languages: Zimanên herî çalak
-      top_servers: Rajekarên herî çalak
-      website: Malpera tevnê
-    disputes:
-      appeals:
-        empty: Îtîraz nehatin dîtin.
-        title: Îtîraz
-    domain_allows:
-      add_new: Maf bide navpera federasyonê
-      created_msg: Ji bo federasyonê maf dayîna navperê bi serkeftî hate dayîn
-      destroyed_msg: Ji bo federasyonê maf dayîna navperê nehat dayîn
-      undo: Maf nede navpera federasyonê
-    domain_blocks:
-      add_new: Astengkirina navpera nû
-      created_msg: Navpera asteng kirinê nû hat şixulandin
-      destroyed_msg: Navpera asteng kirinê hat rakirin
-      domain: Navper
-      edit: Astengkirina navperê serrast bike
-      existing_domain_block_html: Te bi bandorê mezin sînor danî ser %{name}, Divê tu <a href="%{unblock_url}"> asteng kirinê rabikî, pêşî ya </a>.
-      new:
-        create: Astengkirinekê çê bike
-        hint: Navpera asteng kirî pêşî li çê kirina têketinên ajimêra ên di danegehê da negire, lê dê bi paş ve bizivirin û bi xweberî va ji ajimêran bi teybetî kontrola rêbazan bikin.
-        severity:
-          desc_html: |-
-            <strong>Bêdeng kirî</strong> ajimêrên wusa çêkirine xêncî şopînerên vê kes nikare şandîyên vê bibîne.
-            <strong>rawestî</strong> ajimêrên wusa çêkirine hemî naveroka, medya û daneyên profîlê jê bibe. Heke tu bixwazî pelên medyayê red bikî<strong>yek ji wan</strong>bi kar bîne.
-          noop: Ne yek
-          silence: Bêdengî
-          suspend: Dur bike
-        title: Astengkirina navpera nû
-      obfuscate: Navê navperê biveşêre
-      obfuscate_hint: Heke rêzoka sînorên navperê were çalakkirin navê navperê di rêzokê de bi qismî veşêre
-      private_comment: Şîroveya taybet
-      private_comment_hint: Derbarê sînorkirina vê navperê da ji bo bikaranîna hundirîn a moderatoran şîrove bikin.
-      public_comment: Şîroveya gelemperî
-      public_comment_hint: Heke reklamkirina rêzoka sînorên navperê çalak be, derbarê sînorkirina vê navperê da ji bo raya giştî şîrove bikin.
-      reject_media: Pelên medyayê red bike
-      reject_media_hint: Pelên medyayê herêmî hatine tomarkirin radike û di pêşerojê de daxistinê red dike. Ji bo rawstandinê ne girîng e
-      reject_reports: Ragihandinan red bike
-      reject_reports_hint: Ragihandinên ku ji vê navperê tê paşguh bike. Ji bo dûrbûnê re ne guncav e
-      rejecting_media: pelên medyayê red bike
-      rejecting_reports: ragihandinê red bike
-      severity:
-        silence: sînorkirî
-        suspend: hatiye rawestandin
-      show:
-        affected_accounts:
-          one: Yek ajimêr di danegehê de bandor kir
-          other: "%{count} ajimêr di danegehê de bandor kir"
-          zero: Yek ajimêr di danegehê de bi bandor e
-        retroactive:
-          silence: Vê navperê de sînorê li ser hemî ajimêran rabike
-          suspend: Vê navperê de rawestandinê li ser hemî ajimêran rabike
-        title: Ji bo navperê %{domain} asteng kirinê hilde
-        undo: Vegerîne
-      undo: Astengkirina navperê vegerîne
-      view: Astengkirina navperê nîşan bike
-    email_domain_blocks:
-      add_new: Nû tevlî bike
-      attempts_over_week:
-        one: "%{count} hewldan di hefteya borî de"
-        other: "%{count} hewldanên tomarkirinê di hefteya borî de"
-      created_msg: Bi serkeftî navpera e-name hat asteng kirin
-      delete: Jê bibe
-      dns:
-        types:
-          mx: Tomarkerê MX
-      domain: Navper
-      new:
-        create: Navper tevlî bike
-        resolve: Navparê çareser bike
-        title: Navparê e-nameyê nû asteng bike
-      no_email_domain_block_selected: Tu astengên navparê e-nameyê nehatin guhertin ji ber ku tu yek nehatine hilbijartin
-      resolved_dns_records_hint_html: Navê navparê ji MX ên jêrîn re çareser dike, ên ku di dawiyê de berpirsiyarin ji pejirandina e-nameyê. Astengkirina navparek MX wê tomarkirina ji her navnîşana e-nameyê ya ku heman navpara MX bi kar tîne asteng bike, tevlî ku navê navparê xuya cûda be. <strong>Hişyar be ku peydekarên sereke yên e-nameyê asteng nekî.</strong>
-      resolved_through_html: Bi riya %{domain} ve hate çareserkirin
-      title: Navparên e-nameyê astengkirî
-    follow_recommendations:
-      description_html: "<strong>Şopandina pêşniyaran ji bo bikarhênerên nû re dibe alîkar ku zû naveroka balkêş bibînin</strong>. Gava ku bikarhênerek têra xwe bi kesên din re têkildar nebê da ku pêşnîyarên şopandina yên kesane bo xwe çêbike, li şûna van ajimêran têne pêşniyarkirin. Ew her roj ji tevliheviya ajimêrên bi tevlêbûnên herî dawîn ên herî bilind û jimara şopdarên herêmî yên herî pir ji bo zimaneke diyarkirî ji nû ve têne pêşniyarkirin."
-      language: Bo zimanê
-      status: Rewş
-      suppress: Bi bandorek mezin pêşniyara şopandinê bike
-      suppressed: Bandoreke mezin dibe
-      title: Pêşniyarên şopandinê
-      unsuppress: Pêşniyara şopandinê paşve vegerîne
-    instances:
-      back_to_all: Hemû
-      back_to_limited: Sînorkirî
-      back_to_warning: Hişyarî
-      by_domain: Navper
-      confirm_purge: Ma tu dixwazî ku bi awayekî domdar daneyan ji vê navparê jê bibî?
-      delivery:
-        all: Hemû
-        clear: Çewtiyên gihandinê paqij bike
-        restart: Gihandinê nû va bike
-        stop: Gehandinê rawestîne
-        title: Gihiştin
-        unavailable: Nederbasdar
-        unavailable_message: Gihandin berdest nîne
-        warning: Hişyarî
-        warning_message:
-          one: Sernekeftina radestkirinê %{count} roj
-          other: Sernekeftina radestkirinê %{count} roj
-      delivery_available: Gihandin berdest e
-      delivery_error_days: Rojên çewtiyên gehandinê
-      delivery_error_hint: Ger gehandin %{count} rojan ne pêkan be ewê wek bixweber wê nayê gehandin were nîşandan.
-      destroyed_msg: Daneyên %{domain} niha ji bo jêbirina nêzîk di rêzê de ne.
-      empty: Tu navper nehatine dîtin.
-      known_accounts:
-        one: "%{count} ajimêra naskirî"
-        other: "%{count} ajimêrên naskirî"
-        zero: Ajimêra naskirî tune ye
-      moderation:
-        all: Hemû
-        limited: Sînorkirî
-        title: Çavdêrî
-      private_comment: Şîroveya taybet
-      public_comment: Şîroveya ji hemû kesî re vekirî
-      purge: Pak bike
-      title: Giştî
-      total_blocked_by_us: Ji aliyê me ve hatiye astengkirin
-      total_followed_by_them: Ji aliyê wan ve hatiye şopandin
-      total_followed_by_us: Ji aliyê ve me hate şopandin
-      total_reported: Giliyên derheqê wan de
-      total_storage: Pêvekên medyayê
-    invites:
-      deactivate_all: Hemûyan neçalak bike
-      filter:
-        all: Hemû
-        available: Heye
-        expired: Dema wê qediya
-        title: Parzûn
-      title: Vexwendin
-    ip_blocks:
-      add_new: Rêbaz çê bike
-      created_msg: Rêzika nû a IPyê bi awayekî serkeftî hat tevlêkirin
-      delete: Jê bibe
-      expires_in:
-        '1209600': 2 hefte
-        '15778476': 6 meh
-        '2629746': 1 meh
-        '31556952': 1 sal
-        '86400': 1 roj
-        '94670856': 3 sal
-      new:
-        title: Rêzika nû a IPyê çêbike
-      no_ip_block_selected: Ji ber ku tu ajimêr nehat hilbijartin tu rêzika IPyê nehate guhertin
-      title: Rêbazên IP
-    relationships:
-      title: Têkiliyên %{acct}
-    relays:
-      add_new: Guhêrkerê nû tevlê bike
-      delete: Jê bibe
-      description_html: "<strong>Guhêrkerê giştî</strong> rajekareke navberkar e ku hejmareke mezin ji şandiyan di navbera rajekaran ku jê re dibin endam û weşanê dikin diguherîne. <strong> Ew dikare ji rajekarên piçûk û navîn re bibe alîkar ku naveroka ji fendiverse </strong>ê bibîne, ku bi rengeke din pêdivî dike ku bikarhênerên herêmî bi desta li dû kesên din ên li rajekarên ji dûr be bişopînin."
-      disable: Neçalak bike
-      disabled: Neçalakkirî
-      enable: Çalak bike
-      enable_hint: Gava were çalakkirin, rajekara te dê ji hemî şandiyên giştî yên vê guhêrkerê re bibe endam, û dê dest bi şandina şandiyên giştî yên vê rajekarê bike.
-      enabled: Çalakkirî
-      inbox_url: URLa guhêrker
-      pending: Li benda pêjirandina guhêrker e
-      save_and_enable: Tomar û çalak bike
-      setup: Girêdanekê guhêrker saz bike
-      signatures_not_enabled: Dema ku moda ewle ya jî moda rêzoka spî çalak be guhêrker wê birêkûpêk nexebite
-      status: Rewş
-      title: Guhêrker
-    report_notes:
-      created_msg: Nîşeyê ragihandinê bi awayekî serkeftî pêk hat!
-      destroyed_msg: Nîşeyê ragihandinê bi awayekî serkeftî hate jêbirin!
-      today_at: Îro di %{time} de
-    reports:
-      account:
-        notes:
-          one: "%{count} nîşe"
-          other: "%{count} nîşe"
-      action_log: Tomarê çavdêriyê
-      action_taken_by: Çalakî hate kirin ji aliyê
-      actions:
-        delete_description_html: Şandiyên hatine ragihandin wê werin jêbirin û were tomarkirin da ku ji te re bibe alîkar ku tu ji hêla heman ajimêrê ve binpêkirinên pêşerojê bêtir bikî.
-        other_description_html: Bêtir vebijêrkên ji bo kontrolkirina tevgera ajimêrê bibîne û pêwendiyê li ser ajimêra ragihandî kesane bike.
-        resolve_description_html: Li hemberî ajimêra hatiye ragihandin wê tiştek pêk neyê, binpêkirin nayên tomarkirin û ragihandin wê were girtin.
-        silence_description_html: Wê profîl tenê ji kesên ku berê te dişopînin an ji bi destan lê serî lê didin re xuya bibe, gihandina wê bi tundî sînordar dike. Her gav dikare were vegerandin.
-        suspend_description_html: Heya ku di dawiyê de neyê jêbirin, wê profîl û hemû naverokên wê ne gihiştbar bin. Têkiliya bi ajimêrê re wê ne guncav be. Di nav 30 rojan de veger ji jêbirinê pêkan e.
-      actions_description_html: Ji bo çareserkirina vê ragihandinê biryar bide ka tê kîjan gav bavêjî. Ku tu li dijî ajimêrê ragihandî çalakiyeke cezakirinê bikî, ji bilî dema ku kategoriya <strong>Spam</strong> were hilbijartin, wê agahdariyek e-nameyê ji wan re were şandin.
-      add_to_report: Bo ragihandinê bêtir tevlî bike
-      are_you_sure: Gelo tu bawerî?
-      assign_to_self: Bo min diyar bike
-      assigned: Çavdêrê diyarkirî
-      by_target_domain: Navperê ya ajimêrê ragihandî
-      category: Beş
-      category_description_html: Sedema ku ev ajimêr û/an jî naverok hate ragihandin wê di pêwendiya bi ajimêrê ragihandinê de werê diyarkirin
-      comment:
-        none: Ne yek
-      comment_description_html: 'Bo bêtir zanyarî bidî, %{name} nivîsand:'
-      created_at: Hate ragihandin
-      delete_and_resolve: Şandiyan jê bibe
-      forwarded: Beralîkirî
-      forwarded_to: Beralîkirî bo %{domain}
-      mark_as_resolved: Wekî çareserkirî nîşan bide
-      mark_as_unresolved: Wekî neçareserkirî nîşan bide
-      no_one_assigned: Ne yek
-      notes:
-        create: Nîşe tevlî bike
-        create_and_resolve: Bi nîşe re çareser bike
-        create_and_unresolve: Bi nîşe re dîsa veke
-        delete: Jê bibe
-        placeholder: Bide nasîn ka çi çalakî hatine kirin, an jî heman rojanekirinên din ên têkildar...
-        title: Nîşe
-      notes_description_html: Nîşeyan ji çavdêrên din û ji xwe re di pêşerojê de bibîne û bihêle
-      quick_actions_description_html: 'Ji bo dîtina naveroka ragihandî çalakiyeke bilez bavêje an jî li jêr bigere:'
-      remote_user_placeholder: bikarhênerê ji dûr ve ji %{instance}
-      reopen: Ragihandina ji nû ve veke
-      report: "@%{id} Ragihîne"
-      reported_account: Ajimêra ragihandî
-      reported_by: Ragihandî ji aliyê
-      resolved: Çareserkirî
-      resolved_msg: Ragihandin bi awayekî serkeftî hate çareserkirin!
-      skip_to_actions: Derbasî çalakiyan bibe
-      status: Rewş
-      statuses: Naveroka ragihandî
-      statuses_description_html: Naveroka sûcdar wê di danûstendina bi xwediyê ajimêra ragihandî re wê werê diyarkirin
-      target_origin: Jêdera ajimêrê ragihandî
-      title: Ragihandinên
-      unassign: Diyar neke
-      unresolved: Neçareserkirî
-      updated_at: Rojanekirî
-      view_profile: Profîlê nîşan bide
-    rules:
-      add_new: Rêbazekê tevlî bike
-      delete: Jê bibe
-      description_html: Dema ku piranîya dibêjin ku wan merçên karanînê xwendine û dipejirînin jî, bi gelemperî mirov heta ku pirsgirêkek dernekeve holê naxwîne. <strong> Bi peydakirina wan di navnîşek xala guleya rast de hêsantir bike ku tu rêbazên rajekera xwe li ser çavekî bibîne.</strong> Hewl bide ku rêbazênn yekkesî kurt û hêsan bihêlî, lê hewl bide ku wan tênexî gelek hêmanên cuda jî.
-      edit: Rêbazê serrast bike
-      empty: Tu rêbazên rajekar hê nehatine dîyarkirin.
-      title: Rêbazên rajekar
-    settings:
-      activity_api_enabled:
-        desc_html: Hejmara şandiyên weşandî yên herêmî, bikarhênerên çalak, û tomarkirin ên nû heftane
-        title: Tevahî amarên  ên di derbarê çalakiya bikarhêneran de biweşîne
-      bootstrap_timeline_accounts:
-        desc_html: Navên bikarhênerên pir bi xalîçê veqetîne. Dê van ajimêran di pêşnîyarên jêrîn de werin xuyakirin
-        title: Van ajimêran ji bikarhênerên nû re pêşniyar bike
-      contact_information:
-        email: E-nameya karsazî
-        username: Bi bikarhêner re têkeve têkiliyê
-      custom_css:
-        desc_html: Bi CSS a ku li her rûpelê hatiye barkirin, awayê dîmenê biguherîne
-        title: CSS a kesanekirî
-      default_noindex:
-        desc_html: Hemû bikarhênerên ku ev sazkarî bi xwe neguhertiye bandor dike
-        title: Pêlrêçkirna bikarhêneran ji motorê lêgerînê dûr bixe
-      domain_blocks:
-        all: Bo herkesî
-        disabled: Bo tu kesî
-        title: Astengkirinên navperê nîşan bide
-        users: Ji bo bikarhênerên herêmî yên xwe tomar kirine
-      domain_blocks_rationale:
-        title: Sedemê nîşan bike
-      hero:
-        desc_html: Li ser rûpela pêşîn tê xuyakirin. Bi kêmanî 600x100px tê pêşniyarkirin. Dema ku neyê sazkirin, vedigere ser dîmena wêneya piçûk a rajekar
-        title: Wêneya lehengê
-      mascot:
-        desc_html: Li ser rûpela pêşîn tê xuyakirin. Bi kêmanî 293×205px tê pêşniyarkirin. Dema ku neyê sazkirin, vedigere ser dîmena wêneya piçûk a maskot ya heyî
-        title: Wêneya maskot
-      peers_api_enabled:
-        desc_html: Navê navperên ku ev rajekar di fendiverse de rastî wan hatiye
-        title: Rêzoka rajekarên hatiye dîtin di API-yê de biweşîne
-      preview_sensitive_media:
-        desc_html: Pêşdîtinên girêdanê yên li ser malperên din tevlî ku medya wekî hestyar hatiye nîşandan wê wekî wêneyekî piçûk nîşan bide
-        title: Medyayê hestyar nîşan bide di pêşdîtinên OpenGraph de
-      profile_directory:
-        desc_html: Mafê bide bikarhêneran ku bêne vedîtin
-        title: Pelrêçên profilê çalak bike
-      registrations:
-        closed_message:
-          desc_html: Gava ku tomarkirin têne girtin li ser rûpelê pêşîn têne xuyang kirin. Tu dikarî nîşanên HTML-ê bi kar bîne
-          title: Tomarkirinê girtî ya peyaman
-        deletion:
-          desc_html: Maf bide ku herkes bikaribe ajimêrê te jê bibe
-          title: Jê birina ajimêrê vekek
-        min_invite_role:
-          disabled: Ne yek
-          title: Maf bide vexwendinên ji alîyê
-        require_invite_text:
-          desc_html: Gava ku tomarkirin pêdiviya pejirandina destan dike, Têketina nivîsê "Tu çima dixwazî beşdar bibî?" Bibe sereke ji devla vebijêrkî be
-          title: Ji bo bikarhênerên nû divê ku sedemek tevlêbûnê binivîsinin
-      registrations_mode:
-        modes:
-          approved: Ji bo têketinê erêkirin pêwîste
-          none: Kesek nikare tomar bibe
-          open: Herkes dikare tomar bibe
-        title: Awayê tomarkirinê
-      show_known_fediverse_at_about_page:
-        desc_html: Dema ku neçalak be, demnameya gerdûnî ya ku ji rûpela zeviyê ve hatî girêdan tenê bi nîşandana naveroka herêmî tên sînorkirin
-        title: Li ser rûpela demnameya ne naskirî naveroka giştî nîşan bide
-      show_staff_badge:
-        desc_html: Di rûpela bikarhêner da rozeta xebatkaran nîşan bike
-        title: Rozeta xebatkara nîşan bike
-      site_description:
-        desc_html: Paragrafa destpêkê li ser API. Dide nasîn ka çi ev rajekarê Mastodon taybet dike û tiştên din ên girîn. Tu dikarî hashtagên HTML-ê, bi kar bîne di <code>&lt;a&gt;</code> û <code>&lt;em&gt;</code> de.
-        title: Danasîna rajekar
-      site_description_extended:
-        desc_html: Ji bo kodê perwerdetî, rêzik, rêbername û tiştên din ên ku rajekara te ji hev cihê dike cîhekî baş e. Tu dikarî hashtagên HTML-ê bi kar bîne
-        title: Zanyarên berfirehkirî ya rajekar
-      site_short_description:
-        desc_html: Ew di alavdanka kêlekê û tagên meta de tên xuyakirin. Di yek paragrafê de rave bike ka Mastodon çi ye û ya ku ev rajekar taybetî dike.
-        title: Danasîna rajekarê kurt
-      site_terms:
-        desc_html: Tu dikarî polîtika nihêniyê xwe, mercên karûbar an nameyên din binvisîne. Tu dikarî nîşanên HTML-ê bi kar bîne
-        title: Mercên bikaranîn a kesanekirî
-      site_title: Navê rajekar
-      thumbnail:
-        desc_html: Ji bo pêşdîtinên bi riya OpenGraph û API-yê têne bikaranîn. 1200x630px tê pêşniyar kirin
-        title: Wêneya piçûk a rajekar
-      timeline_preview:
-        desc_html: Girêdana demnameya gelemperî li ser rûpela daxistinê nîşan bide û mafê bide ku API bêyî rastandinê bigihîje damnameya gelemperî
-        title: Mafê bide gihîştina ne naskirî bo demnameya gelemperî
-      title: Sazkariyên malperê
-      trendable_by_default:
-        desc_html: Hashtagên ku berê hatibûn qedexekirin bandor dike
-        title: Bihêle ku hashtag bêyî nirxandinek pêşîn bibe rojev
-      trends:
-        desc_html: Hashtagên ku berê hatibûn nirxandin ên ku niha rojev in bi gelemperî bide xuyakirin
-        title: Hashtagên rojevê
-    site_uploads:
-      delete: Pela barkirî jê bibe
-      destroyed_msg: Barkirina malperê bi serkeftî hate jêbirin!
-    statuses:
-      back_to_account: Vegere bo rûpela ajimêr
-      back_to_report: Vegere rûpela ragihandinê
-      batch:
-        remove_from_report: Ji ragihandinê rake
-        report: Ragihîne
-      deleted: Hate jêbirin
-      media:
-        title: Medya
-      no_status_selected: Tu şandî nehat hilbijartin ji ber vê tu şandî jî nehat guhertin
-      title: Şandiyên ajimêr
-      with_media: Bi medya yê re
-    strikes:
-      actions:
-        delete_statuses: "%{name} şandiyên %{target} jêbirin"
-        disable: "%{name} ajimêr %{target} cemidand"
-        none: "%{name} ji bo %{target} hişyariyek şand"
-        sensitive: "%{name} ajimêrê %{target} wekî hestiyarî nîşan kir"
-        silence: "%{name} ajimêra %{target} bi sînor kir"
-        suspend: "%{name} ajimêra %{target} hilda rawestandinê"
-      appeal_approved: Îtîraz
-      appeal_pending: Îtîraz li benda nirxandinê ye
-    system_checks:
-      database_schema_check:
-        message_html: Koçberiyên databasê yên li bendê hene. Ji kerema xwe wan bişopîne da ku bicîh bikî ku sepan wekî ku tê hêvî kirin tevbigere
-      rules_check:
-        action: Rêzikên rajekara bi rê ve bibe
-        message_html: Te qet rêzikên rajekara diyar nekiriye.
-      sidekiq_process_check:
-        message_html: Pêvajoyên Sidekiq ên heyî ji bo %{value} di rêz (an) de tune ne. Ji kerema xwe sazkariyên Sidekiq a xwe binirxîne
-    tags:
-      review: Binêre rewşê
-      updated_msg: Sazkariyên hashtag bi awayekî serkeftî hate rojanekirin
-    title: Rêvebirî
-    trends:
-      allow: Bihêle
-      approved: Pejirandî
-      disallow: Nehêle
-      links:
-        allow: Mafê bide girêdanê
-        allow_provider: Mafê bide weşanger
-        disallow: Mafê nede girêdanê
-        disallow_provider: Mafê nede weşanger
-        shared_by_over_week:
-          one: Di nava hefteya dawî de ji aliyê keskekî ve hate parvekirin
-          other: Di nava hefteya dawî de ji aliyê %{count} kes ve hate parvekirin
-          zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate parvekirin
-        title: Girêdanên di rojevê de
-        usage_comparison: Îro %{today} car hate parvekirin, li gorî %{yesterday} duh
-      pending_review: Li benda nirxandinê ye
-      preview_card_providers:
-        allowed: Girêdanên ji vê weşangerê dikarin bibin rojev
-        rejected: Girêdanên ji vê weşangerê nikarin bibin rojev
-        title: Weşanger
-      rejected: Nepejirand
-      statuses:
-        allow: Mafê bide şandiyê
-        allow_account: Mafê bide nivîskar
-        disallow: Mafê nede şandiyê
-        disallow_account: Mafê nede nivîskar
-        shared_by:
-          one: Yek carî parvekirî an bijartî
-          other: "%{friendly_count} carên parvekirî û bijartî"
-        title: Şandiyên rojevê
-      tags:
-        current_score: Encama niha %{score}
-        dashboard:
-          tag_accounts_measure: bikaranînên bêhempa
-          tag_languages_dimension: Zimanên pir tên bikaranîn
-          tag_servers_dimension: Rajekarên pir tên bikaranîn
-          tag_servers_measure: rajekarên cuda
-          tag_uses_measure: bikaranîna giştî
-        listable: Dikare were pêşniyarkirin
-        not_listable: Nikare wer pêşniyarkirin
-        not_trendable: Wê di bin rojevan de xuya neke
-        not_usable: Nikare were bikaranîn
-        peaked_on_and_decaying: Di %{date} de derketiye asta herî bilind, û niha winda dibe
-        title: Hashtagên rojevê
-        trendable: Dikare di bin rojevan de xuya bibe
-        trending_rank: 'Rojev #%{rank}'
-        usable: Dikare were bikaranîn
-        usage_comparison: "%{today} car îro hate bikaranîn, li gorî %{yesterday} duh"
-        used_by_over_week:
-          one: Di nava hefteya dawî de ji aliyê kesekî ve hatiye bikaranîn
-          other: Di nava hefteya dawî de ji %{count} kes ve hatiye bikaranîn
-          zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate bikaranîn
-      title: Rojev
-    warning_presets:
-      add_new: Yeka nû tevlî bike
-      delete: Jê bibe
-      edit_preset: Hişyariyên pêşsazkirî serrast bike
-      empty: Te hin tu hişyariyên pêşsazkirî destnîşan nekirine.
-      title: Hişyariyên pêşsazkirî bi rêve bibe
-  admin_mailer:
-    new_appeal:
-      actions:
-        delete_statuses: ku şandiyên wan jê bibî
-        disable: ku ajimêrê wan bicemidînî
-        none: hişyariyek
-        sensitive: ku ajimêrê wan wekî hestyar nîşan bikî
-        silence: ku ajimêrê wan sînordar bikî
-        suspend: ku ajimêrê wan bidî rawestandin
-      body: "%{target} îtiraza biryareke çavdêriyê dike bi riya %{action_taken_by} ji %{date}, ku %{type} bû. Wan nivîsand:"
-      next_steps: Tu dikarî îtirazê bipejirînî ku biryara çavdêriyê têk bibî, an jî paşguh bikî.
-      subject: "%{username} li ser %{instance} îtiraz li biryareke çavdêriyê dike"
-    new_pending_account:
-      body: Zanyariyênn ajimêra nû li jêr in. Tu dikarî vê serîlêdanê bipejirîne an pûç bike.
-      subject: "(%{username}) ajimêrê nû ji bo vekolandina li ser %{instance}"
-    new_report:
-      body: "%{reporter} ji %{target} ê ragihand"
-      body_remote: Kesekî bi navê %{domain} ji %{target} ê ragihand
-      subject: Ragihandinek nû ji bo %{instance} (#%{id})
-    new_trends:
-      body: 'Tiştên jêrîn berî ku ew bi gelemperî werin xuyakirin divê werin nirxandin:'
-      new_trending_links:
-        no_approved_links: Niha tu girêdanên rojeva pejirandî tune ne.
-        requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} girêdana diyarkirî ya pejirandî derbas bibe, niha ku "%{lowest_link_title}" bi %{lowest_link_score} puan e.'
-        title: Girêdanên rojevê
-      new_trending_statuses:
-        no_approved_statuses: Niha tu şandiyên rojeva pejirandî tune ne.
-        requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} şandiyaa diyarkirî ya pejirandî derbas bibe, niha ku %{lowest_status_url} bi %{lowest_status_score} puan e.'
-        title: Şandiyên rojevê
-      new_trending_tags:
-        no_approved_tags: Niha hashtagên rojevê pejirandî tune ne.
-        requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} hashtagaa diyarkirî ya pejirandî derbas bibe, niha ku #%{lowest_tag_name} bi %{lowest_tag_score} puan e.'
-        title: Hashtagên rojevê
-      subject: Rojevên nû ji bo nirxandinê li ser %{instance} derdikevin
-  aliases:
-    add_new: Naveke sexte çê bike
-    created_msg: Bi serkeftî nûçikê nû hat çêkirin. Tu niha dikarî di ajimêrê xwe kevn bar bikî.
-    deleted_msg: Nûçik bi serkeftî hat rakirin. Êdî nepêkan e vê ajimêrê de barkirina ajimêrek din.
-    empty: Nûçikên te tune ne.
-    hint_html: Heke tu dixwazî ji ajimêreke din bar bike bo yekî din, li vir tu dikarî bernavekê biafirîne, ku pêdivî ye berî ku tu bi şopandina şopînerên xwe ji ajimêra kevn ber bi vê yekê biçe. Ev çalakî bi serê xwe <strong>bê ziyan û vegere</strong>.<strong>Koçberiya ajimêr ji ajimêreke kevin dest pê dike</strong>.
-    remove: Girêdana nûçikê rake
-  appearance:
-    advanced_web_interface: Navrûya tevnê yê pêşketî
-    advanced_web_interface_hint: 'Heke tu bixwazin tevahiya ferehiya dîmendera xwe bi kar bînî, navrûya pêşketî ya tevnê dihêle ku tu gelek stûnên cihêreng saz bikî da ku di heman demê de bi qasî ku tu dixwazî zanyariyan bibînî: Serrûpel, agahdarî, demnameya giştî, her hejmarek ji rêzik û hashtagan.'
-    animations_and_accessibility: Anîmasyon û gihînî
-    confirmation_dialogs: Gotûbêjên piştrastkirî
-    discovery: Vedîtin
-    localization:
-      body: Mastodon ji aliyê xêrxwazan tê wergerandin.
-      guide_link: https://crowdin.com/project/mastodon
-      guide_link_text: Herkes dikare beşdar bibe.
-    sensitive_content: Naveroka hestiyarî
-    toot_layout: Xêzkirina şandîya
-  application_mailer:
-    notification_preferences: Hevyazên e-name yê biguherîne
-    salutation: "%{name},"
-    settings: 'Hevyazên e-name yê biguherîne: %{link}'
-    view: 'Nîşan bide:'
-    view_profile: Profîlê nîşan bide
-    view_status: Şandiyê nîşan bide
-  applications:
-    created: Sepan bi awayekî serkeftî hat çêkirin
-    destroyed: Sepan bi awayekî serkeftî hat jêbirin
-    invalid_url: URL ya hatiye dayîn ne derbasdar e
-    regenerate_token: Nîşandera gihandinê bi nûve çêbike
-    token_regenerated: Nîşandera gihandinê bi serkeftî nû ve hat çêkirin
-    warning: Bi van daneyan re pir baldar be. Tu caran bi kesî re parve neke!
-    your_token: Nîşana gihîştina te
-  auth:
-    apply_for_account: Daxwaza vexwendinekê bike
-    change_password: Pêborîn
-    checkbox_agreement_html: Ez <a href="%{rules_path}" target="_blank">rêbazên rajeker</a> û <a href="%{terms_path}" target="_blank">hêmanên karûbaran</a> dipejirînim
-    checkbox_agreement_without_rules_html: Ez <a href="%{terms_path}" target="_blank">hêmanên karûbaran</a> rêbazên rajeker dipejirînim
-    delete_account: Ajimêr jê bibe
-    delete_account_html: Heke tu dixwazî ajimêra xwe jê bibe, tu dikarî <a href="%{path}">li vir bidomîne</a>. Ji te tê xwestin ku were pejirandin.
-    description:
-      prefix_invited_by_user: "@%{name} te vedixwîne ku tu beşdarî vê rajekara Mastodon-ê bibî!"
-      prefix_sign_up: Îro li Mastodonê tomar bibe!
-      suffix: Bi ajimêrekê, tu yê karibî kesan bişopînî, rojanekirinan bişînî û bi bikarhênerên ji her rajekarê Mastodon re peyaman bişînî û bêhtir!
-    didnt_get_confirmation: Te rêwerzên pejirandinê wernegirt?
-    dont_have_your_security_key: Kilîda te ya ewlehiyê tune ye?
-    forgot_password: Te pêborîna xwe jibîrkir?
-    invalid_reset_password_token: Ji nû ve sazkirina pêborînê nederbasdar e an jî qediya ye. Jkx daxwaza yeka nû bike.
-    link_to_otp: Ji têlefona xwe an jî ji kodeke rizgarkirinê kodeke du-gavî binivîsine
-    link_to_webauth: Amûra kilîta ewlehiya xwe bi kar bîne
-    log_in_with: Têkeve bi riya
-    login: Têkeve
-    logout: Derkeve
-    migrate_account: Derbasî ajimêreke din bibe
-    migrate_account_html: Heke tu dixwazî ev ajimêr li ajimêreke cuda beralî bikî, tu dikarî <a href="%{path}">ji vir de saz bike</a>.
-    or_log_in_with: An têketinê bike bi riya
-    providers:
-      cas: CAS
-      saml: SAML
-    register: Tomar bibe
-    registration_closed: "%{instance} endamên nû napejirîne"
-    resend_confirmation: Rêwerên pejirandinê ji nû ve bişîne
-    reset_password: Pêborînê ji nû ve saz bike
-    security: Ewlehî
-    set_new_password: Pêborîneke nû ji nû ve saz bike
-    setup:
-      email_below_hint_html: Heke navnîşana e-nameya jêrîn ne rast be, tu dikarî wê li vir biguherîne û e-nameyeke pejirandinê ya nû bistîne.
-      email_settings_hint_html: E-nameya pejirandinê ji %{email} re hate şandin. Heke ew navnîşana e-nameyê ne rast be, tu dikarî wê di sazkariyên ajimêr de biguherîne.
-      title: Damezirandin
-    status:
-      account_status: Rewşa ajimêr
-      confirming: Li benda pejirandina e-nameyê ne da ku biqede.
-      pending: Daxwaza te li benda vekolînê ji hêla xebatkarên me ye. Ev dibe ku hinek dem bigire. Heke daxwaza te were pejirandin tu yê e-nameyekê bistîne.
-      redirecting_to: Ajimêra te neçalak e ji ber ku niha ber bi %{acct} ve tê beralîkirin.
-    too_fast: Form pir zû hat şandin, dîsa biceribîne.
-    trouble_logging_in: Têketina te de pirsgirêk çêdibe?
-    use_security_key: Kilîteke ewlehiyê bikar bîne
-  authorize_follow:
-    already_following: Jixwe tu vê ajimêrê dişopînî
-    already_requested: Jixwe te ji vê ajimêrê re daxwazîya şopandinê şandi bû
-    error: Mixabin, dema ajimêr hat gerandin çewtiyek çêbû
-    follow: Bişopîne
-    follow_request: 'Te ji vê kesê re daxwazîya şopandinê şand:'
-    following: 'Serkeftin! Tu êdî dikarî bişopînî:'
-    post_follow:
-      close: An jî, tu dikarî tenê ev çarçoveyê bigirî.
-      return: Profîla vê bikarhênerê nîşan bike
-      web: Biçe tevneyê
-    title: Bişopîne %{acct}
-  challenge:
-    confirm: Bidomîne
-    hint_html: "<strong>Nîşe:</strong>Ji bo demjimêreke din em ê pêborîna te careke din ji te nexwazin."
-    invalid_password: Pêborîna nederbasdar
-    prompt: Ji bo bidomî lêborînê bipejirîne
-  crypto:
-    errors:
-      invalid_key: ed25519 ne derbasdare ne jî Curve25519 kilîta
-      invalid_signature: Ed25519 ne îmzeyek derbasdar e
-  date:
-    formats:
-      default: "%b%d%Y"
-      with_month_name: "%B %d, %Y"
-  datetime:
-    distance_in_words:
-      about_x_hours: "%{count}d"
-      about_x_months: "%{count}meh"
-      about_x_years: "%{count}sal"
-      almost_x_years: "%{count}sal"
-      half_a_minute: Hema niha
-      less_than_x_minutes: "%{count}xulek"
-      less_than_x_seconds: Hema niha
-      over_x_years: "%{count}sal"
-      x_days: "%{count}roj"
-      x_minutes: "%{count}xulek"
-      x_months: "%{count}meh"
-      x_seconds: "%{count}çirke"
-  deletes:
-    challenge_not_passed: Zanyariyên ku te nivîsandî ne rast in
-    confirm_password: Pêborîna xwe ya heyî binivîsine da ku nasnameya xwe piştrast bikî
-    confirm_username: Navê bikarhêneriyê xwe binivîse da ku prosedurê piştrast bike
-    proceed: Ajimêr jê bibe
-    success_msg: Ajimêra te bi serkeftî hate jêbirin
-    warning:
-      before: 'Berî ku tu pêşve biçî, jkx nvan nîşeyan bi baldarî bixwîne:'
-      caches: Naveroka ku ji hêla rajekarên din ve hatiye pêşbîrkirin dibe ku bimîne
-      data_removal: Şandiyên te û daneyên din wê bi awayekî dawî bêne rakirin
-      email_change_html: Tu dikarî navnîşana <a href="%{path}"> e-nameya xwe biguherînî </a> bêyî ku tu ajimêra xwe jê bibî
-      email_contact_html: Heke ew hîn jî negihîştiye, tu dikarî ji bo alîkariyê <a href="mailto:%{email}">%{email}</a> e-nameyê bişînî
-      email_reconfirmation_html: Heke te e-nameya pejirandinê nesitand, tu dikarî <a href="%{path}">dîsa daxwaz bike</a>
-      irreversible: Tu yê nikaribe ajimêra xwe serrast bike an ji nû ve çalak bike
-      more_details_html: Bo bêhtir zanyarî, <a href="%{terms_path}">polîtika nihêniyê</a> binêre.
-      username_available: Navê bikarhêneriyê te wê dîsa peyda bibe
-      username_unavailable: Navê bikarhêneriyê ye wê tuneyî bimîne
-  directories:
-    directory: Rêgeha profîlê
-    explanation: Bikarhêneran li gorî berjewendiyên wan bibîne
-    explore_mastodon: Vekole %{title}
-  disputes:
-    strikes:
-      action_taken: Çalakî hatin kirin
-      appeal: Îtîraz
-      appeal_approved: Ev binpêkirin bi serkeftî hate îtîraz kirin û êdî ne derbasdar e
-      appeal_rejected: Îtîraz nehate pejirandin
-      appeal_submitted_at: Îtîraz hate şandin
-      appealed_msg: Îtîraza te hatiye şandin. Ku were pejirandin, tu yê werî agahdarkirin.
-      appeals:
-        submit: Îtîrazê bişîne
-      associated_report: Ragihandina têkildar
-      created_at: Dîrok
-      recipient: Ji kê re
-      status: 'Şandî #%{id}'
-      status_removed: Şandî jixwe ji pergalê hatî rakirin
-      title: "%{action} ji %{date}"
-      title_actions:
-        delete_statuses: Jêbirina şandiyê
-        disable: Cemdandina ajimêrê
-        none: Hişyarî
-        sensitive: Nîşankirina ajimêr wekî hestyar
-        silence: Sînorkirina ajimêrê
-        suspend: Rawestandina ajimêrê
-      your_appeal_approved: Îtîraza te hate pejirandin
-      your_appeal_pending: Te îtîrazek şand
-      your_appeal_rejected: Îtîraza te nehate pejirandin
-  domain_validator:
-    invalid_domain: ne naveke navper a derbasdar e
-  errors:
-    '400': Daxwaza ku te şand nederbasdar an çewt bû.
-    '403': Ji bo dîtina vê rûpelê mafê te nîn e.
-    '404': Rûpela ku tu lê digerî ne li vir e.
-    '406': Ev rûpel di awayê ku tê xwestin de peyda nabe.
-    '410': Ew rûpela ku tu lê digeriya êdî li vir nîne.
-    '422':
-      content: Rastekirina ewlehiyê têk çû. Ma tu kiloran asteng dikî?
-      title: Rastekirina ewlehiyê têk çû
-    '429': Gelek daxwazî
-    '500':
-      content: Em xemgîn in, lê tiştek di aliyê me de şaş çû.
-      title: Ev rûpel ne rast e
-    '503': Ji ber têkçûna rajekar a demkî rûpel nayê bikaranîn.
-    noscript_html: Ji bo ku tu sepanaa Mastodon a tevnê bi kar bîne, jkx JavaScript-ê çalak bike. Wekî din, yek ji <a href="%{apps_path}">sepanên xwemalî</a> ji bo Mastodon ji bo platforma xwe biceribîne.
-  existing_username_validator:
-    not_found: nikaribû bikarhênerek herêmî bi wê navê bikarhêner bibîne
-    not_found_multiple: "%{usernames} nehat dîtin"
-  exports:
-    archive_takeout:
-      date: Dîrok
-      download: Arşîva xwe daxîne
-      hint_html: Tu dikarî arşîvek ji <strong> weşanên xwe û medyayên barkirî </strong> re bixwaze. Daneyên derxistî dê di forma ActivityPub de bin, ku ji hêla nermalava ku vê formê ve têne xwendin. Tu dikarî her 7 rojan arşîvekê bixwaze.
-      in_progress: Arşîve te tê berhev kirin...
-      request: Daxwaza arşîva ajimêra xwe bike
-      size: Mezinahî
-    blocks: Yên te astengkirî
-    bookmarks: Şûnpel
-    csv: CSV
-    domain_blocks: Navperên astengkirî
-    lists: Rêzok
-    mutes: Te bêdeng kir
-    storage: Bîrdanaka medyayê
-  featured_tags:
-    add_new: Yeka nû tevlî bike
-    errors:
-      limit: Te jixwe berê pirtirîn hashtag destnîşan kiriye
-    hint_html: "<strong> Hashtagên destnîşankirî çi ne? </strong> Ew bi eşkere li ser profîla te ya gelemperî têne xuyakirin û dihêlin ku mirov bi taybetî di binê wan hashtagan de li şandiyên te yên gelemperî bigere. Ew ji bo şopandina karên afirîner an projeyên demdirêj amûrek girîng in."
-  filters:
-    contexts:
-      account: Profîl
-      home: Serrûpel û rêzok
-      notifications: Agahdarî
-      public: Demnameya gelemperî
-      thread: Axaftin
-    edit:
-      title: Parzûnê serrast bike
-    errors:
-      invalid_context: Naverok tune ye yan jî nederbasdar tê peydakirin
-      invalid_irreversible: Tenê qadên agahdarkirinê û serrûpel bi parzûna bêveger re dixebitin
-    index:
-      delete: Jê bibe
-      empty: Parzûnên te tune ne.
-      title: Parzûn
-    new:
-      title: Parzûnek nû li zêde bike
-  footer:
-    developers: Pêşdebir
-    more: Bêtir…
-    resources: Çavkanî
-    trending_now: Niha rojevê de
-  generic:
-    all: Hemû
-    changes_saved_msg: Guhertin bi serkeftî tomar bû!
-    copy: Jê bigire
-    delete: Jê bibe
-    none: Ne yek
-    order_by: Rêz bike bi
-    save_changes: Guhertinan tomar bike
-    today: îro
-    validation_errors:
-      one: Tiştek hîn ne rast e! Ji kerema xwe çewtiya li jêr di ber çavan re derbas bike
-      other: Tiştek hîn ne rast e! Ji kerema xwe %{count} çewtî li jêr di ber çavan re derbas bike
-  html_validator:
-    invalid_markup: 'di nav de nîşana HTML a nederbasdar heye: %{error}'
-  imports:
-    errors:
-      over_rows_processing_limit: ji %{count} zêdetir rêzok hene
-    modes:
-      merge: Bi hev re bike
-      merge_long: Tomarên heyî bigire û yên nû lê zêde bike
-      overwrite: Bi ser de binivsîne
-      overwrite_long: Tomarkirinên heyî bi yên nû re biguherîne
-    preface: Tu dikarî têxistin ê daneyên bike ku te ji rajekareke din derxistî ye wek rêzoka kesên ku tu dişopîne an jî asteng dike.
-    success: Daneyên te bi serkeftî hat barkirin û di dema xwe de were pêvajotin
-    types:
-      blocking: Rêzoka astengkirinê
-      bookmarks: Şûnpel
-      domain_blocking: Rêzoka navperên astengkirî
-      following: Rêzoka yên tên şopandin
-      muting: Rêzoka bêdengiyê
-    upload: Bar bike
-  in_memoriam_html: Di bîranînê de.
-  invites:
-    delete: Neçalak bike
-    expired: Dema wê qediya
-    expires_in:
-      '1800': 30 xulek
-      '21600': 6 demjimêr
-      '3600': 1 demjimêr
-      '43200': 12 demjimêr
-      '604800': 1 hefte
-      '86400': 1 roj
-    expires_in_prompt: Tu car
-    generate: Girêdana vexwendinê çê bike
-    invited_by: 'Tu hatî vexwendin ji hêla:'
-    max_uses:
-      one: 1 bikaranîn
-      other: "%{count} bikaranîn"
-    max_uses_prompt: Bê sînor
-    prompt: Girêdanan bi kesên din re çê bike û parve bike da ku bigihîjin vê rajekarê
-    table:
-      expires_at: Diqede
-      uses: Bikaranîn
-    title: Mirovan vexwîne
-  lists:
-    errors:
-      limit: Tu gihîştî hejmara rêzika a herî zêde
-  login_activities:
-    authentication_methods:
-      otp: sepandina rastandina du-gavî
-      password: pêborîn
-      sign_in_token: koda ewlehiyê bo e-nameyê
-      webauthn: kilîtên ewlehiyê
-    description_html: Heke çalakiya ku nas nakî dibînî, çêtir dibe ku pêborîna xwe biguherînî û rastandina du-gavî çalak bikî.
-    empty: Dîroka piştrastkirinê tune ye
-    failed_sign_in_html: Hewldana têketinê ser neket bi%{method} ji %{ip} (%{browser}) de
-    successful_sign_in_html: Bi serkeftî têketin bi %{method} ji %{ip}(%{browser}) çêbû
-    title: Dîroka piştrastkirinê
-  media_attachments:
-    validations:
-      images_and_video: Nikare vîdyoyekê tevlî şandiyê ku berê wêne tê de heye bike
-      not_ready: Nikare pelên ku pêvajo neqedandî ve girêbide. Di demekê de dîsa biceribîne!
-      too_many: Zedetirî 4 pelan nayê tevlêkirin
-  migrations:
-    acct: Hate lîvandin bo
-    cancel: Beralîkirinê red bike
-    cancel_explanation: Dev berdan ji beralîkirinê dê ajimêra te ya heyî ji nû ve çalak bike, lê şopgerên ku li wê ajimêrê hatine livandin venagerêne.
-    cancelled_msg: Beralîkirin bi serkeftî hate betal kirin.
-    errors:
-      already_moved: heman ajimêr e ku te berê lê bar kiriye ye
-      missing_also_known_as: ne nasnavê vê ajimêrê ye
-      move_to_self: nikare bibe ajimêra heyî
-      not_found: nehate dîtin
-      on_cooldown: Tu li ser sarbûnê yî
-    followers_count: Di dema tevgerê de şopîner
-    incoming_migrations: Derbasî ajimêreke din bibe
-    incoming_migrations_html: Ji bo ku tu ji ajimêrek din bar bikî vê yekê, pêşî divê tu <a href="%{path}">ajimêreke bi bernaveke çê bike </a>.
-    moved_msg: Ajimêrate niha li %{acct} tê rêve kirin (beralîkirin) û şopînerên te têne livandin bo wê.
-    not_redirecting: Ajimêra te niha bo ajimêreke din nayê beralîkirin.
-    on_cooldown: Te herî dawî dev ji ajimêra xwe berda. Ev fonksiyon dê di %{count} rojan de dîsa peyda bibe.
-    past_migrations: Koçên berê
-    proceed_with_move: Şopîneran bilivîne
-    redirected_msg: Ajimêra te niha bo %{acct} tê beralîkirin.
-    redirecting_to: Ajimêra te niha bo %{acct} tê beralîkirin.
-    set_redirect: Beralîkirin saz bike
-    warning:
-      backreference_required: Pêdivî ye ku ajimêra nû wekî referanseke paşîn a vê ajimêrê were sazkirin
-      before: 'Berî ku tu berdewam bikî, ji kerema xwe re van nîşaneyan bi baldarî bixwîne:'
-      cooldown: Piştî livandin demek heye ku di wê navberê de tu yê nikaribe dîsa bilive
-      disabled_account: Ajimêra te ya heyî dê paşê bi tevahî neyê bikaranîn. Lê belê, tu dikarî bigihîje derxistinê daneyan û hem jî ji nû ve çalakkirinê.
-      followers: Ev çalakî dê hemî şopînerên ji ajimêra heyî bar bike ajimêra nû
-      only_redirect_html: Wekî din, tu dikarî <a href="%{path}"> tenê beralîkirinekê li ser profîla xwe bicîh bike </a>.
-      other_data: Daneyên din dê bi xweberî neyên livandin
-      redirect: Profîla ajimêra te ya heyî dê bi nîşeyeke beralîkirinê were nûve kirin û ji lêgerînan were bi dûrxistin
-  moderation:
-    title: Çavdêrî
-  move_handler:
-    carry_blocks_over_text: Ev bikarhêner ji %{acct}, ku te astengkirî bû, bar kir.
-    carry_mutes_over_text: Ev bikarhêner ji %{acct}, ku te bê deng kirbû, bar kir.
-    copy_account_note_text: 'Ev bikarhêner ji %{acct} livî ye, li vir nîşeyên te yên berê ku te di derbarê wî/ê de nivîsandiye:'
-  notification_mailer:
-    admin:
-      sign_up:
-        subject: "%{name} tomar bû"
-    digest:
-      action: Hemû agahdariyan nîşan bide
-      body: Li vir kurteyeke peyamên ku li te derbasbûnd ji serdana te ya dawîn di %{since} de
-      mention: "%{name} behsa te kir:"
-      new_followers_summary:
-        one: Herwiha, dema tu dûr bûyî te şopînerek nû bi dest xist! Bijî!
-        other: Herwiha, dema tu dûr bûyî te %{count} şopînerek nû bi dest xist! Bijî!
-      subject:
-        one: "1 agahdarî ji serdana te ya herî dawî ji \U0001F418"
-        other: "%{count} agahdarî ji serdana te ya herî dawî ji \U0001F418"
-      title: Di tunebûna te de...
-    favourite:
-      body: 'Şandiya te hate bijartin ji alî %{name} ve:'
-      subject: "%{name} şandiya te hez kir"
-      title: Bijarteyek nû
-    follow:
-      body: "%{name} niha te dişopîne!"
-      subject: "%{name} niha te dişopîne"
-      title: Şopînereke nû
-    follow_request:
-      action: Daxwazên şopandinê bi rê ve bibe
-      body: "%{name} daxwaza şopandina te kir"
-      subject: Şopîner li bendê ye:%{name}
-      title: Daxwazeke şopandinê ya nû
-    mention:
-      action: Bersivê bide
-      body: 'Tu hatiyî qalkirin ji aliyê %{name}:'
-      subject: Tu hatiye qalkirin ji aliyê %{name}
-      title: Qalkirina nû
-    poll:
-      subject: Rapirsî ji hêla %{name} ve qediya
-    reblog:
-      body: 'Şandiye te hate bilindkirin ji hêla %{name} ve:'
-      subject: "%{name} şandiya te bilind kir"
-      title: Bilindkirinên nû
-    status:
-      subject: "%{name} niha şand"
-    update:
-      subject: "%{name} şandiyek guhert"
-  notifications:
-    email_events: Bûyer bo agahdariyên e-nameyê
-    email_events_hint: 'Bûyera ku tu dixwazî agahdariyan jê wergerî hilbijêre:'
-    other_settings: Sazkariya agahdariyên din
-  number:
-    human:
-      decimal_units:
-        format: "%n%u"
-        units:
-          billion: B
-          million: M
-          quadrillion: Q
-          thousand: Hezar
-          trillion: Trîlyon
-  otp_authentication:
-    code_hint: Ji bo pejirandinê têkeve koda te ya ku ji alîyê sepana piştraskirinê va hatiye çê kirin
-    description_html: Heke tu<strong>bi piştrastkirina du-faktorî re</strong> sepana piştrastkirinê çalak bikî, ji bo têketinê hewceye telefona te li ba te be, ji bona têketinê te ra nîşaneyan çê bike.
-    enable: Çalak bike
-    instructions_html: "<strong>Vê kodê QR kontrol bike bi riya Google Authenticator an jî sepanekeTOTP li ser têlefona xwe </strong>. Ji niha û pê ve, ew sepan dê nîşanên ku divê tu binivîsîne dema têketinê de biafirîne."
-    manual_instructions: 'Heke tu nikarî bî koda QR venêrî û pêwîst be bi dest bikevî, ev nivîsê hêsan ê veşartî:'
-    setup: Saz bike
-    wrong_code: Koda têketinê betal e! Dema rajekarê û dema amûrê raste?
-  pagination:
-    newer: Nûtir
-    next: Pêş
-    older: Kevntir
-    prev: Paş
-    truncate: "&hellip;"
-  polls:
-    errors:
-      already_voted: Te berê deng dabû vê rapirsîyê
-      duplicate_options: tiştên dubare tê de hene
-      duration_too_long: di pêşerojê de pir dûr e
-      duration_too_short: gelek zû ye
-      expired: Jixwe rapirsî dawî bû
-      invalid_choice: Vebijarka dengdanê ya bijartî tune
-      over_character_limit: her yek ji %{max} karakterê dirêjtirîn nabe
-      too_few_options: divê ji yekî zêdetir tişt hebin
-      too_many_options: nikare ji %{max} hêmanan bêhtir pêk bê
-  preferences:
-    other: Yên din
-    posting_defaults: Berdestên şandiyê
-    public_timelines: Demnameya gelemperî
-  reactions:
-    errors:
-      limit_reached: Sînorê reaksiyonên cihêrengî gihîşte asta dawî
-      unrecognized_emoji: emojîyeke ne naskirî ye
-  relationships:
-    activity: Çalakiya ajimêrê
-    dormant: Xewok
-    follow_selected_followers: Şopînerên hilbijartî bişopîne
-    followers: Şopîner
-    following: Dişopîne
-    invited: Vexwendî
-    last_active: Çalakiya dawî
-    most_recent: Herî dawî
-    moved: Barkirî
-    mutual: Hevpar
-    primary: Sereke
-    relationship: Pêwendî
-    remove_selected_domains: Hemû şopînerên ji navpera hilbijartî rake
-    remove_selected_followers: Şopînerên hilbijartî rake
-    remove_selected_follows: Bikarhênerên hilbijartî neşopîne
-    status: Rewşa ajimêr
-  remote_follow:
-    acct: Navnîşana ajimêra xwe username@domain yê ku tu yê jê çalakî bikî binvsîne
-    missing_resource: Ji bona ajimêra te pêwistiya beralîkirina URLyê nehate dîtin
-    no_account_html: Ajimêra te tune? Tu dikarî<a href='%{sign_up_path}' target='_blank'>li vir tomar bibe</a>
-    proceed: Şopandinê bidomîne
-    prompt: 'Tu yê bişopînî:'
-    reason_html: "<strong>Ev gav ji bona çi pêwîst e?</strong><code>%{instance}</code>rajekerên ku tu tomarkiriyî dibe ku tunebe, ji bona vê divê pêşî te beralîyê rajekera te bi xwe bikin."
-  remote_interaction:
-    favourite:
-      proceed: Ber bi bijarê ve biçe
-      prompt: 'Tu dixwazî vê şandiyê bibijêrî:'
-    reblog:
-      proceed: Bo bilindkirinê bidomîne
-      prompt: 'Tu dixwazî vê şandî ye bilind bikî:'
-    reply:
-      proceed: Bersivandinê bidomîne
-      prompt: 'Tu dixwazî bersiva vê şandiyê bidî:'
-  reports:
-    errors:
-      invalid_rules: rêbazên derbasdar nîşan nadê
-  scheduled_statuses:
-    over_daily_limit: Te sînorê %{limit} şandiyên demsazkirî yên ji bo îro derbas kir
-    over_total_limit: Te sînorê %{limit} şandiyên demsazkirî derbas kir
-    too_soon: Dîroka bernamesazkirinê divê dîrokeke ji îro pêşvetir be
-  sessions:
-    activity: Çalakiya dawî
-    browser: Gerok
-    browsers:
-      alipay: Alipay
-      blackberry: Blackberry
-      chrome: Chrome
-      edge: Microsoft Edge
-      electron: Electron
-      firefox: Firefox
-      generic: Gerokeke nenas
-      ie: Internet Explorer
-      micro_messenger: MicroMessenger
-      nokia: Nokia S40 Ovi Browser
-      opera: Opera
-      otter: Otter
-      phantom_js: PhantomJS
-      qq: Geroka QQ
-      safari: Safari
-      uc_browser: Geroka UCB
-      weibo: Weibo
-    current_session: Danişîna heyî
-    description: "%{platform} ser %{browser}"
-    explanation: Gerokên tevnê di dema heyî de hene ku têketin kirine di ajimêra te ya Mastodon.
-    ip: IP
-    platforms:
-      adobe_air: Adobe Air
-      android: Android
-      blackberry: Blackberry
-      chrome_os: Chrome OS
-      firefox_os: Firefox OS
-      ios: iOS
-      linux: Linux
-      mac: macOS
-      other: platforma nenas
-      windows: Windows
-      windows_mobile: Windows Mobile
-      windows_phone: Windows Phone
-    revoke: Rake
-    revoke_success: Danişîn bi serkeftî hate rakirin
-    title: Danîştin
-    view_authentication_history: Dîroka rastekirina ajimêra xwe bibîne
-  settings:
-    account: Ajimêr
-    account_settings: Sazkariyên ajimêr
-    aliases: Nûçikên ajimêra
-    appearance: Xuyang
-    authorized_apps: Rayedarê sepanan
-    back: Vegere bo Mastodon
-    delete: Jêbirina ajimêr
-    development: Pêşdebir
-    edit_profile: Profîlê serrast bike
-    export: Derxistinê daneyan
-    featured_tags: Hashtagên bijarte
-    import: Têxistin
-    import_and_export: Têxistin û derxistin
-    migrate: Barkirina ajimêrê
-    notifications: Agahdarî
-    preferences: Hilbijarte
-    profile: Profîl
-    relationships: Yên tê şopandin û şopîner
-    statuses_cleanup: Bi xweberî va jê birina şandiya
-    two_factor_authentication: Piştrastkirinê du-faktorî
-    webauthn_authentication: Kilîdên ewlehiyê
-  statuses:
-    attached:
-      audio:
-        one: "%{count} deng"
-        other: "%{count} deng"
-      description: 'Pêvek: %{attached}'
-      image:
-        one: "%{count} wêne"
-        other: "%{count} wêne"
-      video:
-        one: "%{count} vîdyo"
-        other: "%{count} vîdyo"
-    boosted_from_html: Bilindkirî ji alî %{acct_link} ve
-    content_warning: 'Hişyariya naverokê: %{warning}'
-    default_language: Wekî zimanê navrûya bikarhêneriyê
-    disallowed_hashtags:
-      one: 'hashtagek bê maf tê de hebû: %{tags}'
-      other: 'hashtagek bê maf tê de hebû: %{tags}'
-    edited_at: Di %{date} de hate serrastkirin
-    errors:
-      in_reply_not_found: Ew şandiya ku tu dikî nakî bersivê bide xuya nake an jî hatiye jêbirin.
-    open_in_web: Di tevnê de veke
-    over_character_limit: sînorê karakterê %{max} derbas kir
-    pin_errors:
-      direct: Şandiyên ku tenê ji bikarhênerên qalkirî re têne xuyangkirin, nayê derzîkirin
-      limit: Jixwe te mezintirîn hejmara şandîyên xwe derzî kir
-      ownership: Şandiya kesekî din nay derzî kirin
-      reblog: Ev şandî nayê derzî kirin
-    poll:
-      total_people:
-        one: "%{count} kes"
-        other: "%{count} kes"
-      total_votes:
-        one: "%{count} deng"
-        other: "%{count} deng"
-      vote: Deng bide
-    show_more: Bêtir nîşan bide
-    show_newer: Nûtirîn nîşan bide
-    show_older: Kevntirîn nîşan bide
-    show_thread: Mijarê nîşan bide
-    sign_in_to_participate: Ji bo tevlî sohbetê bibî xwe tomar bike
-    title: "%{name}%{quote}"
-    visibilities:
-      direct: Rasterast
-      private: Tenê şopîneran
-      private_long: Tenê bo şopîneran nîşan bide
-      public: Gelemperî
-      public_long: Herkes dikare bibîne
-      unlisted: Nerêzokkirî
-      unlisted_long: Herkes dikare bibîne, lê di demnameya gelemperî de nayê rêz kirin
-  statuses_cleanup:
-    enabled: Şandiyên berê bi xweberî va jê bibe
-    enabled_hint: Gava ku ew gihîştibe sînorê temenê diyarkirî, şandiyên te bi xweberî jê dibe, ji bilî van awareteyên jêrîn
-    exceptions: Awarte
-    explanation: Ji ber ku jêbirina şandiyan pêvajoyeke biha ye, ev hêdî hêdî bi demê re tê kirin dema ku rajekar wekî din mijûl nebe. Ji ber vê sedemê, dibe ku şandiyên te demek şûnda ku bigihîjin sînorê temenê wê werin jêbirin.
-    ignore_favs: Ecibandinan paşguh bike
-    ignore_reblogs: Bilindkirinê piştguh bike
-    interaction_exceptions: Awarteyên li ser bingehên têkiliyan
-    interaction_exceptions_explanation: Bizanibe ku heke şandiyeke ku ji binî ve têkeve jêrî bijare an bilindkirin ê piştî ku carek din di ser wan re derbas bibe, garantiyek tune ku werin jêbirin.
-    keep_direct: Peyamên rasterast veşêre
-    keep_direct_hint: Tu peyamên te yekcar jê naçe
-    keep_media: Peyamên bi pêvekên medyayê ve ne biveşêre
-    keep_media_hint: Yek ji peyamên te yê ku bi pêvekên medyayê ve ne jê nabe
-    keep_pinned: Peyamên xwe yên ku hatine derzîkirî veşêre
-    keep_pinned_hint: Yek ji peyamên te yê derzîkirî jê nabe
-    keep_polls: Rapirsîyan veşêre
-    keep_polls_hint: Yek ji rapirsiyên te jê nabe
-    keep_self_bookmark: Şandiyên ku wek şûnpel hatine tevlêkirin veşêre
-    keep_self_bookmark_hint: Şandî heke te wek şûnpel tomar kiriye we neyê jêbirin
-    keep_self_fav: Şandiyên ku te eciband veşêre
-    keep_self_fav_hint: Ger te şandiyên xwe ecibandibe jê nabe
-    min_age:
-      '1209600': 2 hefte
-      '15778476': 6 meh
-      '2629746': 1 meh
-      '31556952': 1 sal
-      '5259492': 2 meh
-      '63113904': 2 sal
-      '7889238': 3 meh
-    min_age_label: Şêmûga demê
-    min_favs: Peyamên ku ji wê zêdetir hatine ecibandin veşêre
-    min_favs_hint: Şandî ku ji evqas hezkirin wergirtibe nayê jêbirin. Vala bihêle da ku şandiyan jê bibî tevlî ku çiqas hezkirin wergirtibe
-    min_reblogs: Şandiyên ku bêtir hatine bilindkirin veşêre
-    min_reblogs_hint: Şandî ku ji ji vê hejmarê bêtir bilindkirin wergirtibe nayê jêbirin. Vala bihêle da ku şandiyan jê bibî tevlî ku çiqas hezkirin wergirtibe
-  stream_entries:
-    pinned: Şandiya derzîkirî
-    reblogged: bilindkirî
-    sensitive_content: Naveroka hestiyarî
-  tags:
-    does_not_match_previous_name: bi navê berê re li hev nayê
-  terms:
-    body_html: |
-      <h2>Privacy Policy</h2>
-      <h3 id="collect">What information do we collect?</h3>
-
-      <ul>
-        <li><em>Basic account information</em>: If you register on this server, you may be asked to enter a username, an e-mail address and a password. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly.</li>
-        <li><em>Posts, following and other public information</em>: The list of people you follow is listed publicly, the same is true for your followers. When you submit a message, the date and time is stored as well as the application you submitted the message from. Messages may contain media attachments, such as pictures and videos. Public and unlisted posts are available publicly. When you feature a post on your profile, that is also publicly available information. Your posts are delivered to your followers, in some cases it means they are delivered to different servers and copies are stored there. When you delete posts, this is likewise delivered to your followers. The action of reblogging or favouriting another post is always public.</li>
-        <li><em>Direct and followers-only posts</em>: All posts are stored and processed on the server. Followers-only posts are delivered to your followers and users who are mentioned in them, and direct posts are delivered only to users mentioned in them. In some cases it means they are delivered to different servers and copies are stored there. We make a good faith effort to limit the access to those posts only to authorized persons, but other servers may fail to do so. Therefore it's important to review servers your followers belong to. You may toggle an option to approve and reject new followers manually in the settings. <em>Please keep in mind that the operators of the server and any receiving server may view such messages</em>, and that recipients may screenshot, copy or otherwise re-share them. <em>Do not share any dangerous information over Mastodon.</em></li>
-        <li><em>IPs and other metadata</em>: When you log in, we record the IP address you log in from, as well as the name of your browser application. All the logged in sessions are available for your review and revocation in the settings. The latest IP address used is stored for up to 12 months. We also may retain server logs which include the IP address of every request to our server.</li>
-      </ul>
-
-      <hr class="spacer" />
-
-      <h3 id="use">What do we use your information for?</h3>
-
-      <p>Any of the information we collect from you may be used in the following ways:</p>
-
-      <ul>
-        <li>To provide the core functionality of Mastodon. You can only interact with other people's content and post your own content when you are logged in. For example, you may follow other people to view their combined posts in your own personalized home timeline.</li>
-        <li>To aid moderation of the community, for example comparing your IP address with other known ones to determine ban evasion or other violations.</li>
-        <li>The email address you provide may be used to send you information, notifications about other people interacting with your content or sending you messages, and to respond to inquiries, and/or other requests or questions.</li>
-      </ul>
-
-      <hr class="spacer" />
-
-      <h3 id="protect">How do we protect your information?</h3>
-
-      <p>We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL, and your password is hashed using a strong one-way algorithm. You may enable two-factor authentication to further secure access to your account.</p>
-
-      <hr class="spacer" />
-
-      <h3 id="data-retention">What is our data retention policy?</h3>
-
-      <p>We will make a good faith effort to:</p>
-
-      <ul>
-        <li>Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more than 90 days.</li>
-        <li>Retain the IP addresses associated with registered users no more than 12 months.</li>
-      </ul>
-
-      <p>You can request and download an archive of your content, including your posts, media attachments, profile picture, and header image.</p>
-
-      <p>You may irreversibly delete your account at any time.</p>
-
-      <hr class="spacer"/>
-
-      <h3 id="cookies">Do we use cookies?</h3>
-
-      <p>Yes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.</p>
-
-      <p>We use cookies to understand and save your preferences for future visits.</p>
-
-      <hr class="spacer" />
-
-      <h3 id="disclose">Do we disclose any information to outside parties?</h3>
-
-      <p>We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety.</p>
-
-      <p>Your public content may be downloaded by other servers in the network. Your public and followers-only posts are delivered to the servers where your followers reside, and direct messages are delivered to the servers of the recipients, in so far as those followers or recipients reside on a different server than this.</p>
-
-      <p>When you authorize an application to use your account, depending on the scope of permissions you approve, it may access your public profile information, your following list, your followers, your lists, all your posts, and your favourites. Applications can never access your e-mail address or password.</p>
-
-      <hr class="spacer" />
-
-      <h3 id="children">Site usage by children</h3>
-
-      <p>If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (<a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">General Data Protection Regulation</a>) do not use this site.</p>
-
-      <p>If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children's Online Privacy Protection Act</a>) do not use this site.</p>
-
-      <p>Law requirements can be different if this server is in another jurisdiction.</p>
-
-      <hr class="spacer" />
-
-      <h3 id="changes">Changes to our Privacy Policy</h3>
-
-      <p>If we decide to change our privacy policy, we will post those changes on this page.</p>
-
-      <p>This document is CC-BY-SA. It was last updated March 7, 2018.</p>
-
-      <p>Originally adapted from the <a href="https://github.com/discourse/discourse">Discourse privacy policy</a>.</p>
-    title: "%{instance} mercên bikaranîn û politîkayên nehêniyê"
-  themes:
-    contrast: Mastodon (dijberiya bilind)
-    default: Mastodon (Tarî)
-    mastodon-light: Mastodon (Ronahî)
-  time:
-    formats:
-      default: "%b %d, %Y, %H:%M"
-      month: "%b %Y"
-      time: "%H:%M"
-  two_factor_authentication:
-    add: Tevlî bike
-    disable: 2FA neçalak bike
-    disabled_success: Rastandina du-gavî bi serfirazî hate sekinandin
-    edit: Serrast bike
-    enabled: Rastandina du-gavî bi serfirazî hate çalak kirin
-    enabled_success: Rastandina du-gavî bi serfirazî hate çalak kirin
-    generate_recovery_codes: Kodên xilaskirinê çêbike
-    lost_recovery_codes: Ku telefon winda bibe kodên xilaskirinê derfet dide ku tu bigihijî ajimêra xwe. Heke te kodên xwe yê xilaskirinê winda kiribe tu dikarî ji vê derê dîsa ava bikî. Kodên te yê xilaskirinê ên kevin wê nederbasdar bibe.
-    methods: Rêbazên du-gavî
-    otp: Sepana Authenticator
-    recovery_codes: Kilîtên rizgarbûna hilanînê
-    recovery_codes_regenerated: Kilîtên rizgarbûna bi serkeftî hate nûvkirin
-    recovery_instructions_html: Heke gava te têlefona xwe winda kir, tu dikarî yek ji kodên rizgarkirinê yên jêrîn bi kar bîne da ku tu bigihîjî ajimêra xwe. <strong>Kodên rizgarkirinê li cihekî ewle biparêze </strong>. Mînakî, tu dikarî wan çap bikî û wan bi peldandkên din ên girîng re tomar bike.
-    webauthn: Kilîdên ewlehiyê
-  user_mailer:
-    appeal_approved:
-      action: Biçe ajimêra xwe
-      explanation: Îtîraza binpêkirinê ya li dijî ajimêrê te ya %{strike_date} ku te di %{appeal_date} de şandibû hate pejirandin. Ajimêrê te careke din di rewşek baş de ye.
-      subject: Îtîraza te ji %{date} hate pejirandin
-      title: Îtîraz hate pejirandin
-    appeal_rejected:
-      explanation: Îtîraza binpêkirinê ya li dijî ajimêrê te ya di %{strike_date} de ku te di %{appeal_date} de şandibû nehat pejirandin.
-      subject: Îtîraza te ji %{date} nehate pejirandin
-      title: Îtîraz nehate pejirandin
-    backup_ready:
-      explanation: Te yedekîya tijê ya ajimêrê xwe Mastodonê xwest. Niha ji daxistinê re amade ye!
-      subject: Arşîva te amede ye bo daxistinê
-      title: Pakêtkirina arşîvan
-    sign_in_token:
-      details: 'Li vir hûrgiliyên hewldanê hene:'
-      explanation: 'Me hewildanek têketina ajimêra te ji navnîşana IPya nenas nas kir. Ger ev tu bî, ji kerema xwe koda ewlehiyê ya jêr têkeve rûpela jêpirsînê:'
-      further_actions: 'Ger ev ne tu bî, ji kerema xwe re şîfreya xwe biguherîne û li ser hesaba xwe rastkirina du-gavî çalak bike. Tu dikarî wê ji vê derê çêkî:'
-      subject: Ji kerema xwe re hewldanên têketinê piştrast bike
-      title: Hewldanên têketinê
-    warning:
-      appeal: Îtîrazekê bişîne
-      appeal_description: Heke tu bawer dikî ku ev şaşetiyeke, tu dikarî îtîrazekê ji karmendên %{instance} re bişînî.
-      categories:
-        spam: Nexwestî (Spam)
-        violation: Naverok rêbazên civakê yên jêrîn binpê dike
-      explanation:
-        delete_statuses: Hate dîtin ku hinek nivîsên te yek an çend rêbazên civakê binpê dikin û dû re ji hêla çavdêran %{instance} ve hatine rakirin. Binpêkirinên di pêşerojê dibe ku li dijî ajimêra te bibe sedema kiryarên cezayê tundtir.
-        disable: Tu êdî nikarî ajimêra xwe bi kar bînî, lê profîla te û daneyên din bê ziyan dimînin. Tu dikarî ji daneyên xwe hilanînê bixwazî, sazkariyên ajimêrê biguherîmî an jî ajimêrê xwe jê bibî.
-        sensitive: Ji niha û pê ve, hemû pelên te yên medyayê yên hatine barkirin wê li piştî hişyariyek wekî hestyar û veşartî bêne nîşankirin.
-        silence: Tu hîn jî dikarî ajimêra xwe bi kar bînî lê tenê kesên ku jixwe te dişopînin wê şandiyên te li ser vê rajekarê bibînin, û dibe ku tu ji cûrbecûr taybetmendiyên vedîtinê werî bi dûrxistin. Lêbelê, yên din hîn jî dikarin bi destan te bişopînin.
-        suspend: Tu êdî nikarî têkevî ajimêra xwe, û profîla te û daneyên din êdî nayên gihîştin. Dîsa jî tu dikarî têkevî da ku hilanîna daneyên xwe daxwaz bikî heya ku dane bi tevahî werin rakirin di hundirê 30 roj de, lê em ê hin daneyan biparêzin da ku tu ji rawestandinê rizgar bikî.
-      get_in_touch: Ku tu bawer dikî ev çewtiyeke, tu dikarî bersiva vê e-nameyê bidî ku bi xebatkarên %{instance} re têkevî pêwendiyê.
-      reason: 'Sedem:'
-      statuses: 'Şandiyên ku di binpêkirinê de hatine dîtin:'
-      subject:
-        delete_statuses: Şandiyên te yên li ser %{acct} hatin rakirin
-        disable: Ajimêra te a %{acct} hat qerisandin
-        none: Hişyarî bo %{acct}
-        sensitive: Pelên te yên medyayê yên li ser %{acct} wê ji niha û pê ve wekî hestyar bêne nîşankirin
-        silence: Ajimêra te ya %{acct} hate bisînorkirin
-        suspend: Ajimêra te %{acct} hate rawestandin
-      title:
-        delete_statuses: Şandî hatin rakirin
-        disable: Ajimêr hate qerisandin
-        none: Hişyarî
-        sensitive: Medya veşartî ye
-        silence: Ajimêr sînor kiriye
-        suspend: Ajimêr hatiye rawestandin
-    welcome:
-      edit_profile_action: Profîlê saz bike
-      edit_profile_step: Tu dikarî profîla xwe bi barkirina wêne, sernav, guherandina navê xuyangê xwe û bêhtir ve xweş bikî. Heke tu dixwazî şagirtên nû binirxînî berî ku mafê bidî ku ew te bişopînê, tu dikarî ajimêra xwe kilît bike.
-      explanation: Li vir çend serişte hene ku tu dest pê bike
-      final_action: Dest bi weşandinê bike
-      final_step: 'Dest bi weşandinê bike! Bêyî şopîneran jî dibe ku şandiyên te yên gelemperî ji hêla kesên din ve werin dîtin, mînakî li ser demjimêra herêmî û di hashtagan de. Dibe ku tu bixwazî xwe li ser hashtagê #nasname bidî nasandin.'
-      full_handle: Hemî destikê te
-      full_handle_hint: Ji hevalên xwe re, ji bona ji rajekarekê din peyam bişîne an jî ji bona ku te bikaribe bişopîne tişta ku tu bibêjî ev e.
-      review_preferences_action: Bijartinan biguherîne
-      review_preferences_step: Pê bawer be ku vebijêrkên xwe saz bikî, wek mînak kîjan e-nameyên ku tu dixwaziî wergirîne, an tu dixwazî weşanên te ji kîjan astê nehêniyê de kesanekirî bin. Heke nexweşiya te ya tevgerê tune be, tu dikarî hilbijêrî ku GIF ya xweser çalak bibe.
-      subject: Tu bi xêr hatî Mastodon
-      tip_federated_timeline: Demnameya giştî dimenêke gelemperî a Mastodon e. Lê tenê kesên ku ciranên te endamên wê ne dihewîne, ji ber vê yekê ew hemû nîne.
-      tip_following: Tu rêvebir (ên) rajeker wek berdest dişopînî. Ji bo mirovên balkêştir bibînî, demnameya herêmî û federasyonî kontrol bike.
-      tip_local_timeline: Demnameya herêmî, dimenêke bi giştî ye li ser %{instance} e. Ev ciranên te yên herî nêzik in!
-      tip_mobile_webapp: Ger geroka te ya desta pêşkêşî te bike ku tu Mastodon li ser ekrana xwe ya malê lê zêde bikî, tu dikarî agahdariyên push bistînî. Ew bi gelek awayan mîna serîlêdanek xwemalî tevdigere!
-      tips: Serbend
-      title: Bi xêr hatî, %{name}!
-  users:
-    follow_limit_reached: Tu nikarî zêdetirî %{limit} kesan bişopînî
-    generic_access_help_html: Di gihîştina ajimêrê te de pirsgirêk heye? Tu dikarî ji bo alîkariyê bi %{email} re têkilî deyne
-    invalid_otp_token: Koda du-gavî ya nelê
-    invalid_sign_in_token: Kilîda ewlehiyê a nelê
-    otp_lost_help_html: Heke te gihîştina herduyan ji dest da, dibe ku tu bi %{email} re têkilî deyne
-    seamless_external_login: Te bi servîsekî biyanî re têketina xwe kir, ji ber vê yekê şîfre û e-name nayê bikaranîn.
-    signed_in_as: 'Têketin wekî:'
-    suspicious_sign_in_confirmation: Xuya dike ku te berê têketin ji vê amûrê nekiriye, ji ber vê yekê em kodeke ewlehiyê ji navnîşana e-nameya te re dişînin da ku piştrast bikî ku tu ye an na.
-  verification:
-    explanation_html: 'Tu dikarî <strong>xwe wekî xwediyê girêdanên li daneyê meta profîla xwe piştrast bikî</strong>. Ji bo vê, hewceye girêda malperê di nav profîla te ya mastodonê de girêdanekî paş hebe. Girêdana paş<strong>hewceye</strong> taybetîyek <code>rel="me"</code>hebe. Naveroka nivîsa girêdanê ne girîng e. Ev jî mînakek e:'
-    verification: Piştrastkirin
-  webauthn_credentials:
-    add: Kilîteke ewlehiyê nû tevlî bike
-    create:
-      error: Gava Kilîteke ewlehiyê nû dihat tevlîkirin pirsgirêkek derket. Jkx dîsa biceribîne.
-      success: Tevlîkirina kilîteke ewlehiyê nû bi awayekî serkeftî qediya.
-    delete: Jê bibe
-    delete_confirmation: Ma tu bi rastî dixwazî ku ev kilîta ewlehiyê jê bibe?
-    description_html: Heker tu <strong> piştrastkirina kilîta ewlehiyê </strong> çalak bikî, Ji bo têketinê ger tu kilîtekî ewlehiyê bikarbînî.
-    destroy:
-      error: Dema kilîda ewlehiyê hate jêbirin pirsgirêkek peyda bû. Ji kerema xwe re careke din biceribîne.
-      success: Kilîda ewlehiyê bi awayekî serkeftî hatê jêbirin.
-    invalid_credential: Kilîda ewlehiyê a nelê
-    nickname_hint: Bernavka kilîda te ya ewlehiyê a nû têkevê
-    not_enabled: Te hê WebAuthn çalak nekiriye
-    not_supported: Ev gerok piştgiriya kilîtên ewlehiyê nakê
-    otp_required: Ji bo ku tu kilîtên ewlehiyê bikar bînî, ji kerema xwe re pêşî piştrastkirina du-gavî çalak bike.
-    registered_on: Di %{date} dîrokê de tomar bû
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index d905fb606..7dacd90d3 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -16,6 +16,7 @@ ko:
     contact: 연락처
     contact_missing: 미설정
     contact_unavailable: 없음
+    continue_to_web: 웹앱에서 계속하기
     discover_users: 유저 발견하기
     documentation: 문서
     federation_hint_html: "%{instance}에 계정을 만드는 것으로 모든 마스토돈 서버, 그리고 호환 되는 모든 서버의 사용자를 팔로우 할 수 있습니다."
@@ -25,6 +26,8 @@ ko:
       이 계정은 가상의 actor로서 개인 유저가 아닌 서버 자체를 나타냅니다.
       이것은 페더레이션을 목적으로 사용 되며 인스턴스 전체를 차단하려 하지 않는 이상 차단하지 않아야 합니다, 그 경우에는 도메인 차단을 사용하세요.
     learn_more: 자세히
+    logged_in_as_html: 현재 %{username}으로 로그인 했습니다.
+    logout_before_registering: 이미 로그인 했습니다.
     privacy_policy: 개인정보 정책
     rules: 서버 규칙
     rules_html: '아래의 글은 이 마스토돈 서버에 계정이 있다면 따라야 할 규칙의 요약입니다:'
@@ -66,7 +69,6 @@ ko:
     media: 미디어
     moved_html: "%{name}은 %{new_profile_link}으로 이동되었습니다:"
     network_hidden: 이 정보는 사용할 수 없습니다
-    never_active: 없음
     nothing_here: 아무 것도 없습니다!
     people_followed_by: "%{name} 님이 팔로우 중인 계정"
     people_who_follow: "%{name} 님을 팔로우 중인 계정"
@@ -367,7 +369,7 @@ ko:
       enable: 활성화
       enabled: 활성됨
       enabled_msg: 성공적으로 활성화하였습니다
-      image_hint: 50KB 이하의 PNG
+      image_hint: "%{size} 이하의 PNG 또는 GIF"
       list: 목록에 추가
       listed: 목록에 실림
       new:
@@ -442,57 +444,74 @@ ko:
       reject_media_hint: 로컬에 저장된 미디어 파일을 삭제하고, 이후로도 다운로드를 거부합니다. 정지와는 관계 없습니다
       reject_reports: 신고 거부
       reject_reports_hint: 이 도메인으로부터의 모든 신고를 무시합니다. 정지와는 무관합니다
-      rejecting_media: 미디어 거부
-      rejecting_reports: 신고 거부
-      severity:
-        silence: 침묵
-        suspend: 정지
-      show:
-        affected_accounts:
-          one: 데이터베이스 내부의 1개의 계정에 영향을 끼칩니다
-          other: 데이터베이스 내부의 %{count} 개의 계정에 영향을 끼칩니다
-          zero: 데이터베이스 내부의 영향을 끼치는 계정이 없습니다
-        retroactive:
-          silence: 이 도메인에 존재하는 모든 계정의 침묵를 해제
-          suspend: 이 도메인에 존재하는 모든 계정의 계정 정지를 해제
-        title: "%{domain}의 도메인 차단을 해제"
-        undo: 실행 취소
       undo: 도메인 차단 취소
       view: 도메인 차단 보기
     email_domain_blocks:
       add_new: 새로 추가
+      attempts_over_week:
+        other: 지난 주 동안 %{count} 건의 가입 시도가 있었습니다
       created_msg: 이메일 도메인 차단 규칙을 생성했습니다
       delete: 삭제
+      dns:
+        types:
+          mx: MX 레코드
       domain: 도메인
       new:
         create: 차단 규칙 생성
+        resolve: 도메인 해결
         title: 새 이메일 도메인 차단
+      no_email_domain_block_selected: 아무 것도 선택 되지 않아 어떤 이메일 도메인 차단도 변경되지 않았습니다
+      resolved_dns_records_hint_html: 도메인 네임은 다음의 MX 도메인으로 연결되어 있으며, 이메일을 받는데 필수적입니다. MX 도메인을 차단하면 같은 MX 도메인을 사용하는 어떤 이메일이라도 가입할 수 없게 되며, 보여지는 도메인이 다르더라도 적용됩니다. <strong>주요 이메일 제공자를 차단하지 않도록 조심하세요.</strong>
+      resolved_through_html: "%{domain}을 통해 해결됨"
       title: Email 도메인 차단
     follow_recommendations:
       description_html: "<strong>팔로우 추천은 새 사용자들이 관심 가는 콘텐트를 빠르게 찾을 수 있도록 도와줍니다</strong>. 사용자가 개인화 된 팔로우 추천이 만들어지기 위한 충분한 상호작용을 하지 않은 경우, 이 계정들이 대신 추천 됩니다. 이들은 해당 언어에 대해 많은 관심을 갖거나 많은 로컬 팔로워를 가지고 있는 계정들을 섞어서 날마다 다시 계산 됩니다."
-      language: 할당할 언어
+      language: 언어 필터
       status: 상태
       suppress: 팔로우 추천 숨기기
       suppressed: 숨겨짐
       title: 팔로우 추천
       unsuppress: 팔로우 추천 복원
     instances:
+      availability:
+        description_html:
+          other: 도메인에 대한 전달이 성공 없이 <strong>%{count}</strong>일 실패한다면, 이후의 전달 시도는 해당 도메인<em>에서</em> 전달이 오기 전까지는 만들어지지 않습니다.
+        failure_threshold_reached: "%{date}에 실패 임계점에 도달했습니다."
+        failures_recorded:
+          other: 실패한 전달 시도 총 %{count}일.
+        no_failures_recorded: 실패 기록이 없습니다.
+        title: 가용성
       back_to_all: 전체
       back_to_limited: 제한됨
       back_to_warning: 경고
       by_domain: 도메인
       confirm_purge: 정말로 이 도메인의 데이터를 영구적으로 삭제하길 원하십니까?
+      content_policies:
+        comment: 내부 참고사항
+        description_html: 이 도메인과 하위 도메인의 모든 계정에 적용될 콘텐츠 정책을 정의할 수 있습니다.
+        policies:
+          reject_media: 미디어 거부
+          reject_reports: 신고 거부
+          silence: 제한
+          suspend: 정지
+        policy: 정책
+        reason: 공개적인 사유
+        title: 콘텐츠 정책
+      dashboard:
+        instance_accounts_dimension: 제일 많이 팔로우된 계정
+        instance_accounts_measure: 보관된 계정
+        instance_followers_measure: 저쪽을 팔로우 하는 우리의 팔로워 수
+        instance_follows_measure: 우리를 팔로우 하는 저쪽의 팔로워 수
+        instance_languages_dimension: 상위 언어
+        instance_media_attachments_measure: 보관된 미디어 첨부파일
+        instance_reports_measure: 이들에 대한 신고
+        instance_statuses_measure: 보관된 게시물
       delivery:
         all: 전체
         clear: 전달 에러 초기화
         restart: 전달 재시작
         stop: 전달 중지
-        title: 전달
         unavailable: 사용불가
-        unavailable_message: 전달 불가
-        warning: 경고
-        warning_message:
-          other: 전달 실패 %{count}일
       delivery_available: 전송 가능
       delivery_error_days: 전달 에러가 난 날짜들
       delivery_error_hint: 만약 %{count}일동안 전달이 불가능하다면, 자동으로 전달불가로 표시됩니다.
@@ -509,12 +528,14 @@ ko:
       private_comment: 비공개 주석
       public_comment: 공개 주석
       purge: 제거
+      purge_description_html: 이 도메인이 영구적으로 오프라인 상태라고 생각되면 스토리지에서 이 도메인의 모든 계정 레코드와 관련 데이터를 삭제할 수 있습니다. 이 작업은 시간이 좀 걸릴 수 있습니다.
       title: 연합
       total_blocked_by_us: 우리에게 차단 됨
       total_followed_by_them: 우리를 팔로우
       total_followed_by_us: 우리가 한 팔로우
       total_reported: 이들에 대한 신고
       total_storage: 미디어 첨부
+      totals_time_period_hint_html: 아래에 표시된 총계에는 모든 시간에 대한 데이터가 포함됩니다.
     invites:
       deactivate_all: 전부 비활성화
       filter:
@@ -568,10 +589,12 @@ ko:
       action_taken_by: 신고 처리자
       actions:
         delete_description_html: 신고된 게시물은 삭제될 것이며 이 처벌기록은 같은 계정의 향후 규정 위반에 대해 참고사항으로 쓰일 수 있도록 저장됩니다.
+        mark_as_sensitive_description_html: 신고된 게시물의 미디어는 민감함으로 표시될 것이며 이 처벌기록은 같은 계정의 향후 규정 위반에 대해 참고사항으로 쓰일 수 있도록 저장됩니다.
         other_description_html: 계정 동작을 제어하고 신고된 계정과의 의사소통을 사용자 지정하기 위한 추가 옵션을 봅니다.
         resolve_description_html: 신고된 계정에 대해 아무런 동작도 취하지 않으며, 처벌기록이 남지 않으며, 신고는 처리됨으로 변경됩니다.
         silence_description_html: 이미 팔로우 하고 있는 사람이나 수동으로 찾아보는 사람에게만 프로필이 보여지고, 도달 범위를 엄격하게 제한합니다. 언제든지 되돌릴 수 있습니다.
         suspend_description_html: 프로필과 모든 컨텐츠가 최종적으로 삭제될 때까지 접근 불가상태가 됩니다. 이 계정과의 상호작용은 불가능해집니다. 30일 이내에 되돌릴 수 있습니다.
+      actions_description_html: 이 보고서를 해결하기 위해 취해야 할 조치를 지정해주세요. 신고된 계정에 대해 처벌 조치를 취하면 <strong>스팸</strong> 카테고리가 선택된 경우를 제외하고 이메일 알림이 해당 계정으로 전송됩니다.
       add_to_report: 신고에 더 추가하기
       are_you_sure: 정말로 실행하시겠습니까?
       assign_to_self: 나에게 할당하기
@@ -587,6 +610,7 @@ ko:
       forwarded: 전달됨
       forwarded_to: "%{domain}에게 전달됨"
       mark_as_resolved: 해결 완료 처리
+      mark_as_sensitive: 민감함으로 설정
       mark_as_unresolved: 미해결로 표시
       no_one_assigned: 아무도 없음
       notes:
@@ -597,12 +621,15 @@ ko:
         placeholder: 이 리포트에 대한 조치, 기타 관련 된 사항에 대해 설명합니다…
         title: 노트
       notes_description_html: 확인하고 다른 중재자나 미래의 자신을 위해 기록을 작성합니다
+      quick_actions_description_html: '보고된 콘텐츠를 보려면 빠른 조치를 취하거나 아래로 스크롤하세요:'
+      remote_user_placeholder: "%{instance}의 리모트 사용자"
       reopen: 리포트 다시 열기
       report: '신고 #%{id}'
       reported_account: 신고 대상 계정
       reported_by: 신고자
       resolved: 해결됨
       resolved_msg: 리포트가 성공적으로 해결되었습니다!
+      skip_to_actions: 작업으로 건너뛰기
       status: 상태
       statuses: 신고된 컨텐츠
       statuses_description_html: 문제가 되는 컨텐츠는 신고된 계정에게 인용되어 전달됩니다
@@ -727,6 +754,7 @@ ko:
       actions:
         delete_statuses: "%{name} 님이 %{target}의 게시물을 지웠습니다"
         disable: "%{name} 님이 %{target}의 계정을 동결시켰습니다"
+        mark_statuses_as_sensitive: "%{name} 님이 %{target}의 게시물을 민감함으로 표시했습니다"
         none: "%{name} 님이 %{target}에게 경고를 보냈습니다"
         sensitive: "%{name} 님이 %{target}의 계정을 민감함으로 표시했습니다"
         silence: "%{name} 님이 %{target}의 계정을 제한시켰습니다"
@@ -752,20 +780,32 @@ ko:
       links:
         allow: 링크 허용하기
         allow_provider: 출처 허용하기
+        description_html: 현재 서버에서 게시물을 볼 수 있는 계정에서 많이 공유되고 있는 링크들입니다. 사용자가 세상 돌아가는 상황을 파악하는 데 도움이 됩니다. 출처를 승인할 때까지 링크는 공개적으로 게시되지 않습니다. 각각의 링크를 개별적으로 허용하거나 거부할 수도 있습니다.
         disallow: 링크 거부하기
         disallow_provider: 출처 거부하기
         shared_by_over_week:
           one: 지난 주 동안 한 명의 사람이 공유했습니다
           other: 지난 주 동안 %{count} 명의 사람들이 공유했습니다
           zero: 지난 주 동안 공유한 사람이 없습니다
-        title: 지금 유행 중인 링크
+        title: 유행하는 링크
         usage_comparison: 오늘은 %{today}회 공유되었고, 어제는 %{yesterday}회 공유되었습니다
       pending_review: 심사 대기
       preview_card_providers:
         allowed: 이 출처의 링크는 유행 목록에 실릴 수 있습니다
+        description_html: 당신의 서버에서 많은 링크가 공유되고 있는 도메인들입니다. 링크의 도메인이 승인되기 전까지는 링크들은 공개적으로 트렌드에 게시되지 않습니다. 당신의 승인(또는 거절)은 서브도메인까지 확장됩니다.
         rejected: 이 출처의 링크는 유행 목록에 실릴 수 없습니다
         title: 출처
       rejected: 거부됨
+      statuses:
+        allow: 게시물 허용
+        allow_account: 작성자 허용
+        description_html: 당신의 서버가 알기로 현재 많은 수의 공유와 즐겨찾기가 되고 있는 게시물들입니다. 새로운 사용자나 돌아오는 사용자들이 팔로우 할 사람들을 찾는 데 도움이 될 수 있습니다. 작성자를 승인하고, 작성자가 그들의 계정이 다른 계정에게 탐색되도록 설정하지 않는 한 게시물들은 공개적으로 표시되지 않습니다. 또한 각각의 게시물을 별개로 거절할 수도 있습니다.
+        disallow: 게시물 불허
+        disallow_account: 작성자 불허
+        not_discoverable: 작성자가 발견되기를 원치 않습니다
+        shared_by:
+          other: "%{friendly_count} 번 공유되고 즐겨찾기 되었습니다"
+        title: 유행하는 게시물
       tags:
         current_score: 현재 %{score}점
         dashboard:
@@ -774,6 +814,7 @@ ko:
           tag_servers_dimension: 상위 서버
           tag_servers_measure: 다른 서버들
           tag_uses_measure: 총 사용
+        description_html: 현재 서버에서 볼 수 있는 게시물에서 많이 공유되고 있는 해시태그들입니다. 현재 사람들이 무슨 이야기를 하고 있는지 사용자들이 파악할 수 있도록 도움이 됩니다. 승인하지 않는 한 해시태그는 공개적으로 게시되지 않습니다.
         listable: 추천될 수 있습니다
         not_listable: 추천될 수 없습니다
         not_trendable: 유행 목록에 나타나지 않습니다
@@ -798,7 +839,16 @@ ko:
   admin_mailer:
     new_appeal:
       actions:
+        delete_statuses: 게시물을 삭제하는 것
+        disable: 계정을 동결시키는 것
+        mark_statuses_as_sensitive: 게시물을 민감함으로 표시하는 것
         none: 경고
+        sensitive: 계정을 민감함으로 표시하는 것
+        silence: 계정을 제한하는 것
+        suspend: 계정을 정지하는 것
+      body: "%{target} 님이 %{action_taken_by} 님에 의해 %{date}에 결정된 중재 결정에 대한 이의를 제기했습니다, 결정된 사항은 %{type}이었습니다. 작성내용은 다음과 같습니다:"
+      next_steps: 중재 결정사항을 되돌리기 위해서 상소를 승인하거나, 무시할 수 있습니다.
+      subject: "%{username} 님이 %{instance}에서 발생한 중재 결정에 대해 소명을 제출했습니다"
     new_pending_account:
       body: 아래에 새 계정에 대한 상세정보가 있습니다. 이 가입을 승인하거나 거부할 수 있습니다.
       subject: "%{instance}의 새 계정(%{username})에 대한 심사가 대기중입니다"
@@ -806,6 +856,21 @@ ko:
       body: "%{reporter} 가 %{target} 를 신고했습니다"
       body_remote: "%{domain}의 누군가가 %{target}을 신고했습니다"
       subject: "%{instance} 에 새 신고 등록됨 (#%{id})"
+    new_trends:
+      body: '아래에 있는 항목들은 공개적으로 보여지기 전에 검토를 거쳐야 합니다:'
+      new_trending_links:
+        no_approved_links: 현재 승인된 유행 중인 링크가 없습니다.
+        requirements: '이 후보들 중 어떤 것이라도 #%{rank}위의 승인된 유행 중인 링크를 앞지를 수 있으며, 이것은 현재 "%{lowest_link_title}"이고 %{lowest_link_score}점을 기록하고 있습니다.'
+        title: 유행하는 링크
+      new_trending_statuses:
+        no_approved_statuses: 현재 승인된 유행 중인 게시물이 없습니다.
+        requirements: '이 후보들 중 어떤 것이라도 #%{rank}위의 승인된 유행 중인 게시물을 앞지를 수 있으며, 이것은 현재 %{lowest_status_url}이고 %{lowest_status_score}점을 기록하고 있습니다.'
+        title: 유행하는 게시물
+      new_trending_tags:
+        no_approved_tags: 현재 승인된 유행 중인 해시태그가 없습니다.
+        requirements: '이 후보들 중 어떤 것이라도 #%{rank}위의 승인된 유행 중인 해시태그를 앞지를 수 있으며, 이것은 현재 #%{lowest_tag_name}이고 %{lowest_tag_score}점을 기록하고 있습니다.'
+        title: 유행하는 해시태그
+      subject: 새 트렌드가 %{instance}에서 심사 대기 중입니다
   aliases:
     add_new: 별칭 만들기
     created_msg: 새 별칭이 성공적으로 만들어졌습니다. 이제 기존 계정에서 이주를 시작할 수 있습니다.
@@ -879,8 +944,10 @@ ko:
     status:
       account_status: 계정 상태
       confirming: 이메일 확인 과정이 완료되기를 기다리는 중.
+      functional: 계정이 완벽히 작동합니다.
       pending: 당신의 가입 신청은 스태프의 검사를 위해 대기중입니다. 이것은 시간이 다소 소요됩니다. 가입 신청이 승인 될 경우 이메일을 받게 됩니다.
       redirecting_to: 계정이 %{acct}로 리다이렉트 중이기 때문에 비활성 상태입니다.
+      view_strikes: 내 계정에 대한 과거 중재 기록 보기
     too_fast: 너무 빠르게 양식이 제출되었습니다, 다시 시도하세요.
     trouble_logging_in: 로그인 하는데 문제가 있나요?
     use_security_key: 보안 키 사용
@@ -948,22 +1015,30 @@ ko:
     strikes:
       action_taken: 내려진 징계
       appeal: 이의제기
+      appeal_approved: 이 중재기록은 소명이 받아들여졌으며 더이상 유효하지 않습니다
+      appeal_rejected: 소명이 기각되었습니다
       appeal_submitted_at: 이의제기 접수됨
       appealed_msg: 당신의 이의제기가 접수되었습니다. 만약 승인된다면, 알림을 받게 될 것입니다.
       appeals:
         submit: 이의 제출
       associated_report: 관련된 신고
       created_at: 날짜
+      description_html: 이 결정사항들은 당신에 계정에 대해 행해졌고 %{instance}의 스태프에 의해 경고가 발송되었습니다.
       recipient: 수신자
       status: '게시물 #%{id}'
       status_removed: 게시물이 이미 시스템에서 지워졌습니다
+      title: "%{action} (%{date}에)"
       title_actions:
         delete_statuses: 게시물 삭제
         disable: 계정 동결
+        mark_statuses_as_sensitive: 게시물을 민감함으로 표시
         none: 경고
         sensitive: 계정을 민감함으로 표시
         silence: 계정의 제한
         suspend: 계정 정지
+      your_appeal_approved: 당신의 소명이 받아들여졌습니다
+      your_appeal_pending: 소명을 제출했습니다
+      your_appeal_rejected: 당신의 소명이 기각되었습니다
   domain_validator:
     invalid_domain: 올바른 도메인 네임이 아닙니다
   errors:
@@ -1257,6 +1332,9 @@ ko:
     reply:
       proceed: 답장 진행
       prompt: '이 게시물에 답장을 하려 합니다:'
+  reports:
+    errors:
+      invalid_rules: 올바른 규칙을 포함하지 않습니다
   scheduled_statuses:
     over_daily_limit: 그 날짜에 대한 %{limit}개의 예약 게시물 제한을 초과합니다
     over_total_limit: 예약 게시물 제한 %{limit}을 초과합니다
@@ -1323,6 +1401,7 @@ ko:
     profile: 프로필
     relationships: 팔로잉과 팔로워
     statuses_cleanup: 게시물 자동 삭제
+    strikes: 중재 기록
     two_factor_authentication: 2단계 인증
     webauthn_authentication: 보안 키
   statuses:
@@ -1339,7 +1418,7 @@ ko:
     default_language: 화면 표시 언어와 동일하게
     disallowed_hashtags:
       other: '허용되지 않은 해시태그를 포함하고 있습니다: %{tags}'
-    edited_at: "%{date}에 편집됨"
+    edited_at_html: "%{date}에 편집됨"
     errors:
       in_reply_not_found: 답장하려는 게시물이 존재하지 않습니다.
     open_in_web: Web으로 열기
@@ -1396,6 +1475,7 @@ ko:
       '2629746': 1 개월
       '31556952': 1 년
       '5259492': 2 개월
+      '604800': 1주일
       '63113904': 2 년
       '7889238': 3 개월
     min_age_label: 기한
@@ -1519,7 +1599,12 @@ ko:
   user_mailer:
     appeal_approved:
       action: 내 계정으로 가기
+      explanation: "%{strike_date}에 일어난 중재결정에 대한 소명을 %{appeal_date}에 작성했으며 승낙되었습니다. 당신의 계정은 정상적인 상태로 돌아왔습니다."
+      subject: "%{date}에 작성한 소명이 승인되었습니다"
+      title: 소명이 받아들여짐
     appeal_rejected:
+      explanation: "%{strike_date}에 일어난 중재결정에 대한 소명을 %{appeal_date}에 작성했지만 거절되었습니다."
+      subject: "%{date}에 작성한 소명이 거절되었습니다"
       title: 이의제기가 거절되었습니다
     backup_ready:
       explanation: 당신이 요청한 계정의 풀 백업이 이제 다운로드 가능합니다!
@@ -1538,26 +1623,28 @@ ko:
         spam: 스팸
         violation: 컨텐츠가 다음의 커뮤니티 규정을 위반합니다
       explanation:
-        delete_statuses: 당신의 게시물 중 몇 개가 커뮤니티 규정을 위반하는 것으로 확인되었고 %{instance}의 중재자에 의해 삭제되었습니다. 이후의 규정 위반은 당신의 계정에 대해 더 강력한 제재가 이루어 질 수 있습니다.
+        delete_statuses: 귀하의 게시물 중 일부가 하나 이상의 커뮤니티 가이드라인을 위반한 것으로 확인되어 %{instance} 모더레이터에 의해 삭제되었습니다.
         disable: 당신은 더이상 당신의 계정을 사용할 수 없습니다, 하지만 프로필과 다른 데이터들은 여전히 그대로 남아있습니다. 당신의 데이터에 대한 백업을 요청하거나, 계정 설정을 변경 또는 계정을 삭제할 수 있습니다.
+        mark_statuses_as_sensitive: 당신의 몇몇 게시물들은 %{instance}의 중재자에 의해 민감함으로 설정되었습니다. 이것은 사람들이 미리보기를 보기 전에 미디어를 한번 눌러야 함을 의미합니다. 당신은 스스로도 자신의 게시물을 작성할 때 미디어를 민감함으로 설정할 수 있습니다.
         sensitive: 지금부터는, 당신이 업로드한 미디어 파일들은 민감함 표시가 뜨게 되고 클릭해야만 볼 수 있다는 경고문 뒤에 가려지게 됩니다.
         silence: 당신은 여전히 당신의 계정을 사용할 수 있지만 당신을 팔로우 하고 있는 사람들만 당신의 게시물을 볼 수 있으며, 여러가지 탐색 기능에서 제외됩니다. 하지만, 여전히 다른 사람들은 수동으로 당신을 팔로우 할 수 있습니다.
         suspend: 당신은 더이상 당신의 계정을 사용할 수 없으며, 프로필과 데이터는 접근 불가능하게 됩니다. 데이터가 완전히 삭제되기 전인 30일동안은 여전히 백업을 요청하기 위해 로그인 할 수 있습니다, 하지만 계정 정지를 회피하는 것을 방지하기 위하여 몇 가지 정보는 유지됩니다.
-      get_in_touch: 이것이 잘못된 조치라고 생각된다면, 이 메일에 답장하여 %{instance}의 스태프들에게 연락할 수 있습니다.
       reason: '사유:'
-      statuses: '위반사항이 발견된 게시물:'
+      statuses: '인용된 게시물:'
       subject:
         delete_statuses: 당신의 계정 %{acct}에서 작성한 게시물이 삭제되었습니다
         disable: 당신의 계정 %{acct}가 동결 되었습니다
+        mark_statuses_as_sensitive: "%{acct}로 작성한 당신의 게시물은 민감한 것으로 표시되었습니다"
         none: "%{acct}에게의 경고"
-        sensitive: 지금부터 당신의 계정 %{acct}의 미디어 파일들은 민감함으로 표시됩니다
+        sensitive: "%{acct}로 작성되는 당신의 게시물은 이제부터 민감한 것으로 표시됩니다"
         silence: 당신의 계정 %{acct}가 제한 되었습니다
         suspend: 당신의 계정 %{acct}가 정지 되었습니다
       title:
         delete_statuses: 게시물 삭제됨
         disable: 계정 동결 됨
+        mark_statuses_as_sensitive: 게시물이 민감함으로 표시됨
         none: 경고
-        sensitive: 미디어 숨겨짐
+        sensitive: 계정이 민감함으로 표시됨
         silence: 계정 제한 됨
         suspend: 계정 정지 됨
     welcome:
diff --git a/config/locales/ku.yml b/config/locales/ku.yml
index 4fb522d09..a457b4b07 100644
--- a/config/locales/ku.yml
+++ b/config/locales/ku.yml
@@ -1,1226 +1,1718 @@
 ---
 ku:
   about:
-    about_hashtag_html: ئەمانە توتی گشتین بە هەشتەگی گشتی <strong>#%{hashtag}}</strong>. گەر ئێوە لە هەر ڕاژەیەک هەژمارەتان بێت دەتوانیت لێرە بەم نووسراوانە هاوئاهەنگ بن.
-    about_mastodon_html: 'تۆڕی کۆمەڵایەتی داهاتوو: هیچ ڕیکلامێک ، هیچ چاودێرییەکی کۆمپانیا ، دیزاینی ئەخلاقی و لامەرکەزی! خاوەنی داتاکانت نابێ لە ماستۆدۆن!'
-    about_this: دەربارە
-    active_count_after: چالاک
-    active_footnote: بەکارهێنەرانی چالاکی مانگانە (MAU)
-    administered_by: 'بەڕێوەبراو لەلایەن:'
-    apps: ئەپەکانی مۆبایل
-    apps_platforms: بەکارهێنانی ماستۆدۆن لە iOS، ئەندرۆید و سەکۆکانی تر
-    browse_directory: گەڕان لە ڕێبەرێکی پرۆفایل و پاڵاوتن بەپێی بەرژەوەندیەکان
-    browse_local_posts: گەڕانی ڕاستەوخۆ لە نووسراوە گشتیەکان لەم ڕاژەوە
-    browse_public_posts: گەڕان لە جۆگەیەکی زیندووی نووسراوە گشتیەکان لەسەر ماستۆدۆن
-    contact: بەردەنگ
-    contact_missing: سازنەکراوە
-    contact_unavailable: بوونی نییە
-    discover_users: پەیداکردنی بەکارهێنەران
-    documentation: بەڵگەکان
-    federation_hint_html: بە هەژمارەیەک لەسەر %{instance} دەتوانیت شوێن خەڵک بکەویت لەسەر هەرڕاژەیەکی ماستۆدۆن.
-    get_apps: ئەپێکی تەلەفۆن تاقی بکەرەوە
-    hosted_on: مەستودۆن میوانداری کراوە لە %{domain}
-    instance_actor_flash: |
-      ئەم هەژمارەیە ئەکتەرێکی خەیاڵی بەکارهاتووە بۆ نوێنەرایەتی کردنی خودی ڕاژەکە و نەک هیچ بەکارهێنەرێکی تاک.
-      بۆ مەبەستی فیدراسیۆن بەکاردێت و نابێت بلۆک بکرێت مەگەر دەتەوێت هەموو نمونەکە بلۆک بکەیت، کە لە حاڵەتەش دا پێویستە بلۆکی دۆمەین بەکاربهێنیت.
-    learn_more: زیاتر فێربه
-    privacy_policy: ڕامیاری تایبەتێتی
-    see_whats_happening: بزانە چی ڕوودەدات
-    server_stats: 'زانیاری ڕاژەکار:'
-    source_code: کۆدی سەرچاوە
+    about_hashtag_html: Ev şandiyeke gelemperî ye bi <strong>#%{hashtag}</strong> re nîşankirî ye. Tu dikarî pê re çalak bibî heke ajimêreke te heye li ser fediverse.
+    about_mastodon_html: 'Tora civakî ya pêşerojê: Ne reklam, ne çavdêriya pargîdanî, sêwirana exlaqî, û desentralîzasyon! Bi Mastodon re bibe xwediyê daneyên xwe!'
+    about_this: Derbar
+    active_count_after: çalak
+    active_footnote: Mehane bikarhênerên çalak (MBÇ)
+    administered_by: 'Tê bi rêvebirin ji aliyê:'
+    api: API
+    apps: Sepana mobîl
+    apps_platforms: Mastodon ji iOS, Android û platformên din bi kar bîne
+    browse_directory: Li riya profîlê bigere û li gorî berjewendiyan parzûn bike
+    browse_local_posts: Ji vî rajekarê weşaneke zindî ya şandiyên giştî bigere
+    browse_public_posts: Weşaneke zindî ya şandiyên giştî bigere li ser Mastodon
+    contact: Têkilî
+    contact_missing: Nehate sazkirin
+    contact_unavailable: N/A
+    continue_to_web: Bo malpera sepanê bidomîne
+    discover_users: Bikarhêneran keşf bike
+    documentation: Pelbend
+    federation_hint_html: Bi ajimêrê xwe %{instance} re tu dikarî kesên rajekar û li derveyî mastodonê bişopînî.
+    get_apps: Sepaneke mobîl bicerbîne
+    hosted_on: Mastodon li ser%{domain} tê hildanê
+    instance_actor_flash: 'Ev ajimêr aktorekî aşopî ye ji bo rajekar were temsîl kirin tê bikaranîn ne ajimêra kesî ye. Ji bo armanca federasyonê dixebite û divê ney asteng kirin heta ku te xwest hemû nimûneyan asteng bikî, di vir de ger tu blogek navper bikarbînî.
+
+      '
+    learn_more: Bêtir fêr bibe
+    logged_in_as_html: Tu niha wekî %{username} têketî ye.
+    logout_before_registering: Jixwe te berê têketin kiriye.
+    privacy_policy: Polîtikaya nihêniyê
+    rules: Rêbazên rajekar
+    rules_html: 'Heger tu bixwazî ajimêrekî li ser rajekarê mastodon vebikî, li jêrê de kurtasî ya qaîdeyên ku tu guh bidî heye:'
+    see_whats_happening: Binêre ka çi diqewime
+    server_stats: 'Statîstîkên rajekar:'
+    source_code: Çavkaniya Kodî
     status_count_after:
-      one: دۆخ
-      other: دۆخەکان
-    status_count_before: لە لایەن یەکەوە
-    tagline: دوای هاوڕێکان بکەوە و ئەوانەی نوێ بدۆزیەوە
-    terms: مەرجەکانی خزمەتگوزاری
-    unavailable_content: ڕاژەی چاودێریکراو
+      one: şandî
+      other: şandî
+    status_count_before: Hatin weşan
+    tagline: Hevalên xwe bişopîne û yên nû bibîne
+    terms: Peyama mercan
+    unavailable_content: Rajekarên li hev kirî
     unavailable_content_description:
-      domain: ڕاژەکار
-      reason: هۆکار
-      rejecting_media: 'پەڕگەکانی میدیا لەم ڕاژانەوە پرۆسە ناکرێت یان هەڵناگیرێن، و هیچ وێنۆچکەیەک پیشان نادرێت، پێویستی بە کرتە کردنی دەستی هەیە بۆ فایلە سەرەکیەکە:'
-      rejecting_media_title: پاڵێوەری میدیا
-      silenced: 'بابەتەکانی ئەم ڕاژانە لە هێڵی کاتی گشتی و گفتوگۆکاندا دەشاردرێنەوە، و هیچ ئاگانامێک دروست ناکرێت لە چالاکی بەکارهێنەرانیان، مەگەر تۆ بەدوایان دەچیت:'
-      silenced_title: ڕاژە ناچالاکەکان
-      suspended: 'هیچ داتایەک لەم ڕاژانەوە پرۆسە ناکرێت، خەزن دەکرێت یان دەگۆڕدرێتەوە، وا دەکات هیچ کارلێک یان پەیوەندییەک لەگەڵ بەکارهێنەران لەم ڕاژانە مەحاڵ بێت:'
-      suspended_title: ڕاژە ڕاگیراوەکان
-    unavailable_content_html: ماستۆدۆن بە گشتی ڕێگەت پێدەدات بۆ پیشاندانی ناوەڕۆک لە و کارلێ کردن لەگەڵ بەکارهێنەران لە هەر ڕاژەیەکی تر بە گشتی. ئەمانە ئەو بەدەرکردنانەن کە کراون لەسەر ئەم ڕاژە تایبەتە.
+      domain: Rajekar
+      reason: Sedem
+      rejecting_media: 'Pelên medyayê yên ji van rajekaran nayên pêvajoyî kirin an tomarkirin, û tu dîmenek nayên xuyakirin, ku pêdivî ye ku bi desta pêlêkirina pelika rasteqîn hebe:'
+      rejecting_media_title: Medyayên parzûnkirî
+      silenced: 'Şandiyên ji van rajekaran dê di demnameyên û axaftinên gelemperî de bêne veşartin, û heya ku tu wan neşopînî dê ji çalakiyên bikarhênerên wan agahdariyek çênebe:'
+      silenced_title: Rajekarên sînor kirî
+      suspended: '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:'
+      suspended_title: Rajekarên rawestî
+    unavailable_content_html: 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.
     user_count_after:
-      one: بەکارهێنەر
-      other: بەکارهێنەران
-    user_count_before: "`خاوەن"
-    what_is_mastodon: ماستۆدۆن چییە?
+      one: bikarhêner
+      other: bikarhêner
+    user_count_before: Serrûpel
+    what_is_mastodon: Mastodon çi ye?
   accounts:
-    choices_html: 'هەڵبژاردنەکانی %{name}:'
-    endorsements_hint: دەتوانیت ئەو کەسانە پەسەند بکەیت کە پەیڕەویان دەکەیت لە ڕووکاری وێب، و ئەوان لێرە دەردەکەون.
-    featured_tags_hint: دەتوانیت هاشتاگی تایبەت پێشکەش بکەیت کە لێرە پیشان دەدرێت.
-    follow: شوێن کەوە
+    choices_html: 'Hilbijartina %{name}:'
+    endorsements_hint: Tu dikarî kesên ku di navrûyê wep de dişopînî bipejirînî û ew li vir were nîşan kirin.
+    featured_tags_hint: Tu dikarî hashtagên teybetî li vir tê nîşan kirin di pê de derxî.
+    follow: Bişopîne
     followers:
-      one: شوێنکەوتوو
-      other: شوێن‌کەوتووان
-    following: شوێن‌کەوتووی
-    joined: بەشداری %{date}
-    last_active: دوا چالاکی
-    link_verified_on: خاوەنداریەتی ئەم لینکە لە %{date} چێک کراوە
-    media: میدیا
-    moved_html: "%{name} گواستراوەتەوە بۆ %{new_profile_link}:"
-    network_hidden: ئەم زانیاریە بەردەست نیە
-    never_active: هەرگیز
-    nothing_here: لێرە هیچ نییە!
-    people_followed_by: ئەو کەسانەی کە %{name} بەدوایدا دەکەون
-    people_who_follow: ئەو کەسانەی کە بەدوای %{name} دا دەکەون
+      one: Şopîner
+      other: Şopîner
+    following: Dişopîne
+    instance_actor_flash: Ev ajimêr listikvaneke rastkî ye ku ji bo wek nûnerê rajekar bixwe tê bikaranîn û ne bikarhênerek kesane. Ew ji bo mebestên yekbûyî tê bikaranîn û divê neyê rawestandin.
+    joined: Di %{date} de tevlî bû
+    last_active: çalakiya dawî
+    link_verified_on: Xwedaniya li vê girêdanê di %{date} de hatiye kontrolkirin
+    media: Medya
+    moved_html: "%{name} bar kire %{new_profile_link}:"
+    network_hidden: Ev zanyarî berdest nîne
+    nothing_here: Li vir tiştek tune ye!
+    people_followed_by: Kesên ku%{name} wan dişopîne
+    people_who_follow: Kesên%{name} dişopîne
     pin_errors:
-      following: تۆ دەبێت هەر ئێستا بە دوای ئەو کەسەدا بیت کە دەتەوێت پەسەندی بکەیت
+      following: Kesê ku tu dixwazî bipejirînî jixwe tu vê dişopînî
     posts:
-      one: توت
-      other: تووتەکان
-    posts_tab_heading: تووتەکان
-    posts_with_replies: تووتەکان و وڵامەکان
+      one: Şandî
+      other: Şandî
+    posts_tab_heading: Şandî
+    posts_with_replies: Şandî û bersiv
     roles:
-      admin: بەڕێوەبەر
-      bot: بۆت
-      group: گرووپ
-      moderator: مۆد
-    unavailable: پرۆفایل بەردەست نیە
-    unfollow: بەدوادانەچو
+      admin: Rêvebir
+      bot: Bot
+      group: Kom
+      moderator: Moderator
+    unavailable: Profîl nay bikaranîn
+    unfollow: Neşopîne
   admin:
     account_actions:
-      action: ئەنجامدانی کردار
-      title: ئەنجامدانی کاری بەڕێوەبردن لە %{acct}
+      action: Çalakî yê bike
+      title: Li ser %{acct} çalakiyên li hev hatî pêk bîne
     account_moderation_notes:
-      create: جێهێشتنی تێبینی
-      created_msg: تێبینی بەڕێوەبەر بە سەرکەوتوویی دروست کرا!
-      destroyed_msg: تێبینی بەڕێوەبەر بە سەرکەوتوویی لەناوچوو!
+      create: Nîşeyekê bihêle
+      created_msg: Nîşeyê moderator bi awayekî serkeftî hate afirandin!
+      destroyed_msg: Nîşeyê moderator bi awayekî serkeftî hate tinne kirin!
     accounts:
-      add_email_domain_block: بلۆککردنی هەموو دۆمەینەکە
-      approve: پەسەند کردن
-      approved_msg: بەرنامەی تۆمارکردنی %{username} بۆ چوونەناوی پەسەند کرا
-      are_you_sure: دڵنیای?
-      avatar: وێنۆچکە
-      by_domain: دۆمەین
+      add_email_domain_block: Navparê e-nameyê asteng bike
+      approve: Bipejirîne
+      approved_msg: Tomarkirina %{username} bi awayekî serkeftî hate pejirandin
+      are_you_sure: Ma tu bawerî?
+      avatar: Wêne
+      by_domain: Navper
       change_email:
-        changed_msg: ئیمەیڵی ئەژمێر بە سەرکەوتوویی گۆڕا!
-        current_email: ئیمەیلی ئێستا
-        label: گۆڕینی ئیمێڵ
-        new_email: ئیمەیڵی نوێ
-        submit: گۆڕینی ئیمێڵ
-        title: گۆڕینی ئیمەیڵ بۆ %{username}
-      confirm: پشتڕاستی بکەوە
-      confirmed: پشتڕاست کرا
-      confirming: پشتڕاستکردنەوە
-      delete: سڕینەوەی داتا
-      deleted: سڕینەوە
-      demote: پلە نزمکرایەوە
-      destroyed_msg: دراوەکانی %{username} لە ڕیزی سڕینەوەن
-      disable: بەستن
-      disable_two_factor_authentication: لەکارخستنی 2FA
-      disabled: بەستوو
-      display_name: ناوی پیشاندان
-      domain: دۆمەین
-      edit: دەستکاری
-      email: پۆستی ئەلکترۆنی
-      email_status: دۆخی ئیمەیڵ
-      enable: چالاک کردن
-      enabled: چالاککراوە
-      enabled_msg: هەژمارە %{username} بە سەرکەوتوویی سنووردار کرا
-      followers: شوێنکەوتوان
-      follows: شوێنکەوتوان
-      header: سەرپەڕە
-      inbox_url: نیشانی هاتنەژوور
-      invited_by: هاتۆتە ژورەوە لە لایەن
-      ip: ئای‌پی
-      joined: ئەندام بوو لە
+        changed_msg: E-nameya ajimêr bi awayekî serkeftî hate guhertin!
+        current_email: E-nameya heyî
+        label: E-nameyê biguherîne
+        new_email: E-nameya nû
+        submit: E-nameyê biguherîne
+        title: E-nameyê biguherîne bo %{username}
+      confirm: Bipejirîne
+      confirmed: Hate pejirandin
+      confirming: Tê pejirandin
+      custom: Kesanekirin
+      delete: Daneyan jê bibe
+      deleted: Hate jêbirin
+      demote: Ast daxistin
+      destroyed_msg: Daneyên %{username} niha ket rêzê da yê demek nêz da were jêbirin
+      disable: Qerisî ye
+      disable_sign_in_token_auth: E-name ya rastandina token neçalak bike
+      disable_two_factor_authentication: 2FA ne çalak bike
+      disabled: Qerisî ye
+      display_name: Navê xuyangê
+      domain: Navper
+      edit: Serrast bike
+      email: E-name
+      email_status: Rewşa E-nameyê
+      enable: Çalak bike
+      enable_sign_in_token_auth: E-name ya rastandina token çalak bike
+      enabled: Çalakkirî
+      enabled_msg: Ajimêra %{username} bi serkeftî hat çalak kirin
+      followers: Şopîner
+      follows: Dişopînê
+      header: Jormalper
+      inbox_url: Peyamên hatî URl
+      invite_request_text: Sedemên tevlêbûnê
+      invited_by: Bi vexwendinê
+      ip: IP
+      joined: Tevlî bû
       location:
-        all: هەموو
-        local: ناوخۆیی
-        remote: دوور
-        title: شوێن
-      login_status: دۆخی چوونەژوورەوە
-      media_attachments: هاوپێچی میدیا
-      memorialize: گۆڕان بە یادەوەری
-      memorialized: بیرکەوتنەوە
-      memorialized_msg: بە سەرکەوتوویی %{username} بۆ هەژمارێکی بیرەوەری گۆڕا
+        all: Hemû
+        local: Herêmî
+        remote: Ji dûr ve
+        title: Cih
+      login_status: Rewşa têketinê
+      media_attachments: Pêvekên medya
+      memorialize: Vegerîne bîranînê
+      memorialized: Bû bîranîn
+      memorialized_msg: "%{username} bi serkeftî veguherî ajimêra bîranînê"
       moderation:
-        active: چالاک
-        all: هەموو
-        pending: چاوەڕوان
-        suspended: ڕاگرتن
-        title: بەڕێوەبردن
-      moderation_notes: بەڕێوەبردنی تێبینیەکان
-      most_recent_activity: نوێترین چالاکی
-      most_recent_ip: نوێترین ئای پی
-      no_account_selected: هیچ هەژمارەیەک نەگۆڕاوە وەک ئەوەی هیچ یەکێک دیاری نەکراوە
-      no_limits_imposed: هیچ سنوورێک نەسەپێنرا
-      not_subscribed: بەشدار نەبوو
-      pending: پێداچوونەوەی چاوەڕوان
-      perform_full_suspension: ڕاگرتن
-      promote: بەرزکردنەوە
-      protocol: پرۆتۆکۆل
-      public: گشتی
-      push_subscription_expires: بەشداری PuSH بەسەر دەچێت
-      redownload: نوێکردنەوەی پرۆفایل
-      redownloaded_msg: پرۆفایلی %{username} لە بنەڕەتەوە بە سەرکەوتوویی نوێکرایەوە
-      reject: ڕەتکردنەوە
-      rejected_msg: بەرنامەی تۆمارکردنی %{username} بە سەرکەوتوویی ڕەتکرایەوە
-      remove_avatar: لابردنی وێنۆجکە
-      remove_header: سەرپەڕ لابدە
-      removed_avatar_msg: وێنەی ئەڤاتار %{username} بە سەرکەوتوویی لابرا
-      removed_header_msg: بە سەرکەوتوویی وێنەی سەرپەڕەی %{username} لابرا
+        active: Çalak
+        all: Hemû
+        pending: Tê nirxandin
+        suspended: Sekinandî
+        title: Çavdêrî
+      moderation_notes: Nîşeyên Rêvebirinê
+      most_recent_activity: Çalakîyên dawî
+      most_recent_ip: IP' a dawî
+      no_account_selected: Tu ajimêr nehat hilbijartin ji ber vê tu ajimêr nehat guhertin
+      no_limits_imposed: Sînor nay danîn
+      not_subscribed: Beşdar nebû
+      pending: Li benda nirxandinê ye
+      perform_full_suspension: Sekinî
+      previous_strikes: Binpêkirinên berê
+      previous_strikes_description_html:
+        one: Ev ajimêr <strong>yek</strong> binpêkirin kiriye.
+        other: Ev ajimêr <strong>%{count}</strong> binpêkirin kiriye.
+        zero: Ev ajimêr <strong>di rewşeke baş de ye</strong>.
+      promote: Derbasê asteke bilind be
+      protocol: Protokol
+      public: Gelemperî
+      push_subscription_expires: Beşdarbûna PuSH diqede
+      redownload: Profîl nûve bike
+      redownloaded_msg: Bi serkeftî profîla %{username} ji kokê va hat nûve kirin
+      reject: Nepejirîne
+      rejected_msg: Tomarkirina %{username} bi awayekî serkeftî nehate pejirandin
+      remove_avatar: Avatarê rake
+      remove_header: Sernavê rake
+      removed_avatar_msg: Wêneyê %{username} bi awayekî serkeftî hate rakirin
+      removed_header_msg: Wêneyê dîwar ê %{username} bi awayekî serkeftî hate rakirin
       resend_confirmation:
-        already_confirmed: ئەم بەکارهێنەرە پێشتر پشتڕاستکراوەتەوە
-        send: دووبارە ناردنی ئیمەیڵی دووپاتکردنەوە
-        success: ئیمەیڵی پشتڕاستکردنەوە بە سەرکەوتوویی نێردرا!
-      reset: ڕێکخستنەوە
-      reset_password: گەڕانەوەی تێپەڕوشە
-      resubscribe: دووبارە ئابونەبوون
-      role: مۆڵەتەکان
+        already_confirmed: Ev bikarhêner jixwe hatiye pejirandin
+        send: E-nameya pejirandinê dîsa bişîne
+        success: E-nameya pejirandinê bi awayekî serkeftî hate şandin!
+      reset: Ji nû ve saz bike
+      reset_password: Pêborînê ji nû ve saz bike
+      resubscribe: Dîsa beşdar bibe
+      role: Maf
       roles:
-        admin: بەڕێوەبەر
-        moderator: بەڕێوەبەر
-        staff: ستاف
-        user: بەکارهێنەر
-      search: گەڕان
-      search_same_email_domain: بەکارهێنەرانی دیکە بە ئیمەیلی یەکسان
-      search_same_ip: بەکارهێنەرانی تر بەهەمان ئای پی
-      sensitive: هەستیار
-      sensitized: وەک هەستیار نیشان کراوە
-      shared_inbox_url: بەستەری سندوقی هاوبەشکراو
+        admin: Rêvebir
+        moderator: Çavdêr
+        staff: Xebatkar
+        user: Bikarhêner
+      search: Bigere
+      search_same_email_domain: Bikarhênerên din ên bi heman navpera e-nameyê
+      search_same_ip: Bikarhênerên din ên xwedî heman IP
+      security_measures:
+        only_password: Têne pêborîn
+        password_and_2fa: Pêborîn û 2FA
+        password_and_sign_in_token: Pêborîn û navnîşana e-nameyê
+      sensitive: Hêz-hestiyar
+      sensitized: Wek hestiyar hatiye nîşankirin
+      shared_inbox_url: URLya wergirtiyên parvekirî
       show:
-        created_reports: گوزارشتی تۆمارکراوە
-        targeted_reports: گوزارشتکراوە لەلایەن کەسانی ترەوە
-      silence: سنوور
-      silenced: سنوورکرا
-      statuses: دۆخەکان
-      subscribe: ئابوونە
-      suspended: ڕاگرتن
-      suspension_irreversible: داتای ئەم هەژمارەیە بە شێوەیەکی نائاسایی سڕاوەتەوە. دەتوانیت هەژمارەکەت ڕابخەیت بۆ ئەوەی بەکاربێت بەڵام هیچ داتایەک ناگەڕگەڕێتەوە کە پێشتر بوونی بوو.
-      suspension_reversible_hint_html: هەژمارە ڕاگیرا ، و داتاکە بەتەواوی لە %{date} لادەبرێت. تا ئەو کاتە هەژمارەکە دەتوانرێت بە بێ هیچ کاریگەریەکی خراپ بژمێردرێتەوە. ئەگەر دەتەوێت هەموو داتاکانی هەژمارەکە بسڕەوە، دەتوانیت لە خوارەوە ئەمە بکەیت.
-      title: هەژمارەکان
-      unconfirmed_email: ئیمەیڵی پشتڕاستنەکراو
-      undo_sensitized: " هەستیار نەکردن"
-      undo_silenced: بێدەنگ ببە
-      undo_suspension: دووبارە ڕاگرتن
-      unsilenced_msg: هەژماری %{username} بە سەرکەوتوویی بێسنوور کرا
-      unsubscribe: بەتاڵکردنی ئابوونە
-      unsuspended_msg: هەژمارە %{username} بە سەرکەوتوویی ئابوونەی بەتاڵکرا
-      username: ناوی بەکارهێنەر
-      view_domain: پیشاندانی کورتەبۆ دۆمەین
-      warn: وریاکردنەوە
-      web: ماڵپەڕ
-      whitelisted: پێرستی ڕێپێدراو
+        created_reports: Ragihandinên ku çêkiriye
+        targeted_reports: Ji aliyê kesên din ve hatiye ragihandin
+      silence: Sînor
+      silenced: Bêdeng kirî
+      statuses: Şandî
+      strikes: Binpêkirinên berê
+      subscribe: Bibe kiryar
+      suspend: Hatiye rawestandin
+      suspended: Hatiye rawestandin
+      suspension_irreversible: Daneyên vê ajimêrê bêveger hatine jêbirin. Tu dikarî ajimêra xwe ji rawestandinê vegerinî da ku ew bi kar bînî lê ew ê tu daneya ku berê hebû venegere.
+      suspension_reversible_hint_html: Ajimêr hat qerisandin, û daneyên di %{date} de hemû were rakirin. Hetta vê demê, ajimêr bê bandorên nebaş dikare dîsa vegere. Heke tu dixwazî hemû daneyan ajimêrê niha rakî, tu dikarî li jêrê bikî.
+      title: Ajimêr
+      unblock_email: Astengiyê li ser navnîşana e-nameyê rake
+      unblocked_email_msg: Bi serkeftî astengiya li ser navnîşana e-nameyê %{username} hate rakirin
+      unconfirmed_email: E-nameya nepejirandî
+      undo_sensitized: Hestiyariyê vegerîne
+      undo_silenced: Sînorê vegerîne
+      undo_suspension: Dûrxistinê paşve vegerîne
+      unsilenced_msg: Ajimêra %{username} bi awayekî serkeftî bêsînor çêbû
+      unsubscribe: Dev ji beşdarbûnê berde
+      unsuspended_msg: Bi awayekî serkeftî beşdarbûna bi ajimêra %{username} hate berdan
+      username: Navê bikarhêneriyê
+      view_domain: Kurte ji bo navperê bide nîşan
+      warn: Hişyarî
+      web: Tevn
+      whitelisted: Ji bona yekbûyînê maf tê dayîn
     action_logs:
       action_types:
-        assigned_to_self_report: تەرخانکردنی گوزارشت
-        change_email_user: گۆڕینی ئیمەیڵ بۆ بەکارهێنەر
-        confirm_user: دڵنیابوون لە بەکارهێنەر
-        create_account_warning: دروستکردنی ئاگاداری
-        create_announcement: دروستکردنی راگەیەندراو
-        create_custom_emoji: دروستکردنی ئێمۆمۆجی دڵخواز
-        create_domain_allow: دروستکردنی ڕێپێدان بە دۆمەین
-        create_domain_block: دروستکردنی بلۆکی دۆمەین
-        create_email_domain_block: دروستکردنی بلۆکی دۆمەینی ئیمەیڵ
-        create_ip_block: دروستکردنی یاسای IP
-        demote_user: دابەزاندنی ئاستی بەکارهێنەر
-        destroy_announcement: سڕینەوەی راگەیەندراو
-        destroy_custom_emoji: سڕینەوەی ئێمۆمۆجی تایبەتمەند
-        destroy_domain_allow: سڕینەوەی ڕێپێدان بە دۆمەین
-        destroy_domain_block: سڕینەوەی بلۆکی دۆمەین
-        destroy_email_domain_block: سڕینەوەی بلۆکی دۆمەینی ئیمەیڵ
-        destroy_ip_block: سڕینەوەی یاسای IP
-        destroy_status: دۆخ بسڕەوە
-        disable_2fa_user: لەکارخستنی 2FA
-        disable_custom_emoji: سڕینەوەی ئێمۆمۆجی تایبەتمەند
-        disable_user: بەکارهێنەر لە کاربخە
-        enable_custom_emoji: ئیمۆمۆجی تایبەتمەند چالاک بکە
-        enable_user: چالاککردنی بەکارهێنەر
-        memorialize_account: هەژماری بیرکەوتنەوە
-        promote_user: بەرزکردنەوەی بەکارهێنەر
-        remove_avatar_user: لابردنی وێنۆجکە
-        reopen_report: دووبارە کردنەوەی گوزارشت
-        reset_password_user: گەڕانەوەی تێپەڕوشە
-        resolve_report: گوزارشت چارەسەربکە
-        sensitive_account: میدیاکە لە هەژمارەکەت وەک هەستیار نیشانە بکە
-        silence_account: هەژماری بێدەنگی
-        suspend_account: ڕاگرتنی هەژمارە
-        unassigned_report: گوزارشتی دیارینەکراو
-        unsensitive_account: میدیاکە لە هەژمارەکەت وەک هەستیار نیشانە مەکە
-        unsilence_account: هەژماری بێ دەنگ
-        unsuspend_account: هەژماری هەڵنەوەستێنراو
-        update_announcement: بەڕۆژکردنەوەی راگەیەندراو
-        update_custom_emoji: بەڕۆژکردنی ئێمۆمۆجی دڵخواز
-        update_status: بەڕۆژکردنی دۆخ
-      deleted_status: "(نووسراوە سڕاوە)"
-      empty: هیچ لاگی کارنەدۆزرایەوە.
-      filter_by_action: فلتەر کردن بە کردار
-      filter_by_user: فلتەر کردن بە کردار
-      title: تۆماری وردبینی
+        approve_appeal: Îtîrazê bipejirîne
+        approve_user: Bikarhêner bipejirîne
+        assigned_to_self_report: Ragihandinê diyar bike
+        change_email_user: E-nameya bikarhêner biguherîne
+        confirm_user: Bikarhêner bipejirîne
+        create_account_warning: Hişyariyekê çê bike
+        create_announcement: Daxûyaniyekê çê bike
+        create_custom_emoji: Emojiyên kesanekirî çê bike
+        create_domain_allow: Navpera ku destûr standiye peyda bike
+        create_domain_block: Navpera ku asteng bûye ava bike
+        create_email_domain_block: Navpera e-name yê de asteng kirinê peyda bike
+        create_ip_block: Rêziknameya IPyê saz bike
+        create_unavailable_domain: Navpera ku nayê bikaranîn pêk bîne
+        demote_user: Bikarhênerê kaşê jêr bike
+        destroy_announcement: Daxûyanîyê jê bibe
+        destroy_custom_emoji: Emojîya kesanekirî jê bibe
+        destroy_domain_allow: Navperên mafdayî jê bibe
+        destroy_domain_block: Navperên astengkirî jê bibe
+        destroy_email_domain_block: Navperên e-nameyê yên astengkirî jê bibe
+        destroy_instance: Pakirina navperê
+        destroy_ip_block: Tomara IPyê jêbibe
+        destroy_status: Şandiyê jê bibe
+        destroy_unavailable_domain: Navperên tuneyî jê bibe
+        disable_2fa_user: 2FA neçalak bike
+        disable_custom_emoji: Emojîya kesanekirî neçalak bike
+        disable_sign_in_token_auth_user: Ji bo bikarhênerê piştrastkirina navnîşana e-name yê ya token neçalak bike
+        disable_user: Bikarhêner neçalak bike
+        enable_custom_emoji: Emojîya kesanekirî çalak bike
+        enable_sign_in_token_auth_user: Ji bo bikarhênerê piştrastkirina navnîşana e-name yê ya token çalak bike
+        enable_user: Bikarhêner çalak bike
+        memorialize_account: Ajimêrê bike bîranînek
+        promote_user: Bikarhêner pêş bixe
+        reject_appeal: Îtîrazê nepejirîne
+        reject_user: Bikarhêner nepejirîne
+        remove_avatar_user: Avatarê rake
+        reopen_report: Ragihandina ji nû ve veke
+        reset_password_user: Pêborînê ji nû ve saz bike
+        resolve_report: Ragihandinê çareser bike
+        sensitive_account: Ajimêra hêz-hestiyar
+        silence_account: Ajimêrê bi sînor bike
+        suspend_account: Ajimêr rawestîne
+        unassigned_report: Ragihandinê diyar neke
+        unblock_email_account: Astengiyê li ser navnîşana e-nameyê rake
+        unsensitive_account: Medyayên di ajimêrê te de wek hestyarî nepejirîne
+        unsilence_account: Ajimêra sînorkirî vegerîne
+        unsuspend_account: Ajimêrê xwe ji rewestandinê rake
+        update_announcement: Daxûyaniyê rojane bike
+        update_custom_emoji: Emojîya kesanekirî rojane bike
+        update_domain_block: Navperên astengkirî rojane bike
+        update_status: Şandiyê rojane bike
+      actions:
+        approve_appeal_html: "%{name} îtiraza biryara çavdêriyê ji %{target} pejirand"
+        approve_user_html: "%{name} tomarkirina ji %{target} pejirand"
+        assigned_to_self_report_html: "%{name} ji xwe re ragihandinek %{target} hilda"
+        change_email_user_html: "%{name} navnîşana e-nameya bikarhêner %{target} guherand"
+        confirm_user_html: "%{name} navnîşana e-nameya bikarhêner %{target} piştrast kir"
+        create_account_warning_html: "%{name} ji bo %{target} hişyariyek şand"
+        create_announcement_html: "%{name} agahdarkirineke nû çêkir %{target}"
+        create_custom_emoji_html: "%{name} emojîyeke nû ya %{target} bar kir"
+        create_domain_allow_html: "%{name} bi navperê %{target} re maf da federeyê"
+        create_domain_block_html: "%{name} navpera %{target} asteng kir"
+        create_email_domain_block_html: "%{name} e-nameya navperê %{target} asteng kir"
+        create_ip_block_html: "%{name} ji bo IPya %{target} rêzikname saz kir"
+        create_unavailable_domain_html: "%{name} bi navperê %{target} re gihandinê rawestand"
+        demote_user_html: "%{name} bikarhênerê %{target} kaşê jêr kir"
+        destroy_announcement_html: "%{name} daxûyaniyeke %{target} jê bir"
+        destroy_custom_emoji_html: "%{name} emojiya %{target} tune kir"
+        destroy_domain_allow_html: "%{name} bi navperê %{target} re maf neda federeyê"
+        destroy_domain_block_html: "%{name} navpera %{target} asteng kir"
+        destroy_email_domain_block_html: "%{name} astengiya li ser navpera e-nameyê %{target} rakir"
+        destroy_instance_html: "%{name} navpera %{target} asteng kir"
+        destroy_ip_block_html: "%{name}, ji bo IPya %{target} rêziknameyê jêbir"
+        destroy_status_html: "%{name} ji alîyê %{target} ve şandiyê rakir"
+        destroy_unavailable_domain_html: "%{name} bi navperê %{target} re gihandinê berdewam kir"
+        disable_2fa_user_html: "%{name} ji bo bikarhênerê %{target} du faktorî neçalak kir"
+        disable_custom_emoji_html: "%{name} emojiya %{target} neçalak kir"
+        disable_sign_in_token_auth_user_html: "%{name} ji bo %{target} nîşana mafdayîna e-nameya ne çalak kir"
+        disable_user_html: "%{name} ji bo bikarhêner %{target} têketin neçalak kir"
+        enable_custom_emoji_html: "%{name} emojiya %{target} çalak kir"
+        enable_sign_in_token_auth_user_html: "%{name} ji bo %{target} nîşana mafdayîna e-nameyê çalak kir"
+        enable_user_html: "%{name} ji bo bikarhêner %{target} têketin çalak kir"
+        memorialize_account_html: "%{name} ajimêra %{target} veguherand rûpeleke bîranînê"
+        promote_user_html: "%{name} bikarhêner %{target} bilind kir"
+        reject_appeal_html: "%{name} îtiraza biryara çavdêriyê ji %{target} nepejirand"
+        reject_user_html: "%{name} tomarkirina ji %{target} nepejirand"
+        remove_avatar_user_html: "%{name} avatara bikarhêner %{target} rakir"
+        reopen_report_html: "%{name} ragihandina %{target} ji nû ve vekir"
+        reset_password_user_html: "%{name} pêborîna bikarhênerê %{target} ji nû ve saz kir"
+        resolve_report_html: "%{name} ragihandina %{target} çareser kir"
+        sensitive_account_html: "%{name} medyayê %{target} wekî hestiyarî nîşan kir"
+        silence_account_html: "%{name} ajimêra %{target} bi sînor kir"
+        suspend_account_html: "%{name} ajimêra %{target} hilda rawestandinê"
+        unassigned_report_html: "%{name} ragihandina %{target} rakir"
+        unblock_email_account_html: "%{name} navnîşana e-nameyê %{target} asteng kir"
+        unsensitive_account_html: "%{name} medyayê %{target} nîşandana wek hestiyarî rakir"
+        unsilence_account_html: "%{name} bêdengiya ajimêrê %{target} rakir"
+        unsuspend_account_html: "%{name} rawestandina ajimêrê %{target} rakir"
+        update_announcement_html: "%{name} daxûyaniya %{target} rojane kir"
+        update_custom_emoji_html: "%{name} emojiya %{target} rojane kir"
+        update_domain_block_html: "%{name} ji bo navpera %{target} astengkirin rojane kir"
+        update_status_html: "%{name} şandiya bikarhêner %{target} rojane kir"
+      deleted_status: "(şandiyeke jêbirî)"
+      empty: Tomarkirin nehate dîtin.
+      filter_by_action: Li gorî çalakiyê biparzinîne
+      filter_by_user: Li gorî bikarhênerê biparzinîne
+      title: Tomarê çavdêriyê
     announcements:
-      destroyed_msg: بانگەوازەکە بە سەرکەوتوویی سڕاوەتەوە!
+      destroyed_msg: Daxûyanî bi awayekî serkeftî hate jêbirin!
       edit:
-        title: بڵاوکردنەوەی راگەیەندراو
-      empty: هیچ راگەیەندراوێک نەدۆزرایەوە.
-      live: زیندوو
+        title: Daxûyaniyê serrast bike
+      empty: Daxûyanî nehat dîtin.
+      live: Zindî
       new:
-        create: دروستکردنی راگەیەندراو
-        title: ڕاگەیاندنی نوێ
-      published_msg: بانگەوازەکە بە سەرکەوتوویی بڵاو کرایەوە!
-      scheduled_for: خشتەکراوە بۆ %{time}
-      scheduled_msg: ڕاگەیاندنی خشتەی بۆ بڵاوکردنەوە!
-      title: ڕاگه یه نراوەکان
-      unpublished_msg: بانگەواز بە سەرکەوتوویی بڵاونەکرایەوە!
-      updated_msg: بانگەوازەکە بە سەرکەوتوویی نوێکرایەوە!
+        create: Daxûyaniyekê çê bike
+        title: Daxûyaniya nû
+      publish: Biweşîne
+      published_msg: Daxûyanî bi awayekî serkeftî hate weşan!
+      scheduled_for: Bo %{time} hatiye demsazkirin
+      scheduled_msg: Daxûyanî hate demsazkirin bo weşanê!
+      title: Daxuyanî
+      unpublish: Neweşîne
+      unpublished_msg: Daxûyanî bi awayekî serkeftî weşan pûç kir!
+      updated_msg: Daxûyanî bi awayekî serkeftî hate rojanekirin!
     custom_emojis:
-      assign_category: دانانی پۆلێن
-      by_domain: دۆمەین
-      copied_msg: کۆپیەکی ناوخۆیی ئیمۆجیبەکە بە سەرکەوتوویی دروست کرد
-      copy: کۆپی
-      copy_failed_msg: نهیتوانی کۆپیهکی ناوخۆیی ئهو ئیمۆجییە دروست بکات
-      create_new_category: دروستکردنی هاوپۆلی نوێ
-      created_msg: ئیمۆجی بە سەرکەوتوویی دروستکرا!
-      delete: سڕینەوە
-      destroyed_msg: ئیمۆجی بە سەرکەوتوویی بەتاڵکرا!
-      disable: لەکارخستن
-      disabled: ناچالاککراوە
-      disabled_msg: بە سەرکەوتوویی ئەو ئیمۆجییە لە کارخراوە
-      emoji: ئیمۆجی
-      enable: چالاککردن
-      enabled: چالاککراوە
-      enabled_msg: ئەو ئیمۆجییە بە سەرکەوتووانە چالاک کرا
-      image_hint: PNG تا ٥٠کیلۆبایت
-      list: پێرست
-      listed: پێرستکراوە
+      assign_category: Diyarkirina beşê
+      by_domain: Navper
+      copied_msg: Jêgirtiyê emojî ya herêmî bi serkeftî hate afirandin
+      copy: Jê bigire
+      copy_failed_msg: Jêgirtiyêke emojî ya herêmî nehate afirandin
+      create_new_category: Beşêke nû biafirîne
+      created_msg: Hestok bi serkeftî hate çêkirin!
+      delete: Jê bibe
+      destroyed_msg: Hestok bi serkeftî hate rûxandin!
+      disable: Neçalak bike
+      disabled: Neçalakkirî
+      disabled_msg: Ev hestok bi serkeftî hate neçalak kirin
+      emoji: Emoji
+      enable: Çalak bike
+      enabled: Çalakkirî
+      enabled_msg: Ev hestok bi serkeftî hate çalak kirin
+      image_hint: Mezinahiya PNG an jî GIF digîheje heya %{size}
+      list: Rêzok
+      listed: Rêzokkirî
       new:
-        title: ئیمۆجی نوێی دڵخواز زیاد بکە
-      not_permitted: تۆ ڕێگەپێدراو نین بۆ ئەنجامدانی ئەم کارە
-      overwrite: نووسینەوە
-      shortcode: کورتەکلیل
-      shortcode_hint: بەلایەنی کەمەوە ٢نووسە، تەنها نووسەکانی ئەلف و بێ و ژێرهێڵەکان
-      title: ئیمۆجی دڵخواز
-      uncategorized: هاوپۆل نەکراوە
-      unlist: بێ پێرست
-      unlisted: پێرست نەبووە
-      update_failed_msg: نه یتوانی ئه و ئیمۆجییه نوێ بکاتەوە
-      updated_msg: ئیمۆجی بە سەرکەوتوویی نوێکرایەوە!
-      upload: بارکردن
+        title: Hestokên kesane yên nû lê zêde bike
+      not_permitted: Mafê te tune ku tu vê çalakiyê bikî
+      overwrite: Bi ser de binivsîne
+      shortcode: Kurtekod
+      shortcode_hint: Herê kêm 2 tîp, tenê tîpên alfahejmarî û yên bin xêzkirî
+      title: Hestokên kesane
+      uncategorized: Bêbeş
+      unlist: Dervî rêzokê
+      unlisted: Nerêzokkirî
+      update_failed_msg: Ev hestok nehate rojanekirin
+      updated_msg: Emojî bi awayekî serkeftî hate rojanekirin!
+      upload: Bar bike
     dashboard:
-      software: نەرمەکالا
-      space: بەکارهێنانی بۆشایی
-      title: داشبۆرد
+      active_users: bikarhênerên çalak
+      interactions: têgerîn
+      media_storage: Bîrdanaka medyayê
+      new_users: bikarhênerên nû
+      opened_reports: ragihandin hatin vekirin
+      pending_appeals_html:
+        one: "<strong>%{count}</strong> îtîraz li benda nirxandinê ye"
+        other: "<strong>%{count}</strong> îtîraz li benda nirxandinê ne"
+      pending_reports_html:
+        one: "<strong>%{count}</strong> ragihandin benda nirxandinê ye"
+        other: "<strong>%{count}</strong> ragihandin benda nirxandinê ne"
+      pending_tags_html:
+        one: "<strong>%{count}</strong> hashtag benda nirxandinê ye"
+        other: "<strong>%{count}</strong> hashtag benda nirxandinê ne"
+      pending_users_html:
+        one: "<strong>%{count}</strong> bikarhêner benda nirxandinê ye"
+        other: "<strong>%{count}</strong> bikarhêner benda nirxandinê ne"
+      resolved_reports: ragihandinên çareserkirî
+      software: Nermalav
+      sources: Çavkaniyên tomarkirî
+      space: Bikaranîna cîh
+      title: Destgeha venasînê
+      top_languages: Zimanên herî çalak
+      top_servers: Rajekarên herî çalak
+      website: Malpera tevnê
+    disputes:
+      appeals:
+        empty: Îtîraz nehatin dîtin.
+        title: Îtîraz
     domain_allows:
-      add_new: ڕێپێدان بە دۆمەین
-      created_msg: دۆمەین بە سەرکەوتوویی رێگەی پێدرا
-      destroyed_msg: دۆمەین لە پێرستی رێگەی پێدرا لابرا
-      undo: لابردن لە پێرستی ڕێپێدراو
+      add_new: Maf bide navpera federasyonê
+      created_msg: Ji bo federasyonê maf dayîna navperê bi serkeftî hate dayîn
+      destroyed_msg: Ji bo federasyonê maf dayîna navperê nehat dayîn
+      undo: Maf nede navpera federasyonê
     domain_blocks:
-      add_new: زیادکردنی بلۆکی دۆمەینی نوێ
-      created_msg: بلۆککردنی دۆمەین لە حاڵێ جێبەجێکردنە
-      destroyed_msg: بلۆکی دۆمەین هەڵوەشاوەتەوە
-      domain: دۆمەین
-      edit: دەستکاری بلۆکی دۆمەینی نوێ
-      existing_domain_block_html: ئێوە پێشتر سنووری دژوارتنا لە سەر%{name} جێبەجێکردووە، سەرەتا دەبێ <a href="%{unblock_url}">بلۆک هەڵوەشێنەوە</a>.
+      add_new: Astengkirina navpera nû
+      created_msg: Navpera asteng kirinê nû hat şixulandin
+      destroyed_msg: Navpera asteng kirinê hat rakirin
+      domain: Navper
+      edit: Astengkirina navperê serrast bike
+      existing_domain_block_html: Te bi bandorê mezin sînor danî ser %{name}, Divê tu <a href="%{unblock_url}"> asteng kirinê rabikî, pêşî ya </a>.
       new:
-        create: دروستکردنی بلۆک
-        hint: بلۆکی دۆمەین رێگری لە دروستکردنی هەژمارەی چوونەژوورەوە لە بنکەی زانیارێکان ناکات ، بەڵکو بە شێوەیەکی دووبارە و خۆکارانە رێوشێوازی پێشکەوتوو تایبەت لەسەر ئەو هەژمارانە جێبەجێ دەکات.
+        create: Astengkirinekê çê bike
+        hint: Navpera asteng kirî pêşî li çê kirina têketinên ajimêra ên di danegehê da negire, lê dê bi paş ve bizivirin û bi xweberî va ji ajimêran bi teybetî kontrola rêbazan bikin.
         severity:
-          desc_html: "<strong> بێدەنگی</strong> وا دەکات کە نووسراوەکانی هەژمارەکان نەبینراوە بێت بۆ هەر کەسێک کە شوێنیان نەکەوێ. <strong>ڕاگرتنی</strong> هەموو ناوەڕۆکی هەژمارەکە، میدیا، و داتای پرۆفایلەکەی بەکارهێنان. <strong>هیچ </strong> ئەگەر دەتەوێت فایلەکانی میدیا ڕەت بکەیتەوە."
-          noop: هیچ
-          silence: بێدەنگ
-          suspend: ڕاگرتن
-        title: بلۆکی دۆمەینی نوێ
-      private_comment: لێدوانی تایبەت
-      private_comment_hint: لێدوان دەربارەی سنوورداری ئەم دۆمەینە بۆ بەکارهێنانی ناوخۆیی لەلایەن مۆدەرەکان.
-      public_comment: سەرنجی گشتی
-      public_comment_hint: لێدوان دەربارەی سنوورداری ئەم دۆمەینە بۆ گشتی، ئەگەر بڵاوکردنەوەی لیستی سنوورداری دۆمەینەکە چالاک بکرێت.
-      reject_media: ڕەتکردنەوەی فایلەکانی میدیا
-      reject_media_hint: پەڕگە میدیای پاشکەوتکراو بە شێوەێکی ناوخۆیی لابدە و دابەزین لە داهاتوو ڕەتدەکاتەوە. ناپەیوەندیدار ە بۆ ڕاگرتن
-      reject_reports: گوزارشتەکان ڕەت بکەوە
-      reject_reports_hint: پشتگوێ خستنی هەموو گوزارشتەکان کە دێن لەم دۆمەینە. ناپەیوەندیدارە بۆ ڕاگرتن
-      rejecting_media: ڕەتکردنەوەی فایلەکانی میدیا
-      rejecting_reports: ڕەتکردنەوەی گوزارشتەکان
-      severity:
-        silence: بێدەنگ
-        suspend: ڕاگرتن
-      show:
-        retroactive:
-          silence: نابێدەنگی ئەو ئەژمێرانەی کە هەیە لەم دۆمەینەوە
-          suspend: هەڵنەپەسێدراوی هەژمارە کاریگەرەکانی ئەم دۆمەین
-        title: گەڕانەوەی بلۆککردنی دۆمەین %{domain}
-        undo: گەڕانەوە
-      undo: گەڕانەوەی بلۆکی دۆمەینی
-      view: دیتنی بلۆکی دۆمەینی
+          desc_html: |-
+            <strong>Bêdeng kirî</strong> ajimêrên wusa çêkirine xêncî şopînerên vê kes nikare şandîyên vê bibîne.
+            <strong>rawestî</strong> ajimêrên wusa çêkirine hemî naveroka, medya û daneyên profîlê jê bibe. Heke tu bixwazî pelên medyayê red bikî<strong>yek ji wan</strong>bi kar bîne.
+          noop: Ne yek
+          silence: Bêdengî
+          suspend: Dur bike
+        title: Astengkirina navpera nû
+      obfuscate: Navê navperê biveşêre
+      obfuscate_hint: Heke rêzoka sînorên navperê were çalakkirin navê navperê di rêzokê de bi qismî veşêre
+      private_comment: Şîroveya taybet
+      private_comment_hint: Derbarê sînorkirina vê navperê da ji bo bikaranîna hundirîn a moderatoran şîrove bikin.
+      public_comment: Şîroveya gelemperî
+      public_comment_hint: Heke reklamkirina rêzoka sînorên navperê çalak be, derbarê sînorkirina vê navperê da ji bo raya giştî şîrove bikin.
+      reject_media: Pelên medyayê red bike
+      reject_media_hint: Pelên medyayê herêmî hatine tomarkirin radike û di pêşerojê de daxistinê red dike. Ji bo rawstandinê ne girîng e
+      reject_reports: Ragihandinan red bike
+      reject_reports_hint: Ragihandinên ku ji vê navperê tê paşguh bike. Ji bo dûrbûnê re ne guncav e
+      undo: Astengkirina navperê vegerîne
+      view: Astengkirina navperê nîşan bike
     email_domain_blocks:
-      add_new: زیادکردنی نوێ
-      created_msg: بە سەرکەوتوویی دۆمەینی ئیمەیڵ بلۆک کرا
-      delete: سڕینەوە
-      domain: دۆمەین
+      add_new: Nû tevlî bike
+      attempts_over_week:
+        one: "%{count} hewldan di hefteya borî de"
+        other: "%{count} hewldanên tomarkirinê di hefteya borî de"
+      created_msg: Bi serkeftî navpera e-name hat asteng kirin
+      delete: Jê bibe
+      dns:
+        types:
+          mx: Tomarkerê MX
+      domain: Navper
       new:
-        create: زیادکردنی دۆمەین
-        title: بلۆککردنی دۆمەینی ئیمەیڵی نوێ
-      title: دۆمەینە بلۆککراوەکانی ئیمەیڵ
+        create: Navper tevlî bike
+        resolve: Navparê çareser bike
+        title: Navparê e-nameyê nû asteng bike
+      no_email_domain_block_selected: Tu astengên navparê e-nameyê nehatin guhertin ji ber ku tu yek nehatine hilbijartin
+      resolved_dns_records_hint_html: Navê navparê ji MX ên jêrîn re çareser dike, ên ku di dawiyê de berpirsiyarin ji pejirandina e-nameyê. Astengkirina navparek MX wê tomarkirina ji her navnîşana e-nameyê ya ku heman navpara MX bi kar tîne asteng bike, tevlî ku navê navparê xuya cûda be. <strong>Hişyar be ku peydekarên sereke yên e-nameyê asteng nekî.</strong>
+      resolved_through_html: Bi riya %{domain} ve hate çareserkirin
+      title: Navparên e-nameyê astengkirî
+    follow_recommendations:
+      description_html: "<strong>Şopandina pêşniyaran ji bo bikarhênerên nû re dibe alîkar ku zû naveroka balkêş bibînin</strong>. Gava ku bikarhênerek têra xwe bi kesên din re têkildar nebê da ku pêşnîyarên şopandina yên kesane bo xwe çêbike, li şûna van ajimêran têne pêşniyarkirin. Ew her roj ji tevliheviya ajimêrên bi tevlêbûnên herî dawîn ên herî bilind û jimara şopdarên herêmî yên herî pir ji bo zimaneke diyarkirî ji nû ve têne pêşniyarkirin."
+      language: Bo zimanê
+      status: Rewş
+      suppress: Bi bandorek mezin pêşniyara şopandinê bike
+      suppressed: Bandoreke mezin dibe
+      title: Pêşniyarên şopandinê
+      unsuppress: Pêşniyara şopandinê paşve vegerîne
     instances:
-      by_domain: دۆمەین
-      delivery_available: گەیاندن بەردەستە
+      availability:
+        description_html:
+          one: Ku radestkirina navparê <strong>%{count} roj </strong> bêyî serkeftin birevebiçe, heya ku radestkirinek <em> ji </em> navparê neyê wergirtin, wê hewildanên radestkirinê neyên kirin.
+          other: Ku radestkirina navparê <strong>%{count} rojên cuda</strong> bêyî serkeftin birevebiçe, heya ku radestkirinek <em> ji </em> navparê neyê wergirtin, wê hewildanên radestkirinê neyên kirin.
+        failure_threshold_reached: Rêjeya têkçûnê gihîşte %{date}.
+        failures_recorded:
+          one: Hewldana têkçûyî di %{count} roj de.
+          other: Hewldanên têkçûyî di %{count} rojên cuda de.
+        no_failures_recorded: Di tomarê de têkçûn tune.
+        title: Berdestbûnî
+      back_to_all: Hemû
+      back_to_limited: Sînorkirî
+      back_to_warning: Hişyarî
+      by_domain: Navper
+      confirm_purge: Ma tu dixwazî ku bi awayekî domdar daneyan ji vê navparê jê bibî?
+      content_policies:
+        comment: Nîşeya navxweyî
+        description_html: Tu dikarî polîtîkayên naverokê yên ku wê li hemû ajimêrên ji vê navparê û her kiîjan ji jêrnavparên werin sepandin diyar bikî.
+        policies:
+          reject_media: Medya nepejirîne
+          reject_reports: Ragihandinan nepejirîne
+          silence: Bi sînor bike
+          suspend: Rawestîne
+        policy: Polîtîka
+        reason: Sedemên gelemperî
+        title: Polîtîkayên naverokê
+      dashboard:
+        instance_accounts_dimension: Ajimêrên ku herî pir têne şopandin
+        instance_accounts_measure: ajimêrên tomarkirî
+        instance_followers_measure: şopînerên me li wir
+        instance_follows_measure: şopînerên wan li vir
+        instance_languages_dimension: Zimanên pir tên bikaranîn
+        instance_media_attachments_measure: pêvekên medyayê tomarkirî
+        instance_reports_measure: giliyên derbarê wan de
+        instance_statuses_measure: şandiyên tomarkirî
+      delivery:
+        all: Hemû
+        clear: Çewtiyên gihandinê paqij bike
+        restart: Gihandinê nû va bike
+        stop: Gehandinê rawestîne
+        unavailable: Nederbasdar
+      delivery_available: Gihandin berdest e
+      delivery_error_days: Rojên çewtiyên gehandinê
+      delivery_error_hint: Ger gehandin %{count} rojan ne pêkan be ewê wek bixweber wê nayê gehandin were nîşandan.
+      destroyed_msg: Daneyên %{domain} niha ji bo jêbirina nêzîk di rêzê de ne.
+      empty: Tu navper nehatine dîtin.
+      known_accounts:
+        one: "%{count} ajimêra naskirî"
+        other: "%{count} ajimêrên naskirî"
+        zero: Ajimêra naskirî tune ye
       moderation:
-        all: هەموو
-        limited: سنووردار
-        title: بەڕێوەبردن
-      private_comment: لێدوانی تایبەت
-      public_comment: سەرنجی گشتی
-      title: پەیوەندی نێوان ڕاژە
-      total_blocked_by_us: لەلایەن ئێمە بەربەست کراوە
-      total_followed_by_them: شوێنمان دەکەون
-      total_followed_by_us: شوێنیان کەوتین
-      total_reported: گوزارشت له باره یان
-      total_storage: هاوپێچی میدیا
+        all: Hemû
+        limited: Sînorkirî
+        title: Çavdêrî
+      private_comment: Şîroveya taybet
+      public_comment: Şîroveya ji hemû kesî re vekirî
+      purge: Pak bike
+      purge_description_html: Ku tu bawer dikî ev navpar bi domdarî negirêdayî ye, tu dikarî hemû tomarên ajimêr û daneyên xwe yîn têkildarî wê navparê jê bibî. Ev dibe ku hinek dem bigire.
+      title: Giştî
+      total_blocked_by_us: Ji aliyê me ve hatiye astengkirin
+      total_followed_by_them: Ji aliyê wan ve hatiye şopandin
+      total_followed_by_us: Ji aliyê ve me hate şopandin
+      total_reported: Giliyên derheqê wan de
+      total_storage: Pêvekên medyayê
+      totals_time_period_hint_html: Tevahiyên ku li jêr têne xuyakirin daneyên hemû deman dihewîne.
     invites:
-      deactivate_all: هەموو لەکارخستنی
+      deactivate_all: Hemûyan neçalak bike
       filter:
-        all: هەموو
-        available: بەردەستە
-        expired: بەسەرچووە
-        title: پاڵاوتن
-      title: بانگهێشتەکان
+        all: Hemû
+        available: Heye
+        expired: Dema wê qediya
+        title: Parzûn
+      title: Vexwendin
     ip_blocks:
-      add_new: دروستکردنی یاسا
-      created_msg: سەرکەوتووانە یاسای نوێی IP زیادکرا
-      delete: سڕینەوە
+      add_new: Rêbaz çê bike
+      created_msg: Rêzika nû a IPyê bi awayekî serkeftî hat tevlêkirin
+      delete: Jê bibe
       expires_in:
-        '1209600': ٢ هەفتە
-        '15778476': ٦ مانگ
-        '2629746': ١ مانگ
-        '31556952': ١ ساڵ
-        '86400': ١ ڕۆژ
-        '94670856': ٣ ساڵ
+        '1209600': 2 hefte
+        '15778476': 6 meh
+        '2629746': 1 meh
+        '31556952': 1 sal
+        '86400': 1 roj
+        '94670856': 3 sal
       new:
-        title: دروستکردنی یاسای نوێی IP
-      no_ip_block_selected: هیچ ڕێسایەکی IP نەگۆڕدرا وەک ئەوەی هیچ کامیان دەستنیشان نەکران
-      title: یاساکانی IP
+        title: Rêzika nû a IPyê çêbike
+      no_ip_block_selected: Ji ber ku tu ajimêr nehat hilbijartin tu rêzika IPyê nehate guhertin
+      title: Rêbazên IP
     relationships:
-      title: پەیوەنیەکان %{acct}
+      title: Têkiliyên %{acct}
     relays:
-      add_new: زیادکردنی گواستنەوەی نوێ
-      delete: سڕینەوە
-      description_html: دانەیەکی <strong>ڕێڵەی نێو ڕاژەییە(federation relay) کە قەبارەیەکی فرەی لە تووتە گشتییەکان لە نێو ڕاژە هاوبەشەکان و ئابوونەکان دەگوازێتەوە <strong>رێڵە یارمەتی بە ڕاژە بچکۆلەو مامناوە ندییەکان دەدا کە بابەتی فرەتر پەیدا بکەن</strong> گەر ڕێڵە نەبێت، ئەم بابەتە گشتییانە تەنها کاتێک پەیدا دەبن کە بە کارهێنەرانی ناوخۆیی خۆیان شوێنکەوتووی بەکارهێنەران لە سەر ڕاژەکانی دیکە بن.
-      disable: لەکارخستن
-      disabled: ناچالاککراوە
-      enable: چالاککراوە
-      enable_hint: کاتێک چالاک کرا، ڕاژەکارەکەت بەشداری دەکات لە هەموو توتەکانی گشتی لەم گواستنەوەیە، و دەست دەکات بە ناردنی توتی گشتی ئەم ڕاژەیە.
-      enabled: چالاککراوە
-      inbox_url: نیشانەی URL
-      pending: چاوەڕێی پەسەندکردنی ڕێلەی
-      save_and_enable: پاشکەوتکردن و چالاککردن
-      setup: دامەزراندنی ڕێڵەی پەیوەندی
-      signatures_not_enabled: ڕیلەکان بە دروستی کارناکات لە کاتێکدا دۆخی پارێزراو یان دۆخی سنوورداری گشتی چالاک کراوە
-      status: دۆخ
-      title: ڕێڵەکان
+      add_new: Guhêrkerê nû tevlê bike
+      delete: Jê bibe
+      description_html: "<strong>Guhêrkerê giştî</strong> rajekareke navberkar e ku hejmareke mezin ji şandiyan di navbera rajekaran ku jê re dibin endam û weşanê dikin diguherîne. <strong> Ew dikare ji rajekarên piçûk û navîn re bibe alîkar ku naveroka ji fendiverse </strong>ê bibîne, ku bi rengeke din pêdivî dike ku bikarhênerên herêmî bi desta li dû kesên din ên li rajekarên ji dûr be bişopînin."
+      disable: Neçalak bike
+      disabled: Neçalakkirî
+      enable: Çalak bike
+      enable_hint: Gava were çalakkirin, rajekara te dê ji hemî şandiyên giştî yên vê guhêrkerê re bibe endam, û dê dest bi şandina şandiyên giştî yên vê rajekarê bike.
+      enabled: Çalakkirî
+      inbox_url: URLa guhêrker
+      pending: Li benda pêjirandina guhêrker e
+      save_and_enable: Tomar û çalak bike
+      setup: Girêdanekê guhêrker saz bike
+      signatures_not_enabled: Dema ku moda ewle ya jî moda rêzoka spî çalak be guhêrker wê birêkûpêk nexebite
+      status: Rewş
+      title: Guhêrker
     report_notes:
-      created_msg: تێبینی ڕاپۆرت کردن بە سەرکەوتوویی دروست کرا!
-      destroyed_msg: تێبینی گوزارشت بە سەرکەوتوویی سڕاوەتەوە!
+      created_msg: Nîşeyê ragihandinê bi awayekî serkeftî pêk hat!
+      destroyed_msg: Nîşeyê ragihandinê bi awayekî serkeftî hate jêbirin!
+      today_at: Îro di %{time} de
     reports:
       account:
         notes:
-          one: "%{count} یاداشت"
-          other: "%{count} یاداشت"
-      action_taken_by: کردەوە لە لایەن
-      are_you_sure: دڵنیای?
-      assign_to_self: دیاریکردن بۆ من
-      assigned: بەڕێوەبەری بەرپرس
-      by_target_domain: دۆمەینی هەژمارەی گوزارشتدراو
+          one: "%{count} nîşe"
+          other: "%{count} nîşe"
+      action_log: Tomarê çavdêriyê
+      action_taken_by: Çalakî hate kirin ji aliyê
+      actions:
+        delete_description_html: Şandiyên hatine ragihandin wê werin jêbirin û were tomarkirin da ku ji te re bibe alîkar ku tu ji hêla heman ajimêrê ve binpêkirinên pêşerojê bêtir bikî.
+        mark_as_sensitive_description_html: Şandiyên hatine ragihandin wê werin nîşandan wekî hestyar û were tomarkirin da ku ji te re bibe alîkar ku tu ji hêla heman ajimêrê ve binpêkirinên pêşerojê bêtir bikî.
+        other_description_html: Bêtir vebijêrkên ji bo kontrolkirina tevgera ajimêrê bibîne û pêwendiyê li ser ajimêra ragihandî kesane bike.
+        resolve_description_html: Li hemberî ajimêra hatiye ragihandin wê tiştek pêk neyê, binpêkirin nayên tomarkirin û ragihandin wê were girtin.
+        silence_description_html: Wê profîl tenê ji kesên ku berê te dişopînin an ji bi destan lê serî lê didin re xuya bibe, gihandina wê bi tundî sînordar dike. Her gav dikare were vegerandin.
+        suspend_description_html: Heya ku di dawiyê de neyê jêbirin, wê profîl û hemû naverokên wê ne gihiştbar bin. Têkiliya bi ajimêrê re wê ne guncav be. Di nav 30 rojan de veger ji jêbirinê pêkan e.
+      actions_description_html: Ji bo çareserkirina vê ragihandinê biryar bide ka tê kîjan gav bavêjî. Ku tu li dijî ajimêrê ragihandî çalakiyeke cezakirinê bikî, ji bilî dema ku kategoriya <strong>Spam</strong> were hilbijartin, wê agahdariyek e-nameyê ji wan re were şandin.
+      add_to_report: Bo ragihandinê bêtir tevlî bike
+      are_you_sure: Gelo tu bawerî?
+      assign_to_self: Bo min diyar bike
+      assigned: Çavdêrê diyarkirî
+      by_target_domain: Navperê ya ajimêrê ragihandî
+      category: Beş
+      category_description_html: Sedema ku ev ajimêr û/an jî naverok hate ragihandin wê di pêwendiya bi ajimêrê ragihandinê de werê diyarkirin
       comment:
-        none: هیچ
-      created_at: گوزارشتکرا
-      mark_as_resolved: نیشانەی بکە وەک چارەسەرکراو
-      mark_as_unresolved: نیشانەکردن وەک چارەسەرنەکراوە
+        none: Ne yek
+      comment_description_html: 'Bo bêtir zanyarî bidî, %{name} nivîsand:'
+      created_at: Hate ragihandin
+      delete_and_resolve: Şandiyan jê bibe
+      forwarded: Beralîkirî
+      forwarded_to: Beralîkirî bo %{domain}
+      mark_as_resolved: Wekî çareserkirî nîşan bide
+      mark_as_sensitive: Wekî hestiyar nîşan bide
+      mark_as_unresolved: Wekî neçareserkirî nîşan bide
+      no_one_assigned: Ne yek
       notes:
-        create: زیادکردنی تێبینی
-        create_and_resolve: چارەسەر کردن لەگەڵ تێبینی
-        create_and_unresolve: دووبارە کردنەوەی بە تێبینی
-        delete: سڕینەوە
-        placeholder: باسی ئەو کردارانە بکە کە ئەنجام دراون، یان هەر نوێکردنەوەیەکی پەیوەندیداری ت...
-      reopen: دووبارە کردنەوەی گوزارشت
-      report: 'گوزارشت #%{id}'
-      reported_account: گوزارشتی هەژمارە
-      reported_by: گوزارشت لە لایەن
-      resolved: چارەسەرکرا
-      resolved_msg: گوزارشتکردن بە سەرکەوتوویی چارەسەر کرا!
-      status: دۆخ
-      title: گوزارشتکرا
-      unassign: دیارینەکراوە
-      unresolved: چارەسەر نەکراوە
-      updated_at: نوێکرایەوە
+        create: Nîşe tevlî bike
+        create_and_resolve: Bi nîşe re çareser bike
+        create_and_unresolve: Bi nîşe re dîsa veke
+        delete: Jê bibe
+        placeholder: Bide nasîn ka çi çalakî hatine kirin, an jî heman rojanekirinên din ên têkildar...
+        title: Nîşe
+      notes_description_html: Nîşeyan ji çavdêrên din û ji xwe re di pêşerojê de bibîne û bihêle
+      quick_actions_description_html: 'Ji bo dîtina naveroka ragihandî çalakiyeke bilez bavêje an jî li jêr bigere:'
+      remote_user_placeholder: bikarhênerê ji dûr ve ji %{instance}
+      reopen: Ragihandina ji nû ve veke
+      report: "@%{id} Ragihîne"
+      reported_account: Ajimêra ragihandî
+      reported_by: Ragihandî ji aliyê
+      resolved: Çareserkirî
+      resolved_msg: Ragihandin bi awayekî serkeftî hate çareserkirin!
+      skip_to_actions: Derbasî çalakiyan bibe
+      status: Rewş
+      statuses: Naveroka ragihandî
+      statuses_description_html: Naveroka sûcdar wê di danûstendina bi xwediyê ajimêra ragihandî re wê werê diyarkirin
+      target_origin: Jêdera ajimêrê ragihandî
+      title: Ragihandinên
+      unassign: Diyar neke
+      unresolved: Neçareserkirî
+      updated_at: Rojanekirî
+      view_profile: Profîlê nîşan bide
+    rules:
+      add_new: Rêbazekê tevlî bike
+      delete: Jê bibe
+      description_html: Dema ku piranîya dibêjin ku wan merçên karanînê xwendine û dipejirînin jî, bi gelemperî mirov heta ku pirsgirêkek dernekeve holê naxwîne. <strong> Bi peydakirina wan di navnîşek xala guleya rast de hêsantir bike ku tu rêbazên rajekera xwe li ser çavekî bibîne.</strong> Hewl bide ku rêbazênn yekkesî kurt û hêsan bihêlî, lê hewl bide ku wan tênexî gelek hêmanên cuda jî.
+      edit: Rêbazê serrast bike
+      empty: Tu rêbazên rajekar hê nehatine dîyarkirin.
+      title: Rêbazên rajekar
     settings:
       activity_api_enabled:
-        desc_html: ژماردنی دۆخی بڵاوکراوە ی ناوخۆیی و بەکارهێنەرە چالاکەکان و تۆماری نوێ لە سەتڵی هەفتانە
-        title: بڵاوکردنەوەی ئاماری کۆ دەربارەی چالاکی بەکارهێنەر
+        desc_html: Hejmara şandiyên weşandî yên herêmî, bikarhênerên çalak, û tomarkirin ên nû heftane
+        title: Tevahî amarên  ên di derbarê çalakiya bikarhêneran de biweşîne
       bootstrap_timeline_accounts:
-        desc_html: چەند ناوی بەکارهێنەرێک جیابکە بە بۆر، تەنها هەژمارەی بلۆککراوەکان و ناوخۆیی کاردەکەن. بنەڕەت کاتێک بەتاڵ بوو هەموو بەڕێوەبەرە خۆجێیەکانن.
-        title: بەدواداچوەکانی گریمانەیی بۆ بەکارهێنەرە نوێکان
+        desc_html: Navên bikarhênerên pir bi xalîçê veqetîne. Dê van ajimêran di pêşnîyarên jêrîn de werin xuyakirin
+        title: Van ajimêran ji bikarhênerên nû re pêşniyar bike
       contact_information:
-        email: ئیمەیلی بازرگانی
-        username: ناوی بەکارهێنەر
+        email: E-nameya karsazî
+        username: Bi bikarhêner re têkeve têkiliyê
       custom_css:
-        desc_html: دەستکاری کردنی شێوەی CSS بارکراو لەسەر هەموو لاپەڕەکان
-        title: CSSی تایبەتمەند
+        desc_html: Bi CSS a ku li her rûpelê hatiye barkirin, awayê dîmenê biguherîne
+        title: CSS a kesanekirî
       default_noindex:
-        desc_html: کاردەکاتە سەر هەموو بەکارهێنەرەکان کە ئەم ڕێکخستنە خۆیان نەگۆڕاون
-        title: بەکارهێنەران لە پێڕستکردنی بزوێنەری گەڕان بە گریمانەیی هەڵبژێن
+        desc_html: Hemû bikarhênerên ku ev sazkarî bi xwe neguhertiye bandor dike
+        title: Pêlrêçkirna bikarhêneran ji motorê lêgerînê dûr bixe
       domain_blocks:
-        all: بۆ هەموو کەسێک
-        disabled: بۆ هیچ کەسێک
-        title: بلۆکەکانی دۆمەین پیشان بدە
-        users: بۆ چوونە ژوورەوەی بەکارهێنەرانی ناوخۆ
+        all: Bo herkesî
+        disabled: Bo tu kesî
+        title: Astengkirinên navperê nîşan bide
+        users: Ji bo bikarhênerên herêmî yên xwe tomar kirine
       domain_blocks_rationale:
-        title: پیشاندانی ڕێژەیی
+        title: Sedemê nîşan bike
       hero:
-        desc_html: نیشان درا لە پەڕەی سەرەتا. بەلایەنی کەمەوە 600x100px پێشنیارکراوە. کاتێک ڕێک نەکەویت، دەگەڕێتەوە بۆ وێنۆجکەی ڕاژە
-        title: وێنەی پاڵەوان
+        desc_html: Li ser rûpela pêşîn tê xuyakirin. Bi kêmanî 600x100px tê pêşniyarkirin. Dema ku neyê sazkirin, vedigere ser dîmena wêneya piçûk a rajekar
+        title: Wêneya lehengê
       mascot:
-        desc_html: نیشان دراوە لە چەند لاپەڕەیەک. بەلایەنی کەمەوە 293× 205px پێشنیارکراوە. کاتێک دیاری ناکرێت، دەگەڕێتەوە بۆ بەختبەختێکی ئاسایی
-        title: وێنەی ماسکۆت
+        desc_html: Li ser rûpela pêşîn tê xuyakirin. Bi kêmanî 293×205px tê pêşniyarkirin. Dema ku neyê sazkirin, vedigere ser dîmena wêneya piçûk a maskot ya heyî
+        title: Wêneya maskot
       peers_api_enabled:
-        desc_html: ناوی دۆمەینەکانێک کە ئەم ڕاژە پەیوەندی پێوەگرتووە
-        title: بڵاوکردنەوەی لیستی راژەکانی دۆزراوە
+        desc_html: Navê navperên ku ev rajekar di fendiverse de rastî wan hatiye
+        title: Rêzoka rajekarên hatiye dîtin di API-yê de biweşîne
       preview_sensitive_media:
-        desc_html: بینینی لینک لە وێب سایتەکانی تر وێنۆچکەیەک پیشان دەدات تەنانەت ئەگەر میدیاکە بە هەستیاری نیشان کرابێت
-        title: پیشاندانی میدیای هەستیار لە پێشبینیەکانی OpenGraph
+        desc_html: Pêşdîtinên girêdanê yên li ser malperên din tevlî ku medya wekî hestyar hatiye nîşandan wê wekî wêneyekî piçûk nîşan bide
+        title: Medyayê hestyar nîşan bide di pêşdîtinên OpenGraph de
       profile_directory:
-        desc_html: ڕێگەدان بە بەکارهێنەران بۆ دۆزینەوەیان
-        title: چالاککردنی ڕێنیشاندەرێکی پرۆفایل
+        desc_html: Mafê bide bikarhêneran ku bêne vedîtin
+        title: Pelrêçên profilê çalak bike
       registrations:
         closed_message:
-          desc_html: لە پەڕەی پێشەوە پیشان دەدرێت کاتێک تۆمارەکان داخراون. دەتوانیت تاگەکانی HTML بەکاربێنیت
-          title: نامەی تۆمارکردن داخراو
+          desc_html: Gava ku tomarkirin têne girtin li ser rûpelê pêşîn têne xuyang kirin. Tu dikarî nîşanên HTML-ê bi kar bîne
+          title: Tomarkirinê girtî ya peyaman
         deletion:
-          desc_html: ڕێ بدە بە هەر کەسێک هەژمارەکەی بسڕیتەوە
-          title: سڕینەوەی هەژمارە بکەوە
+          desc_html: Maf bide ku herkes bikaribe ajimêrê te jê bibe
+          title: Jê birina ajimêrê vekek
         min_invite_role:
-          disabled: هیچکەس
-          title: ڕێپێدانی بانگهێشتەکان لەلایەن
+          disabled: Ne yek
+          title: Maf bide vexwendinên ji alîyê
+        require_invite_text:
+          desc_html: Gava ku tomarkirin pêdiviya pejirandina destan dike, Têketina nivîsê "Tu çima dixwazî beşdar bibî?" Bibe sereke ji devla vebijêrkî be
+          title: Ji bo bikarhênerên nû divê ku sedemek tevlêbûnê binivîsinin
       registrations_mode:
         modes:
-          approved: پەسەندکردنی داواکراو بۆ ناوتۆمارکردن
-          none: کەس ناتوانێت خۆی تۆمار بکات
-          open: هەر کەسێک دەتوانێت خۆی تۆمار بکات
-        title: مەرجی تۆمارکردن
+          approved: Ji bo têketinê erêkirin pêwîste
+          none: Kesek nikare tomar bibe
+          open: Herkes dikare tomar bibe
+        title: Awayê tomarkirinê
       show_known_fediverse_at_about_page:
-        desc_html: کاتێک ناچالاک کرا، هێڵی کاتی گشتی کە بەستراوەتەوە بە لاپەڕەی ئێستا سنووردار دەبن، تەنها ناوەڕۆکی ناوخۆیی پیشاندەدرێن
-        title: نیشاندانی ڕاژەکانی دیکە لە پێشنەمایەشی ئەم ڕاژە
+        desc_html: Dema ku neçalak be, demnameya gerdûnî ya ku ji rûpela zeviyê ve hatî girêdan tenê bi nîşandana naveroka herêmî tên sînorkirin
+        title: Li ser rûpela demnameya ne naskirî naveroka giştî nîşan bide
       show_staff_badge:
-        desc_html: پیشاندانی هێمایەک هاوکار لە سەر پەڕەی بەکارهێنەر
-        title: نیشاندانی هێمای هاوکار
+        desc_html: Di rûpela bikarhêner da rozeta xebatkaran nîşan bike
+        title: Rozeta xebatkara nîşan bike
       site_description:
-        desc_html: کورتە باسیک دەربارەی API، دەربارەی ئەوە چ شتێک دەربارەی ئەم ڕاژەی ماستۆدۆن تایبەتە یان هەر شتێکی گرینگی دیکە. دەتوانن HTML بنووسن، بەتایبەت <code>&lt;a&gt;</code> وە <code>&lt;em&gt;</code>.
-        title: دەربارەی ئەم ڕاژە
+        desc_html: Paragrafa destpêkê li ser API. Dide nasîn ka çi ev rajekarê Mastodon taybet dike û tiştên din ên girîn. Tu dikarî hashtagên HTML-ê, bi kar bîne di <code>&lt;a&gt;</code> û <code>&lt;em&gt;</code> de.
+        title: Danasîna rajekar
       site_description_extended:
-        desc_html: شوێنیکی باشە بۆ نووسینی سیاسەتی ئیس، یاسا و ڕێسا ، ڕێنمایی و هەر شتیک کە تایبەت بەم ڕاژیە، تاگەکانی HTMLــلیش ڕێگەی پێدراوە
-        title: زانیاری تەواوکەری تایبەتمەندی
+        desc_html: Ji bo kodê perwerdetî, rêzik, rêbername û tiştên din ên ku rajekara te ji hev cihê dike cîhekî baş e. Tu dikarî hashtagên HTML-ê bi kar bîne
+        title: Zanyarên berfirehkirî ya rajekar
       site_short_description:
-        desc_html: نیشان لە شریتی لاتەنیشت و مێتا تاگەکان. لە پەرەگرافێک دا وەسفی بکە کە ماستۆدۆن چیە و چی وا لە ڕاژە کە دەکات تایبەت بێت.
-        title: دەربارەی ئەم ڕاژە
+        desc_html: Ew di alavdanka kêlekê û tagên meta de tên xuyakirin. Di yek paragrafê de rave bike ka Mastodon çi ye û ya ku ev rajekar taybetî dike.
+        title: Danasîna rajekarê kurt
       site_terms:
-        desc_html: دەتوانیت سیاسەتی تایبەتیێتی خۆت بنووسیت، مەرجەکانی خزمەتگوزاری یان یاسایی تر. دەتوانیت تاگەکانی HTML بەکاربێنیت
-        title: مەرجەکانی خزمەتگوزاری ئاسایی
-      site_title: ناوی ڕاژە
+        desc_html: Tu dikarî polîtika nihêniyê xwe, mercên karûbar an nameyên din binvisîne. Tu dikarî nîşanên HTML-ê bi kar bîne
+        title: Mercên bikaranîn a kesanekirî
+      site_title: Navê rajekar
       thumbnail:
-        desc_html: بۆ پێشبینین بەکارهاتووە لە ڕێگەی OpenGraph وە API. ڕووناکی بینین ١٢٠٠x٦٣٠پیکسێڵ پێشنیارکراوە
-        title: وێنەی بچکۆلەی ڕاژە
+        desc_html: Ji bo pêşdîtinên bi riya OpenGraph û API-yê têne bikaranîn. 1200x630px tê pêşniyar kirin
+        title: Wêneya piçûk a rajekar
       timeline_preview:
-        desc_html: لینکەکە نیشان بدە بۆ هێڵی کاتی گشتی لەسەر پەڕەی نیشتنەوە و ڕێگە بە API بدە دەستگەیشتنی هەبێت بۆ هێڵی کاتی گشتی بەبێ سەلماندنی ڕەسەنایەتی
-        title: ڕێگەبدە بە چوونە ژورەوەی نەسەلمێنراو بۆ هێڵی کاتی گشتی
-      title: ڕێکخستنەکانی ماڵپەڕ
+        desc_html: Girêdana demnameya gelemperî li ser rûpela daxistinê nîşan bide û mafê bide ku API bêyî rastandinê bigihîje damnameya gelemperî
+        title: Mafê bide gihîştina ne naskirî bo demnameya gelemperî
+      title: Sazkariyên malperê
       trendable_by_default:
-        desc_html: کاریگەری لەسەر هاشتاگی پێشوو کە پێشتر ڕێگە پێنەدراوە
-        title: ڕێگە بدە بە هاشتاگی بەرچاوکراوە بەبێ پێداچوونەوەی پێشوو
+        desc_html: Hashtagên ku berê hatibûn qedexekirin bandor dike
+        title: Bihêle ku hashtag bêyî nirxandinek pêşîn bibe rojev
       trends:
-        desc_html: بە ئاشکرا هاشتاگی پێداچوونەوەی پێشوو پیشان بدە کە ئێستا بەرچاوکراوەن
-        title: هاشتاگی بەرچاوکراوە
+        desc_html: Hashtagên ku berê hatibûn nirxandin ên ku niha rojev in bi gelemperî bide xuyakirin
+        title: Hashtagên rojevê
     site_uploads:
-      delete: سڕینەوەی فایلی بارکراو
-      destroyed_msg: بارکردنی ماڵپەڕ بە سەرکەوتوویی سڕدراوەتەوە!
+      delete: Pela barkirî jê bibe
+      destroyed_msg: Barkirina malperê bi serkeftî hate jêbirin!
     statuses:
-      back_to_account: گەڕانەوە بۆ لاپەڕەی هەژمارە
-      deleted: سڕینەوە
+      back_to_account: Vegere bo rûpela ajimêr
+      back_to_report: Vegere rûpela ragihandinê
+      batch:
+        remove_from_report: Ji ragihandinê rake
+        report: Ragihîne
+      deleted: Hate jêbirin
       media:
-        title: میدیا
-      no_status_selected: هیچ دۆخیک نەگۆڕاوە وەک ئەوەی هیچ بارێک دەستنیشان نەکراوە
-      title: دۆخی ئەژمێر
-      with_media: بە میدیا
+        title: Medya
+      no_status_selected: Tu şandî nehat hilbijartin ji ber vê tu şandî jî nehat guhertin
+      title: Şandiyên ajimêr
+      with_media: Bi medya yê re
+    strikes:
+      actions:
+        delete_statuses: "%{name} şandiyên %{target} jêbirin"
+        disable: "%{name} ajimêr %{target} cemidand"
+        mark_statuses_as_sensitive: "%{name} medyayê %{target} wekî hestiyar nîşan kir"
+        none: "%{name} ji bo %{target} hişyariyek şand"
+        sensitive: "%{name} ajimêrê %{target} wekî hestiyarî nîşan kir"
+        silence: "%{name} ajimêra %{target} bi sînor kir"
+        suspend: "%{name} ajimêra %{target} hilda rawestandinê"
+      appeal_approved: Îtîraz
+      appeal_pending: Îtîraz li benda nirxandinê ye
+    system_checks:
+      database_schema_check:
+        message_html: Koçberiyên databasê yên li bendê hene. Ji kerema xwe wan bişopîne da ku bicîh bikî ku sepan wekî ku tê hêvî kirin tevbigere
+      rules_check:
+        action: Rêzikên rajekara bi rê ve bibe
+        message_html: Te qet rêzikên rajekara diyar nekiriye.
+      sidekiq_process_check:
+        message_html: Pêvajoyên Sidekiq ên heyî ji bo %{value} di rêz (an) de tune ne. Ji kerema xwe sazkariyên Sidekiq a xwe binirxîne
     tags:
-      review: پێداچوونەوەی دۆخ
-      updated_msg: ڕێکخستنی هاشتاگ بە سەرکەوتوویی نوێکرایەوە
-    title: بەڕێوەبەر
+      review: Binêre rewşê
+      updated_msg: Sazkariyên hashtag bi awayekî serkeftî hate rojanekirin
+    title: Rêvebirî
+    trends:
+      allow: Bihêle
+      approved: Pejirandî
+      disallow: Nehêle
+      links:
+        allow: Mafê bide girêdanê
+        allow_provider: Mafê bide weşanger
+        description_html: Van girêdanên ku niha ji hêla ajimêrên ku rajekarê te ji wan peyaman dibîne pir têne parvekirin. Ew dikare ji bikarhênerên te re bibe alîkar ku fêr bibin ka li cîhanê çi diqewime. Heya ku tu weşanger nepejirînin, ti girêdan bi gelemperî nayê xuyangkirin. Her weha tu dikarî mafê bidî girêdanên kesane an jî nedî.
+        disallow: Mafê nede girêdanê
+        disallow_provider: Mafê nede weşanger
+        shared_by_over_week:
+          one: Di nava hefteya dawî de ji aliyê keskekî ve hate parvekirin
+          other: Di nava hefteya dawî de ji aliyê %{count} kes ve hate parvekirin
+          zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate parvekirin
+        title: Girêdanên di rojevê de
+        usage_comparison: Îro %{today} car hate parvekirin, li gorî %{yesterday} duh
+      pending_review: Li benda nirxandinê ye
+      preview_card_providers:
+        allowed: Girêdanên ji vê weşangerê dikarin bibin rojev
+        description_html: Ev navperên ku ji wan girêdanên bi gelemperî li ser rajekarê te têne parvekirin. Heya ku girêdana rojevê neyê pejirandin, girêdan wê ji raya giştî re nebin rojev. Pejirandina (an nepejirandina) te berbi jêrnavperan ve diçe.
+        rejected: Girêdanên ji vê weşangerê nikarin bibin rojev
+        title: Weşanger
+      rejected: Nepejirand
+      statuses:
+        allow: Mafê bide şandiyê
+        allow_account: Mafê bide nivîskar
+        description_html: Van şandiyên ku rajekarê te pê dizane ku niha pir têne parvekirin û bijartekirin. Ew dikare ji bikarhênerên te yên nû û yên vedigerin re bibe alîkar ku bêtir mirovên ku bişopînin bibînin. Heya ku tu nivîskar nepejirînî, tu şandî bi gelemperî nayên xuyangkirin, û nivîskar mafê dide ku ajimêrê xwe ji kesên din re were pêşniyarkirin. Her weha tu dikarî mafê bidî şandiyên kesane an jî nedî.
+        disallow: Mafê nede şandiyê
+        disallow_account: Mafê nede nivîskar
+        not_discoverable: Nivîskar nejilbijartiye ji bo ku were kifşkirin
+        shared_by:
+          one: Yek carî parvekirî an bijartî
+          other: "%{friendly_count} carên parvekirî û bijartî"
+        title: Şandiyên rojevê
+      tags:
+        current_score: Encama niha %{score}
+        dashboard:
+          tag_accounts_measure: bikaranînên bêhempa
+          tag_languages_dimension: Zimanên pir tên bikaranîn
+          tag_servers_dimension: Rajekarên pir tên bikaranîn
+          tag_servers_measure: rajekarên cuda
+          tag_uses_measure: bikaranîna giştî
+        description_html: Ev hashtag in ku niha di gelek şandiyên ku rajekarê te dibîne de xuya dibin. Ew dikare ji bikarhênerên te re bibe alîkar ku fêr bibin ka mirov di vê demê de herî pir li ser çi diaxive. Heya ku tu wan nepejirînî, tu hashtag bi gelemperî nayê xuyangkirin.
+        listable: Dikare were pêşniyarkirin
+        not_listable: Nikare wer pêşniyarkirin
+        not_trendable: Wê di bin rojevan de xuya neke
+        not_usable: Nikare were bikaranîn
+        peaked_on_and_decaying: Di %{date} de derketiye asta herî bilind, û niha winda dibe
+        title: Hashtagên rojevê
+        trendable: Dikare di bin rojevan de xuya bibe
+        trending_rank: 'Rojev #%{rank}'
+        usable: Dikare were bikaranîn
+        usage_comparison: "%{today} car îro hate bikaranîn, li gorî %{yesterday} duh"
+        used_by_over_week:
+          one: Di nava hefteya dawî de ji aliyê kesekî ve hatiye bikaranîn
+          other: Di nava hefteya dawî de ji %{count} kes ve hatiye bikaranîn
+          zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate bikaranîn
+      title: Rojev
     warning_presets:
-      add_new: زیادکردنی نوێ
-      delete: سڕینەوە
-      edit_preset: دەستکاریکردنی ئاگاداری پێشگریمان
-      title: بەڕێوەبردنی ئاگادارکردنەوە پێش‌سازدان
+      add_new: Yeka nû tevlî bike
+      delete: Jê bibe
+      edit_preset: Hişyariyên pêşsazkirî serrast bike
+      empty: Te hin tu hişyariyên pêşsazkirî destnîşan nekirine.
+      title: Hişyariyên pêşsazkirî bi rêve bibe
   admin_mailer:
+    new_appeal:
+      actions:
+        delete_statuses: ku şandiyên wan jê bibî
+        disable: ku ajimêrê wan bicemidînî
+        mark_statuses_as_sensitive: ku şandiyê wan wekî hestyar nîşan bikî
+        none: hişyariyek
+        sensitive: ku ajimêrê wan wekî hestyar nîşan bikî
+        silence: ku ajimêrê wan sînordar bikî
+        suspend: ku ajimêrê wan bidî rawestandin
+      body: "%{target} îtiraza biryareke çavdêriyê dike bi riya %{action_taken_by} ji %{date}, ku %{type} bû. Wan nivîsand:"
+      next_steps: Tu dikarî îtirazê bipejirînî ku biryara çavdêriyê têk bibî, an jî paşguh bikî.
+      subject: "%{username} li ser %{instance} îtiraz li biryareke çavdêriyê dike"
     new_pending_account:
-      body: وردەکاریهەژمارە نوێیەکە لە خوارەوەیە. دەتوانیت ئەم نەرمەکالا پەسەند بکەیت یان ڕەت بکەیتەوە.
-      subject: هەژمارەیەک نوێ بۆ پێداچوونەوە لەسەر %{instance} (%{username})
+      body: Zanyariyênn ajimêra nû li jêr in. Tu dikarî vê serîlêdanê bipejirîne an pûç bike.
+      subject: "(%{username}) ajimêrê nû ji bo vekolandina li ser %{instance}"
     new_report:
-      body: بەکارهێنەری %{reporter} گوزارشی لە بەکارهینەری%{target} دا
-      body_remote: کەسێک لە %{domain} گوزارشتی %{target} ناردووە
-      subject: گوزارشتێکی نوی لە %{instance} (#%{id})
+      body: "%{reporter} ji %{target} ê ragihand"
+      body_remote: Kesekî bi navê %{domain} ji %{target} ê ragihand
+      subject: Ragihandinek nû ji bo %{instance} (#%{id})
+    new_trends:
+      body: 'Tiştên jêrîn berî ku ew bi gelemperî werin xuyakirin divê werin nirxandin:'
+      new_trending_links:
+        no_approved_links: Niha tu girêdanên rojeva pejirandî tune ne.
+        requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} girêdana diyarkirî ya pejirandî derbas bibe, niha ku "%{lowest_link_title}" bi %{lowest_link_score} puan e.'
+        title: Girêdanên rojevê
+      new_trending_statuses:
+        no_approved_statuses: Niha tu şandiyên rojeva pejirandî tune ne.
+        requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} şandiyaa diyarkirî ya pejirandî derbas bibe, niha ku %{lowest_status_url} bi %{lowest_status_score} puan e.'
+        title: Şandiyên rojevê
+      new_trending_tags:
+        no_approved_tags: Niha hashtagên rojevê pejirandî tune ne.
+        requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} hashtagaa diyarkirî ya pejirandî derbas bibe, niha ku #%{lowest_tag_name} bi %{lowest_tag_score} puan e.'
+        title: Hashtagên rojevê
+      subject: Rojevên nû ji bo nirxandinê li ser %{instance} derdikevin
   aliases:
-    add_new: دروستکردنی ناوی ساختە
-    created_msg: نازناوێکی نوێیان سەرکەوتووانە دروستکرد. ئێستا دەتوانیت دەست بە گواستنەوە کەیت لە هەژمێرە کۆنەکەت.
-    deleted_msg: سەرکەوتووانە نازناوەکان لابدە. گواستنەوە لەو هەژمارەوە بۆ ئەم کەسە چیتر نابێت.
-    empty: هیچ نازناوێکت نیە.
-    hint_html: ئەگەر دەتەوێت لە هەژمارەیەکی ترەوە بگوێزریتەوە بۆ ئەم هەژمارە، لێرەدا دەتوانیت نازناوێک دروست بکەیت، پێش ئەوەی ئەوە بەردەوام بیت لە گواستنەوەی لە هەژمارە کۆنەکە بۆ ئەم هەژمارە پێویستە. ئەم کردەوەیە خۆی لە خۆیدا <strong>بێ زەرە و ناگەڕێتەوە</strong><strong>گواستنەوەی لە هەژمارەی کۆنە بۆ هەژمارەی نوێ دەستی پێکردووە</strong>.
-    remove: سڕینەوەی پەیوەندی ناز ناو
+    add_new: Naveke sexte çê bike
+    created_msg: Bi serkeftî nûçikê nû hat çêkirin. Tu niha dikarî di ajimêrê xwe kevn bar bikî.
+    deleted_msg: Nûçik bi serkeftî hat rakirin. Êdî nepêkan e vê ajimêrê de barkirina ajimêrek din.
+    empty: Nûçikên te tune ne.
+    hint_html: Heke tu dixwazî ji ajimêreke din bar bike bo yekî din, li vir tu dikarî bernavekê biafirîne, ku pêdivî ye berî ku tu bi şopandina şopînerên xwe ji ajimêra kevn ber bi vê yekê biçe. Ev çalakî bi serê xwe <strong>bê ziyan û vegere</strong>.<strong>Koçberiya ajimêr ji ajimêreke kevin dest pê dike</strong>.
+    remove: Girêdana nûçikê rake
   appearance:
-    advanced_web_interface: روخساری پێشکەوتوو
-    advanced_web_interface_hint: 'ئەگەر دەتەوێت پانی شاشەکە بەکاربێنیت، دەتوانی بە یارمەتی ڕووکاری پێشکەوتوو چەندین ستوونی جیاواز ڕێکبخەیت بۆ بینینی زانیاری زیاتر لە هەمان کات کە دەتەوێت بیبینیت: نووسراوەکانی نووسەرانی دیکە، ئاگانامەکان، پێرستی نووسراوەکانی هەموو شوێنێک، وە هەر ژمارەیەک لە لیستەکان و هاشتاگەکان.'
-    animations_and_accessibility: ئەنیمەیشن و توانایی دەستپێگەیشتن
-    confirmation_dialogs: پەیامەکانی پەسەندکراو
-    discovery: دۆزینەوە
+    advanced_web_interface: Navrûya tevnê yê pêşketî
+    advanced_web_interface_hint: 'Heke tu bixwazin tevahiya ferehiya dîmendera xwe bi kar bînî, navrûya pêşketî ya tevnê dihêle ku tu gelek stûnên cihêreng saz bikî da ku di heman demê de bi qasî ku tu dixwazî zanyariyan bibînî: Serrûpel, agahdarî, demnameya giştî, her hejmarek ji rêzik û hashtagan.'
+    animations_and_accessibility: Anîmasyon û gihînî
+    confirmation_dialogs: Gotûbêjên piştrastkirî
+    discovery: Vedîtin
     localization:
-      body: ماستۆدۆن لەلایەن خۆبەخشەوە وەردەگێڕێت.
-      guide_link_text: هەموو کەسێک دەتوانێت بەشداری بکات.
-    sensitive_content: ناوەڕۆکی هەستیار
-    toot_layout: لۆی توت
+      body: Mastodon ji aliyê xêrxwazan tê wergerandin.
+      guide_link: https://crowdin.com/project/mastodon
+      guide_link_text: Herkes dikare beşdar bibe.
+    sensitive_content: Naveroka hestiyarî
+    toot_layout: Xêzkirina şandîya
   application_mailer:
-    notification_preferences: گۆڕینی پەسەندکراوەکانی ئیمەیڵ
-    settings: 'گۆڕینی پەسەندکراوەکانی ئیمەیڵ: %{link}'
-    view: 'نیشاندان:'
-    view_profile: پرۆفایل نیشان بدە
-    view_status: پیشاندانی دۆخ
+    notification_preferences: Hevyazên e-name yê biguherîne
+    salutation: "%{name},"
+    settings: 'Hevyazên e-name yê biguherîne: %{link}'
+    view: 'Nîşan bide:'
+    view_profile: Profîlê nîşan bide
+    view_status: Şandiyê nîşan bide
   applications:
-    created: بەرنامە بە سەرکەوتوویی دروست کرا
-    destroyed: بەرنامە بە سەرکەوتوویی سڕدراوەتەوە
-    invalid_url: بەستەری دابینکراو نادروستە
-    regenerate_token: دووبارە دروستکردنەوەی نیشانەی چوونە ژوورەوە
-    token_regenerated: کۆدی دەستپێگەیشتن بە سەرکەوتوویی دروستکرا
-    warning: زۆر ئاگاداربە لەم داتایە. هەرگیز لەگەڵ کەس دا هاوبەشی مەکە!
-    your_token: کۆدی دەستپێگەیشتنی ئێوە
+    created: Sepan bi awayekî serkeftî hat çêkirin
+    destroyed: Sepan bi awayekî serkeftî hat jêbirin
+    invalid_url: URL ya hatiye dayîn ne derbasdar e
+    regenerate_token: Nîşandera gihandinê bi nûve çêbike
+    token_regenerated: Nîşandera gihandinê bi serkeftî nû ve hat çêkirin
+    warning: Bi van daneyan re pir baldar be. Tu caran bi kesî re parve neke!
+    your_token: Nîşana gihîştina te
   auth:
-    apply_for_account: داواکردنی بانگهێشتێک
-    change_password: تێپەڕوشە
-    checkbox_agreement_html: من ڕازیم بە <a href ="%{rules_path}" target="_blank">یاساکانی ڕاژە</a> وە <a href="%{terms_path}" target="_blank">مەرجەکانی خزمەتگوزاری</a>
-    checkbox_agreement_without_rules_html: من ڕازیم بە <a href="%{terms_path}" target="_blank">مەرجەکانی خزمەتگوزاری</a>
-    delete_account: سڕینەوەی هەژمارە
-    delete_account_html: گەر هەرەکتە هەژمارەکەت بسڕیتەوە، لە <a href="%{path}">لەم قوناغانە</a> بڕۆیتە پێشەوە. داوای پەسەند کردنتان لێدەگیرێت.
+    apply_for_account: Daxwaza vexwendinekê bike
+    change_password: Pêborîn
+    checkbox_agreement_html: Ez <a href="%{rules_path}" target="_blank">rêbazên rajeker</a> û <a href="%{terms_path}" target="_blank">hêmanên karûbaran</a> dipejirînim
+    checkbox_agreement_without_rules_html: Ez <a href="%{terms_path}" target="_blank">hêmanên karûbaran</a> rêbazên rajeker dipejirînim
+    delete_account: Ajimêr jê bibe
+    delete_account_html: Heke tu dixwazî ajimêra xwe jê bibe, tu dikarî <a href="%{path}">li vir bidomîne</a>. Ji te tê xwestin ku were pejirandin.
     description:
-      prefix_invited_by_user: "@%{name} بانگت دەکات بۆ پەیوەندیکردن بەم ڕاژەی ماستۆدۆن!"
-      prefix_sign_up: ئەمڕۆ خۆت تۆمار بکە لە ماستۆدۆن!
-      suffix: بە هەژمارەیەک، دەتوانیت شوێن هەژمارەکانی دیکە بکەویت، نوێکردنەوەکان بڵاوبکەوە و نامە لەگەڵ بەکارهێنەران لە هەر ڕاژەیەکی ماستۆدۆن و زیاتر بگۆڕیتەوە!
-    didnt_get_confirmation: ڕێنماییەکانی دڵنیاکردنەوەت پێنەدرا?
-    dont_have_your_security_key: کلیلی ئاسایشت نیە?
-    forgot_password: تێپەڕوشەکەت لەبیر چووە?
-    invalid_reset_password_token: وشەی نهێنی دووبارە ڕێکبخەوە دروست نیە یان بەسەرچووە. تکایە داوایەکی نوێ بکە.
-    link_to_otp: کۆدی دوو فاکتەر لە تەلەفۆنەکەت یان کۆدی چاککردنەوە تێبنووسە
-    link_to_webauth: بەکارهێنانی ئامێری کلیلی پاراستن
-    login: چوونەژوورەوە
-    logout: چوونەدەرەوە
-    migrate_account: گواستنەوە بۆ ئەژمێرێکی تر
-    migrate_account_html: ئەگەر دەتەوێت ئەم هەژمارە دووبارە ئاڕاستە بکەیت بۆ ئەژمێرێکی تر، دەتوانیت <href="%{path}"> کرتەیەک لێرە بکەی </a>.
-    or_log_in_with: یان چوونە ژوورەوە بە
-    register: خۆ تۆمارکردن
-    registration_closed: "%{instance} ئەندامانی نوێ قبووڵ ناکات"
-    resend_confirmation: دووبارە ناردنی ڕێنماییەکانی دووپاتکردنەوە
-    reset_password: گەڕانەوەی تێپەڕوشە
-    security: ئاسایش
-    set_new_password: سازدانی تێپەڕوشەی نوێ
+      prefix_invited_by_user: "@%{name} te vedixwîne ku tu beşdarî vê rajekara Mastodon-ê bibî!"
+      prefix_sign_up: Îro li Mastodonê tomar bibe!
+      suffix: Bi ajimêrekê, tu yê karibî kesan bişopînî, rojanekirinan bişînî û bi bikarhênerên ji her rajekarê Mastodon re peyaman bişînî û bêhtir!
+    didnt_get_confirmation: Te rêwerzên pejirandinê wernegirt?
+    dont_have_your_security_key: Kilîda te ya ewlehiyê tune ye?
+    forgot_password: Te pêborîna xwe jibîrkir?
+    invalid_reset_password_token: Ji nû ve sazkirina pêborînê nederbasdar e an jî qediya ye. Jkx daxwaza yeka nû bike.
+    link_to_otp: Ji têlefona xwe an jî ji kodeke rizgarkirinê kodeke du-gavî binivîsine
+    link_to_webauth: Amûra kilîta ewlehiya xwe bi kar bîne
+    log_in_with: Têkeve bi riya
+    login: Têkeve
+    logout: Derkeve
+    migrate_account: Derbasî ajimêreke din bibe
+    migrate_account_html: Heke tu dixwazî ev ajimêr li ajimêreke cuda beralî bikî, tu dikarî <a href="%{path}">ji vir de saz bike</a>.
+    or_log_in_with: An têketinê bike bi riya
+    providers:
+      cas: CAS
+      saml: SAML
+    register: Tomar bibe
+    registration_closed: "%{instance} endamên nû napejirîne"
+    resend_confirmation: Rêwerên pejirandinê ji nû ve bişîne
+    reset_password: Pêborînê ji nû ve saz bike
+    security: Ewlehî
+    set_new_password: Pêborîneke nû ji nû ve saz bike
     setup:
-      email_below_hint_html: ئەگەر ناونیشانی ئیمەیڵی خوارەوە نادروستە، دەتوانیت لێرە بیگۆڕیت و ئیمەیڵێکی پشتڕاستکردنەوەی نوێ وەربگۆڕیت.
-      email_settings_hint_html: ئیمەیڵی پشتڕاستکردنەوە کە نێردرا بۆ %{email}. ئەگەر ناونیشانی ئیمەیڵ ڕاست نەبوو، دەتوانیت لە ڕێکبەندەکانی هەژمارەکەت بیگۆڕیت.
-      title: دامەزراندن
+      email_below_hint_html: Heke navnîşana e-nameya jêrîn ne rast be, tu dikarî wê li vir biguherîne û e-nameyeke pejirandinê ya nû bistîne.
+      email_settings_hint_html: E-nameya pejirandinê ji %{email} re hate şandin. Heke ew navnîşana e-nameyê ne rast be, tu dikarî wê di sazkariyên ajimêr de biguherîne.
+      title: Damezirandin
     status:
-      account_status: دۆخی هەژمارە
-      confirming: چاوەڕوانی دڵنیاکردنەوەی ئیمەیڵ بۆ تەواوکردن.
-      pending: ئەپلیکەیشەنەکەت چاوەڕوانی پێداچوونەوەیە لەلایەن ستافەکەمانەوە. لەوانەیە ئەمە هەندێک کاتی بخایەنێت ئەگەر ئەۆپەکەت پەسەند کرا، ئیمەیڵت پێدەگات.
-      redirecting_to: هەژمارەکەت ناچالاکە لەبەرئەوەی ئێستا دووبارە ئاڕاستەدەکرێتەوە بۆ %{acct}.
-    trouble_logging_in: کێشە ت هەیە بۆ چوونە ژوورەوە?
-    use_security_key: کلیلی ئاسایش بەکاربهێنە
+      account_status: Rewşa ajimêr
+      confirming: Li benda pejirandina e-nameyê ne da ku biqede.
+      functional: Ajimêra te êdî amade ye.
+      pending: Daxwaza te li benda vekolînê ji hêla xebatkarên me ye. Ev dibe ku hinek dem bigire. Heke daxwaza te were pejirandin tu yê e-nameyekê bistîne.
+      redirecting_to: Ajimêra te neçalak e ji ber ku niha ber bi %{acct} ve tê beralîkirin.
+      view_strikes: Binpêkirinên berê yên dijî ajimêrê xwe bibîne
+    too_fast: Form pir zû hat şandin, dîsa biceribîne.
+    trouble_logging_in: Têketina te de pirsgirêk çêdibe?
+    use_security_key: Kilîteke ewlehiyê bikar bîne
   authorize_follow:
-    already_following: ئێوە ئێستا شوێن کەوتووی ئەم هەژمارەیەی
-    already_requested: تۆ پێشتر داواکاری بەدواداچوت ناردوە بۆ ئەو هەژمارە
-    error: بەداخەوە هەڵەیەک هەبوو لە کاتی گەڕان بەدوای ئەو هەژمارەیە
-    follow: شوێن کەوە
-    follow_request: 'تۆ داواکاری شوێنکەوتنت ناردووە بۆ:'
-    following: 'ئەنجام بوو! تۆ ئێستا بەدوای ئەم بەکارهێنەرە دەکەویت:'
+    already_following: Jixwe tu vê ajimêrê dişopînî
+    already_requested: Jixwe te ji vê ajimêrê re daxwazîya şopandinê şandi bû
+    error: Mixabin, dema ajimêr hat gerandin çewtiyek çêbû
+    follow: Bişopîne
+    follow_request: 'Te ji vê kesê re daxwazîya şopandinê şand:'
+    following: 'Serkeftin! Tu êdî dikarî bişopînî:'
     post_follow:
-      close: یان، دەتوانیت ئەم پەنجەرەیە دابخەیت.
-      return: پرۆفایلی بەکارهێنەر نیشان بدە
-      web: بڕۆ بۆ وێب
-    title: دوای %{acct} بکەوە
+      close: An jî, tu dikarî tenê ev çarçoveyê bigirî.
+      return: Profîla vê bikarhênerê nîşan bike
+      web: Biçe tevneyê
+    title: Bişopîne %{acct}
   challenge:
-    confirm: بەردەوام بە
-    hint_html: "<strong>خاڵ:</strong> ئیمە لە کاتژمێری داهاتوو تێپەروشەت لێداوا ناکەین."
-    invalid_password: تێپەروشە دروست نیە
-    prompt: دڵنیابوون لە نهێنوشە بۆ بەردەوامبوون
+    confirm: Bidomîne
+    hint_html: "<strong>Nîşe:</strong>Ji bo demjimêreke din em ê pêborîna te careke din ji te nexwazin."
+    invalid_password: Pêborîna nederbasdar
+    prompt: Ji bo bidomî lêborînê bipejirîne
   crypto:
     errors:
-      invalid_key: کلیلی باوڕپێکراو Ed25519 یان Curve25519 دروست نییە
-      invalid_signature: واژووی Ed25519 بڕوادار نییە
+      invalid_key: ed25519 ne derbasdare ne jî Curve25519 kilîta
+      invalid_signature: Ed25519 ne îmzeyek derbasdar e
+  date:
+    formats:
+      default: "%b%d%Y"
+      with_month_name: "%B %d, %Y"
   datetime:
     distance_in_words:
-      about_x_hours: "%{count}کات"
-      about_x_years: "%{count}ساڵ"
-      almost_x_years: "%{count}ساڵ"
-      half_a_minute: ئێستا
-      less_than_x_seconds: ئێستا
-      over_x_years: "%{count}ساڵ"
-      x_days: "%{count}ڕۆژ"
+      about_x_hours: "%{count}d"
+      about_x_months: "%{count}meh"
+      about_x_years: "%{count}sal"
+      almost_x_years: "%{count}sal"
+      half_a_minute: Hema niha
+      less_than_x_minutes: "%{count}xulek"
+      less_than_x_seconds: Hema niha
+      over_x_years: "%{count}sal"
+      x_days: "%{count}roj"
+      x_minutes: "%{count}xulek"
+      x_months: "%{count}meh"
+      x_seconds: "%{count}çirke"
   deletes:
-    challenge_not_passed: ئەو زانیاریانەی تێنووست کردووە ڕاست نەبوو
-    confirm_password: تێپەڕوشەی ئێستات تێبنووسە بۆ سەلماندنی ناسنامەکەت
-    confirm_username: ناوی بەکارهێنەرت تێبنووسە بۆ دڵنیابوون لە کردارەکە
-    proceed: سڕینەوەی هەژمارە
-    success_msg: هەژمارەکەت بە سەرکەوتوویی سڕرایەوە
+    challenge_not_passed: Zanyariyên ku te nivîsandî ne rast in
+    confirm_password: Pêborîna xwe ya heyî binivîsine da ku nasnameya xwe piştrast bikî
+    confirm_username: Navê bikarhêneriyê xwe binivîse da ku prosedurê piştrast bike
+    proceed: Ajimêr jê bibe
+    success_msg: Ajimêra te bi serkeftî hate jêbirin
     warning:
-      before: 'پێش بەردەوام بوون، تکایە ئەم تێبینیانە بە وردی بخوێننەوە:'
-      caches: وادیارە ئەو ناوەرۆکە کە ڕاژەکانی دیکە پاشکەوتیان کردووە بمینێتەوە
-      data_removal: بابەتەکانت و داتاکانی تر بە هەمیشەیی لادەبرێن
-      email_change_html: دەتوانی <a href="%{path}"> ناونیشانی ئیمەیڵەکەت بگۆڕیت</a> بەبێ سڕینەوەی هەژمارەکەت
-      email_contact_html: گەر ئیمەیل نەگەیشتووە بۆ داوای یارمەتی پەیامێک بنێرە بۆ <a href="mailto:%{email}">%{email}</a> پیغام دهید
-      email_reconfirmation_html: ئەگەر ئیمەیڵی پشتڕاستکردنەوەت پێنەگەشتووە، دەتوانیت <a href="%{path}"> دووبارە داوای لێبکە</a>
-      irreversible: ناتوانیت هەژمارەکەت بگەڕێنیتەوە یان کارا بکەیتەوە
-      more_details_html: بۆ زانیاری زیاتر، <a href="%{terms_path}"> پاراستنی نهێنیەکان</a> ببینە.
-      username_available: ناوی تێپەڕبوونت دووبارە بەردەست دەبێت
-      username_unavailable: ناوی تێپەڕبوونت بەردەست نییە
+      before: 'Berî ku tu pêşve biçî, jkx nvan nîşeyan bi baldarî bixwîne:'
+      caches: Naveroka ku ji hêla rajekarên din ve hatiye pêşbîrkirin dibe ku bimîne
+      data_removal: Şandiyên te û daneyên din wê bi awayekî dawî bêne rakirin
+      email_change_html: Tu dikarî navnîşana <a href="%{path}"> e-nameya xwe biguherînî </a> bêyî ku tu ajimêra xwe jê bibî
+      email_contact_html: Heke ew hîn jî negihîştiye, tu dikarî ji bo alîkariyê <a href="mailto:%{email}">%{email}</a> e-nameyê bişînî
+      email_reconfirmation_html: Heke te e-nameya pejirandinê nesitand, tu dikarî <a href="%{path}">dîsa daxwaz bike</a>
+      irreversible: Tu yê nikaribe ajimêra xwe serrast bike an ji nû ve çalak bike
+      more_details_html: Bo bêhtir zanyarî, <a href="%{terms_path}">polîtika nihêniyê</a> binêre.
+      username_available: Navê bikarhêneriyê te wê dîsa peyda bibe
+      username_unavailable: Navê bikarhêneriyê ye wê tuneyî bimîne
   directories:
-    directory: ڕێنیشاندەرێکی پرۆفایل
-    explanation: دۆزینەوەی بەکارهێنەران لەسەر بنەمای بەرژەوەندییەکانیان
-    explore_mastodon: گەڕان لە %{title}
+    directory: Rêgeha profîlê
+    explanation: Bikarhêneran li gorî berjewendiyên wan bibîne
+    explore_mastodon: Vekole %{title}
+  disputes:
+    strikes:
+      action_taken: Çalakî hatin kirin
+      appeal: Îtîraz
+      appeal_approved: Ev binpêkirin bi serkeftî hate îtîraz kirin û êdî ne derbasdar e
+      appeal_rejected: Îtîraz nehate pejirandin
+      appeal_submitted_at: Îtîraz hate şandin
+      appealed_msg: Îtîraza te hatiye şandin. Ku were pejirandin, tu yê werî agahdarkirin.
+      appeals:
+        submit: Îtîrazê bişîne
+      associated_report: Ragihandina têkildar
+      created_at: Dîrok
+      description_html: Ev kiryarên ku li dijî ajimêrê te hatine kirin û hişyariyên ku ji hêla xebatkarên %{instance} ve ji te re hatine şandinin.
+      recipient: Ji kê re
+      status: 'Şandî #%{id}'
+      status_removed: Şandî jixwe ji pergalê hatî rakirin
+      title: "%{action} ji %{date}"
+      title_actions:
+        delete_statuses: Jêbirina şandiyê
+        disable: Cemdandina ajimêrê
+        mark_statuses_as_sensitive: Nîşankirina şandiyan wekî hestyar
+        none: Hişyarî
+        sensitive: Nîşankirina ajimêran wekî hestyar
+        silence: Sînorkirina ajimêrê
+        suspend: Rawestandina ajimêrê
+      your_appeal_approved: Îtîraza te hate pejirandin
+      your_appeal_pending: Te îtîrazek şand
+      your_appeal_rejected: Îtîraza te nehate pejirandin
   domain_validator:
-    invalid_domain: ناوی دۆمەین بڕوادار نییە
+    invalid_domain: ne naveke navper a derbasdar e
   errors:
-    '400': داواکاریەکەی کە پێشکەشت کردووە نادروستە یان نەیپێکا.
-    '403': تۆ مۆڵەتت نیە بۆ بینینی ئەم لاپەڕەیە.
-    '404': ئەو لاپەڕەیەی بەدوای دەگەڕێی لێرە نیە.
-    '406': ئەم پەڕەیە لە فۆرماتی داواکراودا بەردەست نییە.
-    '410': ئەو لاپەڕەیەی بەدوای دا دەگەڕایت چیتر لێرە بوونی نیە.
+    '400': Daxwaza ku te şand nederbasdar an çewt bû.
+    '403': Ji bo dîtina vê rûpelê mafê te nîn e.
+    '404': Rûpela ku tu lê digerî ne li vir e.
+    '406': Ev rûpel di awayê ku tê xwestin de peyda nabe.
+    '410': Ew rûpela ku tu lê digeriya êdî li vir nîne.
     '422':
-      content: سەلماندنەکەی ئاسایش سەرکەوتوو نەبوو. تۆ بلۆکی کۆکیز دەکەیت?
-      title: سەلماندنەکەی ئاسایش سەرکەوتوو نەبوو
-    '429': داواکاری زۆر
+      content: Rastekirina ewlehiyê têk çû. Ma tu kiloran asteng dikî?
+      title: Rastekirina ewlehiyê têk çû
+    '429': Gelek daxwazî
     '500':
-      content: داوای لێبوردن دەکەین، بەڵام لە کۆتاییەکەماندا. شتێک هەڵە ڕویداوە.
-      title: ئەم لاپەڕەیە ڕاست نییە
-    '503': ناتوانرێت پەڕەکە خزمەت بکرێت بەهۆی شکستی ڕاژەیەکی کاتی.
-    noscript_html: بۆ بەکارهێنانی بەرنامەی وێبی ماستۆدۆن، تکایە جاڤاسکریپت بەتوانا بکە. لە جیاتی ئەوە، یەکێک لە < href="%{apps_path}">ئەپێکی ماستۆدۆن</a>بەکارببە.
+      content: Em xemgîn in, lê tiştek di aliyê me de şaş çû.
+      title: Ev rûpel ne rast e
+    '503': Ji ber têkçûna rajekar a demkî rûpel nayê bikaranîn.
+    noscript_html: Ji bo ku tu sepanaa Mastodon a tevnê bi kar bîne, jkx JavaScript-ê çalak bike. Wekî din, yek ji <a href="%{apps_path}">sepanên xwemalî</a> ji bo Mastodon ji bo platforma xwe biceribîne.
   existing_username_validator:
-    not_found: بەکارهێنەرێک بەم هەژمارەی بەکارهێنەرە لەم ڕاژە پەیدا نەبوو
-    not_found_multiple: نەیتوانی %{usernames} بدۆزێتەوە
+    not_found: nikaribû bikarhênerek herêmî bi wê navê bikarhêner bibîne
+    not_found_multiple: "%{usernames} nehat dîtin"
   exports:
     archive_takeout:
-      date: بەروار
-      download: داگرتنی ئەرشیفەکەت
-      hint_html: دەتوانیت داوای ئەرشیفی <strong> نووسراوە و میدیای بارکراوەی خۆت </strong> بکەی. داتای هەناردەکراو لە فۆرماتی ActivityPub دەبێت، دەخوێنرێتەوە لەلایەن هەر نەرمەکالایەکی گونجاو. دەتوانیت هەموو ٧ ڕۆژ جارێک داوای ئەرشیفێکەت بکەیت.
-      in_progress: خەریکی کۆ کردنەوەی ئەرشیڤەکەت...
-      request: داوای ئەرشیفەکەت بکە
-      size: قەبارە
-    blocks: تۆ بلۆک دەکەیت
-    bookmarks: نیشانکراوەکان
-    domain_blocks: دۆمەین قەپاتکرا
-    lists: لیستەکان
-    mutes: هەژمارە بێدەنگ کراوە
-    storage: هەمارگەی میدیا
+      date: Dîrok
+      download: Arşîva xwe daxîne
+      hint_html: Tu dikarî arşîvek ji <strong> weşanên xwe û medyayên barkirî </strong> re bixwaze. Daneyên derxistî dê di forma ActivityPub de bin, ku ji hêla nermalava ku vê formê ve têne xwendin. Tu dikarî her 7 rojan arşîvekê bixwaze.
+      in_progress: Arşîve te tê berhev kirin...
+      request: Daxwaza arşîva ajimêra xwe bike
+      size: Mezinahî
+    blocks: Yên te astengkirî
+    bookmarks: Şûnpel
+    csv: CSV
+    domain_blocks: Navperên astengkirî
+    lists: Rêzok
+    mutes: Te bêdeng kir
+    storage: Bîrdanaka medyayê
   featured_tags:
-    add_new: زیادکردنی نوێ
+    add_new: Yeka nû tevlî bike
     errors:
-      limit: ئێوە ژمارەی بڕی ڕێگەپێدراوەی هاشتاگت هەیە
-    hint_html: "<strong> هاشتاگی تایبەت چییە؟</strong> بە شێوەیەکی دیار نیشان دەدرێت لەسەر پرۆفایلی گشتی و ڕێگە بە خەڵک دەدات بۆ گەڕان لە نووسراوە گشتیەکانت بە تایبەتی لەژێر ئەو هاشتاگە. ئامرازێکی زۆر باشن بۆ پاراستنی کاری داهێنەرانە یان پڕۆژەی درێژخایەنی ئێوە."
+      limit: Te jixwe berê pirtirîn hashtag destnîşan kiriye
+    hint_html: "<strong> Hashtagên destnîşankirî çi ne? </strong> Ew bi eşkere li ser profîla te ya gelemperî têne xuyakirin û dihêlin ku mirov bi taybetî di binê wan hashtagan de li şandiyên te yên gelemperî bigere. Ew ji bo şopandina karên afirîner an projeyên demdirêj amûrek girîng in."
   filters:
     contexts:
-      account: پرۆفایلەکان
-      home: ماڵەوە
-      notifications: ئاگادارییەکان
-      public: پێرستی گشتی نووسراوەکان
-      thread: گفتوگۆکان
+      account: Profîl
+      home: Serrûpel û rêzok
+      notifications: Agahdarî
+      public: Demnameya gelemperî
+      thread: Axaftin
     edit:
-      title: دەستکاری فلتەر
+      title: Parzûnê serrast bike
     errors:
-      invalid_context: هیچ دەقێکی نادروست نییە یان بێ بڕوایە
-      invalid_irreversible: فلتەرکردنی بێ گەڕانەوە تەنها کار دەکات لەگەڵ چوارچێوەی ماڵ یان ئاگانامەکان
+      invalid_context: Naverok tune ye yan jî nederbasdar tê peydakirin
+      invalid_irreversible: Tenê qadên agahdarkirinê û serrûpel bi parzûna bêveger re dixebitin
     index:
-      delete: سڕینەوە
-      empty: هیچ پالێوەرێکت نیە.
-      title: فلتەرەکان
+      delete: Jê bibe
+      empty: Parzûnên te tune ne.
+      title: Parzûn
     new:
-      title: زیادکردنی فلتەری نوێ
+      title: Parzûnek nû li zêde bike
   footer:
-    developers: پەرەپێدەران
-    more: زیاتر…
-    resources: سەرچاوەکان
-    trending_now: هەوادارانی ئێستا
+    developers: Pêşdebir
+    more: Bêtir…
+    resources: Çavkanî
+    trending_now: Niha rojevê de
   generic:
-    all: هەموو
-    changes_saved_msg: گۆڕانکاریەکان بە سەرکەوتوویی هەڵگیرا!
-    copy: ڕوونووس
-    delete: سڕینەوە
-    order_by: ڕێکخستن بەپێی
-    save_changes: گۆڕانکاریەکان بپارێزە
+    all: Hemû
+    changes_saved_msg: Guhertin bi serkeftî tomar bû!
+    copy: Jê bigire
+    delete: Jê bibe
+    none: Ne yek
+    order_by: Rêz bike bi
+    save_changes: Guhertinan tomar bike
+    today: îro
     validation_errors:
-      one: شتێک هێشتا تەواو ڕاست نیە تکایە چاو بە هەڵەکەی خوارەوە بخشێنەوە
-      other: هێشتا تەواو ڕاست نیە تکایە چاو بە هەڵەی %{count} خوارەوە بخشێنەوە
+      one: Tiştek hîn ne rast e! Ji kerema xwe çewtiya li jêr di ber çavan re derbas bike
+      other: Tiştek hîn ne rast e! Ji kerema xwe %{count} çewtî li jêr di ber çavan re derbas bike
   html_validator:
-    invalid_markup: 'نیشانەی HTML نادروستی تێدایە: %{error}'
+    invalid_markup: 'di nav de nîşana HTML a nederbasdar heye: %{error}'
   imports:
+    errors:
+      over_rows_processing_limit: ji %{count} zêdetir rêzok hene
     modes:
-      merge: یەکخستن
-      merge_long: هێشتنەوەی تۆمارەکانی بەردەست و زیادکردنی دانەنوێکان
-      overwrite: نووسینەوە
-      overwrite_long: دراوەکانی ئێستا بسڕەوە و دراوی نوێ زیاد بکە
-    preface: دەتوانیت زانیاری هاوردە بکەیت کە ناردوتە تە لە ڕاژەیەکی ترەوە، وەک لیستی ئەو کەسانەی کە تۆ بەدوای دادەکەویت یان بەربەستت دەکەن.
-    success: داتاکەت بە سەرکەوتوویی بارکرا و ئێستا لە کاتی خۆیدا پرۆسێس دەکرێت
+      merge: Bi hev re bike
+      merge_long: Tomarên heyî bigire û yên nû lê zêde bike
+      overwrite: Bi ser de binivsîne
+      overwrite_long: Tomarkirinên heyî bi yên nû re biguherîne
+    preface: Tu dikarî têxistin ê daneyên bike ku te ji rajekareke din derxistî ye wek rêzoka kesên ku tu dişopîne an jî asteng dike.
+    success: Daneyên te bi serkeftî hat barkirin û di dema xwe de were pêvajotin
     types:
-      blocking: لیستی بلۆککردن
-      bookmarks: نیشانەکان
-      domain_blocking: لیستی بلۆککردنی دۆمەین
-      following: لیستی خوارەوە
-      muting: لیستی کپکردنەوە
-    upload: بارکردن
-  in_memoriam_html: لەیادبوون.
+      blocking: Rêzoka astengkirinê
+      bookmarks: Şûnpel
+      domain_blocking: Rêzoka navperên astengkirî
+      following: Rêzoka yên dişopînin
+      muting: Rêzoka bêdengiyê
+    upload: Bar bike
+  in_memoriam_html: Di bîranînê de.
   invites:
-    delete: لەکارخستن
-    expired: بەسەرچووە
+    delete: Neçalak bike
+    expired: Dema wê qediya
     expires_in:
-      '1800': ٣٠ خولەک
-      '21600': ٦ کاتژمێر
-      '3600': ١ کاتژمێر
-      '43200': ١٢ کاتژمێر
-      '604800': ١ هەفتە
-      '86400': ١ ڕۆژ
-    expires_in_prompt: هەرگیز
-    generate: دروستکردنی لینکی بانگهێشت
-    invited_by: 'بانگهێشتکرایت لەلایەن:'
+      '1800': 30 xulek
+      '21600': 6 demjimêr
+      '3600': 1 demjimêr
+      '43200': 12 demjimêr
+      '604800': 1 hefte
+      '86400': 1 roj
+    expires_in_prompt: Tu car
+    generate: Girêdana vexwendinê çê bike
+    invited_by: 'Tu hatî vexwendin ji hêla:'
     max_uses:
-      one: ١ بار
-      other: "%{count} بار"
-    max_uses_prompt: بێ سنوور
-    prompt: دروست کردن و هاوبەش کردنی لینکەکان لەگەڵ ئەوانی تر بۆ پێدانی چوونە ژوورەوە بۆ ئەم ڕاژە
+      one: 1 bikaranîn
+      other: "%{count} bikaranîn"
+    max_uses_prompt: Bê sînor
+    prompt: Girêdanan bi kesên din re çê bike û parve bike da ku bigihîjin vê rajekarê
     table:
-      expires_at: بەسەرچووە
-      uses: بەکارهاوردنەکان
-    title: بانگهێشتکردنی خەڵک
+      expires_at: Diqede
+      uses: Bikaranîn
+    title: Mirovan vexwîne
   lists:
     errors:
-      limit: تۆ گەیشتوویتە زۆرترین ڕێژەی لیستەکان
+      limit: Tu gihîştî hejmara rêzika a herî zêde
+  login_activities:
+    authentication_methods:
+      otp: sepandina rastandina du-gavî
+      password: pêborîn
+      sign_in_token: koda ewlehiyê bo e-nameyê
+      webauthn: kilîtên ewlehiyê
+    description_html: Heke çalakiya ku nas nakî dibînî, çêtir dibe ku pêborîna xwe biguherînî û rastandina du-gavî çalak bikî.
+    empty: Dîroka piştrastkirinê tune ye
+    failed_sign_in_html: Hewldana têketinê ser neket bi%{method} ji %{ip} (%{browser}) de
+    successful_sign_in_html: Bi serkeftî têketin bi %{method} ji %{ip}(%{browser}) çêbû
+    title: Dîroka piştrastkirinê
   media_attachments:
     validations:
-      images_and_video: ناتوانرێت لەگەڵ ئەو نووسراوانە کە وێنەی لەگەڵە ،ڤیدیۆ بار بکەی
-      not_ready: ناتوانێت فایلەکان هاوپێچ بکات کە پرۆسەکەیان تەواو نەکردووە. دووبارە هەوڵ بدە!
-      too_many: ناتوانێت زیاتر لە ٤ فایل هاوپێچ بکات
+      images_and_video: Nikare vîdyoyekê tevlî şandiyê ku berê wêne tê de heye bike
+      not_ready: Nikare pelên ku pêvajo neqedandî ve girêbide. Di demekê de dîsa biceribîne!
+      too_many: Zedetirî 4 pelan nayê tevlêkirin
   migrations:
-    acct: گوێزرایەوە بۆ
-    cancel: پاشگەزبوونەوە لە دووبارە ئاڕاستەکردنەوە
-    cancel_explanation: هەڵوەشاندنەوەی دووبارە ئاڕاستەکردنەوە هەژمارەی ئێستات چالاک دەکات، بەڵام ئەو شوێنکەوتوانی ناهێنە وه کە گواستراوەتەوە بۆ ئەو هەژمارە.
-    cancelled_msg: سەرکەوتووانە دووبارە ئاڕاستەکردنەوەکەی بەتاڵ کردەوە.
+    acct: Hate lîvandin bo
+    cancel: Beralîkirinê red bike
+    cancel_explanation: Dev berdan ji beralîkirinê dê ajimêra te ya heyî ji nû ve çalak bike, lê şopgerên ku li wê ajimêrê hatine livandin venagerêne.
+    cancelled_msg: Beralîkirin bi serkeftî hate betal kirin.
     errors:
-      already_moved: هەمان ئەژمێرە کە تۆ پێشتر گواستووتە بۆ
-      missing_also_known_as: نازناوێکی ئەم هەژمارە نییە
-      move_to_self: ناتوانێت هەژمارەی ئێستا بێت
-      not_found: نادۆزرێتەوە
-      on_cooldown: تۆ دەبێت چاوەڕوان بیت
-    followers_count: شوێنکەوتوانی کاتی لە حاڵی گواستنەوە
-    incoming_migrations: گواستنەوە لە هەژمارەی جیاواز
-    incoming_migrations_html: بۆ گواستنەوە لە هەژمارەیەکی ترەوە بۆ ئەم هەژمارە، سەرەتا پێویستە <href="%{path}"> ئەژمێرێک دروست </a> بکەی.
-    moved_msg: هەژمارەکەت ئێستا دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct} و شوێنکەوتوانی تۆ گواستراوەتەوە بۆ ئەوێ.
-    not_redirecting: هەژمارەکەت لە ئێستادا دووبارە ئاڕاستە ناکرێتەوە بۆ هیچ هەژمارەیەکی دیکە.
-    on_cooldown: تۆ بەم دواییە هەژمارەکەت کۆچ کردووە. ئەم کارە لە رۆژەکانی %{count} دا جارێکی تر بەردەست دەبێت.
-    past_migrations: گەواستنەوەکانی ڕابردوو
-    proceed_with_move: شوێنکەوتوان بگوازەوە
-    redirected_msg: ئەژمێرەکەت ئێستا دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct}.
-    redirecting_to: ئەژمێرەکەت دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct}.
-    set_redirect: دووبارە ئاڕاستەکردن ڕێک بخە
+      already_moved: heman ajimêr e ku te berê lê bar kiriye ye
+      missing_also_known_as: ne nasnavê vê ajimêrê ye
+      move_to_self: nikare bibe ajimêra heyî
+      not_found: nehate dîtin
+      on_cooldown: Tu li ser sarbûnê yî
+    followers_count: Di dema tevgerê de şopîner
+    incoming_migrations: Derbasî ajimêreke din bibe
+    incoming_migrations_html: Ji bo ku tu ji ajimêrek din bar bikî vê yekê, pêşî divê tu <a href="%{path}">ajimêreke bi bernaveke çê bike </a>.
+    moved_msg: Ajimêrate niha li %{acct} tê rêve kirin (beralîkirin) û şopînerên te têne livandin bo wê.
+    not_redirecting: Ajimêra te niha bo ajimêreke din nayê beralîkirin.
+    on_cooldown: Te herî dawî dev ji ajimêra xwe berda. Ev fonksiyon dê di %{count} rojan de dîsa peyda bibe.
+    past_migrations: Koçên berê
+    proceed_with_move: Şopîneran bilivîne
+    redirected_msg: Ajimêra te niha bo %{acct} tê beralîkirin.
+    redirecting_to: Ajimêra te niha bo %{acct} tê beralîkirin.
+    set_redirect: Beralîkirin saz bike
     warning:
-      backreference_required: پێویستە سەرەتا هەژمارە نوێیەکە بۆ گەڕانەوەی سەرچاوەی ئەم هەژمارە رێکوپێک بکرێت
-      before: 'پێش بەردەوام بوون، تکایە ئەم تێبینیانە بە وردی بخوێننەوە:'
-      cooldown: دوای گواستنەوە ماوەیەکی چاوەڕوان دەبێ کە لە ماوەی ئەو دا نابێت جارێکی تر بگوازیتەوە
-      disabled_account: هەژمارەی ئێستات دوای ئەوە بە تەواوی بەکارناهیێت. هەرچۆنێک بێت، تۆ دەستگەیشتنت دەبێت بۆ ناردنەدەرەوەی داتا و هەروەها دووبارە کاراکردنەوە.
-      followers: ئەم کردارە هەموو شوێنکەوتوانی هەژمارەی ئێستا دەگوازێتەوە بۆ هەژمارەی نوێ
-      only_redirect_html: ئێوە دەتانن هەژمارەکەی خۆتان <a href="%{path}">بیخەنە سەر هەژمارەیەکی دیکە</a>.
-      other_data: هیچ داتایەکی تر بە خۆکارانە ناگوێزرێتەوە
-      redirect: پرۆفایلی هەژمارەی ئێستات بە ئاگادارییەکی ئاراستەکەراوە نوێ دەکرێتەوە و دووردەکەویت لە گەڕانەکان
+      backreference_required: Pêdivî ye ku ajimêra nû wekî referanseke paşîn a vê ajimêrê were sazkirin
+      before: 'Berî ku tu berdewam bikî, ji kerema xwe re van nîşaneyan bi baldarî bixwîne:'
+      cooldown: Piştî livandin demek heye ku di wê navberê de tu yê nikaribe dîsa bilive
+      disabled_account: Ajimêra te ya heyî dê paşê bi tevahî neyê bikaranîn. Lê belê, tu dikarî bigihîje derxistinê daneyan û hem jî ji nû ve çalakkirinê.
+      followers: Ev çalakî dê hemî şopînerên ji ajimêra heyî bar bike ajimêra nû
+      only_redirect_html: Wekî din, tu dikarî <a href="%{path}"> tenê beralîkirinekê li ser profîla xwe bicîh bike </a>.
+      other_data: Daneyên din dê bi xweberî neyên livandin
+      redirect: Profîla ajimêra te ya heyî dê bi nîşeyeke beralîkirinê were nûve kirin û ji lêgerînan were bi dûrxistin
   moderation:
-    title: بەڕێوەبردن
+    title: Çavdêrî
   move_handler:
-    carry_blocks_over_text: ئەم بەکارهێنەرە گواسترایەوە بۆ %{acct}، تۆ بلۆکت کردووە.
-    carry_mutes_over_text: ئەم بەکارهێنەرە گواسترایەوە بۆ %{acct}، تۆ بێدەنگت کردووە.
-    copy_account_note_text: 'ئەم بەکارهێنەرە لە %{acct} ەوە گواستیەوە، تێبینیەکانی پێشووت دەربارەیان بوون:'
+    carry_blocks_over_text: Ev bikarhêner ji %{acct}, ku te astengkirî bû, bar kir.
+    carry_mutes_over_text: Ev bikarhêner ji %{acct}, ku te bê deng kirbû, bar kir.
+    copy_account_note_text: 'Ev bikarhêner ji %{acct} livî ye, li vir nîşeyên te yên berê ku te di derbarê wî/ê de nivîsandiye:'
   notification_mailer:
+    admin:
+      sign_up:
+        subject: "%{name} tomar bû"
     digest:
-      action: پیشاندانی هەموو ئاگانامەکان
-      body: ئەمە کورتەی ئەو نامانەی لە دەستت دا لە دوا سەردانیت لە %{since}
-      mention: "%{name} ئاماژەی بە تۆ کرد لە:"
+      action: Hemû agahdariyan nîşan bide
+      body: Li vir kurteyeke peyamên ku li te derbasbûnd ji serdana te ya dawîn di %{since} de
+      mention: "%{name} behsa te kir:"
       new_followers_summary:
-        one: لەکاتێک کە نەبوو ،شوێنکەوتوویێکی نوێت پەیداکرد،ئافەرم!
-        other: کاتیک کە نەبووی %{count} شوێنکەوتوویێکی نوێت پەیدا کرد! چ باشە!
+        one: Herwiha, dema tu dûr bûyî te şopînerek nû bi dest xist! Bijî!
+        other: Herwiha, dema tu dûr bûyî te %{count} şopînerek nû bi dest xist! Bijî!
       subject:
-        one: "ئاگاداریێکی نووی لە دوایین سەردانی ئێوە\U0001F418"
-        other: "%{count} ئاگاداریێکی نوێ لە دوایین سەردانی ئێوە\U0001F418"
-      title: لە غیابی تۆدا...
+        one: "1 agahdarî ji serdana te ya herî dawî ji \U0001F418"
+        other: "%{count} agahdarî ji serdana te ya herî dawî ji \U0001F418"
+      title: Di tunebûna te de...
     favourite:
-      body: 'دۆخت پەسەندکراوە لەلایەن %{name}:'
-      subject: "%{name} دۆخی تۆی پەسەند کرد"
-      title: دڵخوازکردنی نوێ
+      body: 'Şandiya te hate bijartin ji alî %{name} ve:'
+      subject: "%{name} şandiya te hez kir"
+      title: Bijarteyek nû
     follow:
-      body: "%{name} ئێستا شوێنکەوتوو ئێوەیە!"
-      subject: "%{name} ئێستا شوێنکەوتوو ئێوەیە"
-      title: شوێنکەوتوانی نوێ
+      body: "%{name} niha te dişopîne!"
+      subject: "%{name} niha te dişopîne"
+      title: Şopînereke nû
     follow_request:
-      action: بەڕێوەبردنی داوای شوێنکەوتن
-      body: "%{name} داوای کردووە کە شوێنت بکەوێت"
-      subject: 'چاوەڕوانی شوێنکەوتووە: %{name}'
-      title: داواکاری شوینکەوتنی نوێ
+      action: Daxwazên şopandinê bi rê ve bibe
+      body: "%{name} daxwaza şopandina te kir"
+      subject: Şopîner li bendê ye:%{name}
+      title: Daxwazeke şopandinê ya nû
     mention:
-      action: وەڵام
-      body: "%{name} لێرە ناوی ئێووەی بردووە:"
-      subject: "%{name} لێرە ناوی ئێووەی بردووە"
-      title: ناوبراوەی نوێ
+      action: Bersivê bide
+      body: 'Tu hatiyî qalkirin ji aliyê %{name}:'
+      subject: Tu hatiye qalkirin ji aliyê %{name}
+      title: Qalkirina nû
+    poll:
+      subject: Rapirsî ji hêla %{name} ve qediya
     reblog:
-      body: "%{name} نووسیسراوەکەی ئێوەی توتاندەوە:"
-      subject: "%{name} نووسراوەکەتی دووبارە توتاند"
-      title: توتاندنەوەی نوێ
+      body: 'Şandiye te hate bilindkirin ji hêla %{name} ve:'
+      subject: "%{name} şandiya te bilind kir"
+      title: Bilindkirinên nû
+    status:
+      subject: "%{name} niha şand"
+    update:
+      subject: "%{name} şandiyek guhert"
   notifications:
-    email_events: رووداوەکان بۆ ئاگاداری ئیمەیلی
-    email_events_hint: 'ئەو ڕووداوانە دیاریبکە کە دەتەوێت ئاگانامەکان وەربگری بۆ:'
-    other_settings: ڕێکبەندەکانی ئاگانامەکانی تر
+    email_events: Bûyer bo agahdariyên e-nameyê
+    email_events_hint: 'Bûyera ku tu dixwazî agahdariyan jê wergerî hilbijêre:'
+    other_settings: Sazkariya agahdariyên din
+  number:
+    human:
+      decimal_units:
+        format: "%n%u"
+        units:
+          billion: B
+          million: M
+          quadrillion: Q
+          thousand: Hezar
+          trillion: Trîlyon
   otp_authentication:
-    code_hint: کۆدێک داخڵ بکە کە دروست کراوە لەلایەن ئەپی ڕەسەنایەتیەوە بۆ دڵنیابوون
-    description_html: ئەگەر تۆ <strong> هاتنەژوورەوەی دوو قۆناغی</strong> بە یارمەتی ئەپێکی پەسەندکردن چالاک بکەن، پێویستە بۆ چوونەژوورەوە ، بە تەلەفۆنەکەتان کە کۆدیکتان بۆ دروستدەکات دەستپێگەیشتنتان هەبێت.
-    enable: چالاککردن
-    instructions_html: "<strong> QR بدۆزەوە بۆ ناو ڕەسەنایەتی گووگڵ یان کاربەرنامەی TOTP هاوشێوە لەسەر تەلەفۆنەکەت </strong>. لە ئێستاوە، ئەو کاربەرنامەیە نیشانە دروست دەکات کە دەبێت داخڵیان بکەیت لەکاتی چوونە ژوورەوە."
-    manual_instructions: 'ئەگەر ناتوانیت کۆدی QR سکان بکەیت و پێویستە بە دەستی تێبنووسە، ئەمە نهێنیی دەقی سادەیە:'
-    setup: ئامادەکردن
-    wrong_code: کۆدی داخڵکراو نادروستە! ئایا کاتی ڕاژە و کاتی ئامێر راستن?
+    code_hint: Ji bo pejirandinê têkeve koda te ya ku ji alîyê sepana piştraskirinê va hatiye çê kirin
+    description_html: Heke tu<strong>bi piştrastkirina du-faktorî re</strong> sepana piştrastkirinê çalak bikî, ji bo têketinê hewceye telefona te li ba te be, ji bona têketinê te ra nîşaneyan çê bike.
+    enable: Çalak bike
+    instructions_html: "<strong>Vê kodê QR kontrol bike bi riya Google Authenticator an jî sepanekeTOTP li ser têlefona xwe </strong>. Ji niha û pê ve, ew sepan dê nîşanên ku divê tu binivîsîne dema têketinê de biafirîne."
+    manual_instructions: 'Heke tu nikarî bî koda QR venêrî û pêwîst be bi dest bikevî, ev nivîsê hêsan ê veşartî:'
+    setup: Saz bike
+    wrong_code: Koda têketinê betal e! Dema rajekarê û dema amûrê raste?
   pagination:
-    newer: نوێتر
-    next: داهاتوو
-    older: کۆنتر
-    prev: پێشوو
+    newer: Nûtir
+    next: Pêş
+    older: Kevntir
+    prev: Paş
+    truncate: "&hellip;"
   polls:
     errors:
-      already_voted: تۆ پێشتر دەنگت داوە لەسەر ئەم ڕاپرسییە
-      duplicate_options: خاوەنی ئایەمی دووبارە
-      duration_too_long: لە داهاتوو زۆر دوورە
-      duration_too_short: لە داهاتوو زۆر نزیکە
-      expired: ڕاپرسیەکە پێشتر کۆتایی هاتووە
-      invalid_choice: بژاردەی دەنگدانی هەڵبژێردراو بوونی نییە
-      over_character_limit: ناتوانێت هەر کامێکی درێژتر بێت لە %{max} نووسە
-      too_few_options: پێویستە زیاتر لە یەک بڕگەی هەبێت
-      too_many_options: ناتوانێت زیاتر لە %{max} بەندی تێدا بێت
+      already_voted: Te berê deng dabû vê rapirsîyê
+      duplicate_options: tiştên dubare tê de hene
+      duration_too_long: di pêşerojê de pir dûr e
+      duration_too_short: gelek zû ye
+      expired: Jixwe rapirsî dawî bû
+      invalid_choice: Vebijarka dengdanê ya bijartî tune
+      over_character_limit: her yek ji %{max} karakterê dirêjtirîn nabe
+      too_few_options: divê ji yekî zêdetir tişt hebin
+      too_many_options: nikare ji %{max} hêmanan bêhtir pêk bê
   preferences:
-    other: هی تر
-    posting_defaults: بڵاوکردنی بنەڕەتەکان
-    public_timelines: هێڵی کاتی گشتی
+    other: Yên din
+    posting_defaults: Berdestên şandiyê
+    public_timelines: Demnameya gelemperî
   reactions:
     errors:
-      limit_reached: سنووری کاردانه وه ی جیاواز گه یشت
-      unrecognized_emoji: ئیمۆجییەکی ناسراو نییە
+      limit_reached: Sînorê reaksiyonên cihêrengî gihîşte asta dawî
+      unrecognized_emoji: emojîyeke ne naskirî ye
   relationships:
-    activity: چالاکی هەژمارە
-    dormant: ناچالاک
-    follow_selected_followers: شوێنکەوتوان دیاریکراو بکە
-    followers: شوێنکەوتوان
-    following: شوێن‌کەوتووی
-    invited: بانگهێشتەکان
-    last_active: دوایین چالاکی
-    most_recent: تازەترین
-    moved: گوێزرایەوە
-    mutual: دوولایەنە
-    primary: سەرەتایی
-    relationship: پەیوەندی
-    remove_selected_domains: لابردنی هەموو شوێنکەوتوانی دۆمەینە دیاریکراوەکان
-    remove_selected_followers: شوێنکەوتوانی دیاریکراو لابدە
-    remove_selected_follows: کۆتایی بە بەدوادانەچوی بەکارهێنەرە دیاریکراوەکان بدە
-    status: دۆخی هەژمارە
+    activity: Çalakiya ajimêrê
+    dormant: Xewok
+    follow_selected_followers: Şopînerên hilbijartî bişopîne
+    followers: Şopîner
+    following: Dişopîne
+    invited: Vexwendî
+    last_active: Çalakiya dawî
+    most_recent: Herî dawî
+    moved: Barkirî
+    mutual: Hevpar
+    primary: Sereke
+    relationship: Pêwendî
+    remove_selected_domains: Hemû şopînerên ji navpera hilbijartî rake
+    remove_selected_followers: Şopînerên hilbijartî rake
+    remove_selected_follows: Bikarhênerên hilbijartî neşopîne
+    status: Rewşa ajimêr
   remote_follow:
-    acct: ناونیشانی هەژمارەی username@domainخۆت لێرە بنووسە
-    missing_resource: نەیتوانی URLی ئاراستەکردنەوەی پێویست بدۆزێتەوە بۆ ئەژمێرەکەت
-    no_account_html: هێشتا نەبووی بە ئەندام؟ <a href='%{sign_up_path}' target='_blank'>لێرە دەتوانی هەژمارەیەک دروست بکەی</a>
-    proceed: بەردەوام بە بۆ بەدواداچوون
-    prompt: 'تۆ بەدوای دا دەچیت:'
-    reason_html: "<strong> بۆچی ئەم هەنگاوە پێویستە؟ </strong> <code>%{instance}</code> لەوانەیە ئەو ڕاژەیە نەبێت کە تۆ تۆمارت کردووە، بۆیە پێویستە سەرەتا دووبارە ئاڕاستەت بکەین بۆ ڕاژەکاری ماڵەوەت."
+    acct: Navnîşana ajimêra xwe username@domain yê ku tu yê jê çalakî bikî binvsîne
+    missing_resource: Ji bona ajimêra te pêwistiya beralîkirina URLyê nehate dîtin
+    no_account_html: Ajimêra te tune? Tu dikarî<a href='%{sign_up_path}' target='_blank'>li vir tomar bibe</a>
+    proceed: Şopandinê bidomîne
+    prompt: 'Tu yê bişopînî:'
+    reason_html: "<strong>Ev gav ji bona çi pêwîst e?</strong><code>%{instance}</code>rajekerên ku tu tomarkiriyî dibe ku tunebe, ji bona vê divê pêşî te beralîyê rajekera te bi xwe bikin."
   remote_interaction:
     favourite:
-      proceed: بۆ دڵخوازکردنی ئەم توتە
-      prompt: 'دەتەوێت ئەم تووتە تپەسەند بکەیت؛:'
+      proceed: Ber bi bijarteyê ve biçe
+      prompt: 'Tu dixwazî vê şandiyê bibijêrî:'
     reblog:
-      proceed: بەردەوام بە بۆ دووبارە توتاندن
-      prompt: 'دەتەوێت ئەم تووتە دووبارە بکەیتەوە:'
+      proceed: Bo bilindkirinê bidomîne
+      prompt: 'Tu dixwazî vê şandî ye bilind bikî:'
     reply:
-      proceed: بۆ وەڵامدانەوە
-      prompt: 'دەتەوێت ئەم تووتە وڵام بدەیتەوە:'
+      proceed: Bersivandinê bidomîne
+      prompt: 'Tu dixwazî bersiva vê şandiyê bidî:'
+  reports:
+    errors:
+      invalid_rules: rêbazên derbasdar nîşan nadê
   scheduled_statuses:
-    over_daily_limit: ئێوە لە سنووری ڕیپێدراوی %{limit} توتی ئەو رۆژە،خۆرتر ڕۆیشتوویت
-    over_total_limit: تۆ سنووری خشتەکراوی %{limit} ت بەزاندووە
-    too_soon: پێویستە بەرواری خشتەکراو لە داهاتوودا بێت
+    over_daily_limit: Te sînorê %{limit} şandiyên demsazkirî yên ji bo îro derbas kir
+    over_total_limit: Te sînorê %{limit} şandiyên demsazkirî derbas kir
+    too_soon: Dîroka bernamesazkirinê divê dîrokeke ji îro pêşvetir be
   sessions:
-    activity: دوایین چالاکی
-    browser: وێبگەڕ
+    activity: Çalakiya dawî
+    browser: Gerok
     browsers:
-      blackberry: بلاکبێری
-      chrome: کرۆم
-      edge: مایکرۆسۆفت ئیچ
-      electron: ئەلکترۆن
-      firefox: فایەرفۆکس
-      generic: وێبگەڕی نەناسراو
-      ie: ئینتێرنێت ئێکسپلۆرەر
-      micro_messenger: مایکرۆمێسنجەر
-      nokia: وێبگەڕی نۆکیا ئێس ٤٠ ئۆڤی
-      opera: ئۆپێرا
-      otter: ئۆتەر
-      phantom_js: فانتۆم جەی ئێس
-      qq: وێبگەڕی QQ
-      safari: سافری
-      uc_browser: وێبگەڕی UC
-    current_session: دانیشتنی ئێستا
-    description: "%{browser} لەسەر %{platform}"
-    explanation: ئەمانە وێبگەڕەکەن کە ئێستا چووەتە ژوورەوە بۆ ئەژمێری ماستۆدۆنی خۆت.
-    ip: ئای‌پی
+      alipay: Alipay
+      blackberry: Blackberry
+      chrome: Chrome
+      edge: Microsoft Edge
+      electron: Electron
+      firefox: Firefox
+      generic: Gerokeke nenas
+      ie: Internet Explorer
+      micro_messenger: MicroMessenger
+      nokia: Nokia S40 Ovi Browser
+      opera: Opera
+      otter: Otter
+      phantom_js: PhantomJS
+      qq: Geroka QQ
+      safari: Safari
+      uc_browser: Geroka UCB
+      weibo: Weibo
+    current_session: Danişîna heyî
+    description: "%{platform} ser %{browser}"
+    explanation: Gerokên tevnê di dema heyî de hene ku têketin kirine di ajimêra te ya Mastodon.
+    ip: IP
     platforms:
-      android: ئەندرۆید
-      blackberry: بلاکبێری
-      chrome_os: سیستەمی کارگێڕی کرۆم
-      firefox_os: سیستەمی کارگێڕی فایەرفۆکس
-      linux: لینۆکس
-      mac: ماک
-      other: سیستەمیکارگێڕی نەناسراو
-      windows: ویندۆز
-      windows_mobile: ویندۆزموبایل
-      windows_phone: ویندۆزفۆن
-    revoke: بەتاڵکردن
-    revoke_success: دانیشتن بەسەرکەوتوویی بەتاڵکرا
-    title: کۆبوونەوەکان
+      adobe_air: Adobe Air
+      android: Android
+      blackberry: Blackberry
+      chrome_os: Chrome OS
+      firefox_os: Firefox OS
+      ios: iOS
+      linux: Linux
+      mac: macOS
+      other: platforma nenas
+      windows: Windows
+      windows_mobile: Windows Mobile
+      windows_phone: Windows Phone
+    revoke: Rake
+    revoke_success: Danişîn bi serkeftî hate rakirin
+    title: Danîştin
+    view_authentication_history: Dîroka rastekirina ajimêra xwe bibîne
   settings:
-    account: هەژمارە
-    account_settings: ڕێکخستنەکانی هەژمارە
-    aliases: نازناوەی هەژمارە
-    appearance: ڕووخسار
-    authorized_apps: ئەپەکانی ڕێگەپێدراو
-    back: گەڕانەوە بۆ ماستۆدۆن
-    delete: سڕینەوەی هەژمارە
-    development: گەشەپێدان
-    edit_profile: دەستکاری پرۆفایل
-    export: ناردن زانیاری
-    featured_tags: هاشتاگی تایبەت
-    import: هاوردن
-    import_and_export: هاوردەکردن و ناردن
-    migrate: گواستنەوەی هەژمارە
-    notifications: ئاگادارییەکان
-    preferences: پەسەندەکان
-    profile: پرۆفایل
-    relationships: شوێنکەوتوو و شوێنکەوتوان
-    two_factor_authentication: کۆدی دووقۆناغی هاتنەژوور
-    webauthn_authentication: کلیلەکانی پاراستن
+    account: Ajimêr
+    account_settings: Sazkariyên ajimêr
+    aliases: Nûçikên ajimêra
+    appearance: Xuyang
+    authorized_apps: Rayedarê sepanan
+    back: Vegere bo Mastodon
+    delete: Jêbirina ajimêr
+    development: Pêşdebir
+    edit_profile: Profîlê serrast bike
+    export: Derxistinê daneyan
+    featured_tags: Hashtagên bijarte
+    import: Têxistin
+    import_and_export: Têxistin û derxistin
+    migrate: Barkirina ajimêrê
+    notifications: Agahdarî
+    preferences: Hilbijarte
+    profile: Profîl
+    relationships: Yên tê şopandin û şopîner
+    statuses_cleanup: Bi xweberî ve jêbirina şandiya
+    strikes: Binpêkirinên çavdêriyê
+    two_factor_authentication: Piştrastkirinê du-faktorî
+    webauthn_authentication: Kilîdên ewlehiyê
   statuses:
     attached:
       audio:
-        one: "%{count} دەنگ"
-        other: "%{count} دەنگ"
-      description: 'هاوپێچ: %{attached}'
+        one: "%{count} deng"
+        other: "%{count} deng"
+      description: 'Pêvek: %{attached}'
       image:
-        one: "%{count} وێنە"
-        other: "%{count} وێنەکان"
+        one: "%{count} wêne"
+        other: "%{count} wêne"
       video:
-        one: "%{count} ڤیدیۆ"
-        other: "%{count} ڤیدیۆکان"
-    boosted_from_html: توکراوەتەوە لەلایەن %{acct_link}
-    content_warning: 'ئاگاداری ناوەڕۆک: %{warning}'
+        one: "%{count} vîdyo"
+        other: "%{count} vîdyo"
+    boosted_from_html: Bilindkirî ji alî %{acct_link} ve
+    content_warning: 'Hişyariya naverokê: %{warning}'
+    default_language: Wekî zimanê navrûya bikarhêneriyê
     disallowed_hashtags:
-      one: 'هاشتاگی ڕێگەپێنەدراوەی تێدابوو: %{tags}'
-      other: 'هاشتاگەکانی ڕێگەپێنەدراوەی تێدابوو: %{tags}'
+      one: 'hashtagek bê maf tê de hebû: %{tags}'
+      other: 'hashtagek bê maf tê de hebû: %{tags}'
+    edited_at_html: Di %{date} de hate serrastkirin
     errors:
-      in_reply_not_found: ئەو دۆخەی کە تۆ هەوڵی وەڵامدانەوەی دەدەیت وادەرناکەوێت کە هەبێت.
-    open_in_web: کردنەوە لە وێب
-    over_character_limit: سنووری نووسەی %{max} تێپەڕێنرا
+      in_reply_not_found: Ew şandiya ku tu dikî nakî bersivê bide xuya nake an jî hatiye jêbirin.
+    open_in_web: Di tevnê de veke
+    over_character_limit: sînorê karakterê %{max} derbas kir
     pin_errors:
-      limit: تۆ پێشتر زۆرترین ژمارەی توتتی چەسپیوەت هەیە
-      ownership: نووسراوەکانی تر ناتوانرێ بسەلمێت
-      reblog: بەهێزکردن ناتوانرێت بچەسپێ
+      direct: Şandiyên ku tenê ji bikarhênerên qalkirî re têne xuyangkirin, nayê derzîkirin
+      limit: Jixwe te mezintirîn hejmara şandîyên xwe derzî kir
+      ownership: Şandiya kesekî din nay derzî kirin
+      reblog: Ev şandî nayê derzî kirin
     poll:
       total_people:
-        one: "%{count} کەس"
-        other: "%{count} خەڵک"
+        one: "%{count} kes"
+        other: "%{count} kes"
       total_votes:
-        one: "%{count} دەنگ"
-        other: "%{count} دەنگەکان"
-      vote: دەنگ
-    show_more: زیاتر پیشان بدە
-    show_newer: نوێتر پیشان بدە
-    show_older: پیشاندانی کۆنتر
-    show_thread: نیشاندانی ڕشتە
-    sign_in_to_participate: بچۆ ژوورەوە بۆ بەشداریکردن لە گفتوگۆکەدا
+        one: "%{count} deng"
+        other: "%{count} deng"
+      vote: Deng bide
+    show_more: Bêtir nîşan bide
+    show_newer: Nûtirîn nîşan bide
+    show_older: Kevntirîn nîşan bide
+    show_thread: Mijarê nîşan bide
+    sign_in_to_participate: Ji bo tevlî sohbetê bibî xwe tomar bike
+    title: "%{name}%{quote}"
     visibilities:
-      private: شوێنکەوتوانی تەنها
-      private_long: تەنها بۆ شوێنکەوتوانی پیشان بدە
-      public: گشتی
-      public_long: هەموو کەس دەتوانێت ببینێت
-      unlisted: پێرست نەبووە
-      unlisted_long: هەموو کەس دەتوانێت بیبینێت، بەڵام لە هێڵی کاتی گشتی دا نەریزراوە
+      direct: Rasterast
+      private: Tenê şopîneran
+      private_long: Tenê bo şopîneran nîşan bide
+      public: Gelemperî
+      public_long: Herkes dikare bibîne
+      unlisted: Nerêzokkirî
+      unlisted_long: Herkes dikare bibîne, lê di demnameya gelemperî de nayê rêz kirin
+  statuses_cleanup:
+    enabled: Şandiyên berê bi xweberî va jê bibe
+    enabled_hint: Gava ku ew gihîştibe sînorê temenê diyarkirî, şandiyên te bi xweberî jê dibe, ji bilî van awareteyên jêrîn
+    exceptions: Awarte
+    explanation: Ji ber ku jêbirina şandiyan pêvajoyeke biha ye, ev hêdî hêdî bi demê re tê kirin dema ku rajekar wekî din mijûl nebe. Ji ber vê sedemê, dibe ku şandiyên te demek şûnda ku bigihîjin sînorê temenê wê werin jêbirin.
+    ignore_favs: Ecibandinan paşguh bike
+    ignore_reblogs: Bilindkirinê piştguh bike
+    interaction_exceptions: Awarteyên li ser bingehên têkiliyan
+    interaction_exceptions_explanation: Bizanibe ku heke şandiyeke ku ji binî ve têkeve jêrî bijare an bilindkirin ê piştî ku carek din di ser wan re derbas bibe, garantiyek tune ku werin jêbirin.
+    keep_direct: Peyamên rasterast veşêre
+    keep_direct_hint: Tu peyamên te yekcar jê naçe
+    keep_media: Peyamên bi pêvekên medyayê ve ne biveşêre
+    keep_media_hint: Yek ji peyamên te yê ku bi pêvekên medyayê ve ne jê nabe
+    keep_pinned: Peyamên xwe yên ku hatine derzîkirî veşêre
+    keep_pinned_hint: Yek ji peyamên te yê derzîkirî jê nabe
+    keep_polls: Rapirsîyan veşêre
+    keep_polls_hint: Yek ji rapirsiyên te jê nabe
+    keep_self_bookmark: Şandiyên ku wek şûnpel hatine tevlêkirin veşêre
+    keep_self_bookmark_hint: Şandî heke te wek şûnpel tomar kiriye we neyê jêbirin
+    keep_self_fav: Şandiyên ku te eciband veşêre
+    keep_self_fav_hint: Ger te şandiyên xwe ecibandibe jê nabe
+    min_age:
+      '1209600': 2 hefte
+      '15778476': 6 meh
+      '2629746': 1 meh
+      '31556952': 1 sal
+      '5259492': 2 meh
+      '604800': 1 hefte
+      '63113904': 2 sal
+      '7889238': 3 meh
+    min_age_label: Şêmûga demê
+    min_favs: Peyamên ku ji wê zêdetir hatine ecibandin veşêre
+    min_favs_hint: Şandî ku ji evqas hezkirin wergirtibe nayê jêbirin. Vala bihêle da ku şandiyan jê bibî tevlî ku çiqas hezkirin wergirtibe
+    min_reblogs: Şandiyên ku bêtir hatine bilindkirin veşêre
+    min_reblogs_hint: Şandî ku ji ji vê hejmarê bêtir bilindkirin wergirtibe nayê jêbirin. Vala bihêle da ku şandiyan jê bibî tevlî ku çiqas hezkirin wergirtibe
   stream_entries:
-    pinned: توتی چەسپکراو
-    reblogged: بەهێزکردن
-    sensitive_content: ناوەڕۆکی هەستیار
+    pinned: Şandiya derzîkirî
+    reblogged: bilindkirî
+    sensitive_content: Naveroka hestiyarî
   tags:
-    does_not_match_previous_name: لەگەڵ ناوی پێشوو یەک ناگرێتەوە
+    does_not_match_previous_name: bi navê berê re li hev nayê
   terms:
     body_html: |
-      <h2>سیاسەتی تایبەت</h2>
-      <h3 id="collect">چ زانیاریێک کۆ دەکەینەوە؟</h3>
+      <h2>Privacy Policy</h2>
+      <h3 id="collect">What information do we collect?</h3>
+
       <ul>
-      <li><em>زانیاری ئەژمێری بنەڕەتی</em>: ئەگەر تۆ لەسەر ئەم ڕاژەی تۆماربکەیت، لەوانەیە داوات لێبکرێت ناوی بەکارهێنەر، ناونیشانی ئیمەیڵ و نهێنوشە تێبنووسیت. هەروەها دەتوانیت زانیاری پرۆفایلی زیاتر تێبنووسی ت وەک ناوی پیشاندان و ژیاننامە، و بارکردنی وێنەی پرۆفایل و وێنەی سەرپەڕە. ناوی بەکارهێنەر، ناوی پیشاندان، ژیاننامە، وێنەی پرۆفایل و وێنەی سەرپەڕە هەمیشە بە ئاشکرا لیست کراوە.</li>
-      <li><em> پۆستەکان، بەدواکەوتن و زانیاری گشتی </em>: لیستی ئەو کەسانەی کە پەیڕەوی دەکەیت بە ئاشکرا لیست کراوە، هەمان شت بۆ شوێنکەوتەکانت ڕاستە. کاتێک ئیمەیڵێکت پێشکەش کرد، بەروار و کات خەزن کراوە و هەروەها ئەو بەرنامەیەی کە نامەکەت لەوە پێشکەش کردووە. نامەکان لەوانەیە هاوپێچی میدیای تێدابێت، وەک وێنە و ڤیدیۆ. گشتی و لیستە نەکراوەکان بابەتەکان بە ئاشکرا بەردەستن. کاتێک بابەتێک پێشکەش دەکەیت لەسەر پرۆفایلەکەت، کە هەروەها زانیاری بەردەستی گشتیە. بابەتەکانت دەگەیەنینە شوێنکەوتەکانت، لە هەندێک حاڵەتدا مانای وایە دەگەیەنینە ڕاژەکاری جیاواز و کۆپیەکان لەوێ هەڵگیراون. کاتێک بابەتەکان دەسڕیتەوە، ئەمە بە هەمان شێوەیە دەگەیەنیتە شوێنکەوتوانی خۆت. کاری سەرلێبڕین یان بە دڵنییاکردنی پۆستی تر هەمیشە گشتیە.</li>
-      <li><em> ڕاستەوخۆ و تەنها شوێنکەوتوانی بابەتەکان</em>: هەموو بابەتەکان خەزن کراون و لە ڕاژەکارەکە دا پرۆسەکراون. پۆست تەنها شوێنکەوتوانی خۆت دەگەیەنینە شوێنکەوتوانی خۆت و بەکارهێنەران کە تێیدا باس دەکرێت، و پۆستی ڕاستەوخۆش تەنها دەگەیەنینە ئەو بەکارهێنەرانەی کە ئاماژەیان پێکراوە لە هەندێک حاڵەتدا واتە دەگەیەنینە ڕاژەی جیاوازەکان و کۆپیەکان لەوێ هەڵگیراون ئێمە هەوڵی باوەڕێکی باش دەکەین بۆ سنووردارکردنی گەیشتن بەو پۆستانە تەنها بۆ کەسانی ڕێگەپێدراو، بەڵام لەوانەیە ڕاژەکارەکانی تر سەرکەوتوو نەبوون. بۆیە گرنگە پێداچوونەوە بە سێرڤەرەکان بکەیت کە شوێنکەوتوانی تۆ هی ئەوەن. لەوانەیە بژاردەیەک بگۆڕیت بۆ پەسەندکردن و ڕەتکردنەوەی شوێنکەوتوانی نوێ بە دەستی لە ڕێکبەندەکان. <em> تکایە لە بیرت بێت کە کارپێکەرەکانی سێرڤەرەکە و هەر خزمەتکاری وەرگرێک لەوانەیە ئەم جۆرە نامانە </em>، و وەرگرەکان لەوانەیە گرتەی شاشە یان کۆپی بکەن یان بە پێچەوانەوە دووبارە بەشداری پێبکەن. <em> هیچ زانیاریەکی مەترسیدار لەسەر ماستۆدۆن بڵاو</em></li>
-      <li><em>ئای پی و مێتاداتای تر</em>: کاتێک دەچیتە ژوورەوە، ئێمە ئەو ئای پی ە تۆمار دەکەین کە تۆ لە ناوی ەوە داخڵ تدەکەیت، هەروەها ناوی بەرنامەی وێبگەڕەکەت. هەموو ئەو کۆکراوانەی لە کۆبوونەوەکاندا هەن بۆ پێداچوونەوە و بەتاڵکردنەوەت لە ڕێکبەندەکان. نوێترین ناونیشانی IP بەکارهێنراوە خەزن کراوە بۆ ١٢ مانگ. هەروەها لەوانەیە ئێمە مادە ڕاژەکارەکان بهێڵین کە ئای پی ئەدرێسی هەموو داواکارییەک بۆ ڕاژەکارەکانمان </li>
+        <li><em>Basic account information</em>: If you register on this server, you may be asked to enter a username, an e-mail address and a password. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly.</li>
+        <li><em>Posts, following and other public information</em>: The list of people you follow is listed publicly, the same is true for your followers. When you submit a message, the date and time is stored as well as the application you submitted the message from. Messages may contain media attachments, such as pictures and videos. Public and unlisted posts are available publicly. When you feature a post on your profile, that is also publicly available information. Your posts are delivered to your followers, in some cases it means they are delivered to different servers and copies are stored there. When you delete posts, this is likewise delivered to your followers. The action of reblogging or favouriting another post is always public.</li>
+        <li><em>Direct and followers-only posts</em>: All posts are stored and processed on the server. Followers-only posts are delivered to your followers and users who are mentioned in them, and direct posts are delivered only to users mentioned in them. In some cases it means they are delivered to different servers and copies are stored there. We make a good faith effort to limit the access to those posts only to authorized persons, but other servers may fail to do so. Therefore it's important to review servers your followers belong to. You may toggle an option to approve and reject new followers manually in the settings. <em>Please keep in mind that the operators of the server and any receiving server may view such messages</em>, and that recipients may screenshot, copy or otherwise re-share them. <em>Do not share any dangerous information over Mastodon.</em></li>
+        <li><em>IPs and other metadata</em>: When you log in, we record the IP address you log in from, as well as the name of your browser application. All the logged in sessions are available for your review and revocation in the settings. The latest IP address used is stored for up to 12 months. We also may retain server logs which include the IP address of every request to our server.</li>
       </ul>
-      < hr="spacer" />
 
-      <h3 id="use">ئێمە زانیاری ئێوەمان بۆ چییە؟</h3>
+      <hr class="spacer" />
+
+      <h3 id="use">What do we use your information for?</h3>
 
-      <p> ئەو زانیاریانەی لە ئێوە کۆی دەکەین لەوانەیە بەم ڕێگایانە بەکار بهێنرێت:</p>
+      <p>Any of the information we collect from you may be used in the following ways:</p>
 
       <ul>
-      <li> بۆ دابینکردنی ئەرکە سەرەکیەکانی ماستۆدۆن. دەتوانیت تەنها کارلێک بکەیت لەگەڵ ناوەڕۆکی کەسانی تر و ناوەڕۆکی خۆت پۆست بکەیت کاتێک دەچیتە ژوورەوە. بۆ نموونە، لەوانەیە شوێن کەسانی تر بکەویت بۆ بینینی پۆستە تێکەڵەکانیان لە تایم لاینی ماڵەوەی تایبەتی خۆت.</li>
-      <li> بۆ چاودێری کردنی کۆمەڵگا، بۆ نموونە بەراوردکردنی ناونیشانی IPەکەت لەگەڵ کەسانی ناسراو بۆ دیاریکردنی خۆدزینەوە یان پێشێلکاریتر.</li>
-      <li> ئەو ئیمەیڵەی کە تۆ دەستەبەرت کردووە لەوانەیە بەکاربێت بۆ ناردنی زانیاری، ئاگاداری دەربارەی کەسانی تر کە کارلێک دەکەن لەگەڵ ناوەڕۆکەکەت یان ناردنی نامەکانت، و وەڵامدانەوەی پرسیارکردنەکان، و/یان داواکارییان یان پرسیارەکانی تر.</li>
+        <li>To provide the core functionality of Mastodon. You can only interact with other people's content and post your own content when you are logged in. For example, you may follow other people to view their combined posts in your own personalized home timeline.</li>
+        <li>To aid moderation of the community, for example comparing your IP address with other known ones to determine ban evasion or other violations.</li>
+        <li>The email address you provide may be used to send you information, notifications about other people interacting with your content or sending you messages, and to respond to inquiries, and/or other requests or questions.</li>
       </ul>
-      < hr="spacer" />
 
-      <h3 id="بپارێزە"> چۆن زانیاریەکەت دەپارێزین؟</h3>
+      <hr class="spacer" />
+
+      <h3 id="protect">How do we protect your information?</h3>
 
-      <p> ئێمە چەندین پێوانەی ئەمنی جۆراوجۆر جێبەجێ دەکەین بۆ پاراستنی سەلامەتی زانیاری ە تایبەتیەکانت کاتێک تۆ داخڵت کردووە یان پێشکەشکردن یان چوونە ژوورەوە بۆ زانیاری تایبەتی. لە نێوان شتەکانی تردا، دانیشتنی وێبگەڕەکەت، هەروەها ترافیکی نێوان کاربەرنامەکانت و API، بە SSL پارێزراوە، و نهێنوشەکەت بە بەکارهێنانی ئەلگاریتمی یەک-ڕێگەی بەهێز بە هاوسێکراوە. دەتوانیت سەلماندنی دوو-فاکتەر بەتوانا بکەیت بۆ زیاتر پاراستنی چوونە ژوورەوە بۆ ئەژمێرەکەت.</p>
+      <p>We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL, and your password is hashed using a strong one-way algorithm. You may enable two-factor authentication to further secure access to your account.</p>
 
-      < hr="spacer" />
-      < hr="spacer" />
+      <hr class="spacer" />
 
-      <h3 id="داتا-هێشتنەوە"> بیمەنامەی هێشتنەوە داتامان چییە؟</h3>
+      <h3 id="data-retention">What is our data retention policy?</h3>
 
-      <p> ئێمە بە باشی هەوڵ بۆ باوەڕەکان </p>
+      <p>We will make a good faith effort to:</p>
 
       <ul>
-      <li> سێرڤەری پاراستنی ناونووسەکان کە ناونیشانی ئای پی تێدایە بۆ هەموو داواکاریەکان بۆ ئەم سێرڤەرە، تا ئێستا وەک ئەو جۆرە لۆگانە پارێزراون، زیاتر لە 90 ڕۆژ.</li>
-      <li> ئای پیەکە بپارێزە کە پەیوەندی بە بەکارهێنەرە تۆمارکراوەکان هەیە زیاتر لە 12 مانگ.</li>
+        <li>Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more than 90 days.</li>
+        <li>Retain the IP addresses associated with registered users no more than 12 months.</li>
       </ul>
-      <p> دەتوانیت داواکاری و داگرتنی ئەرشیفی ناوەڕۆکەکەت بکەیت، لەوانە بابەتەکانت، هاوپێچەکانی میدیا، وێنەی پرۆفایل، و وێنەی سەرپەڕە.</p>
 
-      <p> تۆ دەتوانیت بە شێوەیەکی نائاسایی ئەژمێرەکەت بسڕیتەوە لە هەر کاتێکدا.</p>
+      <p>You can request and download an archive of your content, including your posts, media attachments, profile picture, and header image.</p>
+
+      <p>You may irreversibly delete your account at any time.</p>
+
+      <hr class="spacer"/>
 
-      < hr="spacer"/>
+      <h3 id="cookies">Do we use cookies?</h3>
 
-      <h3 id="کۆکیز"> ئایا ئێمە کۆکیز بەکار بێنە؟</h3>
+      <p>Yes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.</p>
 
-      <p> بەڵێ کۆکیزەکان فایلی بچووکن کە سایتێک یان دابینکەری خزمەتگوزاریەکەی دەیگوێزێتەوە بۆ هارد درایڤی کۆمپیوتەرەکەت لە ڕێگەی وێبگەڕەکەت (ئەگەر ڕێگەت پێ بدەیت). ئەم کۆکیزانە وێبسایتە بەتوانا دەکەن بۆ ناسینەوەی وێبگەڕەکەت و، ئەگەر ئەژمێرێکی تۆمارکراوت هەیە، بیبەستە بە ئەژمێری تۆمارکراو.</p>
+      <p>We use cookies to understand and save your preferences for future visits.</p>
 
-      <p> کۆکیز بەکاربێنە بۆ تێگەیشتن و هەڵگرتنی پەسەندیەکانی تۆ بۆ سەردانەکانی داهاتوو.</p>
+      <hr class="spacer" />
 
-      < hr="spacer" />
+      <h3 id="disclose">Do we disclose any information to outside parties?</h3>
 
-      <h3 ="ئاشکرا</h3> > ئایا هیچ زانیارییەک بۆ حزبەکانی دەرەوە ئاشکرا دەکەین؟
+      <p>We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety.</p>
 
-      <p> ئێمە زانیاریە تایبەتەکانت نافرۆشین، بازرگانی دەکەین، یان ناگوازرێتەوە بۆ حزبەکانی دەرەوە. ئەمە لایەنی سێیەمی باوەڕپێکراو ی تێدا نییە کە یارمەتیمان دەدات لە کارپێکردنی سایتەکەمان، ئەنجامدانی کارەکانمان، یان خزمەتکردنی ئێوە، هەتا ئەو حزبانە ڕازی بن بە نهێنی هێشتنەوەی ئەم زانیاریانە. هەروەها لەوانەیە زانیاریەکەت بڵاوکەینەوه کاتێک پێمان وایە ئازادکردن گونجاوە بۆ پابەندبوون بە یاسا، سەپاندنی سیاسەتی ماڵپەڕەکەمان، یان پاراستنی مافەکانمان یان مافی تر، موڵک، یان سەلامەتی.</p>
+      <p>Your public content may be downloaded by other servers in the network. Your public and followers-only posts are delivered to the servers where your followers reside, and direct messages are delivered to the servers of the recipients, in so far as those followers or recipients reside on a different server than this.</p>
 
-      <p> لەوانەیە ناوەڕۆکی گشتیت دابەزێنرابێت لەلایەن خزمەتگوزاریەکانی ترەوە لە تۆڕەکەدا. پۆستە گشتی و تەنها شوێنکەوتوانی تۆ دەگەیەنینە ئەو سێرڤەرانەی کە شوێنکەوتوانی تێیدا نواندووە، و پەیامی ڕاستەوخۆ دەگەیەنینە خزمەتکارەکانی وەرگرەکان، لە دووری ئەوەی کە شوێنکەوتوانی یان وەرگرەکان لە سێرڤەرێکی جیاواز لەم.</p>
+      <p>When you authorize an application to use your account, depending on the scope of permissions you approve, it may access your public profile information, your following list, your followers, your lists, all your posts, and your favourites. Applications can never access your e-mail address or password.</p>
 
-      <p> کاتێک تۆ مۆڵەت بە کاربەرنامەیەک بدەیت بۆ بەکارهێنانی ئەژمێرەکەت، بەگوێرەی مەودای مۆڵەتەکانت کە پەسەندت کردووە، لەوانەیە بچێتە ناو زانیاری پرۆفایلی گشتی، لیستی خوارەوەت، شوێنکەوتوانی تۆ، لیستەکانت، هەموو بابەتەکانت، و دڵراوەکانی تۆ. کاربەرنامەکان هەرگیز ناتوانن دەستگەیشتنیان هەبێت بە ناونیشانی ئیمەیڵ یان نهێنوشە.</p>
-      < hr="spacer" />
+      <hr class="spacer" />
 
-      <h3 id="منداڵان"> بەکارهێنانی سایت لەلایەن منداڵانەوە</h3>
+      <h3 id="children">Site usage by children</h3>
 
-      <p> ئەگەر ئەم سێرڤەرە لە یەکێتی ئەورووپا یان ئی ئی ئی ئەی بێت: ماڵپەڕ، بەرهەم و خزمەتگوزارییەکانی ئێمە هەموویان ئاراستەی ئەو کەسانە دەکرێت کە بە لایەنی کەمەوە 16 ساڵ ن. ئەگەر تەمەنت لە خوار 16 ساڵەوە بێت، لە سەر پێداویستی GDPR (<a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">General Data Protection Regulation</a>) ئەم سایتە بەکارمەهێنیت.</p>
+      <p>If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (<a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">General Data Protection Regulation</a>) do not use this site.</p>
 
-      <p> ئەگەر ئەم سێرڤەرە لە ئەمریکا بێت: ماڵپەڕ و بەرهەم و خزمەتگوزاریەکانمان هەمووی ئاراستەی ئەو کەسانە دەکرێت کە بە لایەنی کەمەوە 13 ساڵ ن. ئەگەر تۆ لە خوار تەمەنی 13 ساڵیەوەبیت، لە سەر داواکاریەکانی COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children's Online Privacy Protection act</a>) ئەم سایتە بەکارمەهێنیت.</p>
+      <p>If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children's Online Privacy Protection Act</a>) do not use this site.</p>
 
-      <p> یاسا دەتوانێت جیاواز بێت ئەگەر ئەم سێرڤەرە لە دەسەڵاتی دادوەری تر بێت.</p>
+      <p>Law requirements can be different if this server is in another jurisdiction.</p>
 
-      < hr="spacer" />
+      <hr class="spacer" />
 
-      <h3 id="گۆڕانکاریەکان"> گۆڕانکاریەکان لە سیاسەتی تایبەتمەندیمان</h3>
+      <h3 id="changes">Changes to our Privacy Policy</h3>
 
-      <p> ئەگەر بڕیارمان دا سیاسەتی تایبەتمەندیمان بگۆڕین، ئەو گۆڕانکاریانە لەم پەڕەیە بڵاودەکەینەوە.</p>
+      <p>If we decide to change our privacy policy, we will post those changes on this page.</p>
 
-      <p> ئەم دۆکیومێنتە CC-BY-SA ە. دوایین جار نوێکرایەوە لە 7ی ئازاری 2018.</p>
+      <p>This document is CC-BY-SA. It was last updated March 7, 2018.</p>
 
-      <p> لە بنەڕەتدا لە < href="https://github.com/discourse/discourse">Discourse privacy policy</a>.</p>
-    title: "%{instance} مەرجەکانی خزمەتگوزاری و سیاسەتی تایبەتیێتی"
+      <p>Originally adapted from the <a href="https://github.com/discourse/discourse">Discourse privacy policy</a>.</p>
+    title: "%{instance} mercên bikaranîn û politîkayên nehêniyê"
   themes:
-    contrast: ماستۆدۆن (کۆنتراستی بەرز)
-    default: ماستۆدۆن (ڕەش)
-    mastodon-light: ماستۆدۆن (کاڵ)
+    contrast: Mastodon (dijberiya bilind)
+    default: Mastodon (Tarî)
+    mastodon-light: Mastodon (Ronahî)
+  time:
+    formats:
+      default: "%b %d, %Y, %H:%M"
+      month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
-    add: زیادکردن
-    disable: لەکارخستنی 2FA
-    disabled_success: سەلماندنی سەلماندنی دوو-فاکتەر بە سەرکەوتوویی لەکارخراوە
-    edit: دەستکاری
-    enabled: سەلماندنی دوو-فاکتەر چالاک کراوە
-    enabled_success: سەلماندنی دوو-فاکتەر بە سەرکەوتوویی چالاک کرا
-    generate_recovery_codes: دروست کردنی کۆدی چاککردنەوە
-    lost_recovery_codes: کۆدی گەڕاندنەوە ڕێگەت پێ دەدات کە دەستگەیشتنت بۆ هەژمارەکەت بەدەست بهێنێ ئەگەر تەلەفۆنەکەت لەدەست بدەیت. ئەگەر کۆدەکانی چاکبوونەوەت لەدەست داوە، دەتوانیت لێرە دووبارە دروستیان کەی. کۆدی چاککردنەوەی کۆنت هەڵدەوەشێنێتەوە.
-    methods: دوو - میتۆدی فاکتەر
-    otp: ئەپی ڕاستەوە
-    recovery_codes: پاڵپشتکردن لە کۆدی هێنانەوەی
-    recovery_codes_regenerated: کۆدی گەڕاندنەوە بە سەرکەوتوویی دووبارە دروست بوویەوە
-    recovery_instructions_html: گەر تەلەفۆنەکەت بزر کرد دەتوانی بە یەکێک لە کۆدەکانی خوارەوە چاودێری هەژمارەکەت لە دەست بگریت.<strong>ائەم کۆدانە لە شوێنێکی پاراو هەڵبگرە</strong> بۆ نموونە چاپی بکەن یان لەگەڵ بەڵگەنامە گرینگەکانت دایبنێ.
-    webauthn: کلیلەکانی پاراستن
+    add: Tevlî bike
+    disable: 2FA neçalak bike
+    disabled_success: Rastandina du-gavî bi serfirazî hate sekinandin
+    edit: Serrast bike
+    enabled: Rastandina du-gavî bi serfirazî hate çalak kirin
+    enabled_success: Rastandina du-gavî bi serfirazî hate çalak kirin
+    generate_recovery_codes: Kodên xilaskirinê çêbike
+    lost_recovery_codes: Ku telefon winda bibe kodên xilaskirinê derfet dide ku tu bigihijî ajimêra xwe. Heke te kodên xwe yê xilaskirinê winda kiribe tu dikarî ji vê derê dîsa ava bikî. Kodên te yê xilaskirinê ên kevin wê nederbasdar bibe.
+    methods: Rêbazên du-gavî
+    otp: Sepana Authenticator
+    recovery_codes: Kilîtên rizgarbûna hilanînê
+    recovery_codes_regenerated: Kilîtên rizgarbûna bi serkeftî hate nûvkirin
+    recovery_instructions_html: Heke gava te têlefona xwe winda kir, tu dikarî yek ji kodên rizgarkirinê yên jêrîn bi kar bîne da ku tu bigihîjî ajimêra xwe. <strong>Kodên rizgarkirinê li cihekî ewle biparêze </strong>. Mînakî, tu dikarî wan çap bikî û wan bi peldandkên din ên girîng re tomar bike.
+    webauthn: Kilîdên ewlehiyê
   user_mailer:
+    appeal_approved:
+      action: Biçe ajimêra xwe
+      explanation: Îtîraza binpêkirinê ya li dijî ajimêrê te ya %{strike_date} ku te di %{appeal_date} de şandibû hate pejirandin. Ajimêrê te careke din di rewşek baş de ye.
+      subject: Îtîraza te ji %{date} hate pejirandin
+      title: Îtîraz hate pejirandin
+    appeal_rejected:
+      explanation: Îtîraza binpêkirinê ya li dijî ajimêrê te ya di %{strike_date} de ku te di %{appeal_date} de şandibû nehat pejirandin.
+      subject: Îtîraza te ji %{date} nehate pejirandin
+      title: Îtîraz nehate pejirandin
     backup_ready:
-      explanation: ئێوە وشانێکی پاڵپشتی تەواوت لە هەژمارەکەی خۆت داوا کردووە، ئەم پاڵپشتییە ئێستا ئامادەی بارکردنە!
-      subject: ئارشیڤی ئێوە ئامادەی داگرتنە
-      title: وەرگرتنی ئارشیڤ
+      explanation: Te yedekîya tijê ya ajimêrê xwe Mastodonê xwest. Niha ji daxistinê re amade ye!
+      subject: Arşîva te amede ye bo daxistinê
+      title: Pakêtkirina arşîvan
     sign_in_token:
-      details: 'وردەکاریی هەوڵەکان:'
-      explanation: 'هەوڵێک بۆ هاتنە نێو هەژمارەکەتان لە ناونیسانێکی ئای‌پی پەیداکرا. گەر خۆتانن. تێپەڕوشەی پاراستن بۆ پەڕەی بەرنگاری دابین بکە:'
-      further_actions: 'گەر ئێوە نیین تکایە تێپەڕوشە بگۆڕە وە لێرەوە پەسەند بوونی دوو قۆناغی لە سەر هەژمارەکەتان چالاک بکەن:'
-      subject: تکایە دڵنیابە لە هەوڵدان بۆ چوونە ژوورەوە
-      title: هەوڵدان بۆ چوونە ژوورەوە
+      details: 'Li vir hûrgiliyên hewldanê hene:'
+      explanation: 'Me hewildanek têketina ajimêra te ji navnîşana IPya nenas nas kir. Ger ev tu bî, ji kerema xwe koda ewlehiyê ya jêr têkeve rûpela jêpirsînê:'
+      further_actions: 'Ger ev ne tu bî, ji kerema xwe re şîfreya xwe biguherîne û li ser hesaba xwe rastkirina du-gavî çalak bike. Tu dikarî wê ji vê derê çêkî:'
+      subject: Ji kerema xwe re hewldanên têketinê piştrast bike
+      title: Hewldanên têketinê
     warning:
+      appeal: Îtîrazekê bişîne
+      appeal_description: Heke tu bawer dikî ku ev şaşetiyeke, tu dikarî îtîrazekê ji karmendên %{instance} re bişînî.
+      categories:
+        spam: Nexwestî (Spam)
+        violation: Naverok rêbazên civakê yên jêrîn binpê dike
+      explanation:
+        delete_statuses: Hate dîtin ku hinek şandiyên te yek an jî çend rêwerzên civatê binpê dikin û dû re ji hêla çavdêrên %{instance} ve hatine rakirin.
+        disable: Tu êdî nikarî ajimêra xwe bi kar bînî, lê profîla te û daneyên din bê ziyan dimînin. Tu dikarî ji daneyên xwe hilanînê bixwazî, sazkariyên ajimêrê biguherîmî an jî ajimêrê xwe jê bibî.
+        mark_statuses_as_sensitive: Hinek şandiyên te ji hêla çavdêrên %{instance} ve wekî hestyar hatine nîşankirin. Ev tê vê wateyê ku berî ku pêşdîtinek were xuyang kirin pêdivî ye ku mirov di nav şandiyan de bitikînî. Dema ku di pêşerojê de bişînî tu dikarî medyayê wekî xwe hestyar nîşan bikî.
+        sensitive: Ji niha û pê ve, hemû pelên te yên medyayê yên hatine barkirin wê li piştî hişyariyek wekî hestyar û veşartî bêne nîşankirin.
+        silence: Tu hîn jî dikarî ajimêra xwe bi kar bînî lê tenê kesên ku jixwe te dişopînin wê şandiyên te li ser vê rajekarê bibînin, û dibe ku tu ji cûrbecûr taybetmendiyên vedîtinê werî bi dûrxistin. Lêbelê, yên din hîn jî dikarin bi destan te bişopînin.
+        suspend: Tu êdî nikarî têkevî ajimêra xwe, û profîla te û daneyên din êdî nayên gihîştin. Dîsa jî tu dikarî têkevî da ku hilanîna daneyên xwe daxwaz bikî heya ku dane bi tevahî werin rakirin di hundirê 30 roj de, lê em ê hin daneyan biparêzin da ku tu ji rawestandinê rizgar bikî.
+      reason: 'Sedem:'
+      statuses: 'Şandiyên binavkirî:'
       subject:
-        disable: هەژمارەکەت %{acct} بەستراوە
-        none: ئاگاداری بۆ %{acct}
-        silence: هەژمارەکەی %{acct} سنووردار کراوە
-        suspend: هەژمارەکەی %{acct} ڕاگیرا
+        delete_statuses: Şandiyên te yên li ser %{acct} hatin rakirin
+        disable: Ajimêra te a %{acct} hat qerisandin
+        mark_statuses_as_sensitive: Şandiyên te yên li ser %{acct} wekî hestyar hatine nîşankirin
+        none: Hişyarî bo %{acct}
+        sensitive: Şandiyên te yên li ser %{acct} wê ji niha û pê ve wekî hestyar bêne nîşankirin
+        silence: Ajimêra te ya %{acct} hate bisînorkirin
+        suspend: Ajimêra te %{acct} hate rawestandin
       title:
-        disable: هەژمارە بەستراوە
-        none: ئاگاداری
-        silence: هەژماری سنووردار
-        suspend: هەژمار ڕاگیرا
+        delete_statuses: Şandî hatin rakirin
+        disable: Ajimêr hate qerisandin
+        mark_statuses_as_sensitive: Şandî wekî hestyar hatine nîşankirin
+        none: Hişyarî
+        sensitive: Ajimêr wekî hestyar hate nîşankirin
+        silence: Ajimêr sînor kiriye
+        suspend: Ajimêr hatiye rawestandin
     welcome:
-      edit_profile_action: پرۆفایلی جێگیرکردن
-      edit_profile_step: 'ئێوە دەتوانن پرۆفایلەکەتان بە دڵخوازی خۆتان بگۆڕن: دەتوانن وێنەی پرۆفایل،وێنەی پاشبنەما،ناو و... هتد دابین بکەن. ئەگەر هەرەکت بێت دەتوانی هەژمارەکەت تایبەت بکەیتەوە تا تەنها کەسانێک کە ئێوە ڕێگەتان داوە دەتوانن شوێنکەوتوو هەژمارەکەتان بن.'
-      explanation: ئەمە چەند ئامۆژگارییەکن بۆ دەست پێکردنت
-      final_action: دەست بکە بە بڵاوکردنەوە
-      final_step: 'چیزی بنووسید! تەنانەت گەر ئێستا کەسێک شوێن کەوتووی ئێوە نەبوو، هەژمارەکانی دیکە و سەردانکەرەکانی پرۆفایلەکەتان نووسراوەکانی گشتی ئێوە دەبینن. بۆ نموونە لە پێرستی نووسراوە خۆماڵییەکان و لە لکاوەی(هاشتاگ) ەکان، شایەد هەرەکتان بێت بە چەسپکراوەی # خۆتان بناسێنن.'
-      full_handle: ناوی بەکارهێنەری تەواوی ئێوە
-      full_handle_hint: ئەمە ئەو شتەیە کە بە هاوڕێکانت دەلێی بۆ ئەوەی پەیام یان لە ڕاژەیەکی دیکەی ترەوە بەدوات بکەون.
-      review_preferences_action: گۆڕینی پەسەندەکان
-      review_preferences_step: دڵنیابە لە دانانی پەسەندکراوەکانت، وەک کام ئیمەیل کە دەتەوێت وەریبگرێ، یان دەتەوێت چ ئاستێکی تایبەتیت بۆ بابەتەکانت پێش گریمانە بێت. ئەگەر نەخۆشی جوڵەت(دڵ تێکەڵدان لە وێنە جووڵەییەکان) نیە، دەتوانیت هەڵبژێریت بۆ بەتواناکردنی پەخشکردنی خۆکاری GIF.
-      subject: بەخێربیت بۆ ماستۆدۆن
-      tip_federated_timeline: پێرستی نووسراوەکانی هەمووشوێنێک وێنەیەکی گشتی لە تۆڕی ماستۆدۆنە، بەڵام تەنها بریتییە لە هاوسێکان کە شوێنیان کەوتن؛بس تەواو نییە.
-      tip_following: بە شیوەی بنەڕەتی بەڕێوەبەران ڕاژەکەتان چاودێری دەکەن، بۆ پەداکردنی کەسانی سەرنجڕاکێشە چاودێری نووسراوە ناخۆیی و نووسراوەکانی شوێنەکانی دیکە بکەن.
-      tip_local_timeline: پێرستی نووسراوە ناوخۆییەکان شێوەیەکی تەواو لە بەکارهێنەران لە سەر %{instance} پیسان دەدەن، ئەمانە جەیرانی ئێوەن!
-      tip_mobile_webapp: ئەگەر وێبگەڕی مۆبایلەکەت پێشنیاری زیادکردنی ماستۆدۆن بۆ شاشەی ڕوومێزیەکەتی کرد، دەتوانیت ئاگانامەکانی هاندان وەربگری. لە زۆر ڕوەوە وەک بەرنامەیەیەکی ئەسڵی ئیس دەکا!
-      tips: ئامۆژگاریەکان
-      title: بەخێربێیت، بەکارهێنەر %{name}!
+      edit_profile_action: Profîlê saz bike
+      edit_profile_step: Tu dikarî profîla xwe bi barkirina wêne, sernav, guherandina navê xuyangê xwe û bêhtir ve xweş bikî. Heke tu dixwazî şagirtên nû binirxînî berî ku mafê bidî ku ew te bişopînê, tu dikarî ajimêra xwe kilît bike.
+      explanation: Li vir çend serişte hene ku tu dest pê bike
+      final_action: Dest bi weşandinê bike
+      final_step: 'Dest bi weşandinê bike! Bêyî şopîneran jî dibe ku şandiyên te yên gelemperî ji hêla kesên din ve werin dîtin, mînakî li ser demjimêra herêmî û di hashtagan de. Dibe ku tu bixwazî xwe li ser hashtagê #nasname bidî nasandin.'
+      full_handle: Hemî destikê te
+      full_handle_hint: Ji hevalên xwe re, ji bona ji rajekarekê din peyam bişîne an jî ji bona ku te bikaribe bişopîne tişta ku tu bibêjî ev e.
+      review_preferences_action: Bijartinan biguherîne
+      review_preferences_step: Pê bawer be ku vebijêrkên xwe saz bikî, wek mînak kîjan e-nameyên ku tu dixwaziî wergirîne, an tu dixwazî weşanên te ji kîjan astê nehêniyê de kesanekirî bin. Heke nexweşiya te ya tevgerê tune be, tu dikarî hilbijêrî ku GIF ya xweser çalak bibe.
+      subject: Tu bi xêr hatî Mastodon
+      tip_federated_timeline: Demnameya giştî dimenêke gelemperî a Mastodon e. Lê tenê kesên ku ciranên te endamên wê ne dihewîne, ji ber vê yekê ew hemû nîne.
+      tip_following: Tu rêvebir (ên) rajeker wek berdest dişopînî. Ji bo mirovên balkêştir bibînî, demnameya herêmî û federasyonî kontrol bike.
+      tip_local_timeline: Demnameya herêmî, dimenêke bi giştî ye li ser %{instance} e. Ev ciranên te yên herî nêzik in!
+      tip_mobile_webapp: Ger geroka te ya desta pêşkêşî te bike ku tu Mastodon li ser ekrana xwe ya malê lê zêde bikî, tu dikarî agahdariyên push bistînî. Ew bi gelek awayan mîna serîlêdanek xwemalî tevdigere!
+      tips: Serbend
+      title: Bi xêr hatî, %{name}!
   users:
-    follow_limit_reached: ناتوانیت زیاتر لە %{limit} خەڵک پەیڕەو کەیت
-    generic_access_help_html: کێشەت هەیە لە گەیشتن بە هەژمارەکەت؟ دەتوانیت لەگەڵ %{email} بۆ یارمەتیدان پەیوەندی بگرن
-    invalid_otp_token: کۆدی دوو-فاکتەر نادروستە
-    invalid_sign_in_token: کۆدی پاراستن دروست نیە
-    otp_lost_help_html: گەر بەو دووڕێگا نەتوانی بچیتە ژوورەوە، لەوانەیە پەیوەندی بگری بە %{email} بۆ یارمەتی
-    seamless_external_login: تۆ لە ڕێگەی خزمەتگوزاری دەرەکیەوە داخڵ بووی، بۆیە ڕێکبەندەکانی نهێنوشە و ئیمەیل بەردەست نین.
-    signed_in_as: 'چوونە ژوورەوە وەک:'
-    suspicious_sign_in_confirmation: وادیارە تۆ پێشتر لەم ئامێرە نەچویتە ژوورەوە، و بۆ ماوەیەک نەچویتە ژوورەوە، بۆیە کۆدی پاراستن دەنێردرینە ناونیشانی ئیمەیڵەکەت بۆ دڵنیابوون لەوەی کە ئەوە تۆیت.
+    follow_limit_reached: Tu nikarî zêdetirî %{limit} kesan bişopînî
+    generic_access_help_html: Di gihîştina ajimêrê te de pirsgirêk heye? Tu dikarî ji bo alîkariyê bi %{email} re têkilî deyne
+    invalid_otp_token: Koda du-gavî ya nelê
+    invalid_sign_in_token: Kilîda ewlehiyê a nelê
+    otp_lost_help_html: Heke te gihîştina herduyan ji dest da, dibe ku tu bi %{email} re têkilî deyne
+    seamless_external_login: Te bi servîsekî biyanî re têketina xwe kir, ji ber vê yekê şîfre û e-name nayê bikaranîn.
+    signed_in_as: 'Têketin wekî:'
+    suspicious_sign_in_confirmation: Xuya dike ku te berê têketin ji vê amûrê nekiriye, ji ber vê yekê em kodeke ewlehiyê ji navnîşana e-nameya te re dişînin da ku piştrast bikî ku tu ye an na.
   verification:
-    explanation_html: 'دەتوانیت <strong> خۆت بسەلمێنیت وەک خاوەنی لینکەکان لە مێتاداتای پرۆفایلەکەت</strong>. بۆ ئەمە، ماڵپەڕە لینککراوەکە پێویستە لینکێکی تێدا بێت بۆ پرۆفایلی ماستۆدۆنەکەت. بەستەری <strong> دەبێت </strong> هەبێت <code>="me"</code>. ناوەڕۆکی دەقی لینکەکە گرنگ نییە. ئەمە نموونەیەکە:'
-    verification: ساغ کردنەوە
+    explanation_html: 'Tu dikarî <strong>xwe wekî xwediyê girêdanên li daneyê meta profîla xwe piştrast bikî</strong>. Ji bo vê, hewceye girêda malperê di nav profîla te ya mastodonê de girêdanekî paş hebe. Girêdana paş<strong>hewceye</strong> taybetîyek <code>rel="me"</code>hebe. Naveroka nivîsa girêdanê ne girîng e. Ev jî mînakek e:'
+    verification: Piştrastkirin
   webauthn_credentials:
-    add: زیادکردنی کلیلی ئاسایشی نوێ
+    add: Kilîteke ewlehiyê nû tevlî bike
     create:
-      error: کێشەیەک هەبوو لە زیادکردنی کلیلی پاراستنەکەت. تکایە دووبارە هەوڵ دەوەشنەوە.
-      success: کلیلی ئاسایشت بە سەرکەوتوویی زیادکرا.
-    delete: سڕینەوە
-    delete_confirmation: ئایا دڵنیایت لەوەی دەتەوێت ئەم کلیلی پاراستنە بسڕیتەوە?
-    description_html: ئەگەر تۆ <strong> کلیلی سەلماندنت</strong> چالاک دەکەی، بۆ چوونە ژوورەوە پێویستت پێ دەبێ، یەکێک لە کلیلە کانی ئاسایشت بەکاربێنیت.
+      error: Gava Kilîteke ewlehiyê nû dihat tevlîkirin pirsgirêkek derket. Jkx dîsa biceribîne.
+      success: Tevlîkirina kilîteke ewlehiyê nû bi awayekî serkeftî qediya.
+    delete: Jê bibe
+    delete_confirmation: Ma tu bi rastî dixwazî ku ev kilîta ewlehiyê jê bibe?
+    description_html: Heker tu <strong> piştrastkirina kilîta ewlehiyê </strong> çalak bikî, Ji bo têketinê ger tu kilîtekî ewlehiyê bikarbînî.
     destroy:
-      error: کێشەیەک هەبوو لە سڕینەوەی کلیلی پاراستنەکەت. تکایە دووبارە هەوڵ بدەرەوە.
-      success: کلیلی ئاسایشت بە سەرکەوتوویی سڕایەوە.
-    invalid_credential: کۆدی پاراستن دروست نیە
-    nickname_hint: نازناوی کلیلی ئاسایشی نوێت تێبنووسە
-    not_enabled: تۆ هێشتا WebAuthnت چالاک نەکردووە
-    not_supported: ئەم وێبگەڕە پشتگیری کلیلەکانی پاراستن ناکات
-    otp_required: بۆ بەکارهێنانی کلیلەکانی پاراستن تکایە سەرەتا سەلماندنی دوو-فاکتەر چالاک بکە.
-    registered_on: تۆمارکراو لە %{date}
+      error: Dema kilîda ewlehiyê hate jêbirin pirsgirêkek peyda bû. Ji kerema xwe re careke din biceribîne.
+      success: Kilîda ewlehiyê bi awayekî serkeftî hatê jêbirin.
+    invalid_credential: Kilîda ewlehiyê a nelê
+    nickname_hint: Bernavka kilîda te ya ewlehiyê a nû têkevê
+    not_enabled: Te hê WebAuthn çalak nekiriye
+    not_supported: Ev gerok piştgiriya kilîtên ewlehiyê nakê
+    otp_required: Ji bo ku tu kilîtên ewlehiyê bikar bînî, ji kerema xwe re pêşî piştrastkirina du-gavî çalak bike.
+    registered_on: Di %{date} dîrokê de tomar bû
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index 838eccc15..5544fbc4d 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -151,7 +151,6 @@ lt:
       emoji: Jaustukas
       enable: Įjungti
       enabled_msg: Šis jaustukas sėkmingai įjungtas
-      image_hint: PNG failo dydis iki 50KB
       listed: Įtrauktas į sąrašą
       new:
         title: Pridėti naują jaustuką
@@ -187,17 +186,6 @@ lt:
       reject_media_hint: Panaikina lokaliai saugomus medijos failus bei atsisako jų parsisiuntimo ateityje. Neliečia užblokavimu
       reject_reports: Atmesti skundai
       reject_reports_hint: Ignoruoti visus skundus, kurie siunčiami iš šio domeno. Neliečia užblokavimu
-      rejecting_media: atmetami medijos failai
-      rejecting_reports: atmetami skundai
-      severity:
-        silence: užtildytas
-        suspend: uždraustas
-      show:
-        retroactive:
-          silence: Atitildyti visus egzistuojančius vartotojus šiame domene
-          suspend: Atblokuotis visus egzistuojančius vartotojus šiame domene
-        title: Atkurti domeno blokavimą domenui %{domain}
-        undo: Atkurti
       undo: Atkurti domeno bloką
     email_domain_blocks:
       add_new: Pridėti naują
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index 8e1a831dd..8f6df9961 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -16,6 +16,7 @@ lv:
     contact: Kontakts
     contact_missing: Nav uzstādīts
     contact_unavailable: N/A
+    continue_to_web: Pārej uz tīmekļa lietotni
     discover_users: Atklāj lietotājus
     documentation: Dokumentācija
     federation_hint_html: Izmantojot kontu vietnē %{instance}, varēsi sekot cilvēkiem jebkurā Mastodon serverī un ārpus tā.
@@ -25,6 +26,8 @@ lv:
       Šis konts ir virtuāls aktieris, ko izmanto, lai pārstāvētu pašu serveri, nevis atsevišķu lietotāju.
       To izmanto apvienošanas nolūkos, un to nedrīkst bloķēt, ja vien nevēlies bloķēt visu instanci, un tādā gadījumā tev jāizmanto domēna bloķēšana.
     learn_more: Uzzināt vairāk
+    logged_in_as_html: Tu pašlaik esi pieteicies kā %{username}.
+    logout_before_registering: Tu jau esi pieteicies.
     privacy_policy: Privātuma politika
     rules: Servera noteikumi
     rules_html: 'Tālāk ir sniegts noteikumu kopsavilkums, kas jāievēro, ja vēlies izveidot kontu šajā Mastodon serverī:'
@@ -72,7 +75,6 @@ lv:
     media: Mediji
     moved_html: "%{name} ir pārcēlies uz %{new_profile_link}:"
     network_hidden: Šāda informācija nav pieejama
-    never_active: Nekad
     nothing_here: Te nekā nav!
     people_followed_by: Cilvēki, kuriem %{name} seko
     people_who_follow: Cilvēki, kuri seko %{name}
@@ -375,7 +377,7 @@ lv:
       enable: Iespējot
       enabled: Iespējots
       enabled_msg: Šī emocijzīme ir veiksmīgi iespējota
-      image_hint: PNG līdz 50 KB
+      image_hint: PNG vai GIF līdz %{size}
       list: Saraksts
       listed: Uzrakstītas
       new:
@@ -456,21 +458,6 @@ lv:
       reject_media_hint: Noņem lokāli saglabātos mediju failus un atsaka tos lejupielādēt nākotnē. Nav nozīmes apturēšanai
       reject_reports: Noraidīt ziņojumus
       reject_reports_hint: Ignorēt visus ziņojumus, kas nāk no šī domēna. Nav nozīmes apturēšanai
-      rejecting_media: noraidīt mediju failus
-      rejecting_reports: noraida ziņojumus
-      severity:
-        silence: ierobežots
-        suspend: apturēts
-      show:
-        affected_accounts:
-          one: Ietekmēts viens konts datu bāzē
-          other: Ietekmēti %{count} konti datu bāzē
-          zero: Nav ietekmētu kontu datubāzē
-        retroactive:
-          silence: Atsaukt ierobežojumus esošajiem ietekmētajiem kontiem no šī domēna
-          suspend: Atcelt šī domēna esošo ietekmēto kontu darbības apturēšanu
-        title: Atsaukt domēna bloķēšanu %{domain}
-        undo: Atsaukt
       undo: Atsaukt domēna bloķēšanu
       view: Skatīt domēna bloķēšanu
     email_domain_blocks:
@@ -502,24 +489,49 @@ lv:
       title: Sekošanas rekomendācijas
       unsuppress: Atjaunot sekošanas rekomendāciju
     instances:
+      availability:
+        description_html:
+          one: Ja piegāde uz domēnu neizdodas <strong>%{count} dienu</strong> bez panākumiem, turpmāki piegādes mēģinājumi netiks veikti, ja vien netiks saņemta piegāde <em>no</em> domēna.
+          other: Ja piegāde uz domēnu neizdodas <strong>%{count} dažādas dienās</strong>, un tas neizdodas, turpmāki piegādes mēģinājumi netiks veikti, ja vien netiks saņemta piegāde <em>no</em> domēna.
+          zero: Ja piegāde uz domēnu neizdodas <strong>%{count} dažādas dienās</strong>, un tas neizdodas, turpmāki piegādes mēģinājumi netiks veikti, ja vien netiks saņemta piegāde <em>no</em> domēna.
+        failure_threshold_reached: Kļūmju slieksnis sasniegts %{date}.
+        failures_recorded:
+          one: Neizdevies mēģinājums %{count} dienā.
+          other: Neizdevušies mēģinājumi %{count} dienās.
+          zero: Neizdevušies mēģinājumi %{count} dienās.
+        no_failures_recorded: Nav reģistrētu kļūdu.
+        title: Pieejamība
       back_to_all: Visas
       back_to_limited: Ierobežotās
       back_to_warning: Brīdinājums
       by_domain: Domēns
       confirm_purge: Vai tiešām vēlies neatgriezeniski izdzēst datus no šī domēna?
+      content_policies:
+        comment: Iekšējā piezīme
+        description_html: Tu vari definēt satura politikas, kas tiks piemērotas visiem kontiem no šī domēna un jebkura tā apakšdomēna.
+        policies:
+          reject_media: Noraidīt medijus
+          reject_reports: Noraidīt ziņojumus
+          silence: Ierobežot
+          suspend: Apturēt
+        policy: Politika
+        reason: Publisks iemesls
+        title: Satura politikas
+      dashboard:
+        instance_accounts_dimension: Visvairāk sekotie konti
+        instance_accounts_measure: saglabātie konti
+        instance_followers_measure: mūsu sekotāji tur
+        instance_follows_measure: viņu sekotāji šeit
+        instance_languages_dimension: Populārākās valodas
+        instance_media_attachments_measure: saglabātie mediju pielikumi
+        instance_reports_measure: ziņojumi par viņiem
+        instance_statuses_measure: saglabātās ziņas
       delivery:
         all: Visas
         clear: Notīrīt piegādes kļūdas
         restart: Pārstartēt piegādi
         stop: Apturēt piegādi
-        title: Piegāde
         unavailable: Nav pieejams
-        unavailable_message: Piegāde nav iespējama
-        warning: Brīdinājums
-        warning_message:
-          one: Piegādes kļūme %{count} diena
-          other: Piegādes kļūme %{count} dienas
-          zero: Piegādes kļūme %{count} dienas
       delivery_available: Piegāde ir iespējama
       delivery_error_days: Piegādes kļūdu dienas
       delivery_error_hint: Ja piegāde nav iespējama %{count} dienas, tā tiks automātiski atzīmēta kā nepiegādājama.
@@ -536,12 +548,14 @@ lv:
       private_comment: Privāts komentārs
       public_comment: Publisks komentārs
       purge: Iztīrīt
+      purge_description_html: Ja uzskati, ka šis domēns uz visiem laikiem ir bezsaistē, tu vari no savas krātuves dzēst visus konta ierakstus un saistītos datus no šī domēna. Tas var aizņemt kādu laiku.
       title: Federācija
       total_blocked_by_us: Mūsu bloķēta
       total_followed_by_them: Viņiem seko
       total_followed_by_us: Mums seko
       total_reported: Ziņojumi par viņiem
       total_storage: Mediju pielikumi
+      totals_time_period_hint_html: Tālāk redzamajās summās ir iekļauti dati par visu laiku.
     invites:
       deactivate_all: Deaktivēt visu
       filter:
@@ -597,6 +611,7 @@ lv:
       action_taken_by: Veiktā darbība
       actions:
         delete_description_html: Raksti, par kurām ziņots, tiks dzēsti, un tiks reģistrēts brīdinājums, lai palīdzētu tev izvērst turpmākos pārkāpumus saistībā ar to pašu kontu.
+        mark_as_sensitive_description_html: Mediju faili ziņojumos, par kuriem ziņots, tiks atzīmēti kā sensitīvi, un tiks reģistrēts brīdinājums, lai palīdzētu tev palielināt tā paša konta turpmākās refrakcijas.
         other_description_html: Skatīt vairāk iespēju kontrolēt konta uzvedību un pielāgot saziņu ar paziņoto kontu.
         resolve_description_html: Pret norādīto kontu netiks veiktas nekādas darbības, netiks reģistrēts brīdinājums, un ziņojums tiks slēgts.
         silence_description_html: Profils būs redzams tikai tiem, kas jau tam seko vai manuāli apskata, stingri ierobežojot tās sasniedzamību. Šo vienmēr var atgriezt.
@@ -617,6 +632,7 @@ lv:
       forwarded: Pārsūtīti
       forwarded_to: Pārsūtīti %{domain}
       mark_as_resolved: Atzīmēt kā atrisinātu
+      mark_as_sensitive: Atzīmēt kā sensitīvu
       mark_as_unresolved: Atzīmēt kā neatrisinātu
       no_one_assigned: Neviena
       notes:
@@ -760,6 +776,7 @@ lv:
       actions:
         delete_statuses: "%{name} izdzēsa %{target} publikācijas"
         disable: "%{name} iesaldēja %{target} kontu"
+        mark_statuses_as_sensitive: "%{name} atzīmēja %{target} ziņu kā sensitīvu"
         none: "%{name} nosūtīja brīdinājumu %{target}"
         sensitive: "%{name} atzīmēja %{target} kontu kā sensitīvu"
         silence: "%{name} ierobežoja %{target} kontu"
@@ -785,6 +802,7 @@ lv:
       links:
         allow: Atļaut saiti
         allow_provider: Atļaut publicētāju
+        description_html: Šīs ir saites, kuras pašlaik bieži koplieto konti, no kuriem tavs serveris redz ziņas. Tas var palīdzēt taviem lietotājiem uzzināt, kas notiek pasaulē. Kamēr tu neapstiprini izdevēju, neviena saite netiek rādīta publiski. Vari arī atļaut vai noraidīt atsevišķas saites.
         disallow: Neatļaut saiti
         disallow_provider: Neatļaut publicētāju
         shared_by_over_week:
@@ -796,14 +814,17 @@ lv:
       pending_review: Gaida pārskatīšanu
       preview_card_providers:
         allowed: Šī publicētāja saites var mainīties
+        description_html: Tie ir domēni, no kuriem tavā serverī bieži tiek koplietotas saites. Saites nebūs publiski pieejamas, ja vien saites domēns netiks apstiprināts. Tavs apstiprinājums (vai noraidījums) attiecas arī uz apakšdomēniem.
         rejected: Saites no šī publicētāja nebūs tendence
         title: Publicētāji
       rejected: Noraidīts
       statuses:
         allow: Atļaut publicēt
         allow_account: Atļaut autoru
+        description_html: Šīs ir ziņas, par kurām tavs serveris zina un kuras pašlaik tiek koplietotas un pašlaik ir daudz izlasē. Tas var palīdzēt taviem jaunajiem un atkārtotiem lietotājiem atrast vairāk cilvēku, kam sekot. Neviena ziņa netiek publiski rādīta, kamēr neesi apstiprinājis autoru un autors atļauj savu kontu ieteikt citiem. Vari arī atļaut vai noraidīt atsevišķas ziņas.
         disallow: Neatļaut publicēt
         disallow_account: Neatļaut autoru
+        not_discoverable: Autors nav izvēlējies būt atklājams
         shared_by:
           one: Vienreiz kopīgots vai pievienots izlasei
           other: Kopīgots un pievienots izlasei %{friendly_count} reizes
@@ -817,6 +838,7 @@ lv:
           tag_servers_dimension: Populārākie serveri
           tag_servers_measure: dažādi serveri
           tag_uses_measure: lietojumi pavisam
+        description_html: Šīs ir atsauces, kas pašlaik tiek rādītas daudzās ziņās, kuras redz tavs serveris. Tas var palīdzēt taviem lietotājiem uzzināt, par ko cilvēki šobrīd runā visvairāk. Neviena atsauce netiek rādīta publiski, kamēr tu neesi tās apstiprinājis.
         listable: Var tikt ieteikts
         not_listable: Nevar tikt ieteikts
         not_trendable: Neparādīsies pie tendencēm
@@ -843,6 +865,7 @@ lv:
       actions:
         delete_statuses: lai izdzēstu viņu ierakstus
         disable: lai iesaldētu viņu kontu
+        mark_statuses_as_sensitive: lai atzīmētu viņu ziņas kā sensitīvas
         none: brīdinājums
         sensitive: lai atzīmētu viņu kontu kā sensitīvu
         silence: lai ierobežotu viņu kontu
@@ -945,8 +968,10 @@ lv:
     status:
       account_status: Konta statuss
       confirming: Gaida e-pasta apstiprinājuma pabeigšanu.
+      functional: Tavs konts ir pilnībā darboties spējīgs.
       pending: Tavu pieteikumu gaida mūsu darbinieku izskatīšana. Tas var aizņemt kādu laiku. Ja tavs pieteikums tiks apstiprināts, tu saņemsi e-pastu.
       redirecting_to: Tavs konts ir neaktīvs, jo pašlaik tas tiek novirzīts uz %{acct}.
+      view_strikes: Skati iepriekšējos brīdinājumus par savu kontu
     too_fast: Veidlapa ir iesniegta pārāk ātri, mēģini vēlreiz.
     trouble_logging_in: Problēma ar pieteikšanos?
     use_security_key: Lietot drošības atslēgu
@@ -1022,6 +1047,7 @@ lv:
         submit: Iesniegt apelāciju
       associated_report: Saistītais ziņojums
       created_at: Datēts
+      description_html: Šīs ir darbības, kas veiktas pret tavu kontu, un brīdinājumi, ko tev ir nosūtījuši %{instance} darbinieki.
       recipient: Adresēts
       status: 'Publikācija #%{id}'
       status_removed: Publikācija jau ir noņemta no sistēmas
@@ -1029,6 +1055,7 @@ lv:
       title_actions:
         delete_statuses: Ziņas noņemšana
         disable: Konta iesaldēšana
+        mark_statuses_as_sensitive: Ziņu atzīmēšana kā sensitīvas
         none: Brīdinājums
         sensitive: Konta atzīmēšana kā sensitīvs
         silence: Konta ierobežošana
@@ -1406,6 +1433,7 @@ lv:
     profile: Profils
     relationships: Man seko un sekotāji
     statuses_cleanup: Automātiska ziņu dzēšana
+    strikes: Moderācijas aizrādījumi
     two_factor_authentication: Divfaktoru Aut
     webauthn_authentication: Drošības atslēgas
   statuses:
@@ -1430,7 +1458,7 @@ lv:
       one: 'saturēja neatļautu tēmturi: %{tags}'
       other: 'saturēja neatļautus tēmturus: %{tags}'
       zero: 'neatļauti tēmturi: %{tags}'
-    edited_at: Rediģēts %{date}
+    edited_at_html: Rediģēts %{date}
     errors:
       in_reply_not_found: Šķiet, ka ziņa, uz kuru tu mēģini atbildēt, nepastāv.
     open_in_web: Atvērt webā
@@ -1491,6 +1519,7 @@ lv:
       '2629746': 1 mēnesis
       '31556952': 1 gads
       '5259492': 2 mēneši
+      '604800': 1 nedēļa
       '63113904': 2 gadi
       '7889238': 3 mēneši
     min_age_label: Vecuma slieksnis
@@ -1650,26 +1679,28 @@ lv:
         spam: Spams
         violation: Saturs pārkāpj šādas kopienas pamatnostādnes
       explanation:
-        delete_statuses: Ir konstatēts, ka daži no jūsu ierakstiem pārkāpj vienu vai vairākas kopienas vadlīnijas, un pēc tam %{instance} moderatori tos ir izdzēsuši. Turpmāki pārkāpumi var novest pie bargākiem soda pasākumiem pret jūsu kontu.
+        delete_statuses: Tika konstatēts, ka dažas no tavām ziņām pārkāpj vienu vai vairākas kopienas vadlīnijas, un rezultātā %{instance} moderatori tās noņēma.
         disable: Tu vairs nevari izmantot savu kontu, taču tavs profils un citi dati paliek neskarti. Tu vari pieprasīt savu datu dublējumu, mainīt konta iestatījumus vai dzēst kontu.
+        mark_statuses_as_sensitive: "%{instance} moderatori dažas no tavām ziņām ir atzīmējušas kā sensitīvas. Tas nozīmē, ka cilvēkiem būs jāpieskaras ziņās esošajiem medijiem, pirms tiek parādīts priekšskatījums. Tu arī pats vari atzīmēt mediju kā sensitīvu, kad tādu publicēsi turpmāk."
         sensitive: No šī brīža visi augšupielādētie mediju faili tiks atzīmēti kā sensitīvi un paslēpti aiz klikšķa brīdinājuma.
         silence: Tu joprojām vari izmantot savu kontu, taču tikai tie cilvēki, kuri jau tev seko, redzēs tavas ziņas šajā serverī, un tev var tikt liegtas dažādas atklāšanas funkcijas. Tomēr citi joprojām var tev manuāli sekot.
         suspend: Tu vairs nevari izmantot savu kontu, un tavs profils un citi dati vairs nav pieejami. Tu joprojām vari pieteikties, lai pieprasītu savu datu dublēšanu, līdz dati tiks pilnībā noņemti aptuveni 30 dienu laikā, taču mēs saglabāsim dažus pamata datus, lai neļautu tev izvairīties no apturēšanas.
-      get_in_touch: Ja uzskati, ka tā ir kļūda, vari atbildēt uz šo e-pastu, lai sazinātos ar %{instance} darbiniekiem.
       reason: 'Iemesls:'
-      statuses: 'Ziņas, kurās tika konstatēti pārkāpumi:'
+      statuses: 'Citētās ziņas:'
       subject:
         delete_statuses: Tavas ziņas %{acct} tika noņemtas
         disable: Tavs konts %{acct} tika iesaldēts
+        mark_statuses_as_sensitive: Tavas ziņas vietnē %{acct} ir atzīmētas kā sensitīvas
         none: Brīdinājums par %{acct}
-        sensitive: Tavi mediju faili %{acct} turpmāk tiks marķēti kā sensitīvi
+        sensitive: Tavas ziņas vietnē %{acct} turpmāk tiks atzīmētas kā sensitīvas
         silence: Tavs konts %{acct} tika ierobežots
         suspend: Tava konta %{acct} darbība ir apturēta
       title:
         delete_statuses: Izdzēstās ziņas
         disable: Konts iesaldēts
+        mark_statuses_as_sensitive: Ziņas ir atzīmēts kā sensitīvas
         none: Brīdinājums
-        sensitive: Paslēptie mediji
+        sensitive: Konts ir atzīmēts kā sensitīvs
         silence: Konts ierobežots
         suspend: Konts apturēts
     welcome:
diff --git a/config/locales/ms.yml b/config/locales/ms.yml
index 9a9b92d3c..4e101a890 100644
--- a/config/locales/ms.yml
+++ b/config/locales/ms.yml
@@ -66,7 +66,6 @@ ms:
     media: Media
     moved_html: "%{name} telah berpindah ke %{new_profile_link}:"
     network_hidden: Maklumat ini tidak tersedia
-    never_active: Belum pernah
     nothing_here: Tiada apa-apa di sini!
     people_followed_by: Orang yang %{name} ikuti
     people_who_follow: Orang yang mengikut %{name}
@@ -335,7 +334,6 @@ ms:
       enable: Dayakan
       enabled: Didayakan
       enabled_msg: Emoji tersebut berjaya didayakan
-      image_hint: PNG, maksimum 50KB
       list: Senarai
       listed: Disenaraikan
       new:
@@ -386,17 +384,6 @@ ms:
       reject_media_hint: Buang fail media yang disimpan secara tempatan dan tolak sebarang muat turun pada masa hadapan. Tidak terpakai untuk penggantungan
       reject_reports: Tolak laporan
       reject_reports_hint: Abaikan semua laporan daripada domain ini. Tidak terpakai untuk penggantungan
-      rejecting_media: menolak fail media
-      rejecting_reports: menolak laporan
-      severity:
-        silence: didiamkan
-        suspend: digantungkan
-      show:
-        retroactive:
-          silence: Nyahdiamkan akaun yang menerima kesan sedia ada daripada domain ini
-          suspend: Nyahgantungkan akaun yang menerima kesan sedia ada daripada domain ini
-        title: Undurkan sekatan domain untuk %{domain}
-        undo: Undurkan
       undo: Undurkan penyekatan domain
       view: Lihat penyekatan domain
     email_domain_blocks:
@@ -426,12 +413,7 @@ ms:
         clear: Buang ralat penghantaran
         restart: Mulakan semula penghantaran
         stop: Hentikan penghantaran
-        title: Penghantaran
         unavailable: Tidak tersedia
-        unavailable_message: Penghantaran tidak tersedia
-        warning: Amaran
-        warning_message:
-          other: Penghantaran gagal selama %{count} hari
       delivery_available: Penghantaran tersedia
       delivery_error_days: Hari ralat penghantaran
       delivery_error_hint: Jika penghantaran tidak berjaya selama %{count} hari, ia akan ditanda sebagai tidak boleh dihantar.
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index f1cbecbc0..a51ef07af 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -67,7 +67,6 @@ nl:
     media: Media
     moved_html: "%{name} is verhuisd naar %{new_profile_link}:"
     network_hidden: Deze informatie is niet beschikbaar
-    never_active: Nooit
     nothing_here: Hier is niets!
     people_followed_by: Mensen die %{name} volgen
     people_who_follow: Mensen die %{name} volgen
@@ -338,7 +337,6 @@ nl:
       enable: Inschakelen
       enabled: Ingeschakeld
       enabled_msg: Inschakelen van deze emoji geslaagd
-      image_hint: PNG van max. 50KB
       list: In lijst
       listed: Weergegeven
       new:
@@ -389,17 +387,6 @@ nl:
       reject_media_hint: Verwijderd lokaal opgeslagen mediabestanden en weigert deze in de toekomst te downloaden. Irrelevant voor opgeschorte domeinen
       reject_reports: Rapportages weigeren
       reject_reports_hint: Alle rapportages die vanaf dit domein komen negeren. Irrelevant voor opgeschorte domeinen
-      rejecting_media: mediabestanden worden geweigerd
-      rejecting_reports: rapportages worden geweigerd
-      severity:
-        silence: genegeerd
-        suspend: opgeschort
-      show:
-        retroactive:
-          silence: Alle genegeerde accounts van dit domein niet langer negeren
-          suspend: Alle opgeschorte accounts van dit domein niet langer opschorten
-        title: Domeinblokkade voor %{domain} ongedaan maken
-        undo: Ongedaan maken
       undo: domeinblokkade ongedaan maken
       view: Domeinblokkade bekijken
     email_domain_blocks:
@@ -429,13 +416,7 @@ nl:
         clear: Bezorgfouten weghalen
         restart: Bezorging herstarten
         stop: Bezorging beëindigen
-        title: Bezorging
         unavailable: Niet beschikbaar
-        unavailable_message: Bezorging is niet beschikbaar
-        warning: Waarschuwing
-        warning_message:
-          one: Bezorgingsfout voor %{count} dag
-          other: Bezorgfout voor %{count} dagen
       delivery_available: Bezorging is mogelijk
       delivery_error_days: Dagen met bezorgfouten
       delivery_error_hint: Wanneer de bezorging voor %{count} dagen niet mogelijk is, wordt de bezorging automatisch als niet beschikbaar gemarkeerd.
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index 14cd5a1c7..3af989a14 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -67,7 +67,6 @@ nn:
     media: Media
     moved_html: "%{name} har flytta til %{new_profile_link}:"
     network_hidden: Denne informasjonen er ikkje tilgjengeleg
-    never_active: Aldri
     nothing_here: Her er det ingenting!
     people_followed_by: Folk som %{name} fylgjer
     people_who_follow: Folk som fylgjer %{name}
@@ -301,7 +300,6 @@ nn:
       enable: Slå på
       enabled: Slege på
       enabled_msg: Aktiverte kjensleteikn
-      image_hint: PNG opp til 50 kB
       list: Oppfør
       listed: Oppført
       new:
@@ -362,17 +360,6 @@ nn:
       reject_media_hint: Fjernar mediefiler som er lagra lokalt og nektar å lasta ned andre i framtida. Har ikkje noko å seia for utvisingar
       reject_reports: Avvis rapportar
       reject_reports_hint: Ignorer alle rapportar frå dette domenet. Har ikkje noko å seia for utvisingar
-      rejecting_media: avviser mediefiler
-      rejecting_reports: avviser rapportar
-      severity:
-        silence: dempa
-        suspend: utvist
-      show:
-        retroactive:
-          silence: Avmålbind alle eksisterende kontoer fre dette domenet
-          suspend: Avutvis alle eksisterende kontoer fra dette domenet
-        title: Angre domeneblokkering for %{domain}
-        undo: Angr
       undo: Angre
       view: Vis domeneblokkering
     email_domain_blocks:
@@ -402,9 +389,7 @@ nn:
         clear: Feil ved fjerning
         restart: Starte levering
         stop: Stopp levering
-        title: Levering
         unavailable: Ikke tilgjengelig
-        warning: Advarsel
       delivery_available: Levering er tilgjengelig
       moderation:
         all: Alle
diff --git a/config/locales/no.yml b/config/locales/no.yml
index 3e6b49524..a7ba74063 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -67,7 +67,6 @@
     media: Media
     moved_html: "%{name} har flyttet til %{new_profile_link}:"
     network_hidden: Denne informasjonen er ikke tilgjengelig
-    never_active: Aldri
     nothing_here: Det er ingenting her!
     people_followed_by: Folk som %{name} følger
     people_who_follow: Folk som følger %{name}
@@ -298,7 +297,6 @@
       enable: Aktivere
       enabled: Skrudd på
       enabled_msg: Aktiverte emojien uten problem
-      image_hint: PNG opp til 50KB
       list: Før opp
       listed: Oppførte
       new:
@@ -359,17 +357,6 @@
       reject_media_hint: Fjerner lokalt lagrede mediefiler og nekter å laste dem ned i fremtiden. Irrelevant for utvisninger
       reject_reports: Avslå rapporter
       reject_reports_hint: Ignorer alle rapporter som kommer fra dette domenet. Irrelevant for utvisninger
-      rejecting_media: avviser mediafiler
-      rejecting_reports: avslår rapporter
-      severity:
-        silence: stilnet
-        suspend: suspendert
-      show:
-        retroactive:
-          silence: Avmålbind alle eksisterende kontoer fre dette domenet
-          suspend: Avutvis alle eksisterende kontoer fra dette domenet
-        title: Angre domeneblokkering for %{domain}
-        undo: Angre
       undo: Angre
       view: Vis domeneblokkering
     email_domain_blocks:
@@ -399,9 +386,7 @@
         clear: Feil ved fjerning
         restart: Starte levering
         stop: Stopp levering
-        title: Levering
         unavailable: Ikke tilgjengelig
-        warning: Advarsel
       delivery_available: Levering er tilgjengelig
       moderation:
         all: Alt
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 79b73d12f..4654d5e27 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -61,7 +61,6 @@ oc:
     media: Mèdias
     moved_html: "%{name} a mudat a %{new_profile_link} :"
     network_hidden: Aquesta informacion es pas disponibla
-    never_active: Jamai
     nothing_here: I a pas res aquí !
     people_followed_by: Lo monde que %{name} sèc
     people_who_follow: Lo monde que sègon %{name}
@@ -266,7 +265,6 @@ oc:
       enable: Activar
       enabled: Activat
       enabled_msg: Aqueste emoji es ben activat
-      image_hint: PNG cap a 50Ko
       list: Listar
       listed: Listat
       new:
@@ -322,17 +320,6 @@ oc:
       reject_media_hint: Lèva los fichièrs gardats localament e regèta las demandas de telecargament dins lo futur. Servís pas a res per las suspensions
       reject_reports: Regetar los senhalaments
       reject_reports_hint: Ignorar totes los senhalaments que venon d’aqueste domeni. Pas pertiment per las suspensions
-      rejecting_media: regeta los fichièrs multimèdias
-      rejecting_reports: regeta los senhalements
-      severity:
-        silence: mes en silenci
-        suspend: suspendut
-      show:
-        retroactive:
-          silence: Levar lo silenci de totes los comptes d’aqueste domeni
-          suspend: Levar la suspension de totes los comptes d’aqueste domeni
-        title: Restablir lo blocatge de domeni de %{domain}
-        undo: Restablir
       undo: Restablir
       view: Veire lo blocatge de domeni
     email_domain_blocks:
@@ -1043,6 +1030,7 @@ oc:
       '2629746': 1 mes
       '31556952': 1 an
       '5259492': 2 meses
+      '604800': 1 week
       '63113904': 2 ans
       '7889238': 3 meses
   stream_entries:
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index b953b44e3..9a093f9d3 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -75,7 +75,6 @@ pl:
     media: Zawartość multimedialna
     moved_html: "%{name} korzysta teraz z konta %{new_profile_link}:"
     network_hidden: Ta informacja nie jest dostępna
-    never_active: Nigdy
     nothing_here: Niczego tu nie ma!
     people_followed_by: Konta śledzone przez %{name}
     people_who_follow: Osoby, które śledzą konto %{name}
@@ -379,7 +378,6 @@ pl:
       enable: Włącz
       enabled: Włączone
       enabled_msg: Pomyślnie przywrócono emoji
-      image_hint: Plik PNG ważący do 50KB
       list: Dodaj do listy
       listed: Widoczne
       new:
@@ -464,17 +462,6 @@ pl:
       reject_media_hint: Usuwa przechowywane lokalnie pliki multimedialne i nie pozwala na ich pobieranie. Nieprzydatne przy zawieszeniu
       reject_reports: Odrzucaj zgłoszenia
       reject_reports_hint: Zgłoszenia z tej instancji będą ignorowane. Nieprzydatne przy zawieszeniu
-      rejecting_media: pliki multimedialne są odrzucane
-      rejecting_reports: zgłoszenia są odrzucane
-      severity:
-        silence: wyciszono
-        suspend: zawieszono
-      show:
-        retroactive:
-          silence: Odwołaj wyciszenie wszystkich kont w tej domenie
-          suspend: Odwołaj zawieszenie wszystkich kont w tej domenie
-        title: Odwołaj blokadę dla domeny %{domain}
-        undo: Cofnij
       undo: Cofnij
       view: Zobacz blokadę domeny
     email_domain_blocks:
@@ -512,15 +499,7 @@ pl:
         clear: Wyczyść błędy w doręczaniu
         restart: Uruchom ponownie doręczenie
         stop: Zatrzymaj doręczanie
-        title: Doręczanie
         unavailable: Niedostępne
-        unavailable_message: Doręczaniei niedostępne
-        warning: Ostrzeżenie
-        warning_message:
-          few: "%{count} dni niepowodzenia doręczenia"
-          many: "%{count} dni niepowodzenia doręczenia"
-          one: "%{count} dzień niepowodzenia doręczenia"
-          other: "%{count} dni niepowodzenia doręczenia"
       delivery_available: Doręczanie jest dostępne
       delivery_error_days: Dni błędów doręczenia
       delivery_error_hint: Jeżeli doręczanie nie będzie możliwe przez %{count} dni, zostanie automatycznie oznaczona jako nie do doręczania.
@@ -595,6 +574,7 @@ pl:
       action_taken_by: Działanie podjęte przez
       actions:
         delete_description_html: Zgłoszone posty zostaną usunięte, a zdarzenie zostanie zapisane, aby pomóc w eskalacji przyszłych wykroczeń na tym samym koncie.
+        mark_as_sensitive_description_html: Media w zgłaszanych postach zostaną oznaczone jako wrażliwe, a ostrzeżenie zostanie nagane, aby pomóc w eskalacji przyszłych przewinień na tym samym koncie.
         other_description_html: Zobacz więcej opcji do kontrolowania zachowania konta i dostosuj komunikację do zgłoszonego konta.
         resolve_description_html: Nie zostaną podjęte żadne działania przeciwko zgłoszonemu sprawozdaniu, zdarzenie nie zostanie zarejestrowane, a zgłoszenie zostanie zamknięte.
         silence_description_html: Profil będzie widoczny tylko dla tych, którzy go już obserwują lub szukaj ręcznie, poważnie ograniczając jego zasięg. Może być zawsze cofnięty.
@@ -615,6 +595,7 @@ pl:
       forwarded: Przekazano
       forwarded_to: Przekazano do %{domain}
       mark_as_resolved: Oznacz jako rozwiązane
+      mark_as_sensitive: Oznacz jako wrażliwe
       mark_as_unresolved: Oznacz jako nierozwiązane
       no_one_assigned: Nikt nie
       notes:
@@ -757,6 +738,7 @@ pl:
       actions:
         delete_statuses: "%{name} usunął(-ęła) posty %{target}"
         disable: "%{name} zamroził(a) konto %{target}"
+        mark_statuses_as_sensitive: "%{name} oznaczył/a wiadomości %{target} jako wrażliwe"
         none: "%{name} wysłał(a) ostrzeżenie do %{target}"
         sensitive: "%{name} oznaczył(-a) konto %{target} jako wrażliwe"
         silence: "%{name} ograniczył(-a) konto %{target}"
@@ -782,6 +764,7 @@ pl:
       links:
         allow: Zezwól na link
         allow_provider: Zezwalaj na wydawcę
+        description_html: Są to linki, które są obecnie często udostępniane przez konta, z których Twój serwer widzi posty. Może to pomóc Twoim użytkownikom dowiedzieć się, co dzieje się na świecie. Żadne linki nie są wyświetlane publicznie dopóki nie zaakceptujesz wydawcy. Możesz również zezwolić lub odrzucić indywidualne linki.
         disallow: Nie zezwalaj na link
         disallow_provider: Nie zezwalaj na wydawcę
         title: Popularne linki
@@ -828,6 +811,7 @@ pl:
       actions:
         delete_statuses: aby usunąć ich wpisy
         disable: aby zamrozić jego/jej konto
+        mark_statuses_as_sensitive: aby oznaczyć swoje posty jako wrażliwe
         none: ostrzeżenie
         sensitive: aby oznaczyć konto jako wrażliwe
         silence: aby ograniczyć swoje konto
@@ -1003,8 +987,9 @@ pl:
       title_actions:
         delete_statuses: Usuwanie postów
         disable: Zamrażanie konta
+        mark_statuses_as_sensitive: Oznaczanie postów jako wrażliwych
         none: Ostrzeżenie
-        sensitive: Oznaczenie konta jako wrażliwe
+        sensitive: Oznaczanie konta jako wrażliwe
         silence: Ograniczenie konta
         suspend: Zawieszenie konta
       your_appeal_approved: Twoje odwołanie zostało zatwierdzone
@@ -1410,7 +1395,6 @@ pl:
       many: 'zawiera niedozwolone hashtagi: %{tags}'
       one: 'zawiera niedozwolony hashtag: %{tags}'
       other: 'zawiera niedozwolone hashtagi: %{tags}'
-    edited_at: Edytowano %{date}
     errors:
       in_reply_not_found: Post, na który próbujesz odpowiedzieć, nie istnieje.
     open_in_web: Otwórz w przeglądarce
@@ -1473,6 +1457,7 @@ pl:
       '2629746': 1 miesiąc
       '31556952': 1 rok
       '5259492': 2 miesiące
+      '604800': 1 week
       '63113904': 2 lata
       '7889238': 3 miesiące
     min_age_label: Próg wieku
@@ -1611,26 +1596,27 @@ pl:
         spam: Spam
         violation: Zawartość narusza następujące wytyczne społeczności
       explanation:
-        delete_statuses: Stwierdzono, że niektóre z Twoich postów naruszają jedną lub więcej wytycznych dla społeczności i zostały usunięte przez moderatorów %{instance}. Przyszłe naruszenia mogą skutkować ostrzejszymi działaniami karnymi w stosunku do Twojego konta.
         disable: Nie możesz już używać swojego konta, ale Twój profil i inne dane pozostają nienaruszone. Możesz poprosić o kopię swoich danych, zmienić ustawienia konta lub usunąć swoje konto.
+        mark_statuses_as_sensitive: Niektóre z Twoich postów zostały oznaczone jako wrażliwe przez moderatorów %{instance}. Oznacza to, że ludzie będą musieli dotknąć mediów w postach przed wyświetleniem podglądu. Możesz oznaczyć media jako wrażliwe podczas publikowania w przyszłości.
         sensitive: Od teraz wszystkie przesłane pliki multimedialne będą oznaczone jako wrażliwe i ukryte za ostrzeżeniem kliknięcia.
         silence: Kiedy Twoje konto jest ograniczone, tylko osoby, które je śledzą, będą widzieć Twoje wpisy. Może ono też przestać być widoczne w funkcjach odkrywania. Inni wciąż mogą zacząć Cię śledzić.
         suspend: Nie możesz już używać Twojego konta, a Twój profil i inne dane nie są już dostępne. Zanim w pełni usuniemy Twoje dane po około 30 dniach, możesz nadal zalogować się, aby uzyskać ich kopię. Zachowamy pewne podstawowe dane, aby zapobiegać obchodzeniu przez Ciebie zawieszenia.
-      get_in_touch: Jeżeli uważasz to za błąd, możesz odpowiedzieć na ten e-mail, aby skontaktować się z prowadzącymi %{instance}.
       reason: 'Powód:'
-      statuses: 'Wpisy uznane za naruszające wytyczne:'
+      statuses: 'Cytowane posty:'
       subject:
         delete_statuses: Twoje wpisy na %{acct} zostały usunięte
         disable: Twoje konto %{acct} zostało wyłączone
+        mark_statuses_as_sensitive: Twoje posty na %{acct} zostały oznaczone jako wrażliwe
         none: Ostrzeżenie dla %{acct}
-        sensitive: Twoje multimedia na %{acct} będą od teraz oznaczane jako wrażliwe
+        sensitive: Twoje posty na %{acct} będą od teraz oznaczone jako wrażliwe
         silence: Twoje konto %{acct} zostało ograniczone
         suspend: Twoje konto %{acct} zostało zawieszone
       title:
         delete_statuses: Wpisy usunięte
         disable: Konto wyłączone
+        mark_statuses_as_sensitive: Posty oznaczone jako wrażliwe
         none: Ostrzeżenie
-        sensitive: Media ukryte
+        sensitive: Konto oznaczone jako wrażliwe
         silence: Konto ograniczone
         suspend: Konto zawieszone
     welcome:
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index e9f1f6350..912e42a7d 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -25,6 +25,7 @@ pt-BR:
       Esta conta é um ator virtual usado para representar o próprio servidor e não qualquer usuário individual.
       É usado para propósitos de federação e não deve ser bloqueado a menos que queira bloquear toda a instância, o que no caso devia usar um bloqueio de domínio.
     learn_more: Saiba mais
+    logout_before_registering: Já está logado.
     privacy_policy: Política de Privacidade
     rules: Regras do servidor
     rules_html: 'Abaixo está um resumo das regras que você precisa seguir se você quer ter uma conta neste servidor do Mastodon:'
@@ -69,7 +70,6 @@ pt-BR:
     media: Mídia
     moved_html: "%{name} se mudou para %{new_profile_link}:"
     network_hidden: Informação indisponível
-    never_active: Nunca
     nothing_here: Nada aqui!
     people_followed_by: Pessoas que %{name} segue
     people_who_follow: Pessoas que seguem %{name}
@@ -360,7 +360,6 @@ pt-BR:
       enable: Ativar
       enabled: Ativado
       enabled_msg: Emoji ativado com sucesso
-      image_hint: PNG de até 50KB
       list: Listar
       listed: Listado
       new:
@@ -424,19 +423,6 @@ pt-BR:
       reject_media_hint: Remove arquivos de mídia armazenados localmente e recusa fazer download de qualquer um no futuro. Irrelevante para suspensões
       reject_reports: Rejeitar denúncias
       reject_reports_hint: Ignora todas as denúncias vindo deste domínio. Irrelevante para suspensões
-      rejecting_media: rejeitando arquivos de mídia
-      rejecting_reports: rejeitando denúncias
-      severity:
-        silence: silenciado
-        suspend: banido
-      show:
-        affected_accounts:
-          one: Uma conta no banco de dados foi afetada
-        retroactive:
-          silence: Dessilenciar contas existentes afetadas deste domínio
-          suspend: Remover a suspensão das contas afetadas deste domínio
-        title: Desfazer bloqueio de domínio para %{domain}
-        undo: Desfazer
       undo: Desfazer bloqueio de domínio
       view: Ver domínios bloqueados
     email_domain_blocks:
@@ -458,19 +444,20 @@ pt-BR:
       title: Recomendações de contas
       unsuppress: Restaurar recomendação de contas
     instances:
+      availability:
+        title: Disponibilidade
       back_to_all: Todas
       back_to_warning: Aviso
       by_domain: Domínio
       confirm_purge: Você tem certeza de que deseja excluir permanentemente os dados deste domínio?
+      content_policies:
+        policy: Políticas
       delivery:
         all: Todos
         clear: Limpar erros de entrega
         restart: Reiniciar a entrega
         stop: Parar entrega
-        title: Entrega
         unavailable: Indisponível
-        unavailable_message: Envio indisponível
-        warning: Aviso
       delivery_available: Envio disponível
       empty: Nenhum domínio encontrado.
       moderation:
@@ -721,6 +708,8 @@ pt-BR:
         title: Editor
       rejected: Rejeitado
       statuses:
+        allow: Permitir postagem
+        allow_account: Permitir autor
         title: Publicações em alta
       tags:
         current_score: Pontuação atual %{score}
@@ -888,6 +877,13 @@ pt-BR:
     directory: Diretório de perfis
     explanation: Descobrir usuários baseado em seus interesses
     explore_mastodon: Explore o %{title}
+  disputes:
+    strikes:
+      title_actions:
+        none: Aviso
+        sensitive: Marcar a conta como sensível
+        silence: Limitação da conta
+        suspend: Suspensão de conta
   domain_validator:
     invalid_domain: não é um nome de domínio válido
   errors:
@@ -1322,6 +1318,7 @@ pt-BR:
       '2629746': 1 mês
       '31556952': 1 ano
       '5259492': 2 meses
+      '604800': 1 semana
       '63113904': 2 anos
       '7889238': 3 meses
     min_age_label: Validade
@@ -1442,6 +1439,11 @@ pt-BR:
     recovery_instructions_html: Se você perder acesso ao seu celular, você pode usar um dos códigos de recuperação abaixo para acessar a sua conta. <strong>Mantenha os códigos de recuperação em um local seguro</strong>. Por exemplo, você pode imprimi-los e guardá-los junto com outros documentos importantes.
     webauthn: Chaves de segurança
   user_mailer:
+    appeal_approved:
+      action: Acessar perfil
+      title: Contestação aprovada
+    appeal_rejected:
+      title: Contestação rejeitada
     backup_ready:
       explanation: Você pediu um backup completo da sua conta no Mastodon. E agora está pronto para ser baixado!
       subject: Seu arquivo está pronto para ser baixado
@@ -1453,12 +1455,13 @@ pt-BR:
       subject: Por favor, confirme a tentativa de acesso
       title: Tentativa de acesso
     warning:
+      appeal: Enviar uma contestação
       categories:
         spam: Spam
         violation: O conteúdo viola as seguintes diretrizes da comunidade
       explanation:
+        disable: Você não poderá mais usar a sua conta, mas o seu perfil e outros dados permanecem intactos. Você pode solicitar um backup dos seus dados, mudar as configurações ou excluir sua conta.
         sensitive: A partir de agora, todos os seus arquivos de mídia enviados serão marcados como confidenciais e escondidos por trás de um aviso de clique.
-      get_in_touch: Se você acredita que isso é um erro, você pode responder a este e-mail para entrar em contato com a equipe de %{instance}.
       reason: 'Motivo:'
       subject:
         disable: Sua conta %{acct} foi bloqueada
@@ -1469,7 +1472,6 @@ pt-BR:
         delete_statuses: Publicações removidas
         disable: Conta bloqueada
         none: Aviso
-        sensitive: Mídia oculta
         silence: Conta silenciada
         suspend: Conta banida
     welcome:
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
index 743758cca..0fdfff517 100644
--- a/config/locales/pt-PT.yml
+++ b/config/locales/pt-PT.yml
@@ -16,6 +16,7 @@ pt-PT:
     contact: Contacto
     contact_missing: Não configurado
     contact_unavailable: n.d.
+    continue_to_web: Continuar para a aplicação web
     discover_users: Descobrir utilizadores
     documentation: Documentação
     federation_hint_html: Ter uma conta em %{instance} permitirá seguir pessoas em qualquer instância Mastodon.
@@ -25,6 +26,8 @@ pt-PT:
       Esta conta é um actor virtual usado para representar a própria instância e não um utilizador individual.
       É usada para motivos de federação e não deve ser bloqueada a não ser que que queira bloquear a instância por completo. Se for esse o caso, deverá usar o bloqueio de domínio.
     learn_more: Saber mais
+    logged_in_as_html: Está de momento ligado como %{username}.
+    logout_before_registering: Já tem sessão iniciada.
     privacy_policy: Política de privacidade
     rules: Regras da instância
     rules_html: 'Abaixo está um resumo das regras que precisa seguir se pretender ter uma conta nesta instância do Mastodon:'
@@ -69,7 +72,6 @@ pt-PT:
     media: Media
     moved_html: "%{name} mudou-se para %{new_profile_link}:"
     network_hidden: Esta informação não está disponível
-    never_active: Nunca
     nothing_here: Não há nada aqui!
     people_followed_by: Pessoas seguidas por %{name}
     people_who_follow: Pessoas que seguem %{name}
@@ -371,7 +373,7 @@ pt-PT:
       enable: Ativar
       enabled: Ativado
       enabled_msg: Ativado com sucesso este emoji
-      image_hint: PNG de até 50KB
+      image_hint: PNG ou GIF até %{size}
       list: Lista
       listed: Listado
       new:
@@ -448,21 +450,6 @@ pt-PT:
       reject_media_hint: Remove arquivos de media armazenados localmente e rejeita descarregar novos arquivos no futuro. Irrelevante para suspensões
       reject_reports: Rejeitar denúncia
       reject_reports_hint: Ignorar todos as denúncias provenientes deste domínio. Irrelevante para suspensões
-      rejecting_media: a rejeitar ficheiros de media
-      rejecting_reports: a rejeitar denúncias
-      severity:
-        silence: silenciado
-        suspend: suspenso
-      show:
-        affected_accounts:
-          one: Uma conta na base de dados afetada
-          other: "%{count} contas na base de dados afetadas"
-          zero: Nenhuma conta na base de dados é afetada
-        retroactive:
-          silence: Não silenciar contas afetadas existentes deste domínio
-          suspend: Não suspender todas as contas existentes nesse domínio
-        title: Remover o bloqueio de domínio de %{domain}
-        undo: Anular
       undo: Anular
       view: Ver domínios bloqueados
     email_domain_blocks:
@@ -493,23 +480,47 @@ pt-PT:
       title: Seguir recomendações
       unsuppress: Restaurar recomendações de contas a seguir
     instances:
+      availability:
+        description_html:
+          one: Se a transmissão ao domínio falhar <strong>%{count} dia</strong> sem sucesso, nenhuma tentativa de transmissão será feita a menos que uma transmissão <em>proveniente</em> do domínio seja recebida.
+          other: Se a transmissão ao domínio falhar em <strong>%{count} dias diferentes</strong> sem sucesso, nenhuma tentativa de transmissão será feita a menos que uma transmissão <em>proveniente</em> do domínio seja recebida.
+        failure_threshold_reached: Limite de falhas atingido em %{date}.
+        failures_recorded:
+          one: Tentativa falhada em %{count} dia.
+          other: Tentativas em %{count} dias diferentes.
+        no_failures_recorded: Sem falhas registadas.
+        title: Disponibilidade
       back_to_all: Todas
       back_to_limited: Limitadas
       back_to_warning: Aviso
       by_domain: Domínio
       confirm_purge: Tem a certeza que deseja eliminar permanentemente os dados deste domínio?
+      content_policies:
+        comment: Nota interna
+        description_html: Pode definir políticas de conteúdo que serão aplicadas a todas as contas deste domínio e a qualquer um dos seus subdomínios.
+        policies:
+          reject_media: Rejeitar media
+          reject_reports: Rejeitar denúncias
+          silence: Limitar
+          suspend: Suspender
+        policy: Política
+        reason: Justificação pública
+        title: Políticas de conteúdo
+      dashboard:
+        instance_accounts_dimension: Contas mais seguidas
+        instance_accounts_measure: contas armazenadas
+        instance_followers_measure: nossos seguidores lá
+        instance_follows_measure: os seus seguidores aqui
+        instance_languages_dimension: Idiomas mais populares
+        instance_media_attachments_measure: anexos de media armazenados
+        instance_reports_measure: denúncias sobre eles
+        instance_statuses_measure: publicações armazenadas
       delivery:
         all: Todas
         clear: Limpar erros de entrega
         restart: Reiniciar entrega
         stop: Parar entrega
-        title: Entrega
         unavailable: Indisponível
-        unavailable_message: Entrega indisponível
-        warning: Aviso
-        warning_message:
-          one: Falhou entrega %{count} dia
-          other: Falhou entrega %{count} dias
       delivery_available: Entrega disponível
       delivery_error_days: Dias de erro de entrega
       delivery_error_hint: Se a entrega não for possível durante %{count} dias, será automaticamente marcada como não realizável.
@@ -526,12 +537,14 @@ pt-PT:
       private_comment: Comentários privados
       public_comment: Comentários públicos
       purge: Purgar
+      purge_description_html: Se acredita que este domínio está definitivamente offline, pode excluir todos os registos de contas e dados associados a ele do seu armazenamento. Isso pode demorar algum tempo.
       title: Instâncias conhecidas
       total_blocked_by_us: Bloqueadas por nós
       total_followed_by_them: Seguidas por eles
       total_followed_by_us: Seguidas por nós
       total_reported: Denúncias sobre eles
       total_storage: Anexos de media
+      totals_time_period_hint_html: Os totais exibidos abaixo incluem dados referentes ao tempo total.
     invites:
       deactivate_all: Desativar todos
       filter:
@@ -586,6 +599,7 @@ pt-PT:
       action_taken_by: Ação tomada por
       actions:
         delete_description_html: As publicações denunciadas serão eliminadas e uma punição será registada para ajudá-lo a escalar ações em futuras infrações pela mesma conta.
+        mark_as_sensitive_description_html: A media nas publicações denunciadas será marcada como sensível e uma punição será registada para ajudá-lo a escalar ações em futuras infrações pela mesma conta.
         other_description_html: Ver mais opções para controlar o comportamento da conta e personalizar a comunicação para a conta denunciada.
         resolve_description_html: Nenhuma ação será tomada contra a conta denunciada, nenhuma punição será registada, e a denuncia será fechada.
         silence_description_html: O perfil será visível apenas para aqueles que já o seguem ou o procurem manualmente, limitando severamente o seu alcance. Pode sempre ser revertido.
@@ -606,6 +620,7 @@ pt-PT:
       forwarded: Encaminhado
       forwarded_to: Encaminhado para %{domain}
       mark_as_resolved: Marcar como resolvido
+      mark_as_sensitive: Marcar como sensível
       mark_as_unresolved: Marcar como não resolvido
       no_one_assigned: Ninguém
       notes:
@@ -749,6 +764,7 @@ pt-PT:
       actions:
         delete_statuses: "%{name} eliminou a publicação de %{target}"
         disable: "%{name} congelou a conta de %{target}"
+        mark_statuses_as_sensitive: "%{name} marcou as publicações de %{target} como sensíveis"
         none: "%{name} enviou uma advertência a %{target}"
         sensitive: "%{name} marcou a conta de %{target} como sensível"
         silence: "%{name} limitou a conta de %{target}"
@@ -774,6 +790,7 @@ pt-PT:
       links:
         allow: Permitir link
         allow_provider: Permitir editor
+        description_html: Estes são links que atualmente estão a ser frequentemente partilhados por contas visiveis pelo seu servidor. Eles podem ajudar os seus utilizador a descobrir o que está a acontecer no mundo. Nenhum link é exibido publicamente até que aprove o editor. Também pode permitir ou rejeitar links individualmente.
         disallow: Não permitir link
         disallow_provider: Não permitir editor
         shared_by_over_week:
@@ -785,14 +802,17 @@ pt-PT:
       pending_review: Pendente de revisão
       preview_card_providers:
         allowed: Links deste editor poderão ser incluídos nos destaques
+        description_html: Estes são domínios a partir dos quais links são frequentemente partilhados no seu servidor. Estes links não serão colocados em destaque a menos que o seu domínio de origem seja aprovado. A sua aprovação (ou rejeição) estende-se a subdomínios.
         rejected: Links deste editor não serão incluídos nos destaques
         title: Editores
       rejected: Rejeitado
       statuses:
         allow: Permitir publicação
         allow_account: Permitir autor
+        description_html: Estas são publicações que o seu servidor conhece e que atualmente estão a ser frequentemente partilhadas e adicionadas aos favoritos. Isto pode ajudar os seus utilizadores, novos e retornados, a encontrar mais pessoas para seguir. Nenhuma publicação será exibida publicamente até que aprove o autor, e o autor permita que a sua conta seja sugerida a outros. Você também pode permitir ou rejeitar publicações individualmente.
         disallow: Não permitir publicação
         disallow_account: Não permitir autor
+        not_discoverable: O autor optou por não permitir que a sua conta seja sugerida a outros
         shared_by:
           one: Partilhado ou adicionado aos favoritos uma vez
           other: Partilhado e adicionado aos favoritos %{friendly_count} vezes
@@ -805,6 +825,7 @@ pt-PT:
           tag_servers_dimension: Servidores mais populares
           tag_servers_measure: servidores diferentes
           tag_uses_measure: utilizações totais
+        description_html: Estas são hashtags que aparecem atualmente com frequência em publicações visíveis pelo seu servidor. Isto pode ajudar os seus utilizadores a descobrir o que está ser mais falado no momento. Nenhuma hashtag é exibida publicamente até que a aprove.
         listable: Pode ser sugerida
         not_listable: Não será sugerida
         not_trendable: Não aparecerá nas tendências
@@ -831,6 +852,7 @@ pt-PT:
       actions:
         delete_statuses: para elimintar as suas publicações
         disable: para congelar a sua conta
+        mark_statuses_as_sensitive: marcar as suas publicações como sensíveis
         none: uma advertência
         sensitive: marcação da sua conta como sensível
         silence: limitação da sua conta
@@ -933,8 +955,10 @@ pt-PT:
     status:
       account_status: Estado da conta
       confirming: A aguardar que conclua a confirmação do e-mail.
+      functional: A sua conta está totalmente operacional.
       pending: A sua inscrição está pendente de revisão pela nossa equipa. Isso pode demorar algum tempo. Receberá um e-mail se a sua conta for aprovada.
       redirecting_to: A sua conta está inativa porque está atualmente a ser redirecionada para %{acct}.
+      view_strikes: Veja as punições anteriores contra a sua conta
     too_fast: Formulário enviado muito rapidamente, tente novamente.
     trouble_logging_in: Problemas em iniciar sessão?
     use_security_key: Usar chave de segurança
@@ -1010,6 +1034,7 @@ pt-PT:
         submit: Submeter recurso
       associated_report: Denúncia associada
       created_at: Data
+      description_html: Estas são ações tomadas contra a sua conta e avisos que lhe foram enviados pela equipa de %{instance}.
       recipient: Endereçado a
       status: 'Publicação #%{id}'
       status_removed: Publicação já eliminada do sistema
@@ -1017,6 +1042,7 @@ pt-PT:
       title_actions:
         delete_statuses: Remoção de publicação
         disable: Congelamento da conta
+        mark_statuses_as_sensitive: Marcação das publicações como sensíveis
         none: Advertência
         sensitive: Marcação da conta como sensível
         silence: Limitação da conta
@@ -1390,6 +1416,7 @@ pt-PT:
     profile: Perfil
     relationships: Seguindo e seguidores
     statuses_cleanup: Remoção automática da publicação
+    strikes: Punições de moderação
     two_factor_authentication: Autenticação em duas etapas
     webauthn_authentication: Chaves de segurança
   statuses:
@@ -1410,7 +1437,7 @@ pt-PT:
     disallowed_hashtags:
       one: 'continha uma hashtag proibida: %{tags}'
       other: 'continha as hashtags proibidas: %{tags}'
-    edited_at: Editado em %{date}
+    edited_at_html: Editado em %{date}
     errors:
       in_reply_not_found: A publicação a que está a tentar responder parece não existir.
     open_in_web: Abrir no browser
@@ -1469,6 +1496,7 @@ pt-PT:
       '2629746': 1 mês
       '31556952': 1 ano
       '5259492': 2 meses
+      '604800': 1 semana
       '63113904': 2 anos
       '7889238': 3 meses
     min_age_label: Limite de idade
@@ -1616,26 +1644,28 @@ pt-PT:
         spam: Spam
         violation: O conteúdo infringe as seguintes diretrizes da comunidade
       explanation:
-        delete_statuses: Algumas das suas publicações foram consideradas como a infringir uma ou mais diretrizes da comunidade e foram subsequentemente removidas pelos moderadores de %{instance}. Futuras infrações podem resultar em acções punitivas mais severas contra a sua conta.
+        delete_statuses: Algumas das suas publicações foram consideradas como a infringir uma ou mais diretrizes da comunidade e foram subsequentemente removidas pelos moderadores de %{instance}.
         disable: Não pode mais utilizar a sua conta, mas o seu perfil e outros dados permanecem intactos. Pode solicitar uma cópia dos seus dados, alterar as definições da conta ou apagá-la.
+        mark_statuses_as_sensitive: Algumas das suas publicações foram marcadas como sensíveis pelos moderadores de %{instance}. Isto significa que as pessoas terão de clicar na media nas publicações, antes de ser exibida uma pré-visualização. No futuro, quando publicar, lembre-se que pode você mesmo marcar a media como sensível.
         sensitive: A partir de agora, todos os ficheiros de media que carregue serão marcados como sensíveis e escondidos atrás de um aviso de "clicar-para-continuar".
         silence: Pode ainda utilizar a sua conta mas apenas as pessoas que já o seguem poderão ver as suas mensagens neste servidor, e poderá ser excluído de várias funcionalidades de divulgação. No entanto, outros poderão ainda segui-lo manualmente.
         suspend: Não pode mais utilizar a sua conta, e o seu perfil e outros dados já não se encontram acessíveis. Poderá ainda iniciar sessão para solicitar uma cópia dos seus dados até os mesmos serem totalmente removidos em cerca de 30 dias, porém reteremos alguns dados básicos para o impedir evitar a suspensão.
-      get_in_touch: Se acredita tratar-se de um erro, pode responder a este e-mail para entrar em contacto com os colaboradores de %{instance}.
       reason: 'Motivo:'
-      statuses: 'Publicações que foram consideradas em infracção:'
+      statuses: 'Publicações citadas:'
       subject:
         delete_statuses: As suas publicações em %{acct} foram removidas
         disable: A tua conta %{acct} foi congelada
+        mark_statuses_as_sensitive: As suas publicações em %{acct} foram marcadas como sensíveis
         none: Aviso para %{acct}
-        sensitive: Os seus ficheiros de media em %{acct} serão marcados como sensiveis de agora em diante
+        sensitive: As suas publicações em %{acct} serão a partir de agora marcadas como sensíveis
         silence: A tua conta %{acct} foi limitada
         suspend: A tua conta %{acct} foi suspensa
       title:
         delete_statuses: Publicações removidas
         disable: Conta congelada
+        mark_statuses_as_sensitive: Publicações marcadas como sensíveis
         none: Aviso
-        sensitive: Media escondida
+        sensitive: Conta marcada como sensível
         silence: Conta limitada
         suspend: Conta suspensa
     welcome:
diff --git a/config/locales/ro.yml b/config/locales/ro.yml
index daed79c8c..d6a37f8c4 100644
--- a/config/locales/ro.yml
+++ b/config/locales/ro.yml
@@ -72,7 +72,6 @@ ro:
     media: Media
     moved_html: "%{name} s-a mutat la %{new_profile_link}:"
     network_hidden: Aceste informaţii nu sunt disponibile
-    never_active: Niciodată
     nothing_here: Nu există nimic aici!
     people_followed_by: Persoane pe care %{name} le urmărește
     people_who_follow: Persoane care urmăresc pe %{name}
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 745ef5430..579ea6462 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -16,6 +16,7 @@ ru:
     contact: Связаться
     contact_missing: не указан
     contact_unavailable: неизв.
+    continue_to_web: Продолжить в веб-приложении
     discover_users: Найдите пользователей
     documentation: Документация
     federation_hint_html: С учётной записью на %{instance} вы сможете подписываться на людей с любого сервера Mastodon и не только.
@@ -25,6 +26,8 @@ ru:
       Эта учетная запись является виртуальным персонажем, используемым для представления самого сервера, а не какого-либо пользователя.
       Используется для целей федерации и не должен быть заблокирован, если вы не хотите заблокировать всю инстанцию, вместо этого лучше использовать доменную блокировку.
     learn_more: Узнать больше
+    logged_in_as_html: Вы вошли в систему как %{username}.
+    logout_before_registering: Вы уже вошли.
     privacy_policy: Политика конфиденциальности
     rules: Правила сервера
     rules_html: 'Ниже приведена сводка правил, которых вам нужно придерживаться, если вы хотите иметь учётную запись на этом сервере Мастодона:'
@@ -75,7 +78,6 @@ ru:
     media: Медиафайлы
     moved_html: "%{name} переехал(а) на %{new_profile_link}:"
     network_hidden: Эта информация недоступна
-    never_active: Никогда
     nothing_here: Здесь ничего нет!
     people_followed_by: Люди, на которых подписан(а) %{name}
     people_who_follow: Подписчики %{name}
@@ -376,7 +378,7 @@ ru:
       enable: Включить
       enabled: Включено
       enabled_msg: Эмодзи успешно включено
-      image_hint: PNG до 50KB
+      image_hint: PNG или GIF до %{size}
       list: Список
       listed: В списке
       new:
@@ -446,21 +448,15 @@ ru:
       reject_media_hint: Удаляет локально хранимый медиаконтент и запрещает его загрузку в будущем. Не имеет значения в случае блокировки.
       reject_reports: Отклонять жалобы
       reject_reports_hint: Игнорировать все жалобы с этого домена. Не имеет значения в случае блокировки.
-      rejecting_media: отклонение медиафайлов
-      rejecting_reports: отклонение жалоб
-      severity:
-        silence: скрывается
-        suspend: заблокирован
-      show:
-        retroactive:
-          silence: Убрать скрытие постов учётных записей с этого узла
-          suspend: Снять блокировку со всех существующих учётных записей этого домена
-        title: Снять блокировку с домена %{domain}
-        undo: Отменить
       undo: Отменить блокировку домена
       view: Посмотреть доменные блокировки
     email_domain_blocks:
       add_new: Добавить новую
+      attempts_over_week:
+        few: "%{count} попытки за последнюю неделю"
+        many: "%{count} попыток за последнюю неделю"
+        one: "%{count} попытка за последнюю неделю"
+        other: "%{count} попыток регистрации за последнюю неделю"
       created_msg: E-mail домен внесён в список блокировки
       delete: Удалить
       dns:
@@ -481,25 +477,27 @@ ru:
       title: Рекомендации подписок
       unsuppress: Восстановить рекомендацию
     instances:
+      availability:
+        no_failures_recorded: Сбоев в записи нет.
+        title: Доступность
       back_to_all: Все узлы
       back_to_limited: Все ограниченные узлы
       back_to_warning: Все узлы требующие внимания
       by_domain: Домен
       confirm_purge: Вы уверены, что хотите навсегда удалить данные с этого домена?
+      content_policies:
+        policy: Политика
+      dashboard:
+        instance_accounts_measure: сохраненные учетные записи
+        instance_languages_dimension: Популярные языки
+        instance_media_attachments_measure: сохраненные медиафайлы
+        instance_statuses_measure: сохраненные посты
       delivery:
         all: Все
         clear: Очистить ошибки доставки
         restart: Перезапустить доставку
         stop: Остановить доставку
-        title: По доступности
         unavailable: Недоступные
-        unavailable_message: Доставка невозможна
-        warning: Требующие внимания
-        warning_message:
-          few: Доставка невозможна %{count} дня
-          many: Доставка невозможна %{count} дней
-          one: Доставка невозможна %{count} день
-          other: Доставка невозможна %{count} дня
       delivery_available: Доставка возможна
       delivery_error_days: Дней ошибок доставки
       delivery_error_hint: Если доставка доставка не удастся в течение %{count} дней, он будет автоматически отмечен недоступным для доставки.
@@ -516,12 +514,14 @@ ru:
       private_comment: Приватный комментарий
       public_comment: Публичный комментарий
       purge: Удалить данные
+      purge_description_html: Если вы считаете, что этот домен отключен навсегда, вы можете удалить все записи учетной записи и связанные с этим доменом данные из своего хранилища. Это может занять некоторое время.
       title: Федерация
       total_blocked_by_us: Заблокировано нами
       total_followed_by_them: Их подписчиков
       total_followed_by_us: Наших подписчиков
       total_reported: Жалобы на них
       total_storage: Медиафайлы
+      totals_time_period_hint_html: Итоги, показанные ниже, включают данные за всё время.
     invites:
       deactivate_all: Отключить все
       filter:
@@ -595,6 +595,7 @@ ru:
       forwarded: Переслано
       forwarded_to: Переслано на %{domain}
       mark_as_resolved: Отметить как решённую
+      mark_as_sensitive: Отметить как деликатное
       mark_as_unresolved: Отметить как нерешённую
       no_one_assigned: Никто
       notes:
@@ -736,6 +737,11 @@ ru:
     strikes:
       actions:
         delete_statuses: "%{name} удалил(а) посты %{target}"
+        disable: "%{name} заморозил(а) учётную запись %{target}"
+        mark_statuses_as_sensitive: "%{name} отметил(а) %{target} посты как деликатные"
+        none: "%{name} отправил(а) предупреждение %{target}"
+        sensitive: "%{name} отметил(а) учетную запись %{target} как деликатную"
+        silence: "%{name} ограничил(а) учетную запись %{target}"
       appeal_pending: Обжалование в обработке
     system_checks:
       database_schema_check:
@@ -758,14 +764,22 @@ ru:
         allow_provider: Разрешить издание
         disallow: Запретить ссылку
         disallow_provider: Отклонить издание
+        shared_by_over_week:
+          one: Поделился один человек за последнюю неделю
+          other: Поделилось %{count} людей за последнюю неделю
+          zero: Никто не поделился за последнюю неделю
         title: Актуальные ссылки
+        usage_comparison: Поделились %{today} раз сегодня, по сравнению с %{yesterday} вчера
       pending_review: Ожидает рассмотрения
       preview_card_providers:
         allowed: Ссылки этого издания могут отображаться в «актуальном»
         rejected: Ссылки этого издания не будут отображаться в «актуальном»
         title: Издатели
       rejected: Отклонённые
+      statuses:
+        title: Популярные посты
       tags:
+        current_score: Текущий счет %{score}
         dashboard:
           tag_accounts_measure: уникальных использований
           tag_languages_dimension: Популярные языки
@@ -779,6 +793,12 @@ ru:
         title: Актуальные хэштеги
         trendable: Может появляться в списке «актуального»
         usable: Может использоваться
+        usage_comparison: Использовано %{today} сегодня, для сравнения вчера %{yesterday}
+        used_by_over_week:
+          one: За последнюю неделю использовано одним человеком
+          other: За последнюю неделю использовано %{count} людьми
+          zero: За последнюю неделю никто не использовал
+      title: Популярное
     warning_presets:
       add_new: Добавить
       delete: Удалить
@@ -793,6 +813,14 @@ ru:
       body: "%{reporter} подал(а) жалобу на %{target}"
       body_remote: Кто-то с узла %{domain} пожаловался на %{target}
       subject: Новая жалоба, узел %{instance} (№%{id})
+    new_trends:
+      body: 'Прежде чем можно будет опубликовать, проверьте следующие элементы:'
+      new_trending_links:
+        title: Популярные ссылки
+      new_trending_statuses:
+        title: Популярные посты
+      new_trending_tags:
+        title: Популярные хэштеги
   aliases:
     add_new: Создать псевдоним
     created_msg: Новый псевдоним установлен. Теперь мы можете начать миграцию со старой учётной записи.
@@ -866,6 +894,7 @@ ru:
     status:
       account_status: Статус учётной записи
       confirming: Ожидание подтверждения e-mail.
+      functional: Ваша учётная запись в полном порядке.
       pending: Ваша заявка ожидает одобрения администраторами, это может занять немного времени. Вы получите письмо, как только заявку одобрят.
       redirecting_to: Ваша учётная запись деактивированна, потому что вы настроили перенаправление на %{acct}.
     too_fast: Форма отправлена слишком быстро, попробуйте еще раз.
@@ -935,12 +964,22 @@ ru:
     strikes:
       action_taken: Предпринятые меры
       appeal_approved: Это замечание было успешно обжаловано и более не действительно
+      appeal_rejected: Апелляция была отклонена
+      appeal_submitted_at: Апелляция отправлена
+      appealed_msg: Ваша апелляция была отправлена. Если она будет одобрена, вы будете уведомлены.
       appeals:
         submit: Подать обжалование
+      associated_report: Связанные обращения
       created_at: Дата
       recipient: Адресовано
       status: 'Пост #%{id}'
+      status_removed: Пост уже удален из системы
       title: "%{action} от %{date}"
+      title_actions:
+        delete_statuses: Удаление поста
+        mark_statuses_as_sensitive: Помечать посты как деликатные
+        sensitive: Отметить учетную запись как деликатную
+        silence: Ограничение учетной записи
       your_appeal_approved: Ваша апелляция одобрена
       your_appeal_pending: Вы подали апелляцию
       your_appeal_rejected: Ваша апелляция отклонена
@@ -1012,6 +1051,7 @@ ru:
     changes_saved_msg: Изменения успешно сохранены!
     copy: Копировать
     delete: Удалить
+    none: Ничего
     order_by: Сортировка
     save_changes: Сохранить изменения
     today: сегодня
@@ -1345,7 +1385,7 @@ ru:
       many: 'содержались запрещённые хэштеги: %{tags}'
       one: 'содержался запрещённый хэштег: %{tags}'
       other: 'содержались запрещённые хэштеги: %{tags}'
-    edited_at: 'Последнее изменение: %{date}'
+    edited_at_html: Редактировано %{date}
     errors:
       in_reply_not_found: Пост, на который вы пытаетесь ответить, не существует или удалён.
     open_in_web: Открыть в веб-версии
@@ -1408,6 +1448,7 @@ ru:
       '2629746': 1 месяц
       '31556952': 1 год
       '5259492': 2 месяца
+      '604800': 1 неделя
       '63113904': 2 года
       '7889238': 3 месяца
     min_age_label: Возрастной порог
@@ -1527,11 +1568,11 @@ ru:
   user_mailer:
     appeal_approved:
       action: Перейти к своему профилю
-      subject: Ваша апелляция от %{date} была одобрена
-      title: Апелляция одобрена
+      subject: Ваше обжалование от %{date} была одобрено
+      title: Обжалование одобрено
     appeal_rejected:
-      subject: Ваша апелляция от %{date} отклонена
-      title: Апелляция отклонена
+      subject: Ваше обжалование от %{date} отклонено
+      title: Обжалование отклонено
     backup_ready:
       explanation: Вы запросили архив всех данных вашей учётной записи Mastodon. Что ж, он готов к скачиванию.
       subject: Ваш архив готов к загрузке
@@ -1543,31 +1584,30 @@ ru:
       subject: Пожалуйста, подтвердите попытку входа
       title: Попытка входа
     warning:
-      appeal: Подать апелляцию
+      appeal: Обжаловать
       categories:
         spam: Спам
         violation: Содержимое нарушает следующие правила сообщества
       explanation:
-        delete_statuses: Некоторые из ваших постов нарушают одно или несколько правил сообщества, и, как следствие, были удалены модераторами %{instance}. Повторные нарушения могут привести к более суровым санкциям относительно вашей учётной записи.
+        delete_statuses: Было обнаружено, что некоторые из ваших постов нарушают одно или несколько правил сообщества, и они были удалены модераторами %{instance}.
         disable: Вы не можете использовать свою учётную запись, однако ваш профиль и данные остаются нетронутыми. Вы можете запросить выгрузку своих данных, менять настройки, либо полностью удалить свою учётную запись.
         sensitive: С этого момента, все прикрепляемые вами файлы будут отмечаться как «деликатного характера» и скрыты за предупреждением, требующими клика.
         silence: Вы по-прежнему можете использовать свою учётную запись, но только пользователи, которые подписаны на вас, смогут видеть ваши публикации на данном узле. Вы также будете исключены из различных поисковых функций, однако пользователи всё ещё могут вручную подписаться на вас.
         suspend: Вы больше не сможете использовать эту учётную запись и ваш профиль более недоступен к просмотру. Вы по-прежнему можете войти в учётную запись, чтобы запросить выгрузку своих данных, до тех пор, пока они не будут удалены спустя 30 дней (за исключением информации, которая не позволит вам обойти эту блокировку).
-      get_in_touch: Если вы считаете, что это ошибка, вы можете ответить на это сообщение или связаться с руководством %{instance}.
       reason: 'Причина:'
-      statuses: 'Следующие публикации были отмечены как нарушающие правила:'
+      statuses: 'Цитируемые посты:'
       subject:
         delete_statuses: Опубликованные вами с учётной записи %{acct} посты были удалены
         disable: Ваша учётная запись %{acct} заморожена
         none: "%{acct} вынесено предупреждение"
-        sensitive: Публикуемое с учётной записи %{acct} медиа-содержимое с этого момента будет помечаться как «деликатного характера»
         silence: На учётную запись %{acct} наложены ограничения
         suspend: Ваша учётная запись %{acct} была заблокирована
       title:
         delete_statuses: Ваши посты удалены
         disable: Учётная запись заморожена
+        mark_statuses_as_sensitive: Посты, отмеченные как деликатные
         none: Предупреждение
-        sensitive: Ваши медиафайлы скрыты
+        sensitive: Учетная запись отмечена как деликатная
         silence: На учётную запись наложены ограничения
         suspend: Учётная запись заблокирована
     welcome:
diff --git a/config/locales/sc.yml b/config/locales/sc.yml
index 15e305cb5..aab2e6134 100644
--- a/config/locales/sc.yml
+++ b/config/locales/sc.yml
@@ -69,7 +69,6 @@ sc:
     media: Elementos multimediales
     moved_html: "%{name} est istadu trasferidu a %{new_profile_link}:"
     network_hidden: Custa informatzione no est a disponimentu
-    never_active: Mai
     nothing_here: Nudda inoghe.
     people_followed_by: Gente sighida dae %{name}
     people_who_follow: Gente chi sighit a %{name}
@@ -335,7 +334,6 @@ sc:
       enable: Ativa
       enabled: Ativadu
       enabled_msg: As ativadu s'emoji
-      image_hint: PNG de finas a 50 KB
       list: Lista
       listed: Listadu
       new:
@@ -386,17 +384,6 @@ sc:
       reject_media_hint: Cantzellat elementos multimediales sarvados in locale e refudat iscarrigamentos in su benidore. Non rilevante pro is suspensiones
       reject_reports: Refuda informes
       reject_reports_hint: Iscarta informes chi benint de custu domìniu. Non rilevante pro is suspensiones
-      rejecting_media: refudende documentos multimediales
-      rejecting_reports: refudende informes
-      severity:
-        silence: a sa muda
-        suspend: suspèndidu
-      show:
-        retroactive:
-          silence: Boga de is contos a sa muda is contos de custu domìniu implicados
-          suspend: Boga sa suspensione de is contos de custu domìniu implicados
-        title: Iscontza su blocu de domìniu de %{domain}
-        undo: Iscontza
       undo: Iscontza su blocu de domìniu
       view: Bide su blocu de domìniu
     email_domain_blocks:
@@ -1179,6 +1166,7 @@ sc:
       '2629746': 1 mese
       '31556952': 1 annu
       '5259492': 2 meses
+      '604800': 1 week
       '63113904': 2 annos
       '7889238': 3 meses
   stream_entries:
diff --git a/config/locales/si.yml b/config/locales/si.yml
index 3ebd25341..de029aa50 100644
--- a/config/locales/si.yml
+++ b/config/locales/si.yml
@@ -148,12 +148,6 @@ si:
       private_comment: පුද්ගලික අදහස
       public_comment: ප්‍රසිද්ධ අදහස
       reject_reports: වාර්තා ප්‍රතික්ෂේප කරන්න
-      rejecting_media: මාධ්‍ය වාර්තා ප්‍රතික්ෂේප කරමින්
-      rejecting_reports: වාර්තා ප්‍රතික්ෂේප කරමින්
-      severity:
-        suspend: අත්හිටුවන ලදි
-      show:
-        undo: පෙරසේ
     email_domain_blocks:
       domain: වසම
       new:
@@ -168,7 +162,6 @@ si:
       by_domain: වසම
       delivery:
         all: සියල්ල
-        warning: අවවාදයයි
       moderation:
         all: සියල්ල
       private_comment: පුද්ගලික අදහස
@@ -306,7 +299,7 @@ si:
       '3600': හෝරා 1
       '43200': හෝරා 12
       '604800': සති 1
-      '86400': දින 1
+      '86400': දවස් 1
     title: මිනිසුන්ට ආරාධනා කරන්න
   login_activities:
     authentication_methods:
diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml
index 7e82d3255..be4b33fdc 100644
--- a/config/locales/simple_form.ar.yml
+++ b/config/locales/simple_form.ar.yml
@@ -27,6 +27,8 @@ ar:
         scheduled_at: اتركه فارغا لنشر الإعلان في الحين
         starts_at: اختياري. في حالة ما كان إعلانك ذو صلة بنطاق زمني مخصّص
         text: يمكنك استخدام نسق التبويق. يجب الأخذ في الحسبان المساحة التي سيُغطّيها الإعلان على شاشة المستخدم
+      appeal:
+        text: يمكنك الطعن في عقوبة مرة واحدة فقط
       defaults:
         autofollow: سوف يتابعك تلقائيًا الأشخاص الذين يقومون بالتسجيل من خلال الدعوة
         avatar: ملف PNG أو GIF أو JPG. حجمه على أقصى تصدير %{size}. سيتم تصغيره إلى %{dimensions}px
@@ -35,8 +37,6 @@ ar:
         current_password: لأسباب أمنية ، يرجى إدخال الكلمة السرية الخاصة بالحساب الحالي
         current_username: يرجى إدخال اسم المستخدم الخاص بالحساب الحالي قصد التأكيد
         digest: تُرسَل إليك بعد مُضيّ مدة مِن خمول نشاطك و فقط إذا ما تلقيت رسائل شخصية مباشِرة أثناء فترة غيابك مِن الشبكة
-        discoverable: سِجل الملفات التعريفية للمستخدمين هو طريقة أخرى لبلوغ جمهور أوسع
-        discoverable_no_directory: السماح باكتشاف حسابك من قبل الغرباء من خلال التوصيات والميزات الأخرى
         email: سوف تتلقى رسالة إلكترونية للتأكيد
         fields: يُمكنك عرض 4 عناصر على شكل جدول في صفحتك التعريفية
         header: ملف PNG أو GIF أو JPG. حجمه على أقصى تصدير %{size}. سيتم تصغيره إلى %{dimensions}px
@@ -118,6 +118,8 @@ ar:
         scheduled_at: جَدوِل المنشور
         starts_at: بداية الفعالية
         text: إعلان
+      appeal:
+        text: اشرح لماذا يجب إلغاء هذا القرار
       defaults:
         autofollow: إرسال دعوة لمتابعة حسابك
         avatar: الصورة الرمزية
@@ -196,6 +198,7 @@ ar:
           sign_up_requires_approval: حد التسجيلات
         severity: قانون
       notification_emails:
+        appeal: شخص ما طعن في قرار لأحد المنسقين
         digest: إرسال ملخصات عبر البريد الإلكتروني
         favourite: ابعث بريداً إلكترونيًا عندما يُعجَب أحدهم بمنشورك
         follow: ابعث بريداً إلكترونيًا عندما يتبعك أحد
diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml
index 1881ed2ff..6c9753523 100644
--- a/config/locales/simple_form.ast.yml
+++ b/config/locales/simple_form.ast.yml
@@ -6,7 +6,6 @@ ast:
         autofollow: La xente que se rexistre pente la invitación va siguite automáticamente
         bot: Esta cuenta fai principalmente aiciones automatizaes y podría nun supervisase
         digest: Namái s'unvia dempués d'un periodu llargu d'inactividá y namái si recibiesti cualesquier mensaxe personal na to ausencia
-        discoverable: El direutoru de perfiles ye otru mou de facer qu'una cuenta llegué a una audiencia más amplia
         email: Vamos unviate un corréu de confirmación
         irreversible: Los barritos peñeraos van desapaecer de mou irreversible, magar que se desanicie la peñera dempués
         password: Usa 8 caráuteres polo menos
@@ -23,6 +22,7 @@ ast:
         text: Esto va ayudanos a revisar la to aplicación
       ip_block:
         comment: Opcional. Acuérdate por qué amestesti esta regla.
+        expires_in: Les direiciones IP son un recursu finitu, suelen compartise y cambiar de manes. Por esti motivu, nun s'aconseyen los bloqueos de direiciones IP indefiníos.
       sessions:
         otp: 'Introduz el códigu de dos pasos xeneráu pola aplicación autenticadora o usa unu de los códigos de recuperación:'
     labels:
diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml
index 7f9d838ba..b1b87ff89 100644
--- a/config/locales/simple_form.ca.yml
+++ b/config/locales/simple_form.ca.yml
@@ -37,8 +37,7 @@ ca:
         current_password: Per motius de seguretat si us plau entra la contrasenya del compte actual
         current_username: Per a confirmar, si us plau entra el nom d'usuari del compte actual
         digest: Només s'envia després d'un llarg període d'inactivitat amb un resum de les mencions que has rebut en la teva absència
-        discoverable: El directori de perfils és una altra manera per quin el teu compte pot assolir una audiència més àmplia
-        discoverable_no_directory: Permet que el teu compte sigui descobert per estranys grácies a les sugerències i altres característiques
+        discoverable: Permet que el teu compte sigui descobert per estranys grácies a les sugerències, etiquetes i altres característiques
         email: Se t'enviarà un correu electrònic de confirmació
         fields: Pots tenir fins a 4 elements que es mostren com a taula al teu perfil
         header: PNG, GIF o JPG. Màxim %{size}. S'escalarà a %{dimensions}px
diff --git a/config/locales/simple_form.ckb.yml b/config/locales/simple_form.ckb.yml
new file mode 100644
index 000000000..82187aae5
--- /dev/null
+++ b/config/locales/simple_form.ckb.yml
@@ -0,0 +1,206 @@
+---
+ckb:
+  simple_form:
+    hints:
+      account_alias:
+        acct: دیاریکردنی username@domain ئەو هەژمارە کە دەتەوێت بیگوازیەوە لە
+      account_migration:
+        acct: دیاریکردنی username@domain ئەو هەژمارە کە دەتەوێت بیگوازیەوە لە
+      account_warning_preset:
+        text: دەتوانی ڕستەسازی ی توت بەکاربێنیت، وەک لینک، هاشتاگ و باسەکان
+        title: ئارەزوومەندانە. دیار نیە بۆ وەرگر
+      admin_account_action:
+        include_statuses: بەکارهێنەرەکە دەبینێت کام توتی هۆکاری کرداری بەڕێوەبەر یان ئاگادارکردنەوە
+        send_email_notification: بەکارهێنەر ڕوننکردەوەیەک دەبینێت کە تێدا دەزانێت چی بە سەر هەژمارەکەی هاتووە
+        text_html: ئارزوومەندانە. دەتوانن وەک توتی ئاسایی بینووسن. دەتوانن بۆ کەمکردنەوەی کات <a href="%{path}">ئاگادارییەکان لە پێشەوە زیادبکەن</a>
+        type_html: گەرکتە لەگەڵ هەژمارەی <strong>%{acct}</strong> چی بکەیت
+        warning_preset_id: ئارەزوومەندانەیە. هێشتا دەتوانیت لە کۆتایی دەق شتێک زیاد بکەی
+      announcement:
+        all_day: کاتێک چاودێریکرا، تەنها بەروارەکانی مەودای کات پیشان دەدرێت
+        ends_at: ئارەزوومەندانەیە. ئەم کاتە راگەیەنراوەکە بە شێوەیەکی خۆکارانە بڵاوناکرێتەوە
+        scheduled_at: چۆڵ یبهێڵەوە بۆ بڵاوکردنەوەی دەستبەجێی بانگەوازەکە
+        starts_at: ئارەزوومەندانەیە. لە حاڵەتی ڕاگەیاندنی تۆ بەستراو بە مەودایەکی کاتی دیاریکراو
+        text: دەتوانیت ڕستەسازی توت بەکار بێنیت. تکایە بیر لەو بۆشاییە بکەوە کە بانگەوازەکە لەسەر شاشەی بەکارهێنەرەکە دەست نیشان دەکات
+      defaults:
+        autofollow: ئەو کەسانەی کە لە ڕێگەی بانگهێشتکردنەوە تۆمار دەکرێن بە خۆکارانە شوێنت دەکەون
+        avatar: PNG, GIF یان JPG. لە زۆربەی %{size}. دەبێتە ئەندازەیەکی کەمکراوە بۆ %{dimensions}px
+        bot: ئەم هەژمارە بەشێوەیەکی سەرەکی کردارە خۆکارانە ئەنجام دەدات و لەوانەیە چاودێری نەکرێت
+        context: یەک یان چەند دەقێک کە پالافتنەکە جێبەجێ بکات
+        current_password: بۆ مەبەستی پاراستن تکایە تێپەروشەی هەژمارەی ئێستاکەت بنووسە
+        current_username: بۆ دڵنیابوون، تکایە ناوی بەکارهێنەری ئەم هەژمارەیە بنووسە
+        digest: تەنیا دوای ماوەیەکی زۆر لە بێ چالاکیدەنێردرێت و تەنیا ئەگەر نامەیەکی کەسیت بۆ نووسرابێت
+        email: ئیمەیڵێکی پشتڕاستکردنەوەت بۆ دەنێردرێت
+        fields: دەتوانیت تا ٤بڕگەت هەبێت کە وەک خشتەیەک لەسەر پرۆفایلەکەت پیشان بدرێت
+        header: PNG, GIF یان JPG. لە زۆربەی %{size}. دەبێتە ئەندازەیەکی کەمکراوە بۆ %{dimensions}پیکسێڵ
+        inbox_url: نیشانەی پەڕەی سەرەکی ئەو رێڵە کە هەرەکتە بەکاریببەیت ڕوونووس دەکات
+        irreversible: توتە فلتەرکراوەکە بە شێوەیەکی نەگەڕاو فرەدەدرێن، تەنانەت ئەگەر فلتەردواتر لاببرێت
+        locale: زمانی ڕووکاری بەکارهێنەر، ئیمەیلەکان و ئاگانامەکان
+        locked: بە دەستی شوێنکەوتوانی خۆت پەسەند بکە
+        password: بەلایەنی کەمەوە ٨ نووسە بەکاربهێنە
+        phrase: سەربەخۆ لە بچکۆلی و گەورەیی پیتەکان، لەگەڵ دەقی ئەسڵی یان ئاگانامەکانی ناوەرۆکی توتەکان هاوئاهەنگ دەکرێت
+        scopes: APIـیەکانی بەرنامەنووسی کە ئەم ماڵپەڕە دەستپێگەیشتنی لەگەڵیان هیە. ئەگەر بەرزترین ئاست هەڵبژێرن ئیتر نیاز بە بژاردەی ئاستی نزم نییە.
+        setting_aggregate_reblogs: بۆ ئەو دووبارە توتانە کە بە نوێیی پێتان نیشان دراوە،دووبارە توتەکانی پێشتر زیاد مەکە(تەنها کاریگەری لەسەر توتەکانی ئەم دواییە هەیە)
+        setting_default_sensitive: میدیای هەستیار لە بنەڕەت شاراوەیە و دەتوانرێت بە کلیکیک ئاشکرا بکرێت
+        setting_display_media_default: شاردنەوەی ئەو میدیایانەی وەک هەستیار نیشانکراون
+        setting_display_media_hide_all: هەمیشە میدیا بشارەوە
+        setting_display_media_show_all: هەمیشە میدیا نیشان بدە
+        setting_hide_network: کێ دوای دەکەویت و کێ دوای تۆ دەکەوێت لە پرۆفایلەکەت پیشان نادرێت
+        setting_noindex: کاردەکاتە سەر پرۆفایل و لاپەڕە گشتیەکانت
+        setting_show_application: بەرنامەیەک کە بە یارمەتیت توت دەکەیت، لە دیمەنی وردی توتەکان پیشان دەدرێت
+        setting_use_blurhash: سێبەرەکان لە سەر بنەمای ڕەنگەکانی بەکارهاتوو لە وێنە داشاراوەکان دروست دەبن بەڵام وردەزانیاری وێنە تێیدا ڕوون نییە
+        setting_use_pending_items: لەجیاتی ئەوەی بە خۆکارانە کێشان هەبێت لە نووسراوەکان بە کرتەیەک بەڕۆژبوونی پێرستی نووسراوەکان بشارەوە
+        username: ناوی بەکارهێنەری ئێوە لەسەر %{domain} یەکتا دەبێت
+        whole_word: کاتێک کلیل‌وشە بریتییە لە ژمارە و پیت، تنەها کاتێک پەیدا دەبێت کە لەگەڵ گشتی وشە لە نێو دەقەکە هاوئاهەنگ بێت، نە تەنها لەگەڵ بەشێک لە وشە
+      domain_allow:
+        domain: ئەم دۆمەینە دەتوانێت دراوە لە ئەم ڕاژە وەربگرێت و دراوەی ئەم دۆمەینە لێرە ڕێکدەخرین و پاشکەوت دەکرێن
+      email_domain_block:
+        with_dns_records: هەوڵێک بۆ چارەسەرکردنی تۆمارەکانی DNSی دۆمەین دراوە کە ئەنجامەکان بلۆک دەکرێت
+      featured_tag:
+        name: 'لەوانەیە بتەوێت یەکێک لەمانە بەکاربهێنیت:'
+      form_challenge:
+        current_password: تۆ دەچیتە ناو ناوچەی پارێزراو
+      imports:
+        data: فایلی CSV هەناردەکراوە لە ڕاژەیەکی تری ماستۆدۆن
+      invite_request:
+        text: ئەمە یارمەتیمان دەدات بۆ پێداچوونەوەی بەرنامەکەت
+      ip_block:
+        comment: دڵخوازە. لەبیرتە بۆچی ئەم یاسایەت زیاد کرد.
+        expires_in: ناونیشانی IP سەرچاوەی سنوردارن، هەندێک جار هاوبەشکراون و زۆر جار دەستەکان دەگۆڕن. لەبەر ئەم هۆیە، بلۆکی IP بێ نەناسراو پێشنیار نەکراوە.
+        ip: ناونیشانی IPv4 یان IPv6 تێبنووسە. دەتوانیت هەموو مەوداکان بلۆک بکەیت بە بەکارهێنانی داڕستانی CIDR. وریابە خۆت قفڵ مەکە!
+        severities:
+          no_access: بلۆککردنی گەیشتن بە هەموو سەرچاوەکان
+          sign_up_requires_approval: نوێ ناوتۆمارکردن پێویستی بە ڕەزامەندی تۆیە
+        severity: هەڵبژێرە چی ڕوودەدات لەگەڵ داواکاریەکانی ئەم IP
+      sessions:
+        otp: 'کۆدی دوو-فاکتۆر بنووسە کە لەلایەن ئەپی تەلەفۆنەکەتەوە دروست کراوە یان یەکێک لە کۆدەکانی هێنانەوەی خۆت بەکاربهێنە:'
+        webauthn: ئەگەر کلیلی USB بێت دڵنیابە لە تێکردنی و ئەگەر پێویست بوو، لێیبدە.
+      tag:
+        name: ئێوە دەتوانن گەورەیی و بجکۆلیی پیتەکان دەستکاری بکەن تاکوو خوێنەوارتر دیاربن
+      user:
+        chosen_languages: کاتێک چاودێری کرا، تەنها توتەکان بە زمانە دیاریکراوەکان لە هێڵی‌کاتی گشتی پیشان دەدرێت
+    labels:
+      account:
+        fields:
+          name: ناونیشان
+          value: ناوەڕۆک
+      account_alias:
+        acct: چارەسەرکردنی هەژمارە کۆنەکە
+      account_migration:
+        acct: چارەسەرکردنی هەژمارە نوێکە
+      account_warning_preset:
+        text: دەقی پێشوەختی ڕێکخستن
+        title: سەردێڕ
+      admin_account_action:
+        include_statuses: لەخۆگرتنی توتەکانی گوزارشت لە ئیمەیل
+        send_email_notification: بەکارهێنەر ئاگادار بکەوە بۆ هەر ئیمەیڵێک
+        text: ئاگاداری تایبەتمەند
+        type: کردار
+        types:
+          disable: بەستن
+          none: ناردنی ئاگاداری
+          sensitive: هەستیار
+          silence: سنوور
+          suspend: ڕاگرتن
+        warning_preset_id: بەکاهێنانی ئاگاداری پێش وەختە
+      announcement:
+        all_day: ڕووداوی هەموو ڕۆژەکە
+        ends_at: کۆتایی ڕووداو
+        scheduled_at: بڵاوکراوەکە خشتە بکە
+        starts_at: دەستپێکردنی ڕووداو
+        text: بانگەواز
+      defaults:
+        autofollow: بانگهێشت کردن بۆ شوێنکەوتنی هەژمارەکەت
+        avatar: وێنۆچکە
+        bot: ئەمە هەژمارێکی ساختەیە
+        chosen_languages: پاڵاوتنی زمانەکان
+        confirm_new_password: پشتڕاستکردنەوەی تێپەڕوشەی نوێ
+        confirm_password: پشتڕاستکردنەوەی تێپەڕوشە
+        context: چوارچێوەی پاڵافتن
+        current_password: تێپەروشەی ئێستا
+        data: دراوه
+        discoverable: ئەم هەژمێرە لە پێرستی بژاردەی بەکارهێنەران نیشان بدە
+        display_name: ناوی پیشاندان
+        email: ناونیشانی ئیمەیڵ
+        expires_in: بەسەردەچێت پاش
+        fields: مێتاداتای پرۆفایل
+        header: سەرپەڕە
+        inbox_url: بەستەری سندوقی گواستنەوەی
+        irreversible: فرێدان لەجیاتی شاردنەوە
+        locale: زمانی پەڕەی بەکارهێنەر
+        locked: داخستنی هەژمارە
+        max_uses: زۆرترین ژمارەی بەکاربەرەکان
+        new_password: تێپەروشەی نوێ
+        note: دەربارەی ئیوە
+        otp_attempt: کۆدی دووقۆناغی هاتنەژوور
+        password: تێپەڕوشە
+        phrase: وشەکلیل یان دەستەواژە
+        setting_advanced_layout: چالاککردنی ڕووکاری وێبی پێشکەوتوو
+        setting_aggregate_reblogs: گرووپی توتەکان یەکبخە
+        setting_auto_play_gif: خۆکاربەخشکردنی GIFــەکان
+        setting_boost_modal: پیشاندانی دیالۆگی دووپاتکردنەوە پێش دوبارە توتاندن
+        setting_crop_images: لە تووتی نەکراوە،وینەکان لە ئەندازی ۱٦×۹ ببڕە
+        setting_default_language: زمانی نووسراوەکانتان
+        setting_default_privacy: چوارچێوەی تایبەتێتی ئێوە
+        setting_default_sensitive: هەمیشە نیشانکردنی میدیا وەک هەستیار
+        setting_delete_modal: نیساندانی پەیامی پەسەند کردن پاش سڕینەوە
+        setting_disable_swiping: جوڵەی سڕینەوە لە کاربخە
+        setting_display_media: پیشاندانی میدیا
+        setting_display_media_default: بنەڕەت
+        setting_display_media_hide_all: شاردنەوەی هەموو
+        setting_display_media_show_all: هەموو نیشان بدە
+        setting_expand_spoilers: هەمیشە ئەو توتانەی کە بە ئاگادارکردنەوەکانی ناوەڕۆکەوە نیشانەکراون، پیسان بدە
+        setting_hide_network: شاردنەوەی تۆڕەکەت
+        setting_noindex: داوا لە مەکینەی گەڕان بۆ پیشاننەدان لە دەئەنجامی گەڕانەکان
+        setting_reduce_motion: کەمکردنەوەی جوڵە لە ئەنیمەکان
+        setting_show_application: ئاشکراکردنی ئەپەکان بۆ ناردنی توتەکان
+        setting_system_font_ui: فۆنتی بنەڕەتی سیستەم بەکاربهێنە
+        setting_theme: ڕووکاری ماڵپەڕ
+        setting_trends: پیشاندانی نووسراوە بەرچاوکراوەی ئەمڕۆ
+        setting_unfollow_modal: پیشاندانی پەیامی پەسەندکردن پێش شوێن‌نەکەوتنی کەسێک
+        setting_use_blurhash: بەجیاتی وینەی داشاراوە، سێبەری ڕەنگاوڕەنگ نیشان بدە
+        setting_use_pending_items: دۆخی خاو
+        severity: ئاستی گرنگی
+        sign_in_token_attempt: کۆدی پاراستن
+        type: جۆری هاوردەکردن
+        username: ناوی بەکارهێنەر
+        username_or_email: ناوی بەکاهێنەر یان ئیمەیڵ
+        whole_word: هەموو وشەکە
+      email_domain_block:
+        with_dns_records: لەخۆگرتنی تۆمارەکانی MX و ئای پییەکانی دۆمەین
+      featured_tag:
+        name: هەشتاگ
+      interactions:
+        must_be_follower: قەپاتکردنی ئاگانامەکان بێجگە لە شوێنکەوتووان
+        must_be_following: بەئاگانامەکان بلۆک بکە لە خەڵکێک کە پەیڕەویان ناکەیت
+        must_be_following_dm: پەیامەکانی ڕاستەوخۆ بلۆک بکە لەو کەسانەی کە، پەیڕەوی ناکەن
+      invite:
+        comment: بۆچوون
+      invite_request:
+        text: بۆچی دەتەوێت بەشدار بیت?
+      ip_block:
+        comment: بۆچوون
+        severities:
+          no_access: بلۆککردنی ده‌ستپێگه‌یشتن
+          sign_up_requires_approval: سنووردارکردنی چوونەناو
+        severity: یاسا
+      notification_emails:
+        digest: کورتکردنی ئاگادارییکەن لەیەک ئیمەیل
+        favourite: کەسێک دۆخی تۆی بەدڵ بوو
+        follow: کەسێک دوای تۆ کەوت
+        follow_request: کەسێک داوای کردووە کە بەدوات بکەوێت
+        mention: کەسێک باسی کردووی
+        pending_account: هەژمارەی نوێ پێویستی بە پێداچوونەوەهەیە
+        reblog: کاتێک کەسێک نووسراوەی ئێوە دووبارە توت دەکاتەوە
+      tag:
+        listable: ڕیگەبدە ئەم هاشتاگە لە پێرستی هەڵبژاردەی بەکارهێنەران و پەڕەی گەڕان نیشان بدرێت
+        name: هەشتاگ
+        trendable: ڕێگەبدە ئەم هەشتاگە لە نووسراوەی بەرچاوکراو نیسان بدرێت
+        usable: ڕێگەبدە بە توتەکان بۆ بەکارهێنانی ئەم هەشتاگە
+    'no': نە
+    recommended: پێشنیارکراوە
+    required:
+      text: پێویستە
+    title:
+      sessions:
+        webauthn: یەکێک لە کلیلەکانی پاراستن بەکاربهێنە بۆ چوونە ژوورەوە
+    'yes': بەڵێ
diff --git a/config/locales/simple_form.co.yml b/config/locales/simple_form.co.yml
index 7ae553d97..529a2ba44 100644
--- a/config/locales/simple_form.co.yml
+++ b/config/locales/simple_form.co.yml
@@ -29,7 +29,6 @@ co:
         current_password: Per ragione di sicurità, entrate a chjave d'accessu di stu contu
         current_username: Per cunfirmà, entrate u cugnome di questu contu
         digest: Solu mandatu dopu à una longa perioda d’inattività, è solu s’elli ci sò novi missaghji diretti
-        discoverable: L'annuariu di i prufili hè un'altra manera per u vostru contu di tuccà un'audienza più larga
         email: Avete da riceve un'e-mail di cunfirmazione
         fields: Pudete avè fin’à 4 elementi mustrati cum’un tavulone nant’à u vostru prufile
         header: Furmatu PNG, GIF o JPG. %{size} o menu. Sarà ridottu à %{dimensions}px
diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml
index e6965e893..c8cc9985d 100644
--- a/config/locales/simple_form.cs.yml
+++ b/config/locales/simple_form.cs.yml
@@ -35,8 +35,6 @@ cs:
         current_password: Z bezpečnostních důvodů prosím zadejte heslo současného účtu
         current_username: Potvrďte prosím tuto akci zadáním uživatelského jména aktuálního účtu
         digest: Odesíláno pouze po dlouhé době nečinnosti a pouze, pokud jste při své nepřítomnosti obdrželi osobní zprávy
-        discoverable: Umožnit objevení vašeho účtu neznámými uživateli skrze doporučení, adresář profilů a další funkce
-        discoverable_no_directory: Umožnit objevení vašeho účtu neznámými uživateli skrze doporučení a další funkce
         email: Bude vám poslán potvrzovací e-mail
         fields: Na profilu můžete mít až 4 položky zobrazené jako tabulka
         header: PNG, GIF či JPG. Maximálně %{size}. Bude zmenšen na %{dimensions} px
diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml
index 98dd83d15..c2ab1d4f7 100644
--- a/config/locales/simple_form.cy.yml
+++ b/config/locales/simple_form.cy.yml
@@ -29,7 +29,6 @@ cy:
         current_password: At ddibenion diogelwch, nodwch gyfrinair y cyfrif cyfredol
         current_username: I gadarnhau, nodwch enw defnyddiwr y cyfrif cyfredol
         digest: Ond yn cael eu hanfon ar ôl cyfnod hir o anweithgarwch ac ond os ydych wedi derbyn unrhyw negeseuon personol yn eich absenoldeb
-        discoverable: Mae'r cyfeirlyfr proffil yn ffordd arall y gall eich cyfrif gyrraedd cynulleidfa ehangach
         email: Byddwch yn derbyn e-bost i gadarnhau
         fields: Mae modd i chi arddangos hyd at 4 eitem fel tabl ar eich proffil
         header: PNG, GIF neu JPG. %{size} ar y mwyaf. Ceith ei israddio i %{dimensions}px
diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml
index 05a272284..2af37ff4e 100644
--- a/config/locales/simple_form.da.yml
+++ b/config/locales/simple_form.da.yml
@@ -27,45 +27,46 @@ da:
         scheduled_at: Lad stå tomt for straks at publicere bekendtgørelsen
         starts_at: Valgfri. Såfremt din bekendtgørelse er knyttet til et bestemt tidsinterval
         text: Du kan bruge markup-formattering i indlæg. Vær opmærksom på den plads, som en bekendtgørelse vil fylde på brugerens skærm
+      appeal:
+        text: En advarsel kan kun appelleres én gang
       defaults:
-        autofollow: Personer, som har tilmeldt sig via invitationen, vil automatisk følge dig
+        autofollow: Personer tilmeldt via invitationen vil automatisk blive følgere
         avatar: PNG, GIF eller JPG. Maks. %{size}. Auto-nedskaleres til %{dimensions}px
         bot: Signalér til andre, at denne konto primært udfører automatiserede handlinger og muligvis ikke monitoreres
-        context: En eller flere kontekster, hvor filteret skal være gældende
+        context: En eller flere kontekster, hvor filteret skal anvendes
         current_password: Angiv af sikkerhedsårsager adgangskoden til den aktuelle konto
         current_username: For at bekræfte, angiv brugernavnet for den aktuelle konto
-        digest: Sendes kun efter en lang inaktivitetsperiode, og kun hvis du har modtaget personlige beskeder i dit fravær
-        discoverable: Tillad din konto at blive fundet af fremmede via anbefalinger og øvrige funktioner
-        discoverable_no_directory: Tillad din konto at blive fundet af fremmede via anbefalinger og øvrige funktioner
-        email: Du tilsendes en bekræftelsese-mail
-        fields: Du kan have op til 4 elementer vist som en tabel på din profil
+        digest: Sendes kun efter en lang inaktivitetsperiode, og kun hvis du har modtaget personlige beskeder under fraværet
+        discoverable: Tillad kontoen at blive fundet af fremmede via anbefalinger og øvrige funktioner
+        email: En bekræftelsese-mail fremsendes
+        fields: Profilen kan have op til 4 elementer vist som en tabel
         header: PNG, GIF eller JPG. Maks. %{size}. Auto-nedskaleres til %{dimensions}px
-        inbox_url: Kopiér URL'en fra forsiden af den videreformidler, du ønsker at bruge
-        irreversible: Filtrerede indlæg forsvinder helt, selv hvis filteret senere fjernes
-        locale: Brugerfladesprog, e-mails og push-notifikationer
+        inbox_url: Kopiér URL'en fra forsiden af den videreformidler, der skal anvendes
+        irreversible: Filtrerede indlæg forsvinder permanent, selv hvis filteret senere fjernes
+        locale: Sprog til brug for brugerflade, e-mails og push-notifikationer
         locked: Godkend manuelt følgeanmodninger for at styre, hvem der følger dig
         password: Brug mindst 8 tegn
-        phrase: Matches uanset majuskel-/minuskel-brug i teksten eller indholdsadvarsel på et indlæg
-        scopes: Hvilke API'er applikationen vil få adgang til. Vælges en højniveaudstrækning, vil granuleringsvalg være unødvendige.
-        setting_aggregate_reblogs: Vis ikke nye boosts for indlæg boostet for nylig (påvirker kun nyligt modtagne boosts)
-        setting_default_sensitive: Sensitive medier er som standard skjult og kan afsløres med et klik
-        setting_display_media_default: Skjul medier markeret som sensitive
+        phrase: Matches uanset uanset brug af store/små bogstaver i teksten eller indholdsadvarsel for et indlæg
+        scopes: De API'er, som applikationen vil kunne tilgå. Vælges en topniveaudstrækning, vil detailvalg være unødvendige.
+        setting_aggregate_reblogs: Vis ikke nye boosts for nyligt boostede indlæg (påvirker kun nyligt modtagne boosts)
+        setting_default_sensitive: Sensitive medier er som standard skjult og kan vises med et klik
+        setting_display_media_default: Skjul medier med sensitiv-markering
         setting_display_media_hide_all: Skjul altid medier
         setting_display_media_show_all: Vis altid medier
         setting_hide_network: Hvem du følger, og hvem som følger dig, skjules på din profil
-        setting_noindex: Påvirker din offentlige profil og statussider
-        setting_show_application: Applikation, hvormed du skrive indlæg, vil fremgå i den detaljerede visning af dine indlæg
+        setting_noindex: Påvirker din offentlige profil samt indlægssider
+        setting_show_application: Applikationen, hvormed der postes, vil fremgå af detailvisningen af dine indlæg
         setting_use_blurhash: Gradienter er baseret på de skjulte grafikelementers farver, men slører alle detaljer
-        setting_use_pending_items: Klik for at vise tidslinjeopdateringer i stedet auto-feedrulning
+        setting_use_pending_items: Skjul tidslinjeopdateringer bag et klik i stedet for brug af auto-feedrulning
         username: Dit brugernavn vil være unikt på %{domain}
-        whole_word: Når nøgleordet/-udtrykket er rent alfanumerisk, bruges det kun, såfremt det matcher hele ordet
+        whole_word: Ved rent alfanumeriske nøgleord/-sætning, forudsætter brugen matchning af hele ordet
       domain_allow:
-        domain: Dette domæne vil kunne hente data, og dermed behandle og gemme indgående data, fra denne server
+        domain: Dette domæne vil kunne hente data, som efterfølgende behandles og gemmes, fra denne server
       email_domain_block:
-        domain: Dette kan være domænenavnet i e-mailadressen eller MX-posten, den bruger. Begge tjekkes ved tilmelding.
-        with_dns_records: Et forsøg på at løse det givne domænes DNS-poster foretages og resultaterne blokeres ligeledes
+        domain: Dette kan være domænenavnet vist i den benyttede i e-mailadresse eller MX-post. Begge tjekkes under tilmelding.
+        with_dns_records: Et forsøg på at opløse det givne domænes DNS-poster foretages, og resultaterne blokeres ligeledes
       featured_tag:
-        name: 'Du vil formentlig ønske at bruge en af flg.:'
+        name: 'Et af flg. ønskes måske anvendt:'
       form_challenge:
         current_password: Du bevæger dig ind på et sikkert område
       imports:
@@ -73,20 +74,20 @@ da:
       invite_request:
         text: Dette vil hjælpe os med at gennemgå din ansøgning
       ip_block:
-        comment: Valgfri. Husk, hvorfor du tilføjede denne regel.
-        expires_in: IP-adresser er en begrænset ressource, de deles undertiden og skifter ofte hænder. Af denne grund anbefales ubegrænsede IP-blokke ikke.
-        ip: Angiv en IPv4- eller IPv6-adresse. Du kan blokere hele intervaller vha. CIDR-syntaksen. Vær forsigtig med ikke at låse dig ude!
+        comment: Valgfri. Begrundelse for denne regel.
+        expires_in: IP-adresser er en begrænset ressource, de deles undertiden og skifter ofte hænder, hvorfor ubegrænsede IP-blokke ikke anbefales.
+        ip: Angiv en IPv4- eller IPv6-adresse. Hele intervaller kan blokeres vha. CIDR-syntaksen. Pas på med ikke selv at blive låst ude!
         severities:
           no_access: Blokér adgang til alle ressourcer
           sign_up_requires_approval: Nye tilmeldinger kræver din godkendelse
-        severity: Vælg, hvad der vil ske med anmodninger fra denne IP
+        severity: Afgør, hvordan forespørgsler fra denne IP behandles
       rule:
         text: Beskriv på en kort og enkel form en regel/krav for brugere på denne server
       sessions:
-        otp: 'Angiv tofaktorkoden generet af appen på din mobil eller brug en af dine genoprettelses koder:'
+        otp: 'Angiv tofaktorkoden generet af din mobil-app eller brug en af genoprettelseskoderne:'
         webauthn: Er det en USB-nøgle, så sørg for at isætte den og, om nødvendigt, åbne den manuelt.
       tag:
-        name: Du kan kun ændre bogstavtyperne for eksempelvis at gøre det mere læsbart
+        name: Kun bogstavtyper (store/små) kan ændres, eksempelvis for at gøre det mere læsbart
       user:
         chosen_languages: Når markeret, vil kun indlæg på de valgte sprog fremgå på offentlige tidslinjer
     labels:
@@ -95,29 +96,29 @@ da:
           name: Etiket
           value: Indhold
       account_alias:
-        acct: Kaldenavn på den gamle konto
+        acct: Brugernavn på den gamle konto
       account_migration:
-        acct: Kaldenavn på den nye konto
+        acct: Brugernavn på den nye konto
       account_warning_preset:
-        text: Tilpasset tekst
+        text: Tekstskabelon
         title: Titel
       admin_account_action:
-        include_statuses: Inkludér anmeldte indlæg i e-mailen
-        send_email_notification: Advisér brugeren pr. e-mail
+        include_statuses: Medtag anmeldte indlæg i e-mailen
+        send_email_notification: Underret brugeren pr. e-mail
         text: Tilpasset advarsel
         type: Handling
         types:
           disable: Frys
           none: Send en advarsel
-          sensitive: Sensitive
-          silence: Begrænsning
+          sensitive: Sensitiv
+          silence: Begræns
           suspend: Suspendér
-        warning_preset_id: Brug en forvalgsadvarsel
+        warning_preset_id: Brug en advarselsskabelon
       announcement:
         all_day: Heldagsbegivenhed
         ends_at: Slut på begivenhed
         scheduled_at: Planlæg offentliggørelse
-        starts_at: Start af begivenhed
+        starts_at: Start på begivenhed
         text: Bekendtgørelse
       appeal:
         text: Forklar, hvorfor denne beslutning bør omgøres
@@ -125,10 +126,10 @@ da:
         autofollow: Invitér til at følge din konto
         avatar: Profilbillede
         bot: Dette er en bot-konto
-        chosen_languages: Filtrér sprog
+        chosen_languages: Sprogfiltrering
         confirm_new_password: Bekræft ny adgangskode
         confirm_password: Bekræft adgangskode
-        context: Filtrér kontekster
+        context: Kontekstfiltrering
         current_password: Aktuel adgangskode
         data: Data
         discoverable: Foreslå konto til andre
@@ -153,12 +154,12 @@ da:
         setting_auto_play_gif: Autoafspil animerede GIF'er
         setting_boost_modal: Vis bekræftelsesdialog inden boosting
         setting_crop_images: Beskær billeder i ikke-ekspanderede indlæg til 16x9
-        setting_default_language: Sprog for opslag
-        setting_default_privacy: Fortrolighed for opslag
+        setting_default_language: Sprog for indlæg
+        setting_default_privacy: Fortrolighed for indlæg
         setting_default_sensitive: Markér altid medier som sensitive
         setting_delete_modal: Vis bekræftelsesdialog før et indlæg slettes
         setting_disable_swiping: Deaktivér strygebevægelser
-        setting_display_media: Medivisning
+        setting_display_media: Medievisning
         setting_display_media_default: Standard
         setting_display_media_hide_all: Skjul alle
         setting_display_media_show_all: Vis alle
@@ -166,7 +167,7 @@ da:
         setting_hide_network: Skjul din sociale graf
         setting_noindex: Fravælg søgemaskineindeksering
         setting_reduce_motion: Reducér animationsbevægelse
-        setting_show_application: Viser applikation, der bruges til at sende indlæg
+        setting_show_application: Vis applikationen brugt til at poste indlæg
         setting_system_font_ui: Brug systemets standardskrifttype
         setting_theme: Webstedstema
         setting_trends: Vis dagens tendenser
@@ -185,8 +186,8 @@ da:
         name: Hashtag
       interactions:
         must_be_follower: Blokér notifikationer fra ikke-følgere
-        must_be_following: Blokér notifikationer fra folk du ikke følger
-        must_be_following_dm: Bloker direkte beskeder fra folk du ikke følger
+        must_be_following: Blokér notifikationer fra folk, som ikke følges
+        must_be_following_dm: Bloker direkte beskeder fra folk, som ikke følges
       invite:
         comment: Kommentar
       invite_request:
@@ -201,25 +202,25 @@ da:
       notification_emails:
         appeal: En moderatorafgørelse er appelleret
         digest: Send resumé e-mails
-        favourite: Nogen gav dig favoritstatus
+        favourite: Nogen favoritmarkerede dit indlæg
         follow: Nogen begyndte at følge dig
         follow_request: Nogen anmodede om at følge dig
         mention: Nogen nævnte dig
         pending_account: Ny konto kræver gennemgang
-        reblog: Nogen boostede din status
-        report: Ny anmeldelse er indsendt
+        reblog: Nogen boostede dit indlæg
+        report: Ny anmeldelse indsendt
         trending_tag: Ny tendens kræver revidering
       rule:
         text: Regel
       tag:
-        listable: Tillad visning af dette hashtag i søgninger og på profilmappen
+        listable: Tillad visning af dette hashtag i søgninger og forslag
         name: Hashtag
         trendable: Tillad visning af dette hashtag under trends
         usable: Tillad indlæg at benytte dette hashtag
     'no': Nej
     required:
       mark: "*"
-      text: krævet
+      text: obligatorisk
     title:
       sessions:
         webauthn: Brug en af dine sikkerhedskoder til indlogning
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index 743b0ab2f..b4158953e 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -37,8 +37,7 @@ de:
         current_password: Aus Sicherheitsgründen gib bitte das Passwort des aktuellen Kontos ein
         current_username: Um das zu bestätigen, gib den Benutzernamen des aktuellen Kontos ein
         digest: Wenn du eine lange Zeit inaktiv bist, wird dir eine Zusammenfassung von Erwähnungen zugeschickt, die du in deiner Abwesenheit empfangen hast
-        discoverable: Das Profilverzeichnis ist eine andere Möglichkeit, mit der dein Konto ein größeres Publikum erreichen kann
-        discoverable_no_directory: Erlaube deinem Konto durch Empfehlungen und andere Funktionen von Fremden entdeckt zu werden
+        discoverable: Erlaube deinem Konto durch Empfehlungen, Trends und andere Funktionen von Fremden entdeckt zu werden
         email: Du wirst eine Bestätigungs-E-Mail erhalten
         fields: Du kannst bis zu 4 Elemente auf deinem Profil anzeigen lassen, die als Tabelle dargestellt werden
         header: PNG, GIF oder JPG. Maximal %{size}. Wird auf %{dimensions} px herunterskaliert
diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml
index 0ffd79d50..c5c1243ad 100644
--- a/config/locales/simple_form.el.yml
+++ b/config/locales/simple_form.el.yml
@@ -35,7 +35,6 @@ el:
         current_password: Για λόγους ασφαλείας παρακαλώ γράψε τον κωδικό του τρέχοντος λογαριασμού
         current_username: Για επιβεβαίωση, παρακαλώ γράψε το όνομα χρήστη του τρέχοντος λογαριασμού
         digest: Αποστέλλεται μόνο μετά από μακρά περίοδο αδράνειας και μόνο αν έχεις λάβει προσωπικά μηνύματα κατά την απουσία σου
-        discoverable: Ο κατάλογος λογαριασμών είναι ένας ακόμα τρόπος ώστε ο λογαριασμός σου να βρει μεγαλύτερο κοινό
         email: Θα σου σταλεί email επιβεβαίωσης
         fields: Μπορείς να έχεις έως 4 σημειώσεις σε μορφή πίνακα στο προφίλ σου
         header: PNG, GIF ή JPG. Έως %{size}. Θα περιοριστεί σε διάσταση %{dimensions}px
diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml
index 83861358f..745ff8db7 100644
--- a/config/locales/simple_form.eo.yml
+++ b/config/locales/simple_form.eo.yml
@@ -35,8 +35,6 @@ eo:
         current_password: Pro sekuraj kialoj, bonvolu enigi la pasvorton de la nuna konto
         current_username: Por konfirmi, bonvolu enigi la uzantnomon de la nuna konto
         digest: Sendita nur post longa tempo de neaktiveco, kaj nur se vi ricevis personan mesaĝon en via foresto
-        discoverable: Montru ĉi tiun profilon en la profilujon por ke la konto estos pli-vaste vidata
-        discoverable_no_directory: Permesi vian konton esti malkovrita de fremduloj per rekomendoj kaj aliaj funkcioj
         email: Vi ricevos konfirman retmesaĝon
         fields: Vi povas havi ĝis 4 tabelajn elementojn en via profilo
         header: Formato PNG, GIF aŭ JPG. Ĝis %{size}. Estos malgrandigita al %{dimensions}px
@@ -133,7 +131,7 @@ eo:
         honeypot: "%{label} (ne plenigi)"
         inbox_url: URL de la ripetila enirkesto
         irreversible: Forĵeti anstataŭ kaŝi
-        locale: Interfaca lingvo
+        locale: Lingvo de la fasado
         locked: Ŝlosi konton
         max_uses: Maksimuma nombro de uzoj
         new_password: Nova pasvorto
@@ -158,7 +156,7 @@ eo:
         setting_expand_spoilers: Ĉiam malfoldas mesaĝojn markitajn per averto pri enhavo
         setting_hide_network: Kaŝi viajn sekvantojn kaj sekvatojn
         setting_noindex: Ellistiĝi de retserĉila indeksado
-        setting_reduce_motion: Malrapidigi animaciojn
+        setting_reduce_motion: Redukti movecon en la animacioj
         setting_show_application: Publikigi la aplikaĵon uzatan por sendi mesaĝojn
         setting_system_font_ui: Uzi la dekomencan tiparon de la sistemo
         setting_theme: Reteja etoso
diff --git a/config/locales/simple_form.es-AR.yml b/config/locales/simple_form.es-AR.yml
index 6673e44cc..9df8a8f63 100644
--- a/config/locales/simple_form.es-AR.yml
+++ b/config/locales/simple_form.es-AR.yml
@@ -37,8 +37,7 @@ es-AR:
         current_password: Por razones de seguridad, por favor, ingresá la contraseña de la cuenta actual
         current_username: Para confirmar, por favor, ingresá el nombre de usuario de la cuenta actual
         digest: Sólo enviado tras un largo periodo de inactividad, y sólo si recibiste mensajes personales en tu ausencia
-        discoverable: Permití que tu cuenta sea descubierta por extraños a través de recomendaciones y otras funciones
-        discoverable_no_directory: Permití que tu cuenta sea descubierta por extraños a través de recomendaciones y otras funciones
+        discoverable: Permití que tu cuenta sea descubierta por extraños a través de recomendaciones, tendencias y otras funciones
         email: Se te enviará un correo electrónico de confirmación
         fields: Podés tener hasta 4 elementos mostrados en una tabla en tu perfil
         header: 'PNG, GIF o JPG. Máximo: %{size}. Será subescalado a %{dimensions} píxeles'
diff --git a/config/locales/simple_form.es-MX.yml b/config/locales/simple_form.es-MX.yml
index 9c06e59ba..d02e97a3a 100644
--- a/config/locales/simple_form.es-MX.yml
+++ b/config/locales/simple_form.es-MX.yml
@@ -5,7 +5,7 @@ es-MX:
       account_alias:
         acct: Especifique el nombre de usuario@dominio de la cuenta desde la cual se desea migrar
       account_migration:
-        acct: Especifique el nombre de usuario@dominio de la cuenta a la cual se desea migrar
+        acct: Especifique el nombre de usuario@dominio de la cuenta a la cual desea migrar
       account_warning_preset:
         text: Puede usar sintaxis de toots, como URLs, hashtags y menciones
         title: Opcional. No visible para el destinatario
@@ -28,7 +28,7 @@ es-MX:
         starts_at: Opcional. En caso de que su anuncio esté vinculado a un intervalo de tiempo específico
         text: Puedes usar la sintaxis toot. Por favor ten en cuenta el espacio que ocupará el anuncio en la pantalla del usuario
       appeal:
-        text: Sólo puedes apelar una amonestación una vez
+        text: Sólo puede apelar una amonestación a la vez
       defaults:
         autofollow: Los usuarios que se registren mediante la invitación te seguirán automáticamente
         avatar: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
@@ -37,8 +37,7 @@ es-MX:
         current_password: Por razones de seguridad por favor ingrese la contraseña de la cuenta actual
         current_username: Para confirmar, por favor ingrese el nombre de usuario de la cuenta actual
         digest: Solo enviado tras un largo periodo de inactividad y solo si has recibido mensajes personales durante tu ausencia
-        discoverable: El directorio del perfil es otra forma en la que su cuenta puede llegar a un público más amplio
-        discoverable_no_directory: Permite que tu cuenta sea encontrada por desconocidos por medio de recomendaciones y otras herramientas
+        discoverable: Permite que tu cuenta sea descubierta por extraños a través de recomendaciones, tendencias y otras características
         email: Se le enviará un correo de confirmación
         fields: Puedes tener hasta 4 elementos mostrándose como una tabla en tu perfil
         header: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
@@ -64,6 +63,7 @@ es-MX:
       domain_allow:
         domain: Este dominio podrá obtener datos de este servidor y los datos entrantes serán procesados y archivados
       email_domain_block:
+        domain: Este puede ser el nombre de dominio que se muestra en al dirección de correo o el registro MX que utiliza. Se comprobarán al registrarse.
         with_dns_records: Se hará un intento de resolver los registros DNS del dominio dado y los resultados serán también puestos en lista negra
       featured_tag:
         name: 'Puede que quieras usar uno de estos:'
@@ -208,8 +208,8 @@ es-MX:
         mention: Enviar correo electrónico cuando alguien te mencione
         pending_account: Enviar correo electrónico cuando una nueva cuenta necesita revisión
         reblog: Enviar correo electrónico cuando alguien comparta su publicación
-        report: Nuevo informe enviado
-        trending_tag: Una nueva tendencia requiere revisión
+        report: Nuevo reporte enviado
+        trending_tag: La nueva tendencia requiere de revisión
       rule:
         text: Norma
       tag:
diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml
index 0663571ab..274f54a08 100644
--- a/config/locales/simple_form.es.yml
+++ b/config/locales/simple_form.es.yml
@@ -37,8 +37,7 @@ es:
         current_password: Por razones de seguridad por favor ingrese la contraseña de la cuenta actual
         current_username: Para confirmar, por favor ingrese el nombre de usuario de la cuenta actual
         digest: Solo enviado tras un largo periodo de inactividad y solo si has recibido mensajes personales durante tu ausencia
-        discoverable: Permite que tu cuenta sea encontrada por desconocidos por medio de recomendaciones y otras herramientas
-        discoverable_no_directory: Permite que tu cuenta sea encontrada por desconocidos por medio de recomendaciones y otras herramientas
+        discoverable: Permite que tu cuenta sea descubierta por extraños a través de recomendaciones, tendencias y otras características
         email: Se le enviará un correo de confirmación
         fields: Puedes tener hasta 4 elementos mostrándose como una tabla en tu perfil
         header: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
diff --git a/config/locales/simple_form.et.yml b/config/locales/simple_form.et.yml
index 59ce8cab6..bb2a2f50e 100644
--- a/config/locales/simple_form.et.yml
+++ b/config/locales/simple_form.et.yml
@@ -29,7 +29,6 @@ et:
         current_password: Turvalisuse huvides palun sisestage praeguse konto salasõna
         current_username: Kinnitamiseks palun sisestage oma konto kasutajanimi
         digest: Saadetakse ainult pärast pikka perioodi tegevusetust ja ainult siis, kui Teile on saadetud privaatseid sõnumeid
-        discoverable: Profiilikataloog on veel üks viis, kuidas Teie konto saab jõuda laiema publikuni
         email: Teile saadetakse kinnituskiri e-posti teel
         fields: Te saate oma profiilil tabelina kuvada kuni 4 asja
         header: PNG, GIF või JPG. Kõige rohkem %{size}. Vähendatakse %{dimensions} pikslini
diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml
index b488e2af5..a3d3de4af 100644
--- a/config/locales/simple_form.eu.yml
+++ b/config/locales/simple_form.eu.yml
@@ -27,6 +27,8 @@ eu:
         scheduled_at: Laga hutsik iragarpena berehala argitaratzeko
         starts_at: Aukerakoa. Zure iragarpena denbora-tarte batera lotuta dagoenerako
         text: Tootetako sintaxia erabili dezakezu. Kontuan izan iragarpenak erabiltzailearen pantailan hartuko duen neurria
+      appeal:
+        text: Abisu bati errekurtsoa behin bakarrik jarri diezaiokezu
       defaults:
         autofollow: Gonbidapena erabiliz izena ematen dutenek automatikoki jarraituko dizute
         avatar: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px neurrira eskalatuko da
@@ -35,8 +37,7 @@ eu:
         current_password: Segurtasunagatik sartu uneko kontuaren pasahitza
         current_username: Berresteko sartu uneko kontuaren erabiltzaile-izena
         digest: Jarduerarik gabeko epe luze bat eta gero mezu pertsonalen bat jaso baduzu, besterik ez
-        discoverable: Profilen direktorioa zure kontua jende gehiagok irakurtzeko modu bat da
-        discoverable_no_directory: Baimendu zure kontua ezezagunek aurkitu ahal izatea gomendio eta beste ezaugarrien bidez
+        discoverable: Baimendu zure kontua ezezagunek aurkitu ahal izatea gomendio, joera eta beste ezaugarrien bidez
         email: Baieztapen e-mail bat bidaliko zaizu
         fields: 4 elementu bistaratu ditzakezu taula batean zure profilean
         header: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px eskalara txikituko da
@@ -62,6 +63,7 @@ eu:
       domain_allow:
         domain: Domeinu honek zerbitzari honetatik datuak hartu ahal izango ditu eta bertatik jasotako informazioa prozesatu eta gordeko da
       email_domain_block:
+        domain: Hau eposta helbidean agertzen den domeinu-izena edo MX erregistroak erabiltzen duena izan daiteke. Izen-ematean egiaztatuko dira.
         with_dns_records: Emandako domeinuaren DNS erregistroak ebazteko saiakera bat egingo da eta emaitzak ere zerrenda beltzean sartuko dira
       featured_tag:
         name: 'Hauetakoren bat erabili zenezake:'
@@ -118,6 +120,8 @@ eu:
         scheduled_at: Programatu argitaratzea
         starts_at: Ekitaldiaren hasiera
         text: Iragarpena
+      appeal:
+        text: Azaldu zergatik bota behar litzatekeen atzera erabaki hau
       defaults:
         autofollow: Gonbidatu zure kontua jarraitzera
         avatar: Abatarra
@@ -196,6 +200,7 @@ eu:
           sign_up_requires_approval: Mugatu izen emateak
         severity: Araua
       notification_emails:
+        appeal: Norbaitek moderatzailearen erabakia eskatu du
         digest: Bidali laburpenak e-mail bidez
         favourite: Bidali e-mail bat norbaitek zure mezua gogoko duenean
         follow: Bidali e-mail bat norbaitek jarraitzen zaituenean
@@ -203,6 +208,8 @@ eu:
         mention: Bidali e-mail bat norbaitek zu aipatzean
         pending_account: Bidali e-mail bat kontu bat berrikusi behar denean
         reblog: Bidali e-mail bat norbaitek zure mezuari bultzada ematen badio
+        report: Salaketa berria bidali da
+        trending_tag: Joera berriak berrikuspena behar du
       rule:
         text: Araua
       tag:
diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml
index e9185f730..c44a789d9 100644
--- a/config/locales/simple_form.fa.yml
+++ b/config/locales/simple_form.fa.yml
@@ -35,8 +35,6 @@ fa:
         current_password: به دلایل امنیتی لطفاً رمز این حساب را وارد کنید
         current_username: برای تأیید، لطفاً نام کاربری حساب فعلی را وارد کنید
         digest: تنها وقتی فرستاده می‌شود که مدتی طولانی فعالیتی نداشته باشید و در این مدت برای شما پیغام خصوصی‌ای نوشته شده باشد
-        discoverable: فهرست گزیدهٔ کاربران، راهی دیگر برای رسیدن به مخاطبان گسترده‌تری برای حسابتان است
-        discoverable_no_directory: اجازه دهید که حساب‌تان از طریق پیشنهادات و سایر قابلیت‌ها، توسط افراد غریبه قابل کشف باشد
         email: به شما ایمیل تأییدی فرستاده خواهد شد
         fields: شما می‌توانید تا چهار مورد را در یک جدول در نمایهٔ خود نمایش دهید
         header: یکی از قالب‌های PNG یا  GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index d1813a51a..0b1239f03 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -37,8 +37,6 @@ fi:
         current_password: Turvallisuussyistä kirjoita nykyisen tilin salasana
         current_username: Vahvista kirjoittamalla nykyisen tilin käyttäjätunnus
         digest: Lähetetään vain pitkän poissaolon jälkeen ja vain, jos olet saanut suoria viestejä poissaolosi aikana
-        discoverable: Profiilihakemisto on toinen tapa, jolla tilisi voi tavoittaa laajemman yleisön
-        discoverable_no_directory: Salli tuntemattomien löytää tilisi suositusten ja muiden ominaisuuksien kautta
         email: Sinulle lähetetään vahvistussähköposti
         fields: Sinulla voi olla korkeintaan 4 asiaa profiilissasi taulukossa
         header: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index 692ecc0fa..12d0a6c4f 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -37,8 +37,7 @@ fr:
         current_password: Pour des raisons de sécurité, veuillez saisir le mot de passe du compte courant
         current_username: Pour confirmer, veuillez saisir le nom d'utilisateur du compte courant
         digest: Uniquement envoyé après une longue période d’inactivité et uniquement si vous avez reçu des messages personnels pendant votre absence
-        discoverable: L’annuaire des profils est une autre façon pour votre compte d’atteindre une plus grande audience
-        discoverable_no_directory: Permettre à des inconnu·e·s de découvrir votre compte par le biais des recommandations et autres fonctionnalités
+        discoverable: Permettre à votre compte d’être découvert par des inconnus par le biais de recommandations, de tendances et d’autres fonctionnalités
         email: Vous recevrez un courriel de confirmation
         fields: Vous pouvez avoir jusqu’à 4 éléments affichés en tant que tableau sur votre profil
         header: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px
@@ -55,7 +54,7 @@ fr:
         setting_display_media_hide_all: Toujours masquer les médias
         setting_display_media_show_all: Toujours montrer les médias
         setting_hide_network: Ceux que vous suivez et ceux qui vous suivent ne seront pas affichés sur votre profil
-        setting_noindex: Affecte votre profil public ainsi que vos statuts
+        setting_noindex: Affecte votre profil public ainsi que vos messages
         setting_show_application: Le nom de l’application que vous utilisez pour publier sera affichée dans la vue détaillée de vos messages
         setting_use_blurhash: Les dégradés sont basés sur les couleurs des images cachées mais n’en montrent pas les détails
         setting_use_pending_items: Cacher les mises à jour des fils d’actualités derrière un clic, au lieu de les afficher automatiquement
diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml
index 2ca13642a..ac71f8307 100644
--- a/config/locales/simple_form.gd.yml
+++ b/config/locales/simple_form.gd.yml
@@ -35,8 +35,6 @@ gd:
         current_password: A chùm tèarainteachd, cuir a-steach facal-faire a’ chunntais làithrich
         current_username: Airson seo a dhearbhadh, cuir a-steach ainm-cleachdaiche a’ chunntais làithrich
         digest: Cha dèid seo a chur ach nuair a bhios tu air ùine mhòr gun ghnìomh a ghabhail agus ma fhuair thu teachdaireachd phearsanta fhad ’s a bha thu air falbh
-        discoverable: Ceadaich gun lorg coigrich an cunntas agad le taic o mholaidhean, eòlaire nam pròifil is gleusan eile
-        discoverable_no_directory: Ceadaich gun lorg coigrich an cunntas agad le taic o mholaidhean is gleusan eile
         email: Thèid post-d dearbhaidh a chur thugad
         fields: Faodaidh tu suas ri 4 nithean a shealltainn mar chlàr air a’ phròifil agad
         header: PNG, GIF or JPG. %{size} air a char as motha. Thèid a sgèileadh sìos gu %{dimensions}px
diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml
index 4fac924ae..23a27a4d7 100644
--- a/config/locales/simple_form.gl.yml
+++ b/config/locales/simple_form.gl.yml
@@ -28,7 +28,7 @@ gl:
         starts_at: Opcional. No caso de que o teu anuncio estea vinculado a un intre de tempo específico
         text: Podes empregar a sintaxe na publicación. Ten en conta o espazo que ocupará o anuncio na pantalla da usuaria
       appeal:
-        text: Só podes apelar a decesión unha vez
+        text: Só podes apelar a decisión unha vez
       defaults:
         autofollow: As persoas que se conectaron a través dun convite seguirante automáticamente
         avatar: PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px
@@ -37,8 +37,7 @@ gl:
         current_password: Por razóns de seguridade, introduce o contrasinal da conta actual
         current_username: Para confirmar, introduce o nome de usuaria da conta actual
         digest: Enviar só tras un longo período de inactividade e só se recibiches algunha mensaxe directa na tua ausencia
-        discoverable: Permite que a túa conta poida ser descuberta por persoas descoñecidas a través de recomendacións, directorio de perfil e outras ferramentas
-        discoverable_no_directory: Permitir que a túa conta poida ser descuberta por persoas descoñecidas a través das recomendacións e outras ferramentas
+        discoverable: Permite que a túa conta poida ser descuberta por persoas descoñecidas a través de recomendacións, tendencias e outras ferramentas
         email: Ímosche enviar un correo de confirmación
         fields: Podes ter ate 4 elementos no teu perfil mostrados como unha táboa
         header: PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px
diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml
index 1921961f9..2c9b4159f 100644
--- a/config/locales/simple_form.hu.yml
+++ b/config/locales/simple_form.hu.yml
@@ -37,8 +37,7 @@ hu:
         current_password: Biztonsági okok miatt kérlek, írd be a jelenlegi fiók jelszavát
         current_username: A jóváhagyáshoz írd be a jelenlegi fiók felhasználói nevét
         digest: Csak hosszú távollét esetén küldődik és csak ha személyes üzenetet kaptál távollétedben
-        discoverable: A profil adatbázis egy újabb mód, ahogyan a fiókod szélesebb tömegeket érhet el
-        discoverable_no_directory: Engedélyezzük, hogy a fiókod idegenek által megtalálható legyen javaslatokon és más funkciókon keresztül
+        discoverable: Engedélyezzük, hogy a fiókod idegenek által megtalálható legyen javaslatokon, trendeken és más funkciókon keresztül
         email: Kapsz egy megerősítő e-mailt
         fields: A profilodon legfeljebb 4 bejegyzés szerepelhet táblázatos formában
         header: PNG, GIF vagy JPG. Maximum %{size}. Átméretezzük %{dimensions} pixelre
diff --git a/config/locales/simple_form.hy.yml b/config/locales/simple_form.hy.yml
index 407d665b7..3f7bb7833 100644
--- a/config/locales/simple_form.hy.yml
+++ b/config/locales/simple_form.hy.yml
@@ -29,7 +29,6 @@ hy:
         current_password: Անվտանգութեան նկատառումներից ելնելով, խնդրում ենք մուտքագրել տուել հաշուի ծածկագիրը
         current_username: Հաստատելու համար խնդրում ենք մուտքագրել տուել հաշուի օգտանունը
         digest: Ուղարկուում է պասիւութեան երկար շրջանից յետոյ եւ միայն այն դէպքում, երբ բացակայութեանդ ժամանակ որեւէ անձնական հաղորդագրութիւն ես ստացել
-        discoverable: Էջի մատեանն այլ եղանակ է հաշիւդ լայն շրջանակներին հասանելի դարձնելու
         email: Քեզ ուղարկուել է հաստատման իմակ
         fields: Կարող ես ունենալ մինչեւ 4 կէտ հաշուիդ աղիւսակում ցուցադրելու
         header: PNG, GIF կամ JPG։ Առաւելագոյնը՝ %{size}։ Կը փոքրացուի մինչեւ %{dimensions}
diff --git a/config/locales/simple_form.id.yml b/config/locales/simple_form.id.yml
index b2ee8de5e..a6f86064f 100644
--- a/config/locales/simple_form.id.yml
+++ b/config/locales/simple_form.id.yml
@@ -37,8 +37,7 @@ id:
         current_password: Untuk tujuan keamanan mohon masukkan kata sandi akun ini
         current_username: Untuk konfirmasi, mohon masukkan nama pengguna akun ini
         digest: Hanya kirim setelah lama tidak aktif dan hanya jika Anda menerima pesan personal atas absensi Anda
-        discoverable: Direktori profil adalah cara lain agar akun Anda menyentuh audiens yang lebih luas
-        discoverable_no_directory: Izinkan akun Anda ditemukan orang lain lewat rekomendasi dan fitur lain
+        discoverable: Izinkan akun Anda ditemukan orang lain lewat rekomendasi, tren, dan fitur lain
         email: Anda akan dikirimi email konfirmasi
         fields: Anda bisa memiliki hingga 4 item utk ditampilkan sebagai tabel di profil Anda
         header: PNG, GIF atau JPG. Maksimal %{size}. Ukuran dikecilkan menjadi %{dimensions}px
diff --git a/config/locales/simple_form.is.yml b/config/locales/simple_form.is.yml
index 36dab59b1..f9b5f5410 100644
--- a/config/locales/simple_form.is.yml
+++ b/config/locales/simple_form.is.yml
@@ -37,8 +37,7 @@ is:
         current_password: Í öryggisskyni skaltu setja inn lykilorðið fyrir þennan notandaaðgang
         current_username: Til að staðfesta skaltu setja inn notandanafnið fyrir þennan notandaaðgang
         digest: Er aðeins sent eftir lengri tímabil án virkni og þá aðeins ef þú hefur fengið persónuleg skilaboð á meðan þú hefur ekki verið á línunni
-        discoverable: Persónusniðamappan er önnur leið til að láta notandaaðganginn þinn ná til fleiri lesenda
-        discoverable_no_directory: Gerðu öðrum kleift að finna aðganginn þinn í gegnum meðmæli og annað slíkt
+        discoverable: Gerðu öðrum kleift að finna aðganginn þinn í gegnum meðmæli, vinsældir og annað slíkt
         email: Þú munt fá sendan staðfestingarpóst
         fields: Þú getur birt allt að 4 atriði sem töflu á notandasniðinu þínu
         header: PNG, GIF eða JPG. Mest %{size}. Verður smækkað í %{dimensions}px
diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml
index 5a77c8dc2..6355d298c 100644
--- a/config/locales/simple_form.it.yml
+++ b/config/locales/simple_form.it.yml
@@ -37,8 +37,7 @@ it:
         current_password: Per motivi di sicurezza inserisci la password dell'account attuale
         current_username: Per confermare, inserisci il nome utente dell'account attuale
         digest: Inviata solo dopo un lungo periodo di inattività e solo se hai ricevuto qualche messaggio personale in tua assenza
-        discoverable: La directory dei profili è un altro modo in cui il tuo account può raggiungere un pubblico più ampio
-        discoverable_no_directory: Consenti al tuo profilo di esser scoperto da sconosciuti tramite consigli e altre funzionalità
+        discoverable: Consenti al tuo account di essere scoperto da sconosciuti tramite consigli, tendenze e altre funzionalità
         email: Ti manderemo una email di conferma
         fields: Puoi avere fino a 4 voci visualizzate come una tabella sul tuo profilo
         header: PNG, GIF o JPG. Al massimo %{size}. Verranno scalate a %{dimensions}px
diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml
index 496c63356..8eb39dd9e 100644
--- a/config/locales/simple_form.ja.yml
+++ b/config/locales/simple_form.ja.yml
@@ -35,8 +35,6 @@ ja:
         current_password: 現在のアカウントのパスワードを入力してください
         current_username: 確認のため、現在のアカウントのユーザー名を入力してください
         digest: 長期間使用していない場合と不在時に返信を受けた場合のみ送信されます
-        discoverable: ディレクトリはあなたのアカウントをより多くの人に見つけてもらうためのひとつの手段です
-        discoverable_no_directory: ディレクトリ機能を使用して、あなたのアカウントを他の人から見つけられるようにします
         email: 確認のメールが送信されます
         fields: プロフィールに表として4つまでの項目を表示することができます
         header: "%{size}までのPNG、GIF、JPGが利用可能です。 %{dimensions}pxまで縮小されます"
diff --git a/config/locales/simple_form.kab.yml b/config/locales/simple_form.kab.yml
index b3fa8d375..f4c929de6 100644
--- a/config/locales/simple_form.kab.yml
+++ b/config/locales/simple_form.kab.yml
@@ -11,7 +11,6 @@ kab:
         type_html: Fren d acu ara txedmeḍ s <strong>%{acct}</strong>
       defaults:
         autofollow: Imdanen ara ijerrden s usnebgi-inek, ad k-ḍefṛen s wudem awurman
-        discoverable: Tabdert n yimaγnuten d udem-nniḍen i umiḍan-ik akken ad yettwassen ugar
         email: Ad n-teṭṭfeḍ imayl i usentem
         irreversible: Tijewwaqin i tessazedgeḍ ad ttwakksent i lebda, ula ma tekkseḍ imsizdeg-nni ar zdat
         locale: Tutlayt n ugrudem, imaylen d tilγa
diff --git a/config/locales/simple_form.kmr.yml b/config/locales/simple_form.kmr.yml
deleted file mode 100644
index bf1ffa7db..000000000
--- a/config/locales/simple_form.kmr.yml
+++ /dev/null
@@ -1,231 +0,0 @@
----
-kmr:
-  simple_form:
-    hints:
-      account_alias:
-        acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike
-      account_migration:
-        acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike
-      account_warning_preset:
-        text: Tu dikarî wek URLyan, hashtagan û şîroveyan, tootê ristesazî jî bikarbînî
-        title: Bi dilê xwe ye. Ji wergir re nay xûyakirin
-      admin_account_action:
-        include_statuses: Bikarhênerê bibîne kîjan toot dibin sedemê çalakî an jî agahdarî
-        send_email_notification: Bikarhêner dê ravekirinê tiştê ku bi ajimêra wan re qewimî bistîne
-        text_html: Bi dili xwe ye. Tu dikarî hevoksazî ye toot bikarbînî. Tu dikarî <a href="%{path}"> pêşsazîyên hişyariyê lê zêde bikî </a> ji bo ku demê derbas nekî
-        type_html: Hilbijêre ka tu yê çi bikî bi <strong>%{acct}</strong> re
-        types:
-          disable: Nehêle bila bikarhêner ajimêrê xwe bikar bîne lê naverokan jê nebe an jî veneşêre.
-          none: Ji bo ku tu hişyariyekê ji bikarhêner re bişînî vê bi kar bîne, bêyî ku çalakiyeke din dest lê neda.
-          sensitive: Neçar bihêle ku ev bikarhêner hemû pêvekên medyayê hestiyar nîşan bike.
-          silence: Pêşî li bikarhêneran bigire ku bikarhêner bi herkesî ra xûyabarî neşîne, post û agahdarîyên xwe ji mirovên ku wan naşopîne veşêre.
-          suspend: Pêşîya hevbandorîya vî ajimêrê bigire û naveroka wê jê bibe. Di nava 30 rojan de tê vegerandin.
-        warning_preset_id: Bi dilê xwe ye. Tu hîn jî dikarî dawîya pêşsazkirî de nivîsek teybet li zêde bikî
-      announcement:
-        all_day: Dema were nîşankirin, tenê dîrokên navbera demê dê werin nîşan kirin
-        ends_at: Bi dilê xwe ye. Daxuyanî di vê demê de bi xweberî ji weşanê de rabe
-        scheduled_at: Vala bihêle ku yekcar daxûyanî were weşandin
-        starts_at: Bi dilê xwe ye. Heke daxûyanî ya te di demeke diyar ve girêdayî be
-        text: Tu dikarî hevoksazî yên toot bikarbînî. Ji kerema xwe cihê ku ev daxuyanî li ser dîmenderê bikarhêner bigire baldar be
-      appeal:
-        text: Tu dikarî tenê carekê îtîraza binpêkirinê bikî
-      defaults:
-        autofollow: Mirovên ku bi rêya vexwendinê xwe tomar kirine ew ên bi xweberî te bişopînin
-        avatar: PNG, GIF an jî JPG. Herî zêde %{size} dê ber bi %{dimensions}px ve were kêmkirin
-        bot: Ji yên din re nîşan bike ku ajimêr bi piranî kiryarên xweberî dike û dibe ku neyê çavdêrî kirin
-        context: Yek an jî zêdetir girêdan divê parzûn were sepandin
-        current_password: Ji bo ewlehiyê ji kerema xwe şîfreya ajimêrê xwe niha têkevin
-        current_username: Ji bo piştrastkirinê, ji kerema xwe navê bikarhêner ya ajimêrê niha binvîse
-        digest: Tenê piştî demek dirêj neçalakiyê de û tenê di nebûna te da peyamên teybetî standî be tê şandin
-        discoverable: Mafê biden ku ajimêra te bi pêşniyar, peldanka profîlê û taybetmendiyên din ji aliyê bîyaniyan ve bê vedîtin
-        discoverable_no_directory: Mafê biden ku ajimêra te bi pêşniyar û taybetmendiyên din ji aliyê bîyaniyan ve bê vedîtin
-        email: Ji te re e-name ya pejirandinê were
-        fields: Tu dikarî heya 4 hêmanan wekî tabloyek li ser profîla xwe nîşan bidî
-        header: PNG, GIF an jî JPG. Herî zêde %{size} ber bi %{dimensions}px ve were kêmkirin
-        inbox_url: URLyê di rûpela pêşî de guhêrkerê ku tu dixwazî bi kar bînî jê bigire
-        irreversible: Tootên parzûnkirî êdî bê veger wenda bibe, heger parzûn paşê were rakirin jî nabe
-        locale: Zimanê navrûyê bikarhêner, agahdarîyên e-name û pêl kirin
-        locked: Bi destan daxwazên şopê hilbijêrîne da ku kî bikaribe te bişopîne
-        password: Herî kêm 8 karakter bikar bîne
-        phrase: Ji rewşa nivîsê tîpên girdek/hûrdek an jî ji hişyariya naveroka ya şandiyê wek serbixwe wê were hevbeş kirin
-        scopes: |-
-          Sepana ku dê kîjan maf bide bigihije APIyan.
-          Ger te asteke jor hilbijartibe, ne pêwîste ku tu yên berfirehî a kesane hilbijêrî.
-        setting_aggregate_reblogs: Bilindkirinên ku nû hatine weşan ji şandiyên di dema dawî de nîşan nede (tenê li ser bilindkirinên nû wergirtî bandor dike)
-        setting_default_sensitive: Medyaya hestiyar berdestî ve tê veşartin û bi tikandin dikare were eşkere kirin
-        setting_display_media_default: Medyaya wekî hestyarî hatiye nîşankirî ye veşêre
-        setting_display_media_hide_all: Medyayê tim veşêre
-        setting_display_media_show_all: Medyayê tim nîşan bike
-        setting_hide_network: Kesên ku te dişopîne û kesên tu dişopînî ev ên profîla te de were veşartin
-        setting_noindex: Bandor li hemî profîla te û tootên rûpela te dike
-        setting_show_application: Navê sepana ku tu ji bo şandinê wê bi kar tîne dê di dîtinê berferh ên di şandiyên te de were xuyakirin
-        setting_use_blurhash: Gradyen xwe bi rengên dîtbarîyên veşartî ve radigire, lê belê hûrgilîyan diveşêre
-        setting_use_pending_items: Li şûna ku herkê wek bixweber bizivirînî nûvekirina demnameyê li paş tikandinekî veşêre
-        username: Navê te yê bikarhênerî li ser %{domain} de bêhempa be
-        whole_word: Dema peyvkilîd an jî hevok bi tenê alfahejmarî çêbe, bi tenê hemû bêjeyê re li hev bike wê pêk bê
-      domain_allow:
-        domain: Ev navê navperê, ji vê rajekarê wê daneyan bistîne û daneyên ku jê bê wê were sazkirin û veşartin
-      email_domain_block:
-        domain: Ev dikare bibe navê navparek ku di navnîşana e-nameyê de an tomara MX ya ku ew bi kar tîne de xuya dike. Ew ê di dema tomarkirinê de werin kontrolkirin.
-        with_dns_records: Hewl tê dayîn ku tomarên DNSê yên li qada jê re hatine dayîn were çareserkirin û encamên wê jî were astengkirin
-      featured_tag:
-        name: 'Belkî tu yekê bi kar bînî çi van:'
-      form_challenge:
-        current_password: Tu dikevî qadeke ewledar
-      imports:
-        data: Pelê CSV-ê ji rajekareke din a Mastodon hate derxistin
-      invite_request:
-        text: Ev ê alikariya me bikê bo nirxandina sepanê te
-      ip_block:
-        comment: Bi dilê xwe ye. Ji bîr neke te çima ev bîranînê lê zêde kiriye.
-        expires_in: Navnîşanên IPyan çavkaniyên bi sînor in, carinan dihê parvekirin lê pirî caran dest diguherîne. Ji bo vê blokên IP ên nediyar nayê pêşniyarkirin.
-        ip: Têkeve navnîşana IPv4 an jî IPv6'yek. Tu dikarî bi hevoksazî ya CIDR re hemî valahîyan asteng bikî. Hay ji xwe hebe ku xwe derve nehêle!
-        severities:
-          no_access: Gihîştina hemî çavkaniyan asteng bike
-          sign_up_requires_approval: Tomarkirinên nû de pejirandina te pêwîste
-        severity: Daxwazên ku ji vê IPyê tên dê çi bibe hilbijêre
-      rule:
-        text: Ji bo bikarhênerên li ser vê rajekarê rêzikek an jî pêdivîyê pênase bike. Hewl bide ku rêzikê kin û xwerû bigire
-      sessions:
-        otp: 'Koda du-gavî a telefona xwe têkevê an jî yek ji wan kodên xilaskirinê têkevê:'
-        webauthn: Heke kilîta USB-yê be, jê ewle be ku wê têxinê û heke pêdivî be, pê li wê bike.
-      tag:
-        name: Tîpan, mînak ji bo ku bêhtir paknivîs bibe, tenê rewşa tîpên girdek/hûrdek dikarî biguherînî
-      user:
-        chosen_languages: Dema were nîşankirin, tenê parvekirinên bi zimanên hilbijartî dê di rêzikên giştî de werin nîşandan
-    labels:
-      account:
-        fields:
-          name: Nîşan
-          value: Naverok
-      account_alias:
-        acct: Destika ajimêrê te yê kevn
-      account_migration:
-        acct: Destika ajimêrê te yê nû
-      account_warning_preset:
-        text: Nivîsa pêşsazkirî
-        title: Sernav
-      admin_account_action:
-        include_statuses: Şandiyên hatine ragihandinê jî têxe nav e-name yê
-        send_email_notification: Bikarhênerê bi e-name yê agahdar bike
-        text: Agahdarî ya kesane
-        type: Çalakî
-        types:
-          disable: Qerisî ye
-          none: Hişyariyek bişîne
-          sensitive: Hestiyar
-          silence: Bi sînor bike
-          suspend: Hatiye rawestandin
-        warning_preset_id: Hişyariyeke pêşsazkirî bi kar bîne
-      announcement:
-        all_day: Çalakiya tevahiya rojê
-        ends_at: Dawiya bûyerê
-        scheduled_at: Weşanê demsaz bike
-        starts_at: Destpêka bûyerê
-        text: Daxuyanî
-      appeal:
-        text: Şîrove bike çima divê ev biryar were berovajîkirin
-      defaults:
-        autofollow: Ji bo şopandina ajimêra xwe vexwîne
-        avatar: Wêne
-        bot: Ev ajimêrekî bot e
-        chosen_languages: Parzûnê zimanan
-        confirm_new_password: Peborîna nû bipejirîne
-        confirm_password: Peborîn bipejirîne
-        context: Parzûnê naverokan
-        current_password: Pêborîna heyî
-        data: Dane
-        discoverable: Ji yên din re ajimêrê pêşniyar bike
-        display_name: Navê nîşandanê
-        email: Navnîşana E-nameyê
-        expires_in: Dîroka xilasbûyînê
-        fields: Profîla daneyên meta
-        header: Jormalper
-        honeypot: "%{label} (tijî neke)"
-        inbox_url: URLya guhêzkera wergirtî
-        irreversible: Li şûna veşartinê jê bibe
-        locale: Zimanê navrûyê
-        locked: Ajimêr qefl bike
-        max_uses: Hejmara bikaranîna herî zêde
-        new_password: Pêborîna nû
-        note: Jiyanname
-        otp_attempt: Koda du faktoran
-        password: Pêborîn
-        phrase: Peyvkilîd an jî hevok
-        setting_advanced_layout: Navrûya tevnê yê pêşketî çalak bike
-        setting_aggregate_reblogs: Di demnameyê de şandiyên bilindkirî kom bike
-        setting_auto_play_gif: GIF ên livok bi xweber bilîzine
-        setting_boost_modal: Gotûbêja pejirandinê nîşan bide berî ku şandî werê bilindkirin
-        setting_crop_images: Wêneyên di nav şandiyên ku nehatine berfireh kirin wek 16×9 jê bike
-        setting_default_language: Zimanê weşanê
-        setting_default_privacy: Ewlehiya weşanê
-        setting_default_sensitive: Her dem medya wek hestyar bide nîşan
-        setting_delete_modal: Berî ku peyamek were jêbirin, gotûbêja pejirandinê nîşan bide
-        setting_disable_swiping: Tevgerên dişiqite ne çalak bike
-        setting_display_media: Nîşandana medyayê
-        setting_display_media_default: Berdest
-        setting_display_media_hide_all: Hemûyan veşêre
-        setting_display_media_show_all: Hemûyan nîşan bide
-        setting_expand_spoilers: Şandîyên ku bi agahdarîyên naverokê va hatine nîşankirin her dem berfireh bike
-        setting_hide_network: Grafîka xwe ya civakî veşêre
-        setting_noindex: Bes e nexe di nav rêzên lêgerîna gerokan
-        setting_reduce_motion: Lîstikên livoka kêm bike
-        setting_show_application: Sepana ku ji bo şandina toot'a tê bikaranîn diyar bike
-        setting_system_font_ui: Curenivîsa berdest a pergalê bi kar bîne
-        setting_theme: Rûkarê malperê
-        setting_trends: Rojeva îro nîşan bide
-        setting_unfollow_modal: Gotûbêja pejirandinê nîşan bide berî ku dev ji şopa kesekî tê berdan
-        setting_use_blurhash: Ji bo medyaya veşartî de gradyanên rengîn nîşan bike
-        setting_use_pending_items: Awayê hêdî
-        severity: Asta girîngiyê
-        sign_in_token_attempt: Koda ewlehiyê
-        type: Cureya têxistinê
-        username: Navê bikarhêneriyê
-        username_or_email: Navê bikarhêner an jî e-name
-        whole_word: Hemû peyv
-      email_domain_block:
-        with_dns_records: Tomarên MX û IP yên hundirê navper lê zêde bike
-      featured_tag:
-        name: Hashtag
-      interactions:
-        must_be_follower: Danezanên ji kesên ku ne şopînerên min tên asteng bike
-        must_be_following: Agahdariyan asteng bike ji kesên ku tu wan naşopînî
-        must_be_following_dm: Peyamên rasterast asteng bike ji kesên ku tu wan naşopînî
-      invite:
-        comment: Şîrove
-      invite_request:
-        text: Tu çima dixwazî beşdar bibî?
-      ip_block:
-        comment: Şîrove
-        ip: IP
-        severities:
-          no_access: Gihîştinê asteng bike
-          sign_up_requires_approval: Tomaran sînordar bike
-        severity: Rêbaz
-      notification_emails:
-        appeal: Kesek îtîrazê biryara çavdêr dike
-        digest: Kurte e-name bişîne
-        favourite: Kesekî şandiya te hez kir
-        follow: Kesekî te şopand
-        follow_request: Kesekî daxwaz kir bo şopandina te
-        mention: Kesekî qale te kir
-        pending_account: Pewîste ku ajimêra nû bihê lêkolînkirin
-        reblog: Kesekî şandiya te bilind kir
-        report: Ragihandina nû hate şandin
-        trending_tag: Rojeva nû pêdivî nirxandinê ye
-      rule:
-        text: Rêbaz
-      tag:
-        listable: Bihêle ku ev hashtag werê xuyakirin di lêgerîn û pêşniyaran de
-        name: Hashtag
-        trendable: Bihêle ku ev hashtag werê xuyakirin di bin rojevê de
-        usable: Bihêle ku şandî ev hashtag bi kar bînin
-    'no': Na
-    recommended: Pêşniyarkirî
-    required:
-      mark: "*"
-      text: pêdivî ye
-    title:
-      sessions:
-        webauthn: Yek ji kilîtên ewlehiyê yên xwe bi kar bîne bo têketinê
-    'yes': Erê
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index 1f2b3af7d..2c6530fc8 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -37,8 +37,7 @@ ko:
         current_password: 보안을 위해 현재 계정의 암호를 입력해주세요
         current_username: 확인을 위해, 현재 계정의 사용자명을 입력해주세요
         digest: 오랫동안 활동하지 않았을 때 받은 멘션들에 대한 요약 받기
-        discoverable: 당신의 계정을 추천과 기타 기능들에 의해 다른 사람들이 발견할 수 있게 허용합니다
-        discoverable_no_directory: 당신의 계정을 추천과 기타 기능들에 의해 다른 사람들이 발견할 수 있도록 허용합니다
+        discoverable: 추천, 트렌드 및 기타 기능을 통해 낯선 사람이 귀하의 계정을 찾을 수 있도록 허용합니다
         email: 당신은 확인 메일을 받게 됩니다
         fields: 당신의 프로파일에 최대 4개까지 표 형식으로 나타낼 수 있습니다
         header: PNG, GIF 혹은 JPG. 최대 %{size}. %{dimensions}px로 축소 됨
@@ -64,6 +63,7 @@ ko:
       domain_allow:
         domain: 이 도메인은 이 서버에서 데이터를 가져갈 수 있고 이 도메인에서 보내진 데이터는 처리되고 저장 됩니다
       email_domain_block:
+        domain: 이메일에 표시되는 도메인 네임이거나 그것이 사용하는 MX 레코드일 수 있습니다. 가입시에 검증됩니다.
         with_dns_records: 입력한 도메인의 DNS를 조회를 시도하여 나온 값도 차단됩니다
       featured_tag:
         name: '이것들을 사용하면 좋을 것 같습니다:'
diff --git a/config/locales/simple_form.ku.yml b/config/locales/simple_form.ku.yml
index 3ccce01c3..4f38ae030 100644
--- a/config/locales/simple_form.ku.yml
+++ b/config/locales/simple_form.ku.yml
@@ -3,205 +3,228 @@ ku:
   simple_form:
     hints:
       account_alias:
-        acct: دیاریکردنی username@domain ئەو هەژمارە کە دەتەوێت بیگوازیەوە لە
+        acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike
       account_migration:
-        acct: دیاریکردنی username@domain ئەو هەژمارە کە دەتەوێت بیگوازیەوە لە
+        acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike
       account_warning_preset:
-        text: دەتوانی ڕستەسازی ی توت بەکاربێنیت، وەک لینک، هاشتاگ و باسەکان
-        title: ئارەزوومەندانە. دیار نیە بۆ وەرگر
+        text: Tu dikarî wek URLyan, hashtagan û şîroveyan, tootê ristesazî jî bikarbînî
+        title: Bi dilê xwe ye. Ji wergir re nay xûyakirin
       admin_account_action:
-        include_statuses: بەکارهێنەرەکە دەبینێت کام توتی هۆکاری کرداری بەڕێوەبەر یان ئاگادارکردنەوە
-        send_email_notification: بەکارهێنەر ڕوننکردەوەیەک دەبینێت کە تێدا دەزانێت چی بە سەر هەژمارەکەی هاتووە
-        text_html: ئارزوومەندانە. دەتوانن وەک توتی ئاسایی بینووسن. دەتوانن بۆ کەمکردنەوەی کات <a href="%{path}">ئاگادارییەکان لە پێشەوە زیادبکەن</a>
-        type_html: گەرکتە لەگەڵ هەژمارەی <strong>%{acct}</strong> چی بکەیت
-        warning_preset_id: ئارەزوومەندانەیە. هێشتا دەتوانیت لە کۆتایی دەق شتێک زیاد بکەی
+        include_statuses: Bikarhênerê bibîne kîjan toot dibin sedemê çalakî an jî agahdarî
+        send_email_notification: Bikarhêner dê ravekirinê tiştê ku bi ajimêra wan re qewimî bistîne
+        text_html: Bi dili xwe ye. Tu dikarî hevoksazî ye toot bikarbînî. Tu dikarî <a href="%{path}"> pêşsazîyên hişyariyê lê zêde bikî </a> ji bo ku demê derbas nekî
+        type_html: Hilbijêre ka tu yê çi bikî bi <strong>%{acct}</strong> re
+        types:
+          disable: Nehêle bila bikarhêner ajimêrê xwe bikar bîne lê naverokan jê nebe an jî veneşêre.
+          none: Ji bo ku tu hişyariyekê ji bikarhêner re bişînî vê bi kar bîne, bêyî ku çalakiyeke din dest lê neda.
+          sensitive: Neçar bihêle ku ev bikarhêner hemû pêvekên medyayê hestiyar nîşan bike.
+          silence: Pêşî li bikarhêneran bigire ku bikarhêner bi herkesî ra xûyabarî neşîne, post û agahdarîyên xwe ji mirovên ku wan naşopîne veşêre.
+          suspend: Pêşîya hevbandorîya vî ajimêrê bigire û naveroka wê jê bibe. Di nava 30 rojan de tê vegerandin.
+        warning_preset_id: Bi dilê xwe ye. Tu hîn jî dikarî dawîya pêşsazkirî de nivîsek teybet li zêde bikî
       announcement:
-        all_day: کاتێک چاودێریکرا، تەنها بەروارەکانی مەودای کات پیشان دەدرێت
-        ends_at: ئارەزوومەندانەیە. ئەم کاتە راگەیەنراوەکە بە شێوەیەکی خۆکارانە بڵاوناکرێتەوە
-        scheduled_at: چۆڵ یبهێڵەوە بۆ بڵاوکردنەوەی دەستبەجێی بانگەوازەکە
-        starts_at: ئارەزوومەندانەیە. لە حاڵەتی ڕاگەیاندنی تۆ بەستراو بە مەودایەکی کاتی دیاریکراو
-        text: دەتوانیت ڕستەسازی توت بەکار بێنیت. تکایە بیر لەو بۆشاییە بکەوە کە بانگەوازەکە لەسەر شاشەی بەکارهێنەرەکە دەست نیشان دەکات
+        all_day: Dema were nîşankirin, tenê dîrokên navbera demê dê werin nîşan kirin
+        ends_at: Bi dilê xwe ye. Daxuyanî di vê demê de bi xweberî ji weşanê de rabe
+        scheduled_at: Vala bihêle ku yekcar daxûyanî were weşandin
+        starts_at: Bi dilê xwe ye. Heke daxûyanî ya te di demeke diyar ve girêdayî be
+        text: Tu dikarî hevoksazî yên toot bikarbînî. Ji kerema xwe cihê ku ev daxuyanî li ser dîmenderê bikarhêner bigire baldar be
+      appeal:
+        text: Tu dikarî tenê carekê îtîraza binpêkirinê bikî
       defaults:
-        autofollow: ئەو کەسانەی کە لە ڕێگەی بانگهێشتکردنەوە تۆمار دەکرێن بە خۆکارانە شوێنت دەکەون
-        avatar: PNG, GIF یان JPG. لە زۆربەی %{size}. دەبێتە ئەندازەیەکی کەمکراوە بۆ %{dimensions}px
-        bot: ئەم هەژمارە بەشێوەیەکی سەرەکی کردارە خۆکارانە ئەنجام دەدات و لەوانەیە چاودێری نەکرێت
-        context: یەک یان چەند دەقێک کە پالافتنەکە جێبەجێ بکات
-        current_password: بۆ مەبەستی پاراستن تکایە تێپەروشەی هەژمارەی ئێستاکەت بنووسە
-        current_username: بۆ دڵنیابوون، تکایە ناوی بەکارهێنەری ئەم هەژمارەیە بنووسە
-        digest: تەنیا دوای ماوەیەکی زۆر لە بێ چالاکیدەنێردرێت و تەنیا ئەگەر نامەیەکی کەسیت بۆ نووسرابێت
-        discoverable: پێرستی هەڵبژاردەی بەکارهێنەران،تەنها ڕیگایەکی دیکەیە بۆ گەیشتنی بەکارهێنەری فرەتر بۆ هەژمارەکەت
-        email: ئیمەیڵێکی پشتڕاستکردنەوەت بۆ دەنێردرێت
-        fields: دەتوانیت تا ٤بڕگەت هەبێت کە وەک خشتەیەک لەسەر پرۆفایلەکەت پیشان بدرێت
-        header: PNG, GIF یان JPG. لە زۆربەی %{size}. دەبێتە ئەندازەیەکی کەمکراوە بۆ %{dimensions}پیکسێڵ
-        inbox_url: نیشانەی پەڕەی سەرەکی ئەو رێڵە کە هەرەکتە بەکاریببەیت ڕوونووس دەکات
-        irreversible: توتە فلتەرکراوەکە بە شێوەیەکی نەگەڕاو فرەدەدرێن، تەنانەت ئەگەر فلتەردواتر لاببرێت
-        locale: زمانی ڕووکاری بەکارهێنەر، ئیمەیلەکان و ئاگانامەکان
-        locked: بە دەستی شوێنکەوتوانی خۆت پەسەند بکە
-        password: بەلایەنی کەمەوە ٨ نووسە بەکاربهێنە
-        phrase: سەربەخۆ لە بچکۆلی و گەورەیی پیتەکان، لەگەڵ دەقی ئەسڵی یان ئاگانامەکانی ناوەرۆکی توتەکان هاوئاهەنگ دەکرێت
-        scopes: APIـیەکانی بەرنامەنووسی کە ئەم ماڵپەڕە دەستپێگەیشتنی لەگەڵیان هیە. ئەگەر بەرزترین ئاست هەڵبژێرن ئیتر نیاز بە بژاردەی ئاستی نزم نییە.
-        setting_aggregate_reblogs: بۆ ئەو دووبارە توتانە کە بە نوێیی پێتان نیشان دراوە،دووبارە توتەکانی پێشتر زیاد مەکە(تەنها کاریگەری لەسەر توتەکانی ئەم دواییە هەیە)
-        setting_default_sensitive: میدیای هەستیار لە بنەڕەت شاراوەیە و دەتوانرێت بە کلیکیک ئاشکرا بکرێت
-        setting_display_media_default: شاردنەوەی ئەو میدیایانەی وەک هەستیار نیشانکراون
-        setting_display_media_hide_all: هەمیشە میدیا بشارەوە
-        setting_display_media_show_all: هەمیشە میدیا نیشان بدە
-        setting_hide_network: کێ دوای دەکەویت و کێ دوای تۆ دەکەوێت لە پرۆفایلەکەت پیشان نادرێت
-        setting_noindex: کاردەکاتە سەر پرۆفایل و لاپەڕە گشتیەکانت
-        setting_show_application: بەرنامەیەک کە بە یارمەتیت توت دەکەیت، لە دیمەنی وردی توتەکان پیشان دەدرێت
-        setting_use_blurhash: سێبەرەکان لە سەر بنەمای ڕەنگەکانی بەکارهاتوو لە وێنە داشاراوەکان دروست دەبن بەڵام وردەزانیاری وێنە تێیدا ڕوون نییە
-        setting_use_pending_items: لەجیاتی ئەوەی بە خۆکارانە کێشان هەبێت لە نووسراوەکان بە کرتەیەک بەڕۆژبوونی پێرستی نووسراوەکان بشارەوە
-        username: ناوی بەکارهێنەری ئێوە لەسەر %{domain} یەکتا دەبێت
-        whole_word: کاتێک کلیل‌وشە بریتییە لە ژمارە و پیت، تنەها کاتێک پەیدا دەبێت کە لەگەڵ گشتی وشە لە نێو دەقەکە هاوئاهەنگ بێت، نە تەنها لەگەڵ بەشێک لە وشە
+        autofollow: Mirovên ku bi rêya vexwendinê xwe tomar kirine ew ên bi xweberî te bişopînin
+        avatar: PNG, GIF an jî JPG. Herî zêde %{size} dê ber bi %{dimensions}px ve were kêmkirin
+        bot: Ji yên din re nîşan bike ku ajimêr bi piranî kiryarên xweberî dike û dibe ku neyê çavdêrî kirin
+        context: Yek an jî zêdetir girêdan divê parzûn were sepandin
+        current_password: Ji bo ewlehiyê ji kerema xwe şîfreya ajimêrê xwe niha têkevin
+        current_username: Ji bo piştrastkirinê, ji kerema xwe navê bikarhêner ya ajimêrê niha binvîse
+        digest: Tenê piştî demek dirêj neçalakiyê de û tenê di nebûna te da peyamên teybetî standî be tê şandin
+        discoverable: Mafê biden ku ajimêra te bi pêşniyar û taybetmendiyên din ji aliyê biyaniyan ve bê vedîtin
+        email: Ji te re e-name ya pejirandinê were
+        fields: Tu dikarî heya 4 hêmanan wekî tabloyek li ser profîla xwe nîşan bidî
+        header: PNG, GIF an jî JPG. Herî zêde %{size} ber bi %{dimensions}px ve were kêmkirin
+        inbox_url: URLyê di rûpela pêşî de guhêrkerê ku tu dixwazî bi kar bînî jê bigire
+        irreversible: Tootên parzûnkirî êdî bê veger wenda bibe, heger parzûn paşê were rakirin jî nabe
+        locale: Zimanê navrûyê bikarhêner, agahdarîyên e-name û pêl kirin
+        locked: Bi destan daxwazên şopê hilbijêrîne da ku kî bikaribe te bişopîne
+        password: Herî kêm 8 karakter bikar bîne
+        phrase: Ji rewşa nivîsê tîpên girdek/hûrdek an jî ji hişyariya naveroka ya şandiyê wek serbixwe wê were hevbeş kirin
+        scopes: |-
+          Sepana ku dê kîjan maf bide bigihije APIyan.
+          Ger te asteke jor hilbijartibe, ne pêwîste ku tu yên berfirehî a kesane hilbijêrî.
+        setting_aggregate_reblogs: Bilindkirinên ku nû hatine weşan ji şandiyên di dema dawî de nîşan nede (tenê li ser bilindkirinên nû wergirtî bandor dike)
+        setting_default_sensitive: Medyaya hestiyar berdestî ve tê veşartin û bi tikandin dikare were eşkere kirin
+        setting_display_media_default: Medyaya wekî hestyarî hatiye nîşankirî ye veşêre
+        setting_display_media_hide_all: Medyayê tim veşêre
+        setting_display_media_show_all: Medyayê tim nîşan bike
+        setting_hide_network: Kesên ku te dişopîne û kesên tu dişopînî ev ên profîla te de were veşartin
+        setting_noindex: Bandor li hemî profîla te û tootên rûpela te dike
+        setting_show_application: Navê sepana ku tu ji bo şandinê wê bi kar tîne dê di dîtinê berferh ên di şandiyên te de were xuyakirin
+        setting_use_blurhash: Gradyen xwe bi rengên dîtbarîyên veşartî ve radigire, lê belê hûrgilîyan diveşêre
+        setting_use_pending_items: Li şûna ku herkê wek bixweber bizivirînî nûvekirina demnameyê li paş tikandinekî veşêre
+        username: Navê te yê bikarhênerî li ser %{domain} de bêhempa be
+        whole_word: Dema peyvkilîd an jî hevok bi tenê alfahejmarî çêbe, bi tenê hemû bêjeyê re li hev bike wê pêk bê
       domain_allow:
-        domain: ئەم دۆمەینە دەتوانێت دراوە لە ئەم ڕاژە وەربگرێت و دراوەی ئەم دۆمەینە لێرە ڕێکدەخرین و پاشکەوت دەکرێن
+        domain: Ev navê navperê, ji vê rajekarê wê daneyan bistîne û daneyên ku jê bê wê were sazkirin û veşartin
       email_domain_block:
-        with_dns_records: هەوڵێک بۆ چارەسەرکردنی تۆمارەکانی DNSی دۆمەین دراوە کە ئەنجامەکان بلۆک دەکرێت
+        domain: Ev dikare bibe navê navparek ku di navnîşana e-nameyê de an tomara MX ya ku ew bi kar tîne de xuya dike. Ew ê di dema tomarkirinê de werin kontrolkirin.
+        with_dns_records: Hewl tê dayîn ku tomarên DNSê yên li qada jê re hatine dayîn were çareserkirin û encamên wê jî were astengkirin
       featured_tag:
-        name: 'لەوانەیە بتەوێت یەکێک لەمانە بەکاربهێنیت:'
+        name: 'Belkî tu yekê bi kar bînî çi van:'
       form_challenge:
-        current_password: تۆ دەچیتە ناو ناوچەی پارێزراو
+        current_password: Tu dikevî qadeke ewledar
       imports:
-        data: فایلی CSV هەناردەکراوە لە ڕاژەیەکی تری ماستۆدۆن
+        data: Pelê CSV-ê ji rajekareke din a Mastodon hate derxistin
       invite_request:
-        text: ئەمە یارمەتیمان دەدات بۆ پێداچوونەوەی بەرنامەکەت
+        text: Ev ê alikariya me bikê bo nirxandina sepanê te
       ip_block:
-        comment: دڵخوازە. لەبیرتە بۆچی ئەم یاسایەت زیاد کرد.
-        expires_in: ناونیشانی IP سەرچاوەی سنوردارن، هەندێک جار هاوبەشکراون و زۆر جار دەستەکان دەگۆڕن. لەبەر ئەم هۆیە، بلۆکی IP بێ نەناسراو پێشنیار نەکراوە.
-        ip: ناونیشانی IPv4 یان IPv6 تێبنووسە. دەتوانیت هەموو مەوداکان بلۆک بکەیت بە بەکارهێنانی داڕستانی CIDR. وریابە خۆت قفڵ مەکە!
+        comment: Bi dilê xwe ye. Ji bîr neke te çima ev bîranînê lê zêde kiriye.
+        expires_in: Navnîşanên IPyan çavkaniyên bi sînor in, carinan dihê parvekirin lê pirî caran dest diguherîne. Ji bo vê blokên IP ên nediyar nayê pêşniyarkirin.
+        ip: Têkeve navnîşana IPv4 an jî IPv6'yek. Tu dikarî bi hevoksazî ya CIDR re hemî valahîyan asteng bikî. Hay ji xwe hebe ku xwe derve nehêle!
         severities:
-          no_access: بلۆککردنی گەیشتن بە هەموو سەرچاوەکان
-          sign_up_requires_approval: نوێ ناوتۆمارکردن پێویستی بە ڕەزامەندی تۆیە
-        severity: هەڵبژێرە چی ڕوودەدات لەگەڵ داواکاریەکانی ئەم IP
+          no_access: Gihîştina hemî çavkaniyan asteng bike
+          sign_up_requires_approval: Tomarkirinên nû de pejirandina te pêwîste
+        severity: Daxwazên ku ji vê IPyê tên dê çi bibe hilbijêre
+      rule:
+        text: Ji bo bikarhênerên li ser vê rajekarê rêzikek an jî pêdivîyê pênase bike. Hewl bide ku rêzikê kin û xwerû bigire
       sessions:
-        otp: 'کۆدی دوو-فاکتۆر بنووسە کە لەلایەن ئەپی تەلەفۆنەکەتەوە دروست کراوە یان یەکێک لە کۆدەکانی هێنانەوەی خۆت بەکاربهێنە:'
-        webauthn: ئەگەر کلیلی USB بێت دڵنیابە لە تێکردنی و ئەگەر پێویست بوو، لێیبدە.
+        otp: 'Koda du-gavî a telefona xwe têkevê an jî yek ji wan kodên xilaskirinê têkevê:'
+        webauthn: Heke kilîta USB-yê be, jê ewle be ku wê têxinê û heke pêdivî be, pê li wê bike.
       tag:
-        name: ئێوە دەتوانن گەورەیی و بجکۆلیی پیتەکان دەستکاری بکەن تاکوو خوێنەوارتر دیاربن
+        name: Tîpan, mînak ji bo ku bêhtir paknivîs bibe, tenê rewşa tîpên girdek/hûrdek dikarî biguherînî
       user:
-        chosen_languages: کاتێک چاودێری کرا، تەنها توتەکان بە زمانە دیاریکراوەکان لە هێڵی‌کاتی گشتی پیشان دەدرێت
+        chosen_languages: Dema were nîşankirin, tenê parvekirinên bi zimanên hilbijartî dê di rêzikên giştî de werin nîşandan
     labels:
       account:
         fields:
-          name: ناونیشان
-          value: ناوەڕۆک
+          name: Nîşan
+          value: Naverok
       account_alias:
-        acct: چارەسەرکردنی هەژمارە کۆنەکە
+        acct: Destika ajimêrê te yê kevn
       account_migration:
-        acct: چارەسەرکردنی هەژمارە نوێکە
+        acct: Destika ajimêrê te yê nû
       account_warning_preset:
-        text: دەقی پێشوەختی ڕێکخستن
-        title: سەردێڕ
+        text: Nivîsa pêşsazkirî
+        title: Sernav
       admin_account_action:
-        include_statuses: لەخۆگرتنی توتەکانی گوزارشت لە ئیمەیل
-        send_email_notification: بەکارهێنەر ئاگادار بکەوە بۆ هەر ئیمەیڵێک
-        text: ئاگاداری تایبەتمەند
-        type: کردار
+        include_statuses: Şandiyên hatine ragihandinê jî têxe nav e-name yê
+        send_email_notification: Bikarhênerê bi e-name yê agahdar bike
+        text: Agahdarî ya kesane
+        type: Çalakî
         types:
-          disable: بەستن
-          none: ناردنی ئاگاداری
-          sensitive: هەستیار
-          silence: سنوور
-          suspend: ڕاگرتن
-        warning_preset_id: بەکاهێنانی ئاگاداری پێش وەختە
+          disable: Qerisî ye
+          none: Hişyariyek bişîne
+          sensitive: Hestiyar
+          silence: Bi sînor bike
+          suspend: Hatiye rawestandin
+        warning_preset_id: Hişyariyeke pêşsazkirî bi kar bîne
       announcement:
-        all_day: ڕووداوی هەموو ڕۆژەکە
-        ends_at: کۆتایی ڕووداو
-        scheduled_at: بڵاوکراوەکە خشتە بکە
-        starts_at: دەستپێکردنی ڕووداو
-        text: بانگەواز
+        all_day: Çalakiya tevahiya rojê
+        ends_at: Dawiya bûyerê
+        scheduled_at: Weşanê demsaz bike
+        starts_at: Destpêka bûyerê
+        text: Daxuyanî
+      appeal:
+        text: Şîrove bike çima divê ev biryar were berovajîkirin
       defaults:
-        autofollow: بانگهێشت کردن بۆ شوێنکەوتنی هەژمارەکەت
-        avatar: وێنۆچکە
-        bot: ئەمە هەژمارێکی ساختەیە
-        chosen_languages: پاڵاوتنی زمانەکان
-        confirm_new_password: پشتڕاستکردنەوەی تێپەڕوشەی نوێ
-        confirm_password: پشتڕاستکردنەوەی تێپەڕوشە
-        context: چوارچێوەی پاڵافتن
-        current_password: تێپەروشەی ئێستا
-        data: دراوه
-        discoverable: ئەم هەژمێرە لە پێرستی بژاردەی بەکارهێنەران نیشان بدە
-        display_name: ناوی پیشاندان
-        email: ناونیشانی ئیمەیڵ
-        expires_in: بەسەردەچێت پاش
-        fields: مێتاداتای پرۆفایل
-        header: سەرپەڕە
-        inbox_url: بەستەری سندوقی گواستنەوەی
-        irreversible: فرێدان لەجیاتی شاردنەوە
-        locale: زمانی پەڕەی بەکارهێنەر
-        locked: داخستنی هەژمارە
-        max_uses: زۆرترین ژمارەی بەکاربەرەکان
-        new_password: تێپەروشەی نوێ
-        note: دەربارەی ئیوە
-        otp_attempt: کۆدی دووقۆناغی هاتنەژوور
-        password: تێپەڕوشە
-        phrase: وشەکلیل یان دەستەواژە
-        setting_advanced_layout: چالاککردنی ڕووکاری وێبی پێشکەوتوو
-        setting_aggregate_reblogs: گرووپی توتەکان یەکبخە
-        setting_auto_play_gif: خۆکاربەخشکردنی GIFــەکان
-        setting_boost_modal: پیشاندانی دیالۆگی دووپاتکردنەوە پێش دوبارە توتاندن
-        setting_crop_images: لە تووتی نەکراوە،وینەکان لە ئەندازی ۱٦×۹ ببڕە
-        setting_default_language: زمانی نووسراوەکانتان
-        setting_default_privacy: چوارچێوەی تایبەتێتی ئێوە
-        setting_default_sensitive: هەمیشە نیشانکردنی میدیا وەک هەستیار
-        setting_delete_modal: نیساندانی پەیامی پەسەند کردن پاش سڕینەوە
-        setting_disable_swiping: جوڵەی سڕینەوە لە کاربخە
-        setting_display_media: پیشاندانی میدیا
-        setting_display_media_default: بنەڕەت
-        setting_display_media_hide_all: شاردنەوەی هەموو
-        setting_display_media_show_all: هەموو نیشان بدە
-        setting_expand_spoilers: هەمیشە ئەو توتانەی کە بە ئاگادارکردنەوەکانی ناوەڕۆکەوە نیشانەکراون، پیسان بدە
-        setting_hide_network: شاردنەوەی تۆڕەکەت
-        setting_noindex: داوا لە مەکینەی گەڕان بۆ پیشاننەدان لە دەئەنجامی گەڕانەکان
-        setting_reduce_motion: کەمکردنەوەی جوڵە لە ئەنیمەکان
-        setting_show_application: ئاشکراکردنی ئەپەکان بۆ ناردنی توتەکان
-        setting_system_font_ui: فۆنتی بنەڕەتی سیستەم بەکاربهێنە
-        setting_theme: ڕووکاری ماڵپەڕ
-        setting_trends: پیشاندانی نووسراوە بەرچاوکراوەی ئەمڕۆ
-        setting_unfollow_modal: پیشاندانی پەیامی پەسەندکردن پێش شوێن‌نەکەوتنی کەسێک
-        setting_use_blurhash: بەجیاتی وینەی داشاراوە، سێبەری ڕەنگاوڕەنگ نیشان بدە
-        setting_use_pending_items: دۆخی خاو
-        severity: ئاستی گرنگی
-        sign_in_token_attempt: کۆدی پاراستن
-        type: جۆری هاوردەکردن
-        username: ناوی بەکارهێنەر
-        username_or_email: ناوی بەکاهێنەر یان ئیمەیڵ
-        whole_word: هەموو وشەکە
+        autofollow: Ji bo şopandina ajimêra xwe vexwîne
+        avatar: Wêne
+        bot: Ev ajimêrekî bot e
+        chosen_languages: Parzûnê zimanan
+        confirm_new_password: Peborîna nû bipejirîne
+        confirm_password: Peborîn bipejirîne
+        context: Parzûnê naverokan
+        current_password: Pêborîna heyî
+        data: Dane
+        discoverable: Ji yên din re ajimêrê pêşniyar bike
+        display_name: Navê nîşandanê
+        email: Navnîşana E-nameyê
+        expires_in: Dîroka xilasbûyînê
+        fields: Profîla daneyên meta
+        header: Jormalper
+        honeypot: "%{label} (tijî neke)"
+        inbox_url: URLya guhêzkera wergirtî
+        irreversible: Li şûna veşartinê jê bibe
+        locale: Zimanê navrûyê
+        locked: Ajimêr qefl bike
+        max_uses: Hejmara bikaranîna herî zêde
+        new_password: Pêborîna nû
+        note: Jiyanname
+        otp_attempt: Koda du faktoran
+        password: Pêborîn
+        phrase: Peyvkilîd an jî hevok
+        setting_advanced_layout: Navrûya tevnê yê pêşketî çalak bike
+        setting_aggregate_reblogs: Di demnameyê de şandiyên bilindkirî kom bike
+        setting_auto_play_gif: GIF ên livok bi xweber bilîzine
+        setting_boost_modal: Gotûbêja pejirandinê nîşan bide berî ku şandî werê bilindkirin
+        setting_crop_images: Wêneyên di nav şandiyên ku nehatine berfireh kirin wek 16×9 jê bike
+        setting_default_language: Zimanê weşanê
+        setting_default_privacy: Ewlehiya weşanê
+        setting_default_sensitive: Her dem medya wek hestyar bide nîşan
+        setting_delete_modal: Berî ku peyamek were jêbirin, gotûbêja pejirandinê nîşan bide
+        setting_disable_swiping: Tevgerên dişiqite ne çalak bike
+        setting_display_media: Nîşandana medyayê
+        setting_display_media_default: Berdest
+        setting_display_media_hide_all: Hemûyan veşêre
+        setting_display_media_show_all: Hemûyan nîşan bide
+        setting_expand_spoilers: Şandîyên ku bi agahdarîyên naverokê va hatine nîşankirin her dem berfireh bike
+        setting_hide_network: Grafîka xwe ya civakî veşêre
+        setting_noindex: Bes e nexe di nav rêzên lêgerîna gerokan
+        setting_reduce_motion: Lîstikên livoka kêm bike
+        setting_show_application: Sepana ku ji bo şandina toot'a tê bikaranîn diyar bike
+        setting_system_font_ui: Curenivîsa berdest a pergalê bi kar bîne
+        setting_theme: Rûkarê malperê
+        setting_trends: Rojeva îro nîşan bide
+        setting_unfollow_modal: Gotûbêja pejirandinê nîşan bide berî ku dev ji şopa kesekî tê berdan
+        setting_use_blurhash: Ji bo medyaya veşartî de gradyanên rengîn nîşan bike
+        setting_use_pending_items: Awayê hêdî
+        severity: Asta girîngiyê
+        sign_in_token_attempt: Koda ewlehiyê
+        type: Cureya têxistinê
+        username: Navê bikarhêneriyê
+        username_or_email: Navê bikarhêner an jî e-name
+        whole_word: Hemû peyv
       email_domain_block:
-        with_dns_records: لەخۆگرتنی تۆمارەکانی MX و ئای پییەکانی دۆمەین
+        with_dns_records: Tomarên MX û IP yên hundirê navper lê zêde bike
       featured_tag:
-        name: هەشتاگ
+        name: Hashtag
       interactions:
-        must_be_follower: قەپاتکردنی ئاگانامەکان بێجگە لە شوێنکەوتووان
-        must_be_following: بەئاگانامەکان بلۆک بکە لە خەڵکێک کە پەیڕەویان ناکەیت
-        must_be_following_dm: پەیامەکانی ڕاستەوخۆ بلۆک بکە لەو کەسانەی کە، پەیڕەوی ناکەن
+        must_be_follower: Danezanên ji kesên ku ne şopînerên min tên asteng bike
+        must_be_following: Agahdariyan asteng bike ji kesên ku tu wan naşopînî
+        must_be_following_dm: Peyamên rasterast asteng bike ji kesên ku tu wan naşopînî
       invite:
-        comment: بۆچوون
+        comment: Şîrove
       invite_request:
-        text: بۆچی دەتەوێت بەشدار بیت?
+        text: Tu çima dixwazî beşdar bibî?
       ip_block:
-        comment: بۆچوون
+        comment: Şîrove
+        ip: IP
         severities:
-          no_access: بلۆککردنی ده‌ستپێگه‌یشتن
-          sign_up_requires_approval: سنووردارکردنی چوونەناو
-        severity: یاسا
+          no_access: Gihîştinê asteng bike
+          sign_up_requires_approval: Tomaran sînordar bike
+        severity: Rêbaz
       notification_emails:
-        digest: کورتکردنی ئاگادارییکەن لەیەک ئیمەیل
-        favourite: کەسێک دۆخی تۆی بەدڵ بوو
-        follow: کەسێک دوای تۆ کەوت
-        follow_request: کەسێک داوای کردووە کە بەدوات بکەوێت
-        mention: کەسێک باسی کردووی
-        pending_account: هەژمارەی نوێ پێویستی بە پێداچوونەوەهەیە
-        reblog: کاتێک کەسێک نووسراوەی ئێوە دووبارە توت دەکاتەوە
+        appeal: Kesek îtîrazê biryara çavdêr dike
+        digest: Kurte e-name bişîne
+        favourite: Kesekî şandiya te hez kir
+        follow: Kesekî te şopand
+        follow_request: Kesekî daxwaz kir bo şopandina te
+        mention: Kesekî qale te kir
+        pending_account: Pewîste ku ajimêra nû bihê lêkolînkirin
+        reblog: Kesekî şandiya te bilind kir
+        report: Ragihandina nû hate şandin
+        trending_tag: Rojeva nû pêdivî nirxandinê ye
+      rule:
+        text: Rêbaz
       tag:
-        listable: ڕیگەبدە ئەم هاشتاگە لە پێرستی هەڵبژاردەی بەکارهێنەران و پەڕەی گەڕان نیشان بدرێت
-        name: هەشتاگ
-        trendable: ڕێگەبدە ئەم هەشتاگە لە نووسراوەی بەرچاوکراو نیسان بدرێت
-        usable: ڕێگەبدە بە توتەکان بۆ بەکارهێنانی ئەم هەشتاگە
-    'no': نە
-    recommended: پێشنیارکراوە
+        listable: Bihêle ku ev hashtag werê xuyakirin di lêgerîn û pêşniyaran de
+        name: Hashtag
+        trendable: Bihêle ku ev hashtag werê xuyakirin di bin rojevê de
+        usable: Bihêle ku şandî ev hashtag bi kar bînin
+    'no': Na
+    recommended: Pêşniyarkirî
     required:
-      text: پێویستە
+      mark: "*"
+      text: pêdivî ye
     title:
       sessions:
-        webauthn: یەکێک لە کلیلەکانی پاراستن بەکاربهێنە بۆ چوونە ژوورەوە
-    'yes': بەڵێ
+        webauthn: Yek ji kilîtên ewlehiyê yên xwe bi kar bîne bo têketinê
+    'yes': Erê
diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml
index ee844e166..6f466fba8 100644
--- a/config/locales/simple_form.lv.yml
+++ b/config/locales/simple_form.lv.yml
@@ -37,8 +37,7 @@ lv:
         current_password: Drošības nolūkos, lūdzu, ievadi pašreizējā konta paroli
         current_username: Lai apstiprinātu, lūdzu, ievadi pašreizējā konta paroli
         digest: Sūta tikai pēc ilgstošas neaktivitātes un tikai tad, ja savas prombūtnes laikā neesi saņēmis personiskas ziņas
-        discoverable: Ļauj svešiniekiem atklāt savu kontu caur ieteikumiem, profila direktoriju un citām iespējām
-        discoverable_no_directory: Ļauj svešiniekiem atklāt savu kontu caur ieteikumiem un citām iespējām
+        discoverable: Ļauj svešiniekiem atklāt savu kontu caur ieteikumiem, tendencēm un citām iespējām
         email: Tev tiks nosūtīts apstiprinājuma e-pasts
         fields: Savā profilā kā tabulu vari parādīt līdz 4 vienumiem
         header: PNG, GIF vai JPG. Ne vairāk kā %{size}. Tiks samazināts līdz %{dimensions}px
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index 0b165e464..56a3f2b76 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -35,7 +35,6 @@ nl:
         current_password: Voer voor veiligheidsredenen het wachtwoord van je huidige account in
         current_username: Voer ter bevestiging de gebruikersnaam van je huidige account in
         digest: Wordt alleen na een lange periode van inactiviteit verzonden en alleen wanneer je tijdens jouw afwezigheid persoonlijke berichten hebt ontvangen
-        discoverable: De gebruikersgids is een andere manier waarmee jouw account een groter publiek kan bereiken
         email: Je krijgt een bevestigingsmail
         fields: Je kan maximaal 4 items als een tabel op je profiel weergeven
         header: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px
diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml
index 6eb74b3a2..25bc156e1 100644
--- a/config/locales/simple_form.nn.yml
+++ b/config/locales/simple_form.nn.yml
@@ -35,7 +35,6 @@ nn:
         current_password: For sikkerhetsgrunner, vennligst oppgi passordet til den nåværende bruker
         current_username: Skriv inn brukarnamnet til den noverande kontoen for å stadfesta
         digest: Kun sendt etter en lang periode med inaktivitet og bare dersom du har mottatt noen personlige meldinger mens du var borte
-        discoverable: Profilmappen er en annen måte for kontoen din å nå et bredere publikum på
         email: Du får snart ein stadfestings-e-post
         fields: Du kan ha opptil 4 gjenstander vist som en tabell på profilsiden din
         header: PNG, GIF eller JPG. Maksimalt %{size}. Minkast til %{dimensions}px
diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml
index 94e185c36..6d09fb788 100644
--- a/config/locales/simple_form.no.yml
+++ b/config/locales/simple_form.no.yml
@@ -35,7 +35,6 @@
         current_password: For sikkerhetsgrunner, vennligst oppgi passordet til den nåværende bruker
         current_username: For å bekrefte, vennligst skriv inn brukernavnet til den nåværende kontoen
         digest: Kun sendt etter en lang periode med inaktivitet og bare dersom du har mottatt noen personlige meldinger mens du var borte
-        discoverable: Profilmappen er en annen måte for kontoen din å nå et bredere publikum på
         email: Du vil bli tilsendt en bekreftelses-E-post
         fields: Du kan ha opptil 4 gjenstander vist som en tabell på profilsiden din
         header: PNG, GIF eller JPG. Maksimalt %{size}. Vil bli nedskalert til %{dimensions}px
diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml
index c5bacf096..1773218a5 100644
--- a/config/locales/simple_form.oc.yml
+++ b/config/locales/simple_form.oc.yml
@@ -29,7 +29,6 @@ oc:
         current_password: Per de rasons de seguretat volgatz picar lo senhal del compte actual
         current_username: Per confirmar, volgatz picar lo nom d’utilizaire del compte actual
         digest: Solament enviat aprèp un long moment d’inactivitat e solament s’avètz recebut de messatges personals pendent vòstra abséncia
-        discoverable: L’annuari de perfiles es un biais mai per que vòstre compte aja una audiéncia mai granda
         email: Vos mandarem un corrièl de confirmacion
         fields: Podètz far veire cap a 4 elements sus vòstre perfil
         header: PNG, GIF o JPG. Maximum %{size}. Serà retalhada en %{dimensions}px
diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml
index 43c873a06..e4f328e30 100644
--- a/config/locales/simple_form.pl.yml
+++ b/config/locales/simple_form.pl.yml
@@ -35,8 +35,6 @@ pl:
         current_password: Ze względów bezpieczeństwa wprowadź hasło obecnego konta
         current_username: Aby potwierdzić, wprowadź nazwę użytkownika obecnego konta
         digest: Wysyłane tylko po długiej nieaktywności, jeżeli w tym czasie otrzymaleś jakąś wiadomość bezpośrednią
-        discoverable: Katalog profilu jest jednym ze sposobów, dzięki którym Twoje konto dotrze do szerszego grona
-        discoverable_no_directory: Pozwól na odkrywanie Twojego konta przez nieznajomych poprzez rekomendacje i inne funkcje
         email: Otrzymasz e-mail potwierdzający
         fields: Możesz ustawić maksymalnie 4 niestandardowe pola wyświetlane jako tabela na Twoim profilu
         header: PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 7ab3604c4..4260723c4 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -35,8 +35,6 @@ pt-BR:
         current_password: Para fins de segurança, por favor, digite a senha da conta atual
         current_username: Para confirmar, por favor, digite o nome de usuário da conta atual
         digest: Enviado apenas após um longo período de inatividade com um resumo das menções recebidas durante ausência
-        discoverable: O diretório de perfis é outra maneira de sua conta alcançar um público maior
-        discoverable_no_directory: Permitir que sua conta seja visível para desconhecidos através de recomendações e outras funcionalidades
         email: Você receberá um e-mail de confirmação
         fields: Você pode ter até 4 itens mostrados em forma de tabela no seu perfil
         header: PNG, GIF or JPG. Arquivos de até %{size}. Serão redimensionados para %{dimensions}px
diff --git a/config/locales/simple_form.pt-PT.yml b/config/locales/simple_form.pt-PT.yml
index a9f3a5a45..19f5d180f 100644
--- a/config/locales/simple_form.pt-PT.yml
+++ b/config/locales/simple_form.pt-PT.yml
@@ -37,8 +37,7 @@ pt-PT:
         current_password: Para fins de segurança, por favor, introduza a palavra-passe da conta atual
         current_username: Para confirmar, por favor, introduza o nome de utilizador da conta atual
         digest: Enviado após um longo período de inatividade e apenas se foste mencionado na tua ausência
-        discoverable: O diretório de perfis é outra maneira da sua conta alcançar um público mais vasto
-        discoverable_no_directory: Permitir que a sua conta seja descoberta por estranhos através de recomendações e outras funções
+        discoverable: Permitir que a sua conta seja descoberta por outros através de recomendações, destaques e outras funções
         email: Será enviado um e-mail de confirmação
         fields: Pode ter até 4 itens expostos, em forma de tabela, no seu perfil
         header: PNG, GIF or JPG. Arquivos até %{size}. Vão ser reduzidos para %{dimensions}px
diff --git a/config/locales/simple_form.ro.yml b/config/locales/simple_form.ro.yml
index f4e0416ca..9f298f384 100644
--- a/config/locales/simple_form.ro.yml
+++ b/config/locales/simple_form.ro.yml
@@ -29,7 +29,6 @@ ro:
         current_password: În scopuri de securitate, vă rugăm să introduceţi parola contului curent
         current_username: Pentru a confirma, vă rugăm să introduceţi numele de utilizator al contului curent
         digest: Este trimis doar după o lungă perioadă de inactivitate și numai dacă primești mesaje personale în perioada de absență
-        discoverable: Directorul de profil este un alt mod prin care contul tău poate ajunge la un public mai larg
         email: Vei primi un e-mail de confirmare
         fields: Poti afișa pană la maxim 4 adrese sub formă de tabel pe pofilul tău
         header: PNG, GIF sau JPG. Cel mult %{size}. Vor fi redimensionate la %{dimensions}px
diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml
index 754d6c493..7748b0b0b 100644
--- a/config/locales/simple_form.ru.yml
+++ b/config/locales/simple_form.ru.yml
@@ -37,8 +37,7 @@ ru:
         current_password: В целях безопасности введите пароль текущей учётной записи
         current_username: Для подтверждения, пожалуйста, введите имя пользователя текущей учётной записи
         digest: Если вы долго не заглядывали, отправим вам дайджест событий, которые происходили в период вашего отсутствия.
-        discoverable: Каталог профилей это один из способов получить охват вашего профиля более обширной аудиторией.
-        discoverable_no_directory: Разрешить сторонним людям находить ваш профиль через рекомендации и прочие функции
+        discoverable: Разрешить другим людям находить ваш профиль через рекомендации, тренды и другие функции
         email: Вам будет отправлено электронное письмо с подтверждением.
         fields: В профиле можно отобразить до 4 пунктов в виде таблицы.
         header: Поддерживается PNG, GIF и JPG. Максимальный размер — %{size}. Будет уменьшена до %{dimensions}px.
@@ -201,6 +200,7 @@ ru:
           sign_up_requires_approval: Ограничить регистрации
         severity: Правило
       notification_emails:
+        appeal: Кто-то обжалует решение модератора
         digest: Присылать дайджест по e-mail
         favourite: Ваш пост добавили в избранное
         follow: Новый подписчик
@@ -208,6 +208,8 @@ ru:
         mention: Новое упоминание
         pending_account: Новая заявка на создание аккаунта
         reblog: Ваш пост продвинули
+        report: Новое обращение отправлено
+        trending_tag: Новый тренд требует рассмотрения
       rule:
         text: Правило
       tag:
diff --git a/config/locales/simple_form.sc.yml b/config/locales/simple_form.sc.yml
index 2a36c92c2..b894bc912 100644
--- a/config/locales/simple_form.sc.yml
+++ b/config/locales/simple_form.sc.yml
@@ -35,7 +35,6 @@ sc:
         current_password: Pro chistiones de seguresa inserta sa crae de intrada de su contu atuale
         current_username: Pro cunfirmare inserta su nòmine utente de su contu atuale
         digest: Imbiadu isceti a pustis de unu perìodu longu de inatividade, e isceti si as retzidu calicunu messàgiu personale cando non bi fias
-        discoverable: Permite chi su contu tuo potzat èssere iscobertu dae persones disconnotas pro mèdiu de cussìgios e àteras optziones
         email: As a retzire unu messàgiu eletrònicu de cunfirma
         fields: Podes tènnere finas a 4 elementos ammustrados in una tabella in su profilu tuo
         header: PNG, GIF o JPG. Màssimu %{size}. Ant a èssere iscaladas a %{dimensions}px
diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml
index d410e106a..5d42684c8 100644
--- a/config/locales/simple_form.sk.yml
+++ b/config/locales/simple_form.sk.yml
@@ -22,7 +22,6 @@ sk:
         current_password: Z bezpečtnostných dôvodov prosím zadaj heslo súčasného účtu
         current_username: Pre potvrdenie prosím zadaj prezývku súčasného účtu
         digest: Odoslané iba v prípade dlhodobej neprítomnosti, a len ak si obdržal/a nejaké osobné správy kým si bol/a preč
-        discoverable: Zoznam profilov predstavuje ďalšiu cestu akou tvoj účet môže dosiahnúť väčšie publikum
         email: Bude ti odoslaný potvrdzujúci email
         fields: Až štyri položky môžeš mať na svojom profile zobrazené vo forme tabuľky
         header: PNG, GIF, alebo JPG. Maximálne %{size}. Bude zmenšený na %{dimensions}px
diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml
index 5022947e5..2a2f3b4d5 100644
--- a/config/locales/simple_form.sl.yml
+++ b/config/locales/simple_form.sl.yml
@@ -74,6 +74,7 @@ sl:
         text: Prednastavljeno besedilo
         title: Naslov
       admin_account_action:
+        include_statuses: Vključi omenjene objave v e-sporočilo
         send_email_notification: Obvesti uporabnika po e-pošti
         text: Opozorilo po meri
         type: Dejanje
@@ -90,6 +91,8 @@ sl:
         scheduled_at: Načrtuj čas objave
         starts_at: Začetek dogodka
         text: Objava
+      appeal:
+        text: Razložite, zakaj bi morali to odločitev spremeniti
       defaults:
         autofollow: Povabite, da sledi vašemu računu
         avatar: Podoba
diff --git a/config/locales/simple_form.sq.yml b/config/locales/simple_form.sq.yml
index 07648c8b3..9dbb334b8 100644
--- a/config/locales/simple_form.sq.yml
+++ b/config/locales/simple_form.sq.yml
@@ -37,8 +37,7 @@ sq:
         current_password: Për qëllime sigurie, ju lutemi, jepni fjalëkalimin e llogarisë së tanishme
         current_username: Që ta ripohoni, ju lutemi, jepni emrin e përdoruesit të llogarisë së tanishme
         digest: I dërguar vetëm pas një periudhe të gjatë pasiviteti dhe vetëm nëse keni marrë ndonjë mesazh personal gjatë mungesës tuaj
-        discoverable: Drejtoria e profileve është një rrugë tjetër përmes së cilës llogaria juaj mund të mbërrijë te një publik më i gjerë
-        discoverable_no_directory: Lejojeni llogarinë tuaj të zbulohet nga të panjohur përmes rekomandimesh dhe veçorish të tjera
+        discoverable: Lejoni që llogaria juaj të zbulohet nga të huaj përmes rekomandimesh, gjërash në modë dhe veçorish të tjera
         email: Do t’ju dërgohet një email ripohimi
         fields: Te profili juaj mund të keni deri në 4 objekte të shfaqur si tabelë
         header: PNG, GIF ose JPG. E shumta %{size}. Do të ripërmasohet në %{dimensions}px
@@ -210,6 +209,7 @@ sq:
         pending_account: Llogaria e re lyp shqyrtim
         reblog: Dikush përforcoi gjendjen tuaj
         report: Parashtrohet raportim i ri
+        trending_tag: Për gjëra të reja në modë lypset shqyrtim
       rule:
         text: Rregull
       tag:
diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml
index c233c1c94..782a9cda2 100644
--- a/config/locales/simple_form.sv.yml
+++ b/config/locales/simple_form.sv.yml
@@ -31,7 +31,6 @@ sv:
         avatar: PNG, GIF eller JPG. Högst %{size}. Kommer att skalas ner till %{dimensions}px
         bot: Detta konto utför huvudsakligen automatiserade åtgärder och kanske inte övervakas
         digest: Skickas endast efter en lång period av inaktivitet och endast om du har fått några personliga meddelanden i din frånvaro
-        discoverable_no_directory: Tillåt att ditt konto kan ses genom rekommendationer och andra funktioner
         email: Du kommer att få ett bekräftelsemeddelande via e-post
         fields: Du kan ha upp till 4 objekt visade som en tabell på din profil
         header: PNG, GIF eller JPG. Högst %{size}. Kommer att skalas ner till %{dimensions}px
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index 89fc1a724..6557ecc4a 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -28,7 +28,7 @@ th:
         starts_at: ไม่จำเป็น ในกรณีที่ประกาศของคุณผูกไว้กับช่วงเวลาที่เฉพาะเจาะจง
         text: คุณสามารถใช้ไวยากรณ์โพสต์ โปรดระวังพื้นที่ที่ประกาศจะใช้ในหน้าจอของผู้ใช้
       appeal:
-        text: คุณสามารถอุทธรณ์การลงโทษได้เพียงครั้งเดียวเท่านั้น
+        text: คุณสามารถอุทธรณ์การดำเนินการได้เพียงครั้งเดียวเท่านั้น
       defaults:
         autofollow: ผู้คนที่ลงทะเบียนผ่านคำเชิญจะติดตามคุณโดยอัตโนมัติ
         avatar: PNG, GIF หรือ JPG สูงสุด %{size} จะถูกย่อขนาดเป็น %{dimensions}px
@@ -37,8 +37,7 @@ th:
         current_password: เพื่อวัตถุประสงค์ด้านความปลอดภัย โปรดป้อนรหัสผ่านของบัญชีปัจจุบัน
         current_username: เพื่อยืนยัน โปรดป้อนชื่อผู้ใช้ของบัญชีปัจจุบัน
         digest: ส่งเฉพาะหลังจากไม่มีการใช้งานเป็นเวลานานและในกรณีที่คุณได้รับข้อความส่วนบุคคลใด ๆ เมื่อคุณไม่อยู่เท่านั้น
-        discoverable: อนุญาตให้คนแปลกหน้าค้นพบบัญชีของคุณได้ผ่านคำแนะนำ, ไดเรกทอรีโปรไฟล์ และคุณลักษณะอื่น ๆ
-        discoverable_no_directory: อนุญาตให้คนแปลกหน้าค้นพบบัญชีของคุณได้ผ่านคำแนะนำและคุณลักษณะอื่น ๆ
+        discoverable: อนุญาตให้คนแปลกหน้าค้นพบบัญชีของคุณได้ผ่านคำแนะนำ, แนวโน้ม และคุณลักษณะอื่น ๆ
         email: คุณจะได้รับอีเมลยืนยัน
         fields: คุณสามารถมีได้มากถึง 4 รายการแสดงเป็นตารางในโปรไฟล์ของคุณ
         header: PNG, GIF หรือ JPG สูงสุด %{size} จะถูกย่อขนาดเป็น %{dimensions}px
@@ -200,9 +199,10 @@ th:
         follow: ใครสักคนได้ติดตามคุณ
         follow_request: ใครสักคนได้ขอติดตามคุณ
         mention: ใครสักคนได้กล่าวถึงคุณ
-        pending_account: บัญชีใหม่ต้องมีการตรวจทาน
+        pending_account: บัญชีใหม่จำเป็นต้องมีการตรวจทาน
         reblog: ใครสักคนได้ดันโพสต์ของคุณ
         report: มีการส่งรายงานใหม่
+        trending_tag: แนวโน้มใหม่ต้องการการตรวจทาน
       rule:
         text: กฎ
       tag:
diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml
index cfe76f7de..d50825b0e 100644
--- a/config/locales/simple_form.tr.yml
+++ b/config/locales/simple_form.tr.yml
@@ -37,8 +37,7 @@ tr:
         current_password: Güvenlik nedeniyle lütfen şu anki hesabın parolasını girin
         current_username: Onaylamak için lütfen şu anki hesabın kullanıcı adını girin
         digest: Sadece uzun bir süre hareketsiz kaldıktan sonra ve yalnızca yokluğunuzda herhangi bir kişisel mesaj aldıysanız gönderilir
-        discoverable: Profil dizini, hesabınızın daha geniş bir kitleye ulaşmasının başka bir yoludur
-        discoverable_no_directory: Hesabınızın, öneriler ve diğer özellikler aracılığıyla yabancılar tarafından keşfedilmesine izin verin
+        discoverable: Hesabınızın öneriler, trendler ve diğer özellikler aracılığıyla yabancılar tarafından keşfedilmesine izin verin
         email: Onay e-postası gönderilir
         fields: Profilinizde tablo olarak görüntülenen en fazla 4 ögeye sahip olabilirsiniz
         header: PNG, GIF ya da JPG. En fazla %{size}. %{dimensions}px boyutuna küçültülecek
diff --git a/config/locales/simple_form.tt.yml b/config/locales/simple_form.tt.yml
index 1b1d034b3..d4e44c0db 100644
--- a/config/locales/simple_form.tt.yml
+++ b/config/locales/simple_form.tt.yml
@@ -17,6 +17,8 @@ tt:
         password: Парол
         setting_display_media_default: Töpcay
         username: Кулланучы исеме
+      featured_tag:
+        name: Хэштег
       invite:
         comment: Аңлатма
       ip_block:
diff --git a/config/locales/simple_form.uk.yml b/config/locales/simple_form.uk.yml
index 1701f57a9..bc3536672 100644
--- a/config/locales/simple_form.uk.yml
+++ b/config/locales/simple_form.uk.yml
@@ -35,8 +35,6 @@ uk:
         current_password: Для цілей безпеки, будь ласка, введіть пароль поточного облікового запису
         current_username: Для підтвердження, будь ласка, введіть ім'я користувача поточного облікового запису
         digest: Буде послано тільки після довгого періоду неактивності, та тільки якщо ви отримаєте персональне повідомлення у цей період
-        discoverable: Ще один шлях, за яким про вас можуть дізнатися користувачі — каталог профілів
-        discoverable_no_directory: Дозволити знаходити ваш обліковий запис стороннім людям за допомогою рекомендацій та інших можливостей
         email: Вам надійде електронний лист з підтвердженням
         fields: До 4 елементів може бути відображено як таблиця у вашому профілі
         header: PNG, GIF, або JPG. Максимум - %{size}. Буде зменшено до %{dimensions}px
diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml
index 034f8c3cd..7b09fcaf3 100644
--- a/config/locales/simple_form.vi.yml
+++ b/config/locales/simple_form.vi.yml
@@ -37,8 +37,7 @@ vi:
         current_password: Vì mục đích bảo mật, vui lòng nhập mật khẩu của tài khoản hiện tại
         current_username: Để xác nhận, vui lòng nhập tên người dùng của tài khoản hiện tại
         digest: Chỉ gửi sau một thời gian dài không hoạt động hoặc khi bạn nhận được tin nhắn (trong thời gian vắng mặt)
-        discoverable: Cho phép tài khoản của bạn xuất hiện trong gợi ý theo dõi và những tính năng khác
-        discoverable_no_directory: Cho phép mọi người tìm thấy tài khoản của bạn thông qua gợi ý theo dõi và các tính năng khác
+        discoverable: Cho phép tài khoản của bạn xuất hiện trong gợi ý theo dõi, xu hướng và những tính năng khác
         email: Bạn sẽ được gửi một email xác nhận
         fields: Được phép tạo tối đa 4 mục trên trang cá nhân của bạn
         header: PNG, GIF hoặc JPG. Kích cỡ tối đa %{size}. Sẽ bị nén xuống %{dimensions}px
@@ -49,7 +48,7 @@ vi:
         password: Dùng ít nhất 8 ký tự
         phrase: Sẽ được hiện thị trong văn bản hoặc cảnh báo nội dung của một tút
         scopes: API nào ứng dụng sẽ được phép truy cập. Nếu bạn chọn quyền hạn cấp cao nhất, bạn không cần chọn từng phạm vi.
-        setting_aggregate_reblogs: Nếu một tút đã được chia sẻ thì những lượt chia sẻ sau sẽ không hiển thị trên bảng tin nữa
+        setting_aggregate_reblogs: Nếu một tút đã được đăng lại thì những lượt đăng lại sau sẽ không hiển thị trên bảng tin nữa
         setting_default_sensitive: Mặc định là nội dung nhạy cảm và chỉ hiển thị nếu nhấn vào
         setting_display_media_default: Làm mờ những thứ được đánh dấu là nhạy cảm
         setting_display_media_hide_all: Không hiển thị
@@ -151,9 +150,9 @@ vi:
         password: Mật khẩu
         phrase: Từ khóa hoặc cụm từ
         setting_advanced_layout: Bật giao diện nhiều cột
-        setting_aggregate_reblogs: Không hiện lượt chia sẻ trùng lặp
+        setting_aggregate_reblogs: Không hiện lượt đăng lại trùng lặp
         setting_auto_play_gif: Tự động phát ảnh GIF
-        setting_boost_modal: Yêu cầu xác nhận trước khi chia sẻ tút
+        setting_boost_modal: Yêu cầu xác nhận trước khi đăng lại tút
         setting_crop_images: Hiển thị ảnh theo tỉ lệ 16x9
         setting_default_language: Ngôn ngữ đăng
         setting_default_privacy: Kiểu đăng
@@ -201,23 +200,23 @@ vi:
           sign_up_requires_approval: Giới hạn đăng ký
         severity: Mức độ
       notification_emails:
-        appeal: Có người khiếu nại quyết định kiểm duyệt
+        appeal: Ai đó kháng cáo kiểm duyệt
         digest: Gửi email định kỳ
         favourite: Ai đó thích tút của bạn
         follow: Ai đó theo dõi bạn
         follow_request: Ai đó yêu cầu theo dõi bạn
         mention: Ai đó nhắc đến bạn
-        pending_account: Tài khoản mới cần phê duyệt
-        reblog: Ai đó chia sẻ tút của bạn
-        report: Đã gửi báo cáo mới
-        trending_tag: Một xu hướng cần được xem xét
+        pending_account: Phê duyệt tài khoản mới
+        reblog: Ai đó đăng lại tút của bạn
+        report: Ai đó gửi báo cáo
+        trending_tag: Phê duyệt xu hướng mới
       rule:
         text: Quy tắc
       tag:
-        listable: Cho phép hashtag này xuất hiện trong tìm kiếm và đề xuất
+        listable: Cho phép xuất hiện trong tìm kiếm và đề xuất
         name: Hashtag
-        trendable: Cho phép hashtag này xuất hiện trong xu hướng
-        usable: Cho phép dùng hashtag này trong tút
+        trendable: Cho phép xuất hiện trong xu hướng
+        usable: Cho phép dùng trong tút
     'no': Tắt
     required:
       mark: "*"
diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml
index 67cfa758c..8cde113df 100644
--- a/config/locales/simple_form.zh-CN.yml
+++ b/config/locales/simple_form.zh-CN.yml
@@ -3,9 +3,9 @@ zh-CN:
   simple_form:
     hints:
       account_alias:
-        acct: 指定你想要迁移过来的原帐号:用户名@站点域名
+        acct: 指定你想要迁移过来的原账号:用户名@站点域名
       account_migration:
-        acct: 指定你想迁移过去的目标帐号:用户名@站点域名
+        acct: 指定你想迁移过去的目标账号:用户名@站点域名
       account_warning_preset:
         text: 你可以使用嘟文格式,例如加入 URL、话题标签和“@”
         title: 可选。对接收者不可见
@@ -37,8 +37,7 @@ zh-CN:
         current_password: 为了安全起见,请输入当前账号的密码
         current_username: 请输入当前账号的用户名以确认
         digest: 仅在你长时间未登录,且收到了私信时发送
-        discoverable: 用户目录能够让你的帐号广为人知
-        discoverable_no_directory: 允许别人通过推荐和其他途径发现你的账户
+        discoverable: 允许他人通过推荐、趋势和其他途径发现你的账户
         email: 我们会向你发送一封确认邮件
         fields: 这将会在个人资料页上以表格的形式展示,最多 4 个项目
         header: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 %{dimensions}px
@@ -97,7 +96,7 @@ zh-CN:
           name: 标签
           value: 内容
       account_alias:
-        acct: 处理旧帐号
+        acct: 处理旧账号
       account_migration:
         acct: 处理新账号
       account_warning_preset:
@@ -207,7 +206,7 @@ zh-CN:
         follow: 当有用户关注我时,发送电子邮件提醒我
         follow_request: 当有用户向我发送关注请求时,发送电子邮件提醒我
         mention: 当有用户在嘟文中提及我时,发送电子邮件提醒我
-        pending_account: 在有帐号需要审核时,发送电子邮件提醒我
+        pending_account: 在有账号需要审核时,发送电子邮件提醒我
         reblog: 当有用户转嘟了我的嘟文时,发送电子邮件提醒我
         report: 新举报已提交
         trending_tag: 新趋势待审核
diff --git a/config/locales/simple_form.zh-HK.yml b/config/locales/simple_form.zh-HK.yml
index 5b38b1ee2..9fdb59a6e 100644
--- a/config/locales/simple_form.zh-HK.yml
+++ b/config/locales/simple_form.zh-HK.yml
@@ -35,8 +35,6 @@ zh-HK:
         current_password: 基於保安緣故,請輸入目前帳號的密碼
         current_username: 請輸入目前帳戶的使用者名稱以確認
         digest: 僅在你長時間未登錄,且收到了私信時發送
-        discoverable: 個人資料目錄可以讓你的帳號更廣為人知
-        discoverable_no_directory: 允許他人通過推薦與其他功能探索你的賬號
         email: 你將收到一封確認電郵
         fields: 個人資料頁可顯示多至 4 個項目
         header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px
diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml
index c8cafb3af..b69678e3d 100644
--- a/config/locales/simple_form.zh-TW.yml
+++ b/config/locales/simple_form.zh-TW.yml
@@ -37,8 +37,7 @@ zh-TW:
         current_password: 因安全因素,請輸入目前帳戶的密碼
         current_username: 請輸入目前帳戶的使用者名稱以確認
         digest: 僅在你長時間未登入且在未登入期間收到私訊時傳送
-        discoverable: 加入個人資料目錄能接觸更多閱聽眾
-        discoverable_no_directory: 允許陌生人透過推薦與其他功能發現您的帳號
+        discoverable: 允許陌生人透過推薦、熱門趨勢及其他功能發現您的帳號
         email: 您將收到一封確認電子郵件
         fields: 您可在個人資料上有至多 4 個以表格形式顯示的項目
         header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會按比例縮小成 %{dimensions} 像素
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index f16283e2e..2405c5872 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -24,6 +24,7 @@ sk:
       Tento účet je virtuálnym aktérom, ktorý predstavuje samotný server a nie žiadného jedného užívateľa.
       Je využívaný pre potreby federovania a nemal by byť blokovaný, pokiaľ nechceš zablokovať celý server, čo ide lepšie dosiahnúť cez blokovanie domény.
     learn_more: Zisti viac
+    logout_before_registering: Už si prihlásený/á.
     privacy_policy: Zásady súkromia
     rules: Serverové pravidlá
     see_whats_happening: Pozoruj, čo sa deje
@@ -71,7 +72,6 @@ sk:
     media: Médiá
     moved_html: "%{name} účet bol presunutý na %{new_profile_link}:"
     network_hidden: Táto informácia nieje k dispozícii
-    never_active: Nikdy
     nothing_here: Nič tu nie je!
     people_followed_by: Ľudia, ktorých %{name} sleduje
     people_who_follow: Ľudia sledujúci %{name}
@@ -289,7 +289,6 @@ sk:
       enable: Povoľ
       enabled: Povolené
       enabled_msg: Emoji bolo úspešne povolené
-      image_hint: PNG do 50KB
       list: Zoznam
       listed: V zozname
       new:
@@ -345,17 +344,6 @@ sk:
       reject_media_hint: Vymaže miestne uložené súbory médií a odmietne ich sťahovanie v budúcnosti. Nepodstatné pri vylúčení
       reject_reports: Zamietni hlásenia
       reject_reports_hint: Ignoruj všetky hlásenia prichádzajúce z tejto domény. Nevplýva na blokovania
-      rejecting_media: odmietanie médiálnych súborov
-      rejecting_reports: odmietanie hlásení
-      severity:
-        silence: stíšené
-        suspend: vylúčené
-      show:
-        retroactive:
-          silence: Zruš stíšenie všetkých momentálne utíšených účtov z tejto domény
-          suspend: Zruš suspendáciu všetkých momentálne ovplyvnených účtov z tejto domény
-        title: Zruš blokovanie domény %{domain}
-        undo: Vráť späť
       undo: Odvolaj blokovanie domény
       view: Ukáž blokovanie domén
     email_domain_blocks:
@@ -383,7 +371,6 @@ sk:
       delivery:
         all: Všetko
         unavailable: Nedostupné
-        warning: Upozornenie
       delivery_available: Je v dosahu doručovania
       moderation:
         all: Všetky
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index fea123d0b..6de760dbc 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -16,6 +16,7 @@ sl:
     contact: Kontakt
     contact_missing: Ni nastavljeno
     contact_unavailable: Ni na voljo
+    continue_to_web: Nadaljuj v spletno aplikacijo
     discover_users: Odkrijte uporabnike
     documentation: Dokumentacija
     federation_hint_html: Z računom na %{instance} boste lahko spremljali ljudi na kateremkoli Mastodon strežniku.
@@ -25,6 +26,8 @@ sl:
       Ta račun je navidezni igralec, ki predstavlja strežnik in ne posameznega uporabnika.
       Uporablja se za namene federacije in se ne blokira, če ne želite blokirati celotne instance. V tem primeru blokirajte domeno.
     learn_more: Nauči se več
+    logged_in_as_html: Trenutno ste prijavljeni kot %{username}.
+    logout_before_registering: Ste že prijavljeni.
     privacy_policy: Pravilnik o zasebnosti
     rules: Pravila strežnika
     rules_html: 'Spodaj je povzetek pravil, ki jim morate slediti, če želite imeti račun na tem strežniku Mastodon:'
@@ -66,7 +69,6 @@ sl:
     media: Mediji
     moved_html: "%{name} se je prestavil na %{new_profile_link}:"
     network_hidden: Ta informacija ni na voljo
-    never_active: Nikoli
     nothing_here: Tukaj ni ničesar!
     people_followed_by: Ljudje, ki jim sledi %{name}
     people_who_follow: Ljudje, ki sledijo %{name}
@@ -209,6 +211,8 @@ sl:
         create_ip_block: Ustvari pravilo IP
         create_unavailable_domain: Ustvari domeno, ki ni na voljo
         destroy_announcement: Izbriši obvestilo
+        destroy_domain_allow: Izbriši odobritev domene
+        destroy_domain_block: Izbriši blokado domene
         destroy_ip_block: Izbriši pravilo IP
         destroy_status: Izbriši objavo
         disable_user: Onemogoči uporabnika
@@ -253,7 +257,7 @@ sl:
       enable: Omogoči
       enabled: Omogočeno
       enabled_msg: Ta emotikon je uspešno omogočen
-      image_hint: PNG do 50KB
+      image_hint: PNG ali GIF do %{size}
       list: Seznam
       listed: Navedeno
       new:
@@ -303,17 +307,6 @@ sl:
       reject_media_hint: Odstrani lokalno shranjene predstavnostne datoteke in zavrača prenašanje le-teh v prihodnosti. Za suspenzije ni pomembno
       reject_reports: Zavrnjene prijave
       reject_reports_hint: Prezri vse prijave, ki pridejo iz te domene. Za suspenzije ni pomembno
-      rejecting_media: zavrnitev predstavnostnih datotek
-      rejecting_reports: zavrnitev prijav
-      severity:
-        silence: utišani
-        suspend: suspendirani
-      show:
-        retroactive:
-          silence: Prekliči utišanje za vse obstoječe račune iz te domene
-          suspend: Aktiviraj vse obstoječe račune iz te domene
-        title: Razveljavi domenski blok za %{domain}
-        undo: Razveljavi
       undo: Razveljavi domenski blok
     email_domain_blocks:
       add_new: Dodaj novo
@@ -334,17 +327,39 @@ sl:
       language: Za jezik
       status: Stanje
     instances:
+      availability:
+        failure_threshold_reached: Prag neuspelih poskusov dosežen %{date}.
+        no_failures_recorded: Ni zabeleženih neuspelih poskusov.
+        title: Razpoložljivost
       back_to_all: Vse
       back_to_limited: Omejeno
       back_to_warning: Opozorilo
       by_domain: Domena
+      content_policies:
+        comment: Interna opomba
+        description_html: Določite lahko pravila (t.i. politike), ki bodo veljale za vse račune te domene ter vseh njenih poddomen.
+        policies:
+          reject_media: Zavrni večpredstavnost
+          reject_reports: Zarvni poročila
+          silence: Omeji
+          suspend: Suspendiraj
+        policy: Pravila
+        reason: Javni razlog
+        title: Pravila glede vsebine
+      dashboard:
+        instance_accounts_dimension: Najpogosteje sledeni računi
+        instance_accounts_measure: shranjenih računov
+        instance_followers_measure: naših sledilcev tukaj
+        instance_follows_measure: njihovih sledilcev tukaj
+        instance_languages_dimension: Naj jeziki
+        instance_media_attachments_measure: shranjenih predstavnostnih priponk
+        instance_reports_measure: poročil o njih
+        instance_statuses_measure: shanjenih objav
       delivery:
         all: Vse
         clear: Počisti napake dostave
         stop: Ustavi dostavo
-        title: Dostava
         unavailable: Ni na voljo
-        warning: Opozorilo
       delivery_available: Na voljo je dostava
       moderation:
         all: Vse
@@ -352,12 +367,14 @@ sl:
         title: Moderiranje
       private_comment: Zasebni komentar
       public_comment: Javni komentar
+      purge_description_html: Če menite, da je ta domena trajno nedosegljiva, lahko v svoji shrambi izbrišete vse zapise računov in povezane podatke iz te domene. To lahko vzame nekaj časa.
       title: Federacija
       total_blocked_by_us: Blokirano iz naše strani
       total_followed_by_them: Oni ti sledijo
       total_followed_by_us: Mi ti sledimo
       total_reported: Poročila o njih
       total_storage: Predstavnostne priloge
+      totals_time_period_hint_html: Spodaj prikazani seštevki vključujejo podatke za celotno obdobje.
     invites:
       deactivate_all: Onemogoči vse
       filter:
@@ -603,6 +620,7 @@ sl:
     status:
       account_status: Stanje računa
       confirming: Čakanje na potrditev e-pošte.
+      functional: Vaš račun je polno opravilen.
       pending: Naše osebje preverja vašo prijavo. To lahko traja nekaj časa. Če bo vaša prijava odobrena, boste prejeli e-pošto.
     trouble_logging_in: Težave pri prijavi?
     use_security_key: Uporabi varnostni ključ
@@ -951,7 +969,7 @@ sl:
       one: 'vsebuje nedovoljeni ključnik: %{tags}'
       other: 'vsebuje nedovoljenih ključnikov: %{tags}'
       two: 'vsebuje nedovoljena ključnika: %{tags}'
-    edited_at: Urejeno %{date}
+    edited_at_html: Urejeno %{date}
     open_in_web: Odpri na spletu
     over_character_limit: omejitev %{max} znakov je presežena
     pin_errors:
@@ -986,6 +1004,7 @@ sl:
       '2629746': 1 mesec
       '31556952': 1 leto
       '5259492': 2 meseca
+      '604800': 1 week
       '63113904': 2 leti
       '7889238': 3 mesece
     min_age_label: Starostna meja
@@ -1110,7 +1129,6 @@ sl:
         delete_statuses: Objave odstranjene
         disable: Račun je zamrznjen
         none: Opozorilo
-        sensitive: Mediji so skriti
         silence: Račun je omejen
         suspend: Račun je suspendiran
     welcome:
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index 2f1336336..a497ef81a 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -16,6 +16,7 @@ sq:
     contact: Kontakt
     contact_missing: I parregulluar
     contact_unavailable: N/A
+    continue_to_web: Vazhdoni te aplikacioni web
     discover_users: Zbuloni përdorues
     documentation: Dokumentim
     federation_hint_html: Me një llogari në %{instance}, do të jeni në gjendje të ndiqni persona në çfarëdo shërbyesi Mastodon dhe më tej.
@@ -25,6 +26,8 @@ sq:
       Kjo llogari është një aktor virtual i përdorur për të përfaqësuar vetë shërbyesin dhe jo ndonjë përdorues individual.
       Përdoret për qëllime federimi dhe s’duhet bllokuar, veç në daçi të bllokoni krejt instancën, me ç’rast do të duhej të përdornit bllokim përkatësie.
     learn_more: Mësoni më tepër
+    logged_in_as_html: Aktualisht jeni i futur si %{username}.
+    logout_before_registering: Jeni i futur tashmë.
     privacy_policy: Rregulla privatësie
     rules: Rregulla shërbyesi
     rules_html: 'Më poshtë keni një përmbledhje të rregullave që duhet të ndiqni, nëse doni të keni një llogari në këtë shërbyes Mastodon:'
@@ -69,7 +72,6 @@ sq:
     media: Media
     moved_html: "%{name} ka kaluar te %{new_profile_link}:"
     network_hidden: Këto të dhëna s’janë të passhme
-    never_active: Kurrë
     nothing_here: S’ka gjë këtu!
     people_followed_by: Persona të ndjekur nga %{name}
     people_who_follow: Persona që ndjekin %{name}
@@ -371,7 +373,6 @@ sq:
       enable: Aktivizoje
       enabled: I aktivizuar
       enabled_msg: Ai emoxhi u aktivizua me sukses
-      image_hint: PNG deri 50KB
       list: Vëre në listë
       listed: Në listë
       new:
@@ -448,21 +449,6 @@ sq:
       reject_media_hint: Heq kartela media të depozituara lokalisht dhe nuk pranon të shkarkohen të tilla në të ardhmen. Pa peshë për pezullimet
       reject_reports: Hidh tej raportimet
       reject_reports_hint: Shpërfillini krejt raportimet e ardhura nga kjo përkatësi. Pa peshë për pezullimet
-      rejecting_media: mospranim kartelash media
-      rejecting_reports: mospranim raportimesh
-      severity:
-        silence: e heshtuar
-        suspend: e pezulluar
-      show:
-        affected_accounts:
-          one: Pat ndikim te një llogari në bazën e të dhënave
-          other: Pat ndikim te %{count} llogari në bazën e të dhënave
-          zero: S’pat ndikim te ndonjë llogari në bazën e të dhënave
-        retroactive:
-          silence: Hiqu heshtimin krejt llogarive ekzistuese nga kjo përkatësi
-          suspend: Hiqu pezullimin krejt llogarive ekzistuese nga kjo përkatësi
-        title: Zhbëje bllokimin e përkatësisë për %{domain}
-        undo: Zhbëje
       undo: Zhbëje bllokimin e përkatësisë
       view: Shihni bllokim përkatësie
     email_domain_blocks:
@@ -492,23 +478,46 @@ sq:
       title: Rekomandime ndjekjeje
       unsuppress: Rikthe rekomandime ndjekjeje
     instances:
+      availability:
+        description_html:
+          one: Nëse dhënia e mesazheve te përkatësia dështon për <strong>%{count} ditë</strong> pa sukses, s’do të bëhen përpjekje të tjera për dhënie, veç në u marrtë një dërgim <em>prej</em> përkatësisë.
+          other: Nëse dhënia e mesazheve te përkatësia dështon për <strong>%{count} ditë</strong> pa sukses, s’do të bëhen përpjekje të tjera për dhënie, veç në u marrtë një dërgim <em>prej</em> përkatësisë.
+        failure_threshold_reached: U mbërrit në prag dështimesh më %{date}.
+        failures_recorded:
+          one: Përpjekje e dështuar në %{count} ditë.
+          other: Përpjekje e dështuar në %{count} ditë të ndryshme.
+        no_failures_recorded: S’ka dështime të regjistruara.
       back_to_all: Krejt
       back_to_limited: E kufizuar
       back_to_warning: Kujdes
       by_domain: Përkatësi
       confirm_purge: Jeni i sigurt se doni të fshihen përgjithmonë të dhënat prej kësaj përkatësie?
+      content_policies:
+        comment: Shënim i brendshëm
+        description_html: Mund të përkufizoni rregulla lënde që do të zbatohen mbi krejt llogaritë prej kësaj përkatësie dhe cilësdo nënpërkatësi të saj.
+        policies:
+          reject_media: Mos prano media
+          reject_reports: Hidh tej raportimet
+          silence: Kufizoje
+          suspend: Pezulloje
+        policy: Rregulla
+        reason: Arsye publike
+        title: Rregulla lënde
+      dashboard:
+        instance_accounts_dimension: Llogaritë më të ndjekura
+        instance_accounts_measure: llogari të depozituara
+        instance_followers_measure: ndjekës tanët atje
+        instance_follows_measure: ndjekës të tyre këtu
+        instance_languages_dimension: Gjuhë kryesuese
+        instance_media_attachments_measure: bashkëngjitje media të depozituara
+        instance_reports_measure: raportime rreth tyre
+        instance_statuses_measure: postime të depozituara
       delivery:
         all: Krejt
         clear: Spastro gabime dërgimi
         restart: Rinis dërgimin
         stop: Ndale dërgimin
-        title: Dërgim
         unavailable: Jo i passhëm
-        unavailable_message: Dërgim jo i passhëm
-        warning: Kujdes
-        warning_message:
-          one: Dështim dërgimi %{count} ditë
-          other: Dështim dërgimi %{count} ditë
       delivery_available: Ka shpërndarje të mundshme
       delivery_error_days: Ditë gabimi dështimi
       delivery_error_hint: Nëse dërgimi s’është i mundshëm për %{count} ditë, do t’i vihet shenjë automatikisht si i padërgueshëm.
@@ -525,12 +534,14 @@ sq:
       private_comment: Koment privat
       public_comment: Koment publik
       purge: Spastroje
+      purge_description_html: Nëse besoni se kjo përkatësi është përgjithnjë e mbyllur, mund të fshini prej hapësirës tuaj të depozitimit krejt regjistrimet dhe të dhëna të përshoqëruara me llogarinë. Kjo mund të zgjasë ca.
       title: Federim
       total_blocked_by_us: Bllokuar nga ne
       total_followed_by_them: Ndjekur prej tyre
       total_followed_by_us: Ndjekur nga ne
       total_reported: Raportime rreth tyre
       total_storage: Bashkëngjitje media
+      totals_time_period_hint_html: Vlerat e shfaqura më poshtë përfshijnë të dhënat për krejt kohën.
     invites:
       deactivate_all: Çaktivizoji krejt
       filter:
@@ -585,6 +596,7 @@ sq:
       action_taken_by: Veprimi i ndërmarrë nga
       actions:
         delete_description_html: Postimet e raportuara do të fshihen dhe do të regjistrohet një paralajmërim, për t’ju ndihmuar të përshkallëzoni hapat në rast shkeljesh të ardhme nga e njëjta llogari.
+        mark_as_sensitive_description_html: Media në postimet e raportuar do të shënohet si rezervat dhe do të regjistrohet një paralajmërim për t’ju ndihmuar ta shpini çështjen më tej, në rast shkeljesh të ardhshme nga e njëjta llogari.
         other_description_html: Shihni më tepër mundësi për kontroll të sjelljes së një llogari dhe përshtatni komunikimin me llogarinë e raportuar.
         resolve_description_html: Ndaj llogarisë së raportuar nuk do të ndërmerret ndonjë veprim, s’do të regjistrohet ndonjë paralajmërim dhe raporti do të mbyllet.
         silence_description_html: Profili do të jetë i dukshëm vetëm për ata që e ndjekin tashmë, ose që e kërkojnë dorazi, duke reduktuar rëndë përhapjen e tij. Mundet përherë të prapakthehet.
@@ -605,6 +617,7 @@ sq:
       forwarded: U përcoll
       forwarded_to: U përcoll te %{domain}
       mark_as_resolved: Vëri shenjë si i zgjidhur
+      mark_as_sensitive: Vëri shenjë si rezervat
       mark_as_unresolved: Vëri shenjë si të pazgjidhur
       no_one_assigned: Askush
       notes:
@@ -748,6 +761,7 @@ sq:
       actions:
         delete_statuses: "%{name} fshiu postime të %{target}"
         disable: "%{name} ngriu postime të %{target}"
+        mark_statuses_as_sensitive: "%{name} u vuri shenjë postimeve të %{target} si rezervat"
         none: "%{name} dërgoi një sinjalizim për %{target}"
         sensitive: "%{name} i vuri shenjë llogarisë së %{target} si rezervat"
         silence: "%{name} e kufizoi llogarinë %{target}"
@@ -773,6 +787,7 @@ sq:
       links:
         allow: Lejoje lidhjen
         allow_provider: Lejoje botuesin
+        description_html: Këto janë lidhje që ndahen aktualisht shumë me llogari prej të cilave shërbyesi juaj sheh postime. Mund të ndihmojë përdoruesit tuaj të gjejnë se ç’po ndodh në botë. S’shfaqen lidhje publikisht, deri sa të miratoni botuesin. Mundeni edhe të lejoni ose hidhni poshtë lidhje individuale.
         disallow: Hiq lejimin e lidhjes
         disallow_provider: Mos e lejo botuesin
         shared_by_over_week:
@@ -784,14 +799,21 @@ sq:
       pending_review: Në pritje të shqyrtimit
       preview_card_providers:
         allowed: Lidhje prej këtij botuesi mund të përdoren
+        description_html: Këto janë përkatësi prej të cilave ndahen shpesh lidhje në shërbyesin tuaj. Lidhjet nuk do të ofrohen publikisht, veç në u miratoftë përkatësia e lidhjes. Miratimi (ose hedhja poshtë) shtrihet edhe te nënpërkatësitë.
         rejected: Lidhje prej këtij botuesi s’do të përdoren
         title: Botues
       rejected: Hedhur poshtë
       statuses:
         allow: Lejo postim
         allow_account: Lejo autor
+        description_html: Këto janë postime të cilat shërbyesi juaj di se po ndahen shumë dhe po zgjidhen si të parapëlqyera për çastin. Mund të ndihmojnë përdoruesit tuaj të rinj dhe të riardhur të gjejnë më tepër vetë për të ndjekur. S’shfaqen postime publikisht, pa miratuar ju autorin dhe autori lejon që llogaria e tij t’u sugjerohet të tjerëve. Mundeni edhe të lejoni, ose hidhni, poshtë postime individuale.
         disallow: Mos lejo postim
         disallow_account: Mos lejo autor
+        not_discoverable: Autori s’ka zgjedhur të jetë i zbulueshëm
+        shared_by:
+          one: Ndarë me të tjerë, ose shënuar si e parapëlqyer një herë
+          other: Ndarë me të tjerë, ose shënuar si e parapëlqyer %{friendly_count} herë
+        title: Postime në modë
       tags:
         dashboard:
           tag_accounts_measure: përdorime unike
@@ -799,6 +821,7 @@ sq:
           tag_servers_dimension: Shërbyes kryesues
           tag_servers_measure: shërbyes të ndryshëm
           tag_uses_measure: përdorime gjithsej
+        description_html: Këta hashtag-ë aktualisht po shfaqen në një numër të madh postimesh që sheh shërbyesi juaj. Kjo mund të ndihmojë përdoruesit tuaj të gjejnë se për çfarë po flasin më shumë njerëzit aktualisht. Pa i miratuar ju, nuk shfaqen publikisht hashtag-ë.
         listable: Mund të sugjerohet
         not_listable: S’do të sugjerohet
         not_trendable: S’do të shfaqet nën të modës
@@ -824,6 +847,7 @@ sq:
       actions:
         delete_statuses: fshirje e postimeve të tij
         disable: ngrirje e llogarisë së tij
+        mark_statuses_as_sensitive: për ’i vënë shenjë postimeve të tyre si rezervat
         none: një vërejtje
         sensitive: vënie shenjë llogarisë së tij si rezervat
         silence: kufizim i llogarisë së tij
@@ -840,6 +864,16 @@ sq:
       subject: Raportim i ri për %{instance} (#%{id})
     new_trends:
       body: 'Gjërat vijuese lypin një shqyrtim, përpara se të mund të shfaqen publikisht:'
+      new_trending_links:
+        no_approved_links: Aktualisht s’ka lidhje në modë të miratuara.
+        title: Lidhje në modë
+      new_trending_statuses:
+        no_approved_statuses: Aktualisht s’ka postime në modë të miratuar.
+        title: Postime në modë
+      new_trending_tags:
+        no_approved_tags: Aktualisht s’ka hashtag-ë në modë të miratuar.
+        title: Hashtag-ë në modë
+      subject: Gjëra të reja në modë për shqyrtim te %{instance}
   aliases:
     add_new: Krijo alias
     created_msg: U krijua me sukses alias i ri. Tani mund të filloni lëvizjen prej llogarisë së vjetër.
@@ -913,8 +947,10 @@ sq:
     status:
       account_status: Gjendje llogarie
       confirming: Po pritet që të plotësohet ripohimi i email-it.
+      functional: Llogaria juaj është tërësisht funksionale.
       pending: Aplikimi juaj është në pritje të shqyrtimit nga stafi ynë. Kjo mund të dojë ca kohë. Nëse aplikimi juaj miratohet, do të merrni një email.
       redirecting_to: Llogaria juaj është joaktive, ngaqë aktualisht ridrejton te %{acct}.
+      view_strikes: Shihni paralajmërime të dikurshme kundër llogarisë tuaj
     too_fast: Formulari u parashtrua shumë shpejt, riprovoni.
     trouble_logging_in: Probleme me hyrjen?
     use_security_key: Përdor kyç sigurie
@@ -990,6 +1026,7 @@ sq:
         submit: Parashtroni apelim
       associated_report: Raportimi i përshoqëruar
       created_at: Datuar
+      description_html: Këto janë veprime të ndërmara kundër llogarisë tuaj dhe sinjalizime që ju janë dërguar nga stafi i %{instance}.
       recipient: Drejtuar
       status: "#%{id} postimi"
       status_removed: Postim i hequr tashmë nga sistemi
@@ -997,8 +1034,9 @@ sq:
       title_actions:
         delete_statuses: Heqje postimi
         disable: Ngrirje e llogarisë
+        mark_statuses_as_sensitive: Vënie shenjë postimeve si me spec
         none: Vërejtje
-        sensitive: Vënie shenjë llogarisë si rezervat
+        sensitive: Vënie shenjë llogarive si me spec
         silence: Kufizim llogarie
         suspend: Pezullim llogarie
       your_appeal_approved: Apelimi juaj u miratua
@@ -1390,7 +1428,6 @@ sq:
     disallowed_hashtags:
       one: 'përmbante një hashtag të palejuar: %{tags}'
       other: 'përmbante hashtag-ë të palejuar: %{tags}'
-    edited_at: Përpunuar më %{date}
     errors:
       in_reply_not_found: Gjendja të cilës po provoni t’i përgjigjeni s’duket se ekziston.
     open_in_web: Hape në internet
@@ -1449,6 +1486,7 @@ sq:
       '2629746': 1 muaj
       '31556952': 1 vit
       '5259492': 2 muaj
+      '604800': 1 javë
       '63113904': 2 vjet
       '7889238': 3 muaj
     min_age_label: Prag moshe
@@ -1596,26 +1634,28 @@ sq:
         spam: I padëshiruar
         violation: Lënda cenon udhëzimet vijuese të bashkësisë
       explanation:
-        delete_statuses: Për disa nga postimet tuaja është parë se cenojnë një ose më tepër udhëzime të bashkësisë dhe për pasojë janë hequr nga moderatorët e %{instance}. Cenime të ardhshme mund të sjellin veprime ndëshkimore më të ashpra kundër llogarisë tuaj.
+        delete_statuses: Disa nga postimet tuaja janë parë të cenojnë një ose më tepër udhëzime të bashkësisë dhe për pasojë janë hequr nga moderatorët e %{instance}.
         disable: S’mund të përdorni më llogarinë tuaj, por profili juaj dhe të dhëna të tjera mbeten të paprekura. Mund të kërkoni një kopjeruajtje të të dhënave tuaja, të ndryshoni rregullime llogarie, ose të fshini llogarinë tuaj.
+        mark_statuses_as_sensitive: Disave nga postimet tuaj u është vënë shenjë si me spec nga moderatorët e %{instance}. Kjo do të thotë se njerëzve do t’u duhet të prekin median te postimet, para se të shfaqet një paraparje. Mund t’i vini vetë shenjë medias si me spec, kur postoni në të ardhmen.
         sensitive: Nga sot e tutje, krejt kartelave media të ngarkuara do t’u vihet shenjë si me spec dhe do të fshihen pas një sinjalizimi “klikojeni”.
         silence: Mundeni ende të përdorni llogarinë tuaj, por vetëm personat që tashmë ju ndjekin do të shohin postimet tuaja në këtë shërbyes dhe mund të përjashtoheni nga veçori të ndryshme për zbulim lënde. Sidoqoftë, të tjerët mund t’ju ndjekin dorazi.
         suspend: S’mund të përdorni më llogarinë tuaj dhe profili juaj, si dhe të dhëna të tjera, s’janë më të përdorshëm. Mundeni ende të bëni hyrjen në llogarinë tuaj për të kërkuar një kopjeruajtje të të dhënave tuaja, deri para se të dhënat tuaja të hiqen plotësisht brenda afërsisht 30 ditësh, por do të mbajmë ca të dhëna elementare, për t’ju penguar t’i bëni bisht pezullimin.
-      get_in_touch: Nëse besoni se këtu ka gabim, mund t’i përgjigjeni këtij email-i për t’u lidhur me stafin e %{instance}.
       reason: 'Arsye:'
-      statuses: 'Postime që janë gjetur me cenime:'
+      statuses: 'Postime të cituar:'
       subject:
         delete_statuses: Postimet tuaja në %{acct} janë hequr
         disable: Llogaria juaj %{acct} është ngrirë
+        mark_statuses_as_sensitive: Postimeve tuaj në %{acct} u është vënë shenjë si me spec
         none: Sinjalizim për %{acct}
-        sensitive: Nga sot e tutje, kartelave tuaja media në %{acct} do t’u vihet shenjë si me spec
+        sensitive: Tani e tutje, postimeve tuaj në %{acct} do t’u vihet shenjë si me spec
         silence: Llogaria juaj %{acct} është kufizuar
         suspend: Llogaria juaj %{acct} është pezulluar
       title:
         delete_statuses: Postime të hequra
         disable: Llogari e ngrirë
+        mark_statuses_as_sensitive: Postimeve iu vu shenjë si me spec
         none: Sinjalizim
-        sensitive: Me media të fshehur
+        sensitive: Llogarice iu vu shenjë si me spec
         silence: Llogari e kufizuar
         suspend: Llogari e pezulluar
     welcome:
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index b1a0613d5..7dcff987b 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -109,7 +109,6 @@ sr-Latn:
       emoji: Emotikon
       enable: Omogući
       enabled_msg: Emotikon uspešno omogućen
-      image_hint: PNG do 50KB
       listed: Izlistan
       new:
         title: Dodaj novi proizvoljni emotikon
@@ -137,12 +136,6 @@ sr-Latn:
         title: Novo blokiranje domena
       reject_media: Odbaci multimediju
       reject_media_hint: Uklanja lokalno uskladištene multimedijske fajlove i odbija da ih skida na dalje. Nebitno je za suspenziju
-      show:
-        retroactive:
-          silence: Ugasi ućutkivanje za sve postojeće naloge sa ovog domena
-          suspend: Ugasi suspenzije za sve postojeće naloge sa ovog domena
-        title: Poništi blokadu domena za domen %{domain}
-        undo: Poništi
       undo: Poništi
     email_domain_blocks:
       add_new: Dodaj novuAdd new
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index 194111e73..e89e43879 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -170,7 +170,6 @@ sr:
       emoji: Емоџи
       enable: Омогући
       enabled_msg: Емоџи успешно омогућен
-      image_hint: PNG до 50KB
       listed: Излистан
       new:
         title: Додај нови произвољни емоџи
@@ -204,17 +203,6 @@ sr:
       reject_media_hint: Уклања локално ускладиштене мултимедијске фајлове и одбија да их скида убудуће. Небитно је за суспензију
       reject_reports: Одбаци извештај
       reject_reports_hint: Игнориши све извештаје који долазе са овог домена. Небитно је за суспензије
-      rejecting_media: одбацивање медијских датотека
-      rejecting_reports: одбацивање пријава
-      severity:
-        silence: ућуткани
-        suspend: суспендовани
-      show:
-        retroactive:
-          silence: Угаси ућуткивање за све постојеће налоге са овог домена
-          suspend: Уклони суспензије за све постојеће налоге са овог домена
-        title: Поништи блокаду домена за %{domain}
-        undo: Поништи
       undo: Поништи блок домена
     email_domain_blocks:
       add_new: Додај нови
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index 011a0d385..40337ce69 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -16,6 +16,7 @@ sv:
     contact: Kontakt
     contact_missing: Inte inställd
     contact_unavailable: Ej tillämplig
+    continue_to_web: Fortsätt till webbtjänst
     discover_users: Upptäck användare
     documentation: Dokumentation
     federation_hint_html: Med ett konto på %{instance} kommer du att kunna följa personer på alla Mastodon-servers och mer än så.
@@ -23,6 +24,8 @@ sv:
     hosted_on: Mastodon-värd på %{domain}
     instance_actor_flash: "Detta konto är en virtuell agent som används för att representera servern själv och inte någon individuell användare. Det används av sammanslutningsskäl och ska inte blockeras såvitt du inte vill blockera hela instansen, och för detta fall ska domänblockering användas. \n"
     learn_more: Lär dig mer
+    logged_in_as_html: Inloggad som %{username}.
+    logout_before_registering: Du är redan inloggad.
     privacy_policy: Integritetspolicy
     rules: Serverns regler
     rules_html: 'Nedan en sammanfattning av kontoreglerna för denna Mastodonserver:'
@@ -67,7 +70,6 @@ sv:
     media: Media
     moved_html: "%{name} har flyttat till %{new_profile_link}:"
     network_hidden: Denna information är inte tillgänglig
-    never_active: Aldrig
     nothing_here: Det finns inget här!
     people_followed_by: Personer som %{name} följer
     people_who_follow: Personer som följer %{name}
@@ -328,7 +330,6 @@ sv:
       enable: Aktivera
       enabled: Aktiverad
       enabled_msg: Aktiverade den emoji utan problem
-      image_hint: PNG upp till 50KB
       list: Lista
       listed: Noterade
       new:
@@ -387,17 +388,6 @@ sv:
       reject_media_hint: Raderar lokalt lagrade mediefiler och förhindrar möjligheten att ladda ner något i framtiden. Irrelevant för suspensioner
       reject_reports: Avvisa rapporter
       reject_reports_hint: Ignorera alla rapporter som kommer från den här domänen. Gäller inte för avstängningar
-      rejecting_media: avvisar media-filer
-      rejecting_reports: avvisar rapporter
-      severity:
-        silence: tystad
-        suspend: avstängd
-      show:
-        retroactive:
-          silence: Ta bort tysta ner från alla befintliga konton på den här domänen
-          suspend: Ta bort suspendering från alla befintliga konton på den här domänen
-        title: Ångra domänblockering för %{domain}
-        undo: Ångra
       undo: Ångra
       view: Visa domänblock
     email_domain_blocks:
@@ -423,10 +413,7 @@ sv:
         clear: Rensa leverans-fel
         restart: Starta om leverans
         stop: Stoppa leverans
-        title: Leverans
         unavailable: Ej tillgänglig
-        unavailable_message: Leverans otillgängligt
-        warning: Varning
       delivery_available: Leverans är tillgängligt
       empty: Inga domäner hittades.
       moderation:
@@ -1101,7 +1088,7 @@ sv:
     disallowed_hashtags:
       one: 'innehöll en otillåten hashtag: %{tags}'
       other: 'innehöll de otillåtna hashtagarna: %{tags}'
-    edited_at: 'Ändrad: %{date}'
+    edited_at_html: 'Ändrad: %{date}'
     errors:
       in_reply_not_found: Statusen du försöker svara på existerar inte.
     open_in_web: Öppna på webben
@@ -1155,6 +1142,7 @@ sv:
       '2629746': 1 månad
       '31556952': 1 år
       '5259492': 2 månader
+      '604800': 1 vecka
       '63113904': 2 år
       '7889238': 3 månader
     min_age_label: Åldersgräns
diff --git a/config/locales/ta.yml b/config/locales/ta.yml
index 805781598..d5ba7603d 100644
--- a/config/locales/ta.yml
+++ b/config/locales/ta.yml
@@ -55,7 +55,6 @@ ta:
     media: படங்கள்
     moved_html: "%{name} %{new_profile_link}க்கு மாறியுள்ளது:"
     network_hidden: இத்தகவல் கிடைக்கவில்லை
-    never_active: எப்போதுமில்லை
     nothing_here: இங்கு எதுவும் இல்லை!
     people_followed_by: "%{name} பின்தொடரும் நபர்கள்"
     people_who_follow: "%{name}ஐ பின்தொடரும் நபர்கள்"
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 9203aec15..c4294be7f 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -16,12 +16,15 @@ th:
     contact: ติดต่อ
     contact_missing: ไม่ได้ตั้ง
     contact_unavailable: ไม่มี
+    continue_to_web: ดำเนินการต่อไปยังแอปเว็บ
     discover_users: ค้นพบผู้ใช้
     documentation: เอกสารประกอบ
     federation_hint_html: ด้วยบัญชีที่ %{instance} คุณจะสามารถติดตามผู้คนในเซิร์ฟเวอร์ Mastodon และอื่น ๆ
     get_apps: ลองแอปมือถือ
     hosted_on: Mastodon ที่โฮสต์ที่ %{domain}
     learn_more: เรียนรู้เพิ่มเติม
+    logged_in_as_html: คุณกำลังเข้าสู่ระบบเป็น %{username} ในปัจจุบัน
+    logout_before_registering: คุณได้เข้าสู่ระบบอยู่แล้ว
     privacy_policy: นโยบายความเป็นส่วนตัว
     rules: กฎของเซิร์ฟเวอร์
     rules_html: 'ด้านล่างคือข้อมูลสรุปของกฎที่คุณจำเป็นต้องปฏิบัติตามหากคุณต้องการมีบัญชีในเซิร์ฟเวอร์ Mastodon นี้:'
@@ -60,7 +63,6 @@ th:
     media: สื่อ
     moved_html: "%{name} ได้ย้ายไปยัง %{new_profile_link}:"
     network_hidden: ไม่มีข้อมูลนี้
-    never_active: ไม่เลย
     nothing_here: ไม่มีสิ่งใดที่นี่!
     people_followed_by: ผู้คนที่ %{name} ติดตาม
     people_who_follow: ผู้คนที่ติดตาม %{name}
@@ -150,10 +152,11 @@ th:
       not_subscribed: ไม่ได้บอกรับ
       pending: การตรวจทานที่รอดำเนินการ
       perform_full_suspension: ระงับ
-      previous_strikes: การลงโทษก่อนหน้านี้
+      previous_strikes: การดำเนินการก่อนหน้านี้
       previous_strikes_description_html:
-        one: บัญชีนี้มี <strong>หนึ่ง</strong> การลงโทษ
-        other: บัญชีนี้มี <strong>%{count}</strong> การลงโทษ
+        one: บัญชีนี้มี <strong>หนึ่ง</strong> การดำเนินการ
+        other: บัญชีนี้มี <strong>%{count}</strong> การดำเนินการ
+        zero: บัญชีนี้ <strong>อยู่ในสถานะที่ดี</strong>
       promote: เลื่อนขั้น
       protocol: โปรโตคอล
       public: สาธารณะ
@@ -194,7 +197,7 @@ th:
       silence: จำกัด
       silenced: จำกัดอยู่
       statuses: โพสต์
-      strikes: การลงโทษก่อนหน้านี้
+      strikes: การดำเนินการก่อนหน้านี้
       subscribe: บอกรับ
       suspend: ระงับ
       suspended: ระงับอยู่
@@ -352,7 +355,7 @@ th:
       enable: เปิดใช้งาน
       enabled: เปิดใช้งานอยู่
       enabled_msg: เปิดใช้งานอีโมจินั้นสำเร็จ
-      image_hint: PNG สูงสุด 50KB
+      image_hint: PNG หรือ GIF สูงสุด %{size}
       list: แสดงรายการ
       listed: อยู่ในรายการ
       new:
@@ -421,21 +424,6 @@ th:
       reject_media_hint: เอาไฟล์สื่อที่จัดเก็บไว้ในเซิร์ฟเวอร์ออกและปฏิเสธที่จะดาวน์โหลดไฟล์ใด ๆ ในอนาคต ไม่เกี่ยวข้องกับการระงับ
       reject_reports: ปฏิเสธรายงาน
       reject_reports_hint: เพิกเฉยรายงานทั้งหมดที่มาจากโดเมนนี้ ไม่เกี่ยวข้องกับการระงับ
-      rejecting_media: กำลังปฏิเสธไฟล์สื่อ
-      rejecting_reports: กำลังปฏิเสธรายงาน
-      severity:
-        silence: จำกัดอยู่
-        suspend: ระงับอยู่
-      show:
-        affected_accounts:
-          one: หนึ่งบัญชีในฐานข้อมูลที่ได้รับผลกระทบ
-          other: "%{count} บัญชีในฐานข้อมูลที่ได้รับผลกระทบ"
-          zero: ไม่มีบัญชีในฐานข้อมูลที่ได้รับผลกระทบ
-        retroactive:
-          silence: เลิกทำการจำกัดบัญชีที่มีผลที่มีอยู่จากโดเมนนี้
-          suspend: เลิกระงับบัญชีที่มีผลที่มีอยู่จากโดเมนนี้
-        title: เลิกทำการปิดกั้นโดเมนสำหรับ %{domain}
-        undo: เลิกทำ
       undo: เลิกทำการปิดกั้นโดเมน
       view: ดูการปิดกั้นโดเมน
     email_domain_blocks:
@@ -461,20 +449,39 @@ th:
       title: คำแนะนำการติดตาม
       unsuppress: คืนค่าคำแนะนำการติดตาม
     instances:
+      availability:
+        title: ความพร้อมใช้งาน
       back_to_all: ทั้งหมด
       back_to_limited: จำกัดอยู่
       back_to_warning: คำเตือน
       by_domain: โดเมน
       confirm_purge: คุณแน่ใจหรือไม่ว่าต้องการลบข้อมูลจากโดเมนนี้อย่างถาวร?
+      content_policies:
+        comment: หมายเหตุภายใน
+        description_html: คุณสามารถกำหนดนโยบายเนื้อหาที่จะนำไปใช้กับบัญชีทั้งหมดจากโดเมนนี้และโดเมนย่อยใดก็ตามของโดเมน
+        policies:
+          reject_media: ปฏิเสธสื่อ
+          reject_reports: ปฏิเสธรายงาน
+          silence: จำกัด
+          suspend: ระงับ
+        policy: นโยบาย
+        reason: เหตุผลสาธารณะ
+        title: นโยบายเนื้อหา
+      dashboard:
+        instance_accounts_dimension: บัญชีที่ติดตามมากที่สุด
+        instance_accounts_measure: บัญชีที่จัดเก็บไว้
+        instance_followers_measure: ผู้ติดตามของเราที่นั่น
+        instance_follows_measure: ผู้ติดตามของเขาที่นี่
+        instance_languages_dimension: ภาษายอดนิยม
+        instance_media_attachments_measure: ไฟล์แนบสื่อที่จัดเก็บไว้
+        instance_reports_measure: รายงานเกี่ยวกับเขา
+        instance_statuses_measure: โพสต์ที่จัดเก็บไว้
       delivery:
         all: ทั้งหมด
         clear: ล้างข้อผิดพลาดการจัดส่ง
         restart: เริ่มการจัดส่งใหม่
         stop: หยุดการจัดส่ง
-        title: การจัดส่ง
         unavailable: ไม่พร้อมใช้งาน
-        unavailable_message: การจัดส่งไม่พร้อมใช้งาน
-        warning: คำเตือน
       delivery_available: มีการจัดส่ง
       delivery_error_days: วันที่มีข้อผิดพลาดการจัดส่ง
       empty: ไม่พบโดเมน
@@ -557,6 +564,7 @@ th:
       forwarded: ส่งต่อแล้ว
       forwarded_to: ส่งต่อไปยัง %{domain} แล้ว
       mark_as_resolved: ทำเครื่องหมายว่าแก้ปัญหาแล้ว
+      mark_as_sensitive: ทำเครื่องหมายว่าละเอียดอ่อน
       mark_as_unresolved: ทำเครื่องหมายว่ายังไม่ได้แก้ปัญหา
       no_one_assigned: ไม่มีใคร
       notes:
@@ -673,7 +681,7 @@ th:
         desc_html: มีผลต่อแฮชแท็กที่ไม่ได้ไม่อนุญาตก่อนหน้านี้
         title: อนุญาตให้แฮชแท็กขึ้นแนวโน้มโดยไม่มีการตรวจทานล่วงหน้า
       trends:
-        desc_html: แสดงเนื้อหาที่ตรวจทานแล้วก่อนหน้านี้ที่กำลังนิยมเป็นสาธารณะ
+        desc_html: แสดงเนื้อหาที่ตรวจทานแล้วก่อนหน้านี้ที่กำลังนิยมในปัจจุบันเป็นสาธารณะ
         title: แนวโน้ม
     site_uploads:
       delete: ลบไฟล์ที่อัปโหลด
@@ -694,6 +702,7 @@ th:
       actions:
         delete_statuses: "%{name} ได้ลบโพสต์ของ %{target}"
         disable: "%{name} ได้อายัดบัญชีของ %{target}"
+        mark_statuses_as_sensitive: "%{name} ได้ทำเครื่องหมายโพสต์ของ %{target} ว่าละเอียดอ่อน"
         none: "%{name} ได้ส่งคำเตือนไปยัง %{target}"
         sensitive: "%{name} ได้ทำเครื่องหมายบัญชีของ %{target} ว่าละเอียดอ่อน"
         silence: "%{name} ได้จำกัดบัญชีของ %{target}"
@@ -735,6 +744,8 @@ th:
         allow_account: อนุญาตผู้สร้าง
         disallow: ไม่อนุญาตโพสต์
         disallow_account: ไม่อนุญาตผู้สร้าง
+        shared_by:
+          other: แบ่งปันและชื่นชอบ %{friendly_count} ครั้ง
         title: โพสต์ที่กำลังนิยม
       tags:
         current_score: คะแนนปัจจุบัน %{score}
@@ -742,7 +753,7 @@ th:
           tag_accounts_measure: การใช้งานที่ไม่ซ้ำกัน
           tag_languages_dimension: ภาษายอดนิยม
           tag_servers_dimension: เซิร์ฟเวอร์ยอดนิยม
-          tag_servers_measure: เซิร์ฟเวอร์อื่น
+          tag_servers_measure: เซิร์ฟเวอร์ต่าง ๆ
           tag_uses_measure: การใช้งานทั้งหมด
         listable: สามารถแนะนำ
         not_listable: จะไม่แนะนำ
@@ -770,6 +781,8 @@ th:
       actions:
         delete_statuses: เพื่อลบโพสต์ของเขา
         disable: เพื่ออายัดบัญชีของเขา
+        mark_statuses_as_sensitive: เพื่อทำเครื่องหมายโพสต์ของเขาว่าละเอียดอ่อน
+        none: คำเตือน
         sensitive: เพื่อทำเครื่องหมายบัญชีของเขาว่าละเอียดอ่อน
         silence: เพื่อจำกัดบัญชีของเขา
         suspend: เพื่อระงับบัญชีของเขา
@@ -781,13 +794,13 @@ th:
       subject: รายงานใหม่สำหรับ %{instance} (#%{id})
     new_trends:
       new_trending_links:
-        no_approved_links: ไม่มีลิงก์ที่กำลังนิยมที่ได้รับอนุมัติ
+        no_approved_links: ไม่มีลิงก์ที่กำลังนิยมที่ได้รับอนุมัติในปัจจุบัน
         title: ลิงก์ที่กำลังนิยม
       new_trending_statuses:
-        no_approved_statuses: ไม่มีโพสต์ที่กำลังนิยมที่ได้รับอนุมัติ
+        no_approved_statuses: ไม่มีโพสต์ที่กำลังนิยมที่ได้รับอนุมัติในปัจจุบัน
         title: โพสต์ที่กำลังนิยม
       new_trending_tags:
-        no_approved_tags: ไม่มีแฮชแท็กที่กำลังนิยมที่ได้รับอนุมัติ
+        no_approved_tags: ไม่มีแฮชแท็กที่กำลังนิยมที่ได้รับอนุมัติในปัจจุบัน
         title: แฮชแท็กที่กำลังนิยม
       subject: แนวโน้มใหม่สำหรับตรวจทานใน %{instance}
   aliases:
@@ -860,6 +873,7 @@ th:
     status:
       account_status: สถานะบัญชี
       confirming: กำลังรอการยืนยันอีเมลให้เสร็จสมบูรณ์
+      functional: บัญชีของคุณทำงานได้อย่างเต็มที่
       pending: ใบสมัครของคุณกำลังรอดำเนินการตรวจทานโดยพนักงานของเรา นี่อาจใช้เวลาสักครู่ คุณจะได้รับอีเมลหากใบสมัครของคุณได้รับการอนุมัติ
     too_fast: ส่งแบบฟอร์มเร็วเกินไป ลองอีกครั้ง
     trouble_logging_in: มีปัญหาในการเข้าสู่ระบบ?
@@ -925,6 +939,8 @@ th:
   disputes:
     strikes:
       action_taken: การกระทำที่ใช้
+      appeal: อุทธรณ์
+      appeal_rejected: ปฏิเสธการอุทธรณ์แล้ว
       appeal_submitted_at: ส่งการอุทธรณ์แล้ว
       appeals:
         submit: ส่งการอุทธรณ์
@@ -932,13 +948,18 @@ th:
       created_at: ลงวันที่
       recipient: ส่งถึง
       status: 'โพสต์ #%{id}'
+      title: "%{action} จาก %{date}"
       title_actions:
         delete_statuses: การเอาโพสต์ออก
         disable: การอายัดบัญชี
+        mark_statuses_as_sensitive: การทำเครื่องหมายโพสต์ว่าละเอียดอ่อน
         none: คำเตือน
         sensitive: การทำเครื่องหมายบัญชีว่าละเอียดอ่อน
         silence: การจำกัดบัญชี
         suspend: การระงับบัญชี
+      your_appeal_approved: อนุมัติการอุทธรณ์ของคุณแล้ว
+      your_appeal_pending: คุณได้ส่งการอุทธรณ์
+      your_appeal_rejected: ปฏิเสธการอุทธรณ์ของคุณแล้ว
   domain_validator:
     invalid_domain: ไม่ใช่ชื่อโดเมนที่ถูกต้อง
   errors:
@@ -1083,6 +1104,7 @@ th:
     warning:
       before: 'ก่อนดำเนินการต่อ โปรดอ่านหมายเหตุเหล่านี้อย่างระมัดระวัง:'
       followers: การกระทำนี้จะย้ายผู้ติดตามทั้งหมดจากบัญชีปัจจุบันไปยังบัญชีใหม่
+      other_data: จะไม่ย้ายข้อมูลอื่น ๆ โดยอัตโนมัติ
   moderation:
     title: การควบคุม
   move_handler:
@@ -1205,6 +1227,9 @@ th:
     reply:
       proceed: ดำเนินการต่อเพื่อตอบกลับ
       prompt: 'คุณต้องการตอบกลับโพสต์นี้:'
+  reports:
+    errors:
+      invalid_rules: ไม่ได้อ้างอิงกฎที่ถูกต้อง
   scheduled_statuses:
     too_soon: วันที่ตามกำหนดการต้องอยู่ในอนาคต
   sessions:
@@ -1228,6 +1253,7 @@ th:
       weibo: Weibo
     current_session: เซสชันปัจจุบัน
     description: "%{browser} ใน %{platform}"
+    explanation: นี่คือเว็บเบราว์เซอร์ที่เข้าสู่ระบบบัญชี Mastodon ของคุณในปัจจุบัน
     ip: IP
     platforms:
       adobe_air: Adobe Air
@@ -1265,6 +1291,7 @@ th:
     profile: โปรไฟล์
     relationships: การติดตามและผู้ติดตาม
     statuses_cleanup: การลบโพสต์แบบอัตโนมัติ
+    strikes: การดำเนินการการควบคุม
     two_factor_authentication: การรับรองความถูกต้องด้วยสองปัจจัย
     webauthn_authentication: กุญแจความปลอดภัย
   statuses:
@@ -1281,7 +1308,9 @@ th:
     default_language: เหมือนกับภาษาส่วนติดต่อ
     disallowed_hashtags:
       other: 'มีแฮชแท็กที่ไม่อนุญาต: %{tags}'
-    edited_at: แก้ไขเมื่อ %{date}
+    edited_at_html: แก้ไขเมื่อ %{date}
+    errors:
+      in_reply_not_found: ดูเหมือนว่าจะไม่มีโพสต์ที่คุณกำลังพยายามตอบกลับอยู่
     open_in_web: เปิดในเว็บ
     pin_errors:
       direct: ไม่สามารถปักหมุดโพสต์ที่ปรากฏแก่ผู้ใช้ที่กล่าวถึงเท่านั้น
@@ -1332,6 +1361,7 @@ th:
       '2629746': 1 เดือน
       '31556952': 1 ปี
       '5259492': 2 เดือน
+      '604800': 1 สัปดาห์
       '63113904': 2 ปี
       '7889238': 3 เดือน
     min_age_label: ค่าเกณฑ์อายุ
@@ -1372,8 +1402,10 @@ th:
   user_mailer:
     appeal_approved:
       action: ไปยังบัญชีของคุณ
+      subject: อนุมัติการอุทธรณ์ของคุณจาก %{date} แล้ว
       title: อนุมัติการอุทธรณ์แล้ว
     appeal_rejected:
+      subject: ปฏิเสธการอุทธรณ์ของคุณจาก %{date} แล้ว
       title: ปฏิเสธการอุทธรณ์แล้ว
     backup_ready:
       explanation: คุณได้ขอข้อมูลสำรองแบบเต็มของบัญชี Mastodon ของคุณ ตอนนี้ข้อมูลสำรองพร้อมสำหรับการดาวน์โหลดแล้ว!
@@ -1391,19 +1423,22 @@ th:
       categories:
         spam: สแปม
         violation: เนื้อหาละเมิดหลักเกณฑ์ชุมชนดังต่อไปนี้
-      get_in_touch: หากคุณเชื่อว่านี่เป็นข้อผิดพลาด คุณสามารถตอบกลับอีเมลนี้เพื่อติดต่อกับพนักงานของ %{instance}
       reason: 'เหตุผล:'
-      statuses: 'โพสต์ที่พบว่ามีการละเมิด:'
+      statuses: 'โพสต์ที่อ้างถึง:'
       subject:
-        disable: บัญชีของคุณ %{acct} ถูกอายัด
+        delete_statuses: เอาโพสต์ของคุณใน %{acct} ออกแล้ว
+        disable: อายัดบัญชีของคุณ %{acct} แล้ว
+        mark_statuses_as_sensitive: ทำเครื่องหมายโพสต์ของคุณใน %{acct} ว่าละเอียดอ่อนแล้ว
         none: คำเตือนสำหรับ %{acct}
-        silence: บัญชีของคุณ %{acct} ถูกจำกัด
-        suspend: บัญชีของคุณ %{acct} ถูกระงับ
+        sensitive: จะทำเครื่องหมายโพสต์ของคุณใน %{acct} ว่าละเอียดอ่อนนับจากนี้ไป
+        silence: จำกัดบัญชีของคุณ %{acct} แล้ว
+        suspend: ระงับบัญชีของคุณ %{acct} แล้ว
       title:
         delete_statuses: เอาโพสต์ออกแล้ว
         disable: อายัดบัญชีอยู่
+        mark_statuses_as_sensitive: ทำเครื่องหมายโพสต์ว่าละเอียดอ่อนแล้ว
         none: คำเตือน
-        sensitive: ซ่อนสื่ออยู่
+        sensitive: ทำเครื่องหมายบัญชีว่าละเอียดอ่อนแล้ว
         silence: จำกัดบัญชีอยู่
         suspend: ระงับบัญชีอยู่
     welcome:
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index ade2a77fb..6e6477b92 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -16,6 +16,7 @@ tr:
     contact: İletişim
     contact_missing: Ayarlanmadı
     contact_unavailable: Yok
+    continue_to_web: Web uygulamasına git
     discover_users: Kullanıcıları keşfet
     documentation: Belgeler
     federation_hint_html: "%{instance} hesabınızla, herhangi bir Mastodon sunucusundaki ve haricindeki kişileri takip edebilirsiniz."
@@ -25,6 +26,8 @@ tr:
       Bu hesap, herhangi bir kullanıcıyı değil sunucunun kendisini temsil etmek için kullanılan sanal bir aktördür.
       Federasyon amaçlı kullanılır ve tüm yansıyı engellemek istemediğiniz sürece engellenmemelidir; bu durumda bir etki alanı bloğu kullanmanız gerekir.
     learn_more: Daha fazla bilgi edinin
+    logged_in_as_html: Şu an %{username} olarak oturum açmışsınız.
+    logout_before_registering: Zaten oturumunuz açık.
     privacy_policy: Gizlilik politikası
     rules: Sunucu kuralları
     rules_html: 'Aşağıda, bu Mastodon sunucusu üzerinde bir hesap açmak istiyorsanız uymanız gereken kuralların bir özeti var:'
@@ -69,7 +72,6 @@ tr:
     media: Medya
     moved_html: "%{name}, %{new_profile_link} adresine taşındı:"
     network_hidden: Bu bilgi mevcut değil
-    never_active: Asla
     nothing_here: Burada henüz hiçbir gönderi yok!
     people_followed_by: Kullanıcı %{name}'in takip ettikleri
     people_who_follow: Kullanıcı %{name}'i takip edenler
@@ -371,7 +373,7 @@ tr:
       enable: Etkinleştir
       enabled: Etkin
       enabled_msg: Bu emojiyi başarıyla etkinleştirdi
-      image_hint: 50 KB'a kadar PNG
+      image_hint: En fazla %{size} boyutunda PNG veya GIF
       list: Liste
       listed: Listelenen
       new:
@@ -433,7 +435,7 @@ tr:
         create: Yeni blok oluştur
         hint: Domain bloğu, veri tabanında hesap kayıtlarının oluşturulmasını engellemez, fakat o hesapların üzerine otomatik olarak belirli yönetim metodlarını olarak uygular.
         severity:
-          desc_html: "<strong>Susturma</strong>, uygulanan hesabın gönderilerini, o hesabı takip etmeyen diğer herkese gizler. <strong>Uzaklaştırma</strong> hesabın bütün içeriğini, ortam dosyalarını ve profil verisini siler."
+          desc_html: "<strong>Susturma</strong>, uygulanan hesabın gönderilerini, o hesabı takip etmeyen diğer herkese gizler. <strong>Uzaklaştırma</strong> hesabın bütün içeriğini, medya dosyalarını ve profil verisini siler. Sadece medya dosyalarını reddetmek için <strong>Hiçbiri</strong> kullanın."
           noop: Yok
           silence: Sustur
           suspend: Uzaklaştır
@@ -444,25 +446,10 @@ tr:
       private_comment_hint: Denetleyiciler tarafından dahili kullanım için bu alan adı sınırlaması hakkında yorum.
       public_comment: Genel yorum
       public_comment_hint: Eğer alan adı sınırlamaları listesinin tanıtılması etkinleştirilmişse, genel kullanım için bu alan adı sınırlaması hakkında yorum.
-      reject_media: Ortam dosyalarını reddetme
-      reject_media_hint: Yerel olarak depolanmış ortam dosyalarını ve gelecekte indirilecek olanları reddeder. Uzaklaştırma için uygun değildir
+      reject_media: Medya dosyalarını reddet
+      reject_media_hint: Yerel olarak depolanmış medya dosyalarını ve gelecekte indirilecek olanları reddeder. Uzaklaştırmalarla ilgisizdir
       reject_reports: Raporları reddet
       reject_reports_hint: Bu alan adından gelen tüm şikayetleri yok sayın. Uzaklaştırmalar için mevzu dışıdır
-      rejecting_media: ortam dosyalarını reddet
-      rejecting_reports: şikayetleri reddet
-      severity:
-        silence: susturulmuş
-        suspend: uzaklaştırılmış
-      show:
-        affected_accounts:
-          one: Veritabanındaki bir hesap etkilendi
-          other: Veritabanındaki %{count} hesap etkilendi
-          zero: Veritabanındaki hiç bir hesap etkilenmedi
-        retroactive:
-          silence: Bu domaindeki tüm hesapların üzerindeki susturulma işlemini kaldır
-          suspend: Bu domaindeki tüm hesapların üzerindeki uzaklaştırma işlemini kaldır
-        title: "%{domain} domain'i için yapılan işlemi geri al"
-        undo: Geri al
       undo: Geri al
       view: Alan adı bloğunu görüntüle
     email_domain_blocks:
@@ -493,23 +480,47 @@ tr:
       title: Takip önerileri
       unsuppress: Takip önerisini geri getir
     instances:
+      availability:
+        description_html:
+          one: Eğer alan adına teslimat <strong>%{count} gün</strong> boyunca başarısız olursa, alan adından bir teslimat <em>gelmedikçe</em> yeni bir iletim denemesi yapılmayacak.
+          other: Eğer alan adına teslimat <strong>%{count} farklı gün</strong> boyunca başarısız olursa, alan adından bir teslimat <em>gelmedikçe</em> yeni bir iletim denemesi yapılmayacak.
+        failure_threshold_reached: Başarısızlık eşiğine %{date} tarihinde ulaşıldı.
+        failures_recorded:
+          one: "%{count} gün başarısız girişim."
+          other: "%{count} farklı gün başarısız girişim."
+        no_failures_recorded: Kayıtlı başarısızlık yok.
+        title: Ulaşılabilirlik
       back_to_all: Tümü
       back_to_limited: Sınırlı
       back_to_warning: Uyarı
       by_domain: Alan adı
       confirm_purge: Bu alan adından verileri kalıcı olarak silmek istediğinizden emin misin?
+      content_policies:
+        comment: İç not
+        description_html: Bu alan adındaki ve alt alan adlarındaki tüm hesaplara uygulanacak içerik ilkeleri belirleyebilirsiniz.
+        policies:
+          reject_media: Medyayı reddet
+          reject_reports: Şikayetleri reddet
+          silence: Sınırla
+          suspend: Askıya al
+        policy: İlke
+        reason: Kamuya açık gerekçe
+        title: İçerik ilkeleri
+      dashboard:
+        instance_accounts_dimension: En çok takip edilen hesaplar
+        instance_accounts_measure: kayıtlı hesaplar
+        instance_followers_measure: oradaki takipçilerimiz
+        instance_follows_measure: buradaki takipçileri
+        instance_languages_dimension: En gözde diller
+        instance_media_attachments_measure: kayıtlı medya ekleri
+        instance_reports_measure: haklarındaki şikayetler
+        instance_statuses_measure: kayıtlı gönderiler
       delivery:
         all: Tümü
         clear: Teslimat hatalarını temizle
         restart: Teslimatı yeniden başlat
         stop: Teslimatı durdur
-        title: Teslimat
         unavailable: Mevcut Değil
-        unavailable_message: Teslimat mevcut değil
-        warning: Uyarı
-        warning_message:
-          one: Teslimat %{count} gündür başarısız
-          other: Teslimat %{count} gündür başarısız
       delivery_available: Teslimat mevcut
       delivery_error_days: Teslimat hatası günleri
       delivery_error_hint: Eğer teslimat %{count} gün boyunca mümkün olmazsa, otomatik olarak teslim edilemiyor olarak işaretlenecek.
@@ -526,12 +537,14 @@ tr:
       private_comment: Özel yorum
       public_comment: Genel yorum
       purge: Temizle
+      purge_description_html: Eğer bu alan adının temelli çevrimdışı olduğunu düşünüyorsanız, bu alanda adına ait tüm hesap kayıtlarını ve ilişkili tüm veriyi depolama alanınızdan kaldırabilirsiniz. Bu işlem uzun sürebilir.
       title: Bilinen Sunucular
       total_blocked_by_us: Tarafımızca engellenen
       total_followed_by_them: Onlar tarafından takip edilen
       total_followed_by_us: Tarafımızca takip edilen
       total_reported: Onlar hakkında şikayetler
       total_storage: Medya ekleri
+      totals_time_period_hint_html: Aşağıdaki gösterilen toplamlar, gelmiş geçmiş tüm veriyi içeriyor.
     invites:
       deactivate_all: Tümünü devre dışı bırak
       filter:
@@ -586,6 +599,7 @@ tr:
       action_taken_by: tarafından gerçekleştirilen eylem
       actions:
         delete_description_html: Bildirilen gönderiler silinecek ve aynı hesapla ileride yaşabileceğiniz etkileşimlerde çoğaltmanız için bir eylem kaydedilecek.
+        mark_as_sensitive_description_html: Bildirilen gönderilerdeki medya dosyaları hassas olarak işaretlenecek ve aynı hesapla ileride yaşayabileceğiniz etkileşimlerde kullanabilmeniz için bir eylem kaydedilecek.
         other_description_html: Hesabın davranışını denetlemek ve bildirilen hesabın iletişimini yapılandırmak için daha fazla seçenek görün.
         resolve_description_html: Bildirilen hesap için bir şey yapılmayacak, eylem kaydedilmeyecek ve bildirim kapatılacak.
         silence_description_html: Profil sadece halihazırda takip edenler ve elle bakanlarca görünecek, böylece erişimi ciddi bir şekilde kısıtlanacak. Her zaman geri alınabilir.
@@ -606,6 +620,7 @@ tr:
       forwarded: İletildi
       forwarded_to: "%{domain}'e iletildi"
       mark_as_resolved: Giderildi olarak işaretle
+      mark_as_sensitive: Hassas olarak işaretle
       mark_as_unresolved: Çözümlenmemiş olarak işaretle
       no_one_assigned: Hiç kimse
       notes:
@@ -749,6 +764,7 @@ tr:
       actions:
         delete_statuses: "%{name}, %{target} kullanıcısının gönderilerini sildi"
         disable: "%{name}, %{target} kullanıcısının hesabını dondurdu"
+        mark_statuses_as_sensitive: "%{name}, %{target} kullanıcısının gönderilerini hassas olarak işaretledi"
         none: "%{name}, %{target} kullanıcısına bir uyarı gönderdi"
         sensitive: "%{name}, %{target} kullanıcısının hesabını hassas olarak işaretledi"
         silence: "%{name}, %{target} kullanıcısının hesabını kısıtladı"
@@ -774,6 +790,7 @@ tr:
       links:
         allow: Bağlantıya izin ver
         allow_provider: Yayıncıya izin ver
+        description_html: Bu bağlantılar şu anda sunucunuzun gönderilerini gördüğü hesaplarca bolca paylaşılıyor. Kullanıcılarınızın dünyada neler olduğunu görmesine yardımcı olabilir. Yayıncıyı onaylamadığınız sürece hiçbir bağlantı herkese açık yayınlanmaz. Tekil bağlantıları onaylayabilir veya reddedebilirsiniz.
         disallow: Bağlantıya izin verme
         disallow_provider: Yayıncıya izin verme
         shared_by_over_week:
@@ -785,14 +802,17 @@ tr:
       pending_review: İnceleme bekliyor
       preview_card_providers:
         allowed: Bu yayıncının bağlantıları öne çıkabilir
+        description_html: Sunucunuzda bağlantıları sıklıkla paylaşılan alan adları var. Bağlantının alan adı onaylanmadıkça, bağlantılar öne çıkmayacaktır. Onayınız (veya reddiniz) alt alan adlarını kapsar.
         rejected: Bu yayıncının bağlantıları öne çıkmayacak
         title: Yayıncılar
       rejected: Reddedildi
       statuses:
         allow: Gönderiye izin ver
         allow_account: Yazara izin ver
+        description_html: Bunlar, sunucunuzca bilinen, şu an sıklıkla paylaşılan ve beğenilen gönderilerdir. Yeni ve geri dönen kullanıcılarınızın takip etmesi için daha fazla kullanıcı bulmasına yararlar. Siz yazarı onaylamadığınız ve yazar hesabının başkalarına önerilmesine izin vermediği sürece gönderileri herkese açık olarak gösterilmez. Tekil gönderileri de onaylayabilir veya reddedebilirsiniz.
         disallow: Gönderi iznini kaldır
         disallow_account: Yazar iznini kaldır
+        not_discoverable: Yazar keşfedilebilir olmamayı seçiyor
         shared_by:
           one: Bir defa paylaşıldı veya favorilendi
           other: "%{friendly_count} defa paylaşıldı veya favorilendi"
@@ -805,6 +825,7 @@ tr:
           tag_servers_dimension: En gözde sunucular
           tag_servers_measure: farklı sunucular
           tag_uses_measure: toplam kullanım
+        description_html: Bunlar sunucunuzun gördüğü gönderilerde sıklıkla gözüken etiketlerdir. Kullanıcılarınızın, şu an en çok ne hakkında konuşulduğunu görmesine yardımcı olurlar. Onaylamadığınız sürece etiketler herkese açık görünmez.
         listable: Önerilebilir
         not_listable: Önerilmeyecek
         not_trendable: Öne çıkanlar altında görünmeyecek
@@ -831,6 +852,7 @@ tr:
       actions:
         delete_statuses: gönderilerini silme
         disable: hesaplarını dondurma
+        mark_statuses_as_sensitive: gönderilerini hassas olarak işaretleme
         none: uyarı
         sensitive: hesaplarını hassas olarak işaretleme
         silence: hesaplarını kısıtlama
@@ -933,8 +955,10 @@ tr:
     status:
       account_status: Hesap durumu
       confirming: E-posta doğrulamasının tamamlanması bekleniyor.
+      functional: Hesabınız tamamen kullanıma hazır.
       pending: Başvurunuz personelimiz tarafından gözden geçirilmeyi beklemektedir. Bu biraz zaman alabilir. Başvurunuz onaylanırsa bir e-posta alacaksınız.
       redirecting_to: Hesabınız aktif değil çünkü şu anda %{acct} adresine yönlendirilmektedir.
+      view_strikes: Hesabınıza yönelik eski eylemleri görüntüleyin
     too_fast: Form çok hızlı gönderildi, tekrar deneyin.
     trouble_logging_in: Oturum açarken sorun mu yaşıyorsunuz?
     use_security_key: Güvenlik anahtarını kullan
@@ -1010,6 +1034,7 @@ tr:
         submit: İtirazı gönder
       associated_report: İlişkili rapor
       created_at: Tarih
+      description_html: Bunlar hesabınıza yönelik eylemler ve %{instance} yönetimi tarafından size gönderilen uyarılardır.
       recipient: Kime
       status: 'Gönderi #%{id}'
       status_removed: Gönderi zaten sistemden kaldırıldı
@@ -1017,8 +1042,9 @@ tr:
       title_actions:
         delete_statuses: Gönderi kaldırma
         disable: Hesabın dondurulması
+        mark_statuses_as_sensitive: Gönderileri hassas olarak işaretleme
         none: Uyarı
-        sensitive: Hassas hesap olarak işaretleme
+        sensitive: Hesabı hassas olarak işaretleme
         silence: Hesabın kısıtlanması
         suspend: Hesabın askıya alınması
       your_appeal_approved: İtirazınız onaylandı
@@ -1048,7 +1074,7 @@ tr:
     archive_takeout:
       date: Tarih
       download: Arşivinizi indirin
-      hint_html: "<strong>Tootlarınızın ve yüklediğiniz ortamların</strong> bir arşivini talep edebilirsiniz. Dışa aktarılan veriler, herhangi bir uyumlu yazılım tarafından okunabilen ActivityPub formatında olacaktır. Her 7 günde bir arşiv talep edebilirsiniz."
+      hint_html: "<strong>Gönderileriniz ve yüklediğiniz medya dosyalarının</strong> bir arşivini talep edebilirsiniz. Dışa aktarılan veriler, herhangi bir uyumlu yazılım tarafından okunabilen ActivityPub biçiminde olacaktır. Her 7 günde bir arşiv talep edebilirsiniz."
       in_progress: Arşivinizi derliyoruz...
       request: Arşivinizi isteyin
       size: Boyut
@@ -1390,6 +1416,7 @@ tr:
     profile: Profil
     relationships: Takip edilenler ve takipçiler
     statuses_cleanup: Otomatik gönderi silme
+    strikes: Moderasyon eylemleri
     two_factor_authentication: İki adımlı doğrulama
     webauthn_authentication: Güvenlik anahtarları
   statuses:
@@ -1410,7 +1437,7 @@ tr:
     disallowed_hashtags:
       one: 'izin verilmeyen bir etiket içeriyordu: %{tags}'
       other: 'izin verilmeyen hashtag''leri içeriyordu: %{tags}'
-    edited_at: "%{date} tarihinde düzenlenmiş"
+    edited_at_html: "%{date} tarihinde düzenlendi"
     errors:
       in_reply_not_found: Yanıtlamaya çalıştığınız durum yok gibi görünüyor.
     open_in_web: Web sayfasında aç
@@ -1469,6 +1496,7 @@ tr:
       '2629746': 1 ay
       '31556952': 1 yıl
       '5259492': 2 ay
+      '604800': 1 hafta
       '63113904': 2 yıl
       '7889238': 3 ay
     min_age_label: Zaman eşiği
@@ -1616,26 +1644,28 @@ tr:
         spam: İstenmeyen
         violation: İçerik aşağıdaki topluluk ilkelerini ihlal ediyor
       explanation:
-        delete_statuses: Bazı gönderilerinizin bir veya daha topluluk ilkemizi ihlal ettiği bulundu ve dolayısıyla %{instance} sunucusu moderatörleri tarafından kaldırıldı. Gelecekteki ihlaller hesabınıza karşı daha sert cezalandırmayla sonuçlanabilir.
+        delete_statuses: Bazı gönderilerinizin, topluluk ilkelerimizden bir veya daha fazlasını ihlal ettiği görüldü ve daha sonra %{instance} moderatörleri tarafından kaldırıldılar.
         disable: Artık hesabınızı kullanamazsınız, ancak profil ve diğer veri sağlam. Verinizin bir yedeğini isteyebilir, hesap ayarlarınızı değiştirebilir veya hesabınızı silebilirsiniz.
-        sensitive: Artık tüm yüklenmiş ortam dosyalarınız hassas olarak işaretlenecek ve üzerine tıklanarak açılacak şekilde bir uyarının ardına gizlenecektir.
+        mark_statuses_as_sensitive: Gönderilerinizin bazıları %{instance} moderatörleri tarafından hassas olarak işaretlendi. Bu nedenle bir önizleme görüntülenmeden önce insanların gönderilerinizdeki medya dosyalarına dokunması gerekiyor. Gelecekte gönderimde bulunurken medya dosyalarını hassas olarak işaretleyebilirsiniz.
+        sensitive: Artık tüm yüklenmiş medya dosyalarınız hassas olarak işaretlenecek ve üzerine tıklanarak açılacak şekilde bir uyarının ardına gizlenecektir.
         silence: Hesabınız sınırlı iken, yalnızca sizi takip eden kişiler bu sunucudaki gönderilenizi görecek ve çeşitli keşif özelliklerinin dışında bırakılabilirsiniz. Ancak, başkaları sizi manuel olarak hala takip edebilir.
         suspend: Hesabınızı artık kullanamazsınız ve profiliniz ve diğer veri artık erişilebilir değil. Yaklaşık 30 gün içinde silinene kadar verinizin bir yedeğini istemek için giriş yapabilirsiniz, ancak askıdan kaçınmanızı önlemek için bazı temel veriyi saklayabiliriz.
-      get_in_touch: Bunun bir hata olduğunu düşünüyorsanız, %{instance} yönetimiyle bağlantıya geçmek için bu e-postaya yanıt verebilirsiniz.
       reason: 'Gerekçe:'
-      statuses: 'İhlal içeren gönderiler:'
+      statuses: 'Sözü geçen gönderiler:'
       subject:
         delete_statuses: "%{acct} hesabınızdaki gönderiler kaldırıldı"
         disable: "%{acct} hesabınız donduruldu"
+        mark_statuses_as_sensitive: "%{acct} hesabındaki gönderiler hassas olarak işaretlendi"
         none: "%{acct} için uyarı"
-        sensitive: "%{acct} hesabınızdaki ortam dosyaları artık hassas olarak işaretlenecek"
+        sensitive: "%{acct} hesabınızdaki gönderiler artık hassas olarak işaretlenecek"
         silence: "%{acct} hesabınız sınırlandırıldı"
         suspend: "%{acct} hesabınız askıya alındı"
       title:
         delete_statuses: Kaldırılan gönderiler
         disable: Hesap donduruldu
+        mark_statuses_as_sensitive: Gönderiler hassas olarak işaretlendi
         none: Uyarı
-        sensitive: Gizlenmiş ortam dosyaları
+        sensitive: Hesap hassas olarak işaretlendi
         silence: Hesap sınırlandırıldı
         suspend: Hesap askıya alındı
     welcome:
diff --git a/config/locales/tt.yml b/config/locales/tt.yml
index 40bf65ac5..e23533828 100644
--- a/config/locales/tt.yml
+++ b/config/locales/tt.yml
@@ -13,7 +13,6 @@ tt:
     follow: Языл
     following: Язылгансыз
     media: Медиа
-    never_active: Беркайчан да
     roles:
       admin: Админ
       bot: Бот
@@ -38,16 +37,21 @@ tt:
         local: Җирле
         title: Урын
       moderation:
+        active: Актив
         all: Бөтенесе
       perform_full_suspension: Искә алмау
       reset: Ташлату
       role: Рөхсәтләр
       roles:
+        moderator: Модератор
         user: Кулланучы
       search: Эзләү
       sensitive: Sizmäle
       username: Кулланучы исеме
       web: Веб
+    action_logs:
+      action_types:
+        disable_2fa_user: 2FA cүндерү
     custom_emojis:
       by_domain: Домен
       copy: Күчереп алу
@@ -63,11 +67,11 @@ tt:
         severity:
           noop: Бернинди дә
           suspend: Искә алмау
-      show:
-        undo: Кире алу
     email_domain_blocks:
       delete: Бетерү
       domain: Домен
+    follow_recommendations:
+      status: Халәт
     instances:
       by_domain: Домен
       moderation:
@@ -81,11 +85,12 @@ tt:
       delete: Бетерү
       expires_in:
         '1209600': 2 атна
-        '15778476': 6 months
+        '15778476': 6 ай
         '2629746': 1 ай
         '31556952': 1 ел
         '86400': 1 көн
         '94670856': 3 ел
+      title: IP кагыйдәләре
     relays:
       delete: Бетерү
       disable: Cүндерү
@@ -100,10 +105,14 @@ tt:
         delete: Бетерү
       status: Халәт
       updated_at: Яңартылды
+    rules:
+      delete: Бетерү
     statuses:
       deleted: Бетерелде
       media:
         title: Медиа
+    trends:
+      allow: Рөхсәт итү
     warning_presets:
       delete: Бетерү
   application_mailer:
@@ -128,9 +137,12 @@ tt:
     distance_in_words:
       about_x_hours: "%{count}сәг"
       about_x_months: "%{count}ай"
+      about_x_years: "%{count}ел"
+      almost_x_years: "%{count}ел"
       half_a_minute: Хәзер генә
       less_than_x_minutes: "%{count}м"
       less_than_x_seconds: Хәзер генә
+      over_x_years: "%{count}ел"
       x_days: "%{count}к"
       x_minutes: "%{count}м"
       x_months: "%{count}ай"
@@ -163,6 +175,7 @@ tt:
     all: Бөтенесе
     copy: Күчереп алу
     delete: Бетерү
+    today: бүген
   imports:
     types:
       bookmarks: Кыстыргычлар
@@ -215,6 +228,7 @@ tt:
     platforms:
       adobe_air: Adobе Air
       android: Andrоid
+      blackberry: Blаckberry
       chrome_os: ChromеOS
       firefox_os: Firеfox OS
       ios: iОS
@@ -236,15 +250,28 @@ tt:
       video:
         other: "%{count} видео"
     title: '%{name}: "%{quote}"'
+  statuses_cleanup:
+    min_age:
+      '1209600': 2 атна
+      '15778476': 6 months
+      '2629746': 1 ай
+      '31556952': 1 ел
+      '5259492': 2 ай
+      '604800': 1 атна
+      '63113904': 2 ел
+      '7889238': 3 ай
   time:
     formats:
       default: "%d %b %Y, %H:%M"
       month: "%b %Y"
+      time: "%H:%M"
   two_factor_authentication:
     add: Өстәү
+    disable: 2FA cүндерү
     edit: Үзгәртү
   user_mailer:
     warning:
+      reason: 'Сәбаб:'
       title:
         none: Игътибар
   webauthn_credentials:
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index 152962bfc..a4d29d3e4 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -23,6 +23,7 @@ uk:
     hosted_on: Mastodon розміщено на %{domain}
     instance_actor_flash: "Цей обліковий запис є віртуальною особою, яка використовується для представлення самого сервера, а не певного користувача. Він використовується для потреб федерації і не повинен бути заблокований, якщо тільки ви не хочете заблокувати весь сервер, у цьому випадку ви повинні скористатися блокуванням домену. \n"
     learn_more: Дізнатися більше
+    logout_before_registering: Ви вже увійшли.
     privacy_policy: Політика приватності
     rules: Правила сервера
     rules_html: 'Внизу наведено підсумок правил, яких ви повинні дотримуватися, якщо хочете мати обліковий запис на цьому сервері Mastodon:'
@@ -73,7 +74,6 @@ uk:
     media: Медіа
     moved_html: "%{name} переїхав до %{new_profile_link}:"
     network_hidden: Ця інформація недоступна
-    never_active: Ніколи
     nothing_here: Тут нічого немає!
     people_followed_by: Люди, на яких підписаний(-а) %{name}
     people_who_follow: Підписники %{name}
@@ -369,7 +369,7 @@ uk:
       enable: Увімкнути
       enabled: Увімкнено
       enabled_msg: Емодзі успішно увімкнене
-      image_hint: PNG розміром до 50 КБ
+      image_hint: PNG або GIF до %{size}
       list: Список
       listed: У списку
       new:
@@ -434,21 +434,6 @@ uk:
       reject_media_hint: Видаляє медіаконтент, збережений локально, і забороняє його завантаження у майбутньому. Не має значення у випадку блокування
       reject_reports: Відхилити скарги
       reject_reports_hint: Ігнорувати всі скарги з цього домену. Не має значення у випадку блокування
-      rejecting_media: відхилення медіафайлів
-      rejecting_reports: відхилення скарг
-      severity:
-        silence: заглушені
-        suspend: призупинені
-      show:
-        affected_accounts:
-          one: Впливає на один обліковий запис у базі даних
-          other: Впливає на %{count} облікових записів у базі даних
-          zero: Не впливає на жоден обліковий запис у базі даних
-        retroactive:
-          silence: Зняти глушення з усіх існуючих заглушених облікових записів цього домену
-          suspend: Розморозити існуючі заморожені облікові записи з цього домену
-        title: Зняти блокування з домена %{domain}
-        undo: Відмінити
       undo: Відмінити
       view: Переглянути заблоковані домени
     email_domain_blocks:
@@ -479,15 +464,7 @@ uk:
         clear: Очистити помилки доставляння
         restart: Перезапустити доставляння
         stop: Припинити доставляння
-        title: Доставляння
         unavailable: Недоступно
-        unavailable_message: Доставлення недоступне
-        warning: Попередження
-        warning_message:
-          few: Збій доставляння %{count} дні
-          many: Збій доставляння %{count} днів
-          one: Збій доставляння %{count} день
-          other: Збій доставляння %{count} днів
       delivery_available: Доставлення доступне
       delivery_error_days: Днів помилок доставляння
       delivery_error_hint: Якщо доставляння неможливе впродовж %{count} днів, воно автоматично позначиться недоставленим.
@@ -953,7 +930,6 @@ uk:
         delete_statuses: Вилучення допису
         disable: Заморожування облікового запису
         none: Попередження
-        sensitive: Позначити обліковим записом з делікатним вмістом
         silence: Обмеження облікового запису
         suspend: Призупинення облікового запису
       your_appeal_approved: Вашу апеляцію було схвалено
@@ -1358,7 +1334,6 @@ uk:
       many: 'заборонених хештеґів: %{tags}'
       one: 'заборонений хештеґ: %{tags}'
       other: 'заборонених хештеґів: %{tags}'
-    edited_at: Відредаговано %{date}
     errors:
       in_reply_not_found: Статуса, на який ви намагаєтеся відповісти, не існує.
     open_in_web: Відкрити у вебі
@@ -1421,6 +1396,7 @@ uk:
       '2629746': 1 місяць
       '31556952': 1 рік
       '5259492': 2 місяці
+      '604800': 1 week
       '63113904': 2 роки
       '7889238': 3 місяці
     min_age_label: Поріг давності
@@ -1484,26 +1460,21 @@ uk:
         spam: Спам
         violation: Вміст порушує такі правила спільноти
       explanation:
-        delete_statuses: Деякі з ваших дописів порушили одне або кілька правил спільноти, і модератори %{instance} видалили їх. Майбутні порушення можуть призвести до жорсткіших дій щодо вашого облікового запису.
         disable: Ви можете більше не використовувати свій обліковий запис, але ваш профіль та інші дані залишаються недоторканими. Ви можете надіслати запит на створення резервної копії ваших даних, змінити налаштування облікового запису або видалити свій обліковий запис.
         sensitive: Відтепер усі ваші завантажені медіафайли будуть позначені делікатними й приховані за попередженням.
         silence: Ви й надалі можете користуватися своїм обліковим записом, але ваші дописи на цьому сервері бачитимуть лише ті люди, які вже стежать за вами, а вас може бути виключено з різних можливостей виявлення. Проте, інші можуть почати стежити за вами вручну.
         suspend: Ви більше не можете користуватися своїм обліковим записом, а ваші інші дані більше недоступні. Ви досі можете увійти, щоб надіслати запит на отримання резервної копії своїх даних до повного видалення впродовж приблизно 30 днів, але ми збережемо деякі основні дані, щоб унеможливити ухилення вами від призупинення.
-      get_in_touch: Якщо ви вважаєте, що це помилка, ви можете відповісти на цей електронний лист, щоб зв'язатися з персоналом %{instance}.
       reason: 'Причина:'
-      statuses: 'Дописи, які порушили правила:'
       subject:
         delete_statuses: Ваші дописи на %{acct} були вилучені
         disable: Ваш обліковий запис %{acct} було заморожено
         none: Попередження для %{acct}
-        sensitive: Ваші медіафайли на %{acct} відтепер будуть позначені делікатними
         silence: Ваш обліковий запис %{acct} було обмежено
         suspend: Ваш обліковий запис %{acct} було призупинено
       title:
         delete_statuses: Дописи вилучено
         disable: Обліковий запис заморожено
         none: Попередження
-        sensitive: Медіа приховано
         silence: Ообліковий запис обмежено
         suspend: Обліковий запис призупинено
     welcome:
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 2410f9500..459b950a6 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -8,7 +8,7 @@ vi:
     active_footnote: Người dùng hoạt động hàng tháng (MAU)
     administered_by: 'Quản trị viên:'
     api: API
-    apps: Ứng dụng di động
+    apps: Apps
     apps_platforms: Lướt Mastodon trên iOS, Android và các nền tảng khác
     browse_directory: Bạn bè từ khắp mọi nơi trên thế giới
     browse_local_posts: Xem những gì đang xảy ra
@@ -16,6 +16,7 @@ vi:
     contact: Liên lạc
     contact_missing: Chưa thiết lập
     contact_unavailable: N/A
+    continue_to_web: Xem trong web
     discover_users: Thành viên
     documentation: Tài liệu
     federation_hint_html: Đăng ký tài khoản %{instance} là bạn có thể giao tiếp với bất cứ ai trên bất kỳ máy chủ Mastodon nào và còn hơn thế nữa.
@@ -23,6 +24,8 @@ vi:
     hosted_on: "%{domain} vận hành nhờ Mastodon"
     instance_actor_flash: "Đây là một tài khoản ảo được sử dụng để đại diện cho máy chủ chứ không phải bất kỳ người dùng cá nhân nào. Nó được sử dụng cho mục đích liên kết và không nên chặn trừ khi bạn muốn chặn toàn bộ máy chủ. \n"
     learn_more: Tìm hiểu
+    logged_in_as_html: Bạn đã đăng nhập %{username}.
+    logout_before_registering: Bạn đã đăng nhập.
     privacy_policy: Chính sách bảo mật
     rules: Quy tắc máy chủ
     rules_html: 'Bên dưới là những quy tắc của máy chủ Mastodon này, bạn phải đọc kỹ trước khi đăng ký:'
@@ -64,7 +67,6 @@ vi:
     media: Media
     moved_html: "%{name} đã đổi thành %{new_profile_link}:"
     network_hidden: Dữ liệu đã bị ẩn
-    never_active: Chưa có
     nothing_here: Trống trơn!
     people_followed_by: Những người %{name} theo dõi
     people_who_follow: Những người theo dõi %{name}
@@ -156,7 +158,7 @@ vi:
       not_subscribed: Chưa đăng ký
       pending: Chờ duyệt
       perform_full_suspension: Vô hiệu hóa
-      previous_strikes: Những lần trước
+      previous_strikes: Lịch sử kiểm duyệt
       previous_strikes_description_html:
         one: Người dùng này có <strong>một</strong> lần cảnh cáo.
         other: Người dùng này có <strong>%{count}</strong> lần cảnh cáo.
@@ -202,7 +204,7 @@ vi:
       silence: Ẩn
       silenced: Hạn chế
       statuses: Tút
-      strikes: Những lần trước
+      strikes: Lịch sử kiểm duyệt
       subscribe: Đăng ký
       suspend: Vô hiệu hóa
       suspended: Vô hiệu hóa
@@ -225,7 +227,7 @@ vi:
       whitelisted: Danh sách trắng
     action_logs:
       action_types:
-        approve_appeal: Cho phép Xuất Hiện
+        approve_appeal: Đồng ý kháng cáo
         approve_user: Phê duyệt người dùng
         assigned_to_self_report: Tự xử lý báo cáo
         change_email_user: Đổi email
@@ -257,7 +259,7 @@ vi:
         enable_user: Kích hoạt lại người dùng
         memorialize_account: Đánh dấu tưởng niệm
         promote_user: Chỉ định vai trò
-        reject_appeal: Từ chối Xuất Hiện
+        reject_appeal: Từ chối kháng cáo
         reject_user: Từ chối người dùng
         remove_avatar_user: Xóa ảnh đại diện
         reopen_report: Mở lại báo cáo
@@ -336,7 +338,7 @@ vi:
       edit:
         title: Sửa thông báo
       empty: Không tìm thấy thông báo.
-      live: Trực tiếp
+      live: Đang hiển thị
       new:
         create: Tạo thông báo
         title: Tạo thông báo mới
@@ -365,7 +367,7 @@ vi:
       enable: Cho phép
       enabled: Đã cho phép
       enabled_msg: Đã cho phép thành công Emoji này
-      image_hint: PNG tối đa 50KB
+      image_hint: PNG hoặc GIF tối đa %{size}
       list: Danh sách
       listed: Liệt kê
       new:
@@ -406,7 +408,7 @@ vi:
     disputes:
       appeals:
         empty: Không tìm thấy.
-        title: Xuất Hiện
+        title: Kháng cáo
     domain_allows:
       add_new: Cho phép liên hợp với máy chủ
       created_msg: Máy chủ đã được kích hoạt liên hợp thành công
@@ -438,21 +440,6 @@ vi:
       reject_media_hint: Xóa ảnh và video đang được lưu trữ và không cho phép tải xuống trong tương lai. Không liên quan tới việc vô hiệu hóa
       reject_reports: Từ chối báo cáo
       reject_reports_hint: Bỏ qua tất cả các báo cáo từ máy chủ này. Không liên quan việc vô hiệu hóa
-      rejecting_media: từ chối các tập tin phương tiện truyền thông
-      rejecting_reports: từ chối báo cáo
-      severity:
-        silence: bị hạn chế
-        suspend: bị vô hiệu hóa
-      show:
-        affected_accounts:
-          one: Ảnh hưởng một người dùng trong cơ sở dữ liệu
-          other: Ảnh hưởng %{count} người dùng trong cơ sở dữ liệu
-          zero: Không ảnh hưởng người dùng nào trong cơ sở dữ liệu
-        retroactive:
-          silence: Bỏ hạn chế những tài khoản ở máy chủ này
-          suspend: Ngưng vô hiệu hóa các tài khoản ở máy chủ này
-        title: Hủy chặn máy chủ %{domain}
-        undo: Hủy bỏ
       undo: Hủy chặn máy chủ
       view: Xem máy chủ chặn
     email_domain_blocks:
@@ -482,22 +469,45 @@ vi:
       title: Gợi ý theo dõi
       unsuppress: Mở lại gợi ý theo dõi
     instances:
+      availability:
+        description_html:
+          other: Nếu chuyển đến tên miền <strong>%{count} ngày</strong> mà không thành công, không chuyển gì nữa cho tới khi sự tiếp nhận <em>từ</em> máy chủ được nhận.
+        failure_threshold_reached: Thất bại đạt ngưỡng vào %{date}.
+        failures_recorded:
+          other: Thất bại tạm thời vào %{count} ngày khác.
+        no_failures_recorded: Chưa bao giờ thất bại.
+        title: Khả dụng
       back_to_all: Toàn bộ
       back_to_limited: Hạn chế
       back_to_warning: Cảnh báo
       by_domain: Máy chủ
       confirm_purge: Bạn có chắc chắn muốn xóa dữ liệu từ máy chủ này vĩnh viễn?
+      content_policies:
+        comment: Lưu ý nội bộ
+        description_html: Bạn có thể xác định các chính sách nội dung sẽ được áp dụng cho tất cả các tài khoản trên máy chủ này và bất kỳ tên miền phụ nào của nó.
+        policies:
+          reject_media: Từ chối media
+          reject_reports: Từ chối báo cáo
+          silence: Hạn chế
+          suspend: Vô hiệu hóa
+        policy: Chính sách
+        reason: Lý do công khai
+        title: Chính sách nội dung
+      dashboard:
+        instance_accounts_dimension: Những tài khoản được theo dõi nhiều nhất
+        instance_accounts_measure: tài khoản đã lưu trữ
+        instance_followers_measure: người theo dõi của chúng ta ở đó
+        instance_follows_measure: người theo dõi của họ ở đây
+        instance_languages_dimension: Top ngôn ngữ
+        instance_media_attachments_measure: tệp đính kèm
+        instance_reports_measure: báo cáo về họ
+        instance_statuses_measure: tút đã lưu trữ
       delivery:
         all: Toàn bộ
         clear: Xóa phân phối lỗi
         restart: Khởi động lại phân phối
         stop: Ngưng phân phối
-        title: Phân phối
         unavailable: Không khả dụng
-        unavailable_message: Không thể phân phối
-        warning: Cảnh báo
-        warning_message:
-          other: Phân phối thất bại %{count} ngày
       delivery_available: Cho phép liên kết
       delivery_error_days: Ngày lỗi phân phối
       delivery_error_hint: Nếu không thể phân phối sau %{count} ngày, nó sẽ tự dộng đánh dấu là không thể phân phối.
@@ -514,12 +524,14 @@ vi:
       private_comment: Bình luận riêng
       public_comment: Bình luận công khai
       purge: Thanh trừng
+      purge_description_html: Nếu bạn tin rằng máy chủ này đã chết, bạn có thể xóa tất cả các bản ghi tài khoản và dữ liệu đã liên kết khỏi bộ nhớ của mình. Việc này có thể mất một lúc.
       title: Mạng liên hợp
       total_blocked_by_us: Bị chặn bởi chúng ta
       total_followed_by_them: Được họ theo dõi
       total_followed_by_us: Được quản trị viên theo dõi
       total_reported: Toàn bộ báo cáo
       total_storage: Media
+      totals_time_period_hint_html: Tổng số được hiển thị bên dưới bao gồm dữ liệu cho mọi thời điểm.
     invites:
       deactivate_all: Vô hiệu hóa tất cả
       filter:
@@ -559,7 +571,7 @@ vi:
       save_and_enable: Lưu và kích hoạt
       setup: Kết nối mạng liên hợp
       signatures_not_enabled: Mạng liên hợp sẽ không hoạt động nếu chế độ an ninh hoặc chế độ danh sách trắng được bật trước đó
-      status: Trạng thái hiện tại
+      status: Trạng thái
       title: Mạng liên hợp
     report_notes:
       created_msg: Đã thêm ghi chú kiểm duyệt!
@@ -573,6 +585,7 @@ vi:
       action_taken_by: Hành động được thực hiện bởi
       actions:
         delete_description_html: Những tút bị báo cáo sẽ được xóa và 1 thẹo sẽ được ghi lại để giúp bạn lưu ý về tài khoản này trong tương lai.
+        mark_as_sensitive_description_html: Media trong báo cáo sẽ bị đánh dấu nhạy cảm và bạn nhận 1 lần cảnh cáo.
         other_description_html: Những tùy chọn để kiểm soát tài khoản và giao tiếp với tài khoản bị báo cáo.
         resolve_description_html: Không có hành động nào áp dụng đối với tài khoản bị báo cáo, không có thẹo, và báo cáo sẽ được đóng.
         silence_description_html: Trang cá nhân sẽ chỉ hiển thị với những người đã theo dõi hoặc tìm kiếm thủ công, hạn chế tối đa tầm ảnh hưởng của nó. Có thể đổi lại bình thường sau.
@@ -593,6 +606,7 @@ vi:
       forwarded: Chuyển tiếp
       forwarded_to: Chuyển tiếp tới %{domain}
       mark_as_resolved: Đã xử lý xong!
+      mark_as_sensitive: Đánh dấu là nhạy cảm
       mark_as_unresolved: Mở lại
       no_one_assigned: Chưa có
       notes:
@@ -615,7 +629,7 @@ vi:
       status: Trạng thái
       statuses: Nội dung bị báo cáo
       statuses_description_html: Lý do tài khoản hoặc nội dung này bị báo cáo sẽ được trích dẫn trong giao tiếp với tài khoản báo cáo
-      target_origin: Nguồn đã báo cáo người dùng
+      target_origin: Nguồn báo cáo
       title: Báo cáo
       unassign: Bỏ qua
       unresolved: Chờ xử lý
@@ -736,6 +750,7 @@ vi:
       actions:
         delete_statuses: "%{name} đã xóa tút của %{target}"
         disable: "%{name} đã ẩn %{target}"
+        mark_statuses_as_sensitive: "%{name} đã đánh dấu tút của %{target} là nhạy cảm"
         none: "%{name} đã gửi cảnh cáo %{target}"
         sensitive: "%{name} đã đánh dấu người dùng %{target} là nhạy cảm"
         silence: "%{name} đã ẩn %{target}"
@@ -761,27 +776,31 @@ vi:
       links:
         allow: Liên kết cho phép
         allow_provider: Nguồn đăng cho phép
+        description_html: Đây là những liên kết được chia sẻ nhiều trên máy chủ của bạn. Nó có thể giúp người dùng tìm hiểu những gì đang xảy ra trên thế giới. Không có liên kết nào được hiển thị công khai cho đến khi bạn duyệt nguồn. Bạn cũng có thể cho phép hoặc từ chối từng liên kết riêng.
         disallow: Liên kết cấm
         disallow_provider: Nguồn đăng bị cấm
         shared_by_over_week:
-          one: Chia sẻ bởi một người trong tuần qua
-          other: Chia sẻ bởi %{count} người trong tuần qua
+          one: một người chia sẻ trong tuần qua
+          other: "%{count} người chia sẻ trong tuần qua"
           zero: Không ai chia sẻ trong tuần qua
-        title: Liên kết đang là xu hướng
+        title: Liên kết xu hướng
         usage_comparison: Chia sẻ %{today} lần hôm nay, so với %{yesterday} lần hôm qua
       pending_review: Đang chờ
       preview_card_providers:
         allowed: Liên kết từ nguồn đăng này có thể thành xu hướng
+        description_html: Đây là những nguồn mà từ đó các liên kết thường được chia sẻ trên máy chủ của bạn. Các liên kết sẽ không được trở thành xu hướng trừ khi bạn cho phép nguồn. Sự cho phép (hoặc cấm) của bạn áp dụng luôn cho các tên miền phụ.
         rejected: Liên kết từ nguồn đăng không thể thành xu hướng
         title: Nguồn đăng
       rejected: Đã cấm
       statuses:
         allow: Cho phép tút
         allow_account: Cho phép người đăng
+        description_html: Đây là những tút đang được đăng lại và yêu thích rất nhiều trên máy chủ của bạn. Nó có thể giúp người dùng mới và người dùng cũ tìm thấy nhiều người hơn để theo dõi. Không có tút nào được hiển thị công khai cho đến khi bạn cho phép người đăng và người cho phép đề xuất tài khoản của họ cho người khác. Bạn cũng có thể cho phép hoặc từ chối từng tút riêng.
         disallow: Không cho phép tút
         disallow_account: Không cho phép người đăng
+        not_discoverable: Tác giả đã chọn không tham gia mục khám phá
         shared_by:
-          other: Đã chia sẻ và thích %{friendly_count} lần
+          other: Được thích và đăng lại %{friendly_count} lần
         title: Tút xu hướng
       tags:
         current_score: Chỉ số gần đây %{score}
@@ -791,6 +810,7 @@ vi:
           tag_servers_dimension: Top máy chủ
           tag_servers_measure: máy chủ khác
           tag_uses_measure: tổng người dùng
+        description_html: Đây là những hashtag đang xuất hiện trong rất nhiều tút trên máy chủ của bạn. Nó có thể giúp người dùng của bạn tìm ra những gì mọi người đang quan tâm nhiều nhất vào lúc này. Không có hashtag nào được hiển thị công khai cho đến khi bạn cho phép chúng.
         listable: Có thể đề xuất
         not_listable: Không thể đề xuất
         not_trendable: Không xuất hiện xu hướng
@@ -817,6 +837,7 @@ vi:
       actions:
         delete_statuses: xóa tút của họ
         disable: hạn chế tài khoản của họ
+        mark_statuses_as_sensitive: đánh dấu tút của họ là nhạy cảm
         none: một cảnh báo
         sensitive: đánh dấu tài khoản của họ là nhạy cảm
         silence: hạn chế tài khoản của họ
@@ -860,9 +881,9 @@ vi:
     confirmation_dialogs: Hộp thoại xác nhận
     discovery: Khám phá
     localization:
-      body: Mastodon Tiếng Việt được dịch bởi Hồ Nhất Duy.
+      body: Mastodon được dịch bởi tình nguyện viên.
       guide_link: https://crowdin.com/project/mastodon
-      guide_link_text: Đây là trang cá nhân của anh ấy.
+      guide_link_text: Ai cũng có thể đóng góp.
     sensitive_content: Nội dung nhạy cảm
     toot_layout: Tút
   application_mailer:
@@ -919,8 +940,10 @@ vi:
     status:
       account_status: Trạng thái tài khoản
       confirming: Đang chờ xác thực email.
+      functional: Tài khoản của bạn đã được xác thực.
       pending: Đơn đăng ký của bạn đang chờ phê duyệt. Điều này có thể mất một thời gian. Bạn sẽ nhận được email nếu đơn đăng ký của bạn được chấp thuận.
       redirecting_to: Tài khoản của bạn không hoạt động vì hiện đang chuyển hướng đến %{acct}.
+      view_strikes: Xem những lần cảnh cáo cũ
     too_fast: Nghi vấn đăng ký spam, xin thử lại.
     trouble_logging_in: Quên mật khẩu?
     use_security_key: Dùng khóa bảo mật
@@ -996,6 +1019,7 @@ vi:
         submit: Gửi khiếu nại
       associated_report: Báo cáo đính kèm
       created_at: Ngày
+      description_html: Đây là những cảnh cáo và áp đặt kiểm duyệt đối với bạn bởi đội ngũ %{instance}.
       recipient: Người nhận
       status: 'Tút #%{id}'
       status_removed: Tút này đã được xóa khỏi hệ thống
@@ -1003,8 +1027,9 @@ vi:
       title_actions:
         delete_statuses: Xóa tút
         disable: Đóng băng tài khoản
+        mark_statuses_as_sensitive: Đánh dấu tút là nhạy cảm
         none: Cảnh cáo
-        sensitive: Đánh dấu nhạy cảm
+        sensitive: Đánh dấu người dùng là nhạy cảm
         silence: Hạn chế tài khoản
         suspend: Vô hiệu hóa tài khoản
       your_appeal_approved: Khiếu nại của bạn được chấp nhận
@@ -1215,9 +1240,9 @@ vi:
     poll:
       subject: Cuộc bình chọn của %{name} kết thúc
     reblog:
-      body: Tút của bạn vừa được chia sẻ bởi %{name}
-      subject: "%{name} vừa chia sẻ tút của bạn"
-      title: Lượt chia sẻ mới
+      body: Tút của bạn vừa được %{name} đăng lại
+      subject: "%{name} vừa đăng lại tút của bạn"
+      title: Lượt đăng lại mới
     status:
       subject: Bài đăng mới từ %{name}
     update:
@@ -1298,8 +1323,8 @@ vi:
       proceed: Thích tút
       prompt: 'Bạn muốn thích tút này:'
     reblog:
-      proceed: Tiếp tục chia sẻ
-      prompt: Bạn có muốn chia sẻ tút này?
+      proceed: Tiếp tục đăng lại
+      prompt: Bạn có muốn đăng lại tút này?
     reply:
       proceed: Tiếp tục trả lời
       prompt: Bạn có muốn trả lời tút này?
@@ -1372,6 +1397,7 @@ vi:
     profile: Trang cá nhân
     relationships: Quan hệ
     statuses_cleanup: Tự động xóa tút cũ
+    strikes: Lần cảnh cáo
     two_factor_authentication: Xác thực hai bước
     webauthn_authentication: Khóa bảo mật
   statuses:
@@ -1383,12 +1409,12 @@ vi:
         other: "%{count} hình ảnh"
       video:
         other: "%{count} video"
-    boosted_from_html: Đã chia sẻ từ %{acct_link}
+    boosted_from_html: Đã đăng lại từ %{acct_link}
     content_warning: 'Cảnh báo nội dung: %{warning}'
     default_language: Giống ngôn ngữ giao diện
     disallowed_hashtags:
       other: 'chứa các hashtag bị cấm: %{tags}'
-    edited_at: Đã sửa %{date}
+    edited_at_html: Đã sửa %{date}
     errors:
       in_reply_not_found: Bạn đang trả lời một tút không còn tồn tại.
     open_in_web: Xem trong web
@@ -1397,7 +1423,7 @@ vi:
       direct: Không thể ghim những tút nhắn riêng
       limit: Bạn đã ghim quá số lượng tút cho phép
       ownership: Không thể ghim tút của người khác
-      reblog: Không thể ghim chia sẻ
+      reblog: Không thể ghim tút đăng lại
     poll:
       total_people:
         other: "%{count} người bình chọn"
@@ -1421,12 +1447,12 @@ vi:
   statuses_cleanup:
     enabled: Tự động xóa những tút cũ
     enabled_hint: Tự động xóa các tút của bạn khi chúng tới thời điểm nhất định, trừ những trường hợp ngoại lệ bên dưới
-    exceptions: Ngoại trừ
-    explanation: Việc xóa tút rất tốn thời gian vì tút của bạn sẽ tăng dần theo năm tháng. Bởi lý do này, bạn nên xóa những tút cũ khi chúng đã đạt tới thời điểm nhất định.
+    exceptions: Ngoại lệ
+    explanation: Tút của bạn sẽ tăng dần theo năm tháng. Bạn nên xóa những tút cũ khi chúng đã đạt tới thời điểm nhất định.
     ignore_favs: Bỏ qua số luợt thích
-    ignore_reblogs: Bỏ qua số lượt chia sẻ
+    ignore_reblogs: Bỏ qua lượt đăng lại
     interaction_exceptions: Ngoại lệ dựa trên tương tác
-    interaction_exceptions_explanation: Lưu ý rằng không có gì đảm bảo rằng các bài đăng sẽ bị xóa nếu chúng xuống dưới ngưỡng mức yêu thích hoặc chia sẻ sau khi đã từng vượt qua.
+    interaction_exceptions_explanation: Lưu ý rằng không có gì đảm bảo rằng các tút sẽ bị xóa nếu chúng tụt dưới ngưỡng mức yêu thích hoặc đăng lại, dù đã từng đạt.
     keep_direct: Giữ lại tin nhắn
     keep_direct_hint: Không xóa tin nhắn của bạn
     keep_media: Giữ lại những tút có đính kèm media
@@ -1445,16 +1471,17 @@ vi:
       '2629746': 1 tháng
       '31556952': 1 năm
       '5259492': 2 tháng
+      '604800': 1 tuần
       '63113904': 2 năm
       '7889238': 3 tháng
     min_age_label: Thời điểm
     min_favs: Giữ những tút yêu thích lâu hơn
     min_favs_hint: Những tút có lượt thích nhiều hơn số này sẽ không bị xóa. Để trống nếu bạn muốn xóa hết
-    min_reblogs: Giữ những tút đã chia sẻ lâu hơn
-    min_reblogs_hint: Những tút có lượt chia sẻ nhiều hơn số này sẽ không bị xóa. Để trống nếu bạn muốn xóa hết
+    min_reblogs: Giữ những tút đã đăng lại lâu hơn
+    min_reblogs_hint: Những tút có lượt đăng lại nhiều hơn số này sẽ không bị xóa. Để trống nếu bạn muốn xóa hết
   stream_entries:
     pinned: Tút được ghim
-    reblogged: chia sẻ
+    reblogged: đăng lại
     sensitive_content: NSFW
   tags:
     does_not_match_previous_name: không khớp với tên trước
@@ -1559,26 +1586,28 @@ vi:
         spam: Spam
         violation: Nội dung vi phạm quy tắc cộng đồng
       explanation:
-        delete_statuses: Một số bài đăng của bạn đã vi phạm một hoặc nhiều quy tắc cộng đồng và bị gỡ bỏ bởi kiểm duyệt viên %{instance}. Các vi phạm trong tương lai có thể dẫn đến các hành động trừng phạt khắc nghiệt hơn so với tài khoản của bạn.
+        delete_statuses: Vài tút của bạn đã vi phạm quy tắc máy chủ và tạm thời bị ẩn bởi kiểm duyệt viên của %{instance}.
         disable: Bạn không còn có thể sử dụng tài khoản của mình, nhưng hồ sơ của bạn và dữ liệu khác vẫn còn nguyên. Bạn có thể yêu cầu sao lưu dữ liệu của mình, thay đổi cài đặt tài khoản hoặc xóa tài khoản của bạn.
+        mark_statuses_as_sensitive: Vài tút của bạn đã bị kiểm duyệt viên %{instance} đánh dấu nhạy cảm. Mọi người cần nhấn vào media để xem nó. Bạn có thể tự đánh dấu tài khoản của bạn là nhạy cảm.
         sensitive: Từ giờ trở đi, tất cả các media của bạn bạn tải lên sẽ được đánh dấu là nhạy cảm và ẩn đằng sau cảnh báo nhấp chuột.
         silence: Bạn vẫn có thể sử dụng tài khoản của mình, nhưng chỉ những người đang theo dõi bạn mới thấy bài đăng của bạn. Bạn cũng bị loại khỏi các tính năng khám phá khác. Tuy nhiên, những người khác vẫn có thể theo dõi bạn.
         suspend: Bạn không còn có thể sử dụng tài khoản của bạn, hồ sơ và các dữ liệu khác không còn có thể truy cập được. Bạn vẫn có thể đăng nhập để yêu cầu sao lưu dữ liệu của mình cho đến khi dữ liệu bị xóa hoàn toàn trong khoảng 30 ngày, nhưng chúng tôi sẽ giữ lại một số dữ liệu cơ bản để ngăn bạn tránh bị đình chỉ.
-      get_in_touch: Nếu bạn tin rằng đây là lỗi, bạn có thể trả lời e-mail này để liên lạc với các nhân viên của %{instance}.
       reason: 'Lý do:'
-      statuses: 'Đây là những tút vi phạm:'
+      statuses: 'Tút lưu ý:'
       subject:
         delete_statuses: Những tút %{acct} của bạn đã bị xóa bỏ
         disable: Tài khoản %{acct} của bạn đã bị vô hiệu hóa
+        mark_statuses_as_sensitive: Tút của bạn trên %{acct} bị đánh dấu nhạy cảm
         none: Cảnh báo cho %{acct}
-        sensitive: Những tập tin media %{acct} sẽ bị đánh dấu nhạy cảm kể từ bây giờ
+        sensitive: Tút của bạn trên %{acct} sẽ bị đánh dấu nhạy cảm kể từ bây giờ
         silence: Tài khoản %{acct} của bạn đã bị hạn chế
         suspend: Tài khoản %{acct} của bạn đã bị vô hiệu hóa
       title:
         delete_statuses: Tút đã bị xóa
         disable: Tài khoản bị đóng băng
+        mark_statuses_as_sensitive: Tút đã bị đánh dấu nhạy cảm
         none: Cảnh báo
-        sensitive: Media đã bị ẩn
+        sensitive: Tài khoản đã bị đánh dấu nhạy cảm
         silence: Tài khoản bị hạn chế
         suspend: Toài khoản bị vô hiệu hóa
     welcome:
diff --git a/config/locales/zgh.yml b/config/locales/zgh.yml
index da1376dac..83b5866df 100644
--- a/config/locales/zgh.yml
+++ b/config/locales/zgh.yml
@@ -16,7 +16,6 @@ zgh:
       one: ⴰⵎⴹⴼⴰⵕ
       other: ⵉⵎⴹⴼⴰⵕⵏ
     media: ⵉⵙⵏⵖⵎⵉⵙⵏ
-    never_active: ⵓⵙⴰⵔ
     roles:
       bot: ⴰⴱⵓⵜ
       group: ⵜⴰⵔⴰⴱⴱⵓⵜ
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index 240daade4..6561a5716 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -16,13 +16,18 @@ zh-CN:
     contact: 联系方式
     contact_missing: 未设定
     contact_unavailable: 未公开
+    continue_to_web: 继续前往网页应用
     discover_users: 发现用户
     documentation: 文档
     federation_hint_html: 在 %{instance} 上拥有账号后,你可以关注任何兼容Mastodon的服务器上的人。
     get_apps: 尝试移动应用
     hosted_on: 运行在 %{domain} 上的 Mastodon 实例
-    instance_actor_flash: "这个账号是个虚拟帐号,不代表任何用户,只用来代表服务器本身。它用于和其它服务器互通,所以不应该被封禁,除非你想封禁整个实例。但是想封禁整个实例的时候,你应该用域名封禁。 \n"
+    instance_actor_flash: '这个账号是个虚拟账号,不代表任何用户,只用来代表服务器本身。它用于和其它服务器互通,所以不应该被封禁,除非你想封禁整个实例。但是想封禁整个实例的时候,你应该用域名封禁。
+
+      '
     learn_more: 了解详情
+    logged_in_as_html: 你当前是以 %{username} 登录的。
+    logout_before_registering: 您已登录。
     privacy_policy: 隐私政策
     rules: 服务器规则
     rules_html: 如果你想要在此Mastodon服务器上拥有一个账户,你必须遵守相应的规则,摘要如下:
@@ -64,7 +69,6 @@ zh-CN:
     media: 媒体
     moved_html: "%{name} 已经迁移到 %{new_profile_link}:"
     network_hidden: 此信息不可用
-    never_active: 从未活跃
     nothing_here: 这里什么都没有!
     people_followed_by: "%{name} 关注的人"
     people_who_follow: 关注 %{name} 的人
@@ -123,7 +127,7 @@ zh-CN:
       enable: 解冻
       enable_sign_in_token_auth: 启用电子邮件令牌认证
       enabled: 已启用
-      enabled_msg: 成功解冻 %{username} 的帐号
+      enabled_msg: 成功解冻 %{username} 的账号
       followers: 关注者
       follows: 正在关注
       header: 个人资料页横幅图片
@@ -141,7 +145,7 @@ zh-CN:
       media_attachments: 媒体文件
       memorialize: 设置为追悼帐户
       memorialized: 被悼念
-      memorialized_msg: 成功将 %{username} 转换为悼念帐号
+      memorialized_msg: 成功将 %{username} 转换为悼念账号
       moderation:
         active: 活跃
         all: 全部
@@ -151,16 +155,16 @@ zh-CN:
       moderation_notes: 管理员备注
       most_recent_activity: 最后一次活跃的时间
       most_recent_ip: 最后一次活跃的 IP 地址
-      no_account_selected: 因为没有选中任何帐号,所以没有更改
+      no_account_selected: 因为没有选中任何账号,所以没有更改
       no_limits_imposed: 无限制
       not_subscribed: 未订阅
       pending: 待审核
       perform_full_suspension: 封禁
       previous_strikes: 既往处罚
       previous_strikes_description_html:
-        one: 此帐号有<strong>1次</strong>处罚。
-        other: 此帐号有<strong>%{count}次</strong>处罚。
-        zero: 此帐号<strong>记录良好</strong>。
+        one: 此账号有<strong>1次</strong>处罚。
+        other: 此账号有<strong>%{count}次</strong>处罚。
+        zero: 此账号<strong>记录良好</strong>。
       promote: 升任
       protocol: 协议
       public: 公开页面
@@ -206,8 +210,8 @@ zh-CN:
       subscribe: 订阅
       suspend: 封禁
       suspended: 已封禁
-      suspension_irreversible: 该帐号的数据已被不可逆转地删除。你可以取消暂停该帐号以使其可用,但它不会恢复以前拥有的任何数据。
-      suspension_reversible_hint_html: 帐号已封禁,数据将在 %{date} 完全删除。 在此之前,帐号仍可恢复,并且没有任何不良影响。 如果你想立即移除该帐号的所有数据,可以在下面进行。
+      suspension_irreversible: 该账号的数据已被不可逆转地删除。你可以取消暂停该账号以使其可用,但它不会恢复以前拥有的任何数据。
+      suspension_reversible_hint_html: 账号已封禁,数据将在 %{date} 完全删除。 在此之前,账号仍可恢复,并且没有任何不良影响。 如果你想立即移除该账号的所有数据,可以在下面进行。
       title: 用户
       unblock_email: 取消屏蔽邮件地址
       unblocked_email_msg: 成功取消屏蔽了 %{username} 的邮件地址
@@ -215,9 +219,9 @@ zh-CN:
       undo_sensitized: 去除敏感内容标记
       undo_silenced: 解除隐藏
       undo_suspension: 解除封禁
-      unsilenced_msg: 成功解除 %{username} 的帐号限制
+      unsilenced_msg: 成功解除 %{username} 的账号限制
       unsubscribe: 取消订阅
-      unsuspended_msg: 已成功取消封禁 %{username} 的帐号
+      unsuspended_msg: 已成功取消封禁 %{username} 的账号
       username: 用户名
       view_domain: 查看域名摘要
       warn: 警告
@@ -263,12 +267,12 @@ zh-CN:
         reopen_report: 重开举报
         reset_password_user: 重置密码
         resolve_report: 处理举报
-        sensitive_account: 将你帐号中的媒体标记为敏感内容
+        sensitive_account: 将你账号中的媒体标记为敏感内容
         silence_account: 隐藏用户
         suspend_account: 封禁用户
         unassigned_report: 取消举报的指派
         unblock_email_account: 取消屏蔽邮件地址
-        unsensitive_account: 去除你帐号中媒体的敏感内容标记
+        unsensitive_account: 去除你账号中媒体的敏感内容标记
         unsilence_account: 解除账号隐藏
         unsuspend_account: 解除账号封禁
         update_announcement: 更新公告
@@ -365,7 +369,7 @@ zh-CN:
       enable: 启用
       enabled: 已启用
       enabled_msg: 表情启用成功
-      image_hint: PNG 格式,最大 50KB
+      image_hint: 最大 %{size} 的 PNG 或 GIF
       list: 列表
       listed: 已显示
       new:
@@ -388,7 +392,7 @@ zh-CN:
       new_users: 新用户
       opened_reports: 被发起的举报
       pending_appeals_html:
-        other: "<strong>%{count}</strong> 个待处理举报"
+        other: "<strong>%{count}</strong> 个待处理申诉"
       pending_reports_html:
         other: "<strong>%{count}</strong> 个待处理举报"
       pending_tags_html:
@@ -438,21 +442,6 @@ zh-CN:
       reject_media_hint: 删除本站已缓存的媒体文件,并且不再接收来自该域名的任何媒体文件。此选项不影响封禁
       reject_reports: 拒绝接收举报
       reject_reports_hint: 忽略来自此域名的所有举报。这和封禁无关。
-      rejecting_media: 拒绝接收媒体文件
-      rejecting_reports: 拒绝接收举报
-      severity:
-        silence: 已隐藏
-        suspend: 已封禁
-      show:
-        affected_accounts:
-          one: 数据库中的 1 个帐户受到影响
-          other: 数据库中的 %{count} 个帐户受到影响
-          zero: 数据库中没有帐户受到影响
-        retroactive:
-          silence: 对此域名的所有帐户解除隐藏
-          suspend: 对此域名的所有帐户解除封禁
-        title: 撤销对 %{domain} 的域名屏蔽
-        undo: 撤销
       undo: 撤销屏蔽域名
       view: 查看域名屏蔽
     email_domain_blocks:
@@ -482,22 +471,45 @@ zh-CN:
       title: 关注推荐
       unsuppress: 恢复推荐关注
     instances:
+      availability:
+        description_html:
+          other: 如果连续 <strong>%{count} 天</strong> 均无法成功向该域名投递消息,则将不再尝试向其投递,直至收到<em>来自</em>该域名的消息。
+        failure_threshold_reached: 于 %{date} 达到失败阈值。
+        failures_recorded:
+          other: 在 %{count} 天中尝试失败。
+        no_failures_recorded: 没有失败记录。
+        title: 可用性
       back_to_all: 全部
       back_to_limited: 受限
       back_to_warning: 警告
       by_domain: 域名
       confirm_purge: 你确认要从这个实例中永久地删除数据吗?
+      content_policies:
+        comment: 内部备注
+        description_html: 你可以设置应用于此域名所有账号和其所有子域名的内容策略。
+        policies:
+          reject_media: 拒收媒体
+          reject_reports: 拒收举报
+          silence: 隐藏
+          suspend: 封禁
+        policy: 策略
+        reason: 公开理由
+        title: 本站点内容发布规则
+      dashboard:
+        instance_accounts_dimension: 被关注最多的账号
+        instance_accounts_measure: 存储的账号
+        instance_followers_measure: 本站关注者
+        instance_follows_measure: 对方关注者
+        instance_languages_dimension: 语言排行
+        instance_media_attachments_measure: 存储的媒体文件
+        instance_reports_measure: 关于对方的举报
+        instance_statuses_measure: 存储的嘟文
       delivery:
         all: 全部
         clear: 清理投递错误
         restart: 重新投递
         stop: 停止投递
-        title: 投递
         unavailable: 不可用
-        unavailable_message: 投递不可用
-        warning: 警告
-        warning_message:
-          other: 投递已失败 %{count} 天
       delivery_available: 可投递
       delivery_error_days: 投递错误天数
       delivery_error_hint: 如果投递已不可用 %{count} 天,它将被自动标记为无法投递。
@@ -514,12 +526,14 @@ zh-CN:
       private_comment: 私密评论
       public_comment: 公开评论
       purge: 删除
+      purge_description_html: 如果你确认此域名已永久离线,可以从存储中删除此域名的所有账号记录和相关数据。这将会需要一段时间。
       title: 已知实例
       total_blocked_by_us: 被我站屏蔽的
       total_followed_by_them: 被对方关注的
       total_followed_by_us: 被我站关注的
       total_reported: 关于对方的举报
       total_storage: 媒体文件
+      totals_time_period_hint_html: 下方显示的总数来自全部历史数据。
     invites:
       deactivate_all: 撤销所有邀请链接
       filter:
@@ -572,19 +586,20 @@ zh-CN:
       action_log: 审计日志
       action_taken_by: 操作执行者
       actions:
-        delete_description_html: 被举报的嘟文将被删除,同时该帐号将被标记一次处罚,以供未来同一帐号再次违规时参考。
-        other_description_html: 查看控制该被举报帐号行为以及与其通信范围的更多选项。
-        resolve_description_html: 不会对被举报帐号采取任何动作,举报将被关闭,也不会留下处罚记录。
-        silence_description_html: 只有关注或手工搜索此帐号才能查看其资料,将严重限制其触达范围。可随时撤销。
-        suspend_description_html: 此帐号及其内容将无法访问,并最终被删除。也无法与该帐号交互。可在30天内撤销。
-      actions_description_html: 决定采取何种措施处理此举报。如果对被举报帐号采取惩罚性措施,将向其发送一封电子邮件通知。但若选中<strong>垃圾信息</strong>类别则不会发送通知。
-      add_to_report: 添加到报告
+        delete_description_html: 被举报的嘟文将被删除,同时该账号将被标记一次处罚,以供未来同一账号再次违规时参考。
+        mark_as_sensitive_description_html: 被举报的嘟文将被标记为敏感内容,同时该账号将被标记一次处罚,以供未来同一账号再次违规时参考。
+        other_description_html: 查看更多控制该账号行为的选项,并自定义编写与被举报账号的通信。
+        resolve_description_html: 不会对被举报账号采取任何动作,举报将被关闭,也不会留下处罚记录。
+        silence_description_html: 只有关注或手工搜索此账号才能查看其资料,将严重限制其触达范围。可随时撤销。
+        suspend_description_html: 此账号及其内容将无法访问,并最终被删除。也无法与该账号交互。可在30天内撤销。
+      actions_description_html: 决定采取何种措施处理此举报。如果对被举报账号采取惩罚性措施,将向其发送一封电子邮件通知。但若选中<strong>垃圾信息</strong>类别则不会发送通知。
+      add_to_report: 增加更多举报内容
       are_you_sure: 你确定吗?
       assign_to_self: 接管
       assigned: 已接管的监察员
       by_target_domain: 被举报账户的域名
       category: 类别
-      category_description_html: 此帐号和/或内容被举报的原因将在与该帐号的通信中被引用。
+      category_description_html: 在与被举报账户的通信时,将引用该账号和/或内容被举报的原因
       comment:
         none: 没有
       comment_description_html: "%{name} 补充道:"
@@ -593,6 +608,7 @@ zh-CN:
       forwarded: 已转发
       forwarded_to: 转发举报至 %{domain}
       mark_as_resolved: 标记为“已处理”
+      mark_as_sensitive: 标记为敏感内容
       mark_as_unresolved: 标记为“未处理”
       no_one_assigned: 未分派
       notes:
@@ -614,7 +630,7 @@ zh-CN:
       skip_to_actions: 跳转到操作
       status: 状态
       statuses: 被举报内容
-      statuses_description_html: 违规内容将在与该帐号的通信中被引用
+      statuses_description_html: 在与该账号的通信中将引用违规内容
       target_origin: 被举报账号的来源
       title: 举报
       unassign: 取消接管
@@ -736,8 +752,9 @@ zh-CN:
       actions:
         delete_statuses: "%{name} 刪除了 %{target} 的嘟文"
         disable: "%{name} 冻结了用户 %{target}"
+        mark_statuses_as_sensitive: "%{name} 已将 %{target} 的嘟文标记为敏感内容"
         none: "%{name} 向 %{target} 发送了警告"
-        sensitive: "%{name} 将 %{target} 的帐号标记为敏感内容"
+        sensitive: "%{name} 将 %{target} 的账号标记为敏感内容"
         silence: "%{name} 限制了用户 %{target}"
         suspend: "%{name} 封禁了用户 %{target}"
       appeal_approved: 已申诉
@@ -761,6 +778,7 @@ zh-CN:
       links:
         allow: 允许链接
         allow_provider: 允许发布者
+        description_html: 这些是当前此服务器可见账号的嘟文中被大量分享的链接。它可以帮助用户了解正在发生的事情。发布者获得批准前不会公开显示任何链接。你也可以批准或拒绝单个链接。
         disallow: 不允许链接
         disallow_provider: 不允许发布者
         shared_by_over_week:
@@ -772,10 +790,19 @@ zh-CN:
       pending_review: 待审核
       preview_card_providers:
         allowed: 来自此发布者的链接可进入流行列表
+        description_html: 这些域名所属的链接经常在此服务器上被分享。在对应域名获得批准前链接不会公开显示在趋势中。批准和拒绝操作也会对子域名生效。
         rejected: 来自此发布者的链接不会进入流行列表
         title: 发布者
       rejected: 已拒绝
       statuses:
+        allow: 允许嘟文
+        allow_account: 允许作者
+        description_html: 这些是当前此服务器可见的被大量分享和喜欢的嘟文。它可以帮助新用户和老用户发现更多可关注的账号。发布者获得批准前不会公开显示任何嘟文。同时发布者还需要允许其账号被推荐给其他用户。你也可以批准或拒绝单条嘟文。
+        disallow: 禁止本嘟文
+        disallow_account: 禁止本作者
+        not_discoverable: 发布者未选择可被发现
+        shared_by:
+          other: 被分享和喜欢%{friendly_count}次
         title: 热门嘟文
       tags:
         current_score: 当前 %{score} 分
@@ -785,6 +812,7 @@ zh-CN:
           tag_servers_dimension: 服务器排行
           tag_servers_measure: 不同服务器
           tag_uses_measure: 总使用
+        description_html: 这些是当前此服务器可见嘟文中大量出现的标签。它可以帮助用户发现其他人正关注的话题。在获得批准前不会公开显示任何标签。
         listable: 可被推荐
         not_listable: 不会被推荐
         not_trendable: 不会出现在流行列表中
@@ -810,30 +838,35 @@ zh-CN:
     new_appeal:
       actions:
         delete_statuses: 删除其嘟文
-        disable: 冻结其帐号
+        disable: 冻结其账号
+        mark_statuses_as_sensitive: 标记其嘟文为敏感内容
         none: 警告
-        sensitive: 标记其帐号为敏感内容
-        silence: 限制其帐号
-        suspend: 停用其帐号
+        sensitive: 标记其账号为敏感内容
+        silence: 限制其账号
+        suspend: 停用其账号
       body: "%{target} 对 %{action_taken_by} 于 %{date} 做出的 %{type} 审核结果提出申诉,写道:"
       next_steps: 你可以批准此申诉并撤销该审核结果,也可以忽略此申诉。
       subject: "%{username} 对 %{instance} 的审核结果提出了申诉"
     new_pending_account:
       body: 新帐户的详细信息如下。你可以批准或拒绝此申请。
-      subject: 在 %{instance} 上有新帐号 ( %{username}) 需要审核
+      subject: 在 %{instance} 上有新账号 (%{username}) 需要审核
     new_report:
       body: "%{reporter} 举报了用户 %{target}"
       body_remote: 来自 %{domain} 的用户举报了用户 %{target}
       subject: 来自 %{instance} 的用户举报(#%{id})
     new_trends:
+      body: 以下项目需要审核才能公开显示:
       new_trending_links:
         no_approved_links: 当前没有经过批准的热门链接。
+        requirements: '以下候选均可超过 #%{rank} 已批准趋势链接,当前为 "%{lowest_link_title}",分数为 %{lowest_link_score}。'
         title: 热门链接
       new_trending_statuses:
         no_approved_statuses: 当前没有经过批准的热门链接。
+        requirements: '以下候选均可超过 #%{rank} 已批准趋势嘟文,当前为 %{lowest_status_url} 分数为 %{lowest_status_score}。'
         title: 热门嘟文
       new_trending_tags:
         no_approved_tags: 目前没有经批准的热门标签。
+        requirements: '这些候选人都可能会超过#%{rank} 批准的热门标签,目前是 #%{lowest_tag_name} ,分数为 %{lowest_tag_score}。'
         title: 热门标签
       subject: "%{instance} 上的新趋势供审核"
   aliases:
@@ -841,7 +874,7 @@ zh-CN:
     created_msg: 成功创建了一个新别名。你现在可以从旧账户开始迁移了。
     deleted_msg: 成功移除别名。已经无法从该帐户移动到此帐户了。
     empty: 你没有设置别名
-    hint_html: 如果你想把另一个帐号迁移到这里,你可以先在这里创建一个别名。如果你想把关注者迁移过来,这一步是必须的。设置别名的操作时<strong>无害而且可以恢复的</strong>。<strong>帐号迁移的操作会从旧帐号开始</strong>。
+    hint_html: 如果你想从另一个账号迁移到这里,可以先在这里创建一个别名。要把旧账号的关注者迁移过来,这一步是必须的。设置别名的操作是<strong>无害且可撤销的</strong>。<strong>账号迁移的操作会从旧账号发起</strong>。
     remove: 取消关联别名
   appearance:
     advanced_web_interface: 高级 Web 界面
@@ -880,7 +913,7 @@ zh-CN:
     description:
       prefix_invited_by_user: "@%{name} 邀请你加入这个Mastodon服务器!"
       prefix_sign_up: 现在就注册 Mastodon!
-      suffix: 注册一个帐号,你就可以关注别人、发布嘟文、并和其它任何Mastodon服务器上的用户交流,而且还有其它更多功能!
+      suffix: 注册一个账号,你就可以关注他人、发布嘟文、并和其它任何 Mastodon 服务器上的用户交流,而且还有其它更多功能!
     didnt_get_confirmation: 没有收到确认邮件?
     dont_have_your_security_key: 没有你的安全密钥?
     forgot_password: 忘记密码?
@@ -891,7 +924,7 @@ zh-CN:
     login: 登录
     logout: 登出
     migrate_account: 迁移到另一个帐户
-    migrate_account_html: 如果你希望引导别人关注另一个帐户,请<a href="%{path}">点击这里进行设置</a>。
+    migrate_account_html: 如果你希望引导他人关注另一个账号,请<a href="%{path}">点击这里进行设置</a>。
     or_log_in_with: 或通过外部服务登录
     providers:
       cas: CAS
@@ -904,13 +937,15 @@ zh-CN:
     set_new_password: 设置新密码
     setup:
       email_below_hint_html: 如果下面的电子邮箱地址是错误的,你可以在这里修改并重新发送新的确认邮件。
-      email_settings_hint_html: 确认邮件已经发送到%{email}。如果该邮箱地址不对,你可以在帐号设置里面修改。
+      email_settings_hint_html: 确认邮件已经发送到%{email}。如果该邮箱地址不对,你可以在账号设置里面修改。
       title: 初始设置
     status:
       account_status: 帐户状态
       confirming: 等待电子邮件确认完成。
+      functional: 你的账号可以正常使用了。
       pending: 工作人员正在审核你的申请。这需要花点时间。在申请被批准后,你将收到一封电子邮件。
       redirecting_to: 你的帐户无效,因为它已被设置为跳转到 %{acct}
+      view_strikes: 查看针对你账号的记录
     too_fast: 表单提交过快,请重试。
     trouble_logging_in: 登录有问题?
     use_security_key: 使用安全密钥
@@ -986,17 +1021,19 @@ zh-CN:
         submit: 提交申诉
       associated_report: 相关举报
       created_at: 日期
+      description_html: 这些是针对您的帐户采取的行动和警告,已经由 %{instance} 的工作人员发送给您。
       recipient: 发送至
       status: '嘟文 #%{id}'
       status_removed: 嘟文已从系统中删除
       title: "%{action} 于 %{date}"
       title_actions:
         delete_statuses: 嘟文删除
-        disable: 帐号冻结
+        disable: 账号冻结
+        mark_statuses_as_sensitive: 标记嘟文有敏感内容
         none: 警告
-        sensitive: 标记帐号为敏感内容
-        silence: 帐号限制
-        suspend: 帐号封禁
+        sensitive: 标记账号有敏感内容
+        silence: 账号限制
+        suspend: 账号封禁
       your_appeal_approved: 你的申诉已被批准
       your_appeal_pending: 你已提交申诉
       your_appeal_rejected: 你的申诉已被驳回
@@ -1110,7 +1147,7 @@ zh-CN:
     max_uses:
       other: "%{count} 次"
     max_uses_prompt: 无限制
-    prompt: 生成分享链接,邀请别人在本服务器注册
+    prompt: 生成分享链接,邀请他人在本服务器注册
     table:
       expires_at: 失效时间
       uses: 已使用次数
@@ -1137,34 +1174,34 @@ zh-CN:
   migrations:
     acct: 新帐户的 用户名@域名
     cancel: 取消跳转
-    cancel_explanation: 取消跳转将会重新激活你当前的帐号,但是已经迁移到新账号的关注者不会回来。
+    cancel_explanation: 取消跳转将会重新激活你当前的账号,但是已经迁移到新账号的关注者不会回来。
     cancelled_msg: 成功取消跳转
     errors:
-      already_moved: 和你已经迁移过的帐号相同
-      missing_also_known_as: 没有引用此帐号
+      already_moved: 和你已经迁移过的账号相同
+      missing_also_known_as: 没有引用此账号
       move_to_self: 不能是当前帐户
       not_found: 找不到
       on_cooldown: 你正处于冷却状态
     followers_count: 迁移时的关注者
-    incoming_migrations: 从其它帐号迁移
-    incoming_migrations_html: 要把另一个帐号移动到本帐号,首先你需要 <a href="%{path}">创建一个帐号别名</a> 。
-    moved_msg: 你的帐号现在会跳转到%{acct} ,同时关注者也会迁移过去 。
-    not_redirecting: 你的帐号当前未跳转到其它帐户。
-    on_cooldown: 你最近已经迁移过你的帐号。此功能将在%{count} 天后再次可用。
+    incoming_migrations: 从其它账号迁移
+    incoming_migrations_html: 要把另一个账号移动到本账号,首先你需要<a href="%{path}">创建一个账号别名</a> 。
+    moved_msg: 你的账号现在会跳转到 %{acct} ,同时关注者也会一并迁移 。
+    not_redirecting: 你的账号当前未跳转到其它账号。
+    on_cooldown: 你最近已经迁移过你的账号。此功能将在%{count} 天后再次可用。
     past_migrations: 迁移记录
     proceed_with_move: 移动关注者
     redirected_msg: 你的账号现在会跳转至 %{acct}
     redirecting_to: 你的帐户被跳转到了 %{acct}。
     set_redirect: 设置跳转
     warning:
-      backreference_required: 新账号必须先引用现在这个帐号
+      backreference_required: 新账号必须先引用当前账号
       before: 在继续前,请仔细阅读下列说明:
       cooldown: 移动后会有一个冷却期,在此期间你将无法再次移动
       disabled_account: 此后,你的当前帐户将无法使用。但是,你仍然有权导出数据或者重新激活。
       followers: 这步操作将把所有关注者从当前账户移动到新账户
-      only_redirect_html: 或者,你可以<a href="%{path}">只在你的帐号资料上设置一个跳转</a>。
+      only_redirect_html: 或者,你可以<a href="%{path}">只在你的账号资料上设置一个跳转</a>。
       other_data: 不会自动移动其它数据
-      redirect: 在收到一个跳转通知后,你当前的帐号资料将会更新,并被排除在搜索范围外
+      redirect: 在收到一个跳转通知后,你当前的账号资料将会更新,并被排除在搜索范围外
   moderation:
     title: 运营
   move_handler:
@@ -1260,7 +1297,7 @@ zh-CN:
       limit_reached: 互动种类的限制
       unrecognized_emoji: 不是一个可识别的表情
   relationships:
-    activity: 帐号活动
+    activity: 账号活动
     dormant: 休眠
     follow_selected_followers: 关注选中的关注者
     followers: 关注者
@@ -1279,7 +1316,7 @@ zh-CN:
   remote_follow:
     acct: 请输入你的“用户名@实例域名”
     missing_resource: 无法确定你的帐户的跳转 URL
-    no_account_html: 还没有帐号?你可以<a href='%{sign_up_path}' target='_blank'>注册一个</a>
+    no_account_html: 还没有账号?你可以<a href='%{sign_up_path}' target='_blank'>注册一个</a>
     proceed: 确认关注
     prompt: 你正准备关注:
     reason_html: "<strong>为什么需要这个步骤?</strong> <code>%{instance}</code> 可能不是你所注册的服务器,所以我们需要先跳转到你所在的服务器。"
@@ -1343,9 +1380,9 @@ zh-CN:
     title: 会话
     view_authentication_history: 查看账户的认证历史
   settings:
-    account: 帐号
+    account: 账号
     account_settings: 帐户设置
-    aliases: 帐号别名
+    aliases: 账号别名
     appearance: 外观
     authorized_apps: 已授权的应用
     back: 返回 Mastodon
@@ -1362,6 +1399,7 @@ zh-CN:
     profile: 个人资料
     relationships: 关注管理
     statuses_cleanup: 自动删除嘟文
+    strikes: 操作记录
     two_factor_authentication: 双重认证
     webauthn_authentication: 安全密钥
   statuses:
@@ -1378,7 +1416,7 @@ zh-CN:
     default_language: 与界面显示语言相同
     disallowed_hashtags:
       other: 包含了这些禁止的话题标签:%{tags}
-    edited_at: 编辑于 %{date}
+    edited_at_html: 编辑于 %{date}
     errors:
       in_reply_not_found: 你回复的嘟文似乎不存在
     open_in_web: 在站内打开
@@ -1386,7 +1424,7 @@ zh-CN:
     pin_errors:
       direct: 仅对被提及的用户可见的帖子不能被置顶
       limit: 你所置顶的嘟文数量已经达到上限
-      ownership: 不能置顶别人的嘟文
+      ownership: 不能置顶他人的嘟文
       reblog: 不能置顶转嘟
     poll:
       total_people:
@@ -1412,7 +1450,7 @@ zh-CN:
     enabled: 自动删除旧嘟文
     enabled_hint: 当您的嘟文达到指定的过期时间后自动删除,除非它们与下面的例外之一相匹配
     exceptions: 例外
-    explanation: 因为删除帖子是一个昂贵的操作,所以这个操作会随着时间的推移而缓慢地完成,当服务器没有其他忙碌的时候。 为此原因,您的帖子可能会在达到年龄界限后被删除。
+    explanation: 删除嘟文是一个消耗系统资源的耗时操作,所以这个操作会在服务器空闲时完成。因此,您的嘟文可能会在达到过期阈值之后一段时间才会被删除。
     ignore_favs: 取消喜欢
     ignore_reblogs: 忽略转嘟
     interaction_exceptions: 基于互动的例外
@@ -1435,12 +1473,13 @@ zh-CN:
       '2629746': 1个月
       '31556952': 1年
       '5259492': 2个月
+      '604800': 一周
       '63113904': 两年
       '7889238': 3个月
     min_age_label: 过期阈值
     min_favs: 保留如下嘟文:喜欢数超过
     min_favs_hint: 喜欢数超过该阈值的的嘟文不被删除。如果留空,则无视喜欢数,直接删除。
-    min_reblogs: 保留如下嘟文:转嘟属超过
+    min_reblogs: 保留如下嘟文:转嘟数超过
     min_reblogs_hint: 转嘟数超过该阈值的的嘟文不被删除。如果留空,则无视被转嘟的数量,直接删除。
   stream_entries:
     pinned: 置顶嘟文
@@ -1557,12 +1596,12 @@ zh-CN:
     webauthn: 安全密钥
   user_mailer:
     appeal_approved:
-      action: 前往你的帐号
-      explanation: 你于 %{appeal_date} 对 %{strike_date} 在你帐号上做出的处罚提出的申诉已被批准,你的帐号已回到正常状态。
+      action: 前往你的账号
+      explanation: 你于 %{appeal_date} 对 %{strike_date} 在你账号上做出的处罚提出的申诉已被批准,你的账号已回到正常状态。
       subject: 你于 %{date} 提出的申诉已被批准
       title: 申诉已批准
     appeal_rejected:
-      explanation: 你于 %{appeal_date} 对 %{strike_date} 在你帐号上做出的处罚提出的申诉已被驳回。
+      explanation: 你于 %{appeal_date} 对 %{strike_date} 在你账号上做出的处罚提出的申诉已被驳回。
       subject: 你于 %{date} 提出的申诉已被驳回
       title: 申诉已驳回
     backup_ready:
@@ -1582,26 +1621,28 @@ zh-CN:
         spam: 垃圾信息
         violation: 内容违反了以下社区准则
       explanation:
-        delete_statuses: 你的某些嘟文被发现违反了一项或多项社区准则,随后被 %{instance} 的监察员删除。继续违规将可能导致你的帐号受到更严厉的惩罚。
+        delete_statuses: 你的一些嘟文被发现违反了一条或多条社区准则,并已被 %{instance} 的监察员删除。
         disable: 你不能再使用你的帐户,但你的个人资料和其他数据保持不变。你可以请求数据备份,更改账户设置或删除账户。
+        mark_statuses_as_sensitive: 你的一些嘟文已经被 %{instance} 检察员标记为敏感内容。这意味着人们需要在嘟文中点击媒体,才能显示媒体预览。你可以在今后发嘟时自行将媒体标记为敏感内容。
         sensitive: 即刻起,你上传的所有媒体文件都将被标记为敏感内容并隐藏,在点击警告后才能查看。
-        silence: 你可以继续使用你的帐号,但只有已关注你的人才能在看到你在此服务器上的嘟文,并且你会被排除在各类公共列表之外。其他用户仍可以手动关注你。
+        silence: 你可以继续使用你的账号,但只有已关注你的人才能在看到你在此服务器上的嘟文,并且你会被排除在各类公共列表之外。其他用户仍可以手动关注你。
         suspend: 你不能再使用你的帐户,并且你的个人资料和其他数据都将无法访问。在大约30天内,你仍可以登录并请求数据备份,之后相关数据将被完全删除。我们会保留一些基础数据以避免封禁失效。
-      get_in_touch: 如果你认为此操作有误,可回复此邮件以与 %{instance} 的工作人员取得联系。
       reason: 理由:
-      statuses: 被发现有违规行为的嘟文:
+      statuses: 被引用的嘟文:
       subject:
         delete_statuses: 你在 %{acct} 的嘟文已被删除
         disable: 你的帐户 %{acct} 已被冻结
+        mark_statuses_as_sensitive: 你在 %{acct} 的嘟文已被标记为敏感内容
         none: 对 %{acct} 的警告
-        sensitive: 你在 %{acct} 的媒体文件将被标记为敏感内容
+        sensitive: 你在 %{acct} 的嘟文将从此被标记为敏感内容
         silence: 你的帐户 %{acct} 已被隐藏
         suspend: 你的帐户 %{acct} 已被封禁。
       title:
         delete_statuses: 嘟文已删除
         disable: 账号已冻结
+        mark_statuses_as_sensitive: 嘟文已被标记为敏感内容
         none: 警示
-        sensitive: 已隐藏的媒体内容
+        sensitive: 账户已被标记为敏感内容
         silence: 帐户被隐藏
         suspend: 账号被封禁
     welcome:
diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml
index b48182e8d..f85291b2c 100644
--- a/config/locales/zh-HK.yml
+++ b/config/locales/zh-HK.yml
@@ -66,7 +66,6 @@ zh-HK:
     media: 媒體
     moved_html: "%{name} 已經轉移到 %{new_profile_link}:"
     network_hidden: 此信息不可用
-    never_active: 永不
     nothing_here: 暫時未有內容可以顯示!
     people_followed_by: "%{name} 關注的人"
     people_who_follow: 關注 %{name} 的人
@@ -345,7 +344,6 @@ zh-HK:
       enable: 啟用
       enabled: 已啟用
       enabled_msg: 已啟用表情符號
-      image_hint: PNG 格式,最大 50KB
       list: 列出
       listed: 已列出
       new:
@@ -396,17 +394,6 @@ zh-HK:
       reject_media_hint: 刪除本地緩存的媒體檔案,再也不在未來下載這個站點的檔案。和自動刪除無關
       reject_reports: 拒絕檢舉個案
       reject_reports_hint: 忽略所有來自此站點的檢舉。與停權無關
-      rejecting_media: 拒絕媒體檔案
-      rejecting_reports: 拒絕檢舉中
-      severity:
-        silence: 已靜音
-        suspend: 已停權
-      show:
-        retroactive:
-          silence: 對此域名的所有帳號取消靜音
-          suspend: 對此域名的所有帳號取消除名
-        title: 撤銷 %{domain} 的域名阻隔
-        undo: 撤銷
       undo: 撤銷域名阻隔
       view: 顯示正被阻隔的網域
     email_domain_blocks:
@@ -436,12 +423,7 @@ zh-HK:
         clear: 清除遞送錯誤
         restart: 重新啟動遞送
         stop: 停止遞送
-        title: 遞送
         unavailable: 離線
-        unavailable_message: 無法遞送
-        warning: 警告
-        warning_message:
-          other: 遞送失敗 %{count} 天
       delivery_available: 可傳送
       delivery_error_days: 遞送失敗天數
       delivery_error_hint: 若 %{count} 天皆無法達成遞送,將會被自動標記為離線。
@@ -1228,6 +1210,7 @@ zh-HK:
       '2629746': 1 個月
       '31556952': 1 年
       '5259492': 2 個月
+      '604800': 1 week
       '63113904': 2 年
       '7889238': 3 個月
     min_age_label: 按時間篩選
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index 930f4f040..43a71a5dd 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -16,6 +16,7 @@ zh-TW:
     contact: 聯絡我們
     contact_missing: 未設定
     contact_unavailable: 未公開
+    continue_to_web: 於網頁程式中繼續
     discover_users: 探索使用者
     documentation: 文件
     federation_hint_html: 你只需要擁有 %{instance} 的帳戶,就可以追蹤隨便一台 Mastodon 伺服器上的人等等。
@@ -23,6 +24,8 @@ zh-TW:
     hosted_on: 在 %{domain} 運作的 Mastodon 站點
     instance_actor_flash: "這個帳戶是個用來代表伺服器自已的虛擬角色,而不是實際的使用者。它是用來聯盟用的,除非您想要封鎖整個站台,不然不該封鎖它。但要封鎖整個站台,您可以使用網域封鎖功能。 \n"
     learn_more: 了解詳細
+    logged_in_as_html: 您目前登入使用的帳號是 %{username}
+    logout_before_registering: 您已經登入了!
     privacy_policy: 隱私權政策
     rules: 伺服器規則
     rules_html: 以下是您若想在此 Mastodon 伺服器建立帳戶必須遵守的規則總結:
@@ -64,7 +67,6 @@ zh-TW:
     media: 媒體
     moved_html: "%{name} 已經搬遷到 %{new_profile_link}:"
     network_hidden: 此訊息不可用
-    never_active: 永不
     nothing_here: 暫時沒有內容可供顯示!
     people_followed_by: "%{name} 關注的人"
     people_who_follow: 關注 %{name} 的人
@@ -365,7 +367,7 @@ zh-TW:
       enable: 啟用
       enabled: 已啟用
       enabled_msg: 已啟用表情符號
-      image_hint: PNG 格式, 最大 50KB
+      image_hint: 檔案大小最大至 %{size} 之 PNG 或 GIF
       list: 列表
       listed: 已顯示
       new:
@@ -438,21 +440,6 @@ zh-TW:
       reject_media_hint: 刪除本地快取的媒體檔案,並且不再接收來自該站點的任何媒體檔案。與停權無關
       reject_reports: 拒絕檢舉
       reject_reports_hint: 忽略所有來自此站點的檢舉。與停權無關
-      rejecting_media: 拒絕媒體檔案
-      rejecting_reports: 拒絕檢舉中
-      severity:
-        silence: 已靜音
-        suspend: 已停權
-      show:
-        affected_accounts:
-          one: 資料庫中的 1 個帳號受到影響
-          other: 資料庫中的 %{count} 個帳號受到影響
-          zero: 沒有影響到資料庫中的帳號
-        retroactive:
-          silence: 對此站點的所有使用者取消靜音
-          suspend: 對此站點的所有使用者取消停權
-        title: 撤銷 %{domain} 的站點封鎖
-        undo: 撤銷
       undo: 復原欲封鎖域名
       view: 顯示阻擋的網域
     email_domain_blocks:
@@ -484,22 +471,45 @@ zh-TW:
       title: 跟隨建議
       unsuppress: 回復跟隨建議
     instances:
+      availability:
+        description_html:
+          other: 若在<strong>%{count}天</strong>向某個網域遞送失敗,除非收到某個網域的遞送<em>表單</em>,否則不會繼續嘗試遞送。
+        failure_threshold_reached: 錯誤門檻於 %{date}。
+        failures_recorded:
+          other: 錯誤嘗試於 %{count} 天。
+        no_failures_recorded: 報告中沒有錯誤。
+        title: 可用狀態
       back_to_all: 所有
       back_to_limited: 受限制的
       back_to_warning: 警告
       by_domain: 站台
       confirm_purge: 您確定要永久刪除來自此網域的資料嗎?
+      content_policies:
+        comment: 內部備註
+        description_html: 您可以定義對所有此網域帳號及其子網域所實施之內容政策。
+        policies:
+          reject_media: 拒絕多媒體
+          reject_reports: 拒絕檢舉
+          silence: 限制
+          suspend: 停權
+        policy: 政策
+        reason: 公開理由
+        title: 內容政策
+      dashboard:
+        instance_accounts_dimension: 最多人跟隨之帳號
+        instance_accounts_measure: 已儲存帳號
+        instance_followers_measure: 我們那邊的跟隨者
+        instance_follows_measure: 他們這邊的跟隨者
+        instance_languages_dimension: 熱門語言
+        instance_media_attachments_measure: 已儲存多媒體附加檔案
+        instance_reports_measure: 關於他們的檢舉報告
+        instance_statuses_measure: 已儲存嘟文
       delivery:
         all: 所有
         clear: 清除遞送錯誤
         restart: 重新啟動遞送
         stop: 停止遞送
-        title: 遞送
         unavailable: 無法使用
-        unavailable_message: 無法使用遞送
-        warning: 警告
-        warning_message:
-          other: 遞送失敗 %{count} 天
       delivery_available: 可傳送
       delivery_error_days: 遞送失敗天數
       delivery_error_hint: 若 %{count} 日皆無法遞送 ,則會自動標記無法遞送。
@@ -516,12 +526,14 @@ zh-TW:
       private_comment: 私人留言
       public_comment: 公開留言
       purge: 清除
+      purge_description_html: 若您相信此網域將永久離線,您可以自儲存空間中刪除該網域所有帳號紀錄及相關資料。這可能花費一些時間。
       title: 聯邦
       total_blocked_by_us: 被我們封鎖
       total_followed_by_them: 被他們關注
       total_followed_by_us: 被我們關注
       total_reported: 關於他們的舉報
       total_storage: 多媒體附檔
+      totals_time_period_hint_html: 以下顯示之總和包含所有時間的資料。
     invites:
       deactivate_all: 全部停用
       filter:
@@ -575,6 +587,7 @@ zh-TW:
       action_taken_by: 操作執行者
       actions:
         delete_description_html: 被檢舉的嘟文將被刪除,並且會被以刪除線標記,幫助您升級同一帳號未來的違規行為。
+        mark_as_sensitive_description_html: 被檢舉的嘟文中的媒體將會被標記為敏感,並將會記錄一次警告,以協助您升級同一帳號未來的違規行為。
         other_description_html: 檢視更多控制帳號行為以及自訂檢舉帳號通知之選項。
         resolve_description_html: 被檢舉的帳號將不被採取任何行動,不會加以刪除線標記,並且此份報告將被關閉。
         silence_description_html: 個人頁面僅會對已跟隨帳號之使用者或手動查詢可見,將大幅度限制觸及範圍。此設定可隨時被還原。
@@ -595,6 +608,7 @@ zh-TW:
       forwarded: 已轉寄
       forwarded_to: 轉寄到 %{domain}
       mark_as_resolved: 標記為「已解決」
+      mark_as_sensitive: 標記為敏感內容
       mark_as_unresolved: 標記為「未解決」
       no_one_assigned: 沒有人
       notes:
@@ -738,6 +752,7 @@ zh-TW:
       actions:
         delete_statuses: "%{name} 刪除了 %{target} 的貼文"
         disable: "%{name} 凍結了 %{target} 的帳號"
+        mark_statuses_as_sensitive: "%{name} 將 %{target} 的嘟文標記為敏感內容"
         none: "%{name} 已對 %{target} 送出警告"
         sensitive: "%{name} 將 %{target} 的帳號標記為含有敏感內容"
         silence: "%{name} 限制了 %{target} 的帳號"
@@ -763,6 +778,7 @@ zh-TW:
       links:
         allow: 允許連結
         allow_provider: 允許發行者
+        description_html: 這些連結是正在被您伺服器上看到該嘟文之帳號大量分享。這些連結可以幫助您的使用者探索現在世界上正在發生的事情。除非您核准該發佈者,連結將不被公開展示。您也可以核准或駁回個別連結。
         disallow: 不允許連結
         disallow_provider: 不允許發行者
         shared_by_over_week:
@@ -774,14 +790,17 @@ zh-TW:
       pending_review: 等待審核中
       preview_card_providers:
         allowed: 此發行者之連結能登上熱門
+        description_html: 這些網域來自被您伺服器常被分享的連結。除非您核准該連結,則這些連結將不會成為公開熱門標籤。您的核准或駁回將對子網域仍有效。
         rejected: 此發行者之連結不會登上熱門
         title: 發行者
       rejected: 被拒絕
       statuses:
         allow: 允許嘟文
         allow_account: 允許作者
+        description_html: 這些是您伺服器上已知被正在大量分享及加入最愛之嘟文。這些嘟文能幫助您伺服器上舊雨新知發現更多帳號來跟隨。除非您核准該作者且作者允許他們的帳號被推薦至其他人,嘟文將不被公開展示。您可以核准或駁回個別嘟文。
         disallow: 不允許嘟文
         disallow_account: 不允許作者
+        not_discoverable: 嘟文作者選擇不被發現
         shared_by:
           other: 分享過或/及收藏過 %{friendly_count} 次
         title: 熱門嘟文
@@ -793,6 +812,7 @@ zh-TW:
           tag_servers_dimension: 熱門伺服器
           tag_servers_measure: 不同伺服器
           tag_uses_measure: 總使用次數
+        description_html: 這些主題標籤正在您的伺服器上大量嘟文中出現。這些主題標籤能幫助您的使用者發現人們正集中討論的內容。除非您核准,主題標籤將不被公開展示。
         listable: 能被建議
         not_listable: 不能被建議
         not_trendable: 不會登上熱門
@@ -819,6 +839,7 @@ zh-TW:
       actions:
         delete_statuses: 要刪除他們的嘟文
         disable: 要凍結他們的帳號
+        mark_statuses_as_sensitive: 要將他們的嘟文標記為含有敏感內容
         none: 警告
         sensitive: 要將他們的帳號標記為含有敏感內容
         silence: 要限制他們的帳號
@@ -921,8 +942,10 @@ zh-TW:
     status:
       account_status: 帳戶狀態
       confirming: 等待電子郵件確認完成。
+      functional: 您的帳號可以正常使用了。
       pending: 管管們正在處理您的申請,這可能需要一點時間處理。我們將在申請通過後以電子郵件方式通知您。
       redirecting_to: 您的帳戶因目前重新導向至 %{acct} 而被停用。
+      view_strikes: 檢視針對您帳號過去的警示
     too_fast: 送出表單的速度太快跟不上,請稍後再試。
     trouble_logging_in: 登錄時遇到困難?
     use_security_key: 使用安全金鑰
@@ -998,6 +1021,7 @@ zh-TW:
         submit: 遞交申訴
       associated_report: 相關報告
       created_at: 過時的
+      description_html: 這些是 %{instance} 的管理員向您發送的針對您的帳號採取的措施與警告。
       recipient: 此致
       status: '嘟文編號 #%{id}'
       status_removed: 嘟文已從系統中移除
@@ -1005,8 +1029,9 @@ zh-TW:
       title_actions:
         delete_statuses: 嘟文移除
         disable: 凍結帳號
+        mark_statuses_as_sensitive: 將嘟文標記為敏感
         none: 警告
-        sensitive: 標記為敏感帳號
+        sensitive: 將帳號標記為敏感
         silence: 帳號限制
         suspend: 帳號停權
       your_appeal_approved: 您的申訴已被批准
@@ -1374,6 +1399,7 @@ zh-TW:
     profile: 使用者資訊
     relationships: 跟隨中與跟隨者
     statuses_cleanup: 自動貼文刪除
+    strikes: 管理警告
     two_factor_authentication: 兩階段認證
     webauthn_authentication: 安全金鑰
   statuses:
@@ -1390,7 +1416,7 @@ zh-TW:
     default_language: 與介面語言相同
     disallowed_hashtags:
       other: 含有不得使用的標籤: %{tags}
-    edited_at: 已編輯:%{date}
+    edited_at_html: 編輯於 %{date}
     errors:
       in_reply_not_found: 您嘗試回覆的嘟文看起來不存在。
     open_in_web: 以網頁開啟
@@ -1447,6 +1473,7 @@ zh-TW:
       '2629746': 1 個月
       '31556952': 1 年
       '5259492': 2 個月
+      '604800': 一週
       '63113904': 2 年
       '7889238': 3 個月
     min_age_label: 按時間篩選
@@ -1592,26 +1619,28 @@ zh-TW:
         spam: 垃圾訊息
         violation: 該內容違反以下社群規章
       explanation:
-        delete_statuses: 您部份的貼文被認定違反一項或多項社群規章,並且已被 %{instance} 的管理員依規定移除。往後更多的違規可能導致對您帳號更嚴重的處罰。
+        delete_statuses: 您的某些嘟文被發現違反了一項或多項社群準則,隨後已被 %{instance} 的管理員刪除。
         disable: 您無法繼續使用您的帳號,但您的個人頁面及其他資料內容保持不變。您可以要求一份您的資料備份,帳號異動設定,或是刪除帳號。
+        mark_statuses_as_sensitive: 您的部份嘟文已被 %{instance} 的管理員標記為敏感。這代表了人們必須在顯示預覽前點擊嘟文中的媒體。您可以在將來嘟文時自己將媒體標記為敏感。
         sensitive: 由此刻起,您所有上傳的媒體檔案將被標記為敏感內容,並且隱藏於點擊警告之後。
         silence: 您仍然可以使用您的帳號,但僅有已追蹤您的人才能看到您在此伺服器的貼文,您也可能會從各式探索功能中被排除。但其他人仍可手動追蹤您。
         suspend: 您將不能使用您的帳號,您的個人資料頁面及其他資料將不再能被存取。您仍可於約 30 日內資料被完全刪除前要求下載你的資料,但我們仍會保留一部份基本資料,以防止有人規避停權處罰。
-      get_in_touch: 如果您認為這是個錯誤,您可回復這封 e-mail 來連繫 %{instance} 的管理員。
       reason: 原因:
-      statuses: 被判定違規之嘟文:
+      statuses: 引用的嘟文:
       subject:
         delete_statuses: 您於 %{acct} 之嘟文已被移除
         disable: 您的帳號 %{acct} 已被凍結
+        mark_statuses_as_sensitive: 您在 %{acct} 上的嘟文已被標記為敏感
         none: 對 %{acct} 的警告
-        sensitive: 您於 %{acct} 之媒體檔案即刻起已被標記為敏感內容
+        sensitive: 從現在開始,您在 %{acct} 上的嘟文將會被標記為敏感
         silence: 您的帳號 %{acct} 已被限制
         suspend: 您的帳號 %{acct} 已被停權
       title:
         delete_statuses: 嘟文已移除
         disable: 帳號已被涷結
+        mark_statuses_as_sensitive: 嘟文已標記為敏感內容
         none: 警告
-        sensitive: 隱藏媒體內容
+        sensitive: 帳號已標記為敏感內容
         silence: 帳號已被限制
         suspend: 帳號己被停用
     welcome:
diff --git a/config/routes.rb b/config/routes.rb
index 3449fa03d..4ed2ee760 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -194,7 +194,7 @@ Rails.application.routes.draw do
     get '/dashboard', to: 'dashboard#index'
 
     resources :domain_allows, only: [:new, :create, :show, :destroy]
-    resources :domain_blocks, only: [:new, :create, :show, :destroy, :update, :edit]
+    resources :domain_blocks, only: [:new, :create, :destroy, :update, :edit]
 
     resources :email_domain_blocks, only: [:index, :new, :create] do
       collection do
diff --git a/db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb b/db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb
index 366bf9aa7..652ce9752 100644
--- a/db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb
+++ b/db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb
@@ -16,7 +16,7 @@ class AddFixedLowercaseIndexToAccounts < ActiveRecord::Migration[5.2]
       add_index :accounts, "lower (username), COALESCE(lower(domain), '')", name: 'index_accounts_on_username_and_domain_lower', unique: true, algorithm: :concurrently
     rescue ActiveRecord::RecordNotUnique
       remove_index :accounts, name: 'index_accounts_on_username_and_domain_lower'
-      raise CorruptionError
+      raise CorruptionError.new('index_accounts_on_username_and_domain_lower')
     end
 
     remove_index :accounts, name: 'old_index_accounts_on_username_and_domain_lower' if index_name_exists?(:accounts, 'old_index_accounts_on_username_and_domain_lower')
diff --git a/db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb b/db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb
index e492c9e86..b3ee11d09 100644
--- a/db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb
+++ b/db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb
@@ -10,7 +10,7 @@ class AddCaseInsensitiveBtreeIndexToTags < ActiveRecord::Migration[5.2]
       safety_assured { execute 'CREATE UNIQUE INDEX CONCURRENTLY index_tags_on_name_lower_btree ON tags (lower(name) text_pattern_ops)' }
     rescue ActiveRecord::StatementInvalid => e
       remove_index :tags, name: 'index_tags_on_name_lower_btree'
-      raise CorruptionError if e.is_a?(ActiveRecord::RecordNotUnique)
+      raise CorruptionError.new('index_tags_on_name_lower_btree') if e.is_a?(ActiveRecord::RecordNotUnique)
       raise e
     end
 
diff --git a/db/migrate/20220302232632_add_ordered_media_attachment_ids_to_statuses.rb b/db/migrate/20220302232632_add_ordered_media_attachment_ids_to_statuses.rb
new file mode 100644
index 000000000..5443f32a2
--- /dev/null
+++ b/db/migrate/20220302232632_add_ordered_media_attachment_ids_to_statuses.rb
@@ -0,0 +1,5 @@
+class AddOrderedMediaAttachmentIdsToStatuses < ActiveRecord::Migration[6.1]
+  def change
+    add_column :statuses, :ordered_media_attachment_ids, :bigint, array: true
+  end
+end
diff --git a/db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb b/db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb
new file mode 100644
index 000000000..b1071f359
--- /dev/null
+++ b/db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb
@@ -0,0 +1,8 @@
+class AddOrderedMediaAttachmentIdsToStatusEdits < ActiveRecord::Migration[6.1]
+  def change
+    add_column :status_edits, :ordered_media_attachment_ids, :bigint, array: true
+    add_column :status_edits, :media_descriptions, :text, array: true
+    add_column :status_edits, :poll_options, :string, array: true
+    add_column :status_edits, :sensitive, :boolean
+  end
+end
diff --git a/db/migrate/20220307094650_fix_featured_tags_constraints.rb b/db/migrate/20220307094650_fix_featured_tags_constraints.rb
new file mode 100644
index 000000000..bad1c90d4
--- /dev/null
+++ b/db/migrate/20220307094650_fix_featured_tags_constraints.rb
@@ -0,0 +1,17 @@
+class FixFeaturedTagsConstraints < ActiveRecord::Migration[6.1]
+  def up
+    safety_assured do
+      execute 'DELETE FROM featured_tags WHERE tag_id IS NULL'
+      change_column_null :featured_tags, :tag_id, false
+      execute 'DELETE FROM featured_tags WHERE account_id IS NULL'
+      change_column_null :featured_tags, :account_id, false
+    end
+  end
+
+  def down
+    safety_assured do
+      change_column_null :featured_tags, :tag_id, true
+      change_column_null :featured_tags, :account_id, true
+    end
+  end
+end
diff --git a/db/migrate/20220309213005_fix_reblog_deleted_at.rb b/db/migrate/20220309213005_fix_reblog_deleted_at.rb
new file mode 100644
index 000000000..8ec1813d9
--- /dev/null
+++ b/db/migrate/20220309213005_fix_reblog_deleted_at.rb
@@ -0,0 +1,9 @@
+class FixReblogDeletedAt < ActiveRecord::Migration[6.1]
+  disable_ddl_transaction!
+
+  def up
+    safety_assured { execute 'UPDATE statuses s SET deleted_at = r.deleted_at FROM statuses r WHERE s.reblog_of_id = r.id AND r.deleted_at IS NOT NULL' }
+  end
+
+  def down; end
+end
diff --git a/db/migrate/20220316233212_update_kurdish_locales.rb b/db/migrate/20220316233212_update_kurdish_locales.rb
new file mode 100644
index 000000000..36586622f
--- /dev/null
+++ b/db/migrate/20220316233212_update_kurdish_locales.rb
@@ -0,0 +1,17 @@
+class UpdateKurdishLocales < ActiveRecord::Migration[6.1]
+  class User < ApplicationRecord
+    # Dummy class, to make migration possible across version changes
+  end
+
+  disable_ddl_transaction!
+
+  def up
+    User.where(locale: 'ku').in_batches.update_all(locale: 'ckb')
+    User.where(locale: 'kmr').in_batches.update_all(locale: 'ku')
+  end
+
+  def down
+    User.where(locale: 'ku').in_batches.update_all(locale: 'kmr')
+    User.where(locale: 'ckb').in_batches.update_all(locale: 'ku')
+  end
+end
diff --git a/db/post_migrate/20220303203437_remove_media_attachments_changed_from_status_edits.rb b/db/post_migrate/20220303203437_remove_media_attachments_changed_from_status_edits.rb
new file mode 100644
index 000000000..09725c74e
--- /dev/null
+++ b/db/post_migrate/20220303203437_remove_media_attachments_changed_from_status_edits.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class RemoveMediaAttachmentsChangedFromStatusEdits < ActiveRecord::Migration[5.2]
+  def change
+    safety_assured { remove_column :status_edits, :media_attachments_changed, :boolean, default: false, null: false }
+  end
+end
diff --git a/db/post_migrate/20220307083603_optimize_null_index_conversations_uri.rb b/db/post_migrate/20220307083603_optimize_null_index_conversations_uri.rb
new file mode 100644
index 000000000..9f45bec7e
--- /dev/null
+++ b/db/post_migrate/20220307083603_optimize_null_index_conversations_uri.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexConversationsUri < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :conversations, 'index_conversations_on_uri', :uri, unique: true, where: 'uri IS NOT NULL', opclass: :text_pattern_ops
+  end
+
+  def down
+    update_index :conversations, 'index_conversations_on_uri', :uri, unique: true
+  end
+end
diff --git a/db/post_migrate/20220310060545_optimize_null_index_statuses_in_reply_to_account_id.rb b/db/post_migrate/20220310060545_optimize_null_index_statuses_in_reply_to_account_id.rb
new file mode 100644
index 000000000..ddb07ab5d
--- /dev/null
+++ b/db/post_migrate/20220310060545_optimize_null_index_statuses_in_reply_to_account_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexStatusesInReplyToAccountId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :statuses, 'index_statuses_on_in_reply_to_account_id', :in_reply_to_account_id, where: 'in_reply_to_account_id IS NOT NULL'
+  end
+
+  def down
+    update_index :statuses, 'index_statuses_on_in_reply_to_account_id', :in_reply_to_account_id
+  end
+end
diff --git a/db/post_migrate/20220310060556_optimize_null_index_statuses_in_reply_to_id.rb b/db/post_migrate/20220310060556_optimize_null_index_statuses_in_reply_to_id.rb
new file mode 100644
index 000000000..411c86456
--- /dev/null
+++ b/db/post_migrate/20220310060556_optimize_null_index_statuses_in_reply_to_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexStatusesInReplyToId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :statuses, 'index_statuses_on_in_reply_to_id', :in_reply_to_id, where: 'in_reply_to_id IS NOT NULL'
+  end
+
+  def down
+    update_index :statuses, 'index_statuses_on_in_reply_to_id', :in_reply_to_id
+  end
+end
diff --git a/db/post_migrate/20220310060614_optimize_null_index_media_attachments_scheduled_status_id.rb b/db/post_migrate/20220310060614_optimize_null_index_media_attachments_scheduled_status_id.rb
new file mode 100644
index 000000000..9d86a0364
--- /dev/null
+++ b/db/post_migrate/20220310060614_optimize_null_index_media_attachments_scheduled_status_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexMediaAttachmentsScheduledStatusId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :media_attachments, 'index_media_attachments_on_scheduled_status_id', :scheduled_status_id, where: 'scheduled_status_id IS NOT NULL'
+  end
+
+  def down
+    update_index :media_attachments, 'index_media_attachments_on_scheduled_status_id', :scheduled_status_id
+  end
+end
diff --git a/db/post_migrate/20220310060626_optimize_null_index_media_attachments_shortcode.rb b/db/post_migrate/20220310060626_optimize_null_index_media_attachments_shortcode.rb
new file mode 100644
index 000000000..658f3e42a
--- /dev/null
+++ b/db/post_migrate/20220310060626_optimize_null_index_media_attachments_shortcode.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexMediaAttachmentsShortcode < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :media_attachments, 'index_media_attachments_on_shortcode', :shortcode, unique: true, where: 'shortcode IS NOT NULL', opclass: :text_pattern_ops
+  end
+
+  def down
+    update_index :media_attachments, 'index_media_attachments_on_shortcode', :shortcode, unique: true
+  end
+end
diff --git a/db/post_migrate/20220310060641_optimize_null_index_users_reset_password_token.rb b/db/post_migrate/20220310060641_optimize_null_index_users_reset_password_token.rb
new file mode 100644
index 000000000..cc5bdae96
--- /dev/null
+++ b/db/post_migrate/20220310060641_optimize_null_index_users_reset_password_token.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexUsersResetPasswordToken < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :users, 'index_users_on_reset_password_token', :reset_password_token, unique: true, where: 'reset_password_token IS NOT NULL', opclass: :text_pattern_ops
+  end
+
+  def down
+    update_index :users, 'index_users_on_reset_password_token', :reset_password_token, unique: true
+  end
+end
diff --git a/db/post_migrate/20220310060653_optimize_null_index_users_created_by_application_id.rb b/db/post_migrate/20220310060653_optimize_null_index_users_created_by_application_id.rb
new file mode 100644
index 000000000..364939d3a
--- /dev/null
+++ b/db/post_migrate/20220310060653_optimize_null_index_users_created_by_application_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexUsersCreatedByApplicationId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :users, 'index_users_on_created_by_application_id', :created_by_application_id, where: 'created_by_application_id IS NOT NULL'
+  end
+
+  def down
+    update_index :users, 'index_users_on_created_by_application_id', :created_by_application_id
+  end
+end
diff --git a/db/post_migrate/20220310060706_optimize_null_index_statuses_uri.rb b/db/post_migrate/20220310060706_optimize_null_index_statuses_uri.rb
new file mode 100644
index 000000000..0fb5f6365
--- /dev/null
+++ b/db/post_migrate/20220310060706_optimize_null_index_statuses_uri.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexStatusesUri < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :statuses, 'index_statuses_on_uri', :uri, unique: true, where: 'uri IS NOT NULL', opclass: :text_pattern_ops
+  end
+
+  def down
+    update_index :statuses, 'index_statuses_on_uri', :uri, unique: true
+  end
+end
diff --git a/db/post_migrate/20220310060722_optimize_null_index_accounts_moved_to_account_id.rb b/db/post_migrate/20220310060722_optimize_null_index_accounts_moved_to_account_id.rb
new file mode 100644
index 000000000..ec93a417a
--- /dev/null
+++ b/db/post_migrate/20220310060722_optimize_null_index_accounts_moved_to_account_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexAccountsMovedToAccountId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :accounts, 'index_accounts_on_moved_to_account_id', :moved_to_account_id, where: 'moved_to_account_id IS NOT NULL'
+  end
+
+  def down
+    update_index :accounts, 'index_accounts_on_moved_to_account_id', :moved_to_account_id
+  end
+end
diff --git a/db/post_migrate/20220310060740_optimize_null_index_oauth_access_tokens_refresh_token.rb b/db/post_migrate/20220310060740_optimize_null_index_oauth_access_tokens_refresh_token.rb
new file mode 100644
index 000000000..30ade8e3f
--- /dev/null
+++ b/db/post_migrate/20220310060740_optimize_null_index_oauth_access_tokens_refresh_token.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexOauthAccessTokensRefreshToken < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :oauth_access_tokens, 'index_oauth_access_tokens_on_refresh_token', :refresh_token, unique: true, where: 'refresh_token IS NOT NULL', opclass: :text_pattern_ops
+  end
+
+  def down
+    update_index :oauth_access_tokens, 'index_oauth_access_tokens_on_refresh_token', :refresh_token, unique: true
+  end
+end
diff --git a/db/post_migrate/20220310060750_optimize_null_index_accounts_url.rb b/db/post_migrate/20220310060750_optimize_null_index_accounts_url.rb
new file mode 100644
index 000000000..d8bce144f
--- /dev/null
+++ b/db/post_migrate/20220310060750_optimize_null_index_accounts_url.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexAccountsURL < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :accounts, 'index_accounts_on_url', :url, where: 'url IS NOT NULL', opclass: :text_pattern_ops
+  end
+
+  def down
+    update_index :accounts, 'index_accounts_on_url', :url
+  end
+end
diff --git a/db/post_migrate/20220310060809_optimize_null_index_oauth_access_tokens_resource_owner_id.rb b/db/post_migrate/20220310060809_optimize_null_index_oauth_access_tokens_resource_owner_id.rb
new file mode 100644
index 000000000..787263bf7
--- /dev/null
+++ b/db/post_migrate/20220310060809_optimize_null_index_oauth_access_tokens_resource_owner_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexOauthAccessTokensResourceOwnerId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :oauth_access_tokens, 'index_oauth_access_tokens_on_resource_owner_id', :resource_owner_id, where: 'resource_owner_id IS NOT NULL'
+  end
+
+  def down
+    update_index :oauth_access_tokens, 'index_oauth_access_tokens_on_resource_owner_id', :resource_owner_id
+  end
+end
diff --git a/db/post_migrate/20220310060833_optimize_null_index_announcement_reactions_custom_emoji_id.rb b/db/post_migrate/20220310060833_optimize_null_index_announcement_reactions_custom_emoji_id.rb
new file mode 100644
index 000000000..4afea291a
--- /dev/null
+++ b/db/post_migrate/20220310060833_optimize_null_index_announcement_reactions_custom_emoji_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexAnnouncementReactionsCustomEmojiId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :announcement_reactions, 'index_announcement_reactions_on_custom_emoji_id', :custom_emoji_id, where: 'custom_emoji_id IS NOT NULL'
+  end
+
+  def down
+    update_index :announcement_reactions, 'index_announcement_reactions_on_custom_emoji_id', :custom_emoji_id
+  end
+end
diff --git a/db/post_migrate/20220310060854_optimize_null_index_appeals_approved_by_account_id.rb b/db/post_migrate/20220310060854_optimize_null_index_appeals_approved_by_account_id.rb
new file mode 100644
index 000000000..244b89417
--- /dev/null
+++ b/db/post_migrate/20220310060854_optimize_null_index_appeals_approved_by_account_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexAppealsApprovedByAccountId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :appeals, 'index_appeals_on_approved_by_account_id', :approved_by_account_id, where: 'approved_by_account_id IS NOT NULL'
+  end
+
+  def down
+    update_index :appeals, 'index_appeals_on_approved_by_account_id', :approved_by_account_id
+  end
+end
diff --git a/db/post_migrate/20220310060913_optimize_null_index_account_migrations_target_account_id.rb b/db/post_migrate/20220310060913_optimize_null_index_account_migrations_target_account_id.rb
new file mode 100644
index 000000000..cb1906e9f
--- /dev/null
+++ b/db/post_migrate/20220310060913_optimize_null_index_account_migrations_target_account_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexAccountMigrationsTargetAccountId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :account_migrations, 'index_account_migrations_on_target_account_id', :target_account_id, where: 'target_account_id IS NOT NULL'
+  end
+
+  def down
+    update_index :account_migrations, 'index_account_migrations_on_target_account_id', :target_account_id
+  end
+end
diff --git a/db/post_migrate/20220310060926_optimize_null_index_appeals_rejected_by_account_id.rb b/db/post_migrate/20220310060926_optimize_null_index_appeals_rejected_by_account_id.rb
new file mode 100644
index 000000000..017333c26
--- /dev/null
+++ b/db/post_migrate/20220310060926_optimize_null_index_appeals_rejected_by_account_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexAppealsRejectedByAccountId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :appeals, 'index_appeals_on_rejected_by_account_id', :rejected_by_account_id, where: 'rejected_by_account_id IS NOT NULL'
+  end
+
+  def down
+    update_index :appeals, 'index_appeals_on_rejected_by_account_id', :rejected_by_account_id
+  end
+end
diff --git a/db/post_migrate/20220310060939_optimize_null_index_list_accounts_follow_id.rb b/db/post_migrate/20220310060939_optimize_null_index_list_accounts_follow_id.rb
new file mode 100644
index 000000000..fc0d42a25
--- /dev/null
+++ b/db/post_migrate/20220310060939_optimize_null_index_list_accounts_follow_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexListAccountsFollowId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :list_accounts, 'index_list_accounts_on_follow_id', :follow_id, where: 'follow_id IS NOT NULL'
+  end
+
+  def down
+    update_index :list_accounts, 'index_list_accounts_on_follow_id', :follow_id
+  end
+end
diff --git a/db/post_migrate/20220310060959_optimize_null_index_web_push_subscriptions_access_token_id.rb b/db/post_migrate/20220310060959_optimize_null_index_web_push_subscriptions_access_token_id.rb
new file mode 100644
index 000000000..fb49e33e9
--- /dev/null
+++ b/db/post_migrate/20220310060959_optimize_null_index_web_push_subscriptions_access_token_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
+class OptimizeNullIndexWebPushSubscriptionsAccessTokenId < ActiveRecord::Migration[5.2]
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    update_index :web_push_subscriptions, 'index_web_push_subscriptions_on_access_token_id', :access_token_id, where: 'access_token_id IS NOT NULL'
+  end
+
+  def down
+    update_index :web_push_subscriptions, 'index_web_push_subscriptions_on_access_token_id', :access_token_id
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index f8d85901d..241bda8b8 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 2022_03_04_195405) do
+ActiveRecord::Schema.define(version: 2022_03_16_233212) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "plpgsql"
@@ -59,7 +59,7 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.datetime "created_at", null: false
     t.datetime "updated_at", null: false
     t.index ["account_id"], name: "index_account_migrations_on_account_id"
-    t.index ["target_account_id"], name: "index_account_migrations_on_target_account_id"
+    t.index ["target_account_id"], name: "index_account_migrations_on_target_account_id", where: "(target_account_id IS NOT NULL)"
   end
 
   create_table "account_moderation_notes", force: :cascade do |t|
@@ -188,9 +188,9 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.datetime "requested_review_at"
     t.index "(((setweight(to_tsvector('simple'::regconfig, (display_name)::text), 'A'::\"char\") || setweight(to_tsvector('simple'::regconfig, (username)::text), 'B'::\"char\")) || setweight(to_tsvector('simple'::regconfig, (COALESCE(domain, ''::character varying))::text), 'C'::\"char\")))", name: "search_index", using: :gin
     t.index "lower((username)::text), COALESCE(lower((domain)::text), ''::text)", name: "index_accounts_on_username_and_domain_lower", unique: true
-    t.index ["moved_to_account_id"], name: "index_accounts_on_moved_to_account_id"
+    t.index ["moved_to_account_id"], name: "index_accounts_on_moved_to_account_id", where: "(moved_to_account_id IS NOT NULL)"
     t.index ["uri"], name: "index_accounts_on_uri"
-    t.index ["url"], name: "index_accounts_on_url"
+    t.index ["url"], name: "index_accounts_on_url", opclass: :text_pattern_ops, where: "(url IS NOT NULL)"
   end
 
   create_table "accounts_tags", id: false, force: :cascade do |t|
@@ -230,7 +230,7 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.datetime "updated_at", null: false
     t.index ["account_id", "announcement_id", "name"], name: "index_announcement_reactions_on_account_id_and_announcement_id", unique: true
     t.index ["announcement_id"], name: "index_announcement_reactions_on_announcement_id"
-    t.index ["custom_emoji_id"], name: "index_announcement_reactions_on_custom_emoji_id"
+    t.index ["custom_emoji_id"], name: "index_announcement_reactions_on_custom_emoji_id", where: "(custom_emoji_id IS NOT NULL)"
   end
 
   create_table "announcements", force: :cascade do |t|
@@ -258,8 +258,8 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.datetime "updated_at", precision: 6, null: false
     t.index ["account_id"], name: "index_appeals_on_account_id"
     t.index ["account_warning_id"], name: "index_appeals_on_account_warning_id", unique: true
-    t.index ["approved_by_account_id"], name: "index_appeals_on_approved_by_account_id"
-    t.index ["rejected_by_account_id"], name: "index_appeals_on_rejected_by_account_id"
+    t.index ["approved_by_account_id"], name: "index_appeals_on_approved_by_account_id", where: "(approved_by_account_id IS NOT NULL)"
+    t.index ["rejected_by_account_id"], name: "index_appeals_on_rejected_by_account_id", where: "(rejected_by_account_id IS NOT NULL)"
   end
 
   create_table "backups", force: :cascade do |t|
@@ -311,7 +311,7 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.string "uri"
     t.datetime "created_at", null: false
     t.datetime "updated_at", null: false
-    t.index ["uri"], name: "index_conversations_on_uri", unique: true
+    t.index ["uri"], name: "index_conversations_on_uri", unique: true, opclass: :text_pattern_ops, where: "(uri IS NOT NULL)"
   end
 
   create_table "custom_emoji_categories", force: :cascade do |t|
@@ -391,7 +391,6 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.bigint "parent_id"
     t.inet "ips", array: true
     t.datetime "last_refresh_at"
-
     t.index ["domain"], name: "index_email_domain_blocks_on_domain", unique: true
   end
 
@@ -420,8 +419,8 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
   end
 
   create_table "featured_tags", force: :cascade do |t|
-    t.bigint "account_id"
-    t.bigint "tag_id"
+    t.bigint "account_id", null: false
+    t.bigint "tag_id", null: false
     t.bigint "statuses_count", default: 0, null: false
     t.datetime "last_status_at"
     t.datetime "created_at", null: false
@@ -510,7 +509,7 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.bigint "account_id", null: false
     t.bigint "follow_id"
     t.index ["account_id", "list_id"], name: "index_list_accounts_on_account_id_and_list_id", unique: true
-    t.index ["follow_id"], name: "index_list_accounts_on_follow_id"
+    t.index ["follow_id"], name: "index_list_accounts_on_follow_id", where: "(follow_id IS NOT NULL)"
     t.index ["list_id", "account_id"], name: "index_list_accounts_on_list_id_and_account_id"
   end
 
@@ -569,8 +568,8 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.datetime "thumbnail_updated_at"
     t.string "thumbnail_remote_url"
     t.index ["account_id", "status_id"], name: "index_media_attachments_on_account_id_and_status_id", order: { status_id: :desc }
-    t.index ["scheduled_status_id"], name: "index_media_attachments_on_scheduled_status_id"
-    t.index ["shortcode"], name: "index_media_attachments_on_shortcode", unique: true
+    t.index ["scheduled_status_id"], name: "index_media_attachments_on_scheduled_status_id", where: "(scheduled_status_id IS NOT NULL)"
+    t.index ["shortcode"], name: "index_media_attachments_on_shortcode", unique: true, opclass: :text_pattern_ops, where: "(shortcode IS NOT NULL)"
     t.index ["status_id"], name: "index_media_attachments_on_status_id"
   end
 
@@ -632,8 +631,8 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.bigint "resource_owner_id"
     t.datetime "last_used_at"
     t.inet "last_used_ip"
-    t.index ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true
-    t.index ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id"
+    t.index ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true, opclass: :text_pattern_ops, where: "(refresh_token IS NOT NULL)"
+    t.index ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id", where: "(resource_owner_id IS NOT NULL)"
     t.index ["token"], name: "index_oauth_access_tokens_on_token", unique: true
   end
 
@@ -845,10 +844,13 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.bigint "account_id"
     t.text "text", default: "", null: false
     t.text "spoiler_text", default: "", null: false
-    t.boolean "media_attachments_changed", default: false, null: false
     t.datetime "created_at", precision: 6, null: false
     t.datetime "updated_at", precision: 6, null: false
     t.string "content_type"
+    t.bigint "ordered_media_attachment_ids", array: true
+    t.text "media_descriptions", array: true
+    t.string "poll_options", array: true
+    t.boolean "sensitive"
     t.index ["account_id"], name: "index_status_edits_on_account_id"
     t.index ["status_id"], name: "index_status_edits_on_status_id"
   end
@@ -895,14 +897,15 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.datetime "deleted_at"
     t.datetime "edited_at"
     t.boolean "trendable"
+    t.bigint "ordered_media_attachment_ids", array: true
     t.index ["account_id", "id", "visibility", "updated_at"], name: "index_statuses_20190820", order: { id: :desc }, where: "(deleted_at IS NULL)"
     t.index ["deleted_at"], name: "index_statuses_on_deleted_at", where: "(deleted_at IS NOT NULL)"
     t.index ["id", "account_id"], name: "index_statuses_local_20190824", order: { id: :desc }, where: "((local OR (uri IS NULL)) AND (deleted_at IS NULL) AND (visibility = 0) AND (reblog_of_id IS NULL) AND ((NOT reply) OR (in_reply_to_account_id = account_id)))"
     t.index ["id", "account_id"], name: "index_statuses_public_20200119", order: { id: :desc }, where: "((deleted_at IS NULL) AND (visibility = 0) AND (reblog_of_id IS NULL) AND ((NOT reply) OR (in_reply_to_account_id = account_id)))"
-    t.index ["in_reply_to_account_id"], name: "index_statuses_on_in_reply_to_account_id"
-    t.index ["in_reply_to_id"], name: "index_statuses_on_in_reply_to_id"
+    t.index ["in_reply_to_account_id"], name: "index_statuses_on_in_reply_to_account_id", where: "(in_reply_to_account_id IS NOT NULL)"
+    t.index ["in_reply_to_id"], name: "index_statuses_on_in_reply_to_id", where: "(in_reply_to_id IS NOT NULL)"
     t.index ["reblog_of_id", "account_id"], name: "index_statuses_on_reblog_of_id_and_account_id"
-    t.index ["uri"], name: "index_statuses_on_uri", unique: true
+    t.index ["uri"], name: "index_statuses_on_uri", unique: true, opclass: :text_pattern_ops, where: "(uri IS NOT NULL)"
   end
 
   create_table "statuses_tags", id: false, force: :cascade do |t|
@@ -996,9 +999,9 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.boolean "skip_sign_in_token"
     t.index ["account_id"], name: "index_users_on_account_id"
     t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true
-    t.index ["created_by_application_id"], name: "index_users_on_created_by_application_id"
+    t.index ["created_by_application_id"], name: "index_users_on_created_by_application_id", where: "(created_by_application_id IS NOT NULL)"
     t.index ["email"], name: "index_users_on_email", unique: true
-    t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
+    t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, opclass: :text_pattern_ops, where: "(reset_password_token IS NOT NULL)"
   end
 
   create_table "web_push_subscriptions", force: :cascade do |t|
@@ -1010,7 +1013,7 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do
     t.datetime "updated_at", null: false
     t.bigint "access_token_id"
     t.bigint "user_id"
-    t.index ["access_token_id"], name: "index_web_push_subscriptions_on_access_token_id"
+    t.index ["access_token_id"], name: "index_web_push_subscriptions_on_access_token_id", where: "(access_token_id IS NOT NULL)"
     t.index ["user_id"], name: "index_web_push_subscriptions_on_user_id"
   end
 
diff --git a/lib/mastodon/maintenance_cli.rb b/lib/mastodon/maintenance_cli.rb
index 1e047d96c..6e5242bff 100644
--- a/lib/mastodon/maintenance_cli.rb
+++ b/lib/mastodon/maintenance_cli.rb
@@ -13,8 +13,8 @@ module Mastodon
       true
     end
 
-    MIN_SUPPORTED_VERSION = 2019_10_01_213028
-    MAX_SUPPORTED_VERSION = 2022_01_18_183123
+    MIN_SUPPORTED_VERSION = 2019_10_01_213028 # rubocop:disable Style/NumericLiterals
+    MAX_SUPPORTED_VERSION = 2022_03_16_233212 # rubocop:disable Style/NumericLiterals
 
     # Stubs to enjoy ActiveRecord queries while not depending on a particular
     # version of the code/database
@@ -44,6 +44,7 @@ module Mastodon
     class WebauthnCredential < ApplicationRecord; end
     class FollowRecommendationSuppression < ApplicationRecord; end
     class CanonicalEmailBlock < ApplicationRecord; end
+    class Appeal < ApplicationRecord; end
 
     class PreviewCard < ApplicationRecord
       self.inheritance_column = false
@@ -92,6 +93,7 @@ module Mastodon
         owned_classes << AccountNote if ActiveRecord::Base.connection.table_exists?(:account_notes)
         owned_classes << FollowRecommendationSuppression if ActiveRecord::Base.connection.table_exists?(:follow_recommendation_suppressions)
         owned_classes << AccountIdentityProof if ActiveRecord::Base.connection.table_exists?(:account_identity_proofs)
+        owned_classes << Appeal if ActiveRecord::Base.connection.table_exists?(:appeals)
 
         owned_classes.each do |klass|
           klass.where(account_id: other_account.id).find_each do |record|
@@ -121,6 +123,12 @@ module Mastodon
             record.update_attribute(:reference_account_id, id)
           end
         end
+
+        if ActiveRecord::Base.connection.table_exists?(:appeals)
+          Appeal.where(account_warning_id: other_account.id).find_each do |record|
+            record.update_attribute(:account_warning_id, id)
+          end
+        end
       end
     end
 
@@ -199,7 +207,7 @@ module Mastodon
       end
 
       @prompt.say 'Restoring index_accounts_on_username_and_domain_lower…'
-      if ActiveRecord::Migrator.current_version < 20200620164023
+      if ActiveRecord::Migrator.current_version < 20200620164023 # rubocop:disable Style/NumericLiterals
         ActiveRecord::Base.connection.add_index :accounts, 'lower (username), lower(domain)', name: 'index_accounts_on_username_and_domain_lower', unique: true
       else
         ActiveRecord::Base.connection.add_index :accounts, "lower (username), COALESCE(lower(domain), '')", name: 'index_accounts_on_username_and_domain_lower', unique: true
@@ -242,7 +250,7 @@ module Mastodon
         end
       end
 
-      if ActiveRecord::Migrator.current_version < 20220118183010
+      if ActiveRecord::Migrator.current_version < 20220118183010 # rubocop:disable Style/NumericLiterals
         ActiveRecord::Base.connection.select_all("SELECT string_agg(id::text, ',') AS ids FROM users WHERE remember_token IS NOT NULL GROUP BY remember_token HAVING count(*) > 1").each do |row|
           users = User.where(id: row['ids'].split(',')).sort_by(&:updated_at).reverse.drop(1)
           @prompt.warn "Unsetting remember token for those accounts: #{users.map(&:account).map(&:acct).join(', ')}"
@@ -266,7 +274,12 @@ module Mastodon
       ActiveRecord::Base.connection.add_index :users, ['confirmation_token'], name: 'index_users_on_confirmation_token', unique: true
       ActiveRecord::Base.connection.add_index :users, ['email'], name: 'index_users_on_email', unique: true
       ActiveRecord::Base.connection.add_index :users, ['remember_token'], name: 'index_users_on_remember_token', unique: true if ActiveRecord::Migrator.current_version < 20220118183010
-      ActiveRecord::Base.connection.add_index :users, ['reset_password_token'], name: 'index_users_on_reset_password_token', unique: true
+
+      if ActiveRecord::Migrator.current_version < 20220310060641 # rubocop:disable Style/NumericLiterals
+        ActiveRecord::Base.connection.add_index :users, ['reset_password_token'], name: 'index_users_on_reset_password_token', unique: true
+      else
+        ActiveRecord::Base.connection.add_index :users, ['reset_password_token'], name: 'index_users_on_reset_password_token', unique: true, where: 'reset_password_token IS NOT NULL', opclass: :text_pattern_ops
+      end
     end
 
     def deduplicate_account_domain_blocks!
@@ -325,7 +338,11 @@ module Mastodon
       end
 
       @prompt.say 'Restoring conversations indexes…'
-      ActiveRecord::Base.connection.add_index :conversations, ['uri'], name: 'index_conversations_on_uri', unique: true
+      if ActiveRecord::Migrator.current_version < 20220307083603 # rubocop:disable Style/NumericLiterals
+        ActiveRecord::Base.connection.add_index :conversations, ['uri'], name: 'index_conversations_on_uri', unique: true
+      else
+        ActiveRecord::Base.connection.add_index :conversations, ['uri'], name: 'index_conversations_on_uri', unique: true, where: 'uri IS NOT NULL', opclass: :text_pattern_ops
+      end
     end
 
     def deduplicate_custom_emojis!
@@ -438,7 +455,11 @@ module Mastodon
       end
 
       @prompt.say 'Restoring media_attachments indexes…'
-      ActiveRecord::Base.connection.add_index :media_attachments, ['shortcode'], name: 'index_media_attachments_on_shortcode', unique: true
+      if ActiveRecord::Migrator.current_version < 20220310060626 # rubocop:disable Style/NumericLiterals
+        ActiveRecord::Base.connection.add_index :media_attachments, ['shortcode'], name: 'index_media_attachments_on_shortcode', unique: true
+      else
+        ActiveRecord::Base.connection.add_index :media_attachments, ['shortcode'], name: 'index_media_attachments_on_shortcode', unique: true, where: 'shortcode IS NOT NULL', opclass: :text_pattern_ops
+      end
     end
 
     def deduplicate_preview_cards!
@@ -467,7 +488,11 @@ module Mastodon
       end
 
       @prompt.say 'Restoring statuses indexes…'
-      ActiveRecord::Base.connection.add_index :statuses, ['uri'], name: 'index_statuses_on_uri', unique: true
+      if ActiveRecord::Migrator.current_version < 20220310060706 # rubocop:disable Style/NumericLiterals
+        ActiveRecord::Base.connection.add_index :statuses, ['uri'], name: 'index_statuses_on_uri', unique: true
+      else
+        ActiveRecord::Base.connection.add_index :statuses, ['uri'], name: 'index_statuses_on_uri', unique: true, where: 'uri IS NOT NULL', opclass: :text_pattern_ops
+      end
     end
 
     def deduplicate_tags!
diff --git a/lib/mastodon/migration_helpers.rb b/lib/mastodon/migration_helpers.rb
index 5bc903349..e920ff88f 100644
--- a/lib/mastodon/migration_helpers.rb
+++ b/lib/mastodon/migration_helpers.rb
@@ -42,8 +42,14 @@
 module Mastodon
   module MigrationHelpers
     class CorruptionError < StandardError
-      def initialize(message = nil)
-        super(message.presence || 'Migration failed because of index corruption, see https://docs.joinmastodon.org/admin/troubleshooting/index-corruption/#fixing')
+      attr_reader :index_name
+
+      def initialize(index_name)
+        @index_name = index_name
+
+        super "The index `#{index_name}` seems to be corrupted, it contains duplicate rows. " \
+          'For information on how to fix this, see our documentation: ' \
+          'https://docs.joinmastodon.org/admin/troubleshooting/index-corruption/'
       end
 
       def cause
@@ -802,6 +808,24 @@ module Mastodon
       columns(table).find { |column| column.name == name }
     end
 
+    # Update the configuration of an index by creating a new one and then
+    # removing the old one
+    def update_index(table_name, index_name, columns, **index_options)
+      if index_name_exists?(table_name, "#{index_name}_new") && index_name_exists?(table_name, index_name)
+        remove_index table_name, "#{index_name}_new"
+      end
+
+      begin
+        add_index table_name, columns, **index_options.merge(name: "#{index_name}_new", algorithm: :concurrently)
+      rescue ActiveRecord::RecordNotUnique
+        remove_index table_name, name: "#{index_name}_new"
+        raise CorruptionError.new(index_name)
+      end
+
+      remove_index table_name, name: index_name if index_name_exists?(table_name, index_name)
+      rename_index table_name, "#{index_name}_new", index_name
+    end
+
     # This will replace the first occurrence of a string in a column with
     # the replacement
     # On postgresql we can use `regexp_replace` for that.
diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb
index 24742a1f3..cdeeb6ea2 100644
--- a/lib/mastodon/version.rb
+++ b/lib/mastodon/version.rb
@@ -9,15 +9,15 @@ module Mastodon
     end
 
     def minor
-      4
+      5
     end
 
     def patch
-      6
+      0
     end
 
     def flags
-      ''
+      'rc1'
     end
 
     def suffix
diff --git a/lib/tasks/db.rake b/lib/tasks/db.rake
index a6b8c74cd..ca939fd1f 100644
--- a/lib/tasks/db.rake
+++ b/lib/tasks/db.rake
@@ -17,23 +17,10 @@ namespace :db do
     end
   end
 
-  task :post_migration_hook do
-    at_exit do
-      unless %w(C POSIX).include?(ActiveRecord::Base.connection.select_one('SELECT datcollate FROM pg_database WHERE datname = current_database();')['datcollate'])
-        warn <<~WARNING
-          Your database collation may be susceptible to index corruption.
-            (This warning does not indicate that index corruption has occurred, and it can be ignored if you've previously checked for index corruption)
-            (To learn more, visit: https://docs.joinmastodon.org/admin/troubleshooting/index-corruption/)
-        WARNING
-      end
-    end
-  end
-
   task :pre_migration_check do
     version = ActiveRecord::Base.connection.select_one("SELECT current_setting('server_version_num') AS v")['v'].to_i
-    abort 'ERROR: This version of Mastodon requires PostgreSQL 9.5 or newer. Please update PostgreSQL before updating Mastodon.' if version < 90_500
+    abort 'This version of Mastodon requires PostgreSQL 9.5 or newer. Please update PostgreSQL before updating Mastodon' if version < 90_500
   end
 
   Rake::Task['db:migrate'].enhance(['db:pre_migration_check'])
-  Rake::Task['db:migrate'].enhance(['db:post_migration_hook'])
 end
diff --git a/package.json b/package.json
index f311170f2..f35747bd9 100644
--- a/package.json
+++ b/package.json
@@ -61,28 +61,28 @@
   },
   "private": true,
   "dependencies": {
-    "@babel/core": "^7.17.2",
+    "@babel/core": "^7.17.7",
     "@babel/plugin-proposal-decorators": "^7.17.2",
     "@babel/plugin-transform-react-inline-elements": "^7.16.7",
     "@babel/plugin-transform-runtime": "^7.17.0",
     "@babel/preset-env": "^7.16.11",
     "@babel/preset-react": "^7.16.7",
-    "@babel/runtime": "^7.17.2",
+    "@babel/runtime": "^7.17.7",
     "@gamestdio/websocket": "^0.3.2",
     "@github/webauthn-json": "^0.5.7",
-    "@rails/ujs": "^6.1.4",
+    "@rails/ujs": "^6.1.5",
     "array-includes": "^3.1.4",
     "arrow-key-navigation": "^1.2.0",
     "atrament": "0.2.4",
     "autoprefixer": "^9.8.8",
-    "axios": "^0.26.0",
+    "axios": "^0.26.1",
     "babel-loader": "^8.2.3",
     "babel-plugin-lodash": "^3.3.4",
     "babel-plugin-preval": "^5.1.0",
     "babel-plugin-react-intl": "^6.2.0",
     "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
     "babel-runtime": "^6.26.0",
-    "blurhash": "^1.1.4",
+    "blurhash": "^1.1.5",
     "classnames": "^2.3.1",
     "color-blend": "^3.0.1",
     "compression-webpack-plugin": "^6.1.1",
@@ -95,7 +95,7 @@
     "es6-symbol": "^3.1.3",
     "escape-html": "^1.0.3",
     "exif-js": "^2.3.0",
-    "express": "^4.17.1",
+    "express": "^4.17.3",
     "favico.js": "^0.3.10",
     "file-loader": "^6.2.0",
     "font-awesome": "^4.7.0",
@@ -112,7 +112,7 @@
     "js-yaml": "^4.1.0",
     "lodash": "^4.17.21",
     "mark-loader": "^0.1.6",
-    "marky": "^1.2.2",
+    "marky": "^1.2.4",
     "mini-css-extract-plugin": "^1.6.2",
     "mkdirp": "^1.0.4",
     "npmlog": "^6.0.1",
@@ -176,14 +176,14 @@
   },
   "devDependencies": {
     "@testing-library/jest-dom": "^5.16.2",
-    "@testing-library/react": "^12.1.2",
+    "@testing-library/react": "^12.1.4",
     "babel-eslint": "^10.1.0",
     "babel-jest": "^27.5.1",
     "eslint": "^7.32.0",
     "eslint-plugin-import": "~2.25.4",
     "eslint-plugin-jsx-a11y": "~6.5.1",
     "eslint-plugin-promise": "~6.0.0",
-    "eslint-plugin-react": "~7.29.2",
+    "eslint-plugin-react": "~7.29.3",
     "jest": "^27.5.1",
     "raf": "^3.4.1",
     "react-intl-translations-manager": "^5.0.3",
@@ -197,6 +197,6 @@
   },
   "optionalDependencies": {
     "bufferutil": "^4.0.6",
-    "utf-8-validate": "^5.0.8"
+    "utf-8-validate": "^5.0.9"
   }
 }
diff --git a/spec/controllers/admin/domain_blocks_controller_spec.rb b/spec/controllers/admin/domain_blocks_controller_spec.rb
index fb23658c0..ecc79292b 100644
--- a/spec/controllers/admin/domain_blocks_controller_spec.rb
+++ b/spec/controllers/admin/domain_blocks_controller_spec.rb
@@ -16,15 +16,6 @@ RSpec.describe Admin::DomainBlocksController, type: :controller do
     end
   end
 
-  describe 'GET #show' do
-    it 'returns http success' do
-      domain_block = Fabricate(:domain_block)
-      get :show, params: { id: domain_block.id }
-
-      expect(response).to have_http_status(200)
-    end
-  end
-
   describe 'POST #create' do
     it 'blocks the domain when succeeded to save' do
       allow(DomainBlockWorker).to receive(:perform_async).and_return(true)
diff --git a/spec/controllers/api/v1/emails/confirmations_controller_spec.rb b/spec/controllers/api/v1/emails/confirmations_controller_spec.rb
new file mode 100644
index 000000000..15ac31cbc
--- /dev/null
+++ b/spec/controllers/api/v1/emails/confirmations_controller_spec.rb
@@ -0,0 +1,64 @@
+require 'rails_helper'
+
+RSpec.describe Api::V1::Emails::ConfirmationsController, type: :controller do
+  let(:confirmed_at) { nil }
+  let(:user)         { Fabricate(:user, confirmed_at: confirmed_at) }
+  let(:app)          { Fabricate(:application) }
+  let(:token)        { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes, application: app) }
+  let(:scopes)       { 'write' }
+
+  describe '#create' do
+    context 'with an oauth token' do
+      before do
+        allow(controller).to receive(:doorkeeper_token) { token }
+      end
+
+      context 'from a random app' do
+        it 'returns http forbidden' do
+          post :create
+          expect(response).to have_http_status(:forbidden)
+        end
+      end
+
+      context 'from an app that created the account' do
+        before do
+          user.update(created_by_application: token.application)
+        end
+
+        context 'when the account is already confirmed' do
+          let(:confirmed_at) { Time.now.utc }
+
+          it 'returns http forbidden' do
+            post :create
+            expect(response).to have_http_status(:forbidden)
+          end
+
+          context 'but user changed e-mail and has not confirmed it' do
+            before do
+              user.update(email: 'foo@bar.com')
+            end
+
+            it 'returns http success' do
+              post :create
+              expect(response).to have_http_status(:success)
+            end
+          end
+        end
+
+        context 'when the account is unconfirmed' do
+          it 'returns http success' do
+            post :create
+            expect(response).to have_http_status(:success)
+          end
+        end
+      end
+    end
+
+    context 'without an oauth token' do
+      it 'returns http unauthorized' do
+        post :create
+        expect(response).to have_http_status(:unauthorized)
+      end
+    end
+  end
+end
diff --git a/spec/controllers/api/v1/notifications_controller_spec.rb b/spec/controllers/api/v1/notifications_controller_spec.rb
index f8df6589f..46e177c0e 100644
--- a/spec/controllers/api/v1/notifications_controller_spec.rb
+++ b/spec/controllers/api/v1/notifications_controller_spec.rb
@@ -70,23 +70,23 @@ RSpec.describe Api::V1::NotificationsController, type: :controller do
       end
 
       it 'includes reblog' do
-        expect(assigns(:notifications).map(&:activity)).to include(@reblog_of_first_status)
+        expect(body_as_json.map { |x| x[:type] }).to include 'reblog'
       end
 
       it 'includes mention' do
-        expect(assigns(:notifications).map(&:activity)).to include(@mention_from_status)
+        expect(body_as_json.map { |x| x[:type] }).to include 'mention'
       end
 
       it 'includes favourite' do
-        expect(assigns(:notifications).map(&:activity)).to include(@favourite)
+        expect(body_as_json.map { |x| x[:type] }).to include 'favourite'
       end
 
       it 'includes follow' do
-        expect(assigns(:notifications).map(&:activity)).to include(@follow)
+        expect(body_as_json.map { |x| x[:type] }).to include 'follow'
       end
     end
 
-    describe 'from specified user' do
+    describe 'with account_id param' do
       before do
         get :index, params: { account_id: third.account.id }
       end
@@ -95,28 +95,12 @@ RSpec.describe Api::V1::NotificationsController, type: :controller do
         expect(response).to have_http_status(200)
       end
 
-      it 'includes favourite' do
-        expect(assigns(:notifications).map(&:activity)).to include(@second_favourite)
-      end
-
-      it 'excludes favourite' do
-        expect(assigns(:notifications).map(&:activity)).to_not include(@favourite)
-      end
-
-      it 'excludes mention' do
-        expect(assigns(:notifications).map(&:activity)).to_not include(@mention_from_status)
-      end
-
-      it 'excludes reblog' do
-        expect(assigns(:notifications).map(&:activity)).to_not include(@reblog_of_first_status)
-      end
-
-      it 'excludes follow' do
-        expect(assigns(:notifications).map(&:activity)).to_not include(@follow)
+      it 'returns only notifications from specified user' do
+        expect(body_as_json.map { |x| x[:account][:id] }.uniq).to eq [third.account.id.to_s]
       end
     end
 
-    describe 'from nonexistent user' do
+    describe 'with invalid account_id param' do
       before do
         get :index, params: { account_id: 'foo' }
       end
@@ -125,54 +109,37 @@ RSpec.describe Api::V1::NotificationsController, type: :controller do
         expect(response).to have_http_status(200)
       end
 
-      it 'excludes favourite' do
-        expect(assigns(:notifications).map(&:activity)).to_not include(@favourite)
-      end
-
-      it 'excludes second favourite' do
-        expect(assigns(:notifications).map(&:activity)).to_not include(@second_favourite)
-      end
-
-      it 'excludes mention' do
-        expect(assigns(:notifications).map(&:activity)).to_not include(@mention_from_status)
-      end
-
-      it 'excludes reblog' do
-        expect(assigns(:notifications).map(&:activity)).to_not include(@reblog_of_first_status)
-      end
-
-      it 'excludes follow' do
-        expect(assigns(:notifications).map(&:activity)).to_not include(@follow)
+      it 'returns nothing' do
+        expect(body_as_json.size).to eq 0
       end
     end
 
-    describe 'with excluded mentions' do
+    describe 'with excluded_types param' do
       before do
-        get :index, params: { exclude_types: ['mention'] }
+        get :index, params: { exclude_types: %w(mention) }
       end
 
       it 'returns http success' do
         expect(response).to have_http_status(200)
       end
 
-      it 'includes reblog' do
-        expect(assigns(:notifications).map(&:activity)).to include(@reblog_of_first_status)
-      end
-
-      it 'excludes mention' do
-        expect(assigns(:notifications).map(&:activity)).to_not include(@mention_from_status)
+      it 'returns everything but excluded type' do
+        expect(body_as_json.size).to_not eq 0
+        expect(body_as_json.map { |x| x[:type] }.uniq).to_not include 'mention'
       end
+    end
 
-      it 'includes favourite' do
-        expect(assigns(:notifications).map(&:activity)).to include(@favourite)
+    describe 'with types param' do
+      before do
+        get :index, params: { types: %w(mention) }
       end
 
-      it 'includes third favourite' do
-        expect(assigns(:notifications).map(&:activity)).to include(@second_favourite)
+      it 'returns http success' do
+        expect(response).to have_http_status(200)
       end
 
-      it 'includes follow' do
-        expect(assigns(:notifications).map(&:activity)).to include(@follow)
+      it 'returns only requested type' do
+        expect(body_as_json.map { |x| x[:type] }.uniq).to eq ['mention']
       end
     end
   end
diff --git a/spec/models/report_spec.rb b/spec/models/report_spec.rb
index df32a7c9d..874be4132 100644
--- a/spec/models/report_spec.rb
+++ b/spec/models/report_spec.rb
@@ -11,14 +11,13 @@ describe Report do
     end
   end
 
-  describe 'media_attachments' do
-    it 'returns media attachments from statuses' do
-      status = Fabricate(:status)
-      media_attachment = Fabricate(:media_attachment, status: status)
-      _other_media_attachment = Fabricate(:media_attachment)
-      report = Fabricate(:report, status_ids: [status.id])
+  describe 'media_attachments_count' do
+    it 'returns count of media attachments in statuses' do
+      status1 = Fabricate(:status, ordered_media_attachment_ids: [1, 2])
+      status2 = Fabricate(:status, ordered_media_attachment_ids: [5])
+      report  = Fabricate(:report, status_ids: [status1.id, status2.id])
 
-      expect(report.media_attachments).to eq [media_attachment]
+      expect(report.media_attachments_count).to eq 3
     end
   end
 
diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb
index 86c2a9c52..217a8f2f8 100644
--- a/spec/rails_helper.rb
+++ b/spec/rails_helper.rb
@@ -60,9 +60,7 @@ RSpec.configure do |config|
 
   config.after :each do
     Rails.cache.clear
-
-    keys = Redis.current.keys
-    Redis.current.del(keys) if keys.any?
+    Redis.current.del(Redis.current.keys)
   end
 end
 
diff --git a/spec/services/activitypub/fetch_remote_status_service_spec.rb b/spec/services/activitypub/fetch_remote_status_service_spec.rb
index 94574aa7f..68816e554 100644
--- a/spec/services/activitypub/fetch_remote_status_service_spec.rb
+++ b/spec/services/activitypub/fetch_remote_status_service_spec.rb
@@ -3,9 +3,11 @@ require 'rails_helper'
 RSpec.describe ActivityPub::FetchRemoteStatusService, type: :service do
   include ActionView::Helpers::TextHelper
 
-  let(:sender) { Fabricate(:account) }
-  let(:recipient) { Fabricate(:account) }
-  let(:valid_domain) { Rails.configuration.x.local_domain }
+  let!(:sender) { Fabricate(:account).tap { |account| account.update(uri: ActivityPub::TagManager.instance.uri_for(account)) } }
+  let!(:recipient) { Fabricate(:account) }
+  let!(:valid_domain) { Rails.configuration.x.local_domain }
+
+  let(:existing_status) { nil }
 
   let(:note) do
     {
@@ -19,11 +21,13 @@ RSpec.describe ActivityPub::FetchRemoteStatusService, type: :service do
 
   subject { described_class.new }
 
+  before do
+    stub_request(:head, 'https://example.com/watch?v=12345').to_return(status: 404, body: '')
+  end
+
   describe '#call' do
     before do
-      sender.update(uri: ActivityPub::TagManager.instance.uri_for(sender))
-
-      stub_request(:head, 'https://example.com/watch?v=12345').to_return(status: 404, body: '')
+      existing_status
       subject.call(object[:id], prefetched_body: Oj.dump(object))
     end
 
@@ -186,5 +190,37 @@ RSpec.describe ActivityPub::FetchRemoteStatusService, type: :service do
         expect(sender.statuses.first).to be_nil
       end
     end
+
+    context 'when status already exists' do
+      let(:existing_status) { Fabricate(:status, account: sender, text: 'Foo', uri: note[:id]) }
+
+      context 'with a Note object' do
+        let(:object) { note }
+
+        it 'updates status' do
+          existing_status.reload
+          expect(existing_status.text).to eq 'Lorem ipsum'
+          expect(existing_status.edits).to_not be_empty
+        end
+      end
+
+      context 'with a Create activity' do
+        let(:object) do
+          {
+            '@context': 'https://www.w3.org/ns/activitystreams',
+            id: "https://#{valid_domain}/@foo/1234/create",
+            type: 'Create',
+            actor: ActivityPub::TagManager.instance.uri_for(sender),
+            object: note,
+          }
+        end
+
+        it 'updates status' do
+          existing_status.reload
+          expect(existing_status.text).to eq 'Lorem ipsum'
+          expect(existing_status.edits).to_not be_empty
+        end
+      end
+    end
   end
 end
diff --git a/spec/services/activitypub/process_collection_service_spec.rb b/spec/services/activitypub/process_collection_service_spec.rb
index 00d71a86a..3eccaab5b 100644
--- a/spec/services/activitypub/process_collection_service_spec.rb
+++ b/spec/services/activitypub/process_collection_service_spec.rb
@@ -91,6 +91,146 @@ RSpec.describe ActivityPub::ProcessCollectionService, type: :service do
 
         subject.call(json, forwarder)
       end
+
+      context 'when receiving a fabricated status' do
+        let!(:actor) do
+          Fabricate(:account,
+            username: 'bob',
+            domain: 'example.com',
+            uri: 'https://example.com/users/bob',
+            public_key: "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuuYyoyfsRkYnXRotMsId\nW3euBDDfiv9oVqOxUVC7bhel8KednIMrMCRWFAkgJhbrlzbIkjVr68o1MP9qLcn7\nCmH/BXHp7yhuFTr4byjdJKpwB+/i2jNEsvDH5jR8WTAeTCe0x/QHg21V3F7dSI5m\nCCZ/1dSIyOXLRTWVlfDlm3rE4ntlCo+US3/7oSWbg/4/4qEnt1HC32kvklgScxua\n4LR5ATdoXa5bFoopPWhul7MJ6NyWCyQyScUuGdlj8EN4kmKQJvphKHrI9fvhgOuG\nTvhTR1S5InA4azSSchY0tXEEw/VNxraeX0KPjbgr6DPcwhPd/m0nhVDq0zVyVBBD\nMwIDAQAB\n-----END PUBLIC KEY-----\n",
+            private_key: nil)
+        end
+
+        let(:payload) do
+          {
+            '@context': [
+              'https://www.w3.org/ns/activitystreams',
+              nil,
+              {'object': 'https://www.w3.org/ns/activitystreams#object'}
+            ],
+            'id': 'https://example.com/users/bob/fake-status/activity',
+            'type': 'Create',
+            'actor': 'https://example.com/users/bob',
+            'published': '2022-01-22T15:00:00Z',
+            'to': [
+              'https://www.w3.org/ns/activitystreams#Public'
+            ],
+            'cc': [
+              'https://example.com/users/bob/followers'
+            ],
+            'signature': {
+              'type': 'RsaSignature2017',
+              'creator': 'https://example.com/users/bob#main-key',
+              'created': '2022-03-09T21:57:25Z',
+              'signatureValue': 'WculK0LelTQ0MvGwU9TPoq5pFzFfGYRDCJqjZ232/Udj4CHqDTGOSw5UTDLShqBOyycCkbZGrQwXG+dpyDpQLSe1UVPZ5TPQtc/9XtI57WlS2nMNpdvRuxGnnb2btPdesXZ7n3pCxo0zjaXrJMe0mqQh5QJO22mahb4bDwwmfTHgbD3nmkD+fBfGi+UV2qWwqr+jlV4L4JqNkh0gWljF5KTePLRRZCuWiQ/FAt7c67636cdIPf7fR+usjuZltTQyLZKEGuK8VUn2Gkfsx5qns7Vcjvlz1JqlAjyO8HPBbzTTHzUG2nUOIgC3PojCSWv6mNTmRGoLZzOscCAYQA6cKw=='
+            },
+            '@id': 'https://example.com/users/bob/statuses/107928807471117876/activity',
+            '@type': 'https://www.w3.org/ns/activitystreams#Create',
+            'https://www.w3.org/ns/activitystreams#actor': {
+              '@id': 'https://example.com/users/bob'
+            },
+            'https://www.w3.org/ns/activitystreams#cc': {
+              '@id': 'https://example.com/users/bob/followers'
+            },
+            'object': {
+              'id': 'https://example.com/users/bob/fake-status',
+              'type': 'Note',
+              'published': '2022-01-22T15:00:00Z',
+              'url': 'https://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=puck-was-here',
+              'attributedTo': 'https://example.com/users/bob',
+              'to': [
+                'https://www.w3.org/ns/activitystreams#Public'
+              ],
+              'cc': [
+                'https://example.com/users/bob/followers'
+              ],
+              'sensitive': false,
+              'atomUri': 'https://example.com/users/bob/fake-status',
+              'conversation': 'tag:example.com,2022-03-09:objectId=15:objectType=Conversation',
+              'content': '<p>puck was here</p>',
+
+              '@id': 'https://example.com/users/bob/statuses/107928807471117876',
+              '@type': 'https://www.w3.org/ns/activitystreams#Note',
+              'http://ostatus.org#atomUri': 'https://example.com/users/bob/statuses/107928807471117876',
+              'http://ostatus.org#conversation': 'tag:example.com,2022-03-09:objectId=15:objectType=Conversation',
+              'https://www.w3.org/ns/activitystreams#attachment': [],
+              'https://www.w3.org/ns/activitystreams#attributedTo': {
+                '@id': 'https://example.com/users/bob'
+              },
+              'https://www.w3.org/ns/activitystreams#cc': {
+                '@id': 'https://example.com/users/bob/followers'
+              },
+              'https://www.w3.org/ns/activitystreams#content': [
+                '<p>hello world</p>',
+                {
+                  '@value': '<p>hello world</p>',
+                  '@language': 'en'
+                }
+              ],
+              'https://www.w3.org/ns/activitystreams#published': {
+                '@type': 'http://www.w3.org/2001/XMLSchema#dateTime',
+                '@value': '2022-03-09T21:55:07Z'
+              },
+              'https://www.w3.org/ns/activitystreams#replies': {
+                '@id': 'https://example.com/users/bob/statuses/107928807471117876/replies',
+                '@type': 'https://www.w3.org/ns/activitystreams#Collection',
+                'https://www.w3.org/ns/activitystreams#first': {
+                  '@type': 'https://www.w3.org/ns/activitystreams#CollectionPage',
+                  'https://www.w3.org/ns/activitystreams#items': [],
+                  'https://www.w3.org/ns/activitystreams#next': {
+                    '@id': 'https://example.com/users/bob/statuses/107928807471117876/replies?only_other_accounts=true&page=true'
+                  },
+                  'https://www.w3.org/ns/activitystreams#partOf': {
+                    '@id': 'https://example.com/users/bob/statuses/107928807471117876/replies'
+                  }
+                }
+              },
+              'https://www.w3.org/ns/activitystreams#sensitive': false,
+              'https://www.w3.org/ns/activitystreams#tag': [],
+              'https://www.w3.org/ns/activitystreams#to': {
+                '@id': 'https://www.w3.org/ns/activitystreams#Public'
+              },
+              'https://www.w3.org/ns/activitystreams#url': {
+                '@id': 'https://example.com/@bob/107928807471117876'
+              }
+            },
+            'https://www.w3.org/ns/activitystreams#published': {
+              '@type': 'http://www.w3.org/2001/XMLSchema#dateTime',
+              '@value': '2022-03-09T21:55:07Z'
+            },
+            'https://www.w3.org/ns/activitystreams#to': {
+              '@id': 'https://www.w3.org/ns/activitystreams#Public'
+            }
+          }
+        end
+
+        it 'does not process forged payload' do
+          expect(ActivityPub::Activity).not_to receive(:factory).with(
+            hash_including(
+              'object' => hash_including(
+                'id' => 'https://example.com/users/bob/fake-status'
+              )
+            ),
+            anything(),
+            anything()
+          )
+
+          expect(ActivityPub::Activity).not_to receive(:factory).with(
+            hash_including(
+              'object' => hash_including(
+                'content' => '<p>puck was here</p>'
+              )
+            ),
+            anything(),
+            anything()
+          )
+
+          subject.call(json, forwarder)
+
+          expect(Status.where(uri: 'https://example.com/users/bob/fake-status').exists?).to be false
+        end
+      end
     end
   end
 end
diff --git a/spec/services/activitypub/process_status_update_service_spec.rb b/spec/services/activitypub/process_status_update_service_spec.rb
index 6ee1dcb43..788c7c9d9 100644
--- a/spec/services/activitypub/process_status_update_service_spec.rb
+++ b/spec/services/activitypub/process_status_update_service_spec.rb
@@ -46,6 +46,26 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       expect(status.reload.spoiler_text).to eq 'Show more'
     end
 
+    context 'with no changes and originally with no ordered_media_attachment_ids' do
+      let(:payload) do
+        {
+          '@context': 'https://www.w3.org/ns/activitystreams',
+          id: 'foo',
+          type: 'Note',
+          content: 'Hello world',
+        }
+      end
+
+      before do
+        status.update(ordered_media_attachment_ids: nil)
+        subject.call(status, json)
+      end
+
+      it 'does not record an update' do
+        expect(status.reload.edited?).to be false
+      end
+    end
+
     context 'originally without tags' do
       before do
         subject.call(status, json)
@@ -124,7 +144,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
 
       it 'updates media attachments' do
-        media_attachment = status.media_attachments.reload.first
+        media_attachment = status.reload.ordered_media_attachments.first
 
         expect(media_attachment).to_not be_nil
         expect(media_attachment.remote_url).to eq 'https://example.com/foo.png'
@@ -135,7 +155,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
 
       it 'records media change in edit' do
-        expect(status.edits.reload.last.media_attachments_changed).to be true
+        expect(status.edits.reload.last.ordered_media_attachment_ids).to_not be_empty
       end
     end
 
@@ -173,11 +193,11 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
 
       it 'updates media attachments' do
-        expect(status.media_attachments.reload.map(&:remote_url)).to eq %w(https://example.com/foo.png)
+        expect(status.ordered_media_attachments.map(&:remote_url)).to eq %w(https://example.com/foo.png)
       end
 
       it 'records media change in edit' do
-        expect(status.edits.reload.last.media_attachments_changed).to be true
+        expect(status.edits.reload.last.ordered_media_attachment_ids).to_not be_empty
       end
     end
 
@@ -193,7 +213,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
 
       it 'records media change in edit' do
-        expect(status.edits.reload.last.media_attachments_changed).to be true
+        expect(status.edits.reload.last.poll_options).to be_nil
       end
     end
 
@@ -226,7 +246,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
 
       it 'records media change in edit' do
-        expect(status.edits.reload.last.media_attachments_changed).to be true
+        expect(status.edits.reload.last.poll_options).to eq %w(Foo Bar Baz)
       end
     end
 
@@ -239,10 +259,5 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       subject.call(status, json)
       expect(status.reload.edited_at.to_s).to eq '2021-09-08 22:39:25 UTC'
     end
-
-    it 'records that no media has been changed in edit' do
-      subject.call(status, json)
-      expect(status.edits.reload.last.media_attachments_changed).to be false
-    end
   end
 end
diff --git a/spec/services/reblog_service_spec.rb b/spec/services/reblog_service_spec.rb
index e2077f282..c0ae5eedc 100644
--- a/spec/services/reblog_service_spec.rb
+++ b/spec/services/reblog_service_spec.rb
@@ -32,6 +32,18 @@ RSpec.describe ReblogService, type: :service do
     end
   end
 
+  context 'when the reblogged status is discarded in the meantime' do
+    let(:status) { Fabricate(:status, account: alice, visibility: :public) }
+
+    before do
+      status.discard
+    end
+
+    it 'raises an exception' do
+      expect { subject.call(alice, status) }.to raise_error ActiveRecord::ActiveRecordError
+    end
+  end
+
   context 'ActivityPub' do
     let(:bob)    { Fabricate(:account, username: 'bob', protocol: :activitypub, domain: 'example.com', inbox_url: 'http://example.com/inbox') }
     let(:status) { Fabricate(:status, account: bob) }
diff --git a/spec/services/update_status_service_spec.rb b/spec/services/update_status_service_spec.rb
index 4fd4837c6..78cc89cd4 100644
--- a/spec/services/update_status_service_spec.rb
+++ b/spec/services/update_status_service_spec.rb
@@ -21,7 +21,7 @@ RSpec.describe UpdateStatusService, type: :service do
     end
 
     it 'saves edit history' do
-      expect(status.edits.pluck(:text, :media_attachments_changed)).to eq [['Foo', false], ['Bar', false]]
+      expect(status.edits.pluck(:text)).to eq %w(Foo Bar)
     end
   end
 
@@ -39,7 +39,7 @@ RSpec.describe UpdateStatusService, type: :service do
     end
 
     it 'saves edit history' do
-      expect(status.edits.pluck(:text, :spoiler_text, :media_attachments_changed)).to eq [['Foo', '', false], ['Foo', 'Bar', false]]
+      expect(status.edits.pluck(:text, :spoiler_text)).to eq [['Foo', ''], ['Foo', 'Bar']]
     end
   end
 
@@ -54,11 +54,11 @@ RSpec.describe UpdateStatusService, type: :service do
     end
 
     it 'updates media attachments' do
-      expect(status.media_attachments.to_a).to eq [attached_media_attachment]
+      expect(status.ordered_media_attachments).to eq [attached_media_attachment]
     end
 
-    it 'detaches detached media attachments' do
-      expect(detached_media_attachment.reload.status_id).to be_nil
+    it 'does not detach detached media attachments' do
+      expect(detached_media_attachment.reload.status_id).to eq status.id
     end
 
     it 'attaches attached media attachments' do
@@ -66,7 +66,7 @@ RSpec.describe UpdateStatusService, type: :service do
     end
 
     it 'saves edit history' do
-      expect(status.edits.pluck(:text, :media_attachments_changed)).to eq [['Foo', false], ['Foo', true]]
+      expect(status.edits.pluck(:ordered_media_attachment_ids)).to eq [[detached_media_attachment.id], [attached_media_attachment.id]]
     end
   end
 
@@ -95,7 +95,7 @@ RSpec.describe UpdateStatusService, type: :service do
     end
 
     it 'saves edit history' do
-      expect(status.edits.pluck(:text, :media_attachments_changed)).to eq [['Foo', false], ['Foo', true]]
+      expect(status.edits.pluck(:poll_options)).to eq [%w(Foo Bar), %w(Bar Baz Foo)]
     end
   end
 
diff --git a/yarn.lock b/yarn.lock
index e588f895b..f96a75354 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,10 +2,10 @@
 # yarn lockfile v1
 
 
-"@ampproject/remapping@^2.0.0":
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.0.tgz#72becdf17ee44b2d1ac5651fb12f1952c336fe23"
-  integrity sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g==
+"@ampproject/remapping@^2.1.0":
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34"
+  integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==
   dependencies:
     "@jridgewell/trace-mapping" "^0.3.0"
 
@@ -28,20 +28,25 @@
   resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz"
   integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==
 
-"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.17.2", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
-  version "7.17.2"
-  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337"
-  integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw==
+"@babel/compat-data@^7.17.7":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2"
+  integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==
+
+"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.17.7", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9"
+  integrity sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ==
   dependencies:
-    "@ampproject/remapping" "^2.0.0"
+    "@ampproject/remapping" "^2.1.0"
     "@babel/code-frame" "^7.16.7"
-    "@babel/generator" "^7.17.0"
-    "@babel/helper-compilation-targets" "^7.16.7"
-    "@babel/helper-module-transforms" "^7.16.7"
-    "@babel/helpers" "^7.17.2"
-    "@babel/parser" "^7.17.0"
+    "@babel/generator" "^7.17.7"
+    "@babel/helper-compilation-targets" "^7.17.7"
+    "@babel/helper-module-transforms" "^7.17.7"
+    "@babel/helpers" "^7.17.7"
+    "@babel/parser" "^7.17.7"
     "@babel/template" "^7.16.7"
-    "@babel/traverse" "^7.17.0"
+    "@babel/traverse" "^7.17.3"
     "@babel/types" "^7.17.0"
     convert-source-map "^1.7.0"
     debug "^4.1.0"
@@ -49,10 +54,10 @@
     json5 "^2.1.2"
     semver "^6.3.0"
 
-"@babel/generator@^7.17.0", "@babel/generator@^7.7.2":
-  version "7.17.0"
-  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e"
-  integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==
+"@babel/generator@^7.17.3", "@babel/generator@^7.17.7", "@babel/generator@^7.7.2":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad"
+  integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==
   dependencies:
     "@babel/types" "^7.17.0"
     jsesc "^2.5.1"
@@ -81,12 +86,12 @@
     "@babel/helper-annotate-as-pure" "^7.16.7"
     "@babel/types" "^7.16.7"
 
-"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7":
-  version "7.16.7"
-  resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz"
-  integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==
+"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46"
+  integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==
   dependencies:
-    "@babel/compat-data" "^7.16.4"
+    "@babel/compat-data" "^7.17.7"
     "@babel/helper-validator-option" "^7.16.7"
     browserslist "^4.17.5"
     semver "^6.3.0"
@@ -177,19 +182,19 @@
   dependencies:
     "@babel/types" "^7.16.7"
 
-"@babel/helper-module-transforms@^7.16.7":
-  version "7.16.7"
-  resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz"
-  integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==
+"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd"
+  integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==
   dependencies:
     "@babel/helper-environment-visitor" "^7.16.7"
     "@babel/helper-module-imports" "^7.16.7"
-    "@babel/helper-simple-access" "^7.16.7"
+    "@babel/helper-simple-access" "^7.17.7"
     "@babel/helper-split-export-declaration" "^7.16.7"
     "@babel/helper-validator-identifier" "^7.16.7"
     "@babel/template" "^7.16.7"
-    "@babel/traverse" "^7.16.7"
-    "@babel/types" "^7.16.7"
+    "@babel/traverse" "^7.17.3"
+    "@babel/types" "^7.17.0"
 
 "@babel/helper-optimise-call-expression@^7.16.7":
   version "7.16.7"
@@ -230,6 +235,13 @@
   dependencies:
     "@babel/types" "^7.16.7"
 
+"@babel/helper-simple-access@^7.17.7":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367"
+  integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==
+  dependencies:
+    "@babel/types" "^7.17.0"
+
 "@babel/helper-skip-transparent-expression-wrappers@^7.16.0":
   version "7.16.0"
   resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz"
@@ -264,13 +276,13 @@
     "@babel/traverse" "^7.16.8"
     "@babel/types" "^7.16.8"
 
-"@babel/helpers@^7.17.2":
-  version "7.17.2"
-  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417"
-  integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==
+"@babel/helpers@^7.17.7":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.7.tgz#6fc0a24280fd00026e85424bbfed4650e76d7127"
+  integrity sha512-TKsj9NkjJfTBxM7Phfy7kv6yYc4ZcOo+AaWGqQOKTPDOmcGkIFb5xNA746eKisQkm4yavUYh4InYM9S+VnO01w==
   dependencies:
     "@babel/template" "^7.16.7"
-    "@babel/traverse" "^7.17.0"
+    "@babel/traverse" "^7.17.3"
     "@babel/types" "^7.17.0"
 
 "@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7":
@@ -282,10 +294,10 @@
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.7.0":
-  version "7.17.0"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c"
-  integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.7", "@babel/parser@^7.7.0":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.7.tgz#fc19b645a5456c8d6fdb6cecd3c66c0173902800"
+  integrity sha512-bm3AQf45vR4gKggRfvJdYJ0gFLoCbsPxiFLSH6hTVYABptNHY6l9NrhnucVjQ/X+SPtLANT9lc0fFhikj+VBRA==
 
 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7":
   version "7.16.7"
@@ -996,10 +1008,10 @@
   dependencies:
     regenerator-runtime "^0.12.0"
 
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.2", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
-  version "7.17.2"
-  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941"
-  integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.7", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.7.tgz#a5f3328dc41ff39d803f311cfe17703418cf9825"
+  integrity sha512-L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA==
   dependencies:
     regenerator-runtime "^0.13.4"
 
@@ -1019,18 +1031,18 @@
     "@babel/parser" "^7.16.7"
     "@babel/types" "^7.16.7"
 
-"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2":
-  version "7.17.0"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30"
-  integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==
+"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2":
+  version "7.17.3"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57"
+  integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==
   dependencies:
     "@babel/code-frame" "^7.16.7"
-    "@babel/generator" "^7.17.0"
+    "@babel/generator" "^7.17.3"
     "@babel/helper-environment-visitor" "^7.16.7"
     "@babel/helper-function-name" "^7.16.7"
     "@babel/helper-hoist-variables" "^7.16.7"
     "@babel/helper-split-export-declaration" "^7.16.7"
-    "@babel/parser" "^7.17.0"
+    "@babel/parser" "^7.17.3"
     "@babel/types" "^7.17.0"
     debug "^4.1.0"
     globals "^11.1.0"
@@ -1424,10 +1436,10 @@
   resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz"
   integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==
 
-"@rails/ujs@^6.1.4":
-  version "6.1.4"
-  resolved "https://registry.npmjs.org/@rails/ujs/-/ujs-6.1.4.tgz"
-  integrity sha512-O3lEzL5DYbxppMdsFSw36e4BHIlfz/xusynwXGv3l2lhSlvah41qviRpsoAlKXxl37nZAqK+UUF5cnGGK45Mfw==
+"@rails/ujs@^6.1.5":
+  version "6.1.5"
+  resolved "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.1.5.tgz#bb1afddd0d771f00924f44b21634969e329532e1"
+  integrity sha512-Ir4yd2fdDldWIghavPr874copVKf6OOoecKHZiFRlPtm38tFvhyxr+ywzNieXGwolF9JQe3D5GrM8ejkzUgh5Q==
 
 "@sinonjs/commons@^1.7.0":
   version "1.8.1"
@@ -1472,13 +1484,14 @@
     lodash "^4.17.15"
     redent "^3.0.0"
 
-"@testing-library/react@^12.1.2":
-  version "12.1.2"
-  resolved "https://registry.npmjs.org/@testing-library/react/-/react-12.1.2.tgz"
-  integrity sha512-ihQiEOklNyHIpo2Y8FREkyD1QAea054U0MVbwH1m8N9TxeFz+KoJ9LkqoKqJlzx2JDm56DVwaJ1r36JYxZM05g==
+"@testing-library/react@^12.1.4":
+  version "12.1.4"
+  resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.4.tgz#09674b117e550af713db3f4ec4c0942aa8bbf2c0"
+  integrity sha512-jiPKOm7vyUw311Hn/HlNQ9P8/lHNtArAx0PisXyFixDDvfl8DbD6EUdbshK5eqauvBSvzZd19itqQ9j3nferJA==
   dependencies:
     "@babel/runtime" "^7.12.5"
     "@testing-library/dom" "^8.0.0"
+    "@types/react-dom" "*"
 
 "@tootallnate/once@1":
   version "1.1.2"
@@ -1632,6 +1645,13 @@
   resolved "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz"
   integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==
 
+"@types/react-dom@*":
+  version "17.0.11"
+  resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.11.tgz#e1eadc3c5e86bdb5f7684e00274ae228e7bcc466"
+  integrity sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==
+  dependencies:
+    "@types/react" "*"
+
 "@types/react-redux@^7.1.20":
   version "7.1.20"
   resolved "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.20.tgz"
@@ -1859,13 +1879,13 @@ abab@^2.0.3, abab@^2.0.5:
   resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz"
   integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==
 
-accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
-  version "1.3.7"
-  resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz"
-  integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
+accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8:
+  version "1.3.8"
+  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
+  integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
   dependencies:
-    mime-types "~2.1.24"
-    negotiator "0.6.2"
+    mime-types "~2.1.34"
+    negotiator "0.6.3"
 
 acorn-globals@^6.0.0:
   version "6.0.0"
@@ -2275,10 +2295,10 @@ axe-core@^4.3.5:
   resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.3.5.tgz"
   integrity sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==
 
-axios@^0.26.0:
-  version "0.26.0"
-  resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.0.tgz#9a318f1c69ec108f8cd5f3c3d390366635e13928"
-  integrity sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==
+axios@^0.26.1:
+  version "0.26.1"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9"
+  integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==
   dependencies:
     follow-redirects "^1.14.8"
 
@@ -2522,10 +2542,10 @@ blueimp-load-image@^3.0.0:
   resolved "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-3.0.0.tgz"
   integrity sha512-Q9rFbd4ZUNvzSFmRXx9MoG0RwWwJeMjjEUbG7WIOJgUg22Jgkow0wL5b35B6qwiBscxACW9OHdrP5s2vQ3x8DQ==
 
-blurhash@^1.1.4:
-  version "1.1.4"
-  resolved "https://registry.npmjs.org/blurhash/-/blurhash-1.1.4.tgz"
-  integrity sha512-MXIPz6zwYUKayju+Uidf83KhH0vodZfeRl6Ich8Gu+KGl0JgKiFq9LsfqV7cVU5fKD/AotmduZqvOfrGKOfTaA==
+blurhash@^1.1.5:
+  version "1.1.5"
+  resolved "https://registry.yarnpkg.com/blurhash/-/blurhash-1.1.5.tgz#3034104cd5dce5a3e5caa871ae2f0f1f2d0ab566"
+  integrity sha512-a+LO3A2DfxTaTztsmkbLYmUzUeApi0LZuKalwbNmqAHR6HhJGMt1qSV/R3wc+w4DL28holjqO3Bg74aUGavGjg==
 
 bmp-js@^0.1.0:
   version "0.1.0"
@@ -2542,20 +2562,20 @@ bn.js@^5.1.1:
   resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz"
   integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==
 
-body-parser@1.19.1:
-  version "1.19.1"
-  resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz"
-  integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==
+body-parser@1.19.2:
+  version "1.19.2"
+  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e"
+  integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==
   dependencies:
-    bytes "3.1.1"
+    bytes "3.1.2"
     content-type "~1.0.4"
     debug "2.6.9"
     depd "~1.1.2"
     http-errors "1.8.1"
     iconv-lite "0.4.24"
     on-finished "~2.3.0"
-    qs "6.9.6"
-    raw-body "2.4.2"
+    qs "6.9.7"
+    raw-body "2.4.3"
     type-is "~1.6.18"
 
 bonjour@^3.5.0:
@@ -2748,10 +2768,10 @@ bytes@3.0.0:
   resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz"
   integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
 
-bytes@3.1.1:
-  version "3.1.1"
-  resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz"
-  integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==
+bytes@3.1.2:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
+  integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
 
 cacache@^12.0.2:
   version "12.0.4"
@@ -3267,10 +3287,10 @@ cookie-signature@1.0.6:
   resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
   integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
 
-cookie@0.4.1:
-  version "0.4.1"
-  resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz"
-  integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
+cookie@0.4.2:
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
+  integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
 
 copy-concurrently@^1.0.0:
   version "1.0.5"
@@ -4300,10 +4320,10 @@ eslint-plugin-promise@~6.0.0:
   resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz"
   integrity sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw==
 
-eslint-plugin-react@~7.29.2:
-  version "7.29.2"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.2.tgz#2d4da69d30d0a736efd30890dc6826f3e91f3f7c"
-  integrity sha512-ypEBTKOy5liFQXZWMchJ3LN0JX1uPI6n7MN7OPHKacqXAxq5gYC30TdO7wqGYQyxD1OrzpobdHC3hDmlRWDg9w==
+eslint-plugin-react@~7.29.3:
+  version "7.29.3"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.3.tgz#f4eab757f2756d25d6d4c2a58a9e20b004791f05"
+  integrity sha512-MzW6TuCnDOcta67CkpDyRfRsEVx9FNMDV8wZsDqe1luHPdGTrQIUaUXD27Ja3gHsdOIs/cXzNchWGlqm+qRVRg==
   dependencies:
     array-includes "^3.1.4"
     array.prototype.flatmap "^1.2.5"
@@ -4600,17 +4620,17 @@ expect@^27.5.1:
     jest-matcher-utils "^27.5.1"
     jest-message-util "^27.5.1"
 
-express@^4.17.1:
-  version "4.17.2"
-  resolved "https://registry.npmjs.org/express/-/express-4.17.2.tgz"
-  integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==
+express@^4.17.1, express@^4.17.3:
+  version "4.17.3"
+  resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1"
+  integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==
   dependencies:
-    accepts "~1.3.7"
+    accepts "~1.3.8"
     array-flatten "1.1.1"
-    body-parser "1.19.1"
+    body-parser "1.19.2"
     content-disposition "0.5.4"
     content-type "~1.0.4"
-    cookie "0.4.1"
+    cookie "0.4.2"
     cookie-signature "1.0.6"
     debug "2.6.9"
     depd "~1.1.2"
@@ -4625,7 +4645,7 @@ express@^4.17.1:
     parseurl "~1.3.3"
     path-to-regexp "0.1.7"
     proxy-addr "~2.0.7"
-    qs "6.9.6"
+    qs "6.9.7"
     range-parser "~1.2.1"
     safe-buffer "5.2.1"
     send "0.17.2"
@@ -7020,10 +7040,10 @@ mark-loader@^0.1.6:
   resolved "https://registry.npmjs.org/mark-loader/-/mark-loader-0.1.6.tgz"
   integrity sha1-CrtHfcp0IdcOIBKP9kifXK6GdtU=
 
-marky@^1.2.2:
-  version "1.2.2"
-  resolved "https://registry.npmjs.org/marky/-/marky-1.2.2.tgz"
-  integrity sha512-k1dB2HNeaNyORco8ulVEhctyEGkKHb2YWAhDsxeFlW2nROIirsctBYzKwwS3Vza+sKTS1zO4Z+n9/+9WbGLIxQ==
+marky@^1.2.4:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/marky/-/marky-1.2.4.tgz#d02bb4c08be2366687c778ecd2a328971ce23d7f"
+  integrity sha512-zd2/GiSn6U3/jeFVZ0J9CA1LzQ8RfIVvXkb/U0swFHF/zT+dVohTAWjmo2DcIuofmIIIROlwTbd+shSeXmxr0w==
 
 md5.js@^1.3.4:
   version "1.3.5"
@@ -7127,12 +7147,12 @@ miller-rabin@^4.0.0:
 
 mime-db@1.51.0, "mime-db@>= 1.43.0 < 2":
   version "1.51.0"
-  resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz"
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
   integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
 
-mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.24:
+mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34:
   version "2.1.34"
-  resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
   integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
   dependencies:
     mime-db "1.51.0"
@@ -7359,10 +7379,10 @@ natural-compare@^1.4.0:
   resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
   integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
 
-negotiator@0.6.2:
-  version "0.6.2"
-  resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz"
-  integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
+negotiator@0.6.3:
+  version "0.6.3"
+  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
+  integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
 
 neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2:
   version "2.6.2"
@@ -8648,10 +8668,10 @@ q@^1.1.2:
   resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz"
   integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
 
-qs@6.9.6:
-  version "6.9.6"
-  resolved "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz"
-  integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==
+qs@6.9.7:
+  version "6.9.7"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe"
+  integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==
 
 querystring-es3@^0.2.0:
   version "0.2.1"
@@ -8700,12 +8720,12 @@ range-parser@^1.2.1, range-parser@~1.2.1:
   resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
   integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
 
-raw-body@2.4.2:
-  version "2.4.2"
-  resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz"
-  integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==
+raw-body@2.4.3:
+  version "2.4.3"
+  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c"
+  integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==
   dependencies:
-    bytes "3.1.1"
+    bytes "3.1.2"
     http-errors "1.8.1"
     iconv-lite "0.4.24"
     unpipe "1.0.0"
@@ -10760,10 +10780,10 @@ user-home@^2.0.0:
   dependencies:
     os-homedir "^1.0.0"
 
-utf-8-validate@^5.0.8:
-  version "5.0.8"
-  resolved "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.8.tgz"
-  integrity sha512-k4dW/Qja1BYDl2qD4tOMB9PFVha/UJtxTc1cXYOe3WwA/2m0Yn4qB7wLMpJyLJ/7DR0XnTut3HsCSzDT4ZvKgA==
+utf-8-validate@^5.0.9:
+  version "5.0.9"
+  resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.9.tgz#ba16a822fbeedff1a58918f2a6a6b36387493ea3"
+  integrity sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==
   dependencies:
     node-gyp-build "^4.3.0"