about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md7
-rw-r--r--Gemfile.lock16
-rw-r--r--app/controllers/api/base_controller.rb2
-rw-r--r--app/controllers/auth/registrations_controller.rb2
-rw-r--r--app/controllers/oauth/authorizations_controller.rb2
-rw-r--r--app/controllers/settings/base_controller.rb2
-rw-r--r--app/javascript/mastodon/components/status_content.js2
-rw-r--r--app/javascript/mastodon/locales/ast.json44
-rw-r--r--app/javascript/mastodon/locales/br.json4
-rw-r--r--app/javascript/mastodon/locales/ca.json194
-rw-r--r--app/javascript/mastodon/locales/cy.json150
-rw-r--r--app/javascript/mastodon/locales/de.json20
-rw-r--r--app/javascript/mastodon/locales/eo.json20
-rw-r--r--app/javascript/mastodon/locales/ga.json62
-rw-r--r--app/javascript/mastodon/locales/kab.json26
-rw-r--r--app/javascript/mastodon/locales/ko.json46
-rw-r--r--app/javascript/mastodon/locales/lv.json10
-rw-r--r--app/javascript/mastodon/locales/ms.json382
-rw-r--r--app/javascript/mastodon/locales/no.json10
-rw-r--r--app/javascript/mastodon/locales/pt-BR.json2
-rw-r--r--app/javascript/mastodon/locales/ro.json18
-rw-r--r--app/javascript/mastodon/locales/sk.json6
-rw-r--r--app/javascript/mastodon/locales/sv.json10
-rw-r--r--app/javascript/mastodon/locales/th.json2
-rw-r--r--app/javascript/mastodon/locales/vi.json8
-rw-r--r--config/initializers/content_security_policy.rb2
-rw-r--r--config/locales/activerecord.ms.yml35
-rw-r--r--config/locales/ast.yml4
-rw-r--r--config/locales/ca.yml40
-rw-r--r--config/locales/cy.yml815
-rw-r--r--config/locales/da.yml5
-rw-r--r--config/locales/de.yml102
-rw-r--r--config/locales/devise.cy.yml25
-rw-r--r--config/locales/devise.ko.yml2
-rw-r--r--config/locales/devise.ms.yml52
-rw-r--r--config/locales/devise.th.yml6
-rw-r--r--config/locales/doorkeeper.cy.yml36
-rw-r--r--config/locales/doorkeeper.ga.yml2
-rw-r--r--config/locales/doorkeeper.ko.yml6
-rw-r--r--config/locales/doorkeeper.ms.yml53
-rw-r--r--config/locales/es.yml6
-rw-r--r--config/locales/ga.yml7
-rw-r--r--config/locales/gd.yml6
-rw-r--r--config/locales/gl.yml6
-rw-r--r--config/locales/hu.yml6
-rw-r--r--config/locales/kab.yml17
-rw-r--r--config/locales/ko.yml78
-rw-r--r--config/locales/lv.yml10
-rw-r--r--config/locales/ms.yml87
-rw-r--r--config/locales/nl.yml8
-rw-r--r--config/locales/nn.yml11
-rw-r--r--config/locales/no.yml124
-rw-r--r--config/locales/pt-BR.yml72
-rw-r--r--config/locales/ru.yml6
-rw-r--r--config/locales/simple_form.ca.yml4
-rw-r--r--config/locales/simple_form.cy.yml36
-rw-r--r--config/locales/simple_form.de.yml14
-rw-r--r--config/locales/simple_form.es.yml12
-rw-r--r--config/locales/simple_form.ga.yml2
-rw-r--r--config/locales/simple_form.kab.yml3
-rw-r--r--config/locales/simple_form.ko.yml6
-rw-r--r--config/locales/simple_form.ms.yml141
-rw-r--r--config/locales/simple_form.no.yml19
-rw-r--r--config/locales/simple_form.pt-BR.yml32
-rw-r--r--config/locales/simple_form.th.yml2
-rw-r--r--config/locales/th.yml18
-rw-r--r--config/locales/tr.yml6
-rw-r--r--config/locales/uk.yml6
-rw-r--r--config/locales/vi.yml6
-rw-r--r--config/locales/zh-TW.yml2
-rw-r--r--lib/mastodon/version.rb2
-rw-r--r--package.json18
-rw-r--r--yarn.lock198
73 files changed, 2383 insertions, 820 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4392cc658..b1ad9e5fd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,13 @@ Changelog
 
 All notable changes to this project will be documented in this file.
 
+## [4.0.2] - 2022-11-15
+### Fixed
+
+- Fix wrong color on mentions hidden behind content warning in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/20724))
+- Fix filters from other users being used in the streaming service ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20719))
+- Fix `unsafe-eval` being used when `wasm-unsafe-eval` is enough in Content Security Policy ([Gargron](https://github.com/mastodon/mastodon/pull/20729), [prplecake](https://github.com/mastodon/mastodon/pull/20606))
+
 ## [4.0.1] - 2022-11-14
 ### Fixed
 
diff --git a/Gemfile.lock b/Gemfile.lock
index ddd89fa16..912156966 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -343,7 +343,7 @@ GEM
       multi_json (~> 1.15)
       rack (~> 2.2)
       rdf (~> 3.2, >= 3.2.9)
-    json-ld-preloaded (3.2.0)
+    json-ld-preloaded (3.2.2)
       json-ld (~> 3.2)
       rdf (~> 3.2)
     jsonapi-renderer (0.2.2)
@@ -395,7 +395,7 @@ GEM
     mario-redis-lock (1.2.1)
       redis (>= 3.0.5)
     matrix (0.4.2)
-    memory_profiler (1.0.0)
+    memory_profiler (1.0.1)
     method_source (1.0.0)
     microformats (4.4.1)
       json (~> 2.2)
@@ -414,7 +414,7 @@ GEM
       net-ssh (>= 2.6.5, < 8.0.0)
     net-ssh (7.0.1)
     nio4r (2.5.8)
-    nokogiri (1.13.8)
+    nokogiri (1.13.9)
       mini_portile2 (~> 2.8.0)
       racc (~> 1.4)
     nsa (0.2.8)
@@ -422,7 +422,7 @@ GEM
       concurrent-ruby (~> 1.0, >= 1.0.2)
       sidekiq (>= 3.5)
       statsd-ruby (~> 1.4, >= 1.4.0)
-    oj (3.13.21)
+    oj (3.13.23)
     omniauth (1.9.2)
       hashie (>= 3.4.6)
       rack (>= 1.6.2, < 3)
@@ -457,7 +457,7 @@ GEM
     parslet (2.0.0)
     pastel (0.8.0)
       tty-color (~> 0.5)
-    pg (1.4.3)
+    pg (1.4.4)
     pghero (2.8.3)
       activerecord (>= 5)
     pkg-config (1.4.9)
@@ -611,8 +611,8 @@ GEM
       activerecord (>= 4.0.0)
       railties (>= 4.0.0)
     semantic_range (3.0.0)
-    sidekiq (6.5.7)
-      connection_pool (>= 2.2.5)
+    sidekiq (6.5.8)
+      connection_pool (>= 2.2.5, < 3)
       rack (~> 2.0)
       redis (>= 4.5.0, < 5)
     sidekiq-bulk (0.2.0)
@@ -684,7 +684,7 @@ GEM
       unf (~> 0.1.0)
     tzinfo (2.0.5)
       concurrent-ruby (~> 1.0)
-    tzinfo-data (1.2022.4)
+    tzinfo-data (1.2022.6)
       tzinfo (>= 1.0.0)
     unf (0.1.4)
       unf_ext
diff --git a/app/controllers/api/base_controller.rb b/app/controllers/api/base_controller.rb
index 665425f29..defef0656 100644
--- a/app/controllers/api/base_controller.rb
+++ b/app/controllers/api/base_controller.rb
@@ -129,7 +129,7 @@ class Api::BaseController < ApplicationController
   end
 
   def set_cache_headers
-    response.headers['Cache-Control'] = 'no-cache, no-store, max-age=0, must-revalidate'
+    response.headers['Cache-Control'] = 'private, no-store'
   end
 
   def disallow_unauthenticated_api_access?
diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb
index edef0d5bb..d363efeee 100644
--- a/app/controllers/auth/registrations_controller.rb
+++ b/app/controllers/auth/registrations_controller.rb
@@ -159,6 +159,6 @@ class Auth::RegistrationsController < Devise::RegistrationsController
   end
 
   def set_cache_headers
-    response.headers['Cache-Control'] = 'no-cache, no-store, max-age=0, must-revalidate'
+    response.headers['Cache-Control'] = 'private, no-store'
   end
 end
diff --git a/app/controllers/oauth/authorizations_controller.rb b/app/controllers/oauth/authorizations_controller.rb
index 137346ed0..279b68016 100644
--- a/app/controllers/oauth/authorizations_controller.rb
+++ b/app/controllers/oauth/authorizations_controller.rb
@@ -35,6 +35,6 @@ class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController
   end
 
   def set_cache_headers
-    response.headers['Cache-Control'] = 'no-cache, no-store, max-age=0, must-revalidate'
+    response.headers['Cache-Control'] = 'private, no-store'
   end
 end
diff --git a/app/controllers/settings/base_controller.rb b/app/controllers/settings/base_controller.rb
index dee3922d8..bf17b918c 100644
--- a/app/controllers/settings/base_controller.rb
+++ b/app/controllers/settings/base_controller.rb
@@ -19,7 +19,7 @@ class Settings::BaseController < ApplicationController
   end
 
   def set_cache_headers
-    response.headers['Cache-Control'] = 'no-cache, no-store, max-age=0, must-revalidate'
+    response.headers['Cache-Control'] = 'private, no-store'
   end
 
   def require_not_suspended!
diff --git a/app/javascript/mastodon/components/status_content.js b/app/javascript/mastodon/components/status_content.js
index fbc66eabf..6f3093d63 100644
--- a/app/javascript/mastodon/components/status_content.js
+++ b/app/javascript/mastodon/components/status_content.js
@@ -249,7 +249,7 @@ class StatusContent extends React.PureComponent {
       let mentionsPlaceholder = '';
 
       const mentionLinks = status.get('mentions').map(item => (
-        <Link to={`/@${item.get('acct')}`} key={item.get('id')} className='mention'>
+        <Link to={`/@${item.get('acct')}`} key={item.get('id')} className='status-link mention'>
           @<span>{item.get('username')}</span>
         </Link>
       )).reduce((aggregate, item) => [...aggregate, item, ' '], []);
diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json
index 78555dc2d..243b7f323 100644
--- a/app/javascript/mastodon/locales/ast.json
+++ b/app/javascript/mastodon/locales/ast.json
@@ -1,34 +1,34 @@
 {
-  "about.blocks": "Moderated servers",
-  "about.contact": "Contact:",
+  "about.blocks": "Servidor Moderáu",
+  "about.contact": "Contautu:",
   "about.disclaimer": "Mastodon ye software gratuito y de códigu llibre, y una marca rexistrada de Mastodon gGmbH.",
   "about.domain_blocks.no_reason_available": "El motivu nun ta disponible",
-  "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
-  "about.domain_blocks.silenced.title": "Limited",
-  "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
-  "about.domain_blocks.suspended.title": "Suspended",
-  "about.not_available": "This information has not been made available on this server.",
-  "about.powered_by": "Decentralized social media powered by {mastodon}",
-  "about.rules": "Server rules",
+  "about.domain_blocks.preamble": "En xeneral Mastodon permite-y ver conteníos y interactuar con usuarios de cualesquier otru servidor nel fediversu. Estes son les excepciones que se ficieron nesti servidor en concretu.",
+  "about.domain_blocks.silenced.explanation": "Polo xeneral, nun verá los perfiles y el conteniu dʼesti servidor, a menos que lu busque explícitamente o opte por seguilu.",
+  "about.domain_blocks.silenced.title": "Limitao",
+  "about.domain_blocks.suspended.explanation": "Nengún datu dʼesti servidor sedrá procesáu, almacenáu o intercambiáu, imposibilitando cualesquier interacción o comunicación colos usuarios dʼesti servidor.",
+  "about.domain_blocks.suspended.title": "Suspendíu",
+  "about.not_available": "Esta información nun ta algamable nesti servidor.",
+  "about.powered_by": "Rede social descentralizada gracies a {mastodon}",
+  "about.rules": "Regles del servidor",
   "account.account_note_header": "Nota",
-  "account.add_or_remove_from_list": "Add or Remove from lists",
+  "account.add_or_remove_from_list": "Amestar o Quitar de les llistes",
   "account.badges.bot": "Robó",
   "account.badges.group": "Grupu",
   "account.block": "Bloquiar a @{name}",
-  "account.block_domain": "Block domain {domain}",
-  "account.blocked": "Blocked",
-  "account.browse_more_on_origin_server": "Browse more on the original profile",
-  "account.cancel_follow_request": "Withdraw follow request",
-  "account.direct": "Direct message @{name}",
-  "account.disable_notifications": "Stop notifying me when @{name} posts",
-  "account.domain_blocked": "Domain blocked",
+  "account.block_domain": "Bloquear el dominiu {domain}",
+  "account.blocked": "Bloqueado",
+  "account.browse_more_on_origin_server": "Gueta más nel perfil orixinal",
+  "account.cancel_follow_request": "Quita la solicitú de seguimientu",
+  "account.direct": "Mensaxe direutu @{name}",
+  "account.disable_notifications": "Dexar de comunícame cuando @{name} escriba daqué",
+  "account.domain_blocked": "Dominiu bloquiáu",
   "account.edit_profile": "Editar el perfil",
-  "account.enable_notifications": "Notify me when @{name} posts",
+  "account.enable_notifications": "Avísame cuando @{name} ponga daqué",
   "account.endorse": "Destacar nel perfil",
-  "account.featured_tags.last_status_at": "Last post on {date}",
-  "account.featured_tags.last_status_never": "No posts",
-  "account.featured_tags.title": "{name}'s featured hashtags",
+  "account.featured_tags.last_status_at": "Última publicación {date}",
+  "account.featured_tags.last_status_never": "En sin mensaxes",
+  "account.featured_tags.title": "Etiquetes destacáes de: {name}",
   "account.follow": "Siguir",
   "account.followers": "Siguidores",
   "account.followers.empty": "Naide sigue a esti usuariu entá.",
diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json
index 5acbd0ecc..58da7dd72 100644
--- a/app/javascript/mastodon/locales/br.json
+++ b/app/javascript/mastodon/locales/br.json
@@ -537,7 +537,7 @@
   "server_banner.learn_more": "Learn more",
   "server_banner.server_stats": "Server stats:",
   "sign_in_banner.create_account": "Create account",
-  "sign_in_banner.sign_in": "Sign in",
+  "sign_in_banner.sign_in": "Kevreañ",
   "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.",
   "status.admin_account": "Digeriñ etrefas evezherezh evit @{name}",
   "status.admin_status": "Digeriñ an toud e-barzh an etrefas evezherezh",
@@ -550,7 +550,7 @@
   "status.detailed_status": "Gwel kaozeadenn munudek",
   "status.direct": "Kas ur c'hemennad prevez da @{name}",
   "status.edit": "Aozañ",
-  "status.edited": "Edited {date}",
+  "status.edited": "Aozet {date}",
   "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Enframmañ",
   "status.favourite": "Muiañ-karet",
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index 4b5fb25e4..3c93d17ec 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -15,19 +15,19 @@
   "account.add_or_remove_from_list": "Afegeix o elimina de les llistes",
   "account.badges.bot": "Bot",
   "account.badges.group": "Grup",
-  "account.block": "Bloqueja @{name}",
-  "account.block_domain": "Bloqueja el domini {domain}",
-  "account.blocked": "Bloquejat",
+  "account.block": "Bloca @{name}",
+  "account.block_domain": "Bloca el domini {domain}",
+  "account.blocked": "Blocat",
   "account.browse_more_on_origin_server": "Navega més en el perfil original",
   "account.cancel_follow_request": "Retira la sol·licitud de seguiment",
   "account.direct": "Envia missatge directe a @{name}",
-  "account.disable_notifications": "No em notifiquis les publicacions de @{name}",
+  "account.disable_notifications": "Deixa de notificarme quan publiqui @{name}",
   "account.domain_blocked": "Domini blocat",
   "account.edit_profile": "Edita el perfil",
-  "account.enable_notifications": "Notifica'm les publicacions de @{name}",
+  "account.enable_notifications": "Notifica'm els tuts de @{name}",
   "account.endorse": "Recomana en el perfil",
-  "account.featured_tags.last_status_at": "Última publicació el {date}",
-  "account.featured_tags.last_status_never": "No hi ha publicacions",
+  "account.featured_tags.last_status_at": "Últim tut el {date}",
+  "account.featured_tags.last_status_never": "No hi ha tuts",
   "account.featured_tags.title": "Etiquetes destacades de: {name}",
   "account.follow": "Segueix",
   "account.followers": "Seguidors",
@@ -42,7 +42,7 @@
   "account.joined_short": "S'ha unit",
   "account.languages": "Canviar les llengües subscrits",
   "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.locked_info": "Aquest estat de privadesa del compte està definit com a blocat. El propietari revisa manualment qui pot seguir-lo.",
   "account.media": "Multimèdia",
   "account.mention": "Menciona @{name}",
   "account.moved_to": "{name} ha indicat que el seu nou compte ara és:",
@@ -50,16 +50,16 @@
   "account.mute_notifications": "Silencia les notificacions de @{name}",
   "account.muted": "Silenciat",
   "account.open_original_page": "Obre la pàgina original",
-  "account.posts": "Publicacions",
-  "account.posts_with_replies": "Publicacions i respostes",
+  "account.posts": "Tuts",
+  "account.posts_with_replies": "Tuts i respostes",
   "account.report": "Informa quant a @{name}",
   "account.requested": "S'està esperant l'aprovació. Feu 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} Publicació} other {{counter} Publicacions}}",
-  "account.unblock": "Desbloqueja @{name}",
-  "account.unblock_domain": "Desbloqueja el domini {domain}",
-  "account.unblock_short": "Desbloqueja",
+  "account.statuses_counter": "{count, plural, one {{counter} Tut} other {{counter} Tuts}}",
+  "account.unblock": "Desbloca @{name}",
+  "account.unblock_domain": "Desbloca el domini {domain}",
+  "account.unblock_short": "Desbloca",
   "account.unendorse": "No recomanis en el perfil",
   "account.unfollow": "Deixa de seguir",
   "account.unmute": "Deixar de silenciar @{name}",
@@ -98,19 +98,19 @@
   "closed_registrations_modal.preamble": "Mastodon és descentralitzat per tant no importa on tinguis el teu compte, seràs capaç de seguir i interactuar amb tothom des d'aquest servidor. Fins i tot pots tenir el compte en el teu propi servidor!",
   "closed_registrations_modal.title": "Registrant-se a Mastodon",
   "column.about": "Quant a",
-  "column.blocks": "Usuaris bloquejats",
+  "column.blocks": "Usuaris blocats",
   "column.bookmarks": "Marcadors",
   "column.community": "Línia de temps local",
   "column.direct": "Missatges directes",
   "column.directory": "Navegar pels perfils",
-  "column.domain_blocks": "Dominis bloquejats",
+  "column.domain_blocks": "Dominis blocats",
   "column.favourites": "Preferits",
   "column.follow_requests": "Peticions per a seguir-te",
   "column.home": "Inici",
   "column.lists": "Llistes",
   "column.mutes": "Usuaris silenciats",
   "column.notifications": "Notificacions",
-  "column.pins": "Publicacions fixades",
+  "column.pins": "Tuts fixats",
   "column.public": "Línia de temps federada",
   "column_back_button.label": "Enrere",
   "column_header.hide_settings": "Amaga la configuració",
@@ -126,18 +126,18 @@
   "compose.language.change": "Canvia d'idioma",
   "compose.language.search": "Cerca idiomes...",
   "compose_form.direct_message_warning_learn_more": "Més informació",
-  "compose_form.encryption_warning": "Les publicacions a Mastodon no estant xifrades punt a punt. No comparteixis informació sensible mitjançant Mastodon.",
-  "compose_form.hashtag_warning": "Aquesta publicació no es mostrarà en cap etiqueta, ja que no està llistada. Només les publicacions públiques es poden cercar per etiqueta.",
-  "compose_form.lock_disclaimer": "El teu compte no està {locked}. Tothom pot seguir-te i veure les publicacions de només per a seguidors.",
-  "compose_form.lock_disclaimer.lock": "bloquejat",
+  "compose_form.encryption_warning": "Els tuts a Mastodon no estan xifrats punt a punt. No comparteixis informació confidencial mitjançant Mastodon.",
+  "compose_form.hashtag_warning": "Aquest tut no es mostrarà en cap etiqueta, ja que no està llistat. Només els tuts públics es poden cercar per etiqueta.",
+  "compose_form.lock_disclaimer": "El teu compte no està {locked}. Tothom pot seguir-te i veure els tuts de només per a seguidors.",
+  "compose_form.lock_disclaimer.lock": "blocat",
   "compose_form.placeholder": "Què tens en ment?",
-  "compose_form.poll.add_option": "Afegir una opció",
+  "compose_form.poll.add_option": "Afegeix una opció",
   "compose_form.poll.duration": "Durada de l'enquesta",
   "compose_form.poll.option_placeholder": "Opció {number}",
   "compose_form.poll.remove_option": "Elimina aquesta opció",
   "compose_form.poll.switch_to_multiple": "Canvia l’enquesta per a permetre diverses opcions",
   "compose_form.poll.switch_to_single": "Canvia l’enquesta per permetre una única opció",
-  "compose_form.publish": "Publica-ho",
+  "compose_form.publish": "Tut",
   "compose_form.publish_loud": "{publish}!",
   "compose_form.save_changes": "Desa els canvis",
   "compose_form.sensitive.hide": "{count, plural, one {Marca contingut com a sensible} other {Marca contingut com a sensible}}",
@@ -147,26 +147,26 @@
   "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": "Bloqueja i informa",
-  "confirmations.block.confirm": "Bloqueja",
-  "confirmations.block.message": "Segur que vols bloquejar a {name}?",
+  "confirmations.block.block_and_report": "Bloca i informa",
+  "confirmations.block.confirm": "Bloca",
+  "confirmations.block.message": "Segur que vols blocar a {name}?",
   "confirmations.cancel_follow_request.confirm": "Retirar sol·licitud",
   "confirmations.cancel_follow_request.message": "Estàs segur que vols retirar la teva sol·licitud de seguiment de {name}?",
   "confirmations.delete.confirm": "Suprimeix",
-  "confirmations.delete.message": "Segur que vols eliminar la publicació?",
+  "confirmations.delete.message": "Segur que vols eliminar aquest tut?",
   "confirmations.delete_list.confirm": "Suprimeix",
   "confirmations.delete_list.message": "Segur que vols suprimir permanentment aquesta llista?",
   "confirmations.discard_edit_media.confirm": "Descarta",
   "confirmations.discard_edit_media.message": "Tens canvis no desats en la descripció del contingut o en la previsualització, els vols descartar?",
-  "confirmations.domain_block.confirm": "Bloqueja el domini sencer",
-  "confirmations.domain_block.message": "N'estàs segur del tot que vols bloquejar totalment {domain}? En la majoria dels casos, bloquejar o silenciar uns pocs objectius és suficient i preferible. No veuràs el contingut d’aquest domini en cap de les línies de temps ni en les notificacions. Els teus seguidors d’aquest domini s'elimiran.",
+  "confirmations.domain_block.confirm": "Bloca el domini sencer",
+  "confirmations.domain_block.message": "N'estàs segur del tot que vols blocar totalment {domain}? En la majoria dels casos, blocar o silenciar uns pocs objectius és suficient i preferible. No veuràs el contingut d’aquest domini en cap de les línies de temps ni en les notificacions. S'eliminaran els teus seguidors d’aquest domini.",
   "confirmations.logout.confirm": "Tancar sessió",
   "confirmations.logout.message": "Segur que vols tancar la sessió?",
   "confirmations.mute.confirm": "Silencia",
-  "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.explanation": "Això amagarà els tuts d'ells i els d'els que els mencionin, però encara els permetrà veure els teus tuts i seguir-te.",
   "confirmations.mute.message": "Segur que vols silenciar {name}?",
-  "confirmations.redraft.confirm": "Esborra'l i reescriure-lo",
-  "confirmations.redraft.message": "Segur que vols esborrar aquesta publicació i tornar-la a escriure? Perdràs tots els impulsos i els preferits, i les respostes a la publicació original es quedaran orfes.",
+  "confirmations.redraft.confirm": "Esborra i reescriu",
+  "confirmations.redraft.message": "Segur que vols esborrar aquest tut i tornar-lo a escriure? Perdràs tots els impulsos i els preferits, i es quedaran orfes les respostes al tut original.",
   "confirmations.reply.confirm": "Respon",
   "confirmations.reply.message": "Si respons ara, sobreescriuràs el missatge que estàs editant. Segur que vols continuar?",
   "confirmations.unfollow.confirm": "Deixa de seguir",
@@ -183,13 +183,13 @@
   "directory.recently_active": "Recentment actius",
   "disabled_account_banner.account_settings": "Paràmetres del compte",
   "disabled_account_banner.text": "El teu compte {disabledAccount} està actualment desactivat.",
-  "dismissable_banner.community_timeline": "Aquestes són les publicacions més recents d'usuaris amb els seus comptes a {domain}.",
+  "dismissable_banner.community_timeline": "Aquests són els tuts públics més recents d'usuaris amb els seus comptes a {domain}.",
   "dismissable_banner.dismiss": "Ometre",
   "dismissable_banner.explore_links": "Aquests son els enllaços que els usuaris estan comentant ara mateix en aquest i altres servidors de la xarxa descentralitzada.",
-  "dismissable_banner.explore_statuses": "Aquestes publicacions d'aquest i altres servidors de la xarxa descentralitzada estan guanyant l'atenció ara mateix en aquest servidor.",
+  "dismissable_banner.explore_statuses": "Aquests tuts d'aquest i altres servidors de la xarxa descentralitzada estan guanyant l'atenció ara mateix en aquest servidor.",
   "dismissable_banner.explore_tags": "Aquestes etiquetes estan guanyant l'atenció ara mateix dels usuaris d'aquest i altres servidors de la xarxa descentralitzada.",
-  "dismissable_banner.public_timeline": "Aquestes són les publicacions públiques més recents de persones en aquest i altres servidors de la xarxa descentralitzada que aquest servidor coneix.",
-  "embed.instructions": "Incrusta aquesta publicació a la teva pàgina web copiant el codi següent.",
+  "dismissable_banner.public_timeline": "Aquests són els tuts públics més recents de persones en aquest i altres servidors de la xarxa descentralitzada que aquest servidor coneix.",
+  "embed.instructions": "Incrusta aquest tut a la teva pàgina web copiant el codi següent.",
   "embed.preview": "Aquí està quin aspecte tindrà:",
   "emoji_button.activity": "Activitat",
   "emoji_button.clear": "Neteja",
@@ -207,22 +207,22 @@
   "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 publicacions aquí!",
+  "empty_column.account_timeline": "No hi ha tuts aquí!",
   "empty_column.account_unavailable": "Perfil no disponible",
-  "empty_column.blocks": "Encara no has bloquejat cap usuari.",
-  "empty_column.bookmarked_statuses": "Encara no has marcat cap publicació com a preferida. Quan en marquis una, apareixerà aquí.",
+  "empty_column.blocks": "Encara no has blocat cap usuari.",
+  "empty_column.bookmarked_statuses": "Encara no has marcat cap tut. Quan en marquis un, apareixerà aquí.",
   "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per posar-ho tot en marxa!",
   "empty_column.direct": "Encara no tens missatges directes. Quan n'enviïs o en rebis, es mostraran aquí.",
-  "empty_column.domain_blocks": "Encara no hi ha dominis bloquejats.",
+  "empty_column.domain_blocks": "Encara no hi ha dominis blocats.",
   "empty_column.explore_statuses": "No hi ha res en tendència ara mateix. Revisa-ho més tard!",
-  "empty_column.favourited_statuses": "Encara no has marcat cap publicació com a preferida. Quan les marquis, apareixeran aquí.",
-  "empty_column.favourites": "Encara ningú no ha marcat aquesta publicació com a preferida. Quan algú ho faci, apareixerà aquí.",
+  "empty_column.favourited_statuses": "Encara no tens cap tut preferit. Quan ho facis, apareixerà aquí.",
+  "empty_column.favourites": "Encara ningú no ha marcat aquest tut com a preferit. Quan algú ho faci, apareixerà aquí.",
   "empty_column.follow_recommendations": "Sembla que no s'han pogut generar suggeriments per a tu. Pots provar d'usar la cerca per trobar persones que vulguis conèixer o explorar les etiquetes en tendència.",
   "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": "La teva línia de temps és buida! Segueix més gent per omplir-la. {suggestions}",
   "empty_column.home.suggestions": "Mira algunes suggeriments",
-  "empty_column.list": "Encara no hi ha res en aquesta llista. Quan els membres d'aquesta llista publiquin noves publicacions, apareixeran aquí.",
+  "empty_column.list": "Encara no hi ha res en aquesta llista. Quan els membres d'aquesta llista publiquin nous tuts, apareixeran aquí.",
   "empty_column.lists": "Encara no tens cap llista. Quan en creïs una, apareixerà aquí.",
   "empty_column.mutes": "Encara no has silenciat cap usuari.",
   "empty_column.notifications": "Encara no tens notificacions. Quan altres persones interactuïn amb tu, les veuràs aquí.",
@@ -237,30 +237,30 @@
   "explore.suggested_follows": "Per a tu",
   "explore.title": "Explora",
   "explore.trending_links": "Notícies",
-  "explore.trending_statuses": "Publicacions",
+  "explore.trending_statuses": "Tuts",
   "explore.trending_tags": "Etiquetes",
-  "filter_modal.added.context_mismatch_explanation": "Aquesta categoria de filtre no s'aplica al context en què has accedit a aquesta publicació. Si també vols que la publicació es filtri en aquest context, hauràs d'editar el filtre.",
+  "filter_modal.added.context_mismatch_explanation": "Aquesta categoria de filtre no s'aplica al context en què has accedit a aquest tut. Si també vols que el tut es filtri en aquest context, hauràs d'editar el filtre.",
   "filter_modal.added.context_mismatch_title": "El context no coincideix!",
   "filter_modal.added.expired_explanation": "La categoria d'aquest filtre ha caducat, necesitaràs canviar la seva data de caducitat per a aplicar-la.",
   "filter_modal.added.expired_title": "Filtre caducat!",
   "filter_modal.added.review_and_configure": "Per a revisar i configurar aquesta categoria de filtre, ves a {settings_link}.",
   "filter_modal.added.review_and_configure_title": "Configuració del filtre",
   "filter_modal.added.settings_link": "pàgina de configuració",
-  "filter_modal.added.short_explanation": "Aquesta publicació s'ha afegit a la següent categoria de filtre: {title}.",
+  "filter_modal.added.short_explanation": "Aquest tut s'ha afegit a la següent categoria de filtre: {title}.",
   "filter_modal.added.title": "Filtre afegit!",
   "filter_modal.select_filter.context_mismatch": "no aplica en aquest context",
   "filter_modal.select_filter.expired": "caducat",
   "filter_modal.select_filter.prompt_new": "Nova categoria: {name}",
   "filter_modal.select_filter.search": "Cerca o crea",
   "filter_modal.select_filter.subtitle": "Usa una categoria existent o crea una nova",
-  "filter_modal.select_filter.title": "Filtra aquesta publicació",
-  "filter_modal.title.status": "Filtra una publicació",
+  "filter_modal.select_filter.title": "Filtra aquest tut",
+  "filter_modal.title.status": "Filtra un tut",
   "follow_recommendations.done": "Fet",
-  "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 dels 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_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 dels 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 manualment.",
+  "follow_requests.unlocked_explanation": "Tot i que el teu compte no està blocat, el personal de {domain} ha pensat que és possible que vulguis revisar manualment les sol·licituds de seguiment d’aquests comptes.",
   "footer.about": "Quant a",
   "footer.directory": "Directori de perfils",
   "footer.get_app": "Aconsegueix l'app",
@@ -286,31 +286,31 @@
   "home.column_settings.show_replies": "Mostra les respostes",
   "home.hide_announcements": "Amaga els anuncis",
   "home.show_announcements": "Mostra els anuncis",
-  "interaction_modal.description.favourite": "Amb un compte a Mastodon, pots afavorir aquesta publicació perquè l'autor sàpiga que t'ha agradat i desar-la per a més endavant.",
-  "interaction_modal.description.follow": "Amb un compte a Mastodon, pots seguir a {name} per a rebre les seves publicacions en la teva línia de temps d'Inici.",
-  "interaction_modal.description.reblog": "Amb un compte a Mastodon, pots impulsar aquesta publicació per a compartir-la amb els teus seguidors.",
-  "interaction_modal.description.reply": "Amb un compte a Mastodon, pots respondre aquesta publicació.",
+  "interaction_modal.description.favourite": "Amb un compte a Mastodon, pots afavorir aquest tut perquè l'autor sàpiga que t'ha agradat i desar-lo per a més endavant.",
+  "interaction_modal.description.follow": "Amb un compte a Mastodon, pots seguir a {name} per a rebre els seus tuts en la teva línia de temps d'Inici.",
+  "interaction_modal.description.reblog": "Amb un compte a Mastodon, pots impulsar aquesta tut per a compartir-lo amb els teus seguidors.",
+  "interaction_modal.description.reply": "Amb un compte a Mastodon, pots respondre aquest tut.",
   "interaction_modal.on_another_server": "En un servidor diferent",
   "interaction_modal.on_this_server": "En aquest servidor",
   "interaction_modal.other_server_instructions": "Copia i enganxa aquest enllaç en el camp de cerca de la teva aplicació Mastodon preferida o en l'interfície web del teu servidor Mastodon.",
   "interaction_modal.preamble": "Donat que Mastodon és descentralitzat, pots fer servir el teu compte existent a un altre servidor Mastodon o plataforma compatible si és que no tens compte en aquest.",
-  "interaction_modal.title.favourite": "Marca la publicació de {name}",
+  "interaction_modal.title.favourite": "Afavoreix el tut de {name}",
   "interaction_modal.title.follow": "Segueix {name}",
-  "interaction_modal.title.reblog": "Impulsa la publicació de {name}",
-  "interaction_modal.title.reply": "Respon a la publicació de {name}",
+  "interaction_modal.title.reblog": "Impulsa el tut de {name}",
+  "interaction_modal.title.reply": "Respon al tut de {name}",
   "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": "Anar enrere",
-  "keyboard_shortcuts.blocked": "Obre la llista d'usuaris bloquejats",
-  "keyboard_shortcuts.boost": "Impulsa la publicació",
+  "keyboard_shortcuts.blocked": "Obre la llista d'usuaris blocats",
+  "keyboard_shortcuts.boost": "Impulsa el tut",
   "keyboard_shortcuts.column": "Centra la columna",
   "keyboard_shortcuts.compose": "Centra l'àrea de composició del text",
   "keyboard_shortcuts.description": "Descripció",
   "keyboard_shortcuts.direct": "per obrir la columna de missatges directes",
   "keyboard_shortcuts.down": "Mou-lo avall en la llista",
-  "keyboard_shortcuts.enter": "Obrir publicació",
-  "keyboard_shortcuts.favourite": "Marca la publicació",
+  "keyboard_shortcuts.enter": "Obrir el tut",
+  "keyboard_shortcuts.favourite": "Afavoreix el tut",
   "keyboard_shortcuts.favourites": "Obre la llista de preferits",
   "keyboard_shortcuts.federated": "Obre la línia de temps federada",
   "keyboard_shortcuts.heading": "Dreceres de teclat",
@@ -323,16 +323,16 @@
   "keyboard_shortcuts.my_profile": "Obre el teu perfil",
   "keyboard_shortcuts.notifications": "Obre la columna de notificacions",
   "keyboard_shortcuts.open_media": "Obre multimèdia",
-  "keyboard_shortcuts.pinned": "Obrir la llista de publicacions fixades",
+  "keyboard_shortcuts.pinned": "Obrir la llista de tuts fixats",
   "keyboard_shortcuts.profile": "Obre el perfil de l'autor",
-  "keyboard_shortcuts.reply": "Respon a la publicació",
+  "keyboard_shortcuts.reply": "Respon al tut",
   "keyboard_shortcuts.requests": "Obre la llista de les 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 \"Primers passos\"",
   "keyboard_shortcuts.toggle_hidden": "Mostra/oculta el text marcat com a sensible",
   "keyboard_shortcuts.toggle_sensitivity": "Mostra/amaga contingut multimèdia",
-  "keyboard_shortcuts.toot": "Iniciar una publicació nova",
+  "keyboard_shortcuts.toot": "Escriu un nou tut",
   "keyboard_shortcuts.unfocus": "Descentra l'àrea de composició de text/cerca",
   "keyboard_shortcuts.up": "Moure amunt en la llista",
   "lightbox.close": "Tanca",
@@ -365,13 +365,13 @@
   "mute_modal.hide_notifications": "Amagar les notificacions d'aquest usuari?",
   "mute_modal.indefinite": "Indefinit",
   "navigation_bar.about": "Quant a",
-  "navigation_bar.blocks": "Usuaris bloquejats",
+  "navigation_bar.blocks": "Usuaris blocats",
   "navigation_bar.bookmarks": "Marcadors",
   "navigation_bar.community_timeline": "Línia de temps local",
-  "navigation_bar.compose": "Redactar una nova publicació",
+  "navigation_bar.compose": "Redacta un nou tut",
   "navigation_bar.direct": "Missatges directes",
   "navigation_bar.discover": "Descobrir",
-  "navigation_bar.domain_blocks": "Dominis bloquejats",
+  "navigation_bar.domain_blocks": "Dominis blocats",
   "navigation_bar.edit_profile": "Edita el perfil",
   "navigation_bar.explore": "Explora",
   "navigation_bar.favourites": "Preferits",
@@ -382,7 +382,7 @@
   "navigation_bar.logout": "Tancar sessió",
   "navigation_bar.mutes": "Usuaris silenciats",
   "navigation_bar.personal": "Personal",
-  "navigation_bar.pins": "Publicacions fixades",
+  "navigation_bar.pins": "Tuts fixats",
   "navigation_bar.preferences": "Preferències",
   "navigation_bar.public_timeline": "Línia de temps federada",
   "navigation_bar.search": "Cerca",
@@ -390,15 +390,15 @@
   "not_signed_in_indicator.not_signed_in": "Necessites registrar-te per a accedir aquest recurs.",
   "notification.admin.report": "{name} ha reportat {target}",
   "notification.admin.sign_up": "{name} s'ha registrat",
-  "notification.favourite": "a {name} li ha agradat la teva publicació",
+  "notification.favourite": "a {name} li ha agradat el teu tut",
   "notification.follow": "{name} et segueix",
   "notification.follow_request": "{name} ha sol·licitat seguir-te",
   "notification.mention": "{name} t'ha mencionat",
   "notification.own_poll": "La teva enquesta ha finalitzat",
   "notification.poll": "Ha finalitzat una enquesta en què has votat",
-  "notification.reblog": "{name} ha impulsat la teva publicació",
+  "notification.reblog": "{name} ha impulsat el teu tut",
   "notification.status": "{name} acaba de publicar",
-  "notification.update": "{name} ha editat una publicació",
+  "notification.update": "{name} ha editat un tut",
   "notifications.clear": "Esborra les notificacions",
   "notifications.clear_confirmation": "Segur que vols esborrar permanentment totes les teves notificacions?",
   "notifications.column_settings.admin.report": "Nous informes:",
@@ -416,7 +416,7 @@
   "notifications.column_settings.reblog": "Impulsos:",
   "notifications.column_settings.show": "Mostra en la columna",
   "notifications.column_settings.sound": "Reproduir so",
-  "notifications.column_settings.status": "Noves publicacions:",
+  "notifications.column_settings.status": "Tuts nous:",
   "notifications.column_settings.unread_notifications.category": "Notificacions no llegides",
   "notifications.column_settings.unread_notifications.highlight": "Destaca les notificacions no llegides",
   "notifications.column_settings.update": "Edicions:",
@@ -446,14 +446,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": "Canvia la privacitat de la publicació",
+  "privacy.change": "Canvia la privacitat del tut",
   "privacy.direct.long": "Visible només per als usuaris esmentats",
   "privacy.direct.short": "Només gent mencionada",
   "privacy.private.long": "Visible només per als seguidors",
   "privacy.private.short": "Només seguidors",
-  "privacy.public.long": "Visible per tothom",
+  "privacy.public.long": "Visible per a tothom",
   "privacy.public.short": "Públic",
-  "privacy.unlisted.long": "Visible per tothom però exclosa de les funcions de descobriment",
+  "privacy.unlisted.long": "Visible per a tothom però exclosa de les funcions de descobriment",
   "privacy.unlisted.short": "No llistat",
   "privacy_policy.last_updated": "Darrera actualització {date}",
   "privacy_policy.title": "Política de Privacitat",
@@ -473,20 +473,20 @@
   "relative_time.today": "avui",
   "reply_indicator.cancel": "Cancel·la",
   "report.block": "Bloqueja",
-  "report.block_explanation": "No veuràs les seves publicacions. Ells no podran veure les teves publicacions ni et podran seguir. Podran saber que estan bloquejats.",
+  "report.block_explanation": "No veuràs els seus tuts. Ells no podran veure els teus tuts ni et podran seguir. Podran saber que estan blocats.",
   "report.categories.other": "Altres",
   "report.categories.spam": "Contingut brossa",
   "report.categories.violation": "El contingut viola una o més regles del servidor",
   "report.category.subtitle": "Tria la millor coincidència",
   "report.category.title": "Digue'ns què està passant amb aquest {type}",
   "report.category.title_account": "perfil",
-  "report.category.title_status": "publicació",
+  "report.category.title_status": "tut",
   "report.close": "Fet",
   "report.comment.title": "Hi ha res més que creguis que hauríem de saber?",
   "report.forward": "Reenvia a {target}",
   "report.forward_hint": "Aquest compte és d'un altre servidor. Vols enviar-li també una còpia anònima de l'informe?",
   "report.mute": "Silencia",
-  "report.mute_explanation": "No veuràs les seves publicacions. Encara poden seguir-te i veure les teves publicacions, però no sabran que han estat silenciats.",
+  "report.mute_explanation": "No veuràs els seus tuts. Encara poden seguir-te i veure els teus tuts, però no sabran que han estat silenciats.",
   "report.next": "Següent",
   "report.placeholder": "Comentaris addicionals",
   "report.reasons.dislike": "No m'agrada",
@@ -500,7 +500,7 @@
   "report.rules.subtitle": "Selecciona tot el que correspongui",
   "report.rules.title": "Quines regles s'han violat?",
   "report.statuses.subtitle": "Selecciona tot el que correspongui",
-  "report.statuses.title": "Hi ha alguna publicació que recolzi aquest informe?",
+  "report.statuses.title": "Hi ha algun tut que sostingui aquest informe?",
   "report.submit": "Envia",
   "report.target": "Denunciant a {target}",
   "report.thanks.take_action": "Aquestes són les teves opcions per controlar el que veus a Mastodon:",
@@ -508,8 +508,8 @@
   "report.thanks.title": "No vols veure això?",
   "report.thanks.title_actionable": "Gràcies per denunciar-ho. Ho investigarem.",
   "report.unfollow": "Deixa de seguir @{name}",
-  "report.unfollow_explanation": "Estàs seguint aquest compte. Per no veure les seves publicacions a la teva línia de temps d'Inici, deixa de seguir-lo.",
-  "report_notification.attached_statuses": "{count, plural, one {{count} publicació} other {{count} publicacions}} attached",
+  "report.unfollow_explanation": "Estàs seguint aquest compte. Per no veure els seus tuts a la teva línia de temps d'Inici, deixa de seguir-lo.",
+  "report_notification.attached_statuses": "{count, plural, one {{count} tut} other {{count} tuts}} attached",
   "report_notification.categories.other": "Altres",
   "report_notification.categories.spam": "Contingut brossa",
   "report_notification.categories.violation": "Violació de norma",
@@ -517,17 +517,17 @@
   "search.placeholder": "Cerca",
   "search.search_or_paste": "Cerqueu o escriu l'URL",
   "search_popout.search_format": "Format de cerca avançada",
-  "search_popout.tips.full_text": "El text simple recupera publicacions que has escrit, marcat com a preferides, que has impulsat o on t'han esmentat, així com els usuaris, els noms d'usuaris i les etiquetes.",
+  "search_popout.tips.full_text": "El text simple recupera tuts que has escrit, marcat com a preferit, que has impulsat o on t'han esmentat, així com els usuaris, els noms d'usuaris i les etiquetes.",
   "search_popout.tips.hashtag": "etiqueta",
-  "search_popout.tips.status": "publicació",
+  "search_popout.tips.status": "tut",
   "search_popout.tips.text": "El text simple recupera coincidències amb els usuaris, 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": "Publicacions",
-  "search_results.statuses_fts_disabled": "La cerca de publicacions pel seu contingut no està habilitada en aquest servidor Mastodon.",
+  "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.title": "Cerca de {q}",
   "search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}",
   "server_banner.about_active_users": "Gent fem servir aquest servidor en els darrers 30 dies (Usuaris Actius Mensuals)",
@@ -538,14 +538,14 @@
   "server_banner.server_stats": "Estadístiques del servidor:",
   "sign_in_banner.create_account": "Crea un compte",
   "sign_in_banner.sign_in": "Inicia sessió",
-  "sign_in_banner.text": "Inicia la sessió per seguir perfils o etiquetes, afavorir, compartir i respondre a publicacions o interactuar des del teu compte en un servidor diferent.",
+  "sign_in_banner.text": "Inicia la sessió per a seguir perfils o etiquetes, afavorir, compartir i respondre tuts o interactuar des del teu compte en un servidor diferent.",
   "status.admin_account": "Obre l'interfície de moderació per a @{name}",
-  "status.admin_status": "Obrir aquesta publicació a la interfície de moderació",
+  "status.admin_status": "Obrir aquest tut a la interfície de moderació",
   "status.block": "Bloqueja @{name}",
   "status.bookmark": "Marca",
   "status.cancel_reblog_private": "Desfés l'impuls",
-  "status.cannot_reblog": "Aquesta publicació no es pot impulsar",
-  "status.copy": "Copia l'enllaç a la publicació",
+  "status.cannot_reblog": "Aquest tut no es pot impulsar",
+  "status.copy": "Copia l'enllaç al tut",
   "status.delete": "Esborra",
   "status.detailed_status": "Visualització detallada de la conversa",
   "status.direct": "Envia missatge directe a @{name}",
@@ -554,9 +554,9 @@
   "status.edited_x_times": "Editat {count, plural, one {{count} vegada} other {{count} vegades}}",
   "status.embed": "Incrusta",
   "status.favourite": "Preferir",
-  "status.filter": "Filtra aquesta publicació",
+  "status.filter": "Filtra aquest tut",
   "status.filtered": "Filtrat",
-  "status.hide": "Amaga publicació",
+  "status.hide": "Amaga tut",
   "status.history.created": "{name} ha creat {date}",
   "status.history.edited": "{name} ha editat {date}",
   "status.load_more": "Carregar-ne més",
@@ -565,14 +565,14 @@
   "status.more": "Més",
   "status.mute": "Silencia @{name}",
   "status.mute_conversation": "Silencia la conversa",
-  "status.open": "Amplia la publicació",
+  "status.open": "Amplia el tut",
   "status.pin": "Fixa en el perfil",
-  "status.pinned": "Publicació fixada",
+  "status.pinned": "Tut fixat",
   "status.read_more": "Més informació",
   "status.reblog": "Impulsa",
   "status.reblog_private": "Impulsa amb la visibilitat original",
   "status.reblogged_by": "{name} ha impulsat",
-  "status.reblogs.empty": "Encara ningú no ha impulsat aquesta publicació. Quan algú ho faci, apareixeran aquí.",
+  "status.reblogs.empty": "Encara ningú no ha impulsat aquest tut. Quan algú ho faci, apareixeran aquí.",
   "status.redraft": "Esborra-la i reescriure-la",
   "status.remove_bookmark": "Suprimeix el marcador",
   "status.replied_to": "Ha respòs a {name}",
@@ -592,7 +592,7 @@
   "status.uncached_media_warning": "No està disponible",
   "status.unmute_conversation": "No silenciïs la conversa",
   "status.unpin": "No fixis al perfil",
-  "subscribed_languages.lead": "Només les publicacions en les llengües seleccionades apareixeran en les teves línies de temps \"Inici\" i \"Llistes\" després del canvi. No en seleccionis cap per a rebre publicacions en totes les llengües.",
+  "subscribed_languages.lead": "Només els tuts en les llengües seleccionades apareixeran en les teves línies de temps \"Inici\" i \"Llistes\" després del canvi. No en seleccionis cap per a rebre tuts en totes les llengües.",
   "subscribed_languages.save": "Desa els canvis",
   "subscribed_languages.target": "Canvia les llengües subscrites per a {target}",
   "suggestions.dismiss": "Ignora el suggeriment",
@@ -609,7 +609,7 @@
   "timeline_hint.remote_resource_not_displayed": "No es mostren {resource} d'altres servidors.",
   "timeline_hint.resources.followers": "Seguidors",
   "timeline_hint.resources.follows": "Seguiments",
-  "timeline_hint.resources.statuses": "Publicacions més antigues",
+  "timeline_hint.resources.statuses": "Tuts més antics",
   "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} persones}} en els passats {days, plural, one {day} other {{days} dies}}",
   "trends.trending_now": "En tendència",
   "ui.beforeunload": "El teu esborrany es perdrà si surts de Mastodon.",
diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json
index 9812eec62..d6fcf3ea5 100644
--- a/app/javascript/mastodon/locales/cy.json
+++ b/app/javascript/mastodon/locales/cy.json
@@ -5,10 +5,10 @@
   "about.domain_blocks.no_reason_available": "Rheswm ddim ar gael",
   "about.domain_blocks.preamble": "Yn gyffredinol, mae Mastodon yn caniatáu i chi weld cynnwys gan unrhyw weinyddwr arall yn y ffederasiwn a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.",
   "about.domain_blocks.silenced.explanation": "Yn gyffredinol, fyddwch chi ddim yn gweld proffiliau a chynnwys o'r gweinydd hwn, oni bai eich bod yn chwilio'n benodol amdano neu yn ymuno drwy ei ddilyn.",
-  "about.domain_blocks.silenced.title": "Tawelwyd",
+  "about.domain_blocks.silenced.title": "Cyfyngedig",
   "about.domain_blocks.suspended.explanation": "Ni fydd data o'r gweinydd hwn yn cael ei brosesu, ei storio na'i gyfnewid, gan wneud unrhyw ryngweithio neu gyfathrebu gyda defnyddwyr o'r gweinydd hwn yn amhosibl.",
   "about.domain_blocks.suspended.title": "Ataliwyd",
-  "about.not_available": "Nid yw'r wybodaeth hwn wedi ei wneud ar gael ar y gweinydd hwn.",
+  "about.not_available": "Nid yw'r wybodaeth hon ar gael ar y gweinydd hwn.",
   "about.powered_by": "Cyfrwng cymdeithasol datganoledig wedi ei yrru gan {mastodon}",
   "about.rules": "Rheolau'r gweinydd",
   "account.account_note_header": "Nodyn",
@@ -25,16 +25,16 @@
   "account.domain_blocked": "Parth wedi ei flocio",
   "account.edit_profile": "Golygu proffil",
   "account.enable_notifications": "Rhowch wybod i fi pan fydd @{name} yn postio",
-  "account.endorse": "Arddangos ar fy mhroffil",
+  "account.endorse": "Dangos ar fy mhroffil",
   "account.featured_tags.last_status_at": "Y cofnod diwethaf ar {date}",
   "account.featured_tags.last_status_never": "Dim postiadau",
   "account.featured_tags.title": "hashnodau dan sylw {name}",
   "account.follow": "Dilyn",
   "account.followers": "Dilynwyr",
   "account.followers.empty": "Does neb yn dilyn y defnyddiwr hwn eto.",
-  "account.followers_counter": "{count, plural, one {{counter} Dilynwr} other {{counter} o Ddilynwyr}}",
+  "account.followers_counter": "{count, plural, one {Dilynwr: {counter}} other {Dilynwyr: {counter}}}",
   "account.following": "Yn dilyn",
-  "account.following_counter": "{count, plural, one {{counter} yn Dilyn} other {{counter} yn Dilyn}}",
+  "account.following_counter": "{count, plural, one {Yn dilyn: {counter}} other {Yn dilyn: {counter}}}",
   "account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.",
   "account.follows_you": "Yn eich dilyn chi",
   "account.go_to_profile": "Mynd i'r proffil",
@@ -42,7 +42,7 @@
   "account.joined_short": "Ymunodd",
   "account.languages": "Newid ieithoedd wedi tanysgrifio iddynt nhw",
   "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.locked_info": "Mae'r statws preifatrwydd cyfrif hwn wedi'i osod i fod ar glo. Mae'r perchennog yn adolygu'r sawl sy'n gallu eu dilyn.",
   "account.media": "Cyfryngau",
   "account.mention": "Crybwyll @{name}",
   "account.moved_to": "Mae {name} wedi nodi fod eu cyfrif newydd yn:",
@@ -56,15 +56,15 @@
   "account.requested": "Aros am gymeradwyaeth. Cliciwch er mwyn canslo cais dilyn",
   "account.share": "Rhannwch broffil @{name}",
   "account.show_reblogs": "Dangos bwstiau o @{name}",
-  "account.statuses_counter": "{count, plural, one {{counter} Dŵt} other {{counter} o Dŵtiau}}",
+  "account.statuses_counter": "{count, plural, one {Tŵtiau: {counter}} other {Tŵtiau: {counter}}}",
   "account.unblock": "Dadflocio @{name}",
-  "account.unblock_domain": "Dadguddio {domain}",
-  "account.unblock_short": "Dad-flocio",
+  "account.unblock_domain": "Dadflocio parth {domain}",
+  "account.unblock_short": "Dadflocio",
   "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": "Dad-dewi",
+  "account.unmute_short": "Dad-dawelu",
   "account_note.placeholder": "Clicio i ychwanegu nodyn",
   "admin.dashboard.daily_retention": "Cyfradd cadw defnyddwyr fesul diwrnod ar ôl cofrestru",
   "admin.dashboard.monthly_retention": "Cyfradd cadw defnyddwyr fesul mis ar ôl cofrestru",
@@ -79,9 +79,9 @@
   "attachments_list.unprocessed": "(heb eu prosesu)",
   "audio.hide": "Cuddio sain",
   "autosuggest_hashtag.per_week": "{count} yr wythnos",
-  "boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa",
+  "boost_modal.combo": "Mae modd pwyso {combo} er mwyn hepgor hyn tro nesa",
   "bundle_column_error.copy_stacktrace": "Copïo'r adroddiad gwall",
-  "bundle_column_error.error.body": "Nid oedd modd cynhyrchu'r dudalen honno. Gall fod oherwydd gwall yn ein côd neu fater cydnawsedd porwr.",
+  "bundle_column_error.error.body": "Nid oedd modd cynhyrchu'r dudalen honno. Gall fod oherwydd gwall yn ein cod neu fater cydnawsedd porwr.",
   "bundle_column_error.error.title": "O na!",
   "bundle_column_error.network.body": "Bu gwall wrth geisio llwytho'r dudalen hon. Gall hyn fod oherwydd anhawster dros-dro gyda'ch cysylltiad gwe neu'r gweinydd hwn.",
   "bundle_column_error.network.title": "Gwall rhwydwaith",
@@ -99,19 +99,19 @@
   "closed_registrations_modal.title": "Cofrestru ar Mastodon",
   "column.about": "Ynghylch",
   "column.blocks": "Defnyddwyr a flociwyd",
-  "column.bookmarks": "Tudalnodau",
-  "column.community": "Ffrwd lleol",
-  "column.direct": "Negeseuon preifat",
+  "column.bookmarks": "Nodau Tudalen",
+  "column.community": "Llinell amser lleol",
+  "column.direct": "Negeseuon uniongyrchol",
   "column.directory": "Pori proffiliau",
   "column.domain_blocks": "Parthau cuddiedig",
   "column.favourites": "Ffefrynnau",
   "column.follow_requests": "Ceisiadau dilyn",
   "column.home": "Hafan",
   "column.lists": "Rhestrau",
-  "column.mutes": "Defnyddwyr a ddistewyd",
+  "column.mutes": "Defnyddwyr a dawelwyd",
   "column.notifications": "Hysbysiadau",
   "column.pins": "Postiadau wedi eu pinio",
-  "column.public": "Ffrwd y ffederasiwn",
+  "column.public": "Llinell amser y ffederasiwn",
   "column_back_button.label": "Nôl",
   "column_header.hide_settings": "Cuddio dewisiadau",
   "column_header.moveLeft_settings": "Symud y golofn i'r chwith",
@@ -122,7 +122,7 @@
   "column_subheading.settings": "Gosodiadau",
   "community.column_settings.local_only": "Lleol yn unig",
   "community.column_settings.media_only": "Cyfryngau yn unig",
-  "community.column_settings.remote_only": "Anghysbell yn unig",
+  "community.column_settings.remote_only": "Pell yn unig",
   "compose.language.change": "Newid iaith",
   "compose.language.search": "Chwilio ieithoedd...",
   "compose_form.direct_message_warning_learn_more": "Dysgu mwy",
@@ -131,10 +131,10 @@
   "compose_form.lock_disclaimer": "Nid yw eich cyfri wedi'i {locked}. Gall unrhyw un eich dilyn i weld eich postiadau dilynwyr-yn-unig.",
   "compose_form.lock_disclaimer.lock": "wedi ei gloi",
   "compose_form.placeholder": "Beth sydd ar eich meddwl?",
-  "compose_form.poll.add_option": "Ychwanegu Dewisiad",
+  "compose_form.poll.add_option": "Ychwanegu dewis",
   "compose_form.poll.duration": "Cyfnod pleidlais",
-  "compose_form.poll.option_placeholder": "Dewisiad {number}",
-  "compose_form.poll.remove_option": "Tynnu'r dewisiad",
+  "compose_form.poll.option_placeholder": "Dewis {number}",
+  "compose_form.poll.remove_option": "Tynnu'r dewis",
   "compose_form.poll.switch_to_multiple": "Newid pleidlais i adael mwy nag un dewis",
   "compose_form.poll.switch_to_single": "Newid pleidlais i gyfyngu i un dewis",
   "compose_form.publish": "Cyhoeddi",
@@ -146,30 +146,30 @@
   "compose_form.spoiler.marked": "Testun wedi ei guddio gan rybudd",
   "compose_form.spoiler.unmarked": "Nid yw'r testun wedi ei guddio",
   "compose_form.spoiler_placeholder": "Ysgrifenwch eich rhybudd yma",
-  "confirmation_modal.cancel": "Canslo",
+  "confirmation_modal.cancel": "Diddymu",
   "confirmations.block.block_and_report": "Rhwystro ac Adrodd",
   "confirmations.block.confirm": "Blocio",
   "confirmations.block.message": "Ydych chi'n sicr eich bod eisiau blocio {name}?",
   "confirmations.cancel_follow_request.confirm": "Tynnu'r cais yn ôl",
-  "confirmations.cancel_follow_request.message": "Ydych chi'n sicr eich bod chi eisiau tynnu'ch cais i ddilyn {name} yn ôl?",
+  "confirmations.cancel_follow_request.message": "Ydych chi'n siŵr eich bod am dynnu'ch cais i ddilyn {name} yn ôl?",
   "confirmations.delete.confirm": "Dileu",
   "confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y post hwn?",
   "confirmations.delete_list.confirm": "Dileu",
-  "confirmations.delete_list.message": "Ydych chi'n sicr eich bod eisiau dileu y rhestr hwn am byth?",
-  "confirmations.discard_edit_media.confirm": "Gwaredu",
+  "confirmations.delete_list.message": "Ydych chi'n siŵr eich bod eisiau dileu y rhestr hwn am byth?",
+  "confirmations.discard_edit_media.confirm": "Dileu",
   "confirmations.discard_edit_media.message": "Mae gennych newidiadau heb eu cadw i'r disgrifiad cyfryngau neu'r rhagolwg, eu taflu beth bynnag?",
   "confirmations.domain_block.confirm": "Cuddio parth cyfan",
   "confirmations.domain_block.message": "A ydych yn hollol, hollol sicr eich bod am flocio y {domain} cyfan? Yn y nifer helaeth o achosion mae blocio neu tawelu ambell gyfrif yn ddigonol ac yn well. Ni fyddwch yn gweld cynnwys o'r parth hwnnw mewn unrhyw ffrydiau cyhoeddus na chwaith yn eich hysbysiadau. Bydd hyn yn cael gwared o'ch dilynwyr o'r parth hwnnw.",
   "confirmations.logout.confirm": "Allgofnodi",
   "confirmations.logout.message": "Ydych chi'n siŵr eich bod am allgofnodi?",
   "confirmations.mute.confirm": "Tawelu",
-  "confirmations.mute.explanation": "Bydd hyn yn cuddio pyst oddi wrthynt a physt sydd yn sôn amdanynt, ond bydd hyn dal yn gadael iddyn nhw gweld eich pyst a'ch dilyn.",
-  "confirmations.mute.message": "Ydych chi'n sicr eich bod am ddistewi {name}?",
-  "confirmations.redraft.confirm": "Dileu & ailddrafftio",
-  "confirmations.redraft.message": "Ydych chi'n siwr eich bod eisiau dileu y post hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael ei colli, a bydd ymatebion i'r post gwreiddiol yn cael eu hamddifadu.",
+  "confirmations.mute.explanation": "Bydd hyn yn cuddio postiadau oddi wrthyn nhw a phostiadau sydd yn sôn amdanyn nhw, ond bydd hyn dal yn gadael iddyn nhw gweld eich postiadau a'ch dilyn.",
+  "confirmations.mute.message": "Ydych chi'n siŵr eich bod am ddistewi {name}?",
+  "confirmations.redraft.confirm": "Dileu ac ailddrafftio",
+  "confirmations.redraft.message": "Ydych chi'n siŵr eich bod eisiau dileu y post hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael eu colli, a bydd ymatebion i'r post gwreiddiol yn cael eu hamddifadu.",
   "confirmations.reply.confirm": "Ateb",
   "confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n sicr yr ydych am barhau?",
-  "confirmations.unfollow.confirm": "Dad-ddilynwch",
+  "confirmations.unfollow.confirm": "Dad-ddilyn",
   "confirmations.unfollow.message": "Ydych chi'n sicr eich bod am ddad-ddilyn {name}?",
   "conversation.delete": "Dileu sgwrs",
   "conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
@@ -177,18 +177,18 @@
   "conversation.with": "Gyda {names}",
   "copypaste.copied": "Wedi ei gopïo",
   "copypaste.copy": "Copïo",
-  "directory.federated": "O'r ffedysawd cyfan",
+  "directory.federated": "O'r fydysawd cyfan",
   "directory.local": "O {domain} yn unig",
-  "directory.new_arrivals": "Newydd-ddyfodiaid",
+  "directory.new_arrivals": "Newydd ddyfodiaid",
   "directory.recently_active": "Yn weithredol yn ddiweddar",
   "disabled_account_banner.account_settings": "Gosodiadau'r cyfrif",
   "disabled_account_banner.text": "Mae eich cyfrif {disabledAccount} wedi ei analluogi ar hyn o bryd.",
   "dismissable_banner.community_timeline": "Dyma'r postiadau cyhoeddus diweddaraf gan bobl y caiff eu cyfrifon eu cynnal ar {domain}.",
-  "dismissable_banner.dismiss": "Diystyru",
+  "dismissable_banner.dismiss": "Diddymu",
   "dismissable_banner.explore_links": "Mae'r straeon newyddion hyn yn cael eu trafod gan bobl ar y gweinydd hwn a rhai eraill ar y rhwydwaith datganoledig hwn, ar hyn o bryd.",
   "dismissable_banner.explore_statuses": "Mae'r cofnodion hyn o'r gweinydd hwn a gweinyddion eraill yn y rhwydwaith datganoledig hwn yn denu sylw ar y gweinydd hwn ar hyn o bryd.",
-  "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
-  "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
+  "dismissable_banner.explore_tags": "Mae'r hashnodau hyn yn denu sylw ymhlith pobl ar y gweinydd hwn a gweinyddwyr eraill y rhwydwaith datganoledig ar hyn o bryd.",
+  "dismissable_banner.public_timeline": "Dyma'r postiadau cyhoeddus diweddaraf gan bobl ar y gweinydd hwn a gweinyddwyr eraill y rhwydwaith datganoledig y mae'r gweinydd hwn yn gwybod amdano.",
   "embed.instructions": "Gosodwch y post hwn ar eich gwefan drwy gopïo'r côd isod.",
   "embed.preview": "Dyma sut olwg fydd arno:",
   "emoji_button.activity": "Gweithgarwch",
@@ -198,32 +198,32 @@
   "emoji_button.food": "Bwyd a Diod",
   "emoji_button.label": "Mewnosodwch emoji",
   "emoji_button.nature": "Natur",
-  "emoji_button.not_found": "Dim emojau!! (╯°□°)╯︵ ┻━┻",
+  "emoji_button.not_found": "Dim emojau'n cydweddu",
   "emoji_button.objects": "Gwrthrychau",
   "emoji_button.people": "Pobl",
   "emoji_button.recent": "Defnyddir yn aml",
   "emoji_button.search": "Chwilio...",
   "emoji_button.search_results": "Canlyniadau chwilio",
   "emoji_button.symbols": "Symbolau",
-  "emoji_button.travel": "Teithio & Llefydd",
+  "emoji_button.travel": "Teithio a Llefydd",
   "empty_column.account_suspended": "Cyfrif wedi'i atal",
   "empty_column.account_timeline": "Dim postiadau yma!",
   "empty_column.account_unavailable": "Proffil ddim ar gael",
   "empty_column.blocks": "Nid ydych wedi blocio unrhyw ddefnyddwyr eto.",
-  "empty_column.bookmarked_statuses": "Nid oes gennych unrhyw dwtiau tudalnodiedig eto. Pan y byddwch yn tudalnodi un, mi fydd yn ymddangos yma.",
-  "empty_column.community": "Mae'r ffrwd lleol yn wag. Ysgrifenwch rhywbeth yn gyhoeddus i gael dechrau arni!",
+  "empty_column.bookmarked_statuses": "Nid oes gennych unrhyw dwtïau wedi'u cadw fel nodau tudalen eto. Pan fyddwch yn gosod nod tudalen i un, mi fydd yn ymddangos yma.",
+  "empty_column.community": "Mae'r llinell amser lleol yn wag. Ysgrifennwch rywbeth yn gyhoeddus i gael dechrau arni!",
   "empty_column.direct": "Does gennych unrhyw negeseuon preifat eto. Pan byddwch yn anfon neu derbyn un, bydd yn ymddangos yma.",
   "empty_column.domain_blocks": "Nid oes yna unrhyw barthau cuddiedig eto.",
-  "empty_column.explore_statuses": "Does dim byd yn trendio ar hyn o bryd. Gwiriwch yn ôl yn nes ymlaen!",
+  "empty_column.explore_statuses": "Does dim byd yn trendio ar hyn o bryd. Dewch nôl yn nes ymlaen!",
   "empty_column.favourited_statuses": "Nid oes gennych unrhyw hoff bostiadau eto. Pan y byddwch yn hoffi un, mi fydd yn ymddangos yma.",
   "empty_column.favourites": "Does neb wedi hoffi'r post hwn eto. Pan bydd rhywun yn ei hoffi, byddent yn ymddangos yma.",
   "empty_column.follow_recommendations": "Does dim awgrymiadau yma i chi. Gallwch geisio chwilio am bobl yr ydych yn eu hadnabod neu archwilio hashnodau sy'n trendio.",
-  "empty_column.follow_requests": "Nid oes gennych unrhyw geisiadau dilyn eto. Pan dderbyniwch chi un, byddent yn ymddangos yma.",
+  "empty_column.follow_requests": "Nid oes gennych unrhyw geisiadau dilyn eto. Pan fyddwch yn derbyn un, byddan nhw'n ymddangos yma.",
   "empty_column.hashtag": "Nid oes dim ar yr hashnod hwn eto.",
-  "empty_column.home": "Mae eich ffrwd gartref yn wag! Ymwelwch a {public} neu defnyddiwch y chwilotwr i ddechrau arni ac i gwrdd a defnyddwyr eraill.",
-  "empty_column.home.suggestions": "Gweler awgrymiadau",
-  "empty_column.list": "Nid oes dim yn y rhestr yma eto. Pan y bydd aelodau'r rhestr yn cyhoeddi statws newydd, mi fydd yn ymddangos yma.",
-  "empty_column.lists": "Nid oes gennych unrhyw restrau eto. Pan grëwch chi un, mi fydd yn ymddangos yma.",
+  "empty_column.home": "Mae eich llinell amser gartref yn wag! Ymwelwch â {public} neu defnyddiwch y chwilotwr i ddechrau arni ac i gwrdd â defnyddwyr eraill.",
+  "empty_column.home.suggestions": "Dyma rai awgrymiadau",
+  "empty_column.list": "Does dim yn y rhestr yma eto. Pan fydd aelodau'r rhestr yn cyhoeddi statws newydd, mi fydd yn ymddangos yma.",
+  "empty_column.lists": "Nid oes gennych unrhyw restrau eto. Pan fyddwch yn creu un, mi fydd yn ymddangos yma.",
   "empty_column.mutes": "Nid ydych wedi tawelu unrhyw ddefnyddwyr eto.",
   "empty_column.notifications": "Nid oes gennych unrhyw hysbysiadau eto. Rhyngweithiwch ac eraill i ddechrau'r sgwrs.",
   "empty_column.public": "Does dim byd yma! Ysgrifennwch rhywbeth yn gyhoeddus, neu dilynwch ddefnyddwyr o achosion eraill i'w lenwi",
@@ -239,20 +239,20 @@
   "explore.trending_links": "Newyddion",
   "explore.trending_statuses": "Postiadau",
   "explore.trending_tags": "Hashnodau",
-  "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
-  "filter_modal.added.context_mismatch_title": "Context mismatch!",
-  "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
-  "filter_modal.added.expired_title": "Expired filter!",
-  "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
-  "filter_modal.added.review_and_configure_title": "Filter settings",
-  "filter_modal.added.settings_link": "settings page",
-  "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
+  "filter_modal.added.context_mismatch_explanation": "Nid yw'r categori hidlo hwn yn berthnasol i'r cyd-destun yr ydych wedi cyrchu'r postiad hwn ynddo. Os ydych chi am i'r post gael ei hidlo yn y cyd-destun hwn hefyd, bydd yn rhaid i chi olygu'r hidlydd.",
+  "filter_modal.added.context_mismatch_title": "Diffyg cyfatebiaeth cyd-destun!",
+  "filter_modal.added.expired_explanation": "Mae'r categori hidlydd hwn wedi dod i ben, bydd angen i chi newid y dyddiad dod i ben er mwyn iddo fod yn berthnasol.",
+  "filter_modal.added.expired_title": "Hidlydd wedi dod i ben!",
+  "filter_modal.added.review_and_configure": "I adolygu a ffurfweddu'r categori hidlydd hwn ymhellach, ewch i'r {settings_link}.",
+  "filter_modal.added.review_and_configure_title": "Gosodiadau hidlo",
+  "filter_modal.added.settings_link": "tudalen gosodiadau",
+  "filter_modal.added.short_explanation": "Mae'r postiad hwn wedi'i ychwanegu at y categori hidlo canlynol: {title}.",
   "filter_modal.added.title": "Hidlydd wedi'i ychwanegu!",
-  "filter_modal.select_filter.context_mismatch": "does not apply to this context",
-  "filter_modal.select_filter.expired": "expired",
+  "filter_modal.select_filter.context_mismatch": "nid yw'n berthnasol i'r cyd-destun hwn",
+  "filter_modal.select_filter.expired": "daeth i ben",
   "filter_modal.select_filter.prompt_new": "Categori newydd: {name}",
   "filter_modal.select_filter.search": "Chwilio neu greu",
-  "filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
+  "filter_modal.select_filter.subtitle": "Defnyddiwch gategori sy'n bodoli eisoes neu crëwch un newydd",
   "filter_modal.select_filter.title": "Hidlo'r post hwn",
   "filter_modal.title.status": "Hidlo post",
   "follow_recommendations.done": "Wedi gorffen",
@@ -279,21 +279,21 @@
   "hashtag.column_settings.tag_mode.any": "Unrhyw un o'r rhain",
   "hashtag.column_settings.tag_mode.none": "Dim o'r rhain",
   "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
-  "hashtag.follow": "Follow hashtag",
-  "hashtag.unfollow": "Unfollow hashtag",
+  "hashtag.follow": "Dilynwch yr hashnod",
+  "hashtag.unfollow": "Dad-ddilyn hashnod",
   "home.column_settings.basic": "Syml",
   "home.column_settings.show_reblogs": "Dangos hybiau",
   "home.column_settings.show_replies": "Dangos ymatebion",
   "home.hide_announcements": "Cuddio cyhoeddiadau",
   "home.show_announcements": "Dangos cyhoeddiadau",
-  "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
-  "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
+  "interaction_modal.description.favourite": "Gyda chyfrif ar Mastodon, gallwch chi hoffi'r post hwn i roi gwybod i'r awdur eich bod chi'n ei werthfawrogi a'i gadw ar gyfer nes ymlaen.",
+  "interaction_modal.description.follow": "Gyda chyfrif ar Mastodon, gallwch ddilyn {name} i dderbyn eu postiadau yn eich llif cartref.",
   "interaction_modal.description.reblog": "Gyda chyfrif ar Mastodon, gallwch hybu'r post hwn i'w rannu â'ch dilynwyr.",
   "interaction_modal.description.reply": "Gyda chyfrif ar Mastodon, gallwch ymateb i'r post hwn.",
   "interaction_modal.on_another_server": "Ar weinydd gwahanol",
   "interaction_modal.on_this_server": "Ar y gweinydd hwn",
-  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
-  "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
+  "interaction_modal.other_server_instructions": "Copïwch a gludo'r URL hwn i faes chwilio eich hoff ap Mastodon neu ryngwyneb gwe eich gweinydd Mastodon.",
+  "interaction_modal.preamble": "Gan fod Mastodon wedi'i ddatganoli, gallwch ddefnyddio'ch cyfrif presennol a gynhelir gan weinydd Mastodon arall neu blatfform cydnaws os nad oes gennych gyfrif ar yr un hwn.",
   "interaction_modal.title.favourite": "Hoffi post {name}",
   "interaction_modal.title.follow": "Dilyn {name}",
   "interaction_modal.title.reblog": "Hybu post {name}",
@@ -509,13 +509,13 @@
   "report.thanks.title_actionable": "Diolch am adrodd, byddwn yn ymchwilio i hyn.",
   "report.unfollow": "Dad-ddilyn @{name}",
   "report.unfollow_explanation": "Rydych chi'n dilyn y cyfrif hwn. I beidio â gweld eu postiadau yn eich porthiant cartref mwyach, dad-ddilynwch nhw.",
-  "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
+  "report_notification.attached_statuses": "{count, plural, one {{count} post} arall {{count} posts}} atodwyd",
   "report_notification.categories.other": "Arall",
   "report_notification.categories.spam": "Sbam",
-  "report_notification.categories.violation": "Rule violation",
-  "report_notification.open": "Open report",
+  "report_notification.categories.violation": "Torri rheol",
+  "report_notification.open": "Agor adroddiad",
   "search.placeholder": "Chwilio",
-  "search.search_or_paste": "Search or paste URL",
+  "search.search_or_paste": "Chwilio neu gludo URL",
   "search_popout.search_format": "Fformat chwilio uwch",
   "search_popout.tips.full_text": "Mae testun syml yn dychwelyd postiadau yr ydych wedi ysgrifennu, hoffi, wedi'u hybio, neu wedi'ch crybwyll ynddynt, ynghyd a chyfateb a enwau defnyddwyr, enwau arddangos ac hashnodau.",
   "search_popout.tips.hashtag": "hashnod",
@@ -530,15 +530,15 @@
   "search_results.statuses_fts_disabled": "Nid yw chwilio postiadau yn ôl eu cynnwys wedi'i alluogi ar y gweinydd Mastodon hwn.",
   "search_results.title": "Chwilio am {q}",
   "search_results.total": "{count, number} {count, plural, zero {canlyniad} one {canlyniad} two {ganlyniad} other {o ganlyniadau}}",
-  "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
-  "server_banner.active_users": "active users",
+  "server_banner.about_active_users": "Pobl sy'n defnyddio'r gweinydd hwn yn ystod y 30 diwrnod diwethaf (Defnyddwyr Gweithredol Misol)",
+  "server_banner.active_users": "defnyddwyr gweithredol",
   "server_banner.administered_by": "Gweinyddir gan:",
   "server_banner.introduction": "Mae {domain} yn rhan o'r rhwydwaith cymdeithasol datganoledig a bwerir gan {mastodon}.",
   "server_banner.learn_more": "Dysgu mwy",
   "server_banner.server_stats": "Ystagedau'r gweinydd:",
   "sign_in_banner.create_account": "Creu cyfrif",
   "sign_in_banner.sign_in": "Mewngofnodi",
-  "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.",
+  "sign_in_banner.text": "Mewngofnodwch i ddilyn proffiliau neu hashnodau, ffefrynnau, rhannu ac ymateb i bostiadau, neu ryngweithio o'ch cyfrif ar weinydd gwahanol.",
   "status.admin_account": "Agor rhyngwyneb goruwchwylio ar gyfer @{name}",
   "status.admin_status": "Agor y post hwn yn y rhyngwyneb goruwchwylio",
   "status.block": "Blocio @{name}",
@@ -552,7 +552,7 @@
   "status.edit": "Golygu",
   "status.edited": "Ymunodd {date}",
   "status.edited_x_times": "Golygwyd {count, plural, one {unwaith} two {dwywaith} other {{count} gwaith}}",
-  "status.embed": "Plannu",
+  "status.embed": "Mewnblannu",
   "status.favourite": "Hoffi",
   "status.filter": "Hidlo'r post hwn",
   "status.filtered": "Wedi'i hidlo",
@@ -573,9 +573,9 @@
   "status.reblog_private": "Hybu i'r gynulleidfa wreiddiol",
   "status.reblogged_by": "Hybodd {name}",
   "status.reblogs.empty": "Does neb wedi hybio'r post yma eto. Pan y bydd rhywun yn gwneud, byddent yn ymddangos yma.",
-  "status.redraft": "Dileu & ailddrafftio",
+  "status.redraft": "Dileu ac ailddrafftio",
   "status.remove_bookmark": "Tynnu'r tudalnod",
-  "status.replied_to": "Replied to {name}",
+  "status.replied_to": "Wedi ymateb i {name}",
   "status.reply": "Ateb",
   "status.replyAll": "Ateb i edefyn",
   "status.report": "Adrodd @{name}",
@@ -594,7 +594,7 @@
   "status.unpin": "Dadbinio o'r proffil",
   "subscribed_languages.lead": "Dim ond postiadau mewn ieithoedd dethol fydd yn ymddangos yn eich ffrydiau ar ôl y newid. Dewiswch ddim byd i dderbyn postiadau ym mhob iaith.",
   "subscribed_languages.save": "Cadw'r newidiadau",
-  "subscribed_languages.target": "Change subscribed languages for {target}",
+  "subscribed_languages.target": "Newid ieithoedd tanysgrifio {target}",
   "suggestions.dismiss": "Diswyddo",
   "suggestions.header": "Efallai y bydd gennych ddiddordeb mewn…",
   "tabs_bar.federated_timeline": "Ffederasiwn",
@@ -610,13 +610,13 @@
   "timeline_hint.resources.followers": "Dilynwyr",
   "timeline_hint.resources.follows": "Yn dilyn",
   "timeline_hint.resources.statuses": "Postiadau hŷn",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
+  "trends.counter_by_accounts": "{count, plural, zero {neb} one {{counter} person} two {{counter} berson} few {{counter} pherson} other {{counter} o bobl}} yn y {days, plural, one {diwrnod diwethaf} two {ddeuddydd diwethaf} other {{days} diwrnod diwethaf}}",
   "trends.trending_now": "Yn tueddu nawr",
   "ui.beforeunload": "Mi fyddwch yn colli eich drafft os gadewch Mastodon.",
   "units.short.billion": "{count}biliwn",
   "units.short.million": "{count}miliwn",
   "units.short.thousand": "{count}mil",
-  "upload_area.title": "Llusgwch & gollwing i uwchlwytho",
+  "upload_area.title": "Llusgwch a gollwng i uwchlwytho",
   "upload_button.label": "Ychwanegwch gyfryngau (JPEG, PNG, GIF, WebM, MP4, MOV)",
   "upload_error.limit": "Wedi mynd heibio'r uchafswm terfyn uwchlwytho.",
   "upload_error.poll": "Nid oes modd uwchlwytho ffeiliau â phleidleisiau.",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index 223e68912..bf7b93cce 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -95,7 +95,7 @@
   "closed_registrations.other_server_instructions": "Da Mastodon dezentralisiert ist, kannst du ein Konto auf einem anderen Server erstellen und trotzdem mit diesem Server interagieren.",
   "closed_registrations_modal.description": "Das Anlegen eines Kontos auf {domain} ist derzeit nicht möglich, aber bedenke, dass du kein extra Konto auf {domain} benötigst, um Mastodon nutzen zu können.",
   "closed_registrations_modal.find_another_server": "Einen anderen Server auswählen",
-  "closed_registrations_modal.preamble": "Mastodon ist dezentralisiert, das heißt unabhängig davon, wo du dein Konto erstellst, kannst du jedes Konto auf diesem Server folgen und mit dem interagieren. Du kannst auch deinen eigenen Server hosten!",
+  "closed_registrations_modal.preamble": "Mastodon ist dezentralisiert, das heißt, unabhängig davon, wo du dein Konto erstellt hast, kannst du jedem Profil auf diesem Server folgen und mit ihm interagieren. Du kannst sogar deinen eigenen Server hosten!",
   "closed_registrations_modal.title": "Bei Mastodon registrieren",
   "column.about": "Über",
   "column.blocks": "Blockierte Profile",
@@ -126,9 +126,9 @@
   "compose.language.change": "Sprache festlegen",
   "compose.language.search": "Sprachen suchen …",
   "compose_form.direct_message_warning_learn_more": "Mehr erfahren",
-  "compose_form.encryption_warning": "Beiträge von Mastodon sind nicht Ende-zu-Ende verschlüsselt. Teile keine senible Informationen über Mastodon.",
+  "compose_form.encryption_warning": "Beiträge auf Mastodon sind nicht Ende-zu-Ende-verschlüsselt. Teile keine sensiblen Informationen über Mastodon.",
   "compose_form.hashtag_warning": "Dieser Beitrag ist über Hashtags nicht zu finden, weil er nicht gelistet ist. Nur öffentliche Beiträge tauchen in den Hashtag-Timelines auf.",
-  "compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Wer dir folgen will, kann das jederzeit tun und dann auch deine privaten Beiträge sehen.",
+  "compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Andere können dir folgen und deine Beiträge sehen, die nur für Follower bestimmt sind.",
   "compose_form.lock_disclaimer.lock": "geschützt",
   "compose_form.placeholder": "Was gibt's Neues?",
   "compose_form.poll.add_option": "Auswahlfeld hinzufügen",
@@ -183,7 +183,7 @@
   "directory.recently_active": "Kürzlich aktiv",
   "disabled_account_banner.account_settings": "Kontoeinstellungen",
   "disabled_account_banner.text": "Dein Konto {disabledAccount} ist derzeit deaktiviert.",
-  "dismissable_banner.community_timeline": "Dies sind die neuesten öffentlichen Beiträge von Personen, deren Konten von {domain} gehostet werden.",
+  "dismissable_banner.community_timeline": "Das sind die neuesten öffentlichen Beiträge von Personen, deren Konten von {domain} verwaltet werden.",
   "dismissable_banner.dismiss": "Ablehnen",
   "dismissable_banner.explore_links": "Diese Nachrichten werden gerade von Leuten auf diesem und anderen Servern des dezentralen Netzwerks besprochen.",
   "dismissable_banner.explore_statuses": "Diese Beiträge von diesem und anderen Servern im dezentralen Netzwerk gewinnen gerade an Reichweite auf diesem Server.",
@@ -222,7 +222,7 @@
   "empty_column.hashtag": "Unter diesem Hashtag gibt es noch nichts.",
   "empty_column.home": "Die Timeline Deiner Startseite ist leer! Folge mehr Leuten, um sie zu füllen. {suggestions}",
   "empty_column.home.suggestions": "Ein paar Vorschläge ansehen",
-  "empty_column.list": "Diese Liste ist derzeit leer. Wenn Konten auf dieser Liste neue Beiträge veröffentlichen werden sie hier erscheinen.",
+  "empty_column.list": "Diese Liste ist derzeit leer. Wenn Konten auf dieser Liste neue Beiträge veröffentlichen, werden sie hier erscheinen.",
   "empty_column.lists": "Du hast noch keine Listen. Wenn du eine anlegst, wird sie hier angezeigt werden.",
   "empty_column.mutes": "Du hast keine Profile stummgeschaltet.",
   "empty_column.notifications": "Du hast noch keine Mitteilungen. Sobald Du mit anderen Personen interagierst, wirst Du hier darüber benachrichtigt.",
@@ -286,10 +286,10 @@
   "home.column_settings.show_replies": "Antworten anzeigen",
   "home.hide_announcements": "Ankündigungen verbergen",
   "home.show_announcements": "Ankündigungen anzeigen",
-  "interaction_modal.description.favourite": "Mit einem Account auf Mastodon kannst du diesen Beitrag favorisieren, um deine Wertschätzung auszudrücken, und ihn für einen späteren Zeitpunkt speichern.",
-  "interaction_modal.description.follow": "Mit einem Konto auf Mastodon kannst du {name} folgen, um seine Beiträge in deinem Home Feed zu erhalten.",
-  "interaction_modal.description.reblog": "Mit einem Mastodon-Account kannst du die Reichweite dieses Beitrags erhöhen, in dem du ihn mit deinen eigenen Followern teilst.",
-  "interaction_modal.description.reply": "Mit einem Account auf Mastodon kannst du auf diesen Beitrag antworten.",
+  "interaction_modal.description.favourite": "Mit einem Mastodon-Konto kannst du diesen Beitrag favorisieren, um deine Wertschätzung auszudrücken, und ihn für einen späteren Zeitpunkt speichern.",
+  "interaction_modal.description.follow": "Mit einem Mastodon-Konto kannst du {name} folgen, um die Beiträge auf deiner Startseite zu sehen.",
+  "interaction_modal.description.reblog": "Mit einem Mastodon-Konto kannst du die Reichweite dieses Beitrags erhöhen, indem du ihn mit deinen Followern teilst.",
+  "interaction_modal.description.reply": "Mit einem Mastodon-Konto kannst du auf diesen Beitrag antworten.",
   "interaction_modal.on_another_server": "Auf einem anderen Server",
   "interaction_modal.on_this_server": "Auf diesem Server",
   "interaction_modal.other_server_instructions": "Kopiere diese URL und füge sie in das Suchfeld deiner bevorzugten Mastodon-App oder im Webinterface deiner Mastodon-Instanz ein.",
@@ -538,7 +538,7 @@
   "server_banner.server_stats": "Serverstatistiken:",
   "sign_in_banner.create_account": "Konto erstellen",
   "sign_in_banner.sign_in": "Einloggen",
-  "sign_in_banner.text": "Melden Sie sich an, um Profilen oder Hashtags zu folgen, Favoriten, Teilen und Antworten auf Beiträge oder interagieren Sie von Ihrem Konto auf einem anderen Server.",
+  "sign_in_banner.text": "Melde dich an, um Profilen oder Hashtags zu folgen, Beiträge zu favorisieren, zu teilen und auf sie zu antworten oder um von deinem Konto aus auf einem anderen Server zu interagieren.",
   "status.admin_account": "Moderationsoberfläche für @{name} öffnen",
   "status.admin_status": "Diesen Beitrag in der Moderationsoberfläche öffnen",
   "status.block": "@{name} blockieren",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index 12823083d..19a478f13 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -28,7 +28,7 @@
   "account.endorse": "Rekomendi ĉe via profilo",
   "account.featured_tags.last_status_at": "Lasta afîŝo je {date}",
   "account.featured_tags.last_status_never": "Neniuj afiŝoj",
-  "account.featured_tags.title": "{name}'s featured hashtags",
+  "account.featured_tags.title": "La montrataj kradvortoj de {name}",
   "account.follow": "Sekvi",
   "account.followers": "Sekvantoj",
   "account.followers.empty": "Ankoraŭ neniu sekvas tiun uzanton.",
@@ -455,7 +455,7 @@
   "privacy.public.short": "Publika",
   "privacy.unlisted.long": "Videbla por ĉiuj, sed ekskluzive de la funkcio de esploro",
   "privacy.unlisted.short": "Nelistigita",
-  "privacy_policy.last_updated": "Last updated {date}",
+  "privacy_policy.last_updated": "Laste ĝisdatigita sur {date}",
   "privacy_policy.title": "Politiko de privateco",
   "refresh": "Refreŝigu",
   "regeneration_indicator.label": "Ŝargado…",
@@ -509,7 +509,7 @@
   "report.thanks.title_actionable": "Dankon pro raporti, ni esploros ĉi tion.",
   "report.unfollow": "Malsekvi @{name}",
   "report.unfollow_explanation": "Vi sekvas ĉi tiun konton. Por ne plu vidi ĝiajn abonfluojn en via hejma templinio, ĉesu sekvi ĝin.",
-  "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
+  "report_notification.attached_statuses": "{count, plural, one {{count} afiŝo almetita} other {{count} afiŝoj almetitaj}}",
   "report_notification.categories.other": "Alia",
   "report_notification.categories.spam": "Trudmesaĝo",
   "report_notification.categories.violation": "Malobservo de la regulo",
@@ -531,13 +531,13 @@
   "search_results.title": "Serĉ-rezultoj por {q}",
   "search_results.total": "{count, number} {count, plural, one {rezulto} other {rezultoj}}",
   "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
-  "server_banner.active_users": "active users",
+  "server_banner.active_users": "aktivaj uzantoj",
   "server_banner.administered_by": "Administrata de:",
   "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
-  "server_banner.learn_more": "Learn more",
+  "server_banner.learn_more": "Lernu pli",
   "server_banner.server_stats": "Statistikoj de la servilo:",
   "sign_in_banner.create_account": "Krei konton",
-  "sign_in_banner.sign_in": "Sign in",
+  "sign_in_banner.sign_in": "Ensalutu",
   "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.",
   "status.admin_account": "Malfermi la kontrolan interfacon por @{name}",
   "status.admin_status": "Malfermi ĉi tiun mesaĝon en la kontrola interfaco",
@@ -575,7 +575,7 @@
   "status.reblogs.empty": "Ankoraŭ neniu plusendis la mesaĝon. Kiam iu faras tion, ili aperos ĉi tie.",
   "status.redraft": "Forigi kaj reskribi",
   "status.remove_bookmark": "Forigi legosignon",
-  "status.replied_to": "Replied to {name}",
+  "status.replied_to": "Respondis al {name}",
   "status.reply": "Respondi",
   "status.replyAll": "Respondi al la fadeno",
   "status.report": "Raporti @{name}",
@@ -586,15 +586,15 @@
   "status.show_less_all": "Montri malpli ĉiun",
   "status.show_more": "Montri pli",
   "status.show_more_all": "Montri pli ĉiun",
-  "status.show_original": "Show original",
+  "status.show_original": "Montru originalon",
   "status.translate": "Traduki",
   "status.translated_from_with": "Tradukita el {lang} per {provider}",
   "status.uncached_media_warning": "Nedisponebla",
   "status.unmute_conversation": "Malsilentigi la konversacion",
   "status.unpin": "Depingli de profilo",
-  "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.",
+  "subscribed_languages.lead": "Nur afiŝoj en elektitaj lingvoj aperos en viaj hejma kaj lista templinioj post la ŝanĝo. Elektu nenion por ricevi afiŝojn en ĉiuj lingvoj.",
   "subscribed_languages.save": "Konservi ŝanĝojn",
-  "subscribed_languages.target": "Change subscribed languages for {target}",
+  "subscribed_languages.target": "Ŝanĝu abonitajn lingvojn por {target}",
   "suggestions.dismiss": "Forigi la proponon",
   "suggestions.header": "Vi povus interesiĝi pri…",
   "tabs_bar.federated_timeline": "Fratara",
diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json
index f22f7abbc..10f836f00 100644
--- a/app/javascript/mastodon/locales/ga.json
+++ b/app/javascript/mastodon/locales/ga.json
@@ -38,7 +38,7 @@
   "account.follows.empty": "Ní leanann an t-úsáideoir seo duine ar bith fós.",
   "account.follows_you": "Do do leanúint",
   "account.go_to_profile": "Téigh go dtí próifíl",
-  "account.hide_reblogs": "Folaigh athphostálacha ó @{name}",
+  "account.hide_reblogs": "Folaigh moltaí ó @{name}",
   "account.joined_short": "Cláraithe",
   "account.languages": "Athraigh teangacha foscríofa",
   "account.link_verified_on": "Seiceáladh úinéireacht an naisc seo ar {date}",
@@ -55,7 +55,7 @@
   "account.report": "Tuairiscigh @{name}",
   "account.requested": "Ag fanacht le ceadú. Cliceáil chun an iarratas leanúnaí a chealú",
   "account.share": "Roinn próifíl @{name}",
-  "account.show_reblogs": "Taispeáin athphostálacha ó @{name}",
+  "account.show_reblogs": "Taispeáin moltaí ó @{name}",
   "account.statuses_counter": "{count, plural, one {Postáil amháin} other {{counter} Postáil}}",
   "account.unblock": "Bain bac de @{name}",
   "account.unblock_domain": "Bain bac den ainm fearainn {domain}",
@@ -67,7 +67,7 @@
   "account.unmute_short": "Díbhalbhaigh",
   "account_note.placeholder": "Cliceáil chun nóta a chuir leis",
   "admin.dashboard.daily_retention": "Ráta coinneála an úsáideora de réir an lae tar éis clárú",
-  "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
+  "admin.dashboard.monthly_retention": "Ráta coinneála na n-úsáideoirí de réir na míosa tar éis dóibh clárú",
   "admin.dashboard.retention.average": "Meán",
   "admin.dashboard.retention.cohort": "Mí cláraraithe",
   "admin.dashboard.retention.cohort_size": "Úsáideoirí nua",
@@ -79,21 +79,21 @@
   "attachments_list.unprocessed": "(neamhphróiseáilte)",
   "audio.hide": "Cuir fuaim i bhfolach",
   "autosuggest_hashtag.per_week": "{count} sa seachtain",
-  "boost_modal.combo": "Is féidir leat brúigh {combo} chun é seo a scipeáil an chéad uair eile",
+  "boost_modal.combo": "Is féidir leat {combo} a bhrú chun é seo a scipeáil an chéad uair eile",
   "bundle_column_error.copy_stacktrace": "Cóipeáil tuairisc earráide",
-  "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
+  "bundle_column_error.error.body": "Ní féidir an leathanach a iarradh a sholáthar. Seans gurb amhlaidh mar gheall ar fhabht sa chód, nó mar gheall ar mhíréireacht leis an mbrabhsálaí.",
   "bundle_column_error.error.title": "Ná habair!",
-  "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
+  "bundle_column_error.network.body": "Tharla earráid agus an leathanach á lódáil. Seans gur mar gheall ar fhadhb shealadach le do nasc idirlín nó i ndáil leis an bhfreastalaí seo atá sé.",
   "bundle_column_error.network.title": "Earráid líonra",
   "bundle_column_error.retry": "Bain triail as arís",
   "bundle_column_error.return": "Téigh abhaile",
-  "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?",
+  "bundle_column_error.routing.body": "Ní féidir teacht ar an leathanach a iarradh. An bhfuil tú cinnte go bhfuil an URL sa seoladh i gceart?",
   "bundle_column_error.routing.title": "404",
   "bundle_modal_error.close": "Dún",
   "bundle_modal_error.message": "Chuaigh rud éigin mícheart nuair a bhí an chomhpháirt seo ag lódáil.",
   "bundle_modal_error.retry": "Bain triail as arís",
   "closed_registrations.other_server_instructions": "Mar rud díláraithe Mastodon, is féidir leat cuntas a chruthú ar seirbheálaí eile ach fós idirghníomhaigh leis an ceann seo.",
-  "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
+  "closed_registrations_modal.description": "Ní féidir cuntas a chruthú ar {domain} faoi láthair, ach cuimhnigh nach gá go mbeadh cuntas agat go sonrach ar {domain} chun Mastodon a úsáid.",
   "closed_registrations_modal.find_another_server": "Faigh freastalaí eile",
   "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
   "closed_registrations_modal.title": "Cláraigh le Mastodon",
@@ -104,7 +104,7 @@
   "column.direct": "Teachtaireachtaí dhíreacha",
   "column.directory": "Brabhsáil próifílí",
   "column.domain_blocks": "Fearainn bhactha",
-  "column.favourites": "Roghanna",
+  "column.favourites": "Toghanna",
   "column.follow_requests": "Iarratais leanúnaí",
   "column.home": "Baile",
   "column.lists": "Liostaí",
@@ -166,7 +166,7 @@
   "confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
   "confirmations.mute.message": "An bhfuil tú cinnte gur mhaith leat {name} a bhalbhú?",
   "confirmations.redraft.confirm": "Scrios ⁊ athdhréachtaigh",
-  "confirmations.redraft.message": "An bhfuil tú cinnte gur mhaith leat an phostáil sin a scriosadh agus athdhréachtú? Beidh roghanna agus treisithe caillte, agus beidh freagraí ar an bpostáil bhunúsach ina ndílleachtaí.",
+  "confirmations.redraft.message": "An bhfuil tú cinnte gur mhaith leat an phostáil sin a scriosadh agus a athdhréachtú? Caillfear toghanna agus moltaí, agus fágfar freagracha don phostáil bhunúsach ina ndílleachtaí.",
   "confirmations.reply.confirm": "Freagair",
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Ná lean",
@@ -216,7 +216,7 @@
   "empty_column.domain_blocks": "Níl aon fearainn bhactha ann go fóill.",
   "empty_column.explore_statuses": "Níl rud ar bith ag treochtáil faoi láthair. Tar ar ais ar ball!",
   "empty_column.favourited_statuses": "Níor roghnaigh tú postáil ar bith fós. Nuair a roghnaigh tú ceann, beidh sí le feiceáil anseo.",
-  "empty_column.favourites": "Níor roghnaigh éinne an phostáil seo fós. Nuair a roghnaigh duine éigin, beidh siad le feiceáil anseo.",
+  "empty_column.favourites": "Níor thogh éinne an phostáil seo fós. Nuair a thoghfaidh duine éigin í, taispeánfar anseo é sin.",
   "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
   "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
   "empty_column.hashtag": "Níl rud ar bith faoin haischlib seo go fóill.",
@@ -282,7 +282,7 @@
   "hashtag.follow": "Lean haischlib",
   "hashtag.unfollow": "Ná lean haischlib",
   "home.column_settings.basic": "Bunúsach",
-  "home.column_settings.show_reblogs": "Taispeáin treisithe",
+  "home.column_settings.show_reblogs": "Taispeáin moltaí",
   "home.column_settings.show_replies": "Taispeán freagraí",
   "home.hide_announcements": "Cuir fógraí i bhfolach",
   "home.show_announcements": "Taispeáin fógraí",
@@ -296,14 +296,14 @@
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
   "interaction_modal.title.favourite": "Favourite {name}'s post",
   "interaction_modal.title.follow": "Lean {name}",
-  "interaction_modal.title.reblog": "Cuir postáil {name} chun cinn",
+  "interaction_modal.title.reblog": "Mol postáil de chuid {name}",
   "interaction_modal.title.reply": "Freagair postáil {name}",
   "intervals.full.days": "{number, plural, one {# day} other {# days}}",
   "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
   "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
   "keyboard_shortcuts.back": "to navigate back",
   "keyboard_shortcuts.blocked": "Oscail liosta na n-úsáideoirí bactha",
-  "keyboard_shortcuts.boost": "Treisigh postáil",
+  "keyboard_shortcuts.boost": "Mol postáil",
   "keyboard_shortcuts.column": "to focus a status in one of the columns",
   "keyboard_shortcuts.compose": "to focus the compose textarea",
   "keyboard_shortcuts.description": "Cuntas",
@@ -311,7 +311,7 @@
   "keyboard_shortcuts.down": "Bog síos ar an liosta",
   "keyboard_shortcuts.enter": "Oscail postáil",
   "keyboard_shortcuts.favourite": "Roghnaigh postáil",
-  "keyboard_shortcuts.favourites": "Oscail liosta roghanna",
+  "keyboard_shortcuts.favourites": "Oscail liosta toghanna",
   "keyboard_shortcuts.federated": "Oscail amlíne cónaidhmithe",
   "keyboard_shortcuts.heading": "Aicearraí méarchláir",
   "keyboard_shortcuts.home": "to open home timeline",
@@ -322,7 +322,7 @@
   "keyboard_shortcuts.muted": "Oscail liosta na n-úsáideoirí balbhaithe",
   "keyboard_shortcuts.my_profile": "Oscail do phróifíl",
   "keyboard_shortcuts.notifications": "to open notifications column",
-  "keyboard_shortcuts.open_media": "to open media",
+  "keyboard_shortcuts.open_media": "Oscail meáin",
   "keyboard_shortcuts.pinned": "to open pinned posts list",
   "keyboard_shortcuts.profile": "Oscail próifíl an t-údar",
   "keyboard_shortcuts.reply": "Freagair ar phostáil",
@@ -374,7 +374,7 @@
   "navigation_bar.domain_blocks": "Fearainn bhactha",
   "navigation_bar.edit_profile": "Cuir an phróifíl in eagar",
   "navigation_bar.explore": "Féach thart",
-  "navigation_bar.favourites": "Roghanna",
+  "navigation_bar.favourites": "Toghanna",
   "navigation_bar.filters": "Focail bhalbhaithe",
   "navigation_bar.follow_requests": "Iarratais leanúnaí",
   "navigation_bar.follows_and_followers": "Ag leanúint agus do do leanúint",
@@ -394,18 +394,18 @@
   "notification.follow": "Lean {name} thú",
   "notification.follow_request": "D'iarr {name} ort do chuntas a leanúint",
   "notification.mention": "Luaigh {name} tú",
-  "notification.own_poll": "Your poll has ended",
-  "notification.poll": "A poll you have voted in has ended",
-  "notification.reblog": "Threisigh {name} do phostáil",
+  "notification.own_poll": "Tá do suirbhé críochnaithe",
+  "notification.poll": "Tá suirbhé inar vótáil tú tar éis críochnú",
+  "notification.reblog": "Mhol {name} do phostáil",
   "notification.status": "Phostáil {name} díreach",
   "notification.update": "Chuir {name} postáil in eagar",
   "notifications.clear": "Glan fógraí",
   "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
   "notifications.column_settings.admin.report": "Tuairiscí nua:",
   "notifications.column_settings.admin.sign_up": "New sign-ups:",
-  "notifications.column_settings.alert": "Desktop notifications",
-  "notifications.column_settings.favourite": "Roghanna:",
-  "notifications.column_settings.filter_bar.advanced": "Display all categories",
+  "notifications.column_settings.alert": "Fógraí deisce",
+  "notifications.column_settings.favourite": "Toghanna:",
+  "notifications.column_settings.filter_bar.advanced": "Taispeáin na catagóirí go léir",
   "notifications.column_settings.filter_bar.category": "Quick filter bar",
   "notifications.column_settings.filter_bar.show_bar": "Taispeáin barra scagaire",
   "notifications.column_settings.follow": "Leantóirí nua:",
@@ -413,7 +413,7 @@
   "notifications.column_settings.mention": "Tráchtanna:",
   "notifications.column_settings.poll": "Torthaí suirbhéanna:",
   "notifications.column_settings.push": "Brúfhógraí",
-  "notifications.column_settings.reblog": "Treisithe:",
+  "notifications.column_settings.reblog": "Moltaí:",
   "notifications.column_settings.show": "Taispeáin i gcolún",
   "notifications.column_settings.sound": "Seinn an fhuaim",
   "notifications.column_settings.status": "Postálacha nua:",
@@ -422,7 +422,7 @@
   "notifications.column_settings.update": "Eagair:",
   "notifications.filter.all": "Uile",
   "notifications.filter.boosts": "Treisithe",
-  "notifications.filter.favourites": "Roghanna",
+  "notifications.filter.favourites": "Toghanna",
   "notifications.filter.follows": "Ag leanúint",
   "notifications.filter.mentions": "Tráchtanna",
   "notifications.filter.polls": "Torthaí suirbhéanna",
@@ -543,8 +543,8 @@
   "status.admin_status": "Open this status in the moderation interface",
   "status.block": "Bac @{name}",
   "status.bookmark": "Leabharmharcanna",
-  "status.cancel_reblog_private": "Díthreisigh",
-  "status.cannot_reblog": "Ní féidir an phostáil seo a threisiú",
+  "status.cancel_reblog_private": "Dímhol",
+  "status.cannot_reblog": "Ní féidir an phostáil seo a mholadh",
   "status.copy": "Copy link to status",
   "status.delete": "Scrios",
   "status.detailed_status": "Detailed conversation view",
@@ -569,10 +569,10 @@
   "status.pin": "Pionnáil ar do phróifíl",
   "status.pinned": "Pinned post",
   "status.read_more": "Léan a thuilleadh",
-  "status.reblog": "Treisigh",
-  "status.reblog_private": "Treisigh le léargas bunúsach",
-  "status.reblogged_by": "Treisithe ag {name}",
-  "status.reblogs.empty": "Níor threisigh éinne an phostáil seo fós. Nuair a threisigh duine éigin, beidh siad le feiceáil anseo.",
+  "status.reblog": "Mol",
+  "status.reblog_private": "Mol le léargas bunúsach",
+  "status.reblogged_by": "Mhol {name}",
+  "status.reblogs.empty": "Níor mhol éinne an phostáil seo fós. Nuair a mholfaidh duine éigin í, taispeánfar anseo é sin.",
   "status.redraft": "Scrios ⁊ athdhréachtaigh",
   "status.remove_bookmark": "Remove bookmark",
   "status.replied_to": "Replied to {name}",
diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json
index 47a567108..a91d6f76c 100644
--- a/app/javascript/mastodon/locales/kab.json
+++ b/app/javascript/mastodon/locales/kab.json
@@ -84,7 +84,7 @@
   "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
   "bundle_column_error.error.title": "Oh, no!",
   "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
-  "bundle_column_error.network.title": "Network error",
+  "bundle_column_error.network.title": "Tuccḍa deg uẓeṭṭa",
   "bundle_column_error.retry": "Ɛreḍ tikelt-nniḍen",
   "bundle_column_error.return": "Go back home",
   "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?",
@@ -94,7 +94,7 @@
   "bundle_modal_error.retry": "Ɛreḍ tikelt-nniḍen",
   "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
   "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
-  "closed_registrations_modal.find_another_server": "Find another server",
+  "closed_registrations_modal.find_another_server": "Aff-d aqeddac nniḍen",
   "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
   "closed_registrations_modal.title": "Signing up on Mastodon",
   "column.about": "Γef",
@@ -261,13 +261,13 @@
   "follow_request.authorize": "Ssireg",
   "follow_request.reject": "Agi",
   "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
-  "footer.about": "About",
-  "footer.directory": "Profiles directory",
-  "footer.get_app": "Get the app",
-  "footer.invite": "Invite people",
-  "footer.keyboard_shortcuts": "Keyboard shortcuts",
-  "footer.privacy_policy": "Privacy policy",
-  "footer.source_code": "View source code",
+  "footer.about": "Γef",
+  "footer.directory": "Akaram n imaγnuten",
+  "footer.get_app": "Awi-d asnas",
+  "footer.invite": "Ɛreḍ-d kra n yimdanen",
+  "footer.keyboard_shortcuts": "Inegzumen n unasiw",
+  "footer.privacy_policy": "Tasertit tabaḍnit",
+  "footer.source_code": "Wali tangalt taɣbalut",
   "generic.saved": "Yettwasekles",
   "getting_started.heading": "Bdu",
   "hashtag.column_header.tag_mode.all": "d {additional}",
@@ -279,7 +279,7 @@
   "hashtag.column_settings.tag_mode.any": "Yiwen seg-sen",
   "hashtag.column_settings.tag_mode.none": "Yiwen ala seg-sen",
   "hashtag.column_settings.tag_toggle": "Glu-d s yihacṭagen imerna i ujgu-agi",
-  "hashtag.follow": "Follow hashtag",
+  "hashtag.follow": "Ḍfeṛ ahacṭag",
   "hashtag.unfollow": "Unfollow hashtag",
   "home.column_settings.basic": "Igejdanen",
   "home.column_settings.show_reblogs": "Ssken-d beṭṭu",
@@ -523,7 +523,7 @@
   "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
   "search_popout.tips.user": "amseqdac",
   "search_results.accounts": "Medden",
-  "search_results.all": "All",
+  "search_results.all": "Akk",
   "search_results.hashtags": "Ihacṭagen",
   "search_results.nothing_found": "Could not find anything for these search terms",
   "search_results.statuses": "Tibeṛṛaniyin",
@@ -536,7 +536,7 @@
   "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
   "server_banner.learn_more": "Issin ugar",
   "server_banner.server_stats": "Server stats:",
-  "sign_in_banner.create_account": "Create account",
+  "sign_in_banner.create_account": "Snulfu-d amiḍan",
   "sign_in_banner.sign_in": "Qqen",
   "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.",
   "status.admin_account": "Open moderation interface for @{name}",
@@ -556,7 +556,7 @@
   "status.favourite": "Rnu ɣer yismenyifen",
   "status.filter": "Filter this post",
   "status.filtered": "Yettwasizdeg",
-  "status.hide": "Hide toot",
+  "status.hide": "Ffer tajewwiqt",
   "status.history.created": "{name} created {date}",
   "status.history.edited": "{name} edited {date}",
   "status.load_more": "Sali ugar",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 55ba91487..2b0cb7e30 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -153,7 +153,7 @@
   "confirmations.cancel_follow_request.confirm": "요청 삭제",
   "confirmations.cancel_follow_request.message": "정말 {name}님에 대한 팔로우 요청을 취소하시겠습니까?",
   "confirmations.delete.confirm": "삭제",
-  "confirmations.delete.message": "정말로 이 게시물을 삭제하시겠습니까?",
+  "confirmations.delete.message": "정말로 이 글을 삭제하시겠습니까?",
   "confirmations.delete_list.confirm": "삭제",
   "confirmations.delete_list.message": "정말로 이 리스트를 영구적으로 삭제하시겠습니까?",
   "confirmations.discard_edit_media.confirm": "저장 안함",
@@ -366,7 +366,7 @@
   "mute_modal.indefinite": "무기한",
   "navigation_bar.about": "정보",
   "navigation_bar.blocks": "차단한 사용자",
-  "navigation_bar.bookmarks": "보관함",
+  "navigation_bar.bookmarks": "책갈피",
   "navigation_bar.community_timeline": "로컬 타임라인",
   "navigation_bar.compose": "새 게시물 작성",
   "navigation_bar.direct": "다이렉트 메시지",
@@ -393,12 +393,12 @@
   "notification.favourite": "{name} 님이 당신의 게시물을 마음에 들어합니다",
   "notification.follow": "{name} 님이 나를 팔로우했습니다",
   "notification.follow_request": "{name} 님이 팔로우 요청을 보냈습니다",
-  "notification.mention": "{name} 님이 답글을 보냈습니다",
+  "notification.mention": "{name} 님이 언급하였습니다",
   "notification.own_poll": "내 투표가 끝났습니다",
   "notification.poll": "당신이 참여 한 투표가 종료되었습니다",
   "notification.reblog": "{name} 님이 부스트했습니다",
-  "notification.status": "{name} 님이 방금 게시물을 올렸습니다",
-  "notification.update": "{name} 님이 게시물을 수정했습니다",
+  "notification.status": "{name} 님이 방금 글을 올렸습니다",
+  "notification.update": "{name} 님이 글을 수정했습니다",
   "notifications.clear": "알림 지우기",
   "notifications.clear_confirmation": "정말로 알림을 삭제하시겠습니까?",
   "notifications.column_settings.admin.report": "새 신고:",
@@ -424,9 +424,9 @@
   "notifications.filter.boosts": "부스트",
   "notifications.filter.favourites": "좋아요",
   "notifications.filter.follows": "팔로우",
-  "notifications.filter.mentions": "멘션",
+  "notifications.filter.mentions": "답글",
   "notifications.filter.polls": "투표 결과",
-  "notifications.filter.statuses": "팔로우 하는 사람들의 최신 게시물",
+  "notifications.filter.statuses": "팔로우 하는 사람의 최신 글",
   "notifications.grant_permission": "권한 부여.",
   "notifications.group": "{count}개의 알림",
   "notifications.mark_as_read": "모든 알림을 읽은 상태로 표시",
@@ -447,14 +447,14 @@
   "poll_button.add_poll": "투표 추가",
   "poll_button.remove_poll": "투표 삭제",
   "privacy.change": "게시물의 프라이버시 설정을 변경",
-  "privacy.direct.long": "멘션한 사용자에게만 공개",
+  "privacy.direct.long": "언급한 사용자만 볼 수 있음",
   "privacy.direct.short": "멘션한 사람들만",
-  "privacy.private.long": "팔로워에게만 공개",
+  "privacy.private.long": "팔로워만 볼 수 있음",
   "privacy.private.short": "팔로워 전용",
   "privacy.public.long": "모두가 볼 수 있음",
   "privacy.public.short": "공개",
   "privacy.unlisted.long": "모두가 볼 수 있지만, 발견하기 기능에서는 제외됨",
-  "privacy.unlisted.short": "타임라인에 비표시",
+  "privacy.unlisted.short": "일부 비공개",
   "privacy_policy.last_updated": "{date}에 마지막으로 업데이트됨",
   "privacy_policy.title": "개인정보 정책",
   "refresh": "새로고침",
@@ -480,7 +480,7 @@
   "report.category.subtitle": "가장 알맞은 것을 선택하세요",
   "report.category.title": "이 {type}에 무슨 문제가 있는지 알려주세요",
   "report.category.title_account": "프로필",
-  "report.category.title_status": "게시물",
+  "report.category.title_status": "글",
   "report.close": "완료",
   "report.comment.title": "우리가 더 알아야 할 내용이 있나요?",
   "report.forward": "{target}에 포워드 됨",
@@ -500,15 +500,15 @@
   "report.rules.subtitle": "해당하는 사항을 모두 선택하세요",
   "report.rules.title": "어떤 규칙을 위반했나요?",
   "report.statuses.subtitle": "해당하는 사항을 모두 선택하세요",
-  "report.statuses.title": "이 신고에 대해서 더 참고해야 할 게시물이 있나요?",
+  "report.statuses.title": "이 신고를 뒷받침할 글이 있습니까?",
   "report.submit": "신고하기",
   "report.target": "{target} 신고하기",
   "report.thanks.take_action": "마스토돈에서 나에게 보이는 것을 조절하기 위한 몇 가지 선택사항들이 존재합니다:",
   "report.thanks.take_action_actionable": "서버의 중재자들이 이것을 심사하는 동안, 당신은 @{name}에 대한 행동을 취할 수 있습니다:",
   "report.thanks.title": "이런 것을 보지 않길 원하나요?",
   "report.thanks.title_actionable": "신고해주셔서 감사합니다, 중재자분들이 확인할 예정입니다.",
-  "report.unfollow": "@{name}을 팔로우 해제",
-  "report.unfollow_explanation": "당신을 이 계정을 팔로우 하고 있습니다. 홈 피드에서 게시물을 보지 않으려면, 팔로우를 해제하세요.",
+  "report.unfollow": "@{name} 님을 팔로우 해제하기",
+  "report.unfollow_explanation": "이 계정을 팔로우 하고 있습니다. 홈 피드에서 더 이상 보지 않으려면 팔로우를 해제하십시오.",
   "report_notification.attached_statuses": "{count}개의 게시물 첨부됨",
   "report_notification.categories.other": "기타",
   "report_notification.categories.spam": "스팸",
@@ -539,16 +539,16 @@
   "sign_in_banner.create_account": "계정 생성",
   "sign_in_banner.sign_in": "로그인",
   "sign_in_banner.text": "로그인을 통해 프로필이나 해시태그를 팔로우하거나 마음에 들어하거나 공유하고 답글을 달 수 있습니다, 혹은 다른 서버에 있는 본인의 계정을 통해 참여할 수도 있습니다.",
-  "status.admin_account": "@{name}에 대한 중재 화면 열기",
-  "status.admin_status": "중재 화면에서 이 게시물 열기",
-  "status.block": "@{name} 차단",
-  "status.bookmark": "보관",
+  "status.admin_account": "@{name} 님의 관리 화면 열기",
+  "status.admin_status": "관리 화면에서 이 글을 열기",
+  "status.block": "@{name} 님을 차단하기",
+  "status.bookmark": "책갈피에 넣기",
   "status.cancel_reblog_private": "부스트 취소",
   "status.cannot_reblog": "이 게시물은 부스트 할 수 없습니다",
-  "status.copy": "게시물 링크 복사",
+  "status.copy": "글 링크 복사",
   "status.delete": "삭제",
   "status.detailed_status": "대화 자세히 보기",
-  "status.direct": "@{name}에게 다이렉트 메시지",
+  "status.direct": "@{name} 님에게 쪽지 보내기",
   "status.edit": "수정",
   "status.edited": "{date}에 편집됨",
   "status.edited_x_times": "{count}번 수정됨",
@@ -563,9 +563,9 @@
   "status.media_hidden": "미디어 숨겨짐",
   "status.mention": "@{name} 님에게 글 쓰기",
   "status.more": "자세히",
-  "status.mute": "@{name} 뮤트",
+  "status.mute": "@{name} 님을 뮤트하기",
   "status.mute_conversation": "이 대화를 뮤트",
-  "status.open": "상세 정보 표시",
+  "status.open": "글 펼치기",
   "status.pin": "고정",
   "status.pinned": "고정된 게시물",
   "status.read_more": "더 보기",
@@ -578,7 +578,7 @@
   "status.replied_to": "{name} 님에게 답장",
   "status.reply": "답장",
   "status.replyAll": "글타래에 답장",
-  "status.report": "신고",
+  "status.report": "{name} 님을 신고하기",
   "status.sensitive_warning": "민감한 미디어",
   "status.share": "공유",
   "status.show_filter_reason": "그냥 표시하기",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index 711a003fe..b6b7f5579 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -447,14 +447,14 @@
   "poll_button.add_poll": "Pievienot aptauju",
   "poll_button.remove_poll": "Noņemt aptauju",
   "privacy.change": "Mainīt ziņas privātumu",
-  "privacy.direct.long": "Redzams tikai pieminētajiem lietotājiem",
+  "privacy.direct.long": "Redzama tikai pieminētajiem lietotājiem",
   "privacy.direct.short": "Tikai minētie cilvēki",
-  "privacy.private.long": "Redzams tikai sekotājiem",
+  "privacy.private.long": "Redzama tikai sekotājiem",
   "privacy.private.short": "Tikai sekotājiem",
   "privacy.public.long": "Redzama visiem",
-  "privacy.public.short": "Publisks",
-  "privacy.unlisted.long": "Redzama visiem, bet atteicās no atklāšanas funkcijām",
-  "privacy.unlisted.short": "Neminētie",
+  "privacy.public.short": "Publiska",
+  "privacy.unlisted.long": "Redzama visiem, bet izslēgta no satura atklāšanas funkcijām",
+  "privacy.unlisted.short": "Nerindota",
   "privacy_policy.last_updated": "Pēdējo reizi atjaunināta {date}",
   "privacy_policy.title": "Privātuma Politika",
   "refresh": "Atsvaidzināt",
diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json
index 7d25ac608..70bea2964 100644
--- a/app/javascript/mastodon/locales/ms.json
+++ b/app/javascript/mastodon/locales/ms.json
@@ -1,16 +1,16 @@
 {
-  "about.blocks": "Moderated servers",
-  "about.contact": "Contact:",
-  "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
-  "about.domain_blocks.no_reason_available": "Reason not available",
-  "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
-  "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
-  "about.domain_blocks.silenced.title": "Limited",
+  "about.blocks": "Pelayan yang dimoderasi",
+  "about.contact": "Hubungi:",
+  "about.disclaimer": "Mastodon ialah perisian sumber terbuka percuma, dan merupakan tanda dagangan Mastodon gGmbH.",
+  "about.domain_blocks.no_reason_available": "Sebab tidak tersedia",
+  "about.domain_blocks.preamble": "Secara amnya, Mastodon membenarkan anda melihat kandungan daripada dan berinteraksi dengan pengguna daripada mana-mana pelayan dalam dunia persekutuan. Berikut ialah pengecualian yang telah dibuat pada pelayan ini secara khususnya.",
+  "about.domain_blocks.silenced.explanation": "Secara amnya, anda tidak akan melihat profil dan kandungan daripada pelayan ini, kecuali anda mencarinya secara khusus atau ikut serta dengan mengikutinya.",
+  "about.domain_blocks.silenced.title": "Terhad",
   "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
-  "about.domain_blocks.suspended.title": "Suspended",
-  "about.not_available": "This information has not been made available on this server.",
-  "about.powered_by": "Decentralized social media powered by {mastodon}",
-  "about.rules": "Server rules",
+  "about.domain_blocks.suspended.title": "Digantungkan",
+  "about.not_available": "Maklumat ini belum tersedia pada pelayan ini.",
+  "about.powered_by": "Media sosial terpencar dikuasakan oleh {mastodon}",
+  "about.rules": "Peraturan pelayan",
   "account.account_note_header": "Catatan",
   "account.add_or_remove_from_list": "Tambah atau Buang dari senarai",
   "account.badges.bot": "Bot",
@@ -19,16 +19,16 @@
   "account.block_domain": "Sekat domain {domain}",
   "account.blocked": "Disekat",
   "account.browse_more_on_origin_server": "Layari selebihnya di profil asal",
-  "account.cancel_follow_request": "Withdraw follow request",
+  "account.cancel_follow_request": "Menarik balik permintaan mengikut",
   "account.direct": "Mesej terus @{name}",
   "account.disable_notifications": "Berhenti memaklumi saya apabila @{name} mengirim hantaran",
   "account.domain_blocked": "Domain disekat",
   "account.edit_profile": "Sunting profil",
   "account.enable_notifications": "Maklumi saya apabila @{name} mengirim hantaran",
   "account.endorse": "Tampilkan di profil",
-  "account.featured_tags.last_status_at": "Last post on {date}",
-  "account.featured_tags.last_status_never": "No posts",
-  "account.featured_tags.title": "{name}'s featured hashtags",
+  "account.featured_tags.last_status_at": "Hantaran terakhir pada {date}",
+  "account.featured_tags.last_status_never": "Tiada hantaran",
+  "account.featured_tags.title": "Tanda pagar terpilih {name}",
   "account.follow": "Ikuti",
   "account.followers": "Pengikut",
   "account.followers.empty": "Belum ada yang mengikuti pengguna ini.",
@@ -37,19 +37,19 @@
   "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.go_to_profile": "Go to profile",
+  "account.go_to_profile": "Pergi ke profil",
   "account.hide_reblogs": "Sembunyikan galakan daripada @{name}",
   "account.joined_short": "Joined",
-  "account.languages": "Change subscribed languages",
+  "account.languages": "Tukar bahasa yang dilanggan",
   "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",
   "account.mention": "Sebut @{name}",
-  "account.moved_to": "{name} has indicated that their new account is now:",
+  "account.moved_to": "{name} telah menandakan bahawa akaun baru mereka sekarang ialah:",
   "account.mute": "Bisukan @{name}",
   "account.mute_notifications": "Bisukan pemberitahuan daripada @{name}",
   "account.muted": "Dibisukan",
-  "account.open_original_page": "Open original page",
+  "account.open_original_page": "Buka halaman asal",
   "account.posts": "Hantaran",
   "account.posts_with_replies": "Hantaran dan balasan",
   "account.report": "Laporkan @{name}",
@@ -59,49 +59,49 @@
   "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.unblock_short": "Nyahsekat",
   "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.unmute_short": "Buka suara",
   "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",
-  "admin.dashboard.retention.average": "Average",
+  "admin.dashboard.retention.average": "Purata",
   "admin.dashboard.retention.cohort": "Sign-up month",
-  "admin.dashboard.retention.cohort_size": "New users",
+  "admin.dashboard.retention.cohort_size": "Pengguna baru",
   "alert.rate_limited.message": "Sila cuba semula selepas {retry_time, time, medium}.",
   "alert.rate_limited.title": "Kadar terhad",
   "alert.unexpected.message": "Berlaku ralat di luar jangkaan.",
   "alert.unexpected.title": "Alamak!",
   "announcement.announcement": "Pengumuman",
-  "attachments_list.unprocessed": "(unprocessed)",
-  "audio.hide": "Hide audio",
+  "attachments_list.unprocessed": "(belum diproses)",
+  "audio.hide": "Sembunyikan audio",
   "autosuggest_hashtag.per_week": "{count} seminggu",
   "boost_modal.combo": "Anda boleh tekan {combo} untuk melangkauinya pada waktu lain",
-  "bundle_column_error.copy_stacktrace": "Copy error report",
-  "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
-  "bundle_column_error.error.title": "Oh, no!",
+  "bundle_column_error.copy_stacktrace": "Salin laporan ralat",
+  "bundle_column_error.error.body": "Halaman yang diminta gagal dipaparkan. Ini mungkin disebabkan oleh pepijat dalam kod kami, atau masalah keserasian pelayar.",
+  "bundle_column_error.error.title": "Alamak!",
   "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
-  "bundle_column_error.network.title": "Network error",
+  "bundle_column_error.network.title": "Ralat rangkaian",
   "bundle_column_error.retry": "Cuba lagi",
-  "bundle_column_error.return": "Go back home",
-  "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?",
+  "bundle_column_error.return": "Kembali ke halaman utama",
+  "bundle_column_error.routing.body": "Halaman tersebut tidak dapat ditemui. Adakah anda pasti URL dalam bar alamat adalah betul?",
   "bundle_column_error.routing.title": "404",
   "bundle_modal_error.close": "Tutup",
   "bundle_modal_error.message": "Ada yang tidak kena semasa memuatkan komponen ini.",
   "bundle_modal_error.retry": "Cuba lagi",
-  "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
-  "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
-  "closed_registrations_modal.find_another_server": "Find another server",
-  "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
-  "closed_registrations_modal.title": "Signing up on Mastodon",
-  "column.about": "About",
+  "closed_registrations.other_server_instructions": "Oleh sebab Mastodon terpencar, anda boleh mencipta akaun pada pelayan lain dan masih berinteraksi dengan pelayan ini.",
+  "closed_registrations_modal.description": "Mencipta akaun pada {domain} tidak dapat dibuat sekarang, tetapi sila ingat bahawa anda tidak memerlukan akaun khususnya pada {domain} untuk menggunakan Mastodon.",
+  "closed_registrations_modal.find_another_server": "Cari pelayan lain",
+  "closed_registrations_modal.preamble": "Mastodon adalah terpencar, oleh itu di mana-mana anda mencipta akaun anda, anda boleh mengikut dan berinteraksi dengan sesiapa pada pelayan ini. Anda juga boleh hos sendiri!",
+  "closed_registrations_modal.title": "Mendaftar pada Mastodon",
+  "column.about": "Perihal",
   "column.blocks": "Pengguna yang disekat",
   "column.bookmarks": "Tanda buku",
   "column.community": "Garis masa tempatan",
-  "column.direct": "Direct messages",
+  "column.direct": "Mesej terus",
   "column.directory": "Layari profil",
   "column.domain_blocks": "Domain disekat",
   "column.favourites": "Kegemaran",
@@ -123,10 +123,10 @@
   "community.column_settings.local_only": "Tempatan sahaja",
   "community.column_settings.media_only": "Media sahaja",
   "community.column_settings.remote_only": "Jauh sahaja",
-  "compose.language.change": "Change language",
-  "compose.language.search": "Search languages...",
+  "compose.language.change": "Tukar bahasa",
+  "compose.language.search": "Cari bahasa...",
   "compose_form.direct_message_warning_learn_more": "Ketahui lebih lanjut",
-  "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
+  "compose_form.encryption_warning": "Hantaran pada Mastodon tidak disulitkan hujung ke hujung. Jangan berkongsi sebarang maklumat sensitif melalui Mastodon.",
   "compose_form.hashtag_warning": "Hantaran ini tidak akan disenaraikan di bawah mana-mana tanda pagar kerana ia tidak tersenarai. Hanya hantaran awam sahaja boleh dicari menggunakan tanda pagar.",
   "compose_form.lock_disclaimer": "Akaun anda tidak {locked}. Sesiapa pun boleh mengikuti anda untuk melihat hantaran pengikut-sahaja anda.",
   "compose_form.lock_disclaimer.lock": "dikunci",
@@ -137,9 +137,9 @@
   "compose_form.poll.remove_option": "Buang pilihan ini",
   "compose_form.poll.switch_to_multiple": "Ubah kepada membenarkan aneka undian",
   "compose_form.poll.switch_to_single": "Ubah kepada undian pilihan tunggal",
-  "compose_form.publish": "Publish",
+  "compose_form.publish": "Terbit",
   "compose_form.publish_loud": "{publish}!",
-  "compose_form.save_changes": "Save changes",
+  "compose_form.save_changes": "Simpan perubahan",
   "compose_form.sensitive.hide": "{count, plural, one {Tandakan media sbg sensitif} other {Tandakan media sbg sensitif}}",
   "compose_form.sensitive.marked": "{count, plural, one {Media telah ditanda sbg sensitif} other {Media telah ditanda sbg sensitif}}",
   "compose_form.sensitive.unmarked": "{count, plural, one {Media tidak ditanda sbg sensitif} other {Media tidak ditanda sbg sensitif}}",
@@ -150,13 +150,13 @@
   "confirmations.block.block_and_report": "Sekat & Lapor",
   "confirmations.block.confirm": "Sekat",
   "confirmations.block.message": "Adakah anda pasti anda ingin menyekat {name}?",
-  "confirmations.cancel_follow_request.confirm": "Withdraw request",
-  "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?",
+  "confirmations.cancel_follow_request.confirm": "Tarik balik permintaan",
+  "confirmations.cancel_follow_request.message": "Adakah anda pasti ingin menarik balik permintaan anda untuk mengikut {name}?",
   "confirmations.delete.confirm": "Padam",
   "confirmations.delete.message": "Adakah anda pasti anda ingin memadam hantaran ini?",
   "confirmations.delete_list.confirm": "Padam",
   "confirmations.delete_list.message": "Adakah anda pasti anda ingin memadam senarai ini secara kekal?",
-  "confirmations.discard_edit_media.confirm": "Discard",
+  "confirmations.discard_edit_media.confirm": "Singkir",
   "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
   "confirmations.domain_block.confirm": "Sekat keseluruhan domain",
   "confirmations.domain_block.message": "Adakah anda betul-betul, sungguh-sungguh pasti anda ingin menyekat keseluruhan {domain}? Selalunya, beberapa sekatan atau pembisuan tersasar sudah memadai dan lebih diutamakan. Anda tidak akan nampak kandungan daripada domain tersebut di mana-mana garis masa awam mahupun pemberitahuan anda. Pengikut anda daripada domain tersebut juga akan dibuang.",
@@ -175,24 +175,24 @@
   "conversation.mark_as_read": "Tanda sudah dibaca",
   "conversation.open": "Lihat perbualan",
   "conversation.with": "Dengan {names}",
-  "copypaste.copied": "Copied",
-  "copypaste.copy": "Copy",
+  "copypaste.copied": "Disalin",
+  "copypaste.copy": "Salin",
   "directory.federated": "Dari fediverse yang diketahui",
   "directory.local": "Dari {domain} sahaja",
   "directory.new_arrivals": "Ketibaan baharu",
   "directory.recently_active": "Aktif baru-baru ini",
-  "disabled_account_banner.account_settings": "Account settings",
-  "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
-  "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
-  "dismissable_banner.dismiss": "Dismiss",
-  "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
-  "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.",
-  "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
-  "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
+  "disabled_account_banner.account_settings": "Tetapan akaun",
+  "disabled_account_banner.text": "Akaun anda {disabledAccount} telah dinyahaktif.",
+  "dismissable_banner.community_timeline": "Inilah hantaran awam terkini daripada orang yang akaun dihos oleh {domain}.",
+  "dismissable_banner.dismiss": "Ketepikan",
+  "dismissable_banner.explore_links": "Berita-berita ini sedang dibualkan oleh orang di pelayar ini dan pelayar lain dalam rangkaian terpencar sekarang.",
+  "dismissable_banner.explore_statuses": "Hantaran-hantaran ini daripada pelayar ini dan pelayar lain dalam rangkaian terpencar sedang hangat pada pelayar ini sekarang.",
+  "dismissable_banner.explore_tags": "Tanda-tanda pagar ini daripada pelayar ini dan pelayar lain dalam rangkaian terpencar sedang hangat pada pelayar ini sekarang.",
+  "dismissable_banner.public_timeline": "Ini adalah hantaran awam yang terkini daripada orang pada pelayar ini dan pelayar lain dalam rangkaian terpencar yang dikenali oleh pelayar ini.",
   "embed.instructions": "Benam hantaran ini di laman sesawang anda dengan menyalin kod berikut.",
   "embed.preview": "Begini rupanya nanti:",
   "emoji_button.activity": "Aktiviti",
-  "emoji_button.clear": "Clear",
+  "emoji_button.clear": "Padam",
   "emoji_button.custom": "Tersuai",
   "emoji_button.flags": "Bendera",
   "emoji_button.food": "Makanan & Minuman",
@@ -212,9 +212,9 @@
   "empty_column.blocks": "Anda belum menyekat sesiapa.",
   "empty_column.bookmarked_statuses": "Anda belum ada hantaran yang ditanda buku. Apabila anda menanda buku sesuatu, ia akan muncul di sini.",
   "empty_column.community": "Garis masa tempatan kosong. Tulislah secara awam untuk memulakan sesuatu!",
-  "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
+  "empty_column.direct": "Anda belum mempunyai mesej terus. Apabila anda menghantar atau menerima mesej, mesej-mesej akan dipaparkan di sini.",
   "empty_column.domain_blocks": "Belum ada domain yang disekat.",
-  "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
+  "empty_column.explore_statuses": "Tiada apa-apa yang sohor kini sekarang. Semaklah kemudian!",
   "empty_column.favourited_statuses": "Anda belum ada hantaran yang digemari. Apabila anda menggemari sesuatu, ia akan muncul di sini.",
   "empty_column.favourites": "Tiada sesiapa yang menggemari hantaran ini. Apabila ada yang menggemari, ia akan muncul di sini.",
   "empty_column.follow_recommendations": "Nampaknya tiada cadangan yang boleh dijana untuk anda. Anda boleh cuba gunakan gelintar untuk mencari orang yang anda mungkin kenal atau jelajahi tanda pagar sohor kini.",
@@ -233,41 +233,41 @@
   "error.unexpected_crash.next_steps_addons": "Cuba nyahdaya pemalam dan segarkan semula halaman. Jika itu tidak membantu, anda masih boleh menggunakan Mastodon dengan pelayar yang berlainan atau aplikasi natif.",
   "errors.unexpected_crash.copy_stacktrace": "Salin surih tindanan ke papan keratan",
   "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",
-  "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
-  "filter_modal.added.context_mismatch_title": "Context mismatch!",
-  "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
-  "filter_modal.added.expired_title": "Expired filter!",
-  "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
-  "filter_modal.added.review_and_configure_title": "Filter settings",
-  "filter_modal.added.settings_link": "settings page",
-  "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
-  "filter_modal.added.title": "Filter added!",
-  "filter_modal.select_filter.context_mismatch": "does not apply to this context",
-  "filter_modal.select_filter.expired": "expired",
-  "filter_modal.select_filter.prompt_new": "New category: {name}",
-  "filter_modal.select_filter.search": "Search or create",
-  "filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
-  "filter_modal.select_filter.title": "Filter this post",
-  "filter_modal.title.status": "Filter a post",
+  "explore.search_results": "Hasil carian",
+  "explore.suggested_follows": "Untuk anda",
+  "explore.title": "Terokai",
+  "explore.trending_links": "Berita",
+  "explore.trending_statuses": "Siaran",
+  "explore.trending_tags": "Hashtag",
+  "filter_modal.added.context_mismatch_explanation": "Kumpulan penapis ini tidak terpakai pada konteks di mana anda mengakses hantaran ini. Jika anda ingin hantaran ini untuk ditapis dalam konteks ini juga, anda perlu menyunting penapis tersebut.",
+  "filter_modal.added.context_mismatch_title": "Konteks tidak sepadan!",
+  "filter_modal.added.expired_explanation": "Kumpulan filter ini telah tamat tempoh, anda perlu mengubah tarikh luput untuk melaksanakannya.",
+  "filter_modal.added.expired_title": "Penapis tamat tempoh!",
+  "filter_modal.added.review_and_configure": "Untuk menyemak dan menetap kumpulan penapis ini secara lanjut, pergi ke {settings_link}.",
+  "filter_modal.added.review_and_configure_title": "Tetapan penapis",
+  "filter_modal.added.settings_link": "halaman tetapan",
+  "filter_modal.added.short_explanation": "Hantaran ini telah ditambah kepada kumpulan penapis berikut: {title}.",
+  "filter_modal.added.title": "Penapis ditambah!",
+  "filter_modal.select_filter.context_mismatch": "tidak terpakai pada konteks ini",
+  "filter_modal.select_filter.expired": "tamat tempoh",
+  "filter_modal.select_filter.prompt_new": "Kumpulan baru: {name}",
+  "filter_modal.select_filter.search": "Cari atau cipta",
+  "filter_modal.select_filter.subtitle": "Gunakan kumpulan yang sedia ada atau mencipta kumpulan baru",
+  "filter_modal.select_filter.title": "Tapiskan hantaran ini",
+  "filter_modal.title.status": "Tapiskan sesuatu hantaran",
   "follow_recommendations.done": "Selesai",
   "follow_recommendations.heading": "Ikuti orang yang anda ingin lihat hantarannya! Di sini ada beberapa cadangan.",
   "follow_recommendations.lead": "Hantaran daripada orang yang anda ikuti akan muncul dalam susunan kronologi di suapan rumah anda. Jangan takut melakukan kesilapan, anda boleh nyahikuti orang dengan mudah pada bila-bila masa!",
   "follow_request.authorize": "Benarkan",
   "follow_request.reject": "Tolak",
   "follow_requests.unlocked_explanation": "Walaupun akaun anda tidak dikunci, kakitangan {domain} merasakan anda mungkin ingin menyemak permintaan ikutan daripada akaun ini secara manual.",
-  "footer.about": "About",
-  "footer.directory": "Profiles directory",
-  "footer.get_app": "Get the app",
-  "footer.invite": "Invite people",
-  "footer.keyboard_shortcuts": "Keyboard shortcuts",
-  "footer.privacy_policy": "Privacy policy",
-  "footer.source_code": "View source code",
+  "footer.about": "Perihal",
+  "footer.directory": "Direktori profil",
+  "footer.get_app": "Dapatkan app",
+  "footer.invite": "Jemput kenalan",
+  "footer.keyboard_shortcuts": "Pintasan papan kekunci",
+  "footer.privacy_policy": "Dasar privasi",
+  "footer.source_code": "Lihat kod sumber",
   "generic.saved": "Disimpan",
   "getting_started.heading": "Mari bermula",
   "hashtag.column_header.tag_mode.all": "dan {additional}",
@@ -279,25 +279,25 @@
   "hashtag.column_settings.tag_mode.any": "Mana-mana daripada yang ini",
   "hashtag.column_settings.tag_mode.none": "Tiada apa pun daripada yang ini",
   "hashtag.column_settings.tag_toggle": "Sertakan tag tambahan untuk lajur ini",
-  "hashtag.follow": "Follow hashtag",
-  "hashtag.unfollow": "Unfollow hashtag",
+  "hashtag.follow": "Ikuti hashtag",
+  "hashtag.unfollow": "Nyahikut tanda pagar",
   "home.column_settings.basic": "Asas",
   "home.column_settings.show_reblogs": "Tunjukkan galakan",
   "home.column_settings.show_replies": "Tunjukkan balasan",
   "home.hide_announcements": "Sembunyikan pengumuman",
   "home.show_announcements": "Tunjukkan pengumuman",
-  "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
-  "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
-  "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
-  "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
-  "interaction_modal.on_another_server": "On a different server",
-  "interaction_modal.on_this_server": "On this server",
-  "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
-  "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
-  "interaction_modal.title.favourite": "Favourite {name}'s post",
-  "interaction_modal.title.follow": "Follow {name}",
-  "interaction_modal.title.reblog": "Boost {name}'s post",
-  "interaction_modal.title.reply": "Reply to {name}'s post",
+  "interaction_modal.description.favourite": "Dengan akaun pada Mastodon, anda boleh menggemarkan hantaran ini untuk memberitahu penulis bahawa anda menghargainya dan menyimpannya untuk kemudian.",
+  "interaction_modal.description.follow": "Dengan akaun pada Mastodon, anda boleh mengikut {name} untuk menerima hantaran mereka di suapan rumah anda.",
+  "interaction_modal.description.reblog": "Dengan akaun pada Mastodon, anda boleh menggalakkan hantaran ini untuk dikongsi dengan pengikut anda.",
+  "interaction_modal.description.reply": "Dengan akaun pada Mastodon, anda boleh membalas kepada hantaran ini.",
+  "interaction_modal.on_another_server": "Di pelayan lain",
+  "interaction_modal.on_this_server": "Pada pelayan ini",
+  "interaction_modal.other_server_instructions": "Salin dan tampal URL ini ke dalam medan carian app Mastodon kegemaran anda atau antara muka web pelayan Mastodon anda.",
+  "interaction_modal.preamble": "Oleh sebab Mastodon terpencar, anda boleh menggunakan akaun sedia ada anda yang dihos oleh pelayan Mastodon lain atau platform yang serasi jika anda tidak mempunyai akaun pada platform ini.",
+  "interaction_modal.title.favourite": "Menggemarkan hantaran {name}",
+  "interaction_modal.title.follow": "Ikuti {name}",
+  "interaction_modal.title.reblog": "Galak hantaran {name}",
+  "interaction_modal.title.reply": "Balas siaran {name}",
   "intervals.full.days": "{number, plural, other {# hari}}",
   "intervals.full.hours": "{number, plural, other {# jam}}",
   "intervals.full.minutes": "{number, plural, other {# minit}}",
@@ -307,10 +307,10 @@
   "keyboard_shortcuts.column": "Tumpu pada lajur",
   "keyboard_shortcuts.compose": "to focus the compose textarea",
   "keyboard_shortcuts.description": "Keterangan",
-  "keyboard_shortcuts.direct": "to open direct messages column",
+  "keyboard_shortcuts.direct": "untuk membuka lajur mesej terus",
   "keyboard_shortcuts.down": "to move down in the list",
   "keyboard_shortcuts.enter": "Buka hantaran",
-  "keyboard_shortcuts.favourite": "to favourite",
+  "keyboard_shortcuts.favourite": "Hantaran kegemaran",
   "keyboard_shortcuts.favourites": "to open favourites list",
   "keyboard_shortcuts.federated": "to open federated timeline",
   "keyboard_shortcuts.heading": "Pintasan papan kekunci",
@@ -340,8 +340,8 @@
   "lightbox.expand": "Besarkan kotak paparan imej",
   "lightbox.next": "Seterusnya",
   "lightbox.previous": "Sebelumnya",
-  "limited_account_hint.action": "Show profile anyway",
-  "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.",
+  "limited_account_hint.action": "Paparkan profil",
+  "limited_account_hint.title": "Profil ini telah disembunyikan oleh moderator {domain}.",
   "lists.account.add": "Tambah ke senarai",
   "lists.account.remove": "Buang daripada senarai",
   "lists.delete": "Padam senarai",
@@ -360,20 +360,20 @@
   "media_gallery.toggle_visible": "{number, plural, other {Sembunyikan imej}}",
   "missing_indicator.label": "Tidak dijumpai",
   "missing_indicator.sublabel": "Sumber ini tidak dijumpai",
-  "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
+  "moved_to_account_banner.text": "Akaun anda {disabledAccount} kini dinyahdayakan kerana anda berpindah ke {movedToAccount}.",
   "mute_modal.duration": "Tempoh",
   "mute_modal.hide_notifications": "Sembunyikan pemberitahuan daripada pengguna ini?",
   "mute_modal.indefinite": "Tidak tentu",
-  "navigation_bar.about": "About",
+  "navigation_bar.about": "Perihal",
   "navigation_bar.blocks": "Pengguna yang disekat",
   "navigation_bar.bookmarks": "Tanda buku",
   "navigation_bar.community_timeline": "Garis masa tempatan",
   "navigation_bar.compose": "Karang hantaran baharu",
-  "navigation_bar.direct": "Direct messages",
+  "navigation_bar.direct": "Mesej terus",
   "navigation_bar.discover": "Teroka",
   "navigation_bar.domain_blocks": "Domain disekat",
   "navigation_bar.edit_profile": "Sunting profil",
-  "navigation_bar.explore": "Explore",
+  "navigation_bar.explore": "Teroka",
   "navigation_bar.favourites": "Kegemaran",
   "navigation_bar.filters": "Perkataan yang dibisukan",
   "navigation_bar.follow_requests": "Permintaan ikutan",
@@ -385,11 +385,11 @@
   "navigation_bar.pins": "Hantaran disemat",
   "navigation_bar.preferences": "Keutamaan",
   "navigation_bar.public_timeline": "Garis masa bersekutu",
-  "navigation_bar.search": "Search",
+  "navigation_bar.search": "Cari",
   "navigation_bar.security": "Keselamatan",
-  "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
-  "notification.admin.report": "{name} reported {target}",
-  "notification.admin.sign_up": "{name} signed up",
+  "not_signed_in_indicator.not_signed_in": "Anda perlu daftar masuk untuk mencapai sumber ini.",
+  "notification.admin.report": "{name} melaporkan {target}",
+  "notification.admin.sign_up": "{name} mendaftar",
   "notification.favourite": "{name} menggemari hantaran anda",
   "notification.follow": "{name} mengikuti anda",
   "notification.follow_request": "{name} meminta untuk mengikuti anda",
@@ -398,16 +398,16 @@
   "notification.poll": "Sebuah undian yang anda undi telah tamat",
   "notification.reblog": "{name} menggalak hantaran anda",
   "notification.status": "{name} baru sahaja mengirim hantaran",
-  "notification.update": "{name} edited a post",
+  "notification.update": "{name} menyunting hantaran",
   "notifications.clear": "Buang pemberitahuan",
   "notifications.clear_confirmation": "Adakah anda pasti anda ingin membuang semua pemberitahuan anda secara kekal?",
-  "notifications.column_settings.admin.report": "New reports:",
-  "notifications.column_settings.admin.sign_up": "New sign-ups:",
+  "notifications.column_settings.admin.report": "Laporan baru:",
+  "notifications.column_settings.admin.sign_up": "Pendaftaran baru:",
   "notifications.column_settings.alert": "Pemberitahuan atas meja",
   "notifications.column_settings.favourite": "Kegemaran:",
   "notifications.column_settings.filter_bar.advanced": "Papar semua kategori",
   "notifications.column_settings.filter_bar.category": "Bar penapis pantas",
-  "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
+  "notifications.column_settings.filter_bar.show_bar": "Paparkan bar penapis",
   "notifications.column_settings.follow": "Pengikut baharu:",
   "notifications.column_settings.follow_request": "Permintaan ikutan baharu:",
   "notifications.column_settings.mention": "Sebutan:",
@@ -417,9 +417,9 @@
   "notifications.column_settings.show": "Tunjukkan dalam lajur",
   "notifications.column_settings.sound": "Mainkan bunyi",
   "notifications.column_settings.status": "Hantaran baharu:",
-  "notifications.column_settings.unread_notifications.category": "Unread notifications",
-  "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
-  "notifications.column_settings.update": "Edits:",
+  "notifications.column_settings.unread_notifications.category": "Pemberitahuan belum dibaca",
+  "notifications.column_settings.unread_notifications.highlight": "Serlahkan pemberitahuan yang belum dibaca",
+  "notifications.column_settings.update": "Suntingan:",
   "notifications.filter.all": "Semua",
   "notifications.filter.boosts": "Galakan",
   "notifications.filter.favourites": "Kegemaran",
@@ -448,22 +448,22 @@
   "poll_button.remove_poll": "Buang undian",
   "privacy.change": "Ubah privasi hantaran",
   "privacy.direct.long": "Hanya boleh dilihat oleh pengguna disebut",
-  "privacy.direct.short": "Direct",
+  "privacy.direct.short": "Orang yang disebut sahaja",
   "privacy.private.long": "Hanya boleh dilihat oleh pengikut",
-  "privacy.private.short": "Followers-only",
-  "privacy.public.long": "Visible for all",
+  "privacy.private.short": "Pengikut sahaja",
+  "privacy.public.long": "Kelihatan untuk semua",
   "privacy.public.short": "Awam",
-  "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
+  "privacy.unlisted.long": "Terpapar untuk semua, tetapi menarik diri daripada ciri penemuan",
   "privacy.unlisted.short": "Tidak tersenarai",
-  "privacy_policy.last_updated": "Last updated {date}",
-  "privacy_policy.title": "Privacy Policy",
+  "privacy_policy.last_updated": "Dikemaskini {date}",
+  "privacy_policy.title": "Dasar Privasi",
   "refresh": "Muat semula",
   "regeneration_indicator.label": "Memuatkan…",
   "regeneration_indicator.sublabel": "Suapan rumah anda sedang disediakan!",
   "relative_time.days": "{number}h",
   "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
   "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
-  "relative_time.full.just_now": "just now",
+  "relative_time.full.just_now": "sebentar tadi",
   "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
   "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
   "relative_time.hours": "{number}j",
@@ -472,50 +472,50 @@
   "relative_time.seconds": "{number}s",
   "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.categories.other": "Other",
+  "report.block": "Sekat",
+  "report.block_explanation": "Anda tidak akan melihat hantaran mereka. Mereka tidak dapat melihat hantaran anda atau mengikuti anda. Mereka akan sedar bahawa mereka disekat.",
+  "report.categories.other": "Lain-lain",
   "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.categories.violation": "Kandungan melanggar satu atau lebih peraturan pelayan",
+  "report.category.subtitle": "Pilih yang terdekat",
+  "report.category.title": "Beritahu kami apa yang berlaku dengan {type} ini",
+  "report.category.title_account": "profil",
+  "report.category.title_status": "siaran",
+  "report.close": "Selesai",
+  "report.comment.title": "Adakah ada hal-hal lain yang perlu kita ketahui?",
   "report.forward": "Panjangkan ke {target}",
   "report.forward_hint": "Akaun ini daripada pelayan lain. Hantar salinan laporan yang ditanpanamakan ke sana juga?",
-  "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 siaran mereka. Mereka masih boleh mengikuti dan melihat siaran anda dan tidak akan mengetahui bahawa mereka telah dibisukan.",
+  "report.next": "Seterusnya",
   "report.placeholder": "Ulasan 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.dislike": "Saya tidak suka",
+  "report.reasons.dislike_description": "Inilah sesuatu yang anda tidak ingin lihat",
+  "report.reasons.other": "Inilah sesuatu yang lain",
+  "report.reasons.other_description": "Isu ini tidak sesuai untuk kategori lain",
+  "report.reasons.spam": "Inilah spam",
   "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
-  "report.reasons.violation": "It violates server rules",
-  "report.reasons.violation_description": "You are aware that it breaks specific rules",
-  "report.rules.subtitle": "Select all that apply",
-  "report.rules.title": "Which rules are being violated?",
-  "report.statuses.subtitle": "Select all that apply",
-  "report.statuses.title": "Are there any posts that back up this report?",
+  "report.reasons.violation": "Ini melanggar peraturan pelayan",
+  "report.reasons.violation_description": "Anda menyedari bahawa ini melanggar peraturan yang tertentu",
+  "report.rules.subtitle": "Pilih semua yang berkenaan",
+  "report.rules.title": "Peraturan-peraturan manakah yang telah dilanggar?",
+  "report.statuses.subtitle": "Pilih semua yang berkenaan",
+  "report.statuses.title": "Adakah terdapat siaran-siaran lain yang dapat menyokong laporan ini?",
   "report.submit": "Serah",
   "report.target": "Melaporkan {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": "Berikut ialah pilihan anda untuk mengawal apa yang anda lihat di Mastodon:",
+  "report.thanks.take_action_actionable": "Sementara kami menyemak ini, anda boleh mengambil tindakan terhadap @{name}:",
+  "report.thanks.title": "Tidak ingin melihat ini?",
+  "report.thanks.title_actionable": "Terima kasih untuk laporan anda, kami akan menyemaknya.",
+  "report.unfollow": "Nyahikut @{name}",
+  "report.unfollow_explanation": "Anda sedang mengikuti akaun ini. Untuk memadam siaran mereka daripada suapan berita anda, nyahikutkan mereka.",
   "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
-  "report_notification.categories.other": "Other",
+  "report_notification.categories.other": "Lain-lain",
   "report_notification.categories.spam": "Spam",
-  "report_notification.categories.violation": "Rule violation",
-  "report_notification.open": "Open report",
+  "report_notification.categories.violation": "Langgaran peraturan",
+  "report_notification.open": "Buka laporan",
   "search.placeholder": "Cari",
-  "search.search_or_paste": "Search or paste URL",
+  "search.search_or_paste": "Cari atau tampal URL",
   "search_popout.search_format": "Format gelintar lanjutan",
   "search_popout.tips.full_text": "Teks ringkas mengembalikan hantaran yang anda telah tulis, menggemari, menggalak, atau telah disebutkan, dan juga nama pengguna, nama paparan, dan tanda pagar yang dipadankan.",
   "search_popout.tips.hashtag": "tanda pagar",
@@ -523,22 +523,22 @@
   "search_popout.tips.text": "Teks ringkas mengembalikan nama paparan, nama pengguna dan tanda pagar yang sepadan",
   "search_popout.tips.user": "pengguna",
   "search_results.accounts": "Orang",
-  "search_results.all": "All",
+  "search_results.all": "Semua",
   "search_results.hashtags": "Tanda pagar",
-  "search_results.nothing_found": "Could not find anything for these search terms",
+  "search_results.nothing_found": "Tidak dapat menemui apa-apa untuk istilah carian tersebut",
   "search_results.statuses": "Hantaran",
   "search_results.statuses_fts_disabled": "Menggelintar hantaran menggunakan kandungannya tidak didayakan di pelayan Mastodon ini.",
-  "search_results.title": "Search for {q}",
+  "search_results.title": "Mencari {q}",
   "search_results.total": "{count, number} {count, plural, other {hasil}}",
-  "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
-  "server_banner.active_users": "active users",
-  "server_banner.administered_by": "Administered by:",
-  "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
-  "server_banner.learn_more": "Learn more",
-  "server_banner.server_stats": "Server stats:",
-  "sign_in_banner.create_account": "Create account",
-  "sign_in_banner.sign_in": "Sign in",
-  "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.",
+  "server_banner.about_active_users": "Pengguna pelayan ini sepanjang 30 hari yang lalu (Pengguna Aktif Bulanan)",
+  "server_banner.active_users": "pengguna aktif",
+  "server_banner.administered_by": "Ditadbir oleh:",
+  "server_banner.introduction": "{domain} ialah sebahagian daripada rangkaian sosial terpencar dikuasakan oleh {mastodon}.",
+  "server_banner.learn_more": "Maklumat lanjut",
+  "server_banner.server_stats": "Statistik pelayan:",
+  "sign_in_banner.create_account": "Cipta akaun",
+  "sign_in_banner.sign_in": "Daftar masuk",
+  "sign_in_banner.text": "Daftar masuk untuk mengikut profil atau tanda pagar, menggemari, mengkongsi dan membalas kepada hantaran, atau berinteraksi daripada akaun anda pada pelayan lain.",
   "status.admin_account": "Buka antara muka penyederhanaan untuk @{name}",
   "status.admin_status": "Buka hantaran ini dalam antara muka penyederhanaan",
   "status.block": "Sekat @{name}",
@@ -549,16 +549,16 @@
   "status.delete": "Padam",
   "status.detailed_status": "Paparan perbualan terperinci",
   "status.direct": "Mesej terus @{name}",
-  "status.edit": "Edit",
-  "status.edited": "Edited {date}",
+  "status.edit": "Sunting",
+  "status.edited": "Disunting {date}",
   "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
   "status.embed": "Benaman",
   "status.favourite": "Kegemaran",
-  "status.filter": "Filter this post",
+  "status.filter": "Tapiskan hantaran ini",
   "status.filtered": "Ditapis",
-  "status.hide": "Hide toot",
-  "status.history.created": "{name} created {date}",
-  "status.history.edited": "{name} edited {date}",
+  "status.hide": "Sembunyikan siaran",
+  "status.history.created": "{name} mencipta pada {date}",
+  "status.history.edited": "{name} menyunting pada {date}",
   "status.load_more": "Muatkan lagi",
   "status.media_hidden": "Media disembunyikan",
   "status.mention": "Sebut @{name}",
@@ -575,26 +575,26 @@
   "status.reblogs.empty": "Tiada sesiapa yang menggalak hantaran ini. Apabila ada yang menggalak, ia akan muncul di sini.",
   "status.redraft": "Padam & rangka semula",
   "status.remove_bookmark": "Buang tanda buku",
-  "status.replied_to": "Replied to {name}",
+  "status.replied_to": "Menjawab kepada {name}",
   "status.reply": "Balas",
   "status.replyAll": "Balas ke bebenang",
   "status.report": "Laporkan @{name}",
   "status.sensitive_warning": "Kandungan sensitif",
   "status.share": "Kongsi",
-  "status.show_filter_reason": "Show anyway",
+  "status.show_filter_reason": "Paparkan juga",
   "status.show_less": "Tunjukkan kurang",
   "status.show_less_all": "Tunjukkan kurang untuk semua",
   "status.show_more": "Tunjukkan lebih",
   "status.show_more_all": "Tunjukkan lebih untuk semua",
-  "status.show_original": "Show original",
-  "status.translate": "Translate",
-  "status.translated_from_with": "Translated from {lang} using {provider}",
+  "status.show_original": "Paparkan yang asal",
+  "status.translate": "Menterjemah",
+  "status.translated_from_with": "Diterjemah daripada {lang} dengan {provider}",
   "status.uncached_media_warning": "Tidak tersedia",
   "status.unmute_conversation": "Nyahbisukan perbualan",
   "status.unpin": "Nyahsemat daripada profil",
-  "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.",
-  "subscribed_languages.save": "Save changes",
-  "subscribed_languages.target": "Change subscribed languages for {target}",
+  "subscribed_languages.lead": "Hanya hantaran dalam bahasa-bahasa terpilih akan dipaparkan pada garis masa rumah dan senarai selepas perubahan. Pilih tiada untuk menerima hantaran dalam semua bahasa.",
+  "subscribed_languages.save": "Simpan perubahan",
+  "subscribed_languages.target": "Tukar bahasa-bahasa dilanggan untuk {target}",
   "suggestions.dismiss": "Batalkan cadangan",
   "suggestions.header": "Anda mungkin berminat dengan…",
   "tabs_bar.federated_timeline": "Bersekutu",
@@ -622,14 +622,14 @@
   "upload_error.poll": "Tidak boleh memuat naik fail bersama undian.",
   "upload_form.audio_description": "Jelaskan untuk orang yang ada masalah pendengaran",
   "upload_form.description": "Jelaskan untuk orang yang ada masalah penglihatan",
-  "upload_form.description_missing": "No description added",
+  "upload_form.description_missing": "Tiada keterangan ditambah",
   "upload_form.edit": "Sunting",
   "upload_form.thumbnail": "Ubah gambar kecil",
   "upload_form.undo": "Padam",
   "upload_form.video_description": "Jelaskan untuk orang yang ada masalah pendengaran atau penglihatan",
   "upload_modal.analyzing_picture": "Menganalisis gambar…",
   "upload_modal.apply": "Guna",
-  "upload_modal.applying": "Applying…",
+  "upload_modal.applying": "Terapkan…",
   "upload_modal.choose_image": "Pilih imej",
   "upload_modal.description_placeholder": "Seekor rubah perang pantas melompat merentasi anjing yang pemalas",
   "upload_modal.detect_text": "Kesan teks daripada gambar",
@@ -638,7 +638,7 @@
   "upload_modal.preparing_ocr": "Mempersiapkan OCR…",
   "upload_modal.preview_label": "Pratonton ({ratio})",
   "upload_progress.label": "Memuat naik...",
-  "upload_progress.processing": "Processing…",
+  "upload_progress.processing": "Memproses…",
   "video.close": "Tutup video",
   "video.download": "Muat turun fail",
   "video.exit_fullscreen": "Keluar skrin penuh",
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index 6ef9fd040..4a1533a1a 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -239,16 +239,16 @@
   "explore.trending_links": "Nyheter",
   "explore.trending_statuses": "Innlegg",
   "explore.trending_tags": "Emneknagger",
-  "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
+  "filter_modal.added.context_mismatch_explanation": "Denne filterkategorien gjelder ikke for den konteksten du har åpnet dette innlegget i. Hvis du vil at innlegget skal filtreres i denne konteksten også, må du redigere filteret.",
   "filter_modal.added.context_mismatch_title": "Context mismatch!",
-  "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
+  "filter_modal.added.expired_explanation": "Denne filterkategorien er utløpt, du må endre utløpsdato for at den skal gjelde.",
   "filter_modal.added.expired_title": "Utløpt filter!",
-  "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
+  "filter_modal.added.review_and_configure": "For å gjennomgå og ytterligere konfigurere denne filterkategorien, gå til {settings_link}.",
   "filter_modal.added.review_and_configure_title": "Filterinnstillinger",
   "filter_modal.added.settings_link": "innstillinger-siden",
-  "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
+  "filter_modal.added.short_explanation": "Dette innlegget er lagt til i følgende filterkategori: {title}.",
   "filter_modal.added.title": "Filter lagt til!",
-  "filter_modal.select_filter.context_mismatch": "does not apply to this context",
+  "filter_modal.select_filter.context_mismatch": "gjelder ikke for denne sammenhengen",
   "filter_modal.select_filter.expired": "utløpt",
   "filter_modal.select_filter.prompt_new": "Ny kategori: {name}",
   "filter_modal.select_filter.search": "Søk eller opprett",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index ab241a422..fdeec3541 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -2,7 +2,7 @@
   "about.blocks": "Servidores moderados",
   "about.contact": "Contato:",
   "about.disclaimer": "Mastodon é um software de código aberto e livre, e uma marca registrada de Mastodon gGmbH.",
-  "about.domain_blocks.no_reason_available": "Reason not available",
+  "about.domain_blocks.no_reason_available": "Razão não disponível",
   "about.domain_blocks.preamble": "O Mastodon geralmente permite que você veja o conteúdo e interaja com usuários de qualquer outro servidor no fediverso. Estas são as exceções deste servidor em específico.",
   "about.domain_blocks.silenced.explanation": "Você geralmente não verá perfis e conteúdo deste servidor, a menos que você o procure explicitamente ou opte por seguir.",
   "about.domain_blocks.silenced.title": "Limitado",
diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json
index 2f76585f8..a49dca395 100644
--- a/app/javascript/mastodon/locales/ro.json
+++ b/app/javascript/mastodon/locales/ro.json
@@ -234,7 +234,7 @@
   "errors.unexpected_crash.copy_stacktrace": "Copiere stacktrace în clipboard",
   "errors.unexpected_crash.report_issue": "Raportează o problemă",
   "explore.search_results": "Search results",
-  "explore.suggested_follows": "For you",
+  "explore.suggested_follows": "Pentru tine",
   "explore.title": "Explore",
   "explore.trending_links": "News",
   "explore.trending_statuses": "Posts",
@@ -261,12 +261,12 @@
   "follow_request.authorize": "Acceptă",
   "follow_request.reject": "Respinge",
   "follow_requests.unlocked_explanation": "Chiar dacă contul tău nu este blocat, personalul {domain} a considerat că ai putea prefera să consulți manual cererile de abonare de la aceste conturi.",
-  "footer.about": "About",
+  "footer.about": "Despre",
   "footer.directory": "Profiles directory",
   "footer.get_app": "Get the app",
   "footer.invite": "Invite people",
   "footer.keyboard_shortcuts": "Keyboard shortcuts",
-  "footer.privacy_policy": "Privacy policy",
+  "footer.privacy_policy": "Politica de confidenţialitate",
   "footer.source_code": "View source code",
   "generic.saved": "Salvat",
   "getting_started.heading": "Primii pași",
@@ -364,7 +364,7 @@
   "mute_modal.duration": "Durata",
   "mute_modal.hide_notifications": "Ascunde notificările de la acest utilizator?",
   "mute_modal.indefinite": "Nedeterminat",
-  "navigation_bar.about": "About",
+  "navigation_bar.about": "Despre",
   "navigation_bar.blocks": "Utilizatori blocați",
   "navigation_bar.bookmarks": "Marcaje",
   "navigation_bar.community_timeline": "Cronologie locală",
@@ -463,7 +463,7 @@
   "relative_time.days": "{number}z",
   "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
   "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
-  "relative_time.full.just_now": "just now",
+  "relative_time.full.just_now": "chiar acum",
   "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
   "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
   "relative_time.hours": "{number}o",
@@ -479,9 +479,9 @@
   "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": "profil",
   "report.category.title_status": "post",
-  "report.close": "Done",
+  "report.close": "Gata",
   "report.comment.title": "Is there anything else you think we should know?",
   "report.forward": "Redirecționează către {target}",
   "report.forward_hint": "Acest cont este de pe un alt server. Trimitem o copie anonimă a raportului și acolo?",
@@ -489,11 +489,11 @@
   "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": "Comentarii adiționale",
-  "report.reasons.dislike": "I don't like it",
+  "report.reasons.dislike": "Nu-mi place",
   "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": "Este 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",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index d02fb0bec..a3c6c1900 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -49,7 +49,7 @@
   "account.mute": "Nevšímaj si @{name}",
   "account.mute_notifications": "Stĺm oboznámenia od @{name}",
   "account.muted": "Nevšímaný/á",
-  "account.open_original_page": "Open original page",
+  "account.open_original_page": "Otvor pôvodnú stránku",
   "account.posts": "Príspevky/ov",
   "account.posts_with_replies": "Príspevky a odpovede",
   "account.report": "Nahlás @{name}",
@@ -261,7 +261,7 @@
   "follow_request.authorize": "Povoľ prístup",
   "follow_request.reject": "Odmietni",
   "follow_requests.unlocked_explanation": "Síce Váš učet nie je uzamknutý, ale {domain} tím si myslel že môžete chcieť skontrolovať žiadosti o sledovanie z týchto účtov manuálne.",
-  "footer.about": "About",
+  "footer.about": "O",
   "footer.directory": "Profiles directory",
   "footer.get_app": "Get the app",
   "footer.invite": "Pozvi ľudí",
@@ -294,7 +294,7 @@
   "interaction_modal.on_this_server": "Na tomto serveri",
   "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
   "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
-  "interaction_modal.title.favourite": "Favourite {name}'s post",
+  "interaction_modal.title.favourite": "Obľúbiť si {name}ov/in príspevok",
   "interaction_modal.title.follow": "Nasleduj {name}",
   "interaction_modal.title.reblog": "Vyzdvihni {name}ov/in príspevok",
   "interaction_modal.title.reply": "Odpovedz na {name}ov/in príspevok",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index dd4fa8683..ef1554629 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -19,7 +19,7 @@
   "account.block_domain": "Blockera domänen {domain}",
   "account.blocked": "Blockerad",
   "account.browse_more_on_origin_server": "Läs mer på den ursprungliga profilen",
-  "account.cancel_follow_request": "Återkalla följförfrågan",
+  "account.cancel_follow_request": "Återkalla din begäran om att få följa",
   "account.direct": "Skicka direktmeddelande till @{name}",
   "account.disable_notifications": "Sluta notifiera mig när @{name} gör inlägg",
   "account.domain_blocked": "Domän blockerad",
@@ -40,25 +40,25 @@
   "account.go_to_profile": "Gå till profilen",
   "account.hide_reblogs": "Dölj boostar från @{name}",
   "account.joined_short": "Gick med",
-  "account.languages": "Ändra prenumererade språk",
+  "account.languages": "Ändra vilka språk du helst vill se i ditt flöde",
   "account.link_verified_on": "Ägarskap för denna länk kontrollerades den {date}",
   "account.locked_info": "För detta konto har ägaren valt att manuellt godkänna vem som kan följa dem.",
   "account.media": "Media",
   "account.mention": "Nämn @{name}",
   "account.moved_to": "{name} har indikerat att hen har ett nytt konto:",
   "account.mute": "Tysta @{name}",
-  "account.mute_notifications": "Stäng av notifieringar från @{name}",
+  "account.mute_notifications": "Stäng av notifikationer från @{name}",
   "account.muted": "Tystad",
   "account.open_original_page": "Öppna den ursprungliga sidan",
   "account.posts": "Inlägg",
   "account.posts_with_replies": "Inlägg och svar",
   "account.report": "Rapportera @{name}",
-  "account.requested": "Inväntar godkännande. Klicka för att avbryta följdförfrågan",
+  "account.requested": "Inväntar godkännande. Klicka för att ta tillbaka din begäran om att få följa",
   "account.share": "Dela @{name}s profil",
   "account.show_reblogs": "Visa boostar från @{name}",
   "account.statuses_counter": "{count, plural, one {{counter} Inlägg} other {{counter} Inlägg}}",
   "account.unblock": "Avblockera @{name}",
-  "account.unblock_domain": "Sluta dölja {domain}",
+  "account.unblock_domain": "Avblockera {domain}",
   "account.unblock_short": "Avblockera",
   "account.unendorse": "Visa inte på profil",
   "account.unfollow": "Sluta följ",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index d6d53d56c..83d9c86de 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -517,7 +517,7 @@
   "search.placeholder": "ค้นหา",
   "search.search_or_paste": "ค้นหาหรือวาง URL",
   "search_popout.search_format": "รูปแบบการค้นหาขั้นสูง",
-  "search_popout.tips.full_text": "ข้อความแบบง่ายส่งคืนโพสต์ที่คุณได้เขียน ชื่นชอบ ดัน หรือได้รับการกล่าวถึง ตลอดจนชื่อผู้ใช้, ชื่อที่แสดง และแฮชแท็กที่ตรงกัน",
+  "search_popout.tips.full_text": "ข้อความแบบง่ายส่งคืนโพสต์ที่คุณได้เขียน ชื่นชอบ ดัน หรือได้รับการกล่าวถึง เช่นเดียวกับชื่อผู้ใช้, ชื่อที่แสดง และแฮชแท็กที่ตรงกัน",
   "search_popout.tips.hashtag": "แฮชแท็ก",
   "search_popout.tips.status": "โพสต์",
   "search_popout.tips.text": "ข้อความแบบง่ายส่งคืนชื่อที่แสดง, ชื่อผู้ใช้ และแฮชแท็กที่ตรงกัน",
diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json
index 11847e1b2..42ac99757 100644
--- a/app/javascript/mastodon/locales/vi.json
+++ b/app/javascript/mastodon/locales/vi.json
@@ -263,7 +263,7 @@
   "follow_requests.unlocked_explanation": "Mặc dù tài khoản của bạn đang ở chế độ công khai, quản trị viên của {domain} vẫn tin rằng bạn sẽ muốn xem lại yêu cầu theo dõi từ những người khác.",
   "footer.about": "Giới thiệu",
   "footer.directory": "Cộng đồng",
-  "footer.get_app": "Tải ứng dụng",
+  "footer.get_app": "Ứng dụng",
   "footer.invite": "Mời bạn bè",
   "footer.keyboard_shortcuts": "Phím tắt",
   "footer.privacy_policy": "Chính sách bảo mật",
@@ -532,13 +532,13 @@
   "search_results.total": "{count, number} {count, plural, one {kết quả} other {kết quả}}",
   "server_banner.about_active_users": "Những người ở máy chủ này trong 30 ngày qua (MAU)",
   "server_banner.active_users": "người hoạt động",
-  "server_banner.administered_by": "Quản trị bởi:",
+  "server_banner.administered_by": "Vận hành:",
   "server_banner.introduction": "{domain} là một phần của mạng xã hội liên hợp {mastodon}.",
   "server_banner.learn_more": "Tìm hiểu",
   "server_banner.server_stats": "Thống kê:",
-  "sign_in_banner.create_account": "Tạo tài khoản",
+  "sign_in_banner.create_account": "Đăng ký",
   "sign_in_banner.sign_in": "Đăng nhập",
-  "sign_in_banner.text": "Đăng nhập để theo dõi hồ sơ hoặc hashtag; thích, chia sẻ và trả lời tút hoặc tương tác bằng tài khoản của bạn trên một máy chủ khác.",
+  "sign_in_banner.text": "Đăng nhập để theo dõi người hoặc hashtag; cũng như thích, chia sẻ và trả lời tút.",
   "status.admin_account": "Mở giao diện quản trị @{name}",
   "status.admin_status": "Mở tút này trong giao diện quản trị",
   "status.block": "Chặn @{name}",
diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb
index 21f782b9c..0174e0636 100644
--- a/config/initializers/content_security_policy.rb
+++ b/config/initializers/content_security_policy.rb
@@ -31,7 +31,7 @@ if Rails.env.production?
     p.base_uri        :none
     p.default_src     :none
     p.frame_ancestors :none
-    p.script_src      :self, assets_host
+    p.script_src      :self, assets_host, "'wasm-unsafe-eval'"
     p.font_src        :self, assets_host
     p.img_src         :self, :data, :blob, *data_hosts
     p.style_src       :self, assets_host
diff --git a/config/locales/activerecord.ms.yml b/config/locales/activerecord.ms.yml
index 2925688a0..c681e324b 100644
--- a/config/locales/activerecord.ms.yml
+++ b/config/locales/activerecord.ms.yml
@@ -1 +1,36 @@
+---
 ms:
+  activerecord:
+    attributes:
+      poll:
+        expires_at: Tarikh akhir
+        options: Pilihan
+      user:
+        agreement: Perjanjian perkhidmatan
+        email: Alamat e-mel
+        locale: Tempatan
+        password: Kata laluan
+      user/account:
+        username: Nama pengguna
+      user/invite_request:
+        text: Sebab
+    errors:
+      models:
+        account:
+          attributes:
+            username:
+              invalid: hanya mengandungi aksara, nombor dan garis bawah sahaja
+              reserved: dikhaskan
+        admin/webhook:
+          attributes:
+            url:
+              invalid: bukan merupakan URL yang sah
+        doorkeeper/application:
+          attributes:
+            website:
+              invalid: bukan merupakan URL yang sah
+        user:
+          attributes:
+            email:
+              blocked: menggunakan pembekal e-mel yang tidak dibenarkan
+              unreachable: nampaknya tidak wujud
diff --git a/config/locales/ast.yml b/config/locales/ast.yml
index acbdeb655..b93ca11f7 100644
--- a/config/locales/ast.yml
+++ b/config/locales/ast.yml
@@ -325,6 +325,7 @@ ast:
     browser: Restolador
     browsers:
       alipay: Alipay
+      blackberry: BlackBerry
       chrome: Chrome
       edge: Microsoft Edge
       electron: Electron
@@ -335,6 +336,7 @@ ast:
       opera: Opera
       otter: Otter
       phantom_js: PhantomJS
+      uc_browser: UC Browser
       weibo: Weibo
     current_session: Sesión actual
     description: "%{browser} en %{platform}"
@@ -342,6 +344,8 @@ ast:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      blackberry: BlackBerry
+      chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
       linux: GNU/Linux
diff --git a/config/locales/ca.yml b/config/locales/ca.yml
index 1652ab8ee..851ff030e 100644
--- a/config/locales/ca.yml
+++ b/config/locales/ca.yml
@@ -191,7 +191,7 @@ ca:
         destroy_email_domain_block: Esborra el bloqueig de domini de l'adreça de correu
         destroy_instance: Purga Domini
         destroy_ip_block: Eliminar regla IP
-        destroy_status: Esborrar la publicació
+        destroy_status: Esborra el tut
         destroy_unavailable_domain: Esborra domini no disponible
         destroy_user_role: Destrueix Rol
         disable_2fa_user: Desactiva 2FA
@@ -250,7 +250,7 @@ ca:
         destroy_email_domain_block_html: "%{name} ha desbloquejat el domini de correu electrònic %{target}"
         destroy_instance_html: "%{name} ha purgat el domini %{target}"
         destroy_ip_block_html: "%{name} ha esborrat la regla per a l'IP %{target}"
-        destroy_status_html: "%{name} ha eliminat la publicació de %{target}"
+        destroy_status_html: "%{name} ha eliminat el tut de %{target}"
         destroy_unavailable_domain_html: "%{name} ha représ el lliurament delivery al domini %{target}"
         destroy_user_role_html: "%{name} ha esborrat el rol %{target}"
         disable_2fa_user_html: "%{name} ha desactivat el requisit de dos factors per a l'usuari %{target}"
@@ -396,7 +396,7 @@ ca:
       private_comment: Comentari privat
       private_comment_hint: Comentari sobre aquesta limitació del domini per a ús intern dels moderadors.
       public_comment: Comentari públic
-      public_comment_hint: Comentari pel públic general sobre aquesta limitació del domini, si la publicació de la llista de limitacions de domini està habilitada.
+      public_comment_hint: Comentari sobre la limitació de domini per al públic en general, si la visibilitat de la llista de limitacions de domini està activada.
       reject_media: Rebutja els fitxers multimèdia
       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
@@ -724,10 +724,10 @@ ca:
         title: Contingut multimèdia
       metadata: Metadada
       no_status_selected: No s’han canviat els estatus perquè cap no ha estat seleccionat
-      open: Obrir publicació
-      original_status: Publicació original
+      open: Obrir tut
+      original_status: Tut original
       reblogs: Impulsos
-      status_changed: Publicació canviada
+      status_changed: El tut ha canviat
       title: Estats del compte
       trending: Tendència
       visibility: Visibilitat
@@ -787,10 +787,10 @@ ca:
         title: Mitjans
       rejected: Rebutjat
       statuses:
-        allow: Permet publicació
+        allow: Permet tut
         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ó
+        description_html: Aquests són tuts 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 tut es mostra públicament fins que no aprovis l'autor i l'autor permeti que el seu compte sigui suggerit a altres. També pots acceptar o rebutjar tuts individualment.
+        disallow: Rebutja tut
         disallow_account: Rebutja autor
         no_status_selected: No s'han canviat les publicacions en tendència perquè cap ha estat seleccionada
         not_discoverable: L'autor no ha activat poder ser detectable
@@ -898,14 +898,14 @@ ca:
       guide_link: https://crowdin.com/project/mastodon
       guide_link_text: Tothom hi pot contribuir.
     sensitive_content: Contingut sensible
-    toot_layout: Disseny de la publicació
+    toot_layout: Disseny del tut
   application_mailer:
     notification_preferences: Canvia les preferències de correu
     salutation: "%{name},"
     settings: 'Canvia les preferències de correu: %{link}'
     view: 'Visualització:'
     view_profile: Mostra el perfil
-    view_status: Mostra la publicació
+    view_status: Mostra el tut
   applications:
     created: L'aplicació s'ha creat correctament
     destroyed: L'aplicació s'ha suprimit correctament
@@ -1035,11 +1035,11 @@ ca:
       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
       reject_appeal: Rebutja l'apel·lació
-      status: 'Publicació #%{id}'
-      status_removed: Publicació ja esborrada del sistema
+      status: 'Tut #%{id}'
+      status_removed: Tut ja esborrat del sistema
       title: "%{action} del %{date}"
       title_actions:
-        delete_statuses: Eliminació de publicació
+        delete_statuses: Eliminació del tut
         disable: Congelació del compte
         mark_statuses_as_sensitive: Marcatge de les publicacions com a sensibles
         none: Avís
@@ -1116,7 +1116,7 @@ ca:
         other: "%{count} paraules clau"
       statuses:
         one: "%{count} publicació"
-        other: "%{count} publicacions"
+        other: "%{count} tuts"
       statuses_long:
         one: "%{count} publicació individual ocultada"
         other: "%{count} publicacions individuals ocultades"
@@ -1329,7 +1329,7 @@ ca:
       too_many_options: no pot contenir més de %{max} opcions
   preferences:
     other: Altre
-    posting_defaults: Valors predeterminats de publicació
+    posting_defaults: Valors predeterminats del tut
     public_timelines: Línies de temps públiques
   privacy_policy:
     title: Política de Privacitat
@@ -1362,7 +1362,7 @@ ca:
   rss:
     content_warning: 'Avís de contingut:'
     descriptions:
-      account: Publicacions des de @%{acct}
+      account: Tuts des de @%{acct}
       tag: 'Publicacions etiquetades #%{hashtag}'
   scheduled_statuses:
     over_daily_limit: Has superat el límit de %{limit} publicacions programades per a avui
@@ -1453,13 +1453,13 @@ ca:
       other: 'conté les etiquetes no permeses: %{tags}'
     edited_at_html: Editat %{date}
     errors:
-      in_reply_not_found: La publicació a la qual intentes respondre sembla que no existeix.
+      in_reply_not_found: El tut al qual intentes respondre sembla que no existeix.
     open_in_web: Obre en la web
     over_character_limit: Límit de caràcters de %{max} superat
     pin_errors:
       direct: Les publicacions que només son visibles per els usuaris mencionats no poden ser fixades
       limit: Ja has fixat el màxim nombre de publicacions
-      ownership: No es pot fixar la publicació d'algú altre
+      ownership: No es pot fixar el tut d'algú altre
       reblog: No es pot fixar un impuls
     poll:
       total_people:
@@ -1519,7 +1519,7 @@ ca:
     min_reblogs: Mantenir les publicacions impulsades més de
     min_reblogs_hint: No suprimeix cap de les teves publicacions que s'hagin impulsat més que aquest número de vegades. Deixa-ho en blanc per suprimir les publicacions independentment del nombre d'impulsos que tinguin
   stream_entries:
-    pinned: Publicació fixada
+    pinned: Tut fixat
     reblogged: ha impulsat
     sensitive_content: Contingut sensible
   strikes:
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index 91ef6a172..4939adba1 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -5,6 +5,7 @@ cy:
     contact_missing: Heb ei osod
     contact_unavailable: Ddim yn berthnasol
     hosted_on: Mastodon wedi ei weinyddu ar %{domain}
+    title: Ynghylch
   accounts:
     follow: Dilynwch
     followers:
@@ -45,11 +46,17 @@ cy:
       avatar: Afatar
       by_domain: Parth
       change_email:
+        changed_msg: E-bost wedi newid yn llwyddiannus!
         current_email: E-bost Cyfredol
         label: Newid E-bost
         new_email: E-bost Newydd
         submit: Newid E-bost
         title: Newid E-bost i %{username}
+      change_role:
+        changed_msg: Rôl wedi ei newid yn llwyddiannus!
+        label: Newid rôl
+        no_role: Dim rôl
+        title: Newid rôl %{username}
       confirm: Cadarnhau
       confirmed: Cadarnhawyd
       confirming: Cadarnhau
@@ -93,6 +100,7 @@ cy:
         active: Yn weithredol
         all: Popeth
         pending: Yn aros
+        silenced: Cyfyngedig
         suspended: Wedi ei atal
         title: Goruwchwyliad
       moderation_notes: Nodiadau goruwchwylio
@@ -100,10 +108,18 @@ cy:
       most_recent_ip: IP diweddaraf
       no_account_selected: Ni newidwyd dim cyfrif achos ni ddewiswyd dim un
       no_limits_imposed: Dim terfynau wedi'i gosod
+      no_role_assigned: Dim rôl wedi'i neilltuo
       not_subscribed: Heb danysgrifio
       pending: Yn aros am adolygiad
       perform_full_suspension: Atal
       previous_strikes: Rhybuddion blaenorol
+      previous_strikes_description_html:
+        few: Mae gan y cyfrif hwn <strong>%{count}</strong> rybudd.
+        many: Mae gan y cyfrif hwn <strong>%{count}</strong> rybudd.
+        one: Mae gan y cyfrif hwn <strong>un</strong> rhybudd.
+        other: Mae gan y cyfrif hwn <strong>%{count}</strong> rhybudd.
+        two: Mae gan y cyfrif hwn <strong>%{count}</strong> rybudd.
+        zero: Mae gan y cyfrif hwn <strong>%{count}</strong> rybudd.
       promote: Hyrwyddo
       protocol: Protocol
       public: Cyhoeddus
@@ -114,6 +130,8 @@ cy:
       rejected_msg: Wedi gwrthod cais cofrestru %{username}
       remove_avatar: Dileu afatar
       remove_header: Dileu pennawd
+      removed_avatar_msg: Llwyddwyd i ddileu delwedd afatar %{username}
+      removed_header_msg: Llwyddwyd i ddileu delwedd pennyn %{username}
       resend_confirmation:
         already_confirmed: Mae'r defnyddiwr hwn wedi ei gadarnhau yn barod
         send: Ailanfonwch e-bost cadarnhad
@@ -125,6 +143,11 @@ cy:
       search: Chwilio
       search_same_email_domain: Defnyddwyr eraill gyda'r un parth ebost
       search_same_ip: Defnyddwyr eraill gyda'r un IP
+      security_measures:
+        only_password: Cyfrinair yn unig
+        password_and_2fa: Cyfrinair a 2FA
+      sensitive: Grym-sensitif
+      sensitized: Wedi'i farcio fel sensitif
       shared_inbox_url: URL Mewnflwch wedi ei rannu
       show:
         created_reports: Adroddiadau a wnaed
@@ -132,58 +155,147 @@ cy:
       silence: Tawelu
       silenced: Tawelwyd
       statuses: Statysau
+      strikes: Streiciau blaenorol
       subscribe: Tanysgrifio
       suspend: Atal
       suspended: Ataliwyd
+      suspension_irreversible: Mae data'r cyfrif hwn wedi'i ddileu'n ddiwrthdro. Gallwch ddad-atal y cyfrif i'w wneud yn ddefnyddiadwy ond ni fydd yn adennill unrhyw ddata a oedd ganddo o'r blaen.
+      suspension_reversible_hint_html: Mae'r cyfrif wedi'i atal, a bydd y data'n cael ei ddileu yn llawn ar %{date}. Tan hynny, gellir adfer y cyfrif heb unrhyw effeithiau gwael. Os dymunwch gael gwared ar holl ddata'r cyfrif ar unwaith, gallwch wneud hynny isod.
       title: Cyfrifon
+      unblock_email: Dadflocio cyfeiriad e-bost
+      unblocked_email_msg: Llwyddwyd i ddadflocio cyfeiriad e-bost %{username}
       unconfirmed_email: E-bost heb ei gadarnhau
+      undo_sensitized: Dadwneud grym-sensitif
       undo_silenced: Dadwneud tawelu
       undo_suspension: Dadwneud ataliad
+      unsilenced_msg: Wedi llwyddo i ddadwneud terfyn cyfrif %{username}
       unsubscribe: Dad-danysgrifio
+      unsuspended_msg: Llwyddwyd i ddad-atal cyfrif %{username}
       username: Enw defnyddiwr
+      view_domain: Gweld crynodeb ar gyfer parth
       warn: Rhybuddio
       web: Gwe
       whitelisted: Rhestredig wen
     action_logs:
       action_types:
+        approve_appeal: Cymeradwyo'r Apêl
+        approve_user: Cymeradwyo Defnyddiwr
         assigned_to_self_report: Neilltuo Adroddiad
         change_email_user: Newid Ebost ar gyfer Defnyddiwr
+        change_role_user: Newid Rôl y Defnyddiwr
         confirm_user: Cadarnhau Defnyddiwr
         create_account_warning: Creu Rhybydd
         create_announcement: Creu Cyhoeddiad
+        create_canonical_email_block: Creu Bloc E-bost
         create_custom_emoji: Creu Emoji Addasiedig
         create_domain_allow: Creu Alluogiad Parth
         create_domain_block: Creu Gwaharddiad Parth
         create_email_domain_block: Creu Gwaharddiad Parth Ebost
+        create_ip_block: Creu rheol IP
+        create_unavailable_domain: Creu Parth Ddim ar Gael
+        create_user_role: Creu Rôl
         demote_user: Diraddio Defnyddiwr
         destroy_announcement: Dileu Cyhoeddiad
+        destroy_canonical_email_block: Dileu Bloc E-bost
         destroy_custom_emoji: Dileu Emoji Addasiedig
         destroy_domain_allow: Dileu Alluogiad Parth
         destroy_domain_block: Dileu Gwaharddiad Parth
         destroy_email_domain_block: Dileu gwaharddiad parth ebost
+        destroy_instance: Clirio Parth
         destroy_ip_block: Dileu rheol IP
         destroy_status: Dileu Statws
+        destroy_unavailable_domain: Dileu Parth Ddim ar Gael
+        destroy_user_role: Dinistrio Rôl
         disable_2fa_user: Diffodd 2FA
         disable_custom_emoji: Analluogi Emoji Addasiedig
+        disable_sign_in_token_auth_user: Analluogi Dilysu Tocyn E-bost ar gyfer Defnyddiwr
         disable_user: Analluogi Defnyddiwr
         enable_custom_emoji: Alluogi Emoji Addasiedig
+        enable_sign_in_token_auth_user: Galluogi Dilysu Tocyn E-bost ar gyfer Defnyddiwr
         enable_user: Alluogi Defnyddiwr
         memorialize_account: Cofadeilio Cyfrif
         promote_user: Dyrchafu Defnyddiwr
+        reject_appeal: Gwrthod Apêl
+        reject_user: Gwrthod Defnyddiwr
         remove_avatar_user: Tynnu Afatar
         reopen_report: Ailagor Adroddiad
+        resend_user: Ail-anfon E-bost Cadarnhad
         reset_password_user: Ailosod Cyfrinair
         resolve_report: Datrus Adroddiad
+        sensitive_account: Cyfrif Grym-Sensitif
         silence_account: Tawelu Cyfrif
         suspend_account: Gwahardd Cyfrif Dros Dro
         unassigned_report: Dadneilltuo Adroddiad
+        unblock_email_account: Dadflocio cyfeiriad e-bost
+        unsensitive_account: Dadwneud Cyfrif Grym-Sensitif
         unsilence_account: Dadawelu Cyfrif
         unsuspend_account: Tynnu Gwahardd Cyfrif Dros Dro
         update_announcement: Diweddaru Cyhoeddiad
         update_custom_emoji: Diweddaru Emoji Addasiedig
+        update_domain_block: Diweddaru'r Blocio Parth
+        update_ip_block: Diweddaru rheol IP
         update_status: Diweddaru Statws
+        update_user_role: Diweddaru Rôl
       actions:
-        memorialize_account_html: Newidodd %{name} gyfrif %{target} i dudalen goffa
+        approve_appeal_html: Mae %{name} wedi cymeradwyo penderfyniad cymedroli gan %{target}
+        approve_user_html: Mae %{name} wedi cymeradwyo cofrestru gan %{target}
+        assigned_to_self_report_html: Mae %{name} wedi aseinio adroddiad %{target} iddyn nhw eu hunain
+        change_email_user_html: Mae %{name} wedi newid cyfeiriad e-bost defnyddiwr %{target}
+        change_role_user_html: Mae %{name} wedi newid rôl %{target}
+        confirm_user_html: Mae %{name}  wedi cadarnhau cyfeiriad e-bost defnyddiwr %{target}
+        create_account_warning_html: Anfonodd %{name} rybudd at %{target}
+        create_announcement_html: Mae %{name} wedi creu cyhoeddiad newydd %{target}
+        create_canonical_email_block_html: Mae %{name} wedi rhwystro e-bost gyda'r hash %{target}
+        create_custom_emoji_html: "%{name} wedi llwytho emoji newydd %{target}"
+        create_domain_allow_html: Mae %{name} wedi caniatáu ffedereiddio â pharth %{target}
+        create_domain_block_html: Mae %{name} wedi rhwystro parth %{target}
+        create_email_domain_block_html: Mae %{name}  wedi rhwystro parth e-bost %{target}
+        create_ip_block_html: Mae %{name} wedi creu rheol ar gyfer IP %{target}
+        create_unavailable_domain_html: Mae %{name} wedi stopio danfon i barth %{target}
+        create_user_role_html: Mae %{name} wedi creu rôl %{target}
+        demote_user_html: Mae %{name} wedi israddio defnyddiwr %{target}
+        destroy_announcement_html: Mae %{name} wedi dileu cyhoeddiad %{target}
+        destroy_canonical_email_block_html: Mae %{name} wedi dadrwystro e-bost gyda'r hash %{target}
+        destroy_custom_emoji_html: Mae %{name} wedi dileu emoji %{target}
+        destroy_domain_allow_html: Mae %{name} wedi gwrthod ffederasiwn gyda pharth %{target}
+        destroy_domain_block_html: Mae %{name} wedi dadrwystro parth %{target}
+        destroy_email_domain_block_html: Mae %{name} wedi dadrwystro parth e-bost %{target}
+        destroy_instance_html: Mae %{name} clirio parth %{target}
+        destroy_ip_block_html: Mae %{name} dileu rheol ar gyfer IP %{target}
+        destroy_status_html: Mae %{name} wedi tynnu postiad gan %{target}
+        destroy_unavailable_domain_html: Mae %{name} wedi ailddechrau anfon i barth %{target}
+        destroy_user_role_html: Mae %{name} wedi dileu rôl %{target}
+        disable_2fa_user_html: Mae %{name} wedi analluogi gofyniad dau ffactor ar gyfer defnyddiwr %{target}
+        disable_custom_emoji_html: Mae %{name} wedi analluogi emoji %{target}
+        disable_sign_in_token_auth_user_html: Mae %{name} wedi analluogi dilysiad tocyn e-bost ar gyfer %{target}
+        disable_user_html: Mae %{name} wedi analluogi mewngofnodi defnyddiwr %{target}
+        enable_custom_emoji_html: Mae %{name} wedi analluogi emoji %{target}
+        enable_sign_in_token_auth_user_html: Mae %{name} wedi galluogi dilysu tocyn e-bost %{target}
+        enable_user_html: Mae %{name} wedi galluogi mewngofnodi defnyddiwr %{target}
+        memorialize_account_html: Newidiodd %{name} gyfrif %{target} i dudalen memoriam
+        promote_user_html: Mae %{name} wedi hyrwyddo defnyddiwr %{target}
+        reject_appeal_html: Mae %{name} wedi gwrthod apêl penderfyniad cymedroli %{target}
+        reject_user_html: Mae %{name} wedi gwrthod cofrestriad gan %{target}
+        remove_avatar_user_html: Mae %{name} wedi tynnu afatar %{target}
+        reopen_report_html: Mae %{name} wedi ailagor adroddiad %{target}
+        resend_user_html: Mae %{name} wedi ail- anfon e-bost cadarnhau %{target}
+        reset_password_user_html: Mae %{name} wedi ailosod cyfrinair defnyddiwr %{target}
+        resolve_report_html: Mae %{name} wedi datrys adroddiad %{target}
+        sensitive_account_html: Mae %{name} wedi marcio cyfrwng %{target} fel un sensitif
+        silence_account_html: Mae %{name} wedi cyfyngu cyfrif %{target}
+        suspend_account_html: Mae %{name} wedi atal cyfrif %{target}
+        unassigned_report_html: Mae %{name} wedi dadaseinio adroddiad %{target}
+        unblock_email_account_html: Mae %{name} wedi dad rwystro cyfeiriad e-bost %{target}
+        unsensitive_account_html: Mae %{name} wedi dad farcio cyfryngau %{target} fel rhai sensitif
+        unsilence_account_html: Mae %{name} wedi dadwneud terfyn cyfrif %{target}
+        unsuspend_account_html: Mae %{name} wedi dad atal cyfrif %{target}
+        update_announcement_html: Mae %{name} wedi diweddaru cyhoeddiad %{target}
+        update_custom_emoji_html: Mae %{name} wedi diweddaru emoji %{target}
+        update_domain_block_html: Mae %{name} wedi diweddaru bloc parth %{target}
+        update_ip_block_html: Mae %{name} wedi newid rheol IP %{target}
+        update_status_html: Mae %{name} wedi diweddaru postiad gan %{target}
+        update_user_role_html: Mae %{name} wedi newid rôl %{target}
+      deleted_account: cyfrif wedi'i ddileu
       empty: Dim logiau ar gael.
       filter_by_action: Hidlo wrth weithred
       filter_by_user: Hidlo wrth ddefnyddiwr
@@ -197,10 +309,12 @@ cy:
       new:
         create: Creu cyhoeddiad
         title: Cyhoeddiad newydd
+      publish: Cyhoeddi
       published_msg: Cyhoeddiad wedi'i gyhoeddi'n llwyddianus!
       scheduled_for: Wedi'i amserlenni ar gyfer %{time}
       scheduled_msg: Cyhoeddiad wedi'i amserlenni ar gyfer cyhoeddiad!
       title: Cyhoeddiadau
+      unpublish: Dadgyhoeddi
       unpublished_msg: Cyhoeddiad wedi'i angyhoeddi'n llwyddianus!
       updated_msg: Cyhoeddiad wedi'i ddiweddaru yn llwyddianus!
     custom_emojis:
@@ -209,6 +323,7 @@ cy:
       copied_msg: Llwyddwyd i greu copi lleol o'r emoji
       copy: Copïo
       copy_failed_msg: Methwyd i greu copi lleol o'r emoji hwnnw
+      create_new_category: Creu categori newydd
       created_msg: Llwyddwyd i greu emoji!
       delete: Dileu
       destroyed_msg: Llwyddwyd i ddinistrio emojo!
@@ -218,10 +333,12 @@ cy:
       enable: Galluogi
       enabled: Wedi ei alluogi
       enabled_msg: Llwyddwyd i alluogi yr emoji hwnnw
+      image_hint: PNG neu GIF hyd at %{size}
       list: Rhestr
       listed: Rhestredig
       new:
         title: Ychwanegu emoji personol newydd
+      no_emoji_selected: Heb newid unrhyw emojis gan na chafodd yr un ei ddewis
       not_permitted: Nid oes gennych caniatâd i gyflawni'r weithred hon
       overwrite: Trosysgrifio
       shortcode: Byrgod
@@ -234,9 +351,51 @@ cy:
       updated_msg: Llwyddwyd i ddiweddaru'r emoji!
       upload: Uwchlwytho
     dashboard:
+      active_users: defnyddwyr gweithredol
+      interactions: rhyngweithiadau
+      media_storage: Storio cyfryngau
+      new_users: defnyddwyr newydd
+      opened_reports: adroddiadau wedi'u hagor
+      pending_appeals_html:
+        few: "<strong>%{count}</strong> apêl yn aros"
+        many: "<strong>%{count}</strong> apêl yn aros"
+        one: "<strong>%{count}</strong> apêl yn aros"
+        other: "<strong>%{count}</strong> apêl yn aros"
+        two: "<strong>%{count}</strong> apêl yn aros"
+        zero: "<strong>%{count}</strong> apêl yn aros"
+      pending_reports_html:
+        few: "<strong>%{count}</strong> adroddiad yn aros"
+        many: "<strong>%{count}</strong> adroddiad yn aros"
+        one: "<strong>%{count}</strong> adroddiad yn aros"
+        other: "<strong>%{count}</strong> adroddiad yn aros"
+        two: "<strong>%{count}</strong> adroddiad yn aros"
+        zero: "<strong>%{count}</strong> adroddiad yn aros"
+      pending_tags_html:
+        few: "<strong>%{count}</strong> hashnod yn aros"
+        many: "<strong>%{count}</strong> hashnod yn aros"
+        one: hashnod ar y gweill <strong>%{count}</strong>
+        other: "<strong>%{count}</strong> hashnod yn aros"
+        two: "<strong>%{count}</strong> hashnod yn aros"
+        zero: "<strong>%{count}</strong> hashnodau ar y gweill"
+      pending_users_html:
+        few: "<strong>%{count}</strong> defnyddiwr yn aros"
+        many: "<strong>%{count}</strong> defnyddiwr yn aros"
+        one: "<strong>%{count}</strong> defnyddiwr yn aros"
+        other: "<strong>%{count}</strong> defnyddiwr yn aros"
+        two: "<strong>%{count}</strong> defnyddiwr yn aros"
+        zero: "<strong>%{count}</strong> defnyddiwr yn aros"
+      resolved_reports: adroddiadau wedi'u datrys
       software: Meddalwedd
+      sources: Ffynonellau cofrestru
       space: Defnydd o ofod
       title: Dangosfwrdd
+      top_languages: Prif ieithoedd gweithredol
+      top_servers: Prif weinyddion gweithredol
+      website: Gwefan
+    disputes:
+      appeals:
+        empty: Heb ganfod unrhyw apeliadau.
+        title: Apeliadau
     domain_allows:
       add_new: Rhestrwch parth
       created_msg: Rhestrwyd wen parth yn llwyddiannus
@@ -248,6 +407,7 @@ cy:
       destroyed_msg: Mae'r bloc parth wedi ei ddadwneud
       domain: Parth
       edit: Golygu bloc parth
+      existing_domain_block: Rydych chi eisoes wedi gosod terfynau llymach ar %{name}.
       existing_domain_block_html: Rydych yn barod wedi gosod cyfyngau fwy llym ar %{name}, mae rhaid i chi ei <a href="%{unblock_url}">ddadblocio</a> yn gyntaf.
       new:
         create: Creu bloc
@@ -258,6 +418,8 @@ cy:
           silence: Tawelwch
           suspend: Atal
         title: Blocio parth newydd
+      obfuscate: Cuddio enw parth
+      obfuscate_hint: Cuddio'r enw parth yn y rhestr yn rhannol os yw hysbysebu'r rhestr o gyfyngiadau parth wedi'i alluogi
       private_comment: Sylw preifat
       private_comment_hint: Sylw am gyfyngiadau y barth ar gyfer defnydd mewnol gan y cymedrolwyr.
       public_comment: Sylw cyhoeddus
@@ -270,6 +432,13 @@ cy:
       view: Gweld bloc parth
     email_domain_blocks:
       add_new: Ychwanegu
+      attempts_over_week:
+        few: "%{count} ymgais i gofrestru dros yr wythnos ddiwethaf"
+        many: "%{count} ymgais i gofrestru dros yr wythnos ddiwethaf"
+        one: "%{count} ymgais dros yr wythnos ddiwethaf"
+        other: "%{count} ymgais i gofrestru dros yr wythnos ddiwethaf"
+        two: "%{count} ymgais i gofrestru dros yr wythnos ddiwethaf"
+        zero: "%{count} ymgais i gofrestru dros yr wythnos ddiwethaf"
       created_msg: Llwyddwyd i ychwanegu parth e-bost i'r gosbrestr
       delete: Dileu
       dns:
@@ -278,25 +447,99 @@ cy:
       domain: Parth
       new:
         create: Ychwanegu parth
+        resolve: Datrys parth
         title: Cofnod newydd yng nghosbrestr e-byst
+      no_email_domain_block_selected: Heb newid unrhyw flociau parth e-bost gan nad oes un wedi'i ddewis
+      resolved_dns_records_hint_html: Mae'r enw parth yn cyd-fynd â'r parthau MX canlynol, sy'n gyfrifol yn y pen draw am dderbyn e-bost. Bydd rhwystro parth MX yn rhwystro cofrestriadau o unrhyw gyfeiriad e-bost sy'n defnyddio'r un parth MX, hyd yn oed os yw'r enw parth gweladwy yn wahanol. <strong>Byddwch yn ofalus i beidio â rhwystro darparwyr e-bost mawr.</strong>
+      resolved_through_html: Wedi'i ddatrys trwy %{domain}
       title: Cosbrestr e-bost
+    follow_recommendations:
+      description_html: "<strong>Mae dilyn yr argymhellion yn helpu i ddefnyddwyr newydd ddod o hyd i gynnwys diddorol yn gyflym</strong>. Pan nad yw defnyddiwr wedi rhyngweithio digon ag eraill i ffurfio argymhellion dilyn personol, argymhellir y cyfrifon hyn yn lle hynny. Cânt eu hailgyfrifo'n ddyddiol o gymysgedd o gyfrifon gyda'r ymgysylltiadau diweddar uchaf a'r cyfrif dilynwyr lleol uchaf ar gyfer iaith benodol."
+      language: Ar gyfer iaith
+      status: Statws
+      suppress: Atal dilyn argymhelliad
+      suppressed: Ataliedig
+      title: Dilynwch yr argymhellion
+      unsuppress: Adfer dilyn argymhelliad
     instances:
+      availability:
+        description_html:
+          few: Os bydd anfon i'r parth yn methu ar <strong>%{count} o ddiwrnodau gwahanol</strong> heb lwyddo, ni fydd unrhyw ymdrechion dosbarthu pellach yn cael eu gwneud oni bai y bydd danfoniad yn cael ei dderbyn <em>o'r</em> parth.
+          many: Os bydd anfon i'r parth yn methu ar <strong>%{count} o ddiwrnodau gwahanol</strong> heb lwyddo, ni fydd unrhyw ymdrechion dosbarthu pellach yn cael eu gwneud oni bai y bydd danfoniad yn cael ei dderbyn <em>o'r</em> parth.
+          one: Os bydd anfon i'r parth yn methu <strong>%{count} diwrnod</strong> heb lwyddo, ni fydd unrhyw ymdrechion danfon pellach yn cael eu gwneud oni bai y bydd danfoniad yn cael ei dderbyn <em>o'r</em> parth.
+          other: Os bydd anfon i'r parth yn methu ar <strong>%{count} o ddiwrnodau gwahanol</strong> heb lwyddo, ni fydd unrhyw ymdrechion dosbarthu pellach yn cael eu gwneud oni bai y bydd danfoniad yn cael ei dderbyn <em>o'r</em> parth.
+          two: Os bydd anfon i'r parth yn methu ar <strong>%{count} o ddiwrnodau gwahanol</strong> heb lwyddo, ni fydd unrhyw ymdrechion dosbarthu pellach yn cael eu gwneud oni bai y bydd danfoniad yn cael ei dderbyn <em>o'r</em> parth.
+          zero: Os bydd anfon i'r parth yn methu ar <strong>%{count} o ddiwrnodau gwahanol</strong> heb lwyddo, ni fydd unrhyw ymdrechion dosbarthu pellach yn cael eu gwneud oni bai y bydd danfoniad yn cael ei dderbyn <em>o'r</em> parth.
+        failure_threshold_reached: Trothwy methiant wedi'i gyrraedd ar %{date}.
+        failures_recorded:
+          few: Ymdrechion wedi methu ar %{count} diwrnod gwahanol.
+          many: Ymdrechion wedi methu ar %{count} diwrnod gwahanol.
+          one: Ymdrechion wedi methu ar %{count} diwrnod.
+          other: Ymdrechion wedi methu ar %{count} diwrnod gwahanol.
+          two: Ymdrechion wedi methu ar %{count} diwrnod gwahanol.
+          zero: Ymdrechion wedi methu ar %{count} diwrnod gwahanol.
+        no_failures_recorded: Dim methiannau wedi'u cofnodi
+        title: Argaeledd
+        warning: Bu'r ymgais olaf i gysylltu â'r gweinydd hwn yn aflwyddiannus
       back_to_all: Popeth
+      back_to_limited: Cyfyngedig
       back_to_warning: Rhybudd
       by_domain: Parth
+      confirm_purge: Ydych chi'n siŵr eich bod am ddileu data o'r parth hwn yn barhaol?
+      content_policies:
+        comment: Nodyn mewnol
+        description_html: Gallwch ddiffinio polisïau cynnwys a fydd yn cael eu cymhwyso i bob cyfrif o'r parth hwn ac unrhyw un o'i is-barthau.
+        policies:
+          reject_media: Gwrthod cyfryngau
+          reject_reports: Gwrthod adroddiadau
+          silence: Terfyn
+          suspend: Atal
+        policy: Polisi
+        reason: Rheswm cyhoeddus
+        title: Polisïau cynnwys
+      dashboard:
+        instance_accounts_dimension: Cyfrifon mwyaf poblogaidd
+        instance_accounts_measure: cyfrifon wedi'u storio
+        instance_followers_measure: ein dilynwyr yno
+        instance_follows_measure: eu dilynwyr yma
+        instance_languages_dimension: Prif ieithoedd
+        instance_media_attachments_measure: atodiadau cyfryngau wedi'u storio
+        instance_reports_measure: adroddiadau amdanyn nhw
+        instance_statuses_measure: postiadau wedi'u storio
+      delivery:
+        all: Y Cyfan
+        clear: Clirio gwallau anfon
+        failing: Yn methu
+        restart: Ailgychwyn anfon
+        stop: Atal anfon
+        unavailable: Ddim ar gael
       delivery_available: Mae'r cyflenwad ar gael
+      delivery_error_days: Dyddiau gwall anfon
+      delivery_error_hint: Os nad yw'n bosibl danfon am %{count} diwrnod, caiff ei nodi'n awtomatig fel un nad oes modd ei anfon.
+      destroyed_msg: Mae data o %{domain} bellach mewn ciw i'w ddileu'n syth.
+      empty: Heb ganfod parthau.
+      known_accounts:
+        few: "%{count} cyfrif hysbys"
+        many: "%{count} cyfrif hysbys"
+        one: "%{count} cyfrif hysbys"
+        other: "%{count} cyfrif hysbys"
+        two: "%{count} cyfrif hysbys"
+        zero: "%{count} cyfrif hysbys"
       moderation:
         all: Pob
         limited: Gyfyngedig
         title: Goruwchwyliad
       private_comment: Sylw preifat
       public_comment: Sylw cyhoeddus
+      purge: Clirio
+      purge_description_html: Os ydych chi'n credu bod y parth hwn all-lein am byth, gallwch ddileu'r holl gofnodion cyfrif a data cysylltiedig o'r parth hwn o'ch storfa. Gall hyn gymryd peth amser.
       title: Ffederasiwn
       total_blocked_by_us: Wedi'i bloc gan ni
       total_followed_by_them: Yn dilyn ganynt
       total_followed_by_us: Yn dilyn ganom ni
       total_reported: Adroddiadau amdanynt
       total_storage: Atodiadau cyfryngau
+      totals_time_period_hint_html: Mae'r cyfansymiau sy'n cael eu dangos isod yn cynnwys data am y cyfnod cyfan.
     invites:
       deactivate_all: Diffodd pob un
       filter:
@@ -305,6 +548,21 @@ cy:
         expired: Wedi dod i ben
         title: Hidlo
       title: Gwahoddiadau
+    ip_blocks:
+      add_new: Creu rheol
+      created_msg: Wedi ychwanegu rheol IP newydd yn llwyddiannus
+      delete: Dileu
+      expires_in:
+        '1209600': 2 wythnos
+        '15778476': 6 mis
+        '2629746': 1 mis
+        '31556952': 1 flwyddyn
+        '86400': 1 diwrnod
+        '94670856': 3 blynedd
+      new:
+        title: Creu rheol IP newydd
+      no_ip_block_selected: Heb newid unrhyw reolau IP gan na ddewiswyd yr un ohonyn nhw
+      title: Rheolau IP
     relationships:
       title: Perthnasau %{acct}
     relays:
@@ -326,6 +584,7 @@ cy:
     report_notes:
       created_msg: Llwyddwyd i greu nodyn adroddiad!
       destroyed_msg: Llwyddwyd i ddileu nodyn adroddiad!
+      today_at: Heddiw am %{time}
     reports:
       account:
         notes:
@@ -335,66 +594,345 @@ cy:
           other: "%{count} o nodiadau"
           two: "%{count} o nodiadau"
           zero: "%{count} nodyn"
+      action_log: Log archwilio
       action_taken_by: Gwnaethpwyd hyn gan
+      actions:
+        delete_description_html: Bydd y postiadau yr adroddwyd amdanynt yn cael eu dileu a bydd rhybudd yn cael ei recordio i'ch helpu i gynyddu achosion o dordyletswyddau yn y dyfodol gan yr un cyfrif.
+        mark_as_sensitive_description_html: Bydd y cyfryngau yn y postiadau sy'n cael eu hadrodd yn cael eu marcio'n sensitif a bydd rhybudd yn cael ei recordio i'ch helpu i gynyddu achosion o dorri rheolau yn y dyfodol gan yr un cyfrif.
+        other_description_html: Gweld rhagor o opsiynau ar gyfer rheoli ymddygiad y cyfrif a chyfaddasu cyfathrebiad i'r cyfrif a adroddwyd.
+        resolve_description_html: Ni fydd unrhyw gamau yn cael eu cymryd yn erbyn y cyfrif a adroddwyd, ni chofnodwyd rhybudd, a bydd yr adroddiad yn cael ei gau.
+        silence_description_html: Dim ond i'r rhai sydd eisoes yn ei ddilyn neu'n edrych arno â llaw y bydd y proffil yn weladwy, gan gyfyngu'n ddifrifol ar ei gyrhaeddiad. Mae modd ei ddychwelyd ar unrhyw adeg.
+        suspend_description_html: Bydd y proffil a'i holl gynnwys yn dod yn anhygyrch nes iddo gael ei ddileu yn y pen draw. Bydd rhyngweithio â'r cyfrif yn amhosibl. Mae modd ei adfer o fewn 30 diwrnod.
+      actions_description_html: Penderfynwch pa gamau i'w cymryd i ddatrys yr adroddiad hwn. Os byddwch yn cymryd camau cosbol yn erbyn y cyfrif a adroddwyd, bydd hysbysiad e-bost yn cael ei anfon atyn nhw, ac eithrio pan fydd y categori <strong>Sbam</strong> yn cael ei ddewis.
+      add_to_report: Ychwanegu mwy i adrodd
       are_you_sure: Ydych chi'n sicr?
       assign_to_self: Aseinio i mi
       assigned: Arolygwr wedi'i aseinio
       by_target_domain: Parth cyfrif a adroddir
+      category: Categori
+      category_description_html: Bydd y rheswm dros adrodd am y cyfrif a/neu’r cynnwys hwn yn cael ei ddyfynnu wrth gyfathrebu â’r cyfrif a adroddwyd
       comment:
         none: Dim
+      comment_description_html: 'I ddarparu rhagor o wybodaeth, ysgrifennodd %{name}:'
       created_at: Adroddwyd
+      delete_and_resolve: Dileu postiadau
+      forwarded: Wedi'i Anfon Ymlaen
+      forwarded_to: Wedi'i anfon ymlaen i %{domain}
       mark_as_resolved: Nodi fel wedi'i ddatrys
+      mark_as_sensitive: Marciwch fel sensitif
       mark_as_unresolved: Nodi fel heb ei ddatrys
+      no_one_assigned: Neb
       notes:
         create: Ychwanegu nodyn
         create_and_resolve: Datrys gyda nodyn
         create_and_unresolve: Ailagor gyda nodyn
         delete: Dileu
         placeholder: Disgrifiwch pa weithredoedd sydd wedi eu cymryd, neu unrhyw ddiweddariadau eraill...
+        title: Nodiadau
+      notes_description_html: Gweld a gadael nodiadau i gymedrolwyr eraill a'ch hunan yn y dyfodol
+      quick_actions_description_html: 'Cymerwch gamau cyflym neu sgroliwch i lawr i weld cynnwys yr adroddwyd amdano:'
+      remote_user_placeholder: y defnyddiwr pell o %{instance}
       reopen: Ailagor adroddiad
       report: 'Adroddiad #%{id}'
       reported_account: Cyfrif wedi ei adrodd
       reported_by: Adroddwyd gan
       resolved: Wedi ei ddatrys
       resolved_msg: Llwyddwyd i ddatrys yr adroddiad!
+      skip_to_actions: Symud i gamau gweithredu
       status: Statws
+      statuses: Cynnwys wedi'i adrodd
+      statuses_description_html: Bydd cynnwys tramgwyddus yn cael ei ddyfynnu wrth gyfathrebu â'r cyfrif a adroddwyd
+      target_origin: Tarddiad y cyfrif a adroddwyd
       title: Adroddiadau
       unassign: Dadneilltuo
       unresolved: Heb ei ddatrys
       updated_at: Diweddarwyd
+      view_profile: Gweld proffil
+    roles:
+      add_new: Ychwanegu rôl
+      assigned_users:
+        few: "%{count} defnyddiwr"
+        many: "%{count} defnyddiwr"
+        one: "%{count} defnyddiwr"
+        other: "%{count} defnyddiwr"
+        two: "%{count} defnyddiwr"
+        zero: "%{count} defnyddiwr"
+      categories:
+        administration: Gweinyddiaeth
+        devops: DevOps
+        invites: Gwahoddiadau
+        moderation: Cymedroil
+        special: Arbennig
+      delete: 'Dileu:'
+      description_html: Gyda <strong>rolau defnyddwyr</strong>, gallwch chi gyfaddasu pa swyddogaethau a meysydd o Mastodon y gall eich defnyddwyr gael mynediad iddyn nhw.
+      edit: Golygu rôl '%{name}'
+      everyone: Caniatâd rhagosodedig
+      everyone_full_description_html: Dyma'r <strong>rôl sylfaenol</strong> sy'n effeithio ar <strong>bob defnyddiwr</strong>, hyd yn oed y rhai heb rôl benodol. Mae pob rôl arall yn etifeddu caniatâd ganddo.
+      permissions_count:
+        few: "%{count} caniatâd"
+        many: "%{count} caniatâd"
+        one: "%{count} caniatâd"
+        other: "%{count} caniatâd"
+        two: "%{count} caniatâd"
+        zero: "%{count} caniatâd"
+      privileges:
+        administrator: Gweinyddwr
+        administrator_description: Bydd defnyddwyr sydd â'r caniatâd hwn yn osgoi pob caniatâd
+        delete_user_data: Dileu Data Defnyddiwr
+        delete_user_data_description: Yn caniatáu i ddefnyddwyr ddileu data defnyddwyr eraill yn ddi-oed
+        invite_users: Gwahodd Defnyddwyr
+        invite_users_description: Yn caniatáu i ddefnyddwyr wahodd pobl newydd i'r gweinydd
+        manage_announcements: Rheoli Cyhoeddiadau
+        manage_announcements_description: Yn caniatáu i ddefnyddwyr reoli cyhoeddiadau ar y gweinydd
+        manage_appeals: Rheoli Apeliadau
+        manage_appeals_description: Yn caniatáu i ddefnyddwyr adolygu apeliadau yn erbyn camau cymedroli
+        manage_blocks: Rheoli Blociau
+        manage_blocks_description: Yn caniatáu i ddefnyddwyr rwystro darparwyr e-bost a chyfeiriadau IP
+        manage_custom_emojis: Rheoli Emojis Cyfaddas
+        manage_custom_emojis_description: Yn caniatáu i ddefnyddwyr reoli emojis cyfaddas ar y gweinydd
+        manage_federation: Rheoli Ffederasiwn
+        manage_federation_description: Yn caniatáu i ddefnyddwyr rwystro neu ganiatáu ffedereiddio â pharthau eraill, a rheoli'r gallu i gyflawni
+        manage_invites: Rheoli Gwahoddiadau
+        manage_invites_description: Yn caniatáu i ddefnyddwyr bori a diffodd dolenni gwahodd
+        manage_reports: Rheoli Adroddiadau
+        manage_reports_description: Yn caniatáu i ddefnyddwyr adolygu adroddiadau a chyflawni camau cymedroli yn eu herbyn
+        manage_roles: Rheoli Rolau
+        manage_roles_description: Yn galluogi defnyddwyr i reoli a phennu rolau o dan eu rhai nhw
+        manage_rules: Rheoli Rheolau
+        manage_rules_description: Yn caniatáu i ddefnyddwyr newid rheolau gweinydd
+        manage_settings: Rheoli Gosodiadau
+        manage_settings_description: Yn caniatáu i ddefnyddwyr newid gosodiadau gwefan
+        manage_taxonomies: Rheoli Tacsonomeg
+        manage_taxonomies_description: Yn caniatáu i ddefnyddwyr adolygu cynnwys sy'n tueddu a diweddaru gosodiadau hashnodau
+        manage_user_access: Rheoli Mynediad Defnyddwyr
+        manage_user_access_description: Yn caniatáu i ddefnyddwyr analluogi dilysu dau ffactor defnyddwyr eraill, newid eu cyfeiriad e-bost, ac ailosod eu cyfrinair
+        manage_users: Rheoli Defnyddwyr
+        manage_users_description: Yn caniatáu i ddefnyddwyr weld manylion defnyddwyr eraill a chyflawni camau cymedroli yn eu herbyn
+        manage_webhooks: Rheoli Bachau Gwe
+        manage_webhooks_description: Yn caniatáu i ddefnyddwyr osod bachau gwe ar gyfer digwyddiadau gweinyddol
+        view_audit_log: Gweld Cofnodion Archwilio
+        view_audit_log_description: Yn caniatáu i ddefnyddwyr weld hanes o weithredoedd gweinyddol ar y gweinydd
+        view_dashboard: Gweld Bwrdd Gwaith
+        view_dashboard_description: Yn galluogi defnyddwyr i gael mynediad i'r bwrdd gwaith a metrigau amrywiol
+        view_devops: DevOps
+        view_devops_description: Yn caniatáu i ddefnyddwyr gael mynediad i fyrddau gwaith Sidekiq a pgHero
+      title: Rolau
+    rules:
+      add_new: Ychwanegu rheol
+      delete: Dileu
+      description_html: Er bod y rhan fwyaf yn honni eu bod wedi darllen ac yn cytuno i'r telerau gwasanaeth, fel arfer nid yw pobl yn darllen drwodd tan ar ôl i broblem godi. <strong>Gwnewch hi'n haws i weld rheolau eich gweinydd yn fras trwy eu darparu mewn rhestr pwyntiau bwled fflat.</strong> Ceisiwch gadw rheolau unigol yn fyr ac yn syml, ond ceisiwch beidio â'u rhannu'n nifer o eitemau ar wahân chwaith.
+      edit: Golygu rheol
+      empty: Nid oes unrhyw reolau gweinydd wedi'u diffinio eto.
+      title: Rheolau'r gweinydd
     settings:
+      about:
+        manage_rules: Rheoli rheolau gweinydd
+        preamble: Darparu gwybodaeth fanwl am sut mae'r gweinydd yn cael ei weithredu, ei gymedroli a'i ariannu.
+        rules_hint: Mae maes penodol ar gyfer rheolau y disgwylir i'ch defnyddwyr gadw ato.
+        title: Ynghylch
+      appearance:
+        preamble: Cyfaddasu rhyngwyneb gwe Mastodon.
+        title: Golwg
+      branding:
+        preamble: Mae brandio eich gweinydd yn ei wahaniaethu oddi wrth weinyddion eraill yn y rhwydwaith. Gall y wybodaeth hon gael ei dangos ar draws amrywiaeth o amgylcheddau, megis rhyngwyneb gwe Mastodon, rhaglenni brodorol, mewn rhagolygon cyswllt ar wefannau eraill ac o fewn apiau negeseuon, ac ati. Am y rheswm hwn, mae'n well cadw'r wybodaeth hon yn glir, yn fyr ac yn gryno.
+        title: Brandio
+      content_retention:
+        preamble: Rheoli sut mae cynnwys sy'n cael ei gynhyrchu gan ddefnyddwyr yn cael ei storio yn Mastodon.
+        title: Cadw cynnwys
+      discovery:
+        follow_recommendations: Dilyn yr argymhellion
+        preamble: Mae amlygu cynnwys diddorol yn allweddol ar gyfer derbyn defnyddwyr newydd nad ydynt efallai'n gyfarwydd ag unrhyw un Mastodon. Rheolwch sut mae nodweddion darganfod amrywiol yn gweithio ar eich gweinydd.
+        profile_directory: Cyfeiriadur proffiliau
+        public_timelines: Llinellau amser cyhoeddus
+        title: Darganfod
+        trends: Tueddiadau
       domain_blocks:
         all: I bawb
         disabled: I neb
         users: I ddefnyddwyr lleol mewngofnodadwy
+      registrations:
+        preamble: Rheoli pwy all greu cyfrif ar eich gweinydd.
+        title: Cofrestriadau
       registrations_mode:
         modes:
           approved: Mae angen cymeradwyaeth ar gyfer cofrestru
           none: Ni all unrhyw un cofrestru
           open: Gall unrhyw un cofrestru
+      title: Gosodiadau Gweinydd
     site_uploads:
       delete: Dileu ffeil sydd wedi'i uwchlwytho
       destroyed_msg: Uwchlwythiad wefan wedi'i ddileu yn lwyddianus!
     statuses:
+      account: Awdur
+      application: Rhaglen
       back_to_account: Yn ôl i dudalen y cyfrif
+      back_to_report: Nôl i dudalen yr adroddiad
+      batch:
+        remove_from_report: Dileu o'r adroddiad
+        report: Adrodd
       deleted: Dilëwyd
+      favourites: Ffefrynnau
+      history: Hanes fersiynau
+      in_reply_to: Ymateb i
+      language: Iaith
       media:
         title: Cyfryngau
+      metadata: Metaddata
       no_status_selected: Ni newidwyd dim statws achos ni ddewiswyd dim un
+      open: Agor post
+      original_status: Post gwreiddiol
+      reblogs: Ailflogio
+      status_changed: Post wedi'i newid
       title: Statysau cyfrif
+      trending: Trendio
+      visibility: Gwelededd
       with_media: A chyfryngau
+    strikes:
+      actions:
+        delete_statuses: Mae %{name} wedi dileu postiadau %{target}
+        disable: Mae %{name} wedi rhewi cyfrif %{target}
+        mark_statuses_as_sensitive: Mae %{name} wedi marcio postiadau %{target} fel rhai sensitif
+        none: Anfonodd %{name} rybudd at %{target}
+        sensitive: Mae %{name} wedi nodi bod cyfrif %{target} yn sensitif
+        silence: Mae %{name} wedi cyfyngu cyfrif %{target}
+        suspend: Mae %{name} wedi atal cyfrif %{target}
+      appeal_approved: Apeliwyd
+      appeal_pending: Apêl yn aros
+    system_checks:
+      database_schema_check:
+        message_html: Mae mudo cronfa ddata ar fin digwydd. Rhedwch nhw i sicrhau bod y rhaglen yn ymddwyn yn ôl y disgwyl
+      elasticsearch_running_check:
+        message_html: Methu cysylltu ag Elasticsearch. Gwiriwch ei fod yn rhedeg, neu analluogwch chwiliad testun llawn
+      elasticsearch_version_check:
+        message_html: 'Fersiwn Elasticsearch anghydnaws: %{value}'
+        version_comparison: Mae Elasticsearch %{running_version} yn rhedeg tra bod angen %{required_version}
+      rules_check:
+        action: Rheoli rheolau gweinydd
+        message_html: Nid ydych wedi diffinio unrhyw reolau gweinydd.
+      sidekiq_process_check:
+        message_html: Dim proses Sidekiq yn rhedeg ar gyfer y ciw(iau) %{value}. Adolygwch eich ffurfweddiad Sidekiq
     tags:
       review: Adolygu statws
       updated_msg: Gosodiadau hashnodau wedi'i diweddaru'n llwyddiannus
     title: Gweinyddiaeth
     trends:
+      allow: Caniatáu
+      approved: Cymeradwywyd
+      disallow: Gwrthod
+      links:
+        allow: Caniatáu dolen
+        allow_provider: Caniatáu cyhoeddwr
+        description_html: Mae'r rhain yn ddolenni sy'n cael eu rhannu llawer ar hyn o bryd gan gyfrifon y mae eich gweinydd yn gweld postiadau ohonyn nhw. Gall helpu eich defnyddwyr i ddarganfod beth sy'n digwydd yn y byd. Ni chaiff unrhyw ddolenni eu dangos yn gyhoeddus nes i chi gymeradwyo'r cyhoeddwr. Gallwch hefyd ganiatáu neu wrthod dolenni unigol.
+        disallow: Gwrthod dolen
+        disallow_provider: Gwrthod y cyhoeddwr
+        no_link_selected: Heb newid unrhyw ddolen gan na chafodd yr un ohonyn nhw eu dewis
+        publishers:
+          no_publisher_selected: Heb newid unrhyw gyhoeddwr gan na ddewiswyd yr un ohonyn nhw
+        shared_by_over_week:
+          few: Wedi'i rannu gan %{count} o bobl dros yr wythnos ddiwethaf
+          many: Wedi'i rannu gan %{count} o bobl dros yr wythnos ddiwethaf
+          one: Wedi'i rannu gan un person dros yr wythnos ddiwethaf
+          other: Wedi'i rannu gan %{count} o bobl dros yr wythnos ddiwethaf
+          two: Wedi'i rannu gan %{count} o bobl dros yr wythnos ddiwethaf
+          zero: Wedi'i rannu gan %{count} o bobl dros yr wythnos ddiwethaf
+        title: Dolenni tuedd
+        usage_comparison: Wedi'i rannu %{today} gwaith heddiw, o'i gymharu â %{yesterday} ddoe
       only_allowed: Derbyniwyd yn unig
+      pending_review: Yn aros am adolygiad
+      preview_card_providers:
+        allowed: Gall dolenni gan y cyhoeddwr hwn greu tuedd
+        description_html: Mae'r rhain yn barthau lle mae dolenni'n cael eu rhannu'n aml ar eich gweinydd. Ni fydd dolenni'n dueddu'n gyhoeddus oni bai bod parth y ddolen yn cael ei gymeradwyo. Mae eich cymeradwyaeth (neu eich gwrthodiad) yn ymestyn i is-barthau.
+        rejected: Ni fydd dolenni gan y cyhoeddwr hwn yn creu tuedd
+        title: Cyhoeddwyr
+      rejected: Gwrthodwyd
+      statuses:
+        allow: Caniatáu post
+        allow_account: Caniatáu awdur
+        description_html: Mae'r rhain yn bostiadau y mae eich gweinydd yn gwybod amdanynt sy'n cael eu rhannu a'u ffafrio llawer ar hyn o bryd. Gall helpu eich defnyddwyr newydd a'ch defnyddwyr sy'n dychwelyd i ddod o hyd i fwy o bobl i'w dilyn. Ni chaiff unrhyw bostiadau eu dangos yn gyhoeddus nes i chi gymeradwyo'r awdur, ac mae'r awdur yn caniatáu i'w cyfrif gael ei awgrymu i eraill. Gallwch hefyd ganiatáu neu wrthod postiadau unigol.
+        disallow: Gwrthod post
+        disallow_account: Gwrthod awdur
+        no_status_selected: Heb newid unrhyw negeseuon tuedd gan na chafodd yr un ohonyn nhw eu dewis
+        not_discoverable: Nid yw'r awdur wedi dewis bod yn ddarganfyddadwy
+        shared_by:
+          few: Wedi'i rannu a'i ffefrynnu %{friendly_count} gwaith
+          many: Wedi'i rannu a'i ffefrynnu %{friendly_count} gwaith
+          one: Wedi'i rannu neu ei ffefrynnu unwaith
+          other: Wedi'i rannu a'i ffefrynnu %{friendly_count} gwaith
+          two: Wedi'i rannu a'i ffefrynnu %{friendly_count} gwaith
+          zero: Wedi'i rannu a'i ffefrynnu %{friendly_count} gwaith
+        title: Postiadau tuedd
+      tags:
+        current_score: Sgôr cyfredol %{score}
+        dashboard:
+          tag_accounts_measure: defnyddiau unigryw
+          tag_languages_dimension: Prif ieithoedd
+          tag_servers_dimension: Prif weinyddion
+          tag_servers_measure: gweinyddion gwahanol
+          tag_uses_measure: cyfanswm defnydd
+        description_html: Mae'r rhain yn hashnodau sy'n ymddangos ar hyn o bryd mewn llawer o bostiadau y mae eich gweinydd yn eu gweld. Gall helpu eich defnyddwyr i ddarganfod beth mae pobl yn siarad fwyaf amdano ar hyn o bryd. Nid oes unrhyw hashnodau yn cael eu dangos yn gyhoeddus nes i chi eu cymeradwyo.
+        listable: Mae modd ei awgrymu
+        no_tag_selected: Heb newid unrhyw dagiau gan na chafodd yr un ohonyn nhw eu dewis
+        not_listable: Ni fydd yn cael ei awgrymu
+        not_trendable: Ni fydd yn ymddangos o dan dueddiadau
+        not_usable: Nid oes modd ei ddefnyddio
+        peaked_on_and_decaying: Ar ei anterth ar %{date}, bellach yn lleihau
+        title: Hashnodau yn tueddu
+        trendable: Gall ymddangos o dan dueddiadau
+        trending_rank: 'Yn tueddu #%{rank}'
+        usable: Mae modd ei ddefnyddio
+        usage_comparison: Wedi'i ddefnyddio %{today} gwaith heddiw, o'i gymharu â %{yesterday} ddoe
+        used_by_over_week:
+          few: Wedi'i ddefnyddio gan %{count} o bobl dros yr wythnos ddiwethaf
+          many: Wedi'i ddefnyddio gan %{count} o bobl dros yr wythnos ddiwethaf
+          one: Wedi'i ddefnyddio gan un person dros yr wythnos ddiwethaf
+          other: Wedi'i ddefnyddio gan %{count} o bobl dros yr wythnos ddiwethaf
+          two: Wedi'i ddefnyddio gan %{count} o bobl dros yr wythnos ddiwethaf
+          zero: Wedi'i ddefnyddio gan %{count} o bobl dros yr wythnos ddiwethaf
+      title: Tueddiadau
+      trending: Trendio
     warning_presets:
       add_new: Ychwanegu newydd
       delete: Dileu
       edit_preset: Golygu rhagosodiad rhybudd
+      empty: Nid ydych wedi diffinio unrhyw ragosodiadau rhybudd eto.
       title: Rheoli rhagosodiadau rhybudd
+    webhooks:
+      add_new: Ychwanegu diweddbwynt
+      delete: Dileu
+      description_html: Mae <strong>bachyn gwe</strong> yn galluogi Mastodon i wthio <strong>hysbysiadau amser real</strong> am ddigwyddiadau a ddewiswyd i'ch cais eich hun, fel y gall eich cais <strong>ysgogi ymatebion yn awtomatig</strong> .
+      disable: Analluogi
+      disabled: Wedi'i analluogi
+      edit: Golygu diweddbwynt
+      empty: Nid oes gennych unrhyw diweddbwyntiau bachau gwe wedi'u ffurfweddu eto.
+      enable: Galluogi
+      enabled: Gweithredol
+      enabled_events:
+        few: "%{count} digwyddiad wedi'u galluogi"
+        many: "%{count} digwyddiad wedi'u galluogi"
+        one: 1 digwyddiad wedi'i alluogi
+        other: "%{count} digwyddiad wedi'u galluogi"
+        two: "%{count} digwyddiad wedi'u galluogi"
+        zero: "%{count} digwyddiad wedi'u galluogi"
+      events: Digwyddiadau
+      new: Bachyn gwe newydd
+      rotate_secret: Cylchdroi cyfrinach
+      secret: Cyfrinach arwyddo
+      status: Statws
+      title: Bachau Gwe
+      webhook: Bachyn Gwe
   admin_mailer:
+    new_appeal:
+      actions:
+        delete_statuses: i ddileu eu postiadau
+        disable: i rewi eu cyfrif
+        mark_statuses_as_sensitive: i nodi eu postiadau fel rhai sensitif
+        none: rhybudd
+        sensitive: i nodi bod eu cyfrif yn sensitif
+        silence: i gyfyngu ar eu cyfrif
+        suspend: i atal eu cyfrif
+      body: 'Mae %{target} yn apelio yn erbyn penderfyniad cymedroli gan %{action_taken_by} ar %{date}, sef %{type}. Mae nhw''n dweud:'
+      next_steps: Gallwch gymeradwyo'r apêl i ddadwneud y penderfyniad cymedroli, neu ei anwybyddu.
+      subject: Mae %{username} yn apelio yn erbyn penderfyniad cymedroli ar %{instance}
     new_pending_account:
       body: Mae manylion y cyfrif newydd yn isod. Gallwch cymeradwyo neu wrthod y ceisiad hon.
       subject: Cyfrif newydd i fynu ar gyfer adolygiad ar %{instance} (%{username})
@@ -402,6 +940,17 @@ cy:
       body: Mae %{reporter} wedi cwyno am %{target}
       body_remote: Mae rhywun o %{domain} wedi cwyno am %{target}
       subject: Cwyn newydd am %{instance} (#%{id})
+    new_trends:
+      body: 'Mae angen adolygu''r eitemau canlynol cyn y mae modd eu dangos yn gyhoeddus:'
+      new_trending_links:
+        title: Dolenni tuedd
+      new_trending_statuses:
+        title: Postiadau tuedd
+      new_trending_tags:
+        no_approved_tags: Ar hyn o bryd nid oes unrhyw hashnodau tuedd cymeradwy.
+        requirements: 'Gallai unrhyw un o''r ymgeiswyr hyn ragori ar yr hashnod tuedd cymeradwy #%{rank}, sef #%{lowest_tag_name} gyda sgôr o %{lowest_tag_score} ar hyn o bryd.'
+        title: Hashnodau sy'n tueddu
+      subject: Tueddiadau newydd i'w hadolygu ar %{instance}
   aliases:
     add_new: Creu enw arall
     created_msg: Wedi creu enw arall yn llwyddianus. Gallwch nawr dechrau'r symudiad o'r hen gyfrif.
@@ -434,6 +983,7 @@ cy:
     warning: Byddwch yn ofalus a'r data hyn. Peidiwch a'i rannu byth!
     your_token: Eich tocyn mynediad
   auth:
+    apply_for_account: Ewch ar y rhestr aros
     change_password: Cyfrinair
     delete_account: Dileu cyfrif
     delete_account_html: Os hoffech chi ddileu eich cyfrif, mae modd <a href="%{path}">parhau yma</a>. Bydd gofyn i chi gadarnhau.
@@ -442,28 +992,43 @@ cy:
       prefix_sign_up: Cofrestru ar Fastodon heddiw!
       suffix: Gyda cyfrif, byddwch yn gallu dilyn pobl, postio dilysiadau a chyfnewid negeseuon gyda defnyddwyr o unrhyw gweinydd Mastodon ac mwy!
     didnt_get_confirmation: Heb dderbyn cyfarwyddiadau cadarnhau?
+    dont_have_your_security_key: Nid oes gennych eich allwedd ddiogelwch?
     forgot_password: Wedi anghofio'ch cyfrinair?
     invalid_reset_password_token: Tocyn ailosod cyfrinair yn annilys neu wedi dod i ben. Gwnewch gais am un newydd os gwelwch yn dda.
+    link_to_otp: Rhowch god dau ffactor o'ch ffôn neu god adfer
+    link_to_webauth: Defnyddiwch eich dyfais allwedd diogelwch
+    log_in_with: Mewngofnodi gyda
     login: Mewngofnodi
     logout: Allgofnodi
     migrate_account: Symud i gyfrif gwahanol
     migrate_account_html: Os hoffech chi ailgyfeirio'r cyfrif hwn at un gwahanol, mae modd <a href="%{path}">ei ffurfweddu yma</a>.
     or_log_in_with: Neu logiwch mewn a
+    privacy_policy_agreement_html: Rwyf wedi darllen ac yn cytuno i'r <a href="%{privacy_policy_path}" target="_blank">polisi preifatrwydd</a>
     register: Cofrestru
     registration_closed: Nid yw %{instance} yn derbyn aelodau newydd
     resend_confirmation: Ailanfon cyfarwyddiadau cadarnhau
     reset_password: Ailosod cyfrinair
+    rules:
+      preamble: Mae'r rhain yn cael eu gosod a'u gorfodi gan y %{domain} cymedrolwyr.
+      title: Rhai rheolau sylfaenol.
     security: Diogelwch
     set_new_password: Gosod cyfrinair newydd
     setup:
       email_below_hint_html: Os mae'r ebost isod yn anghywir, gallwch ei newid fama a derbyn ebost cadarnhad newydd.
       email_settings_hint_html: Caiff yr ebost cadarnhad ei anfon i %{email}. Os nad yw'r ebost hon yn gywir, gallwch ei newid yn ngosodiadau'r cyfrif.
       title: Gosodiad
+    sign_up:
+      preamble: Gyda chyfrif ar y gweinydd Mastodon hwn, byddwch yn gallu dilyn unrhyw berson arall ar y rhwydwaith, lle bynnag mae eu cyfrif yn cael ei gynnal.
+      title: Gadewch i ni eich gosod ar %{domain}.
     status:
       account_status: Statws cyfrif
       confirming: Aros i gadarnhad e-bost gael ei gwblhau.
+      functional: Mae eich cyfrif nawr yn weithredol.
       pending: Mae'ch cais yn aros i gael ei adolygu gan ein staff. Gall hyn gymryd cryn amser. Byddwch yn derbyn e-bost os caiff eich cais ei gymeradwyo.
       redirecting_to: Mae eich cyfrif yn anactif oherwydd ei fod ar hyn o bryd yn ailgyfeirio i %{acct}.
+      view_strikes: Gweld rybuddion y gorffennol yn erbyn eich cyfrif
+    too_fast: Ffurflen wedi'i chyflwyno'n rhy gyflym, ceisiwch eto.
+    use_security_key: Defnyddiwch allwedd diogelwch
   authorize_follow:
     already_following: Yr ydych yn dilyn y cyfrif hwn yn barod
     already_requested: Rydych barod wedi anfon ceisiad dilyn i'r cyfrif hynny
@@ -485,6 +1050,10 @@ cy:
     errors:
       invalid_key: ddim yn allwedd Ed25519 na Curve25519 dilys
       invalid_signature: ddim yn llofnod Ed25519 dilys
+  date:
+    formats:
+      default: "%b %d %Y"
+      with_month_name: "%b %d %Y"
   datetime:
     distance_in_words:
       about_x_hours: "%{count}awr"
@@ -518,8 +1087,34 @@ cy:
       username_unavailable: Ni fydd eich enw defnyddiwr ar gael
   disputes:
     strikes:
+      action_taken: Camau a gymerwyd
+      appeal: Apêl
+      appeal_approved: Apeliwyd yn llwyddiannus yn erbyn y rhybudd hwn ac nid yw'n ddilys bellach
+      appeal_rejected: Mae’r apêl wedi’i gwrthod
+      appeal_submitted_at: Apêl wedi'i chyflwyno
+      appealed_msg: Mae eich apêl wedi'i chyflwyno. Os caiff ei gymeradwyo, byddwch yn cael gwybod.
+      appeals:
+        submit: Cyflwyno apêl
       approve_appeal: Cymeradwyo'r apêl
+      associated_report: Adroddiad cysylltiedig
+      created_at: Dyddiedig
+      description_html: Mae'r rhain yn gamau a gymerwyd yn erbyn eich cyfrif a rhybuddion sydd wedi'u hanfon atoch gan staff %{instance}.
+      recipient: Wedi'i gyfeirio at
       reject_appeal: Gwrthod yr apêl
+      status: 'Postio #%{id}'
+      status_removed: Postiad sydd eisoes wedi'i dynnu o'r system
+      title: "%{action} gan %{date}"
+      title_actions:
+        delete_statuses: Dileu post
+        disable: Rhewi cyfrif
+        mark_statuses_as_sensitive: Marcio postiadau fel rhai sensitif
+        none: Rhybudd
+        sensitive: Marcio cyfrif fel un sensitif
+        silence: Cyfyngiad y cyfrif
+        suspend: Atal y cyfrif
+      your_appeal_approved: Mae eich apêl wedi'i chymeradwyo
+      your_appeal_pending: Rydych wedi cyflwyno apêl
+      your_appeal_rejected: Mae eich apêl wedi'i gwrthod
   domain_validator:
     invalid_domain: ddim yn enw parth dilys
   errors:
@@ -549,6 +1144,7 @@ cy:
       request: Gwneud cais am eich archif
       size: Maint
     blocks: Yr ydych yn blocio
+    bookmarks: Nodau Tudalen
     domain_blocks: Blociau parth
     lists: Rhestrau
     mutes: Yr ydych yn tawelu
@@ -566,24 +1162,85 @@ cy:
       public: Ffrwd gyhoeddus
       thread: Sgyrsiau
     edit:
+      add_keyword: Ychwanegu allweddair
+      keywords: Allweddeiriau
+      statuses: Postiadau unigol
+      statuses_hint_html: Mae'r hidlydd hwn yn berthnasol i ddewis postiadau unigol pa un ai a ydynt yn cyfateb i'r allweddeiriau isod. <a href="%{path}">Adolygu neu ddileu postiadau o'r hidlydd</a> .
       title: Golygu hidlydd
     errors:
+      deprecated_api_multiple_keywords: Nid oes modd newid y paramedrau hyn o'r cais hwn oherwydd eu bod yn berthnasol i fwy nag un allweddair hidlo. Defnyddiwch raglen fwy diweddar neu'r rhyngwyneb gwe.
       invalid_context: Dim cyd-destun neu cyd-destun annilys wedi ei ddarparu
     index:
+      contexts: Hidlau yn %{contexts}
       delete: Dileu
       empty: Nid oes gennych chi hidlyddion.
+      expires_in: Yn dod i ben yn %{distance}
+      expires_on: Yn dod i ben ar %{date}
+      keywords:
+        few: "%{count} allweddair"
+        many: "%{count} allweddair"
+        one: "%{count} allweddair"
+        other: "%{count} allweddair"
+        two: "%{count} allweddair"
+        zero: "%{count} allweddair"
+      statuses:
+        few: "%{count} postiad"
+        many: "%{count} postiad"
+        one: "%{count} postiad"
+        other: "%{count} postiad"
+        two: "%{count} postiad"
+        zero: "%{count} postiad"
+      statuses_long:
+        few: "%{count} postiad unigol wedi'u cuddio"
+        many: "%{count} postiad unigol wedi'u cuddio"
+        one: "%{count} postiad unigol wedi'u cuddio"
+        other: "%{count} postiad unigol wedi'u cuddio"
+        two: "%{count} postiad unigol wedi'u cuddio"
+        zero: "%{count} postiad unigol wedi'u cuddio"
       title: Hidlyddion
     new:
+      save: Cadw hidlydd newydd
       title: Ychwanegu hidlydd newydd
+    statuses:
+      back_to_filter: Nôl i'r hidlydd
+      batch:
+        remove: Tynnu o'r hidlydd
+      index:
+        hint: Mae'r hidlydd hwn yn berthnasol i ddethol postiadau unigol waeth beth fo'r meini prawf eraill. Gallwch ychwanegu mwy o bostiadau at yr hidlydd hwn o'r rhyngwyneb gwe.
+        title: Postiadau wedi'u hidlo
   footer:
     trending_now: Yn tueddu nawr
   generic:
     all: Popeth
+    all_items_on_page_selected_html:
+      few: Mae pob <strong>%{count}</strong> eitem ar y dudalen hon wedi'u dewis.
+      many: Mae pob <strong>%{count}</strong> eitem ar y dudalen hon wedi'u dewis.
+      one: Mae <strong>%{count}</strong> eitem wedi'i  dewis ar y dudalen hon.
+      other: Mae pob <strong>%{count}</strong> eitem ar y dudalen hon wedi'u dewis.
+      two: Mae pob <strong>%{count}</strong> eitem ar y dudalen hon wedi'u dewis.
+      zero: Mae pob <strong>%{count}</strong> eitem ar y dudalen hon wedi'u dewis.
+    all_matching_items_selected_html:
+      few: Mae pob <strong>%{count}</strong> eitem sy'n cyfateb i'ch chwiliad wedi'u dewis.
+      many: Mae pob <strong>%{count}</strong> eitem sy'n cyfateb i'ch chwiliad wedi'u dewis.
+      one: Mae <strong>%{count}</strong> eitem sy'n cyfateb i'ch chwiliad wedi'i dewis.
+      other: Mae pob <strong>%{count}</strong> eitem sy'n cyfateb i'ch chwiliad wedi'u dewis.
+      two: Mae pob <strong>%{count}</strong> eitem sy'n cyfateb i'ch chwiliad wedi'u dewis.
+      zero: Mae pob <strong>%{count}</strong> eitem sy'n cyfateb i'ch chwiliad wedi'u dewis.
     changes_saved_msg: Llwyddwyd i gadw y newidiadau!
     copy: Copïo
     delete: Dileu
+    deselect: Dad-ddewis y cwbl
+    none: Dim
     order_by: Trefnu wrth
     save_changes: Cadw newidiadau
+    select_all_matching_items:
+      few: Dewiswch bob un o'r %{count} eitem sy'n cyfateb i'ch chwilio.
+      many: Dewiswch bob un o'r %{count} eitem sy'n cyfateb i'ch chwilio.
+      one: Dewiswch bob un o'r %{count} eitem sy'n cyfateb i'ch chwilio.
+      other: Dewiswch bob un o'r %{count} eitem sy'n cyfateb i'ch chwilio.
+      two: Dewiswch bob un o'r %{count} eitem sy'n cyfateb i'ch chwilio.
+      zero: Dewiswch bob un o'r %{count} eitem sy'n cyfateb i'ch chwilio.
+    today: heddiw
     validation_errors:
       few: Mae rhywbeth o'i le o hyd! Edrychwch ar y %{count} gwall isod os gwelwch yn dda
       many: Mae rhywbeth o'i le o hyd! Edrychwch ar y %{count} gwall isod os gwelwch yn dda
@@ -594,6 +1251,8 @@ cy:
   html_validator:
     invalid_markup: 'yn cynnwys marciad HTML annilys: %{error}'
   imports:
+    errors:
+      over_rows_processing_limit: yn cynnwys mwy na %{count} rhes
     modes:
       merge: Cyfuno
       merge_long: Cadw'r cofnodau presennol ac ychwanegu rhai newydd
@@ -603,6 +1262,7 @@ cy:
     success: Uwchlwythwyd eich data yn llwyddiannus ac fe fydd yn cael ei brosesu mewn da bryd
     types:
       blocking: Rhestr blocio
+      bookmarks: Nodau Tudalen
       domain_blocking: Rhestr rhwystro parth
       following: Rhestr dilyn
       muting: Rhestr tawelu
@@ -636,6 +1296,17 @@ cy:
   lists:
     errors:
       limit: Yr ydych wedi cyrraedd uchafswm nifer y rhestrau posib
+  login_activities:
+    authentication_methods:
+      otp: ap dilysu dau ffactor
+      password: cyfrinair
+      sign_in_token: cod diogelwch e-bost
+      webauthn: allweddi diogelwch
+    description_html: Os ydych yn gweld gweithgaredd nad ydych yn ei adnabod, ystyriwch newid eich cyfrinair a galluogi dilysu dau ffactor.
+    empty: Dim hanes dilysu ar gael
+    failed_sign_in_html: Ymgais mewngofnodi wedi methu gyda %{method} gan %{ip} (%{browser})
+    successful_sign_in_html: Mewngofnodi llwyddiannus gyda %{method} o %{ip} (%{browser})
+    title: Hanes dilysu
   media_attachments:
     validations:
       images_and_video: Ni ellir ychwanegu fideo at statws sy'n cynnwys delweddau'n barod
@@ -678,7 +1349,14 @@ cy:
     carry_blocks_over_text: Wnaeth y defnyddiwr symud o %{acct}, a oeddech chi wedi'i flocio.
     carry_mutes_over_text: Wnaeth y defnyddiwr symud o %{acct}, a oeddech chi wedi'i dawelu.
     copy_account_note_text: 'Wnaeth y defnyddiwr symud o %{acct}, dyma oedd eich hen nodiadau amdanynt:'
+  navigation:
+    toggle_menu: Toglo'r ddewislen
   notification_mailer:
+    admin:
+      report:
+        subject: Mae %{name} wedi cyflwyno adroddiad
+      sign_up:
+        subject: Mae %{name} wedi cofrestru
     favourite:
       body: 'Cafodd eich statws ei hoffi gan %{name}:'
       subject: Hoffodd %{name} eich statws
@@ -697,12 +1375,16 @@ cy:
       body: 'Caswoch eich sôn amdano gan %{name} yn:'
       subject: Cawsoch eich sôn amdano gan %{name}
       title: Crywbylliad newydd
+    poll:
+      subject: Mae arolwg barn gan %{name} wedi dod i ben
     reblog:
       body: 'Cafodd eich statws ei fŵstio gan %{name}:'
       subject: Bŵstiodd %{name} eich statws
       title: Hwb newydd
     status:
       subject: "%{name} newydd ei bostio"
+    update:
+      subject: Golygodd %{name} bostiad
   notifications:
     email_events: Digwyddiadau ar gyfer hysbysiadau e-bost
     email_events_hint: 'Dewis digwyddiadau hoffech derbyn hysbysiadau ar eu cyfer:'
@@ -716,6 +1398,14 @@ cy:
           quadrillion: Cwadriliwn
           thousand: Mil
           trillion: Triliwn
+  otp_authentication:
+    code_hint: Rhowch y cod a gynhyrchwyd gan eich ap dilysu i gadarnhau
+    description_html: Os ydych chi'n galluogi <strong>dilysu dau-ffactor</strong> gan ddefnyddio ap dilysu, bydd mewngofnodi yn ei gwneud yn ofynnol i chi fod â'ch ffôn yn eich meddiant, a fydd yn cynhyrchu tocynnau i chi fynd i mewn iddo.
+    enable: Galluogi
+    instructions_html: "<strong>Sganiwch y cod QR hwn i mewn i Google Authenticator neu ap TOTP tebyg ar eich ffôn</strong>. O hyn ymlaen, bydd yr ap hwnnw'n cynhyrchu tocynnau y bydd yn rhaid i chi eu rhoi wrth fewngofnodi."
+    manual_instructions: 'Os nad ydych yn gallu sganio''r cod QR a bod angen i chi ei roi â llaw, dyma''r gyfrinach testun plaen:'
+    setup: Gosod
+    wrong_code: Roedd y cod a roddwyd yn annilys! A yw amser gweinydd ac amser dyfais yn gywir?
   pagination:
     newer: Diweddarach
     next: Nesaf
@@ -736,6 +1426,8 @@ cy:
     other: Arall
     posting_defaults: Rhagosodiadau postio
     public_timelines: Ffrydau gyhoeddus
+  privacy_policy:
+    title: Polisi preifatrwydd
   reactions:
     errors:
       limit_reached: Cyfwng o ymatebion wahanol wedi'i cyrraedd
@@ -743,6 +1435,7 @@ cy:
   relationships:
     activity: Gweithgareddau cyfrif
     dormant: Segur
+    follow_selected_followers: Dilynwch y dilynwyr a ddewiswyd
     followers: Dilynwyr
     following: Yn dilyn
     invited: Wedi gwahodd
@@ -758,6 +1451,14 @@ cy:
     status: Statws cyfrif
   remote_follow:
     missing_resource: Ni ellir canfod yr URL ailgyferio angenrheidiol i'ch cyfrif
+  reports:
+    errors:
+      invalid_rules: ddim yn cyfeirio at reolau dilys
+  rss:
+    content_warning: 'Rhybudd cynnwys:'
+    descriptions:
+      account: Postiadau cyhoeddus gan @%{acct}
+      tag: 'Postiadau cyhoeddus wedi''u tagio #%{hashtag}'
   scheduled_statuses:
     over_daily_limit: Rydych wedi rhagori'r cyfwng o %{limit} o dŵtiau rhestredig ar y dydd hynny
     over_total_limit: Rydych wedi rhagori'r cyfwng o %{limit} o dŵtiau rhestredig
@@ -766,13 +1467,20 @@ cy:
     activity: Gweithgaredd ddiwethaf
     browser: Porwr
     browsers:
+      blackberry: BlackBerry
       generic: Porwr anhysbys
+      ie: Nid yw'r rhaglen hon yn gydnaws ag Internet Explorer
       nokia: Porwr Nokia S40 Ovi
+      otter: dyfrgi
       qq: Porwr QQ
+      safari: Agor yn Safari
+      uc_browser: UC Browser
     current_session: Sesiwn cyfredol
     description: "%{browser} ar %{platform}"
     explanation: Dyma'r porwyr gwê sydd wedi mewngofnodi i'ch cyfrif Mastododon ar hyn o bryd.
     platforms:
+      blackberry: BlackBerry
+      chrome_os: ChromeOS
       firefox_os: OS Firefox
       mac: Mac
       other: platfform anhysbys
@@ -780,6 +1488,7 @@ cy:
     revoke: Diddymu
     revoke_success: Sesiwn wedi ei ddiddymu yn llwyddiannus
     title: Sesiynau
+    view_authentication_history: Gweld hanes dilysu eich cyfrif
   settings:
     account: Cyfrif
     account_settings: Gosodiadau'r cyfrif
@@ -799,7 +1508,10 @@ cy:
     preferences: Dewisiadau
     profile: Proffil
     relationships: Dilynion a dilynwyr
+    statuses_cleanup: Dileu postiadau awtomatig
+    strikes: Rhybuddion cymedroli
     two_factor_authentication: Awdurdodi dau-gam
+    webauthn_authentication: Allweddi diogelwch
   statuses:
     attached:
       audio:
@@ -826,6 +1538,7 @@ cy:
         zero: "%{count} fideo"
     boosted_from_html: Wedi ei fŵstio %{acct_link}
     content_warning: 'Rhybudd cynnwys: %{warning}'
+    default_language: Yr un fath a'r iaith rhyngwyneb
     disallowed_hashtags:
       few: 'yn cynnwys yr hashnod gwaharddedig: %{tags}'
       many: 'yn cynnwys yr hashnod gwaharddedig: %{tags}'
@@ -833,11 +1546,13 @@ cy:
       other: 'yn cynnwys yr hashnod gwaharddedig: %{tags}'
       two: 'yn cynnwys yr hashnod gwaharddedig: %{tags}'
       zero: 'yn cynnwys yr hashnod gwaharddedig: %{tags}'
+    edited_at_html: Wedi'i olygu %{date}
     errors:
       in_reply_not_found: Nid yw'r statws rydych yn ceisio ymateb i yn edrych fel ei fod yn bodoli.
     open_in_web: Agor yn y wê
     over_character_limit: wedi mynd heibio'r uchafswm nodyn o %{max}
     pin_errors:
+      direct: Nid oes modd pinio postiadau sy'n weladwy i ddefnyddwyr a grybwyllwyd yn unig
       limit: Yr ydych wedi pinio yr uchafswm posib o dŵtiau
       ownership: Ni ellir pinio tŵt rhywun arall
       reblog: Ni ellir pinio bŵstiau
@@ -858,16 +1573,53 @@ cy:
         zero: "%{count} pleidlais"
       vote: Pleidleisio
     show_more: Dangos mwy
+    show_newer: Dangos y diweddaraf
     show_older: Dangos pethau hŷn
     show_thread: Dangos edefyn
     sign_in_to_participate: Mengofnodwch i gymryd rhan yn y sgwrs
     visibilities:
+      direct: Uniongyrchol
       private: Dilynwyr yn unig
       private_long: Dangos i ddilynwyr yn unig
       public: Cyhoeddus
       public_long: Gall pawb weld
       unlisted: Heb ei restru
       unlisted_long: Gall pawb weld, ond heb ei restru ar ffrydiau cyhoeddus
+  statuses_cleanup:
+    enabled: Dileu hen bostiadau'n awtomatig
+    enabled_hint: Yn dileu eich postiadau yn awtomatig ar ôl iddyn nhw gyrraedd trothwy oed penodedig, oni bai eu bod yn cyfateb i un o'r eithriadau isod
+    exceptions: Eithriadau
+    explanation: Oherwydd bod dileu postiadau yn weithrediad drud, mae hyn yn cael ei wneud yn araf dros amser pan nad yw'r gweinydd yn brysur fel arall. Am y rheswm hwn, efallai y bydd eich postiadau yn cael eu dileu ychydig ar ôl iddyn nhw gyrraedd y trothwy oed.
+    ignore_favs: Anwybyddu ffefrynnau
+    ignore_reblogs: Anwybyddu bwstiau
+    interaction_exceptions: Eithriadau yn seiliedig ar ryngweithio
+    interaction_exceptions_explanation: Sylwch nad oes unrhyw sicrwydd y bydd postiadau'n cael eu dileu os ydyn nhw'n mynd o dan y trothwy ffefrynnau neu fwstio ar ôl mynd drostyn nhw unwaith.
+    keep_direct: Cadw negeseuon uniongyrchol
+    keep_direct_hint: Nid yw'n dileu unrhyw un o'ch negeseuon uniongyrchol
+    keep_media: Cadw postiadau gydag atodiadau cyfryngau
+    keep_media_hint: Nid yw'n dileu unrhyw un o'ch postiadau sydd ag atodiadau cyfryngau
+    keep_pinned: Cadw postiadau wedi'u pinio
+    keep_pinned_hint: Nid yw'n dileu unrhyw un o'ch postiadau wedi'u pinio
+    keep_polls: Cadw polau
+    keep_polls_hint: Nid yw'n dileu unrhyw un o'ch polau
+    keep_self_bookmark: Cadw y postiadau wedi'u cadw fel nodau tudalen
+    keep_self_bookmark_hint: Nid yw'n dileu eich postiadau eich hun os ydych wedi rhoi nod tudalen arnyn nhw
+    keep_self_fav: Cadw'r postiadau yr oeddech yn eu ffefrynnu
+    keep_self_fav_hint: Nid yw'n dileu eich postiadau eich hun os ydych wedi eu ffefrynnu
+    min_age:
+      '1209600': 2 wythnos
+      '15778476': 6 mis
+      '2629746': 1 mis
+      '31556952': 1 flwyddyn
+      '5259492': 2 fis
+      '604800': 1 wythnos
+      '63113904': 2 flynedd
+      '7889238': 3 mis
+    min_age_label: Trothwy oedran
+    min_favs: Cadw postiadau ffafriwyr am o leiaf
+    min_favs_hint: Nid yw'n dileu unrhyw un o'ch postiadau sydd wedi derbyn o leiaf y swm hwn o ffefrynnau. Gadewch yn wag i ddileu postiadau waeth beth fo'u ffefrynnau
+    min_reblogs: Cadw postiadau wedi eu bwstio o leiaf
+    min_reblogs_hint: Nid yw'n dileu unrhyw un o'ch postiadau sydd wedi cael bwst o leiaf y nifer hwn o weithiau. Gadewch yn wag i ddileu postiadau waeth beth fo'u nifer o fwstio
   stream_entries:
     pinned: Tŵt wedi'i binio
     reblogged: hybwyd
@@ -882,34 +1634,78 @@ cy:
     default: Mastodon (Tywyll)
     mastodon-light: Mastodon (golau)
   two_factor_authentication:
+    add: Ychwanegu
     disable: Diffodd
+    disabled_success: Llwyddwyd i analluogi dilysu dau ffactor yn llwydiannus
+    edit: Golygu
     enabled: Awdurdodi dau-gam wedi'i alluogi
     enabled_success: Awdurdodi dau-gam wedi'i alluogi'n llwyddiannus
     generate_recovery_codes: Cynhyrchu côdau adfer
     lost_recovery_codes: Mae côdau adfer yn caniatau i chi gael mynediad i'ch cyfrif eto os ydych yn colli'ch ffôn. Os ydych wedi colli eich côdau adfer, mae modd i chi gynhyrchu nhw eto yma. Bydd eich hen gôdau wedyn yn annilys.
+    methods: Dulliau dau ffactor
+    otp: Ap dilysu.
     recovery_codes: Creu copi wrth gefn o gôdau adfywio
     recovery_codes_regenerated: Llwyddwyd i ail greu côdau adfywio
     recovery_instructions_html: Os ydych byth yn colli mynediad i'ch ffôn, mae modd i chi ddefnyddio un o'r côdau adfywio isod i ennill mynediad i'ch cyfrif eto. <strong>Cadwch y côdau adfywio yn saff</strong>. Er enghraifft, gallwch eu argraffu a'u cadw gyda dogfennau eraill pwysig.
+    webauthn: Allweddi diogelwch
   user_mailer:
+    appeal_approved:
+      action: Ewch i'ch cyfrif
+      explanation: Mae apêl y rhybudd yn erbyn eich cyfrif ar %{strike_date} a gyflwynwyd gennych ar %{appeal_date} wedi'i chymeradwyo. Mae eich cyfrif unwaith eto yn gadarnhaol.
+      subject: Mae eich apêl gan %{date} wedi'i chymeradwyo
+      title: Cymeradwywyd yr apêl
+    appeal_rejected:
+      explanation: Mae apêl y rhybudd yn erbyn eich cyfrif ar %{strike_date} a gyflwynwyd gennych ar %{appeal_date} wedi'i gwrthod.
+      subject: Mae eich apêl ar %{date} wedi'i gwrthod
+      title: Apêl wedi'i gwrthod
     backup_ready:
       explanation: Fe wnaethoch chi gais am gopi wrth gefn llawn o'ch cyfrif Mastodon. Mae nawr yn barod i'w lawrlwytho!
       subject: Mae eich archif yn barod i'w lawrlwytho
       title: Allfudo archif
+    suspicious_sign_in:
+      change_password: newidiwch eich cyfrinair
+      details: 'Dyma fanylion y mewngofnodi:'
+      explanation: Rydym wedi canfod mewngofnodi i'ch cyfrif o gyfeiriad IP newydd.
+      further_actions_html: Os nad chi oedd hwn, rydym yn argymell eich bod yn %{action} ar unwaith ac yn galluogi dilysu dau ffactor i gadw'ch cyfrif yn ddiogel.
+      subject: Mae eich cyfrif wedi'i gyrchu o gyfeiriad IP newydd
+      title: Mewngofnodiad newydd
     warning:
+      appeal: Cyflwyno apêl
+      appeal_description: Os credwch fod hwn yn gamgymeriad, gallwch gyflwyno apêl i staff %{instance}.
+      categories:
+        spam: Sbam
+        violation: Mae'r cynnwys yn torri'r canllawiau cymunedol canlynol
+      explanation:
+        delete_statuses: Mae rhai o'ch postiadau wedi'u canfod i dorri un neu fwy o ganllawiau cymunedol ac wedi cael eu dileu wedyn gan gymedrolwyr %{instance}.
+        disable: Nid oes modd i chi ddefnyddio'ch cyfrif mwyach, ond mae'ch proffil a data arall yn parhau'n gyfan. Gallwch ofyn am gopi wrth gefn o'ch data, newid gosodiadau cyfrif neu ddileu eich cyfrif.
+        mark_statuses_as_sensitive: Mae rhai o'ch postiadau wedi'u marcio'n sensitif gan gymedrolwyr %{instance}. Mae hyn yn golygu y bydd angen i bobl dapio'r cyfryngau yn y postiadau cyn i ragolwg gael ei ddangos. Gallwch nodi bod y cyfryngau yn sensitif eich hun wrth bostio yn y dyfodol.
+        sensitive: O hyn ymlaen, bydd eich holl ffeiliau cyfryngau wedi'u llwytho i fyny yn cael eu marcio fel sensitif ac wedi'u cuddio y tu ôl i rybudd clicio drwodd.
+        silence: Gallwch barhau i ddefnyddio'ch cyfrif ond dim ond pobl sydd eisoes yn eich dilyn fydd yn gweld eich postiadau ar y gweinydd hwn, ac mae'n bosibl y cewch eich eithrio o wahanol nodweddion darganfod. Fodd bynnag, efallai y bydd eraill yn dal i'ch dilyn â llaw.
+        suspend: Nid oes modd i chi ddefnyddio'ch cyfrif mwyach, ac nid yw'ch proffil a data arall bellach yn hygyrch. Gallwch chi fewngofnodi o hyd i ofyn am gopi wrth gefn o'ch data nes bod y data wedi'i ddileu'n llawn mewn tua 30 diwrnod, ond byddwn yn cadw rhywfaint o ddata sylfaenol i'ch atal rhag osgoi'r ataliad.
+      reason: 'Rheswm:'
+      statuses: 'Postiadau a ddyfynnwyd:'
       subject:
+        delete_statuses: Mae eich postiadau ar %{acct} wedi'u dileu
         disable: Mae'ch cyfrif %{acct} wedi'i rewi
+        mark_statuses_as_sensitive: Mae eich postiadau ar %{acct} wedi'u marcio'n sensitif
         none: Rhybudd am %{acct}
+        sensitive: Bydd eich postiadau ar %{acct} yn cael eu marcio'n sensitif o hyn ymlaen
         silence: Mae'ch cyfrif %{acct} wedi bod yn gyfyngedig
         suspend: Mae'ch cyfrif %{acct} wedi'i atal
       title:
+        delete_statuses: Postiadau wedi'u dileu
         disable: Cyfrif wedi'i rewi
+        mark_statuses_as_sensitive: Postiadau wedi'u marcio'n sensitif
         none: Rhybudd
+        sensitive: Cyfrif wedi'i nodi'n sensitif
         silence: Cyfrif cyfyngedig
         suspend: Cyfrif wedi'i rewi
     welcome:
       edit_profile_action: Sefydlu proffil
+      edit_profile_step: Gallwch addasu'ch proffil trwy lwytho llun proffil, newid eich enw dangos a mwy. Gallwch ddewis i adolygu dilynwyr newydd cyn iddyn nhw gael caniatâd i'ch dilyn.
       explanation: Dyma ambell nodyn i'ch helpu i ddechrau
       final_action: Dechrau postio
+      final_step: 'Dechreuwch bostio! Hyd yn oed heb ddilynwyr, efallai y bydd eraill yn gweld eich postiadau cyhoeddus, er enghraifft ar y llinell amser leol neu mewn hashnodau. Efallai y byddwch am gyflwyno eich hun ar yr hashnod #cyflwyniadau neu/a #introductions.'
       full_handle: Eich enw llawn
       full_handle_hint: Dyma'r hyn y bysech yn dweud wrth eich ffrindiau er mwyn iddyn nhw gael anfon neges atoch o achos arall.
       subject: Croeso i Mastodon
@@ -923,3 +1719,20 @@ cy:
   verification:
     explanation_html: 'Mae modd i chi <strong>ddilysu eich hun fel perchenog y dolenni yn metadata eich proffil</strong>. Rhaid i''r wefan â dolen iddi gynnwys dolen yn ôl i''ch proffil Mastodon. <strong>Rhaid</strong> i''r ddolen yn ôl cynnwys y nodwedd <code>rel="me"</code>. Does dim ots beth yw cynnwys testun y ddolen. Dyma enghraifft:'
     verification: Dilysu
+  webauthn_credentials:
+    add: Ychwanegu allwedd ddiogelwch newydd
+    create:
+      error: Bu anhawster wrth ychwanegu'ch allwedd ddiogelwch. Ceisiwch eto, os gwelwch yn dda.
+      success: Ychwanegwyd eich allwedd ddiogelwch yn llwyddiannus.
+    delete: Dileu
+    delete_confirmation: Ydych chi'n siŵr eich bod am ddileu'r allwedd ddiogelwch hon?
+    description_html: Os ydych yn galluogi <strong>dilysu allwedd diogelwch</strong>, bydd angen i chi ddefnyddio un o'ch allweddi diogelwch er mwyn mewngofnodi.
+    destroy:
+      error: Bu anhawster wrth ddileu eich allwedd ddiogelwch. Ceisiwch eto, os gwelwch yn dda.
+      success: Cafodd eich allwedd ddiogelwch ei dileu'n llwyddiannus.
+    invalid_credential: Allwedd ddiogelwch annilys
+    nickname_hint: Rhowch lysenw eich allwedd ddiogelwch newydd
+    not_enabled: Nid ydych wedi galluogi WebAuthn eto
+    not_supported: Nid yw'r porwr hwn yn cynnal allweddi diogelwch
+    otp_required: I ddefnyddio allweddi diogelwch, galluogwch ddilysu dau ffactor yn gyntaf.
+    registered_on: Cofrestrwyd ar %{date}
diff --git a/config/locales/da.yml b/config/locales/da.yml
index f9fd00387..c610a3c44 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -608,6 +608,7 @@ da:
         other: "%{count} brugere"
       categories:
         administration: Håndtering
+        devops: DevOps
         invites: Invitationer
         moderation: Moderering
         special: Speciel
@@ -658,6 +659,7 @@ da:
         view_audit_log_description: Tillader brugere at se en historik over administrative handlinger på serveren
         view_dashboard: Vis Dashboard
         view_dashboard_description: Tillader brugere at tilgå Dashboard'et og forskellige målinger
+        view_devops: DevOps
         view_devops_description: Tillader brugere at tilgå Sidekiq- og pgHero-dashboards
       title: Roller
     rules:
@@ -1371,6 +1373,7 @@ da:
     browser: Browser
     browsers:
       alipay: Alipay
+      blackberry: BlackBerry
       chrome: Chrome
       edge: Microsoft Edge
       electron: Electron
@@ -1384,6 +1387,7 @@ da:
       phantom_js: PhantomJS
       qq: QQ Browser
       safari: Safari
+      uc_browser: UC Browser
       weibo: Weibo
     current_session: Aktuelle session
     description: "%{browser} på %{platform}"
@@ -1392,6 +1396,7 @@ da:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
       linux: Linux
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 7bc73dcb4..379b39307 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -98,16 +98,16 @@ de:
       moderation_notes: Moderationsnotizen
       most_recent_activity: Letzte Aktivität
       most_recent_ip: Letzte IP-Adresse
-      no_account_selected: Keine Konten wurden geändert, da keine ausgewählt wurden
+      no_account_selected: Es wurden keine Konten geändert, da keine ausgewählt wurden
       no_limits_imposed: Keine Beschränkungen
       no_role_assigned: Keine Rolle zugewiesen
       not_subscribed: Nicht abonniert
-      pending: In Warteschlange
-      perform_full_suspension: Verbannen
-      previous_strikes: Vorherige Strikes
+      pending: Überprüfung ausstehend
+      perform_full_suspension: Sperren
+      previous_strikes: Vorherige Verstöße
       previous_strikes_description_html:
-        one: Dieses Konto hat <strong>einen</strong> Strike.
-        other: Dieses Konto hat <strong>%{count}</strong> Strikes.
+        one: Dieses Konto hat <strong>einen</strong> Verstoß.
+        other: Dieses Konto hat <strong>%{count}</strong> Verstöße.
       promote: Befördern
       protocol: Protokoll
       public: Öffentlich
@@ -143,10 +143,10 @@ de:
       silence: Stummschalten
       silenced: Stummgeschaltet
       statuses: Beiträge
-      strikes: Vorherige Strikes
+      strikes: Vorherige Verstöße
       subscribe: Abonnieren
-      suspend: Suspendieren
-      suspended: Verbannt
+      suspend: Sperren
+      suspended: Gesperrt
       suspension_irreversible: Die Daten dieses Kontos wurden unwiderruflich gelöscht. Du kannst das Konto aufheben, um es wieder brauchbar zu machen, aber es wird keine Daten wiederherstellen, die es davor hatte.
       suspension_reversible_hint_html: Das Konto wurde gesperrt und die Daten werden am %{date} vollständig gelöscht. Bis dahin kann das Konto ohne irgendwelche negativen Auswirkungen wiederhergestellt werden. Wenn du alle Daten des Kontos sofort entfernen möchtest, kannst du dies nachfolgend tun.
       title: Konten
@@ -155,10 +155,10 @@ de:
       unconfirmed_email: Unbestätigte E-Mail-Adresse
       undo_sensitized: Inhaltswarnung aufheben
       undo_silenced: Stummschaltung aufheben
-      undo_suspension: Verbannung aufheben
+      undo_suspension: Sperre aufheben
       unsilenced_msg: Konto von %{username} erfolgreich freigegeben
       unsubscribe: Abbestellen
-      unsuspended_msg: Konto von %{username} erfolgreich freigegeben
+      unsuspended_msg: Kontosperre von %{username} erfolgreich aufgehoben
       username: Profilname
       view_domain: Übersicht für Domain anzeigen
       warn: Warnen
@@ -271,12 +271,12 @@ de:
         resolve_report_html: "%{name} hat die Meldung %{target} bearbeitet"
         sensitive_account_html: "%{name} hat die Medien von %{target} mit einer Inhaltswarnung versehen"
         silence_account_html: "%{name} hat das Konto von %{target} stummgeschaltet"
-        suspend_account_html: "%{name} hat das Konto von %{target} verbannt"
+        suspend_account_html: "%{name} hat das Konto von %{target} gesperrt"
         unassigned_report_html: "%{name} hat die Zuweisung der Meldung %{target} entfernt"
         unblock_email_account_html: "%{name} entsperrte die E-Mail-Adresse von %{target}"
         unsensitive_account_html: "%{name} hat die Inhaltswarnung für Medien von %{target} aufgehoben"
         unsilence_account_html: "%{name} hat die Stummschaltung von %{target} aufgehoben"
-        unsuspend_account_html: "%{name} hat die Verbannung von %{target} aufgehoben"
+        unsuspend_account_html: "%{name} hat die Kontosperre von %{target} aufgehoben"
         update_announcement_html: "%{name} aktualisierte Ankündigung %{target}"
         update_custom_emoji_html: "%{name} hat das %{target} Emoji geändert"
         update_domain_block_html: "%{name} hat den Domain-Block für %{target} aktualisiert"
@@ -384,17 +384,17 @@ de:
       existing_domain_block_html: Du hast bereits strengere Beschränkungen für die Domain %{name} verhängt. Du musst diese erst <a href="%{unblock_url}">aufheben</a>.
       new:
         create: Blockade einrichten
-        hint: Die Domain-Blockade wird nicht verhindern, dass Konteneinträge in der Datenbank erstellt werden. Aber es werden rückwirkend und automatisch alle Moderationsmethoden auf diese Konten angewendet.
+        hint: Die Domainsperre wird nicht verhindern, dass Konteneinträge in der Datenbank erstellt werden, sondern rückwirkend und automatisch alle Moderationsmethoden auf diese Konten anwenden.
         severity:
           desc_html: "<strong>Stummschaltung</strong> wird die Beiträge dieses Kontos für alle, die ihm nicht folgen, unsichtbar machen. Eine <strong>Sperre</strong> wird alle Beiträge, Medien und Profildaten dieses Kontos entfernen. Verwende <strong>Kein,</strong> um nur Mediendateien abzulehnen."
           noop: Kein
           silence: Stummschaltung
-          suspend: Sperre
+          suspend: Sperren
         title: Neue Domain-Blockade
       obfuscate: Domainname verschleiern
       obfuscate_hint: Den Domainnamen in der Liste teilweise verschleiern, wenn die Liste der Domänenbeschränkungen aktiviert ist
       private_comment: Privater Kommentar
-      private_comment_hint: Kommentar zu dieser Domain-Beschränkung für die interne Nutzung durch die Moderator_innen.
+      private_comment_hint: Kommentar zu dieser Domain-Beschränkung für die interne Nutzung durch die Moderator*innen.
       public_comment: Öffentlicher Kommentar
       public_comment_hint: Kommentar zu dieser Domain-Beschränkung für die allgemeine Öffentlichkeit, wenn das Veröffentlichen der Blockliste aktiviert ist.
       reject_media: Mediendateien ablehnen
@@ -423,7 +423,7 @@ de:
       resolved_through_html: Durch %{domain} aufgelöst
       title: E-Mail-Domain-Blockade
     follow_recommendations:
-      description_html: "<strong>Folgeempfehlungen helfen neuen Nutzern dabei, schnell interessante Inhalte zu finden</strong>. Wenn ein Nutzer noch nicht genug mit anderen interagiert hat, um personalisierte Folgeempfehlungen zu erstellen, werden stattdessen diese Benutzerkonten verwendet. Sie werden täglich basierend auf einer Mischung aus am meisten interagierenden Benutzerkonten und jenen mit den meisten Folgenden für eine bestimmte Sprache neuberechnet."
+      description_html: "<strong>Folgeempfehlungen helfen neuen Nutzern und Nutzerinnen dabei, schnell interessante Inhalte zu finden</strong>. Wenn ein:e Nutzer:in noch nicht genug mit anderen interagiert hat, um personalisierte Folgeempfehlungen zu erhalten, werden stattdessen diese Benutzerkonten verwendet. Sie werden täglich basierend auf einer Mischung aus am meisten interagierenden Benutzerkonten und jenen mit den meisten Followern für eine bestimmte Sprache neu berechnet."
       language: Für Sprache
       status: Status
       suppress: Folgeempfehlungen unterdrücken
@@ -454,7 +454,7 @@ de:
           reject_media: Medien ablehnen
           reject_reports: Meldungen ablehnen
           silence: Stummschalten
-          suspend: Verbannen
+          suspend: Sperren
         policy: Richtlinie
         reason: Öffentlicher Grund
         title: Inhaltsrichtlinien
@@ -582,7 +582,7 @@ de:
         delete: Löschen
         placeholder: Bitte beschreibe, welche Maßnahmen ergriffen wurden oder andere damit verbundene Aktualisierungen …
         title: Notizen
-      notes_description_html: Zeige und hinterlasse Notizen an andere Moderator_innen und dein zukünftiges Ich
+      notes_description_html: Notizen an andere Moderator*innen und dein zukünftiges Ich anzeigen und hinterlassen
       quick_actions_description_html: 'Führe eine schnelle Aktion aus oder scrolle nach unten, um gemeldete Inhalte zu sehen:'
       remote_user_placeholder: das externe Profil von %{instance}
       reopen: Meldung wieder eröffnen
@@ -629,7 +629,7 @@ de:
         invite_users_description: Erlaubt Benutzer*innen, neue Leute zum Server einzuladen
         manage_announcements: Ankündigungen verwalten
         manage_announcements_description: Erlaubt Benutzer*innen, Ankündigungen auf dem Server zu verwalten
-        manage_appeals: Anträge verwalten
+        manage_appeals: Einsprüche verwalten
         manage_appeals_description: Erlaubt es Benutzer*innen, Entscheidungen der Moderator*innen zu widersprechen
         manage_blocks: Geblocktes verwalten
         manage_blocks_description: Erlaubt Benutzer*innen, E-Mail-Provider und IP-Adressen zu blockieren
@@ -676,7 +676,7 @@ de:
         rules_hint: Es gibt einen eigenen Bereich für Regeln, die deine Benutzer*innen einhalten müssen.
         title: Über
       appearance:
-        preamble: Passe die Weboberfläche von Mastodon an.
+        preamble: Passe das Webinterface von Mastodon an.
         title: Erscheinungsbild
       branding:
         preamble: Das Branding deines Servers unterscheidet ihn von anderen Servern im Netzwerk. Diese Informationen können in einer Vielzahl von Umgebungen angezeigt werden, z. B. in der Weboberfläche von Mastodon, in nativen Anwendungen, in Linkvorschauen auf anderen Websites und in Messaging-Apps und so weiter. Aus diesem Grund ist es am besten, diese Informationen klar, kurz und prägnant zu halten.
@@ -740,7 +740,7 @@ de:
         none: "%{name} hat eine Warnung an %{target} gesendet"
         sensitive: "%{name} hat das Profil von %{target} mit einer Inhaltswarnung versehen"
         silence: "%{name} hat das Konto von %{target} eingeschränkt"
-        suspend: "%{name} hat das Konto von %{target} verbannt"
+        suspend: "%{name} hat das Konto von %{target} gesperrt"
       appeal_approved: Einspruch angenommen
       appeal_pending: Einspruch ausstehend
     system_checks:
@@ -852,14 +852,14 @@ de:
   admin_mailer:
     new_appeal:
       actions:
-        delete_statuses: deren Beiträge zu löschen
-        disable: deren Konto einzufrieren
-        mark_statuses_as_sensitive: um die Beiträge des Profils mit einer Inhaltswarnung zu versehen
+        delete_statuses: das Löschen der Beiträge
+        disable: das Einfrieren der Konten
+        mark_statuses_as_sensitive: das Markieren der Beiträge mit einer Inhaltswarnung
         none: eine Warnung
-        sensitive: um das Profil mit einer Inhaltswarnung zu versehen
-        silence: deren Konto zu beschränken
-        suspend: deren Konto zu sperren
-      body: "%{target} hat etwas gegen eine Moderationsentscheidung von %{action_taken_by} von %{date}, die %{type} war. Die Person schrieb:"
+        sensitive: das Markieren des Kontos mit einer Inhaltswarnung
+        silence: das Beschränken des Kontos
+        suspend: um deren Konto zu sperren
+      body: "%{target} hat etwas gegen eine Moderationsentscheidung von %{action_taken_by} vom %{date}, die %{type} war. Die Person schrieb:"
       next_steps: Du kannst dem Einspruch zustimmen und die Moderationsentscheidung rückgängig machen oder ignorieren.
       subject: "%{username} hat Einspruch gegen eine Moderationsentscheidung von %{instance} eingelegt"
     new_pending_account:
@@ -885,11 +885,11 @@ de:
     created_msg: Ein neuer Alias wurde erfolgreich erstellt. Du kannst nun den Wechsel vom alten Konto starten.
     deleted_msg: Der Alias wurde erfolgreich entfernt. Aus jenem Konto zu diesem zu verschieben, ist nicht mehr möglich.
     empty: Du hast keine Aliase.
-    hint_html: Wenn du von einem Konto zu einem anderem Konto wechseln möchtest, dann kannst du einen Alias erstellen, welcher benötigt wird, bevor du deine Folgenden vom altem Account zu diesen migrierst. Die Aktion alleine ist <strong>harmlos und wi­der­ruf­lich</strong>. <strong>Die Kontenmigration wird vom altem Konto aus eingeleitet</strong>.
+    hint_html: Wenn du von einem Konto zu einem anderen Konto wechseln möchtest, dann kannst du einen Alias erstellen, welcher benötigt wird, bevor du deine Follower vom alten Account zu diesen migrierst. Die Aktion allein ist <strong>harmlos und wi­der­ruf­lich</strong>. <strong>Die Kontenmigration wird vom alten Konto aus eingeleitet</strong>.
     remove: Alle Aliase aufheben
   appearance:
-    advanced_web_interface: Fortgeschrittene Benutzeroberfläche
-    advanced_web_interface_hint: Wenn du mehr aus deiner Bildschirmbreite herausholen möchtest, kannst du mit der fortgeschrittenen Benutzeroberfläche weitere Spalten hinzufügen und dadurch mehr Informationen auf einmal sehen, z. B. deine Startseite, die Mitteilungen, die föderierte Timeline sowie beliebig viele deiner Listen und Hashtags.
+    advanced_web_interface: Erweitertes Webinterface
+    advanced_web_interface_hint: Wenn du mehr aus deiner Bildschirmbreite herausholen möchtest, kannst du mit dem erweiterten Webinterface weitere Spalten hinzufügen und dadurch mehr Informationen auf einmal sehen, z. B. deine Startseite, die Mitteilungen, die föderierte Timeline sowie beliebig viele deiner Listen und Hashtags.
     animations_and_accessibility: Animationen und Barrierefreiheit
     confirmation_dialogs: Bestätigungsfenster
     discovery: Entdecken
@@ -943,7 +943,7 @@ de:
     resend_confirmation: Bestätigungs-Mail erneut versenden
     reset_password: Passwort zurücksetzen
     rules:
-      preamble: Diese werden von den Moderatoren von %{domain} erzwungen.
+      preamble: Diese werden von den %{domain}-Moderator*innen festgelegt und erzwungen.
       title: Einige Grundregeln.
     security: Sicherheit
     set_new_password: Neues Passwort setzen
@@ -960,7 +960,7 @@ de:
       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
+      view_strikes: Vorherige Verstöße deines Kontos ansehen
     too_fast: Formular zu schnell gesendet, versuche es erneut.
     use_security_key: Sicherheitsschlüssel verwenden
   authorize_follow:
@@ -1018,15 +1018,15 @@ de:
       irreversible: Du kannst dein Konto nicht reaktivieren
       more_details_html: Weitere Details findest du in der <a href="%{terms_path}">Datenschutzrichtlinie</a>.
       username_available: Dein Benutzername wird wieder verfügbar
-      username_unavailable: Dein Benutzername bleibt nicht verfügbar
+      username_unavailable: Dein Benutzername wird weiterhin nicht mehr verfügbar sein
   disputes:
     strikes:
       action_taken: Maßnahme ergriffen
       appeal: Einspruch
-      appeal_approved: Dieser Strike wurde erfolgreich beeinsprucht und ist nicht mehr gültig
+      appeal_approved: Dieser Verstoß wurde erfolgreich angefochten und ist nicht mehr gültig
       appeal_rejected: Der Einspruch wurde abgelehnt
-      appeal_submitted_at: Einspruch eingelegt
-      appealed_msg: Dein Einspruch wurde abgesendet. Wenn er angenommen wird, wirst du benachrichtigt.
+      appeal_submitted_at: Einspruch eingereicht
+      appealed_msg: Dein Einspruch wurde übermittelt. Wenn er angenommen wird, wirst du benachrichtigt.
       appeals:
         submit: Einspruch erheben
       approve_appeal: Einspruch annehmen
@@ -1039,7 +1039,7 @@ de:
       status_removed: Beitrag bereits vom System entfernt
       title: "%{action} vom %{date}"
       title_actions:
-        delete_statuses: Post-Entfernung
+        delete_statuses: Beitragsentfernung
         disable: Einfrieren des Kontos
         mark_statuses_as_sensitive: Beiträge mit einer Inhaltswarnung versehen
         none: Warnung
@@ -1103,7 +1103,7 @@ de:
       statuses_hint_html: Dieser Filter gilt für die Auswahl einzelner Beiträge, unabhängig davon, ob sie mit den unten stehenden Schlüsselwörtern übereinstimmen. <a href="%{path}">Beiträge im Filter ansehen oder entfernen.</a>.
       title: Filter bearbeiten
     errors:
-      deprecated_api_multiple_keywords: Diese Parameter können von dieser Anwendung nicht geändert werden, da sie auf mehr als ein Filterschlüsselwort angewendet werden. Verwende eine neuere Anwendung oder die Web-Schnittstelle.
+      deprecated_api_multiple_keywords: Diese Parameter können von dieser Anwendung nicht geändert werden, da sie auf mehr als ein Filterschlüsselwort angewendet werden. Verwende eine neuere Anwendung oder das Webinterface.
       invalid_context: Ungültiger oder fehlender Kontext übergeben
     index:
       contexts: Filter in %{contexts}
@@ -1129,7 +1129,7 @@ de:
       batch:
         remove: Vom Filter entfernen
       index:
-        hint: Dieser Filter wird verwendet, um einzelne Beiträge unabhängig von anderen Kriterien auszuwählen. Du kannst mehr Beiträge zu diesem Filter über die Webschnittstelle hinzufügen.
+        hint: Dieser Filter wird verwendet, um einzelne Beiträge unabhängig von anderen Kriterien auszuwählen. Du kannst mehr Beiträge zu diesem Filter über das Webinterface hinzufügen.
         title: Gefilterte Beiträge
   footer:
     trending_now: In den Trends
@@ -1190,7 +1190,7 @@ de:
     max_uses:
       one: 1 mal verwendet
       other: "%{count} mal verwendet"
-    max_uses_prompt: Kein Limit
+    max_uses_prompt: Keine Einschränkung
     prompt: Generiere und teile Links, um Zugang zu diesem Server zu erteilen
     table:
       expires_at: Läuft ab
@@ -1218,7 +1218,7 @@ de:
   migrations:
     acct: benutzername@domain des neuen Kontos
     cancel: Umleitung abbrechen
-    cancel_explanation: Das Abbrechen der Umleitung wird dein aktuelles Konto erneut aktivieren, aber keine Folgenden, die auf dieses Konto verschoben wurden, zurückholen.
+    cancel_explanation: Das Abbrechen der Umleitung wird dein aktuelles Konto erneut aktivieren, aber keine Follower, die auf dieses Konto verschoben wurden, zurückholen.
     cancelled_msg: Die Umleitung wurde erfolgreich abgebrochen.
     errors:
       already_moved: ist das gleiche Konto, zu dem du bereits umgezogen bist
@@ -1340,7 +1340,7 @@ de:
   relationships:
     activity: Kontoaktivität
     dormant: Inaktiv
-    follow_selected_followers: Ausgewählte Follower folgen
+    follow_selected_followers: Ausgewählten Followern folgen
     followers: Follower
     following: Folge ich
     invited: Eingeladen
@@ -1430,7 +1430,7 @@ de:
     profile: Profil
     relationships: Folge ich und Follower
     statuses_cleanup: Automatische Löschung
-    strikes: Strikes
+    strikes: Moderieren von Verstößen
     two_factor_authentication: Zwei-Faktor-Authentisierung (2FA)
     webauthn_authentication: Sicherheitsschlüssel
   statuses:
@@ -1524,7 +1524,7 @@ de:
     sensitive_content: Inhaltswarnung
   strikes:
     errors:
-      too_late: Es ist zu spät, um gegen diese Verwarnung Einspruch zu erheben
+      too_late: Es ist zu spät, um gegen diesen Verstoß Einspruch zu erheben
   tags:
     does_not_match_previous_name: entspricht nicht dem vorherigen Namen
   themes:
@@ -1554,11 +1554,11 @@ de:
   user_mailer:
     appeal_approved:
       action: Gehe zu deinem Konto
-      explanation: Der Einspruch gegen dem Strike vom %{strike_date}, den du am %{appeal_date} eingereicht hast, wurde genehmigt. Dein Konto ist wieder in gutem Zustand.
+      explanation: Der Einspruch gegen deinen Verstoß vom %{strike_date}, den du am %{appeal_date} eingereicht hast, wurde genehmigt. Dein Konto ist wieder in gutem Zustand.
       subject: Dein Einspruch vom %{date} wurde angenommen
       title: Einspruch angenommen
     appeal_rejected:
-      explanation: Der Einspruch gegen dem Strike vom %{strike_date}, den du am %{appeal_date} eingereicht hast, wurde abgelehnt.
+      explanation: Der Einspruch gegen deinen Verstoß vom %{strike_date}, den du am %{appeal_date} eingereicht hast, wurde abgelehnt.
       subject: Dein Einspruch vom %{date} wurde abgelehnt
       title: Einspruch abgelehnt
     backup_ready:
@@ -1577,11 +1577,11 @@ de:
       appeal_description: Wenn du glaubst, dass es sich um einen Fehler handelt, kannst du einen Einspruch an die Administration von %{instance} senden.
       categories:
         spam: Spam
-        violation: Inhalt verstößt gegen die folgenden Community-Richtlinien
+        violation: Inhalt verstößt gegen die folgenden Gemeinschaftsrichtlinien
       explanation:
-        delete_statuses: Einige deiner Beiträge wurden als Verstoß gegen eine oder mehrere Communityrichtlinien erkannt und von den Moderator_innen von %{instance} entfernt.
+        delete_statuses: Einige deiner Beiträge wurden als Verstoß gegen eine oder mehrere Gemeinschaftsrichtlinien erkannt und von den Moderator*innen von %{instance} entfernt.
         disable: Du kannst dein Konto nicht mehr verwenden, aber dein Profil und andere Daten bleiben unversehrt. Du kannst ein Backup deiner Daten anfordern, die Kontoeinstellungen ändern oder dein Konto löschen.
-        mark_statuses_as_sensitive: Ein oder mehrere Deiner Beiträge wurden von den Moderator*innen der Instanz %{instance} mit einer Inhaltswarnung (NSFW) versehen. Das bedeutet, dass Besucher*innen diese Medien in den Beiträgen zunächst antippen müssen, um die Vorschau anzuzeigen. Beim Verfassen der nächsten Beiträge kannst du auch selbst eine Inhaltswarnung für hochgeladene Medien festlegen.
+        mark_statuses_as_sensitive: Ein oder mehrere deiner Beiträge wurden von den Moderator*innen der Instanz %{instance} mit einer Inhaltswarnung versehen. Das bedeutet, dass Besucher*innen diese Medien in den Beiträgen zunächst antippen müssen, um die Vorschau anzuzeigen. Beim Verfassen der nächsten Beiträge kannst du auch selbst eine Inhaltswarnung für hochgeladene Medien festlegen.
         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.
diff --git a/config/locales/devise.cy.yml b/config/locales/devise.cy.yml
index e5366f8cd..3a898d731 100644
--- a/config/locales/devise.cy.yml
+++ b/config/locales/devise.cy.yml
@@ -2,7 +2,7 @@
 cy:
   devise:
     confirmations:
-      confirmed: Mae eich cyfeiriad e-bost wedi ei gadarnhau yn llwyddiannus.
+      confirmed: Mae eich cyfeiriad e-bost wedi'i gadarnhau'n llwyddiannus.
       send_instructions: Byddwch yn derbyn e-bost a chyfarwyddiadau am sut i gadarnhau eich cyfeiriad e-bost mewn rhai munudau. Os na dderbynioch chi'r e-bost hwn, edrychwch yn eich ffolder sbam os gwelwch yn dda.
       send_paranoid_instructions: Os yw eich cyfeiriad e-bost yn bodoli yn ein bas data, byddwch yn derbyn e-bost a chyfarwyddiadau am sut i gadarnhau eich cyfeiriad ebost mewn rhai munudau. Os na dderbynioch chi'r e-bost hwn, edrychwch yn eich ffolder sbam os gwelwch yn dda.
     failure:
@@ -42,13 +42,13 @@ cy:
         title: Gwirio cyfeiriad e-bost
       reset_password_instructions:
         action: Newid cyfrinair
-        explanation: Gofynnoch am gyfrinair newydd i'ch cyfrif.
-        extra: Os na wnaethoch gais am hyn, anwybyddwch yr e-bost hwn os gwelwch yn dda. Ni fydd eich cyfrinair yn newid nes i chi fynd at y ddolen uchod a chreu un newydd.
+        explanation: Fe wnaethoch chi ofyn am gyfrinair newydd ar gyfer eich cyfrif.
+        extra: Os na wnaethoch ofyn am hyn, anwybyddwch yr e-bost hwn. Ni fydd eich cyfrinair yn newid nes i chi gyrchu'r ddolen uchod a chreu un newydd.
         subject: 'Mastodon: Ailosod cyfarwyddiadau cyfrinair'
         title: Ailosod cyfrinair
       two_factor_disabled:
         explanation: Mae dilysu dau ffactor ar gyfer eich cyfrif wedi'i anablu. Mae mewngofnodi bellach yn bosibl gan ddefnyddio cyfeiriad e-bost a chyfrinair yn unig.
-        subject: 'Mastodon: Dilysu dau ffactor yn anabl'
+        subject: 'Mastodon: mae dilysu dau ffactor wedi''i alluogi'
         title: Dilysu dau ffactor yn anabl
       two_factor_enabled:
         explanation: Mae dilysu dau ffactor wedi'i alluogi ar gyfer eich cyfrif. Bydd angen tocyn a gynhyrchir gan yr ap TOTP pâr i fewngofnodi.
@@ -60,6 +60,23 @@ cy:
         title: Newidiodd codau adfer 2FA
       unlock_instructions:
         subject: 'Mastodon: Cyfarwyddiadau datgloi'
+      webauthn_credential:
+        added:
+          explanation: Mae'r allwedd ddiogelwch ganlynol wedi'i hychwanegu at eich cyfrif
+          subject: 'Mastodon: Allwedd ddiogelwch newydd'
+          title: Mae allwedd ddiogelwch newydd wedi'i hychwanegu
+        deleted:
+          explanation: Mae'r allwedd ddiogelwch ganlynol wedi'i dileu o'ch cyfrif
+          subject: 'Mastodon: Allwedd ddiogelwch wedi''i dileu'
+          title: Mae un o'ch allweddi diogelwch wedi'i ddileu
+      webauthn_disabled:
+        explanation: Mae dilysu gydag allweddi diogelwch wedi'i analluogi ar gyfer eich cyfrif. Mae mewngofnodi bellach yn bosibl gan ddefnyddio'r tocyn a gynhyrchir gan yr app TOTP pâr yn unig.
+        subject: 'Mastodon: Dilysiad gydag allweddi diogelwch wedi''i analluogi'
+        title: Allweddi diogelwch wedi'u hanalluogi
+      webauthn_enabled:
+        explanation: Mae dilysiad allwedd diogelwch wedi'i alluogi ar gyfer eich cyfrif. Gellir defnyddio'ch allwedd ddiogelwch nawr ar gyfer mewngofnodi.
+        subject: 'Mastodon: Dilysiad allwedd diogelwch wedi''i alluogi'
+        title: Allweddi diogelwch wedi'u galluogi
     omniauth_callbacks:
       failure: Methu eich dilysu o %{kind} oherwydd "%{reason}".
       success: Dilyswyd yn llwyddiannus o gyfrif %{kind}.
diff --git a/config/locales/devise.ko.yml b/config/locales/devise.ko.yml
index 45e5e47f8..6245d883d 100644
--- a/config/locales/devise.ko.yml
+++ b/config/locales/devise.ko.yml
@@ -19,7 +19,7 @@ ko:
     mailer:
       confirmation_instructions:
         action: 이메일 확인
-        action_with_app: 확인하고 %{app}으로 돌아가기
+        action_with_app: 확인하고 %{app} 앱으로 돌아가기
         explanation: 당신은 %{host}에서 이 이메일로 가입하셨습니다. 클릭만 하시면 계정이 활성화 됩니다. 만약 당신이 가입한 게 아니라면 이 메일을 무시해 주세요.
         explanation_when_pending: 당신은 %{host}에 가입 요청을 하셨습니다. 이 이메일이 확인 되면 우리가 가입 요청을 리뷰하고 승인할 수 있습니다. 그 전까지는 로그인을 할 수 없습니다. 당신의 가입 요청이 거부 될 경우 당신에 대한 정보는 모두 삭제 되며 따로 요청 할 필요는 없습니다. 만약 당신이 가입 요청을 한 게 아니라면 이 메일을 무시해 주세요.
         extra_html: <a href="%{terms_path}">서버의 규칙</a>과 <a href="%{policy_path}">이용 약관</a>도 확인해 주세요.
diff --git a/config/locales/devise.ms.yml b/config/locales/devise.ms.yml
index 2925688a0..f0f6274f5 100644
--- a/config/locales/devise.ms.yml
+++ b/config/locales/devise.ms.yml
@@ -1 +1,53 @@
+---
 ms:
+  devise:
+    confirmations:
+      confirmed: Alamat e-mel anda telah berjaya disahkan.
+      send_instructions: Anda akan menerima e-mel dengan arahan untuk mengesahkan alamat e-mel anda dalam beberapa minit lagi. Sila semak folder spam anda jika tidak menerima e-mel ini.
+      send_paranoid_instructions: Jika e-mel anda wujud dalam database kami, anda akan menerima e-mel dengan arahan untuk mengesahkan alamat e-mel anda dalam beberapa minit lagi. Sila semak folder spam anda jika tidak menerima e-mel ini.
+    failure:
+      already_authenticated: Anda sudah daftar masuk.
+      inactive: Akaun anda belum diaktifkan.
+      invalid: "%{authentication_keys} atau kata laluan tidak sah."
+      pending: Akaun anda masih dalam semakan.
+      unauthenticated: Anda perlu daftar masuk atau mendaftar sebelum meneruskan.
+      unconfirmed: Anda perlu menyesahkan alamat e-mel anda sebelum meneruskan.
+    mailer:
+      confirmation_instructions:
+        action: Sahkan alamat e-mel
+        explanation: Anda telah mencipta akaun pada %{host} dengan alamat e-mel ini. Anda satu klik sahaja daripada mengaktifkannya. Jika anda tidak mencipta akaun tersebut, sila abaikan e-mel ini.
+        title: Sahkan alamat e-mel
+      email_changed:
+        explanation: 'Alamat e-mel untuk akaun anda sedang diubah kepada:'
+        subject: 'Mastodon: E-mel ditukar'
+        title: Alamat e-mel baru
+      password_change:
+        explanation: Kata laluan untuk akaun anda telah ditukar.
+        subject: 'Mastodon: Kata laluan diubah'
+        title: Kata laluan ditukar
+      reconfirmation_instructions:
+        explanation: Sahkan alamat baru untuk menukarkan e-mel anda.
+        title: Sahkan alamat e-mel
+      reset_password_instructions:
+        action: Tukar kata laluan
+        explanation: Anda meminta kata laluan baru untuk akaun anda.
+        title: Set semula kata laluan
+      two_factor_disabled:
+        title: 2FA dinyahaktifkan
+      two_factor_enabled:
+        title: 2FA diaktifkan
+    passwords:
+      updated: Kata laluan anda telah berjaya ditukar. Anda telah didaftar masuk.
+      updated_not_active: Kata laluan anda telah berjaya ditukar.
+    registrations:
+      destroyed: Selamat tinggal! Akaun anda telah berjaya dibatalkan. Kami harap berjumpa lagi.
+      signed_up: Selamat datang! Anda telah berjaya mendaftar.
+      signed_up_but_inactive: Anda telah berjaya mendaftar. Namun, kami tidak dapat mendaftar masuk anda kerana akaun anda belum diaktifkan.
+    sessions:
+      already_signed_out: Daftar keluar berjaya.
+      signed_in: Daftar masuk berjaya.
+      signed_out: Daftar keluar berjaya.
+  errors:
+    messages:
+      already_confirmed: sudah disahkan, sila cuba mendaftar masuk
+      not_found: tidak dijumpai
diff --git a/config/locales/devise.th.yml b/config/locales/devise.th.yml
index e46500796..6717019a0 100644
--- a/config/locales/devise.th.yml
+++ b/config/locales/devise.th.yml
@@ -37,7 +37,7 @@ th:
         title: เปลี่ยนรหัสผ่านแล้ว
       reconfirmation_instructions:
         explanation: ยืนยันที่อยู่ใหม่เพื่อเปลี่ยนอีเมลของคุณ
-        extra: หากการเปลี่ยนแปลงนี้ไม่ได้ทำโดยคุณ โปรดเพิกเฉยต่ออีเมลนี้ ที่อยู่อีเมลสำหรับบัญชี Mastodon จะไม่เปลี่ยนแปลงจนกว่าคุณจะเข้าถึงลิงก์ด้านบน
+        extra: หากการเปลี่ยนแปลงนี้ไม่ได้เริ่มต้นโดยคุณ โปรดเพิกเฉยต่ออีเมลนี้ ที่อยู่อีเมลสำหรับบัญชี Mastodon จะไม่เปลี่ยนแปลงจนกว่าคุณจะเข้าถึงลิงก์ด้านบน
         subject: 'Mastodon: ยืนยันอีเมลสำหรับ %{instance}'
         title: ยืนยันที่อยู่อีเมล
       reset_password_instructions:
@@ -89,8 +89,8 @@ th:
     registrations:
       destroyed: ลาก่อน! ยกเลิกบัญชีของคุณสำเร็จ เราหวังว่าจะได้พบคุณอีกในเร็ว ๆ นี้
       signed_up: ยินดีต้อนรับ! คุณได้ลงทะเบียนสำเร็จ
-      signed_up_but_inactive: คุณได้ลงทะเบียนสำเร็จ อย่างไรก็ตามเราไม่สามารถลงชื่อคุณเข้าได้เนื่องจากยังไม่ได้เปิดใช้งานบัญชีของคุณ
-      signed_up_but_locked: คุณได้ลงทะเบียนสำเร็จ อย่างไรก็ตามเราไม่สามารถลงชื่อคุณเข้าได้เนื่องจากมีการล็อคบัญชีของคุณอยู่
+      signed_up_but_inactive: คุณได้ลงทะเบียนสำเร็จ อย่างไรก็ตาม เราไม่สามารถลงชื่อคุณเข้าได้เนื่องจากยังไม่ได้เปิดใช้งานบัญชีของคุณ
+      signed_up_but_locked: คุณได้ลงทะเบียนสำเร็จ อย่างไรก็ตาม เราไม่สามารถลงชื่อคุณเข้าได้เนื่องจากมีการล็อคบัญชีของคุณอยู่
       signed_up_but_pending: ส่งข้อความพร้อมลิงก์ยืนยันไปยังที่อยู่อีเมลของคุณแล้ว หลังจากคุณคลิกลิงก์ เราจะตรวจทานใบสมัครของคุณ คุณจะได้รับการแจ้งเตือนหากมีการอนุมัติใบสมัคร
       signed_up_but_unconfirmed: ส่งข้อความพร้อมลิงก์ยืนยันไปยังที่อยู่อีเมลของคุณแล้ว โปรดไปตามลิงก์เพื่อเปิดใช้งานบัญชีของคุณ โปรดตรวจสอบโฟลเดอร์สแปมของคุณหากคุณไม่ได้รับอีเมลนี้
       update_needs_confirmation: คุณได้อัปเดตบัญชีของคุณสำเร็จ แต่เราจำเป็นต้องยืนยันที่อยู่อีเมลใหม่ของคุณ โปรดตรวจสอบอีเมลของคุณแล้วไปตามลิงก์ยืนยันเพื่อยืนยันที่อยู่อีเมลใหม่ของคุณ โปรดตรวจสอบโฟลเดอร์สแปมของคุณหากคุณไม่ได้รับอีเมลนี้
diff --git a/config/locales/doorkeeper.cy.yml b/config/locales/doorkeeper.cy.yml
index 85aaccea6..ccab1ddb4 100644
--- a/config/locales/doorkeeper.cy.yml
+++ b/config/locales/doorkeeper.cy.yml
@@ -42,7 +42,7 @@ cy:
         name: Enw
         new: Rhaglen newydd
         scopes: Rhinweddau
-        show: Dangoswch
+        show: Dangos
         title: Eich rhaglenni
       new:
         title: Rhaglen newydd
@@ -60,6 +60,8 @@ cy:
       error:
         title: Mae rhywbeth wedi mynd o'i le
       new:
+        prompt_html: Hoffai %{client_name} gael caniatâd i gael mynediad i'ch cyfrif. Mae'n gais trydydd parti. <strong>Os nad ydych yn ymddiried ynddo, yna ni ddylech ei awdurdodi.</strong>
+        review_permissions: Adolygu caniatâd
         title: Angen awdurdodi
       show:
         title: Copiwch y côd awdurdodi a gludiwch i'r rhaglen.
@@ -69,7 +71,12 @@ cy:
       confirmations:
         revoke: Ydych chi'n sicr?
       index:
+        authorized_at: Wedi'i awdurdodi ar %{date}
+        description_html: Mae'r rhain yn raglenni sy'n gallu cael mynediad i'ch cyfrif gan ddefnyddio'r API. Os oes yna rhaglenni nad ydych chi'n eu hadnabod yma, neu os yw rhaglen yn camymddwyn, gallwch chi ddiddymu ei fynediad.
+        last_used_at: Defnyddiwyd ddiwethaf ar %{date}
+        never_used: Erioed wedi'i ddefnyddio
         scopes: Caniatâd
+        superapp: Mewnol
         title: Eich rhaglenni awdurdodedig
     errors:
       messages:
@@ -78,6 +85,10 @@ cy:
         invalid_client: Methwyd dilysu cleient oherwydd cleient anhysbys, methiant i gynnwys dilysu cleient, neu defnydd o ddull dilysu nid yw'n cael ei gefnodi.
         invalid_grant: Mae'r grant dilysu a ddarparwyd yn annilys, wedi dod i ben, wedi'i wrthod, ddim yn cyfateb a'r URI ailgyferio a ddefnyddiwyd yn y cais dilysu, neu wedi ei ddarparu i gleient arall.
         invalid_redirect_uri: Nid yw'r uri ailgyfeirio cynnwysiedig yn gyfredol.
+        invalid_request:
+          missing_param: 'Paramedr gofynnol ar goll: %{value}.'
+          request_not_authorized: Mae angen awdurdodi'r cais. Mae'r paramedr gofynnol ar gyfer awdurdodi cais ar goll neu'n annilys.
+          unknown: Mae'r cais yn brin o baramedr gofynnol, yn cynnwys gwerth paramedr heb ei gefnogi, neu wedi ei gamffurfio fel arall.
         invalid_resource_owner: Nid yw meini prawf perchennog yr adnodd yn ddilys, neu ni ellir canfod perchennog yr adnodd
         invalid_scope: Mae'r sgôp a geisiwyd amdano yn annilys, anhysbys, neu'n gamffurfiedig.
         invalid_token:
@@ -102,11 +113,32 @@ cy:
         destroy:
           notice: Diddymwyd y cais.
     grouped_scopes:
+      access:
+        read: Mynediad darllen yn unig
+        read/write: Mynediad darllen ac ysgrifennu
+        write: Mynediad ysgrifennu yn unig
       title:
         accounts: Cyfrifon
+        admin/accounts: Gweinyddu cyfrifon
+        admin/all: Pob swyddogaeth weinyddol
+        admin/reports: Gweinyddu adroddiadau
+        all: Popeth
+        blocks: Blociau
         bookmarks: Tudalnodau
+        conversations: Sgyrsiau
+        crypto: Amgryptio o ben i ben
+        favourites: Ffefrynnau
         filters: Hidlyddion
+        follow: Perthnasau
+        follows: Yn dilyn
+        lists: Rhestrau
+        media: Atodiadau cyfryngau
+        mutes: Tewi
+        notifications: Hysbysiadau
+        push: Hysbysiadau gwthiadwy
+        reports: Adroddiadau
         search: Chwilio
+        statuses: Postiadau
     layouts:
       admin:
         nav:
@@ -121,6 +153,7 @@ cy:
       admin:write: addasu pob data ar y serfiwr
       admin:write:accounts: cyflawni camau cymedroli ar gyfrifon
       admin:write:reports: cyflawni camau cymedroli ar adroddiadau
+      crypto: defnyddio amgryptio ben i ben
       follow: addasu perthnasau cyfrif
       push: derbyn eich hysbysiadau gwthiadwy
       read: darllen holl ddata eich cyfrif
@@ -140,6 +173,7 @@ cy:
       write:accounts: addasu eich proffil
       write:blocks: blocio cyfrifon a parthau
       write:bookmarks: statwsau tudalnod
+      write:conversations: tewi a dileu sgyrsiau
       write:favourites: hoff dŵtiau
       write:filters: creu hidlwyr
       write:follows: dilyn pobl
diff --git a/config/locales/doorkeeper.ga.yml b/config/locales/doorkeeper.ga.yml
index 73ff9d0fc..4db1d5b95 100644
--- a/config/locales/doorkeeper.ga.yml
+++ b/config/locales/doorkeeper.ga.yml
@@ -36,7 +36,7 @@ ga:
         all: Gach Rud
         bookmarks: Leabharmharcanna
         conversations: Comhráite
-        favourites: Roghanna
+        favourites: Toghanna
         lists: Liostaí
         notifications: Fógraí
         statuses: Postálacha
diff --git a/config/locales/doorkeeper.ko.yml b/config/locales/doorkeeper.ko.yml
index 3526bab0e..deeb17f0a 100644
--- a/config/locales/doorkeeper.ko.yml
+++ b/config/locales/doorkeeper.ko.yml
@@ -124,7 +124,7 @@ ko:
         admin/reports: 신고 관리
         all: 전체
         blocks: 차단
-        bookmarks: 북마크
+        bookmarks: 책갈피
         conversations: 대화
         crypto: 종단간 암호화
         favourites: 좋아요
@@ -159,7 +159,7 @@ ko:
       read: 계정의 모든 데이터를 읽기
       read:accounts: 계정의 정보를 보기
       read:blocks: 차단을 보기
-      read:bookmarks: 내 보관함 보기
+      read:bookmarks: 내 책갈피 보기
       read:favourites: 관심글을 보기
       read:filters: 필터를 보기
       read:follows: 팔로우를 보기
@@ -172,7 +172,7 @@ ko:
       write: 계정 정보 수정
       write:accounts: 프로필 수정
       write:blocks: 계정이나 도메인 차단
-      write:bookmarks: 게시글을 보관함에 넣기
+      write:bookmarks: 글을 책갈피에 넣기
       write:conversations: 뮤트와 대화 삭제
       write:favourites: 관심글 지정
       write:filters: 필터 만들기
diff --git a/config/locales/doorkeeper.ms.yml b/config/locales/doorkeeper.ms.yml
index 2925688a0..87c1078c1 100644
--- a/config/locales/doorkeeper.ms.yml
+++ b/config/locales/doorkeeper.ms.yml
@@ -1 +1,54 @@
+---
 ms:
+  activerecord:
+    attributes:
+      doorkeeper/application:
+        name: Nama aplikasi
+  doorkeeper:
+    applications:
+      buttons:
+        cancel: Batal
+        edit: Sunting
+        submit: Hantar
+      confirmations:
+        destroy: Anda pasti?
+      index:
+        delete: Padam
+        name: Nama
+        show: Paparkan
+    authorized_applications:
+      index:
+        superapp: Dalaman
+    flash:
+      applications:
+        create:
+          notice: Aplikasi dicipta.
+        destroy:
+          notice: Aplikasi dipadamkan.
+        update:
+          notice: Aplikasi dikemaskini.
+    grouped_scopes:
+      title:
+        accounts: Akaun
+        admin/accounts: Pengurusan akaun
+        admin/all: Semua fungsi pengurusan
+        admin/reports: Pengurusan laporan
+        all: Semua
+        conversations: Perbualan
+        follow: Hubungan
+        follows: Ikutan
+        media: Lampiran media
+        notifications: Pemberitahuan
+        push: Pemberitahuan segera
+        reports: Laporan
+        search: Cari
+        statuses: Hantaran
+    scopes:
+      admin:read: baca semua data pada pelayan
+      admin:read:accounts: baca maklumat sensitif untuk semua akaun
+      admin:read:reports: baca maklumat sensitif untuk semua laporan dan akaun-akaun yang dilaporkan
+      admin:write: mengubah semua data pada pelayan
+      read:statuses: lihat semua hantaran
+      write:bookmarks: menandabuku hantaran
+      write:favourites: hantaran kegemaran
+      write:statuses: terbitkan hantaran
diff --git a/config/locales/es.yml b/config/locales/es.yml
index 94478df9b..ef314275c 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -608,6 +608,7 @@ es:
         other: "%{count} usuarios"
       categories:
         administration: Administración
+        devops: DevOps
         invites: Invitaciones
         moderation: Moderación
         special: Especial
@@ -658,6 +659,7 @@ es:
         view_audit_log_description: Permite a los usuarios ver un historial de acciones administrativas en el servidor
         view_dashboard: Ver Panel de Control
         view_dashboard_description: Permite a los usuarios acceder al panel de control y varias métricas
+        view_devops: DevOps
         view_devops_description: Permite a los usuarios acceder a los paneles de control Sidekiq y pgHero
       title: Roles
     rules:
@@ -1371,6 +1373,7 @@ es:
     browser: Navegador
     browsers:
       alipay: Alipay
+      blackberry: BlackBerry
       chrome: Chrome
       edge: Microsoft Edge
       electron: Electron
@@ -1384,6 +1387,7 @@ es:
       phantom_js: PhantomJS
       qq: Navegador QQ
       safari: Safari
+      uc_browser: Navegador UC
       weibo: Weibo
     current_session: Sesión actual
     description: "%{browser} en %{platform}"
@@ -1392,6 +1396,8 @@ es:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      blackberry: BlackBerry
+      chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
       linux: GNU Linux
diff --git a/config/locales/ga.yml b/config/locales/ga.yml
index 9df952ef1..05fed9dfd 100644
--- a/config/locales/ga.yml
+++ b/config/locales/ga.yml
@@ -179,6 +179,7 @@ ga:
     statuses:
       account: Údar
       deleted: Scriosta
+      favourites: Toghanna
       language: Teanga
       media:
         title: Meáin
@@ -246,13 +247,19 @@ ga:
     admin:
       report:
         subject: Chuir %{name} tuairisc isteach
+    reblog:
+      subject: Mhol %{name} do phostáil
+      title: Moladh nua
   rss:
     content_warning: 'Rabhadh ábhair:'
   statuses:
+    boosted_from_html: Molta ó %{acct_link}
     content_warning: 'Rabhadh ábhair: %{warning}'
     show_more: Taispeáin níos mó
     show_newer: Taispeáin níos nuaí
     show_thread: Taispeáin snáithe
+  statuses_cleanup:
+    ignore_favs: Tabhair neamhaird ar toghanna
   user_mailer:
     warning:
       appeal: Cuir achomharc isteach
diff --git a/config/locales/gd.yml b/config/locales/gd.yml
index 24dc6e7ca..034dce19d 100644
--- a/config/locales/gd.yml
+++ b/config/locales/gd.yml
@@ -634,6 +634,7 @@ gd:
         two: "%{count} chleachdaiche"
       categories:
         administration: Rianachd
+        devops: DevOps
         invites: Cuiridhean
         moderation: Maorsainneachd
         special: Sònraichte
@@ -686,6 +687,7 @@ gd:
         view_audit_log_description: Leigidh seo le cleachdaichean coimhead air eachdraidh gnìomhan na rianachd air an fhrithealaiche
         view_dashboard: Coimhead air an deas-bhòrd
         view_dashboard_description: Leigidh seo le cleachdaichean an deas-bhòrd agus meatrachdan inntrigeadh
+        view_devops: DevOps
         view_devops_description: Leigidh seo le cleachdaichean na deas-bhùird aig Sidekiq is pgHero inntrigeadh
       title: Dreuchdan
     rules:
@@ -1423,6 +1425,7 @@ gd:
     browser: Brabhsair
     browsers:
       alipay: Alipay
+      blackberry: BlackBerry
       chrome: Chrome
       edge: Microsoft Edge
       electron: Electron
@@ -1436,6 +1439,7 @@ gd:
       phantom_js: PhantomJS
       qq: QQ Browser
       safari: Safari
+      uc_browser: UC Browser
       weibo: Weibo
     current_session: An seisean làithreach
     description: "%{browser} air %{platform}"
@@ -1444,6 +1448,8 @@ gd:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      blackberry: BlackBerry
+      chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
       linux: Linux
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index cb15fc513..9ad091753 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -608,6 +608,7 @@ gl:
         other: "%{count} usuarias"
       categories:
         administration: Administración
+        devops: DevOps
         invites: Convites
         moderation: Moderación
         special: Especial
@@ -658,6 +659,7 @@ gl:
         view_audit_log_description: Permite ver o historial de accións administrativas no servidor
         view_dashboard: Ver Taboleiro
         view_dashboard_description: Permite acceder ao taboleiro e varias métricas do servidor
+        view_devops: DevOps
         view_devops_description: Permite acceder aos taboleiros Sidekiq e phHero
       title: Roles
     rules:
@@ -1371,6 +1373,7 @@ gl:
     browser: Navegador
     browsers:
       alipay: Alipay
+      blackberry: Blackberry
       chrome: Chrome
       edge: Microsoft Edge
       electron: Electron
@@ -1384,6 +1387,7 @@ gl:
       phantom_js: PhantomJS
       qq: Navegador QQ
       safari: Safari
+      uc_browser: Navegador QQ
       weibo: Weibo
     current_session: Sesión actual
     description: "%{browser} en %{platform}"
@@ -1392,6 +1396,8 @@ gl:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      blackberry: Blackberry
+      chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
       linux: Linux
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 529d4dadf..507501934 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -608,6 +608,7 @@ hu:
         other: "%{count} felhasználó"
       categories:
         administration: Adminisztráció
+        devops: DevOps
         invites: Meghívások
         moderation: Moderáció
         special: Speciális
@@ -658,6 +659,7 @@ hu:
         view_audit_log_description: Lehetővé teszi, hogy a felhasználó megtekintse a kiszolgáló adminisztratív eseményeinek történetét
         view_dashboard: Irányítópult megtekintése
         view_dashboard_description: Lehetővé teszi, hogy a felhasználó elérje az irányítópultot és vele számos metrikát
+        view_devops: DevOps
         view_devops_description: Lehetővé teszi, hogy a felhasználó elérje a Sidekiq és pgHero irányítópultjait
       title: Szerepek
     rules:
@@ -1371,6 +1373,7 @@ hu:
     browser: Böngésző
     browsers:
       alipay: Alipay
+      blackberry: BlackBerry
       chrome: Chrome
       edge: Microsoft Edge
       electron: Electron
@@ -1384,6 +1387,7 @@ hu:
       phantom_js: PhantomJS
       qq: QQ Browser
       safari: Safari
+      uc_browser: UC Browser
       weibo: Weibo
     current_session: Jelenlegi munkamenet
     description: "%{browser} az alábbi platformon: %{platform}"
@@ -1392,6 +1396,8 @@ hu:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      blackberry: BlackBerry
+      chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
       linux: Linux
diff --git a/config/locales/kab.yml b/config/locales/kab.yml
index 9c2539ce7..5b80c5d2a 100644
--- a/config/locales/kab.yml
+++ b/config/locales/kab.yml
@@ -382,6 +382,13 @@ kab:
       empty: Mazal ur ttwasbadun ara yilugan n uqeddac.
       title: Ilugan n uqeddac
     settings:
+      about:
+        title: Γef
+      appearance:
+        title: Udem
+      discovery:
+        profile_directory: Akaram n imaγnuten
+        trends: Ayen mucaɛen
       domain_blocks:
         all: I medden akk
         disabled: Γef ula yiwen
@@ -390,6 +397,7 @@ kab:
         modes:
           none: Yiwen·t ur yzmir ad izeddi
           open: Zemren akk ad jerden
+      title: Iɣewwaṛen n uqeddac
     site_uploads:
       delete: Kkes afaylu yulin
     statuses:
@@ -405,6 +413,9 @@ kab:
     warning_presets:
       add_new: Rnu amaynut
       delete: Kkes
+    webhooks:
+      delete: Kkes
+      enable: Rmed
   admin_mailer:
     new_report:
       body: "%{reporter} yettwazen ɣef %{target}"
@@ -518,7 +529,12 @@ kab:
       empty: Ur tesɛid ara imzizdigen.
       title: Imzizdigen
     new:
+      save: Sekles amsizdeg amaynut
       title: Rnu yiwen umzizdig amaynut
+    statuses:
+      back_to_filter: Tuɣalin ɣer umsizdeg
+      batch:
+        remove: Kkes seg umsizdeg
   footer:
     trending_now: Ayen mucaɛen tura
   generic:
@@ -746,6 +762,7 @@ kab:
         silence: Amiḍan yesɛa talast
         suspend: Amiḍan yettwaḥebsen
     welcome:
+      final_action: Bdu asuffeɣ
       full_handle: Tansa umiḍan-ik takemmalit
       subject: Ansuf γer Maṣṭudun
       title: Ansuf yessek·em, %{name}!
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 74f6f56a8..674782293 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -25,9 +25,9 @@ ko:
       action: 조치 취하기
       title: "%{acct} 계정에 중재 취하기"
     account_moderation_notes:
-      create: 중재 기록 작성하기
-      created_msg: 중재 기록이 성공적으로 작성되었습니다!
-      destroyed_msg: 중재 기록이 성공적으로 삭제되었습니다!
+      create: 기록 남기기
+      created_msg: 중재용 기록이 성공적으로 작성되었습니다!
+      destroyed_msg: 중재용 기록이 성공적으로 삭제되었습니다!
     accounts:
       add_email_domain_block: 이 이메일 도메인을 차단하기
       approve: 승인
@@ -93,7 +93,7 @@ ko:
         silenced: 제한됨
         suspended: 정지 중
         title: 중재
-      moderation_notes: 중재 기록
+      moderation_notes: 중재용 기록
       most_recent_activity: 최근 활동순
       most_recent_ip: 최근 IP
       no_account_selected: 아무 것도 선택 되지 않아 어떤 계정도 변경 되지 않았습니다
@@ -139,7 +139,7 @@ ko:
         targeted_reports: 이 계정에 대한 신고
       silence: 침묵
       silenced: 침묵 됨
-      statuses: 게시물
+      statuses: 글
       strikes: 이전의 처벌들
       subscribe: 구독하기
       suspend: 정지
@@ -188,7 +188,7 @@ ko:
         destroy_email_domain_block: 이메일 도메인 차단 삭제
         destroy_instance: 도메인 제거
         destroy_ip_block: IP 규칙 삭제
-        destroy_status: 게시물 삭제
+        destroy_status: 글 삭제
         destroy_unavailable_domain: 사용 불가능한 도메인 제거
         destroy_user_role: 역할 삭제
         disable_2fa_user: 2단계 인증 비활성화
@@ -219,7 +219,7 @@ ko:
         update_custom_emoji: 커스텀 에모지 업데이트
         update_domain_block: 도메인 차단 갱신
         update_ip_block: IP 규칙 수정
-        update_status: 게시물 게시
+        update_status: 글 쓰기
         update_user_role: 역할 수정
       actions:
         approve_appeal_html: "%{name} 님이 %{target}의 중재 결정에 대한 이의 제기를 승인했습니다"
@@ -247,7 +247,7 @@ ko:
         destroy_email_domain_block_html: "%{name} 님이 이메일 도메인 %{target}을 차단 해제하였습니다"
         destroy_instance_html: "%{name} 님이 도메인 %{target}를 제거했습니다"
         destroy_ip_block_html: "%{name} 님이 IP 규칙 %{target}을 삭제하였습니다"
-        destroy_status_html: "%{name} 님이 %{target}의 게시물을 삭제했습니다"
+        destroy_status_html: "%{name} 님이 %{target} 님의 글을 삭제했습니다"
         destroy_unavailable_domain_html: "%{name} 님이 도메인 %{target}에 대한 전달을 재개"
         destroy_user_role_html: "%{name} 님이 %{target} 역할을 삭제했습니다"
         disable_2fa_user_html: "%{name} 님이 사용자 %{target}의 2FA를 비활성화 했습니다"
@@ -530,8 +530,8 @@ ko:
       status: 상태
       title: 릴레이
     report_notes:
-      created_msg: 리포트 노트가 성공적으로 작성되었습니다!
-      destroyed_msg: 리포트 노트가 성공적으로 삭제되었습니다!
+      created_msg: 신고용 기록이 성공적으로 작성되었습니다!
+      destroyed_msg: 신고용 기록이 성공적으로 삭제되었습니다!
       today_at: 오늘 %{time}
     reports:
       account:
@@ -558,7 +558,7 @@ ko:
         none: 없음
       comment_description_html: '더 많은 정보를 위해, %{name} 님이 작성했습니다:'
       created_at: 리포트 시각
-      delete_and_resolve: 게시물 삭제
+      delete_and_resolve: 글 삭제
       forwarded: 전달됨
       forwarded_to: "%{domain}에게 전달됨"
       mark_as_resolved: 해결 완료 처리
@@ -566,13 +566,13 @@ ko:
       mark_as_unresolved: 미해결로 표시
       no_one_assigned: 아무도 없음
       notes:
-        create: 기록 추가
+        create: 기록을 넣기
         create_and_resolve: 기록을 작성하고 해결됨으로 표시
         create_and_unresolve: 기록 작성과 함께 미해결로 표시
         delete: 삭제
         placeholder: 이 리포트에 대한 조치, 기타 관련 된 사항에 대해 설명합니다…
-        title: 노트
-      notes_description_html: 확인하고 다른 중재자나 미래의 자신을 위해 노트를 작성합니다
+        title: 기록
+      notes_description_html: 다른 중재자와 미래의 자신에게 기록을 남깁니다
       quick_actions_description_html: '빠른 조치를 취하거나 아래로 스크롤해서 신고된 콘텐츠를 확인하세요:'
       remote_user_placeholder: "%{instance}의 리모트 사용자"
       reopen: 리포트 다시 열기
@@ -699,7 +699,7 @@ ko:
       account: 작성자
       application: 애플리케이션
       back_to_account: 계정으로 돌아가기
-      back_to_report: 신고 페이지로 돌아가기
+      back_to_report: 신고로 돌아가기
       batch:
         remove_from_report: 신고에서 제거
         report: 신고
@@ -722,7 +722,7 @@ ko:
       with_media: 미디어 있음
     strikes:
       actions:
-        delete_statuses: "%{name} 님이 %{target}의 게시물을 지웠습니다"
+        delete_statuses: "%{name} 님이 %{target} 님의 글을 삭제했습니다"
         disable: "%{name} 님이 %{target}의 계정을 동결시켰습니다"
         mark_statuses_as_sensitive: "%{name} 님이 %{target}의 게시물을 민감함으로 표시했습니다"
         none: "%{name} 님이 %{target}에게 경고를 보냈습니다"
@@ -774,10 +774,10 @@ ko:
         title: 출처
       rejected: 거부됨
       statuses:
-        allow: 게시물 허용
+        allow: 글 허용
         allow_account: 작성자 허용
         description_html: 당신의 서버가 알기로 현재 많은 수의 공유와 좋아요가 되고 있는 게시물들입니다. 새로운 사용자나 돌아오는 사용자들이 팔로우 할 사람들을 찾는 데 도움이 될 수 있습니다. 작성자를 승인하고, 작성자가 그들의 계정이 다른 계정에게 탐색되도록 설정하지 않는 한 게시물들은 공개적으로 표시되지 않습니다. 또한 각각의 게시물을 별개로 거절할 수도 있습니다.
-        disallow: 게시물 불허
+        disallow: 글 비허용
         disallow_account: 작성자 불허
         no_status_selected: 아무 것도 선택 되지 않아 어떤 유행중인 게시물도 바뀌지 않았습니다
         not_discoverable: 작성자가 발견되기를 원치 않습니다
@@ -852,7 +852,7 @@ ko:
     new_report:
       body: "%{reporter} 님이 %{target}를 신고했습니다"
       body_remote: "%{domain}의 누군가가 %{target}을 신고했습니다"
-      subject: "%{instance} 에 새 신고 등록됨 (#%{id})"
+      subject: "%{instance}의 새로운 신고(#%{id})"
     new_trends:
       body: '아래에 있는 항목들은 공개적으로 보여지기 전에 검토를 거쳐야 합니다:'
       new_trending_links:
@@ -878,7 +878,7 @@ ko:
     confirmation_dialogs: 확인 대화상자
     discovery: 발견하기
     localization:
-      body: 마스토돈은 자원봉사자들에 의해 번역되었습니다.
+      body: 마스토돈은 자원봉사자가 번역합니다.
       guide_link: https://crowdin.com/project/mastodon
       guide_link_text: 누구나 기여할 수 있습니다.
     sensitive_content: 민감한 내용
@@ -901,7 +901,7 @@ ko:
     apply_for_account: 대기자 명단에 들어가기
     change_password: 패스워드
     delete_account: 계정 삭제
-    delete_account_html: 계정을 삭제하고 싶은 경우, <a href="%{path}">여기서</a> 삭제할 수 있습니다. 삭제 전 확인 화면이 표시됩니다.
+    delete_account_html: 계정은 <a href="%{path}">여기</a>에서 삭제할 수 있습니다. 계정을 삭제하려면 확인이 필요합니다.
     description:
       prefix_invited_by_user: "@%{name} 님이 당신을 이 마스토돈 서버로 초대했습니다!"
       prefix_sign_up: 마스토돈에 가입하세요!
@@ -1016,10 +1016,10 @@ ko:
       approve_appeal: 이의제기 승인
       associated_report: 관련된 신고
       created_at: 날짜
-      description_html: 이 결정사항들은 당신에 계정에 대해 행해졌고 %{instance}의 스태프에 의해 경고가 발송되었습니다.
+      description_html: 이것은 %{instance}의 관리자가 내 계정에 조치한 결정 및 나에게 보낸 경고입니다.
       recipient: 수신자
       reject_appeal: 이의 제기 거절
-      status: '게시물 #%{id}'
+      status: '글 #%{id}'
       status_removed: 게시물이 이미 시스템에서 지워졌습니다
       title: "%{action} (%{date}에)"
       title_actions:
@@ -1038,7 +1038,7 @@ ko:
   errors:
     '400': 제출한 요청이 올바르지 않습니다.
     '403': 이 페이지를 표시할 권한이 없습니다.
-    '404': 당신이 찾으려는 페이지는 존재하지 않습니다.
+    '404': 찾으려는 페이지가 존재하지 않습니다.
     '406': 이 페이지는 요청한 자료형으로 제공되지 않습니다.
     '410': 당신이 보려는 페이지는 더이상 여기에 존재하지 않습니다.
     '422':
@@ -1062,7 +1062,7 @@ ko:
       request: 아카이브 요청하기
       size: 크기
     blocks: 차단
-    bookmarks: 보관함
+    bookmarks: 책갈피
     csv: CSV
     domain_blocks: 도메인 차단
     lists: 리스트
@@ -1146,7 +1146,7 @@ ko:
     success: 파일이 정상적으로 업로드되었으며, 현재 처리 중입니다
     types:
       blocking: 차단한 계정 목록
-      bookmarks: 보관함
+      bookmarks: 책갈피
       domain_blocking: 도메인 차단 목록
       following: 팔로우 중인 계정 목록
       muting: 뮤트 중인 계정 목록
@@ -1227,7 +1227,7 @@ ko:
   move_handler:
     carry_blocks_over_text: 이 사용자는 당신이 차단한 %{acct}로부터 이주 했습니다.
     carry_mutes_over_text: 이 사용자는 당신이 뮤트한 %{acct}로부터 이주 했습니다.
-    copy_account_note_text: '이 사용자는 %{acct}로부터 이동하였습니다. 당신의 이전 노트는 이렇습니다:'
+    copy_account_note_text: '이 사용자는 %{acct}에서 옮겨왔으며 이전의 기록은 다음과 같습니다:'
   navigation:
     toggle_menu: 토글 메뉴
   notification_mailer:
@@ -1253,7 +1253,7 @@ ko:
       action: 답장
       body: "%{name} 님이 나를 언급했습니다:"
       subject: "%{name} 님이 나를 언급했습니다"
-      title: 새 멘션
+      title: 새 답글
     poll:
       subject: "%{name}의 투표가 종료되었습니다"
     reblog:
@@ -1305,7 +1305,7 @@ ko:
       too_many_options: 항목은 %{max}개를 넘을 수 없습니다
   preferences:
     other: 기타
-    posting_defaults: 게시물 기본설정
+    posting_defaults: 글 기본 설정
     public_timelines: 공개 타임라인
   privacy_policy:
     title: 개인정보 정책
@@ -1392,7 +1392,7 @@ ko:
     aliases: 계정 별명
     appearance: 외관
     authorized_apps: 인증된 애플리케이션
-    back: 돌아가기
+    back: 마스토돈으로 돌아가기
     delete: 계정 삭제
     development: 개발
     edit_profile: 프로필 편집
@@ -1429,7 +1429,7 @@ ko:
     open_in_web: Web으로 열기
     over_character_limit: 최대 %{max}자까지 입력할 수 있습니다
     pin_errors:
-      direct: 멘션된 사용자들에게만 보이는 게시물은 고정될 수 없습니다
+      direct: 언급한 사용자만이 보이는 글은 고정할 수 없습니다
       limit: 이미 너무 많은 게시물을 고정했습니다
       ownership: 다른 사람의 게시물은 고정될 수 없습니다
       reblog: 부스트는 고정될 수 없습니다
@@ -1462,16 +1462,16 @@ ko:
     ignore_reblogs: 부스트 무시
     interaction_exceptions: 상호작용에 기반한 예외들
     interaction_exceptions_explanation: 좋아요나 부스트 수가 설정한 값을 넘은 후 다시 낮아진 경우에는 게시물이 삭제되는 것을 보장하지 못합니다.
-    keep_direct: 다이렉트 메시지 유지
-    keep_direct_hint: 다이렉트 메시지를 삭제하지 않습니다
+    keep_direct: 쪽지 보존하기
+    keep_direct_hint: 내 쪽지를 삭제하지 않습니다
     keep_media: 미디어가 있는 게시물 유지
     keep_media_hint: 미디어가 첨부된 게시물을 삭제하지 않습니다
     keep_pinned: 고정된 게시물 유지
     keep_pinned_hint: 고정 게시물을 삭제하지 않습니다
     keep_polls: 투표 유지
     keep_polls_hint: 투표를 삭제하지 않습니다
-    keep_self_bookmark: 북마크된 게시물 유지
-    keep_self_bookmark_hint: 내 스스로 북마크한 본인의 게시물을 삭제하지 않습니다
+    keep_self_bookmark: 책갈피에 넣은 글을 보존하기
+    keep_self_bookmark_hint: 책갈피에 넣은 내 글을 삭제하지 않습니다
     keep_self_fav: 마음에 들어한 게시물 유지
     keep_self_fav_hint: 내 스스로 마음에  들어한 본인의 게시물을 삭제하지 않습니다
     min_age:
@@ -1556,9 +1556,9 @@ ko:
         silence: 당신은 여전히 당신의 계정을 사용할 수 있지만 당신을 팔로우 하고 있는 사람들만 당신의 게시물을 볼 수 있으며, 여러가지 탐색 기능에서 제외됩니다. 하지만, 여전히 다른 사람들은 수동으로 당신을 팔로우 할 수 있습니다.
         suspend: 당신은 더이상 당신의 계정을 사용할 수 없으며, 프로필과 데이터는 접근 불가능하게 됩니다. 데이터가 완전히 삭제되기 전인 30일동안은 여전히 백업을 요청하기 위해 로그인 할 수 있습니다, 하지만 계정 정지를 회피하는 것을 방지하기 위하여 몇 가지 정보는 유지됩니다.
       reason: '사유:'
-      statuses: '인용된 게시물:'
+      statuses: '인용한 글: '
       subject:
-        delete_statuses: 당신의 계정 %{acct}에서 작성한 게시물이 삭제되었습니다
+        delete_statuses: "%{acct}의 글이 삭제되었습니다"
         disable: 당신의 계정 %{acct}가 동결 되었습니다
         mark_statuses_as_sensitive: "%{acct}로 작성한 당신의 게시물은 민감한 것으로 표시되었습니다"
         none: "%{acct}에게의 경고"
@@ -1566,7 +1566,7 @@ ko:
         silence: 당신의 계정 %{acct}가 제한 되었습니다
         suspend: 당신의 계정 %{acct}가 정지 되었습니다
       title:
-        delete_statuses: 게시물 삭제됨
+        delete_statuses: 글이 삭제되었습니다
         disable: 계정 동결 됨
         mark_statuses_as_sensitive: 게시물이 민감함으로 표시됨
         none: 경고
@@ -1577,7 +1577,7 @@ ko:
       edit_profile_action: 프로필 설정
       edit_profile_step: 프로필 사진을 업로드하고, 사람들에게 표시 될 이름을 바꾸는 것 등으로 당신의 프로필을 커스텀 할 수 있습니다. 사람들이 당신을 팔로우 하기 전에 리뷰를 거치게 할 수도 있습니다.
       explanation: 시작하기 전에 몇가지 팁들을 준비했습니다
-      final_action: 포스팅 시작하기
+      final_action: 글 써 보기
       final_step: '게시물을 올리세요! 팔로워가 없더라도, 공개 게시물들은 다른 사람에게 보여질 수 있습니다, 예를 들자면 로컬이나 연합 타임라인 등이 있습니다. 사람들에게 자신을 소개하고 싶다면 #툿친소 해시태그를 이용해보세요.'
       full_handle: 내 전체 핸들
       full_handle_hint: 이것을 당신의 친구들에게 알려주면 다른 서버에서 팔로우 하거나 메시지를 보낼 수 있습니다.
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index 2c1eaef62..d404949f6 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -338,7 +338,7 @@ lv:
       title: Pielāgotās emocijzīmes
       uncategorized: Nekategorizētās
       unlist: Izslēgt
-      unlisted: Neminētie
+      unlisted: Nerindota
       update_failed_msg: Nevarēja atjaunināt šo emocijzīmi
       updated_msg: Emocijzīme veiksmīgi atjaunināta!
       upload: Augšupielādēt
@@ -566,7 +566,7 @@ lv:
         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 izvērst turpmākus pārkāpumus saistībā ar to pašu kontu.
         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.
+        silence_description_html: Profils būs redzams tikai tiem, kas jau tam seko vai manuāli apskata, tādējādi ievērojami ierobežojot tā sasniedzamību. Šo izvēli vienmēr var mainīt.
         suspend_description_html: Profils un viss tā saturs kļūs nepieejami, līdz tas beidzot tiek izdzēsts. Mijiedarbība ar kontu būs neiespējama. Atgriežams 30 dienu laikā.
       actions_description_html: Izlem, kādas darbības jāveic, lai atrisinātu šo ziņojumu. Ja veiksi sodīšanas darbību pret kontu, par kuru ziņots, tam tiks nosūtīts e-pasta paziņojums, izņemot gadījumus, kad ir atlasīta kategorija <strong>Spam</strong>.
       add_to_report: Pievienot varāk paziņošanai
@@ -1413,7 +1413,7 @@ lv:
       phantom_js: PhantomJS
       qq: QQ Browser
       safari: Safari
-      uc_browser: UC Pārlūks
+      uc_browser: UC Browser
       weibo: Weibo
     current_session: Pašreizējā sesija
     description: "%{browser} uz %{platform}"
@@ -1513,8 +1513,8 @@ lv:
       private_long: Rādīt tikai sekotājiem
       public: Publisks
       public_long: Visi var redzēt
-      unlisted: Neiekļautie
-      unlisted_long: Ikviens var redzēt, bet nav norādīts publiskajā ziņu lentā
+      unlisted: Nerindota
+      unlisted_long: Redzama visiem, bet nav iekļauta publiskajās ziņu lentās
   statuses_cleanup:
     enabled: Automātiski dzēst vecās ziņas
     enabled_hint: Automātiski izdzēš tavas ziņas, tiklīdz tās sasniedz noteiktu vecuma slieksni, ja vien tās neatbilst kādam no tālāk norādītajiem izņēmumiem
diff --git a/config/locales/ms.yml b/config/locales/ms.yml
index 1fc61b462..f3007c67b 100644
--- a/config/locales/ms.yml
+++ b/config/locales/ms.yml
@@ -5,6 +5,7 @@ ms:
     contact_missing: Tidak ditetapkan
     contact_unavailable: Tidak tersedia
     hosted_on: Mastodon dihoskan di %{domain}
+    title: Perihal
   accounts:
     follow: Ikut
     followers:
@@ -35,11 +36,17 @@ ms:
       avatar: Avatar
       by_domain: Domain
       change_email:
+        changed_msg: E-mel berjaya ditukar!
         current_email: E-mel semasa
         label: Ubah e-mel
         new_email: E-mel baharu
         submit: Ubah e-mel
         title: Ubah e-mel untuk %{username}
+      change_role:
+        changed_msg: Peranan berjaya ditukar!
+        label: Tukar peranan
+        no_role: Tiada peranan
+        title: Tukar peranan untuk %{username}
       confirm: Sahkan
       confirmed: Disahkan
       confirming: Mengesahkan
@@ -80,6 +87,7 @@ ms:
         active: Aktif
         all: Semua
         pending: Menunggu
+        silenced: Terhad
         suspended: Digantungkan
         title: Penyederhanaan
       moderation_notes: Catatan penyederhana
@@ -87,6 +95,7 @@ ms:
       most_recent_ip: Alamat IP terbaru
       no_account_selected: Tiada akaun diubah kerana tiada yang dipilih
       no_limits_imposed: Tiada pengehadan dikenakan
+      no_role_assigned: Tiada peranan ditugaskan
       not_subscribed: Tiada langganan
       pending: Menunggu semak semula
       perform_full_suspension: Gantung
@@ -109,9 +118,13 @@ ms:
       reset: Tetapkan semula
       reset_password: Tetapkan semula kata laluan
       resubscribe: Langgan semula
+      role: Peranan
       search: Cari
       search_same_email_domain: Pengguna lain dengan domain e-mel yang sama
       search_same_ip: Pengguna lain dengan alamat IP yang sama
+      security_measures:
+        only_password: Kata laluan sahaja
+        password_and_2fa: Kata laluan dan 2FA
       sensitive: Sensitif
       sensitized: ditandakan sebagai sensitif
       shared_inbox_url: URL peti masuk berkongsi
@@ -122,10 +135,12 @@ ms:
       silenced: Dihadkan
       statuses: Hantaran
       subscribe: Langgan
+      suspend: Gantung
       suspended: Digantung
       suspension_irreversible: Data akaun ini telah dipadam secara kekal. Anda boleh nyahgantungkannya untuk membuatkan akaun ini boleh digunakan semula tetapi data lama tidak akan diperolehi.
       suspension_reversible_hint_html: Akaun ini telah digantung, dan datanya akan dibuang pada %{date}. Sebelum tarikh itu, akaun ini boleh diperoleh semula tanpa kesan buruk. Jika anda mahu memadamkan kesemua data akaun ini serta-merta, anda boleh melakukannya di bawah.
       title: Akaun
+      unblock_email: Menyahsekat alamat e-mel
       unconfirmed_email: E-mel belum disahkan
       undo_sensitized: Nyahtanda sensitif
       undo_silenced: Nyahdiamkan
@@ -140,26 +155,34 @@ ms:
       whitelisted: Dibenarkan untuk persekutuan
     action_logs:
       action_types:
+        approve_appeal: Meluluskan Rayuan
+        approve_user: Luluskan Pengguna
         assigned_to_self_report: Buat Laporan
         change_email_user: Ubah E-mel untuk Pengguna
+        change_role_user: Tukar Peranan Pengguna
         confirm_user: Sahkan Pengguna
         create_account_warning: Cipta Amaran
         create_announcement: Cipta Pengumuman
+        create_canonical_email_block: Cipta Penyekatan E-mel
         create_custom_emoji: Cipta Emoji Tersendiri
         create_domain_allow: Cipta Pelepasan Domain
         create_domain_block: Cipta Penyekatan Domain
         create_email_domain_block: Cipta Penyekatan Domain E-mel
         create_ip_block: Cipta peraturan alamat IP
         create_unavailable_domain: Cipta Domain Tidak Tersedia
+        create_user_role: Cipta Peranan
         demote_user: Turunkan Taraf Pengguna
         destroy_announcement: Padam Pengumuman
+        destroy_canonical_email_block: Padam Penyekatan E-mel
         destroy_custom_emoji: Padam Emoji Tersendiri
         destroy_domain_allow: Padam Pelepasan Domain
         destroy_domain_block: Padam Penyekatan Domain
         destroy_email_domain_block: Padam penyekatan domain e-mel
+        destroy_instance: Padamkan Domain
         destroy_ip_block: Padam peraturan alamat IP
         destroy_status: Padam Hantaran
         destroy_unavailable_domain: Padam Domain Tidak Tersedia
+        destroy_user_role: Padamkan Peranan
         disable_2fa_user: Nyahdayakan 2FA
         disable_custom_emoji: Nyahdayakan Emoji Tersendiri
         disable_user: Nyahdayakan Pengguna
@@ -167,21 +190,27 @@ ms:
         enable_user: Dayakan Pengguna
         memorialize_account: Jadikan Akaun Kenangan
         promote_user: Naikkan Taraf Pengguna
+        reject_appeal: Menolak Rayuan
+        reject_user: Menolak Pengguna
         remove_avatar_user: Buang Avatar
         reopen_report: Buka Semula Laporan
+        resend_user: Hantar Semula E-mel Pengesahan
         reset_password_user: Tetapkan Semula Kata Laluan
         resolve_report: Buat Keputusan Laporan
         sensitive_account: Tandakan media di akaun anda sebagai sensitif
         silence_account: Diamkan Akaun
         suspend_account: Gantungkan Akaun
         unassigned_report: Menyahtugaskan Laporan
+        unblock_email_account: Menyahsekat alamat e-mel
         unsensitive_account: Nyahtanda media di akaun anda sebagai sensitif
         unsilence_account: Nyahdiamkan Akaun
         unsuspend_account: Nyahgantungkan Akaun
         update_announcement: Kemas Kini Pengumuman
         update_custom_emoji: Kemas Kini Emoji Tersendiri
         update_domain_block: Kemas Kini Penyekatan Domain
+        update_ip_block: Kemas kini peraturan IP
         update_status: Kemas Kini Hantaran
+        update_user_role: Kemas Kini Peranan
       actions:
         assigned_to_self_report_html: "%{name} menugaskan laporan %{target} kepada dirinya sendiri"
         change_email_user_html: "%{name} telah mengubah alamat e-mel pengguna %{target}"
@@ -194,14 +223,19 @@ ms:
         create_email_domain_block_html: "%{name} telah menyekat domain e-mel %{target}"
         create_ip_block_html: "%{name} telah mencipta peraturan alamat IP %{target}"
         create_unavailable_domain_html: "%{name} telah menghentikan penghantaran ke domain %{target}"
+        create_user_role_html: "%{name} mewujudkan peranan %{target}"
         demote_user_html: "%{name} telah menurunkan taraf pengguna %{target}"
         destroy_announcement_html: "%{name} telah memadamkan pengumuman %{target}"
+        destroy_canonical_email_block_html: "%{name} telah menyahsekat e-mel dengan hash %{target}"
+        destroy_custom_emoji_html: "%{name} telah memadam emoji %{target}"
         destroy_domain_allow_html: "%{name} telah membuang kebenaran persekutuan dengan domain %{target}"
         destroy_domain_block_html: "%{name} telah menyahsekat domain %{target}"
         destroy_email_domain_block_html: "%{name} telah menyahsekat domain e-mel %{target}"
+        destroy_instance_html: "%{name} telah memadam domain %{target}"
         destroy_ip_block_html: "%{name} telah memadamkan peraturan untuk alamat IP %{target}"
         destroy_status_html: "%{name} telah membuang hantaran oleh %{target}"
         destroy_unavailable_domain_html: "%{name} telah menyambung penghantaran ke domain %{target}"
+        destroy_user_role_html: "%{name} telah memadam peranan %{target}"
         disable_2fa_user_html: "%{name} menyahdayakan keperluan dua faktor bagi pengguna %{target}"
         disable_custom_emoji_html: "%{name} telah menyahdayakan emoji %{target}"
         disable_user_html: "%{name} telah menyahdayakan log masuk bagi pengguna %{target}"
@@ -224,6 +258,7 @@ ms:
         update_custom_emoji_html: "%{name} telah mengemaskini emoji %{target}"
         update_domain_block_html: "%{name} telah mengemaskini penyekatan domain untuk %{target}"
         update_status_html: "%{name} telah mengemaskini hantaran oleh %{target}"
+      deleted_account: akaun dipadamkan
       empty: Tiada log dijumpai.
       filter_by_action: Tapis mengikut tindakan
       filter_by_user: Tapis mengikut pengguna
@@ -278,9 +313,20 @@ ms:
       updated_msg: Emoji berjaya dikemaskini!
       upload: Muat naik
     dashboard:
+      active_users: pengguna aktif
+      interactions: interaksi
+      media_storage: Penyimpanan media
+      new_users: pengguna baru
+      opened_reports: laporan dibuka
+      resolved_reports: laporan diselesaikan
       software: Perisian
+      sources: Sumber pendaftaran
       space: Kegunaan ruang
       title: Papan pemuka
+      website: Laman web
+    disputes:
+      appeals:
+        title: Rayuan
     domain_allows:
       add_new: Benarkan persekutuan dengan domain
       created_msg: Domain telah berjaya dibenarkan untuk persekutuan
@@ -318,6 +364,9 @@ ms:
       add_new: Tambah baharu
       created_msg: Telah berjaya menyekat domain e-mel
       delete: Padam
+      dns:
+        types:
+          mx: Rekod MX
       domain: Domain
       new:
         create: Tambah domain
@@ -336,6 +385,9 @@ ms:
       back_to_limited: Terhad
       back_to_warning: Amaran
       by_domain: Domain
+      dashboard:
+        instance_followers_measure: pengikut kami di situ
+        instance_follows_measure: pengikut mereka di sini
       delivery:
         all: Semua
         clear: Buang ralat penghantaran
@@ -411,6 +463,7 @@ ms:
       assign_to_self: Menugaskan kepada saya
       assigned: Penyederhana yang ditugaskan
       by_target_domain: Domain bagi akaun yang dilaporkan
+      category: Kumpulan
       comment:
         none: Tiada
       created_at: Dilaporkan
@@ -435,6 +488,7 @@ ms:
       unassign: Nyahtugaskan
       unresolved: Nyahselesaikan
       updated_at: Dikemaskini
+      view_profile: Lihat profil
     rules:
       add_new: Tambah peraturan
       delete: Padam
@@ -448,18 +502,37 @@ ms:
           approved: Kelulusan diperlukan untuk pendaftaran
           none: Tiada siapa boleh mendaftar
           open: Sesiapapun boleh mendaftar
+  authorize_follow:
+    post_follow:
+      close: Atau anda boleh tutup tetingkap ini.
+      return: Tunjukkan profil pengguna
+      web: Pergi ke web
   errors:
-    '400': The request you submitted was invalid or malformed.
-    '403': You don't have permission to view this page.
-    '404': The page you are looking for isn't here.
-    '406': This page is not available in the requested format.
-    '410': The page you were looking for doesn't exist here anymore.
+    '400': Permintaan yang anda serahkan tidak sah atau salah bentuk.
+    '403': Anda tidak mempunyai kebenaran untuk melihat halaman ini.
+    '404': Halaman yang anda cari tiada di sini.
+    '406': Halaman ini tidak tersedia dalam format yang diminta.
+    '410': Halaman yang anda cari tidak wujud di sini lagi.
     '422': 
-    '429': Too many requests
+    '429': Terlalu banyak permintaan
     '500': 
-    '503': The page could not be served due to a temporary server failure.
+    '503': Halaman tidak dapat disampaikan kerana kegagalan pelayan sementara.
   exports:
     archive_takeout:
       in_progress: Mengkompil arkib anda...
+  statuses:
+    default_language: Sama dengan bahasa antara muka
+  statuses_cleanup:
+    enabled: Padam hantaran lama secara automatik
+    keep_pinned: Simpan hantaran disemat
+    keep_pinned_hint: Tidak memadamkan mana-mana hantaran yang anda sematkan
+    keep_self_bookmark: Simpan hantaran yang anda menandabuku
+    keep_self_bookmark_hint: Tidak memadamkan hantaran anda jika anda sudah menandabukunya
+    keep_self_fav: Simpan hantaran yang anda gemarkan
+    keep_self_fav_hint: Tidak memadamkan hantaran anda jika anda telah menggemarkannya
+    min_favs: Simpan hantaran digemarkan sekurang-kurangnya
+    min_favs_hint: Tidak memadamkan mana-mana hantaran anda yang telah menerima sekurang-kurangnya jumlah gemaran ini. Biarkan kosong untuk memadamkan hantaran tanpa mengira nombor gemaran
+  stream_entries:
+    pinned: Hantaran disemat
   users:
     follow_limit_reached: Anda tidak boleh mengikut lebih daripada %{limit} orang
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 6b6f33c16..49d650068 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -608,6 +608,7 @@ nl:
         other: "%{count} gebruikers"
       categories:
         administration: Beheer
+        devops: DevOps
         invites: Uitnodigingen
         moderation: Moderatie
         special: Speciaal
@@ -658,6 +659,7 @@ nl:
         view_audit_log_description: Staat gebruikers toe om een geschiedenis van beheeracties op de server te bekijken
         view_dashboard: Dashboard bekijken
         view_dashboard_description: Geeft gebruikers toegang tot het dashboard en verschillende statistieken
+        view_devops: DevOps
         view_devops_description: Geeft gebruikers toegang tot de dashboards van Sidekiq en pgHero
       title: Rollen
     rules:
@@ -1371,7 +1373,7 @@ nl:
     browser: Webbrowser
     browsers:
       alipay: Alipay
-      blackberry: Blackberry
+      blackberry: BlackBerry
       chrome: Chrome
       edge: Microsoft Edge
       electron: Electron
@@ -1385,7 +1387,7 @@ nl:
       phantom_js: PhantomJS
       qq: QQ Browser
       safari: Safari
-      uc_browser: QQ Browser
+      uc_browser: UC Browser
       weibo: Weibo
     current_session: Huidige sessie
     description: "%{browser} op %{platform}"
@@ -1394,7 +1396,7 @@ nl:
     platforms:
       adobe_air: Adobe Air
       android: Android
-      blackberry: Blackberry
+      blackberry: BlackBerry
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index 4f07c685e..cc6e0b245 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -275,7 +275,7 @@ nn:
         unassigned_report_html: "%{name} løyste ein rapport %{target}"
         unblock_email_account_html: "%{name} avblokkerte %{target} si e-postadresse"
         unsensitive_account_html: "%{name} avmarkerte %{target} sitt media som sensitivt"
-        unsilence_account_html: "%{name} fjernet begrensningen av %{target}s konto"
+        unsilence_account_html: "%{name} fjerna grensa på kontoen til %{target}"
         update_announcement_html: "%{name} oppdaterte kunngjeringa %{target}"
         update_custom_emoji_html: "%{name} oppdaterte emojien %{target}"
         update_domain_block_html: "%{name} oppdaterte domeneblokkeringa for %{target}"
@@ -518,6 +518,9 @@ nn:
           other: "%{count} notiser"
       action_taken_by: Handling gjort av
       actions:
+        delete_description_html: De rapporterte innleggene vil bli slettet, og en advarsel vil bli tatt vare på for å hjelpe deg eskalere ved fremtidige overtredelser fra samme konto.
+        mark_as_sensitive_description_html: Mediene i de rapporterte innleggene vil bli merket som sensitive, og en advarsel vil bli tatt vare på for å hjelpe deg eskalere ved fremtidige overtredelser fra samme konto.
+        resolve_description_html: Ingen handling utføres mot den rapporterte kontoen, ingen advarsel gis, og rapporten lukkes.
         silence_description_html: Profilen vil kun være synlig for dem som allerede følger den eller manuelt slår den opp, noe som sterkt begrenser dens rekkevidde. Kan alltid tilbakestilles.
       are_you_sure: Er du sikker?
       assign_to_self: Tilegn til meg
@@ -590,6 +593,9 @@ nn:
       with_media: Med media
     strikes:
       actions:
+        delete_statuses: "%{name} slettet %{target}s innlegg"
+        disable: "%{name} frøs %{target}s konto"
+        mark_statuses_as_sensitive: "%{name} markerte %{target}s innlegg som sensitive"
         silence: "%{name} begrenset %{target}s konto"
     system_checks:
       database_schema_check:
@@ -742,7 +748,7 @@ nn:
       username_unavailable: Brukarnamnet ditt kjem til å halda seg utilgjengeleg
   disputes:
     strikes:
-      appeal_approved: Denne advarselen ble anket og er ikke lenger gyldig
+      appeal_approved: Denne advarselens klage ble tatt til følge og er ikke lenger gyldig
       title_actions:
         silence: Begrensning av konto
   domain_validator:
@@ -1172,6 +1178,7 @@ nn:
       explanation: Apellen på prikken mot din kontor på %{strike_date} som du la inn på %{appeal_date} har blitt godkjend. Din konto er nok ein gong i god stand.
       title: Anke godkjend
     appeal_rejected:
+      explanation: Klagen på advarselen mot din konto den %{strike_date} som du sendte inn den %{appeal_date} har blitt avvist.
       title: Anke avvist
     backup_ready:
       explanation: Du ba om en fullstendig sikkerhetskopi av Mastodon-kontoen din. Den er nå klar for nedlasting!
diff --git a/config/locales/no.yml b/config/locales/no.yml
index 7ce3d16d4..bc9165e3a 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -226,6 +226,7 @@
         update_user_role: Oppdater rolle
       actions:
         approve_user_html: "%{name} godkjente registrering fra %{target}"
+        assigned_to_self_report_html: "%{name} tildelte rapport %{target} til seg selv"
         change_email_user_html: "%{name} endret e-postadressen til brukeren %{target}"
         change_role_user_html: "%{name} endret rolle for %{target}"
         confirm_user_html: "%{name} bekreftet e-postadressen til brukeren %{target}"
@@ -237,15 +238,31 @@
         create_domain_block_html: "%{name} blokkert domene %{target}"
         create_email_domain_block_html: "%{name} blokkert e-post domene %{target}"
         create_ip_block_html: "%{name} opprettet regel for IP %{target}"
+        create_unavailable_domain_html: "%{name} stoppet levering til domenet %{target}"
         create_user_role_html: "%{name} opprettet rollen %{target}"
+        demote_user_html: "%{name} degraderte bruker %{target}"
         destroy_announcement_html: "%{name} slettet kunngjøring %{target}"
         destroy_custom_emoji_html: "%{name} slettet emoji %{target}"
         destroy_ip_block_html: "%{name} slettet regel for IP %{target}"
         destroy_status_html: "%{name} fjernet innlegget av %{target}"
+        destroy_unavailable_domain_html: "%{name} gjenopptok levering til domenet %{target}"
         destroy_user_role_html: "%{name} slettet %{target} -rolle"
+        disable_2fa_user_html: "%{name} deaktiverte tofaktor-autentiseringskravet for bruker %{target}"
+        disable_custom_emoji_html: "%{name} deaktiverte emoji %{target}"
+        disable_sign_in_token_auth_user_html: "%{name} deaktiverte autentisering med e-post-token for %{target}"
+        disable_user_html: "%{name} deaktiverte innlogging for bruker %{target}"
+        enable_custom_emoji_html: "%{name} aktiverte emoji %{target}"
+        enable_sign_in_token_auth_user_html: "%{name} aktiverte autentisering med e-post-token for %{target}"
+        enable_user_html: "%{name} aktiverte innlogging for bruker %{target}"
+        memorialize_account_html: "%{name} endret %{target}s konto til en minneside"
+        promote_user_html: "%{name} forfremmet bruker %{target}"
+        reject_appeal_html: "%{name} avviste moderasjonsavgjørelsesklagen fra %{target}"
         reject_user_html: "%{name} avslo registrering fra %{target}"
+        reopen_report_html: "%{name} gjenåpnet rapporten %{target}"
+        resend_user_html: "%{name} sendte e-postbekreftelse på nytt for %{target}"
         reset_password_user_html: "%{name} tilbakestille passordet for brukeren %{target}"
         silence_account_html: "%{name} begrenset %{target}s konto"
+        suspend_account_html: "%{name} suspenderte %{target}s konto"
         unsilence_account_html: "%{name} fjernet begrensningen av %{target}s konto"
         update_custom_emoji_html: "%{name} oppdaterte emoji %{target}"
         update_ip_block_html: "%{name} endret regel for IP %{target}"
@@ -321,6 +338,10 @@
       top_languages: Mest aktive språk
       top_servers: Mest aktive servere
       website: Nettside
+    disputes:
+      appeals:
+        empty: Ingen klager funnet.
+        title: Klager
     domain_allows:
       add_new: Hvitelist domene
       created_msg: Domenet har blitt hvitelistet
@@ -385,11 +406,15 @@
       back_to_limited: Begrenset
       back_to_warning: Advarsel
       by_domain: Domene
+      confirm_purge: Er du sikker på at du vil slette data permanent fra dette domenet?
       content_policies:
         comment: Internt notat
+        description_html: Du kan definere innholdsregler som vil bli brukt på alle kontoer fra dette domenet og hvilket som helst av underdomenene.
         policies:
           reject_media: Avvis media
+          reject_reports: Avvis rapporter
           silence: Begrens
+          suspend: Suspender
         reason: Offentlig årsak
         title: Retningslinjer for innhold
       dashboard:
@@ -472,6 +497,9 @@
           other: "%{count} notiser"
       action_taken_by: Handling utført av
       actions:
+        delete_description_html: De rapporterte innleggene vil bli slettet, og en advarsel vil bli tatt vare på for å hjelpe deg eskalere ved fremtidige overtredelser fra samme konto.
+        mark_as_sensitive_description_html: Mediene i de rapporterte innleggene vil bli merket som sensitive, og en advarsel vil bli tatt vare på for å hjelpe deg eskalere ved fremtidige overtredelser fra samme konto.
+        resolve_description_html: Ingen handling utføres mot den rapporterte kontoen, ingen advarsel gis, og rapporten lukkes.
         silence_description_html: Profilen vil kun være synlig for dem som allerede følger den eller manuelt slår den opp, noe som sterkt begrenser dens rekkevidde. Kan alltid tilbakestilles.
       are_you_sure: Er du sikker?
       assign_to_self: Tilegn til meg
@@ -512,8 +540,25 @@
         administration: Administrasjon
         devops: DevOps
         invites: Invitasjoner
+      delete: Slett
+      edit: Rediger rollen '%{name}'
+      everyone: Standard-tillatelser
+      everyone_full_description_html: Dette er <strong>basis-rollen</strong> som påvirker <strong>alle brukere</strong>, selv de uten en tilordnet rolle. Alle andre roller arver tillatelser fra den.
+      permissions_count:
+        one: "%{count} tillatelse"
+        other: "%{count} tillatelser"
       privileges:
+        administrator: Administrator
+        administrator_description: Brukere med denne tillatelsen omgår enhver tillatelse
+        delete_user_data: Slett brukerdata
+        delete_user_data_description: Lar brukere slette andre brukeres data uten forsinkelse
+        invite_users: Invitere brukere
+        invite_users_description: Lar brukere invitere nye personer til serveren
+        manage_invites_description: Lar brukere bla gjennom og deaktivere invitasjonslenker
+        view_dashboard: Vis dashbord
+        view_dashboard_description: Gir brukere tilgang til dashbordet og ulike metrikker
         view_devops: DevOps
+        view_devops_description: Gir brukere tilgang til Sidekiq og pgHero-dashbord
     rules:
       add_new: Legg til et filter
       delete: Slett
@@ -522,6 +567,8 @@
       empty: Ingen serverregler har blitt definert ennå.
       title: Server regler
     settings:
+      discovery:
+        trends: Trender
       domain_blocks:
         all: Til alle
         disabled: Til ingen
@@ -531,32 +578,79 @@
           approved: Godkjenning kreves for påmelding
           none: Ingen kan melde seg inn
           open: Hvem som helst kan melde seg inn
+      title: Serverinnstillinger
     site_uploads:
       delete: Slett den opplastede filen
       destroyed_msg: Vellykket sletting av sideopplasting!
     statuses:
+      account: Forfatter
+      application: Applikasjon
       back_to_account: Tilbake til kontosiden
+      batch:
+        remove_from_report: Fjern fra rapport
       deleted: Slettet
+      history: Versjonshistorikk
+      language: Språk
       media:
         title: Media
+      metadata: Metadata
       no_status_selected: Ingen statuser ble endret da ingen ble valgt
+      original_status: Opprinnelig innlegg
+      status_changed: Innlegg endret
       title: Kontostatuser
+      visibility: Synlighet
       with_media: Med media
     strikes:
       actions:
+        delete_statuses: "%{name} slettet %{target}s innlegg"
+        disable: "%{name} frøs %{target}s konto"
+        mark_statuses_as_sensitive: "%{name} markerte %{target}s innlegg som sensitive"
+        none: "%{name} sendte en advarsel til %{target}"
+        sensitive: "%{name} markerte %{target}s konto som sensitiv"
         silence: "%{name} begrenset %{target}s konto"
+        suspend: "%{name} suspenderte %{target}s konto"
+      appeal_approved: Klage tatt til følge
+      appeal_pending: Klage behandles
     system_checks:
       database_schema_check:
         message_html: Det venter på databaseoverføringer. Vennligst kjør disse for å sikre at applikasjonen oppfører seg som forventet
+      elasticsearch_running_check:
+        message_html: Kunne ikke koble til Elasticsearch. Kontroller at den kjører, eller deaktiver fulltekstsøk
+      elasticsearch_version_check:
+        message_html: 'Inkompatibel Elasticsearch-versjon: %{value}'
+        version_comparison: Elasticsearch %{running_version} kjører mens %{required_version} er påkrevd
       rules_check:
         action: Behandle serverregler
         message_html: Du har ikke definert noen serverregler.
+      sidekiq_process_check:
+        message_html: Ingen Sidekiq-prosess kjører for %{value} køen(e). Vennligst se gjennom Sidekiq-konfigurasjonen din
     tags:
       review: Gjennomgangsstatus
     title: Administrasjon
+    trends:
+      allow: Tillat
+      approved: Godkjent
+      disallow: Ikke tillat
+      links:
+        allow: Tillat lenke
+        disallow: Ikke tillat lenke
+        no_link_selected: Ingen lenker ble endret da ingen var valgt
+        shared_by_over_week:
+          one: Delt av %{count} person i løpet av den siste uken
+          other: Delt av %{count} personer i løpet av den siste uken
+        usage_comparison: Delt %{today} ganger i dag, sammenlignet med %{yesterday} i går
+      pending_review: Avventer gjennomgang
+      rejected: Avvist
+      statuses:
+        allow: Tillat innlegg
+        allow_account: Tillat forfatter
+        disallow: Ikke tillat innlegg
     warning_presets:
       add_new: Legg til ny
       delete: Slett
+      title: Endre forhåndsinnstillinger for advarsler
+    webhooks:
+      add_new: Legg til endepunkt
   admin_mailer:
     new_appeal:
       actions:
@@ -690,9 +784,34 @@
       username_unavailable: Brukernavnet ditt vil forbli utilgjengelig
   disputes:
     strikes:
-      appeal_approved: Denne advarselen ble anket og er ikke lenger gyldig
+      action_taken: Handling utført
+      appeal: Klage
+      appeal_approved: Denne advarselens klage ble tatt til følge og er ikke lenger gyldig
+      appeal_rejected: Klagen ble avvist
+      appeal_submitted_at: Klage levert
+      appealed_msg: Din klage har blitt levert. Du får beskjed om den blir godkjent.
+      appeals:
+        submit: Lever klage
+      approve_appeal: Godkjenn klage
+      associated_report: Tilhørende rapport
+      created_at: Datert
+      description_html: Dette er tiltakene mot din konto og advarsler som har blitt sent til deg av %{instance}-personalet.
+      recipient: Adressert til
+      reject_appeal: Avvis klage
+      status: 'Innlegg #%{id}'
+      status_removed: Innlegg allerede fjernet fra systemet
+      title: "%{action} fra %{date}"
       title_actions:
+        delete_statuses: Fjerning av innlegg
+        disable: Frysing av konto
+        mark_statuses_as_sensitive: Merking av innlegg som sensitive
+        none: Advarsel
+        sensitive: Merking av konto som sensitiv
         silence: Begrensning av konto
+        suspend: Suspensjon av konto
+      your_appeal_approved: Din klage har blitt godkjent
+      your_appeal_pending: Du har levert en klage
+      your_appeal_rejected: Din klage har blitt avvist
   domain_validator:
     invalid_domain: er ikke et gyldig domenenavn
   errors:
@@ -1109,6 +1228,9 @@
   user_mailer:
     appeal_approved:
       action: Gå til kontoen din
+      explanation: Klagen på advarselen mot din konto den %{strike_date} som du sendte inn den %{appeal_date} har blitt godkjent. Din konto er nok en gang i god stand.
+    appeal_rejected:
+      explanation: Klagen på advarselen mot din konto den %{strike_date} som du sendte inn den %{appeal_date} har blitt avvist.
     backup_ready:
       explanation: Du ba om en fullstendig sikkerhetskopi av Mastodon-kontoen din. Den er nå klar for nedlasting!
       subject: Arkivet ditt er klart til å lastes ned
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 6d3fbf60f..604f98250 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -167,35 +167,35 @@ pt-BR:
     action_logs:
       action_types:
         approve_appeal: Aprovar recurso
-        approve_user: Aprovar Usuário
+        approve_user: Aprovar usuário
         assigned_to_self_report: Adicionar relatório
-        change_email_user: Editar e-mail do usuário
-        change_role_user: Alteração de Função do Usuário
-        confirm_user: Confirmar Usuário
-        create_account_warning: Criar Aviso
-        create_announcement: Criar Anúncio
-        create_canonical_email_block: Criar bloqueio de Endereço eletrônico
-        create_custom_emoji: Criar Emoji Personalizado
-        create_domain_allow: Adicionar domínio permitido
-        create_domain_block: Criar Bloqueio de Domínio
-        create_email_domain_block: Criar Bloqueio de Domínio de E-mail
+        change_email_user: Alterar e-mail do usuário
+        change_role_user: Alterar cargo do usuário
+        confirm_user: Confirmar usuário
+        create_account_warning: Criar aviso
+        create_announcement: Criar anúncio
+        create_canonical_email_block: Criar bloqueio de e-mail
+        create_custom_emoji: Criar emoji personalizado
+        create_domain_allow: Permitir domínio
+        create_domain_block: Bloquear domínio
+        create_email_domain_block: Bloquear domínio de e-mail
         create_ip_block: Criar regra de IP
         create_unavailable_domain: Criar domínio indisponível
-        create_user_role: Criar Função
+        create_user_role: Criar cargo
         demote_user: Rebaixar usuário
         destroy_announcement: Excluir anúncio
-        destroy_canonical_email_block: Excluir Bloqueio de Endereço Eletrônico
+        destroy_canonical_email_block: Desbloquear domínio de e-mail
         destroy_custom_emoji: Excluir emoji personalizado
         destroy_domain_allow: Excluir domínio permitido
-        destroy_domain_block: Excluir Bloqueio de Domínio
-        destroy_email_domain_block: Excluir bloqueio de domínio de e-mail
-        destroy_instance: Limpar Domínio
+        destroy_domain_block: Desbloquear domínio
+        destroy_email_domain_block: Desbloquear domínio de e-mail
+        destroy_instance: Limpar domínio
         destroy_ip_block: Excluir regra de IP
-        destroy_status: Excluir Status
-        destroy_unavailable_domain: Deletar domínio indisponível
-        destroy_user_role: Destruir Função
+        destroy_status: Excluir publicação
+        destroy_unavailable_domain: Excluir domínio indisponível
+        destroy_user_role: Destruir cargo
         disable_2fa_user: Desativar autenticação de dois fatores
-        disable_custom_emoji: Desativar Emoji Personalizado
+        disable_custom_emoji: Desativar emoji personalizado
         disable_sign_in_token_auth_user: Desativar autenticação via token por email para Usuário
         disable_user: Desativar usuário
         enable_custom_emoji: Ativar Emoji Personalizado
@@ -771,6 +771,9 @@ pt-BR:
         disallow: Proibir link
         disallow_provider: Proibir autor
         no_link_selected: Nenhum link foi alterado como nenhum foi selecionado
+        shared_by_over_week:
+          one: Compartilhado por uma pessoa na última semana
+          other: Compartilhado por %{count} pessoas na última semana
         title: Em alta no momento
         usage_comparison: Compartilhado %{today} vezes hoje, em comparação com %{yesterday} de ontem
       only_allowed: Somente permitido
@@ -787,6 +790,8 @@ pt-BR:
         description_html: Estes são as publicações que seu servidor sabe que estão sendo muito compartilhadas e favorecidas no momento. Isso pode ajudar seus usuários, novos e atuais, a encontrar mais pessoas para seguir. Nenhuma publicação é exibida publicamente até que você aprove o autor e o autor permitir que sua conta seja sugerida a outros. Você também pode permitir ou rejeitar publicações individuais.
         disallow: Proibir publicação
         disallow_account: Proibir autor
+        no_status_selected: Nenhuma publicação em alta foi alterada, pois, nenhuma foi selecionada
+        not_discoverable: O autor optou por permitir que seja descoberto
         shared_by:
           one: Compartilhado ou favoritado uma vez
           other: Compartilhado e favoritado %{friendly_count} vezes
@@ -799,10 +804,13 @@ pt-BR:
           tag_servers_dimension: Servidores mais populares
           tag_servers_measure: servidores diferentes
           tag_uses_measure: usos
+        description_html: Estas são hashtags que atualmente estão aparecendo em várias postagens que sua instância vê. Isso pode ajudar seus usuários a descobrirem sobre o que as pessoas estão mais comentando no momento. Nenhuma hashtag é exibida publicamente até que você as aprove.
         listable: Pode ser sugerido
+        no_tag_selected: Nenhuma tag foi alterada, pois, nenhuma foi selecionada
         not_listable: Não será sugerido
         not_trendable: Não aparecerá em alta
         not_usable: Não pode ser usado
+        peaked_on_and_decaying: Atingiu o auge em %{date}, agora decaindo
         title: Hashtags em alta
         trendable: Aparecerá em alta
         trending_rank: 'Em alta #%{rank}'
@@ -919,6 +927,7 @@ pt-BR:
     migrate_account: Mudar-se para outra conta
     migrate_account_html: Se você quer redirecionar essa conta para uma outra você pode <a href="%{path}">configurar isso aqui</a>.
     or_log_in_with: Ou entre com
+    privacy_policy_agreement_html: Eu li e concordo com a <a href="%{privacy_policy_path}" target="_blank">política de privacidade</a>
     providers:
       cas: CAS
       saml: SAML
@@ -1084,6 +1093,7 @@ pt-BR:
     errors:
       invalid_context: Contexto inválido ou nenhum contexto informado
     index:
+      contexts: Filtros em %{contexts}
       delete: Remover
       empty: Sem filtros.
       expires_in: Expira em %{distance}
@@ -1094,11 +1104,15 @@ pt-BR:
       statuses:
         one: "%{count} publicação"
         other: "%{count} publicações"
+      statuses_long:
+        one: "%{count} publicação individual oculta"
+        other: "%{count} publicações individuais ocultas"
       title: Filtros
     new:
       save: Salvar novo filtro
       title: Adicionar filtro
     statuses:
+      back_to_filter: Voltar ao filtro
       batch:
         remove: Remover do filtro
       index:
@@ -1107,6 +1121,12 @@ pt-BR:
     trending_now: Em alta no momento
   generic:
     all: Tudo
+    all_items_on_page_selected_html:
+      one: "<strong>%{count}</strong> item nessa página está selecionado."
+      other: Todos os <strong>%{count}</strong> itens nessa página estão selecionados.
+    all_matching_items_selected_html:
+      one: "<strong>%{count}</strong> item correspondente à sua pesquisa está selecionado."
+      other: Todos os <strong>%{count}</strong> itens correspondentes à sua pesquisa estão selecionados.
     changes_saved_msg: Alterações salvas!
     copy: Copiar
     delete: Excluir
@@ -1114,6 +1134,9 @@ pt-BR:
     none: Nenhum
     order_by: Ordenar por
     save_changes: Salvar alterações
+    select_all_matching_items:
+      one: Selecione %{count} item correspondente à sua pesquisa.
+      other: Selecione todos os %{count} itens correspondentes à sua pesquisa.
     today: hoje
     validation_errors:
       one: Algo não está certo! Analise o erro abaixo
@@ -1215,6 +1238,8 @@ pt-BR:
     carry_blocks_over_text: Este usuário mudou de %{acct}, que você havia bloqueado.
     carry_mutes_over_text: Este usuário mudou de %{acct}, que você havia silenciado.
     copy_account_note_text: 'Este usuário saiu de %{acct}, aqui estão suas notas anteriores sobre ele:'
+  navigation:
+    toggle_menu: Alternar menu
   notification_mailer:
     admin:
       report:
@@ -1334,6 +1359,7 @@ pt-BR:
     browser: Navegador
     browsers:
       alipay: Alipay
+      blackberry: BlackBerry
       chrome: Chrome
       edge: Microsoft Edge
       electron: Electron
@@ -1355,6 +1381,7 @@ pt-BR:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      blackberry: BlackBerry
       firefox_os: Firefox OS
       ios: iOS
       linux: Linux
@@ -1538,7 +1565,10 @@ pt-BR:
       explanation:
         delete_statuses: Algumas de suas publicações infringiram uma ou mais diretrizes da comunidade e foram removidas pelos moderadores de %{instance}.
         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.
+        mark_statuses_as_sensitive: Algumas de suas postagens foram marcadas como sensíveis por moderadores da %{instance}. Isso significa que as pessoas terão que clicar nas mídias em publicações antes de ser exibida uma prévia. Você pode marcar uma mídia como sensível quando postar futuramente.
         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.
+        silence: Você ainda pode usar a sua conta, mas apenas pessoas que já te seguem verão suas publicações nessa instância, e você poderá ser excluído de vários recursos de descoberta. No entanto, outros ainda poderão te seguir manualmente.
+        suspend: Você não pode mais usar sua conta, e seu perfil e outros dados não estão mais acessíveis. Você ainda pode fazer o login para solicitar um backup dos seus dados até eles serem completamente removidos em cerca de 30 dias, porém manteremos alguns dados básicos para prevenir que você escape da suspensão.
       reason: 'Motivo:'
       statuses: 'Publicações citadas:'
       subject:
@@ -1559,8 +1589,10 @@ pt-BR:
         suspend: Conta banida
     welcome:
       edit_profile_action: Configurar perfil
+      edit_profile_step: Você pode personalizar seu perfil enviando uma foto de perfil, mudando seu nome de exibição e mais. Você pode optar por revisar novos seguidores antes que eles possam te seguir.
       explanation: Aqui estão algumas dicas para você começar
       final_action: Comece a publicar
+      final_step: 'Comece a postar! Mesmo sem seguidores, suas postagens públicas podem ser vistas pelos outros, por exemplo, na linha do tempo local ou nas hashtags. Você pode querer fazer uma introdução usando a hashtag #introduções.'
       full_handle: Seu nome de usuário completo
       full_handle_hint: Isso é o que você compartilha com seus amigos para que eles possam te mandar mensagens ou te seguir a partir de outro servidor.
       subject: Boas-vindas ao Mastodon
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 4ad5fc83a..aa656b927 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -619,6 +619,7 @@ ru:
         other: "%{count} пользователей"
       categories:
         administration: Администрация
+        devops: DevOps
         invites: Приглашения
         moderation: Модерация
         special: Особые
@@ -652,6 +653,7 @@ ru:
         view_audit_log: Посмотреть журнал аудита
         view_audit_log_description: Позволяет пользователям просматривать историю административных действий на сервере
         view_dashboard: Открыть панель управления
+        view_devops: DevOps
       title: Роли
     rules:
       add_new: Добавить правило
@@ -1311,6 +1313,7 @@ ru:
     browser: Браузер
     browsers:
       alipay: Alipay
+      blackberry: Blackberry
       chrome: Chrome
       edge: Microsoft Edge
       electron: Electron
@@ -1324,6 +1327,7 @@ ru:
       phantom_js: PhantomJS
       qq: QQ Browser
       safari: Safari
+      uc_browser: UC браузер
       weibo: Weibo
     current_session: Текущая сессия
     description: "%{browser} на %{platform}"
@@ -1332,6 +1336,8 @@ ru:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      blackberry: Blackberry
+      chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
       linux: Linux
diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml
index c392d4061..694f2b573 100644
--- a/config/locales/simple_form.ca.yml
+++ b/config/locales/simple_form.ca.yml
@@ -46,7 +46,7 @@ ca:
         locale: L'idioma de la interfície d’usuari, els correus i les notificacions push
         locked: Controla manualment qui et pot seguir, aprovant sol·licituds
         password: Utilitza com a mínim 8 caràcters
-        phrase: Es combinarà independentment del format en el text o l'avís de contingut de la publicació
+        phrase: Es combinarà independentment del format en el text o l'avís de contingut del tut
         scopes: API permeses per accedir a l'aplicació. Si selecciones un àmbit de nivell superior, no cal que en seleccions un d'individual.
         setting_aggregate_reblogs: No mostris els nous impulsos de les publicacions que ja s'han impulsat recentment (només afecta els nous impulsos rebuts)
         setting_always_send_emails: Normalment, no s'enviarà cap notificació per correu electrònic mentre facis servir Mastodon
@@ -196,7 +196,7 @@ ca:
         setting_default_language: Idioma de les publicacions
         setting_default_privacy: Privacitat de les publicacions
         setting_default_sensitive: Marcar sempre el contingut gràfic com a sensible
-        setting_delete_modal: Mostrar la finestra de confirmació abans d'esborrar una publicació
+        setting_delete_modal: Mostra la finestra de confirmació abans d'esborrar un tut
         setting_disable_swiping: Desactiva les animacions
         setting_display_media: Visualització multimèdia
         setting_display_media_default: Per defecte
diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml
index 111429257..54fee654e 100644
--- a/config/locales/simple_form.cy.yml
+++ b/config/locales/simple_form.cy.yml
@@ -14,6 +14,12 @@ cy:
         send_email_notification: Bydd y defnyddiwr yn derbyn esboniad o beth digwyddodd gyda'i cyfrif
         text_html: Yn ddewisol. Gallwch defnyddio cystrawen tŵt. Gallwch <a href="%{path}">ychwanegu rhagosodiadau rhybydd</a> i arbed amser
         type_html: Dewis beth i wneud gyda <strong>%{acct}</strong>
+        types:
+          disable: Yn atal y defnyddiwr rhag defnyddio ei gyfrif, ond peidio â dileu neu guddio ei gynnwys.
+          none: Defnyddio hwn i anfon rhybudd at y defnyddiwr, heb ysgogi unrhyw gamau eraill.
+          sensitive: Gorfodi holl atodiadau cyfryngau'r defnyddiwr hwn i gael eu nodi fel rhai sensitif.
+          silence: Atal y defnyddiwr rhag gallu postio gyda gwelededd cyhoeddus, cuddio ei bostiadau a'i hysbysiadau rhag pobl nad ydyn nhw'n eu dilyn.
+          suspend: Atal unrhyw ryngweithio o neu i'r cyfrif hwn a dileu ei gynnwys. Mae modd ei ddadwneud o fewn 30 diwrnod.
         warning_preset_id: Yn ddewisol. Gallwch dal ychwanegu testun addasiol I ddiwedd y rhagosodiad
       announcement:
         all_day: Pam ddewisir, caiff ddim ond dyddiau o'r amrediad amser ei ymddangos
@@ -21,6 +27,8 @@ cy:
         scheduled_at: Gadael yn wag i gyhoeddi'r cyhoeddiad ar unwaith
         starts_at: Dewisiol. Os mae eich cyhoeddiad yn gyfyniedig i amrediad amser penodol
         text: Gallwch defnyddio cystrawen tŵt. Byddwch yn ymwybodol o'r lle cymerir y cyhoeddiad ar sgrin y defnyddwr
+      appeal:
+        text: Dim ond unwaith y gallwch apelio yn erbyn rhybudd
       defaults:
         autofollow: Bydd pobl sy'n cofrestru drwy'r gwahoddiad yn eich dilyn yn awtomatig
         avatar: PNG, GIF neu JPG. %{size} ar y mwyaf. Caiff ei israddio i %{dimensions}px
@@ -29,6 +37,7 @@ 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: Caniatáu i'ch cyfrif gael ei ddarganfod gan ddieithriaid trwy argymhellion, tueddiadau a nodweddion eraill
         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
@@ -40,6 +49,7 @@ cy:
         phrase: Caiff ei gyfateb heb ystyriaeth o briflythrennu mewn testun neu rhybudd ynghylch cynnwys tŵt
         scopes: Pa APIau y bydd gan y rhaglen ganiatad i gael mynediad iddynt. Os dewiswch maes lefel uchaf, yna nid oes angen dewis rhai unigol.
         setting_aggregate_reblogs: Paid dangos bŵstiau newydd ar gyfer tŵtiau sydd wedi'i fŵstio yn ddiweddar (dim ond yn effeithio bŵstiau newydd ei dderbyn)
+        setting_always_send_emails: Fel arfer ni fydd hysbysiadau e-bost yn cael eu hanfon pan fyddwch chi wrthi'n defnyddio Mastodon
         setting_default_sensitive: Mae cyfryngau sensitif yn cael ei gyddio'n rhagosodiedig, a gall cael eu dangos â chlic
         setting_display_media_default: Cuddio cyfryngau wedi eu marcio'n sensitif
         setting_display_media_hide_all: Cuddio cyfryngau bob tro
@@ -56,6 +66,32 @@ cy:
       email_domain_block:
         domain: Gall hwn fod yr enw parth sy'n ymddangos yn y cyfeiriad e-bost neu'r cofnod MX y mae'n ei ddefnyddio. Byddant yn cael eu gwirio wrth gofrestru.
         with_dns_records: Bydd ceisiad i adfer cofnodau DNS y parth penodol yn cael ei wneud, a bydd y canlyniadau hefyd yn cael ei gosbrestru
+      featured_tag:
+        name: 'Dyma rai o’r hashnodau a ddefnyddiwyd gennych yn fwyaf diweddar:'
+      filters:
+        action: Dewiswch pa weithred i'w chyflawni pan fydd postiad yn cyfateb i'r hidlydd
+        actions:
+          hide: Cuddiwch y cynnwys wedi'i hidlo'n llwyr, gan ymddwyn fel pe na bai'n bodoli
+          warn: Cuddiwch y cynnwys wedi'i hidlo y tu ôl i rybudd sy'n sôn am deitl yr hidlydd
+      form_admin_settings:
+        backups_retention_period: Cadw archifau defnyddwyr a gynhyrchwyd am y nifer penodedig o ddyddiau.
+        bootstrap_timeline_accounts: Bydd y cyfrifon hyn yn cael eu pinio i frig argymhellion dilynol defnyddwyr newydd.
+        closed_registrations_message: Yn cael eu dangos pan fydd cofrestriadau wedi cau
+        content_cache_retention_period: Bydd postiadau o weinyddion eraill yn cael eu dileu ar ôl y nifer penodedig o ddyddiau pan fyddan nhw wedi'u gosod i werth positif. Gall nad oes modd dadwneud hyn.
+        custom_css: Gallwch gymhwyso arddulliau cyfaddas ar fersiwn gwe Mastodon.
+        mascot: Yn diystyru'r darlun yn y rhyngwyneb gwe uwch.
+        media_cache_retention_period: Bydd ffeiliau cyfryngau wedi'u llwytho i lawr yn cael eu dileu ar ôl y nifer penodedig o ddyddiau pan gânt eu gosod i werth cadarnhaol, a'u hail-lwytho i lawr ar alw.
+        profile_directory: Mae'r cyfeiriadur proffil yn rhestru'r holl ddefnyddwyr sydd wedi dewis i fod yn ddarganfyddiadwy.
+        require_invite_text: Pan fydd angen cymeradwyaeth â llaw ar gyfer cofrestriadau, gwnewch y “Pam ydych chi am ymuno?” mewnbwn testun yn orfodol yn hytrach na dewisol
+        site_contact_email: Sut y gall pobl gysylltu â chi ar gyfer ymholiadau cyfreithiol neu gymorth.
+        site_contact_username: Sut y gall pobl eich cyrraedd ar Mastodon.
+        site_extended_description: Unrhyw wybodaeth ychwanegol a allai fod yn ddefnyddiol i ymwelwyr a'ch defnyddwyr. Mae modd ei strwythuro gyda chystrawen Markdown.
+        site_short_description: Disgrifiad byr i helpu i adnabod eich gweinydd yn unigryw. Pwy sy'n ei redeg, ar gyfer pwy mae e?
+        site_terms: Defnyddiwch eich polisi preifatrwydd eich hun neu gadewch yn wag i ddefnyddio'r rhagosodiad. Mae modd ei strwythuro gyda chystrawen Markdown.
+        site_title: Sut y gall pobl gyfeirio at eich gweinydd ar wahân i'w enw parth.
+        theme: Thema sy'n allgofnodi ymwelwyr a defnyddwyr newydd yn gweld.
+        thumbnail: Delwedd tua 2:1 yn cael ei dangos ochr yn ochr â manylion eich gweinydd.
+        timeline_preview: Bydd ymwelwyr sydd wedi allgofnodi yn gallu pori drwy'r postiadau cyhoeddus diweddaraf sydd ar gael ar y gweinydd.
       form_challenge:
         current_password: Rydych chi'n mynd i mewn i ardal sicr
       imports:
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index a9c59b2ef..82fe18ad1 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -7,12 +7,12 @@ de:
       account_migration:
         acct: Gib den benutzernamen@domain des Kontos an, zu dem du umziehen möchtest
       account_warning_preset:
-        text: Du kannst Beitragssyntax benutzen, wie z.B. URLs, Hashtags und Erwähnungen
+        text: Du kannst Beitragssyntax verwenden, wie z. B. URLs, Hashtags und Erwähnungen
         title: Optional. Für den Empfänger nicht sichtbar
       admin_account_action:
         include_statuses: Der Benutzer wird sehen, welche Beiträge diese Maßnahme verursacht haben
         send_email_notification: Benutzer_in wird Bescheid gegeben, was mit dem Konto geschehen ist
-        text_html: Optional. Du kannst Beitragssyntax nutzen. Du kannst <a href="%{path}">Warnungsvorlagen</a> benutzen um Zeit zu sparen
+        text_html: Optional. Du kannst Beitragssyntax verwenden. Du kannst <a href="%{path}">Warnvorlagen hinzufügen</a>, um Zeit zu sparen
         type_html: Wähle aus, was du mit <strong>%{acct}</strong> machen möchtest
         types:
           disable: Den Benutzer daran hindern, sein Konto zu verwenden, aber seinen Inhalt nicht löschen oder ausblenden.
@@ -28,7 +28,7 @@ de:
         starts_at: Optional. Falls deine Ankündigung an einen bestimmten Zeitraum gebunden ist
         text: Du kannst die Beitrags-Syntax verwenden. Bitte beachte den Platz, den die Ankündigung auf dem Bildschirm der Benutzer*innen einnehmen wird
       appeal:
-        text: Du kannst nur einmal einen Einspruch bei einem Strike einlegen
+        text: Du kannst nur einmal Einspruch gegen einen Verstoß einlegen
       defaults:
         autofollow: Accounts, die sich über deine Einladung registrieren, folgen automatisch deinem Profil
         avatar: PNG, GIF oder JPG. Maximal %{size}. Wird auf %{dimensions} px herunterskaliert
@@ -150,7 +150,7 @@ de:
           none: Nichts tun
           sensitive: Inhaltswarnung
           silence: Stummschalten
-          suspend: Deaktivieren und Benutzerdaten unwiderruflich löschen
+          suspend: Sperren
         warning_preset_id: Benutze eine Warnungsvorlage
       announcement:
         all_day: Ganztägiges Ereignis
@@ -187,8 +187,8 @@ de:
         otp_attempt: Zwei-Faktor-Authentifizierung
         password: Passwort
         phrase: Wort oder Formulierung
-        setting_advanced_layout: Fortgeschrittene Benutzeroberfläche benutzen
-        setting_aggregate_reblogs: Gruppiere erneut geteilte Beiträge auf der Startseite
+        setting_advanced_layout: Erweitertes Webinterface verwenden
+        setting_aggregate_reblogs: Gruppiere erneut geteilte Beiträge in der Timeline deiner Startseite
         setting_always_send_emails: Benachrichtigungen immer senden
         setting_auto_play_gif: Animierte GIFs automatisch abspielen
         setting_boost_modal: Bestätigungsdialog anzeigen, bevor ein Beitrag geteilt wird
@@ -275,7 +275,7 @@ de:
         follow: wenn mir jemand folgt
         follow_request: wenn mir jemand folgen möchte
         mention: wenn mich jemand erwähnt
-        pending_account: E-Mail senden, wenn ein neues Benutzerkonto zur Überprüfung aussteht
+        pending_account: Ein neues Konto muss überprüft werden
         reblog: wenn jemand meinen Beitrag teilt
         report: E-Mail senden, wenn eine neue Meldung vorliegt
         trending_tag: Neuer Trend muss überprüft werden
diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml
index 7df89a31a..d5ae3be7f 100644
--- a/config/locales/simple_form.es.yml
+++ b/config/locales/simple_form.es.yml
@@ -3,19 +3,19 @@ es:
   simple_form:
     hints:
       account_alias:
-        acct: Especifique el nombre de usuario@dominio de la cuenta desde la cual se desea migrar
+        acct: Especifique su nombre de usuario@dominio de la cuenta de donde 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 de la cual se desea migrar
       account_warning_preset:
         text: Puede usar sintaxis de publicaciones, como URLs, hashtags y menciones
-        title: Opcional. No visible para el destinatario
+        title: Opcional. No es visible para el destinatario
       admin_account_action:
         include_statuses: El usuario verá qué publicaciones han causado la acción de moderación o advertencia
-        send_email_notification: El usuario recibirá una explicación de lo que sucedió con respecto a su cuenta
+        send_email_notification: El usuario recibirá una explicación de lo que ha sucedido con su cuenta
         text_html: Opcional. Puede usar sintaxis de publicaciones. Puede añadir <a href="%{path}">configuraciones predefinidas de advertencia</a> para ahorrar tiempo
-        type_html: Elige qué hacer con <strong>%{acct}</strong>
+        type_html: Elige lo qué vas a hacer con <strong>%{acct}</strong>
         types:
-          disable: Evitar que el usuario utilice su cuenta, pero no eliminar ni ocultar sus contenidos.
+          disable: Evita que el usuario utilice su cuenta, pero no elimina ni oculta sus contenidos.
           none: Utilizar esto para enviar una advertencia al usuario, sin poner en marcha ninguna otra acción.
           sensitive: Forzar que todos los archivos multimedia de este usuario sean marcados como sensibles.
           silence: Evitar que el usuario pueda publicar con visibilidad pública, oculta sus mensajes y notificaciones a personas que no lo siguen.
diff --git a/config/locales/simple_form.ga.yml b/config/locales/simple_form.ga.yml
index 4be8c4f45..6f9c4bf36 100644
--- a/config/locales/simple_form.ga.yml
+++ b/config/locales/simple_form.ga.yml
@@ -48,6 +48,8 @@ ga:
         site_title: Ainm freastalaí
       ip_block:
         ip: IP
+      notification_emails:
+        reblog: Mhol duine éigin do phostáil
       tag:
         name: Haischlib
       user_role:
diff --git a/config/locales/simple_form.kab.yml b/config/locales/simple_form.kab.yml
index ae18d2a42..af9e19282 100644
--- a/config/locales/simple_form.kab.yml
+++ b/config/locales/simple_form.kab.yml
@@ -102,6 +102,9 @@ kab:
         text: Alugen
       tag:
         name: Ahacṭag
+      user_role:
+        name: Isem
+        permissions_as_keys: Tisirag
     'no': Ala
     recommended: Yettuwelleh
     required:
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index 82abda07e..90f133f35 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -193,8 +193,8 @@ ko:
         setting_auto_play_gif: 애니메이션 GIF를 자동 재생
         setting_boost_modal: 부스트 전 확인 창을 표시
         setting_crop_images: 확장되지 않은 게시물의 이미지를 16x9로 자르기
-        setting_default_language: 게시물 언어
-        setting_default_privacy: 게시물 프라이버시
+        setting_default_language: 글 언어
+        setting_default_privacy: 글 설정
         setting_default_sensitive: 미디어를 언제나 민감한 콘텐츠로 설정
         setting_delete_modal: 게시물 삭제 전 확인 창을 표시
         setting_disable_swiping: 스와이프 모션 비활성화
@@ -255,7 +255,7 @@ ko:
       interactions:
         must_be_follower: 나를 팔로우 하지 않는 사람에게서 온 알림을 차단
         must_be_following: 내가 팔로우 하지 않는 사람에게서 온 알림을 차단
-        must_be_following_dm: 내가 팔로우 하지 않은 사람에게서 오는 다이렉트메시지를 차단
+        must_be_following_dm: 내가 팔로우 하지 않은 사람의 쪽지를 차단하기
       invite:
         comment: 주석
       invite_request:
diff --git a/config/locales/simple_form.ms.yml b/config/locales/simple_form.ms.yml
index 2925688a0..a6e91d5c0 100644
--- a/config/locales/simple_form.ms.yml
+++ b/config/locales/simple_form.ms.yml
@@ -1 +1,142 @@
+---
 ms:
+  simple_form:
+    hints:
+      defaults:
+        email: Anda akan dihantar e-mel pengesahan
+        locale: Bahasa untuk antara muka pengguna, e-mel dan pemberitahuan segera
+        password: Gunakan sekurang-kurangnya 8 aksara
+        setting_always_send_emails: Biasanya pemberitahuan e-mel tidak akan dihantar apabila anda selalu menggunakan Mastodon
+        setting_display_media_default: Sembunyikan media yang ditanda sebagai sensitif
+        setting_display_media_hide_all: Sentiasa sembunyikan media
+        setting_display_media_show_all: Sentiasa paparkan media
+        setting_hide_network: Sesiapa yang anda ikuti dan sesiapa yang mengikuti anda akan disembunyi daripada profil anda
+        setting_noindex: Menjejaskan profil awam dan laman hantaran anda
+      form_admin_settings:
+        closed_registrations_message: Dipaparkan semasa pendaftaran ditutup
+        site_contact_username: Bagaimana orang boleh menghubungi anda pada Mastodon.
+      form_challenge:
+        current_password: Anda sedang memasuki kawasan selamat
+      imports:
+        data: Fail CSV dieksport daripada pelayan Mastodon yang lain
+      invite_request:
+        text: Ini akan membantu kami menyemak permohonan anda
+      ip_block:
+        severities:
+          no_access: Menyekat akses kepada semua sumber
+          sign_up_block: Pendaftaran baru tidak akan dibenarkan
+          sign_up_requires_approval: Pendaftaran baru akan memerlukan kelulusan anda
+    labels:
+      account:
+        fields:
+          value: Kandungan
+      account_warning_preset:
+        title: Tajuk
+      admin_account_action:
+        text: Amaran tersuai
+        type: Tindakan
+        types:
+          none: Hantar amaran
+          sensitive: Sensitif
+          silence: Hadkan
+          suspend: Gantung
+        warning_preset_id: Gunakan amaran yang ditetapkan
+      announcement:
+        text: Pengumuman
+      appeal:
+        text: Jelaskan mengapa keputusan ini patut diterbalikkan
+      defaults:
+        bot: Ini ialah akaun bot
+        chosen_languages: Tapis bahasa
+        confirm_new_password: Sahkan kata laluan baru
+        confirm_password: Sahkan kata laluan
+        context: Konteks penapis
+        current_password: Kata laluan semasa
+        data: Data
+        discoverable: Mencadangkan akaun kepada pengguna lain
+        display_name: Nama paparan
+        email: Alamat e-mel
+        expires_in: Tamat tempoh selepas
+        fields: Metadata profil
+        locale: Bahasa antara muka
+        new_password: Kata laluan baru
+        otp_attempt: Kod dua faktor
+        password: Kata laluan
+        phrase: Kata kunci atau frasa
+        setting_advanced_layout: Dayakan antara muka web lanjutan
+        setting_default_language: Bahasa hantaran
+        setting_default_privacy: Privasi hantaran
+        setting_default_sensitive: Selalu tandakan media sebagai sensitif
+        setting_display_media: Paparan media
+        setting_display_media_default: Lalai
+        setting_display_media_hide_all: Sembunyikan semua
+        setting_display_media_show_all: Paparkan semua
+        setting_system_font_ui: Gunakan fon lalai sistem
+        setting_theme: Tema halaman
+        setting_trends: Paparkan trend hari ini
+        sign_in_token_attempt: Kod keselamatan
+        title: Tajuk
+        type: Jenis import
+        username: Nama pengguna
+        username_or_email: Nama Pengguna atau E-mel
+        whole_word: Seluruh perkataan
+      featured_tag:
+        name: Tanda pagar
+      filters:
+        actions:
+          hide: Sembunyikan sepenuhnya
+          warn: Sembunyikan dengan amaran
+      form_admin_settings:
+        custom_css: CSS tersuai
+        profile_directory: Dayakan direktori profil
+        registrations_mode: Siapa boleh mendaftar
+        require_invite_text: Memerlukan sebab penyertaan
+        show_domain_blocks: Tunjukan sekatan domain
+        show_domain_blocks_rationale: Tunjukan sebab domain disekat
+        site_contact_email: E-mel hubungan
+        site_contact_username: Nama pengguna hubungan
+        site_extended_description: Penerangan lanjut
+        site_short_description: Penerangan pelayan
+        site_terms: Dasar Privasi
+        site_title: Nama pelayan
+        theme: Tema asal
+        trends: Dayakan trend
+      invite:
+        comment: Komen
+      invite_request:
+        text: Mengapa anda hendak menyertai?
+      ip_block:
+        comment: Komen
+        ip: IP
+        severities:
+          no_access: Sekat akses
+          sign_up_block: Sekat pendaftaran
+          sign_up_requires_approval: Hadkan pendaftaran
+        severity: Peraturan
+      notification_emails:
+        favourite: Seorang menggemarkan hantaran anda
+        follow: Seorang mengikuti anda
+        follow_request: Seorang meminta untuk mengikuti anda
+        mention: Seorang menyebut anda
+        pending_account: Akaun baru memerlukan semakan
+        reblog: Seorang menggalakan hantaran anda
+        report: Laporan baru telah dihantar
+        trending_tag: Trend baru memerlukan semakan
+      rule:
+        text: Peraturan
+      tag:
+        name: Tanda pagar
+        usable: Benarkan siaran untuk menggunakan tanda pagar ini
+      user:
+        role: Peranan
+      user_role:
+        color: Warna lencana
+        name: Nama
+        permissions_as_keys: Kebenaran
+        position: Keutamaan
+    'no': Tidak
+    not_recommended: Tidak disyorkan
+    recommended: Disyorkan
+    required:
+      text: diperlukan
+    'yes': Ya
diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml
index 7d005171a..f2ea18fe1 100644
--- a/config/locales/simple_form.no.yml
+++ b/config/locales/simple_form.no.yml
@@ -27,6 +27,8 @@
         scheduled_at: La stå tomt for å publisere kunngjøringen umiddelbart
         starts_at: Valgfritt. I tilfellet din kunngjøring er bundet til en spesifikk tidsramme
         text: Du kan bruke tut syntaks. Vennligst vær oppmerksom på plassen som kunngjøringen vil ta opp på brukeren sin skjerm
+      appeal:
+        text: Du kan kun klage på en advarsel en gang
       defaults:
         autofollow: Folk som lager en konto gjennom invitasjonen, vil automatisk følge deg
         avatar: PNG, GIF eller JPG. Maksimalt %{size}. Vil bli nedskalert til %{dimensions}px
@@ -35,6 +37,7 @@
         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: La kontoen din bli oppdaget av ukjente gjennom anbefalinger, trender og andre funksjoner
         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
@@ -46,6 +49,7 @@
         phrase: Vil bli samsvart med, uansett bruk av store/små bokstaver eller innholdsadvarselen til en tut
         scopes: Hvilke API-er programmet vil bli gitt tilgang til. Dersom du velger et toppnivåomfang, trenger du ikke å velge individuelle API-er.
         setting_aggregate_reblogs: Ikke vis nye fremhevinger for tuter som nylig har blitt fremhever (Påvirker kun nylige fremhevinger)
+        setting_always_send_emails: E-postvarsler sendes normalt sett ikke mens du aktivt bruker Mastodon
         setting_default_sensitive: Sensitivt media blir skjult som standard og kan bli vist med et klikk
         setting_display_media_default: Skjul media som er merket som sensitivt
         setting_display_media_hide_all: Skjul alltid all media
@@ -62,6 +66,10 @@
       email_domain_block:
         domain: Dette kan være domenenavnet som vises i e-postadressen eller MX-oppføringen den bruker. De vil bli sjekket ved oppretting av konto.
         with_dns_records: Et forsøk på å løse det gitte domenets DNS-poster vil bli gjort, og resultatene vil også bli svartelistet
+      filters:
+        action: Velg hvilken handling som skal utføres når et innlegg samsvarer med filteret
+        actions:
+          hide: Skjul filtrert innhold fullstendig, som om det ikke eksisterte
       form_challenge:
         current_password: Du går inn i et sikkert område
       imports:
@@ -176,6 +184,10 @@
         with_dns_records: Inkluder MX-poster og IP-adresser for domenet
       featured_tag:
         name: Emneknagg
+      form_admin_settings:
+        registrations_mode: Hvem kan opprette konto
+        site_contact_email: E-postadresse for kontakt
+        site_title: Servernavn
       interactions:
         must_be_follower: Blokker varslinger fra ikke-følgere
         must_be_following: Blokker varslinger fra personer du ikke følger
@@ -206,7 +218,14 @@
         name: Emneknagg
         trendable: Tillat denne emneknaggen til å vises under trender
         usable: Tillat tuter å bruke denne emneknaggen
+      user:
+        role: Rolle
+      user_role:
+        name: Navn
+        permissions_as_keys: Tillatelser
+        position: Prioritet
     'no': Nei
+    not_recommended: Ikke anbefalt
     recommended: Anbefalt
     required:
       mark: "*"
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index d2bb4dfbd..7e8d2dc30 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -81,9 +81,18 @@ pt-BR:
         custom_css: Você pode aplicar estilos personalizados na versão da web do Mastodon.
         mascot: Substitui a ilustração na interface web avançada.
         media_cache_retention_period: Os arquivos de mídia baixados serão excluídos após o número especificado de dias, quando definido para um valor positivo, e baixados novamente na demanda.
+        profile_directory: O diretório de perfis lista todos os usuários que optaram por permitir que suas contas sejam descobertas.
+        site_contact_email: Como as pessoas podem entrar em contato com você para obter informações legais ou de suporte.
         site_contact_username: Como as pessoas podem chegar até você no Mastodon.
         site_extended_description: Quaisquer informações adicionais que possam ser úteis para os visitantes e seus usuários. Podem ser estruturadas com formato Markdown.
+        site_short_description: Uma curta descrição para ajudar unicamente a identificar a sua instância. Quem está o administrando, e para quem é direcionado?
+        site_terms: Use a sua própria política de privacidade ou deixe em branco para usar o padrão. Pode ser estruturado com o formato Markdown.
         site_title: Como as pessoas podem se referir ao seu servidor além do nome do domínio.
+        theme: Tema que visitantes e novos usuários veem.
+        thumbnail: Uma imagem de aproximadamente 2:1 exibida ao lado da informação de sua instância.
+        timeline_preview: Visitantes conseguirão navegar pelas postagens públicas mais recentes disponíveis na instância.
+        trendable_by_default: Pular a revisão manual do conteúdo em tendência. Itens individuais ainda poderão ser removidos das tendências após a sua exibição.
+        trends: Tendências mostram quais publicações, hashtags e notícias estão ganhando destaque na sua instância.
       form_challenge:
         current_password: Você está entrando em uma área segura
       imports:
@@ -96,7 +105,8 @@ pt-BR:
         ip: Digite um endereço IPv4 ou IPv6. Você pode bloquear intervalos inteiros usando a sintaxe CIDR. Tenha cuidado para não bloquear a si mesmo!
         severities:
           no_access: Bloquear o acesso a todos os recursos
-          sign_up_requires_approval: Novos registros exigirão sua aprovação
+          sign_up_block: Não serão possíveis novas inscrições
+          sign_up_requires_approval: Novas inscrições exigirão sua aprovação
         severity: Escolha o que acontecerá com as solicitações deste IP
       rule:
         text: Descreva uma regra ou requisito para os usuários neste servidor. Tente mantê-la curta e simples.
@@ -107,6 +117,13 @@ pt-BR:
         name: Você pode mudar a capitalização das letras, por exemplo, para torná-la mais legível
       user:
         chosen_languages: Apenas as publicações dos idiomas selecionados serão exibidas nas linhas públicas
+        role: A função controla que permissões o usuário tem
+      user_role:
+        color: Cor a ser usada para a função em toda a interface do usuário, como RGB no formato hexadecimal
+        highlighted: Isso torna a função publicamente visível
+        name: Nome público da função, se a função é definida para ser exibida como um distintivo
+        permissions_as_keys: Usuários com essa função terão acesso a...
+        position: Uma função superior decide a resolução de conflitos em certas situações. Certas ações só podem ser executadas em funções com menor prioridade
       webhook:
         events: Selecione eventos para enviar
         url: Aonde os eventos serão enviados
@@ -211,16 +228,28 @@ pt-BR:
           hide: Ocultar completamente
           warn: Ocultar com um aviso
       form_admin_settings:
+        backups_retention_period: Período de retenção do arquivo de usuário
+        bootstrap_timeline_accounts: Sempre recomendar essas contas para novos usuários
+        closed_registrations_message: Mensagem personalizada quando inscrições não estão disponíveis
+        content_cache_retention_period: Período de retenção do cachê de conteúdo
         custom_css: CSS personalizável
+        mascot: Mascote personalizado (legado)
+        media_cache_retention_period: Período de retenção do cachê de mídia
         profile_directory: Ativar diretório de perfis
         registrations_mode: Quem pode se inscrever
+        require_invite_text: Exigir uma razão para entrar
+        show_domain_blocks: Mostrar domínios bloqueados
+        show_domain_blocks_rationale: Mostrar por que domínios foram bloqueados
         site_contact_email: E-mail de contato
+        site_contact_username: Usuário de contato
         site_extended_description: Descrição estendida
         site_short_description: Descrição do servidor
         site_terms: Política de privacidade
         site_title: Nome do servidor
         theme: Tema padrão
         thumbnail: Miniatura do servidor
+        timeline_preview: Permitir acesso não autenticado às linhas do tempo públicas
+        trendable_by_default: Permitir tendências sem revisão prévia
         trends: Habilitar tendências
       interactions:
         must_be_follower: Bloquear notificações de não-seguidores
@@ -260,6 +289,7 @@ pt-BR:
         role: Cargo
       user_role:
         color: Cor do emblema
+        highlighted: Exibir função como distintivo nos perfis de usuários
         name: Nome
         permissions_as_keys: Permissões
         position: Prioridade
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index 3083f44a3..0a53a7006 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -85,7 +85,7 @@ th:
         site_contact_email: วิธีที่ผู้คนสามารถเข้าถึงคุณสำหรับการสอบถามด้านกฎหมายหรือการสนับสนุน
         site_contact_username: วิธีที่ผู้คนสามารถเข้าถึงคุณใน Mastodon
         site_extended_description: ข้อมูลเพิ่มเติมใด ๆ ที่อาจเป็นประโยชน์กับผู้เยี่ยมชมและผู้ใช้ของคุณ สามารถจัดโครงสร้างด้วยไวยากรณ์ Markdown
-        site_short_description: คำอธิบายแบบสั้นเพื่อช่วยระบุเซิร์ฟเวอร์ของคุณโดยเฉพาะ ผู้ดำเนินการเซิร์ฟเวอร์ เซิร์ฟเวอร์สำหรับใคร?
+        site_short_description: คำอธิบายแบบสั้นเพื่อช่วยระบุเซิร์ฟเวอร์ของคุณอย่างไม่ซ้ำกัน ผู้ดำเนินการเซิร์ฟเวอร์ เซิร์ฟเวอร์สำหรับใคร?
         site_terms: ใช้นโยบายความเป็นส่วนตัวของคุณเองหรือเว้นว่างไว้เพื่อใช้ค่าเริ่มต้น สามารถจัดโครงสร้างด้วยไวยากรณ์ Markdown
         site_title: วิธีที่ผู้คนอาจอ้างอิงถึงเซิร์ฟเวอร์ของคุณนอกเหนือจากชื่อโดเมนของเซิร์ฟเวอร์
         theme: ชุดรูปแบบที่ผู้เยี่ยมชมที่ออกจากระบบและผู้ใช้ใหม่เห็น
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 9a4c665ec..ccb9a28cd 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -393,7 +393,7 @@ th:
       reject_media: ปฏิเสธไฟล์สื่อ
       reject_media_hint: เอาไฟล์สื่อที่จัดเก็บไว้ในเซิร์ฟเวอร์ออกและปฏิเสธที่จะดาวน์โหลดไฟล์ใด ๆ ในอนาคต ไม่เกี่ยวข้องกับการระงับ
       reject_reports: ปฏิเสธรายงาน
-      reject_reports_hint: เพิกเฉยรายงานทั้งหมดที่มาจากโดเมนนี้ ไม่เกี่ยวข้องกับการระงับ
+      reject_reports_hint: เพิกเฉยต่อรายงานทั้งหมดที่มาจากโดเมนนี้ ไม่เกี่ยวข้องกับการระงับ
       undo: เลิกทำการปิดกั้นโดเมน
       view: ดูการปิดกั้นโดเมน
     email_domain_blocks:
@@ -824,7 +824,7 @@ th:
         silence: เพื่อจำกัดบัญชีของเขา
         suspend: เพื่อระงับบัญชีของเขา
       body: "%{target} กำลังอุทธรณ์การตัดสินใจในการควบคุมโดย %{action_taken_by} จาก %{date} ซึ่งเป็น %{type} เขาเขียนว่า:"
-      next_steps: คุณสามารถอนุมัติการอุทธรณ์เพื่อเลิกทำการตัดสินใจในการควบคุม หรือเพิกเฉยการอุทธรณ์
+      next_steps: คุณสามารถอนุมัติการอุทธรณ์เพื่อเลิกทำการตัดสินใจในการควบคุม หรือเพิกเฉยต่อการอุทธรณ์
       subject: "%{username} กำลังอุทธรณ์การตัดสินใจในการควบคุมใน %{instance}"
     new_pending_account:
       body: รายละเอียดของบัญชีใหม่อยู่ด้านล่าง คุณสามารถอนุมัติหรือปฏิเสธใบสมัครนี้
@@ -845,9 +845,10 @@ th:
       subject: แนวโน้มใหม่สำหรับตรวจทานใน %{instance}
   aliases:
     add_new: สร้างนามแฝง
-    created_msg: สร้างนามแฝงใหม่สำเร็จ ตอนนี้คุณสามารถทำการย้ายจากบัญชีเก่า
+    created_msg: สร้างนามแฝงใหม่สำเร็จ ตอนนี้คุณสามารถเริ่มต้นการย้ายจากบัญชีเก่า
     deleted_msg: เอานามแฝงออกสำเร็จ จะไม่สามารถย้ายจากบัญชีนั้นไปยังบัญชีนี้ได้อีกต่อไป
     empty: คุณไม่มีนามแฝง
+    hint_html: หากคุณต้องการย้ายจากบัญชีอื่นไปยังบัญชีนี้ ที่นี่คุณสามารถสร้างนามแฝง ซึ่งจำเป็นก่อนที่คุณจะสามารถดำเนินการต่อด้วยการย้ายผู้ติดตามจากบัญชีเก่าไปยังบัญชีนี้ การกระทำนี้โดยตัวการกระทำเอง <strong>ไม่เป็นอันตรายและย้อนกลับได้</strong> <strong>การโยกย้ายบัญชีเริ่มต้นจากบัญชีเก่า</strong>
     remove: เลิกเชื่อมโยงนามแฝง
   appearance:
     advanced_web_interface: ส่วนติดต่อเว็บขั้นสูง
@@ -1188,9 +1189,12 @@ th:
     set_redirect: ตั้งการเปลี่ยนเส้นทาง
     warning:
       before: 'ก่อนดำเนินการต่อ โปรดอ่านหมายเหตุเหล่านี้อย่างระมัดระวัง:'
+      cooldown: หลังจากการย้ายจะมีระยะเวลาการรอซึ่งในระหว่างนั้นคุณจะไม่สามารถย้ายได้อีกครั้ง
+      disabled_account: บัญชีปัจจุบันของคุณจะไม่สามารถใช้งานได้อย่างเต็มที่หลังจากนั้น อย่างไรก็ตาม คุณจะสามารถเข้าถึงการส่งออกข้อมูลเช่นเดียวกับการเปิดใช้งานใหม่
       followers: การกระทำนี้จะย้ายผู้ติดตามทั้งหมดจากบัญชีปัจจุบันไปยังบัญชีใหม่
       only_redirect_html: หรืออีกวิธีหนึ่ง คุณสามารถ <a href="%{path}">ตั้งเพียงการเปลี่ยนเส้นทางในโปรไฟล์ของคุณเท่านั้น</a>
       other_data: จะไม่ย้ายข้อมูลอื่น ๆ โดยอัตโนมัติ
+      redirect: จะอัปเดตโปรไฟล์ของบัญชีปัจจุบันของคุณด้วยข้อสังเกตการเปลี่ยนเส้นทางและจะไม่รวมอยู่ในการค้นหา
   moderation:
     title: การควบคุม
   move_handler:
@@ -1425,8 +1429,8 @@ th:
     enabled: ลบโพสต์เก่าโดยอัตโนมัติ
     enabled_hint: ลบโพสต์ของคุณโดยอัตโนมัติเมื่อโพสต์ถึงค่าเกณฑ์อายุที่ระบุ เว้นแต่โพสต์ตรงกับหนึ่งในข้อยกเว้นด้านล่าง
     exceptions: ข้อยกเว้น
-    ignore_favs: เพิกเฉยรายการโปรด
-    ignore_reblogs: เพิกเฉยการดัน
+    ignore_favs: เพิกเฉยต่อรายการโปรด
+    ignore_reblogs: เพิกเฉยต่อการดัน
     interaction_exceptions: ข้อยกเว้นตามการโต้ตอบ
     keep_direct: เก็บข้อความโดยตรง
     keep_direct_hint: ไม่ลบข้อความโดยตรงใดก็ตามของคุณ
@@ -1477,10 +1481,12 @@ th:
     enabled: เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยแล้ว
     enabled_success: เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำเร็จ
     generate_recovery_codes: สร้างรหัสกู้คืน
+    lost_recovery_codes: รหัสกู้คืนอนุญาตให้คุณเข้าถึงบัญชีของคุณได้อีกครั้งหากคุณทำโทรศัพท์ของคุณหาย หากคุณทำรหัสกู้คืนหาย คุณสามารถสร้างรหัสใหม่ได้ที่นี่ จะยกเลิกรหัสกู้คืนเก่าของคุณ
     methods: วิธีการสองปัจจัย
     otp: แอปตัวรับรองความถูกต้อง
     recovery_codes: รหัสกู้คืนข้อมูลสำรอง
     recovery_codes_regenerated: สร้างรหัสกู้คืนใหม่สำเร็จ
+    recovery_instructions_html: หากคุณสูญเสียการเข้าถึงโทรศัพท์ของคุณ คุณสามารถใช้หนึ่งในรหัสกู้คืนด้านล่างเพื่อให้เข้าถึงบัญชีของคุณได้อีกครั้ง <strong>รักษารหัสกู้คืนให้ปลอดภัย</strong> ตัวอย่างเช่น คุณสามารถพิมพ์รหัสและจัดเก็บรหัสไว้กับเอกสารสำคัญอื่น ๆ
     webauthn: กุญแจความปลอดภัย
   user_mailer:
     appeal_approved:
@@ -1514,7 +1520,7 @@ th:
         disable: คุณไม่สามารถใช้บัญชีของคุณได้อีกต่อไป แต่โปรไฟล์และข้อมูลอื่น ๆ ของคุณยังคงอยู่ในสภาพเดิม คุณสามารถขอข้อมูลสำรองของข้อมูลของคุณ เปลี่ยนการตั้งค่าบัญชี หรือลบบัญชีของคุณ
         mark_statuses_as_sensitive: ทำเครื่องหมายโพสต์บางส่วนของคุณว่าละเอียดอ่อนโดยผู้ควบคุมของ %{instance} แล้ว นี่หมายความว่าผู้คนจะต้องแตะสื่อในโพสต์ก่อนที่จะแสดงตัวอย่าง คุณสามารถทำเครื่องหมายสื่อว่าละเอียดอ่อนด้วยตัวคุณเองเมื่อโพสต์ในอนาคต
         sensitive: จากนี้ไป จะทำเครื่องหมายไฟล์สื่อที่อัปโหลดทั้งหมดของคุณว่าละเอียดอ่อนและซ่อนอยู่หลังการคลิกไปยังคำเตือน
-        silence: คุณยังคงสามารถใช้บัญชีของคุณแต่เฉพาะผู้คนที่กำลังติดตามคุณอยู่แล้วเท่านั้นที่จะเห็นโพสต์ของคุณในเซิร์ฟเวอร์นี้ และอาจแยกคุณออกจากคุณลักษณะการค้นพบต่าง ๆ อย่างไรก็ตาม ผู้อื่นอาจยังติดตามคุณด้วยตนเอง
+        silence: คุณยังคงสามารถใช้บัญชีของคุณแต่เฉพาะผู้คนที่กำลังติดตามคุณอยู่แล้วเท่านั้นที่จะเห็นโพสต์ของคุณในเซิร์ฟเวอร์นี้ และอาจไม่รวมคุณอยู่ในคุณลักษณะการค้นพบต่าง ๆ อย่างไรก็ตาม ผู้อื่นอาจยังติดตามคุณด้วยตนเอง
         suspend: คุณไม่สามารถใช้บัญชีของคุณได้อีกต่อไป และจะไม่สามารถเข้าถึงโปรไฟล์และข้อมูลอื่น ๆ ของคุณได้อีกต่อไป คุณยังคงสามารถเข้าสู่ระบบเพื่อขอข้อมูลสำรองของข้อมูลของคุณจนกว่าจะเอาข้อมูลออกอย่างสมบูรณ์ในเวลาประมาณ 30 วัน แต่เราจะเก็บรักษาข้อมูลพื้นฐานบางอย่างไว้เพื่อป้องกันไม่ให้คุณหลบเลี่ยงการระงับ
       reason: 'เหตุผล:'
       statuses: 'โพสต์ที่อ้างถึง:'
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index cc2193a68..c53e8c0db 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -608,6 +608,7 @@ tr:
         other: "%{count} kullanıcı"
       categories:
         administration: Yönetim
+        devops: DevOps
         invites: Davetler
         moderation: Denetim
         special: Özel
@@ -658,6 +659,7 @@ tr:
         view_audit_log_description: Kullanıcıların sunucudaki yönetsel eylemlerin bir tarihçesini görüntülemesine izin verir
         view_dashboard: Ana Paneli Görüntüleme
         view_dashboard_description: Kullanıcıların ana panele ve çeşitli ölçütlere erişmesine izin verir
+        view_devops: DevOps
         view_devops_description: Kullanıcıların Sidekiq ve pgHero panellerine erişmesine izin verir
       title: Roller
     rules:
@@ -1371,6 +1373,7 @@ tr:
     browser: Tarayıcı
     browsers:
       alipay: Alipay
+      blackberry: BlackBerry
       chrome: Chrome
       edge: Microsoft Edge
       electron: Electron
@@ -1384,6 +1387,7 @@ tr:
       phantom_js: PhantomJS
       qq: QQ Browser
       safari: Safari
+      uc_browser: UC Browser
       weibo: Weibo
     current_session: Geçerli oturum
     description: "%{platform} - %{browser}"
@@ -1392,6 +1396,8 @@ tr:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      blackberry: BlackBerry
+      chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
       linux: Linux
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index 94ac3f2b8..cd126ed36 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -634,6 +634,7 @@ uk:
         other: "%{count} користувача"
       categories:
         administration: Адміністрування
+        devops: DevOps
         invites: Запрошення
         moderation: Модерація
         special: Спеціальні
@@ -686,6 +687,7 @@ uk:
         view_audit_log_description: Дозволяє користувачам бачити історію адміністративних дій на сервері
         view_dashboard: Переглядати панель керування
         view_dashboard_description: Дозволяє користувачам доступ до панелі керування та різних метрик
+        view_devops: DevOps
         view_devops_description: Дозволяє користувачам доступ до Sidekiq і панелі pgHero
       title: Ролі
     rules:
@@ -1423,6 +1425,7 @@ uk:
     browser: Браузер
     browsers:
       alipay: Alipay
+      blackberry: BlackBerry
       chrome: Хром
       edge: Microsoft Edge
       electron: Electron
@@ -1436,6 +1439,7 @@ uk:
       phantom_js: PhantomJS
       qq: QQ Browser
       safari: Сафарі
+      uc_browser: UC Browser
       weibo: Weibo
     current_session: Активна сесія
     description: "%{browser} на %{platform}"
@@ -1444,6 +1448,8 @@ uk:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      blackberry: BlackBerry
+      chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
       linux: Linux
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index b3e37438f..26bd805d5 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -595,6 +595,7 @@ vi:
         other: "%{count} người"
       categories:
         administration: Quản trị viên
+        devops: Nhà phát triển
         invites: Lời mời
         moderation: Kiểm duyệt
         special: Đặc biệt
@@ -644,6 +645,7 @@ vi:
         view_audit_log_description: Cho phép xem lịch sử của các hành động quản trị trên máy chủ
         view_dashboard: Xem quản trị
         view_dashboard_description: Cho phép truy cập trang tổng quan và các chỉ số khác
+        view_devops: Nhà phát triển
         view_devops_description: Cho phép truy cập trang tổng quan Sidekiq và pgHero
       title: Danh sách vai trò
     rules:
@@ -1345,6 +1347,7 @@ vi:
     browser: Trình duyệt
     browsers:
       alipay: Alipay
+      blackberry: BlackBerry
       chrome: Chrome
       edge: Edge
       electron: Electron
@@ -1358,6 +1361,7 @@ vi:
       phantom_js: PhantomJS
       qq: QQ
       safari: Safari
+      uc_browser: UC Browser
       weibo: Weibo
     current_session: Phiên hiện tại
     description: "%{browser} trên %{platform}"
@@ -1366,6 +1370,8 @@ vi:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      blackberry: BlackBerry
+      chrome_os: ChromeOS
       firefox_os: Hệ điều hành Firefox
       ios: iOS
       linux: Linux
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index c9596c040..17b40aab9 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -1349,6 +1349,7 @@ zh-TW:
     browser: 瀏覽器
     browsers:
       alipay: 支付寶
+      blackberry: 黑莓機(BlackBerry)
       chrome: Chrome 瀏覽器
       edge: Microsoft Edge 瀏覽器
       electron: Electron 瀏覽器
@@ -1371,6 +1372,7 @@ zh-TW:
     platforms:
       adobe_air: Adobe Air
       android: Android
+      blackberry: 黑莓機(BlackBerry)
       chrome_os: ChromeOS
       firefox_os: Firefox OS
       ios: iOS
diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb
index b41188814..6b423f6fc 100644
--- a/lib/mastodon/version.rb
+++ b/lib/mastodon/version.rb
@@ -13,7 +13,7 @@ module Mastodon
     end
 
     def patch
-      1
+      2
     end
 
     def flags
diff --git a/package.json b/package.json
index 0bb51bbf6..09f1ec435 100644
--- a/package.json
+++ b/package.json
@@ -35,7 +35,7 @@
     "@github/webauthn-json": "^0.5.7",
     "@rails/ujs": "^6.1.7",
     "abortcontroller-polyfill": "^1.7.5",
-    "array-includes": "^3.1.5",
+    "array-includes": "^3.1.6",
     "atrament": "0.2.4",
     "arrow-key-navigation": "^1.2.0",
     "autoprefixer": "^9.8.8",
@@ -45,7 +45,7 @@
     "babel-plugin-preval": "^5.1.0",
     "babel-plugin-react-intl": "^6.2.0",
     "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
-    "blurhash": "^2.0.3",
+    "blurhash": "^2.0.4",
     "classnames": "^2.3.2",
     "cocoon-js-vanilla": "^1.3.0",
     "color-blend": "^3.0.1",
@@ -75,7 +75,7 @@
     "intl-relativeformat": "^6.4.3",
     "is-nan": "^1.3.2",
     "js-yaml": "^4.1.0",
-    "jsdom": "^20.0.1",
+    "jsdom": "^20.0.2",
     "lodash": "^4.17.21",
     "mark-loader": "^0.1.6",
     "marky": "^1.2.5",
@@ -84,13 +84,13 @@
     "npmlog": "^7.0.1",
     "object-assign": "^4.1.1",
     "object-fit-images": "^3.2.3",
-    "object.values": "^1.1.5",
+    "object.values": "^1.1.6",
     "path-complete-extname": "^1.0.0",
     "pg": "^8.5.0",
-    "postcss": "^8.4.18",
+    "postcss": "^8.4.19",
     "postcss-loader": "^3.0.0",
     "postcss-object-fit-images": "^1.1.2",
-    "promise.prototype.finally": "^3.1.3",
+    "promise.prototype.finally": "^3.1.4",
     "prop-types": "^15.8.1",
     "punycode": "^2.1.0",
     "react": "^16.14.0",
@@ -115,10 +115,10 @@
     "redis": "^4.0.6 <4.1.0",
     "redux": "^4.2.0",
     "redux-immutable": "^4.0.0",
-    "redux-thunk": "^2.4.1",
+    "redux-thunk": "^2.4.2",
     "regenerator-runtime": "^0.13.10",
     "requestidlecallback": "^0.3.0",
-    "reselect": "^4.1.6",
+    "reselect": "^4.1.7",
     "rimraf": "^3.0.2",
     "sass": "^1.55.0",
     "sass-loader": "^10.2.0",
@@ -165,7 +165,7 @@
     "stylelint": "^14.14.0",
     "stylelint-config-standard-scss": "^5.0.0",
     "webpack-dev-server": "^3.11.3",
-    "yargs": "^17.6.0"
+    "yargs": "^17.6.2"
   },
   "resolutions": {
     "kind-of": "^6.0.3"
diff --git a/yarn.lock b/yarn.lock
index eed77572b..92d743b1d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2533,15 +2533,15 @@ array-flatten@^2.1.0:
   resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
   integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
 
-array-includes@^3.1.4, array-includes@^3.1.5:
-  version "3.1.5"
-  resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb"
-  integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==
+array-includes@^3.1.4, array-includes@^3.1.5, array-includes@^3.1.6:
+  version "3.1.6"
+  resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f"
+  integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==
   dependencies:
     call-bind "^1.0.2"
     define-properties "^1.1.4"
-    es-abstract "^1.19.5"
-    get-intrinsic "^1.1.1"
+    es-abstract "^1.20.4"
+    get-intrinsic "^1.1.3"
     is-string "^1.0.7"
 
 array-union@^1.0.1:
@@ -2938,10 +2938,10 @@ bluebird@^3.5.5:
   resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
   integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
 
-blurhash@^2.0.3:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/blurhash/-/blurhash-2.0.3.tgz#5c1166bf5b65e09e337fe5b8c6b53e1218085b0b"
-  integrity sha512-nTnJTOheiaV3b189f7rH5AbbrnQB2r3CcOZBg47GUDaE9DrxyBPD2w0HYp4ME2UBlTP7LMIa6nMWqg/58oyIzA==
+blurhash@^2.0.4:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/blurhash/-/blurhash-2.0.4.tgz#60642a823b50acaaf3732ddb6c7dfd721bdfef2a"
+  integrity sha512-r/As72u2FbucLoK5NTegM/GucxJc3d8GvHc4ngo13IO/nt2HU4gONxNLq1XPN6EM/V8Y9URIa7PcSz2RZu553A==
 
 bmp-js@^0.1.0:
   version "0.1.0"
@@ -4547,60 +4547,32 @@ error-stack-parser@^2.0.6:
   dependencies:
     stackframe "^1.1.1"
 
-es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.5:
-  version "1.20.0"
-  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6"
-  integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==
-  dependencies:
-    call-bind "^1.0.2"
-    es-to-primitive "^1.2.1"
-    function-bind "^1.1.1"
-    function.prototype.name "^1.1.5"
-    get-intrinsic "^1.1.1"
-    get-symbol-description "^1.0.0"
-    has "^1.0.3"
-    has-property-descriptors "^1.0.0"
-    has-symbols "^1.0.3"
-    internal-slot "^1.0.3"
-    is-callable "^1.2.4"
-    is-negative-zero "^2.0.2"
-    is-regex "^1.1.4"
-    is-shared-array-buffer "^1.0.2"
-    is-string "^1.0.7"
-    is-weakref "^1.0.2"
-    object-inspect "^1.12.0"
-    object-keys "^1.1.1"
-    object.assign "^4.1.2"
-    regexp.prototype.flags "^1.4.1"
-    string.prototype.trimend "^1.0.5"
-    string.prototype.trimstart "^1.0.5"
-    unbox-primitive "^1.0.2"
-
-es-abstract@^1.19.2:
-  version "1.20.1"
-  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814"
-  integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==
+es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.4:
+  version "1.20.4"
+  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.4.tgz#1d103f9f8d78d4cf0713edcd6d0ed1a46eed5861"
+  integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==
   dependencies:
     call-bind "^1.0.2"
     es-to-primitive "^1.2.1"
     function-bind "^1.1.1"
     function.prototype.name "^1.1.5"
-    get-intrinsic "^1.1.1"
+    get-intrinsic "^1.1.3"
     get-symbol-description "^1.0.0"
     has "^1.0.3"
     has-property-descriptors "^1.0.0"
     has-symbols "^1.0.3"
     internal-slot "^1.0.3"
-    is-callable "^1.2.4"
+    is-callable "^1.2.7"
     is-negative-zero "^2.0.2"
     is-regex "^1.1.4"
     is-shared-array-buffer "^1.0.2"
     is-string "^1.0.7"
     is-weakref "^1.0.2"
-    object-inspect "^1.12.0"
+    object-inspect "^1.12.2"
     object-keys "^1.1.1"
-    object.assign "^4.1.2"
+    object.assign "^4.1.4"
     regexp.prototype.flags "^1.4.3"
+    safe-regex-test "^1.0.0"
     string.prototype.trimend "^1.0.5"
     string.prototype.trimstart "^1.0.5"
     unbox-primitive "^1.0.2"
@@ -5434,14 +5406,14 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5:
   resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
   integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
 
-get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
-  integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385"
+  integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==
   dependencies:
     function-bind "^1.1.1"
     has "^1.0.3"
-    has-symbols "^1.0.1"
+    has-symbols "^1.0.3"
 
 get-own-enumerable-property-symbols@^3.0.0:
   version "3.0.2"
@@ -6263,10 +6235,10 @@ is-callable@^1.1.4:
   resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9"
   integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==
 
-is-callable@^1.2.4:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
-  integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
+is-callable@^1.2.7:
+  version "1.2.7"
+  resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
+  integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
 
 is-color-stop@^1.0.0:
   version "1.1.0"
@@ -7084,10 +7056,10 @@ js-yaml@^4.1.0:
   dependencies:
     argparse "^2.0.1"
 
-jsdom@^20.0.0, jsdom@^20.0.1:
-  version "20.0.1"
-  resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.1.tgz#d95b4a3b6e1eec6520aa01d9d908eade8c6ba153"
-  integrity sha512-pksjj7Rqoa+wdpkKcLzQRHhJCEE42qQhl/xLMUKHgoSejaKOdaXEAnqs6uDNwMl/fciHTzKeR8Wm8cw7N+g98A==
+jsdom@^20.0.0, jsdom@^20.0.2:
+  version "20.0.2"
+  resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.2.tgz#65ccbed81d5e877c433f353c58bb91ff374127db"
+  integrity sha512-AHWa+QO/cgRg4N+DsmHg1Y7xnz+8KU3EflM0LVDTdmrYOc1WWTSkOjtpUveQH+1Bqd5rtcVnb/DuxV/UjDO4rA==
   dependencies:
     abab "^2.0.6"
     acorn "^8.8.0"
@@ -7288,9 +7260,9 @@ loader-runner@^2.4.0:
   integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
 
 loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
-  integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
+  version "1.4.2"
+  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3"
+  integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==
   dependencies:
     big.js "^5.2.2"
     emojis-list "^3.0.0"
@@ -7718,7 +7690,12 @@ minimist-options@4.1.0:
     is-plain-obj "^1.1.0"
     kind-of "^6.0.3"
 
-minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6:
+minimist@^1.2.0:
+  version "1.2.7"
+  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
+  integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
+
+minimist@^1.2.5, minimist@^1.2.6:
   version "1.2.6"
   resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
   integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
@@ -8055,10 +8032,10 @@ object-fit-images@^3.2.3:
   resolved "https://registry.yarnpkg.com/object-fit-images/-/object-fit-images-3.2.4.tgz#6c299d38fdf207746e5d2d46c2877f6f25d15b52"
   integrity sha512-G+7LzpYfTfqUyrZlfrou/PLLLAPNC52FTy5y1CBywX+1/FkxIloOyQXBmZ3Zxa2AWO+lMF0JTuvqbr7G5e5CWg==
 
-object-inspect@^1.12.0:
-  version "1.12.0"
-  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0"
-  integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==
+object-inspect@^1.12.2:
+  version "1.12.2"
+  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
+  integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
 
 object-inspect@^1.9.0:
   version "1.9.0"
@@ -8105,6 +8082,16 @@ object.assign@^4.1.2:
     has-symbols "^1.0.1"
     object-keys "^1.1.1"
 
+object.assign@^4.1.4:
+  version "4.1.4"
+  resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
+  integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.4"
+    has-symbols "^1.0.3"
+    object-keys "^1.1.1"
+
 object.entries@^1.1.5:
   version "1.1.5"
   resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861"
@@ -8146,14 +8133,14 @@ object.pick@^1.3.0:
   dependencies:
     isobject "^3.0.1"
 
-object.values@^1.1.0, object.values@^1.1.5:
-  version "1.1.5"
-  resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac"
-  integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==
+object.values@^1.1.0, object.values@^1.1.5, object.values@^1.1.6:
+  version "1.1.6"
+  resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d"
+  integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.3"
-    es-abstract "^1.19.1"
+    define-properties "^1.1.4"
+    es-abstract "^1.20.4"
 
 obuf@^1.0.0, obuf@^1.1.2:
   version "1.1.2"
@@ -9010,10 +8997,10 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27, postcss@^7.0.32:
     source-map "^0.6.1"
     supports-color "^6.1.0"
 
-postcss@^8.2.15, postcss@^8.4.17, postcss@^8.4.18:
-  version "8.4.18"
-  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2"
-  integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==
+postcss@^8.2.15, postcss@^8.4.17, postcss@^8.4.19:
+  version "8.4.19"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc"
+  integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==
   dependencies:
     nanoid "^3.3.4"
     picocolors "^1.0.0"
@@ -9110,14 +9097,14 @@ promise-inflight@^1.0.1:
   resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
   integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
 
-promise.prototype.finally@^3.1.3:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.3.tgz#d3186e58fcf4df1682a150f934ccc27b7893389c"
-  integrity sha512-EXRF3fC9/0gz4qkt/f5EP5iW4kj9oFpBICNpCNOb/52+8nlHIX07FPLbi/q4qYBQ1xZqivMzTpNQSnArVASolQ==
+promise.prototype.finally@^3.1.4:
+  version "3.1.4"
+  resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.4.tgz#4e756a154e4db27fae24c6b18703495c31da3927"
+  integrity sha512-nNc3YbgMfLzqtqvO/q5DP6RR0SiHI9pUPGzyDf1q+usTwCN2kjvAnJkBb7bHe3o+fFSBPpsGMoYtaSi+LTNqng==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.3"
-    es-abstract "^1.19.1"
+    define-properties "^1.1.4"
+    es-abstract "^1.20.4"
 
 prompts@^2.0.1:
   version "2.3.2"
@@ -9694,10 +9681,10 @@ redux-immutable@^4.0.0:
   resolved "https://registry.yarnpkg.com/redux-immutable/-/redux-immutable-4.0.0.tgz#3a1a32df66366462b63691f0e1dc35e472bbc9f3"
   integrity sha1-Ohoy32Y2ZGK2NpHw4dw15HK7yfM=
 
-redux-thunk@^2.4.1:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.1.tgz#0dd8042cf47868f4b29699941de03c9301a75714"
-  integrity sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==
+redux-thunk@^2.4.2:
+  version "2.4.2"
+  resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.2.tgz#b9d05d11994b99f7a91ea223e8b04cf0afa5ef3b"
+  integrity sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==
 
 redux@^4.0.0, redux@^4.2.0:
   version "4.2.0"
@@ -9834,10 +9821,10 @@ requires-port@^1.0.0:
   resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
   integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
 
-reselect@^4.1.6:
-  version "4.1.6"
-  resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.6.tgz#19ca2d3d0b35373a74dc1c98692cdaffb6602656"
-  integrity sha512-ZovIuXqto7elwnxyXbBtCPo9YFEr3uJqj2rRbcOOog1bmu2Ag85M4hixSwFWyaBMKXNgvPaJ9OSu9SkBPIeJHQ==
+reselect@^4.1.7:
+  version "4.1.7"
+  resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.7.tgz#56480d9ff3d3188970ee2b76527bd94a95567a42"
+  integrity sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A==
 
 resolve-cwd@^2.0.0:
   version "2.0.0"
@@ -10001,6 +9988,15 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0,
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
 
+safe-regex-test@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
+  integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.1.3"
+    is-regex "^1.1.4"
+
 safe-regex@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
@@ -12202,10 +12198,10 @@ yargs-parser@^20.2.3:
   resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
   integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
 
-yargs-parser@^21.0.0:
-  version "21.0.0"
-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55"
-  integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==
+yargs-parser@^21.1.1:
+  version "21.1.1"
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
+  integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
 
 yargs@^13.3.2:
   version "13.3.2"
@@ -12223,10 +12219,10 @@ yargs@^13.3.2:
     y18n "^4.0.0"
     yargs-parser "^13.1.2"
 
-yargs@^17.3.1, yargs@^17.6.0:
-  version "17.6.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c"
-  integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==
+yargs@^17.3.1, yargs@^17.6.2:
+  version "17.6.2"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541"
+  integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==
   dependencies:
     cliui "^8.0.1"
     escalade "^3.1.1"
@@ -12234,7 +12230,7 @@ yargs@^17.3.1, yargs@^17.6.0:
     require-directory "^2.1.1"
     string-width "^4.2.3"
     y18n "^5.0.5"
-    yargs-parser "^21.0.0"
+    yargs-parser "^21.1.1"
 
 yocto-queue@^0.1.0:
   version "0.1.0"