diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json
index c68ff38a7cf..f910db135c4 100644
--- a/app/javascript/mastodon/locales/be.json
+++ b/app/javascript/mastodon/locales/be.json
@@ -86,6 +86,7 @@
   "alert.unexpected.message": "Узнікла нечаканая памылка.",
   "alert.unexpected.title": "Вой!",
   "alt_text_badge.title": "Альтэрнатыўны тэкст",
+  "alt_text_modal.done": "Гатова",
   "announcement.announcement": "Аб'ява",
   "annual_report.summary.archetype.booster": "Трэнда-сьледнік",
   "annual_report.summary.archetype.lurker": "Назіральнік",
@@ -407,6 +408,7 @@
   "ignore_notifications_modal.not_followers_title": "Ігнараваць паведамленьні ад людзей, якія ня падпісаныя на вас?",
   "ignore_notifications_modal.not_following_title": "Ігнараваць апавяшчэнні ад людзей на якіх вы не падпісаны?",
   "ignore_notifications_modal.private_mentions_title": "Ігнараваць паведамленьні аб непажаданых прыватных згадках?",
+  "info_button.label": "Даведка",
   "interaction_modal.action.favourite": "Каб працягнуць, вы мусіце ўпадабаць з вашага ўліковага запісу.",
   "interaction_modal.action.follow": "Каб працягнуць, вы мусіце падпісацца з вашага ўліковага запісу.",
   "interaction_modal.on_another_server": "На іншым серверы",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index 9ec4c4e8a61..57f58e93eeb 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -540,7 +540,7 @@
   "navigation_bar.follows_and_followers": "Sekvatoj kaj sekvantoj",
   "navigation_bar.lists": "Listoj",
   "navigation_bar.logout": "Elsaluti",
-  "navigation_bar.moderation": "Reguligo",
+  "navigation_bar.moderation": "Modereco",
   "navigation_bar.mutes": "Silentigitaj uzantoj",
   "navigation_bar.opened_in_classic_interface": "Afiŝoj, kontoj, kaj aliaj specifaj paĝoj kiuj estas malfermititaj defaulta en la klasika reta interfaco.",
   "navigation_bar.personal": "Persone",
diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json
index 1f4d4546e91..899a85e2ccf 100644
--- a/app/javascript/mastodon/locales/es-MX.json
+++ b/app/javascript/mastodon/locales/es-MX.json
@@ -13,13 +13,13 @@
   "about.rules": "Reglas del servidor",
   "account.account_note_header": "Nota personal",
   "account.add_or_remove_from_list": "Agregar o eliminar de las listas",
-  "account.badges.bot": "Bot",
+  "account.badges.bot": "Automatizada",
   "account.badges.group": "Grupo",
   "account.block": "Bloquear a @{name}",
   "account.block_domain": "Bloquear dominio {domain}",
   "account.block_short": "Bloquear",
   "account.blocked": "Bloqueado",
-  "account.cancel_follow_request": "Retirar solicitud de seguimiento",
+  "account.cancel_follow_request": "Cancelar seguimiento",
   "account.copy": "Copiar enlace al perfil",
   "account.direct": "Mención privada @{name}",
   "account.disable_notifications": "Dejar de notificarme cuando @{name} publique algo",
@@ -84,7 +84,7 @@
   "alert.rate_limited.message": "Por favor, intenta después de las {retry_time, time, medium}.",
   "alert.rate_limited.title": "Tarifa limitada",
   "alert.unexpected.message": "Hubo un error inesperado.",
-  "alert.unexpected.title": "¡Ups!",
+  "alert.unexpected.title": "¡Uy!",
   "alt_text_badge.title": "Texto alternativo",
   "alt_text_modal.add_alt_text": "Añadir texto alternativo",
   "alt_text_modal.add_text_from_image": "Añadir texto de la imagen",
@@ -193,7 +193,7 @@
   "compose_form.poll.switch_to_single": "Cambiar la encuesta para permitir una única opción",
   "compose_form.poll.type": "Estilo",
   "compose_form.publish": "Publicación",
-  "compose_form.publish_form": "Publicar",
+  "compose_form.publish_form": "Nueva publicación",
   "compose_form.reply": "Respuesta",
   "compose_form.save_changes": "Actualización",
   "compose_form.spoiler.marked": "Quitar advertencia de contenido",
@@ -285,7 +285,7 @@
   "emoji_button.food": "Comida y bebida",
   "emoji_button.label": "Insertar emoji",
   "emoji_button.nature": "Naturaleza",
-  "emoji_button.not_found": "Sin emojis coincidentes",
+  "emoji_button.not_found": "No se han encontrado emojis que coincidan",
   "emoji_button.objects": "Objetos",
   "emoji_button.people": "Gente",
   "emoji_button.recent": "Usados frecuentemente",
@@ -308,8 +308,8 @@
   "empty_column.follow_requests": "No tienes ninguna petición de seguidor. Cuando recibas una, se mostrará aquí.",
   "empty_column.followed_tags": "No estás siguiendo ninguna etiqueta todavía. Cuando lo hagas, aparecerá aquí.",
   "empty_column.hashtag": "No hay nada en esta etiqueta aún.",
-  "empty_column.home": "No estás siguiendo a nadie aún. Visita {public} o haz búsquedas para empezar y conocer gente nueva.",
-  "empty_column.list": "No hay nada en esta lista aún. Cuando miembros de esta lista publiquen nuevos estatus, estos aparecerán qui.",
+  "empty_column.home": "¡Tu cronología está vacía! Sigue a más gente para llenarla.",
+  "empty_column.list": "Aún no hay nada en esta lista. Cuando los miembros de esta lista publiquen nuevos contenidos, aparecerán aquí.",
   "empty_column.mutes": "Aún no has silenciado a ningún usuario.",
   "empty_column.notification_requests": "¡Todo limpio! No hay nada aquí. Cuando recibas nuevas notificaciones, aparecerán aquí conforme a tu configuración.",
   "empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.",
@@ -438,41 +438,41 @@
   "intervals.full.days": "{number, plural, one {# día} other {# días}}",
   "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
   "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
-  "keyboard_shortcuts.back": "volver atrás",
-  "keyboard_shortcuts.blocked": "abrir una lista de usuarios bloqueados",
+  "keyboard_shortcuts.back": "Volver atrás",
+  "keyboard_shortcuts.blocked": "Abrir la lista de usuarios bloqueados",
   "keyboard_shortcuts.boost": "Impulsar publicación",
-  "keyboard_shortcuts.column": "enfocar un estado en una de las columnas",
-  "keyboard_shortcuts.compose": "enfocar el área de texto de redacción",
+  "keyboard_shortcuts.column": "Enfocar columna",
+  "keyboard_shortcuts.compose": "Enfocar el área de texto de redacción",
   "keyboard_shortcuts.description": "Descripción",
   "keyboard_shortcuts.direct": "para abrir la columna de menciones privadas",
-  "keyboard_shortcuts.down": "mover hacia abajo en la lista",
+  "keyboard_shortcuts.down": "Descender en la lista",
   "keyboard_shortcuts.enter": "Abrir publicación",
   "keyboard_shortcuts.favourite": "Marcar como favorita la publicación",
   "keyboard_shortcuts.favourites": "Abrir lista de favoritos",
-  "keyboard_shortcuts.federated": "abrir el timeline federado",
-  "keyboard_shortcuts.heading": "Keyboard Shortcuts",
-  "keyboard_shortcuts.home": "abrir el timeline propio",
-  "keyboard_shortcuts.hotkey": "Tecla caliente",
-  "keyboard_shortcuts.legend": "para mostrar esta leyenda",
-  "keyboard_shortcuts.local": "abrir el timeline local",
-  "keyboard_shortcuts.mention": "para mencionar al autor",
-  "keyboard_shortcuts.muted": "abrir la lista de usuarios silenciados",
-  "keyboard_shortcuts.my_profile": "abrir tu perfil",
-  "keyboard_shortcuts.notifications": "abrir la columna de notificaciones",
-  "keyboard_shortcuts.open_media": "para abrir archivos multimedia",
+  "keyboard_shortcuts.federated": "Abrir cronología federada",
+  "keyboard_shortcuts.heading": "Atajos de teclado",
+  "keyboard_shortcuts.home": "Abrir cronología principal",
+  "keyboard_shortcuts.hotkey": "Tecla de acceso rápido",
+  "keyboard_shortcuts.legend": "Mostrar esta leyenda",
+  "keyboard_shortcuts.local": "Abrir cronología local",
+  "keyboard_shortcuts.mention": "Mencionar al autor",
+  "keyboard_shortcuts.muted": "Abrir la lista de usuarios silenciados",
+  "keyboard_shortcuts.my_profile": "Abrir tu perfil",
+  "keyboard_shortcuts.notifications": "Abrir la columna de notificaciones",
+  "keyboard_shortcuts.open_media": "Abrir multimedia",
   "keyboard_shortcuts.pinned": "Abrir la lista de publicaciones fijadas",
-  "keyboard_shortcuts.profile": "abrir el perfil del autor",
+  "keyboard_shortcuts.profile": "Abrir perfil del autor",
   "keyboard_shortcuts.reply": "Responder a la publicación",
-  "keyboard_shortcuts.requests": "abrir la lista de peticiones de seguidores",
-  "keyboard_shortcuts.search": "para poner el foco en la búsqueda",
-  "keyboard_shortcuts.spoilers": "para mostrar/ocultar el campo CW",
-  "keyboard_shortcuts.start": "abrir la columna \"comenzar\"",
-  "keyboard_shortcuts.toggle_hidden": "mostrar/ocultar texto tras aviso de contenido (CW)",
-  "keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar medios",
+  "keyboard_shortcuts.requests": "Abrir lista de solicitudes de seguimiento",
+  "keyboard_shortcuts.search": "Enfocar la barra de búsqueda",
+  "keyboard_shortcuts.spoilers": "Mostrar/ocultar el campo AC",
+  "keyboard_shortcuts.start": "Abrir la columna “empezar”",
+  "keyboard_shortcuts.toggle_hidden": "Mostrar/ocultar texto detrás de AC",
+  "keyboard_shortcuts.toggle_sensitivity": "Mostrar/ocultar multimedia",
   "keyboard_shortcuts.toot": "Comenzar una nueva publicación",
   "keyboard_shortcuts.translate": "para traducir una publicación",
-  "keyboard_shortcuts.unfocus": "para retirar el foco de la caja de redacción/búsqueda",
-  "keyboard_shortcuts.up": "para ir hacia arriba en la lista",
+  "keyboard_shortcuts.unfocus": "Desenfocar área de redacción/búsqueda",
+  "keyboard_shortcuts.up": "Ascender en la lista",
   "lightbox.close": "Cerrar",
   "lightbox.next": "Siguiente",
   "lightbox.previous": "Anterior",
@@ -644,7 +644,7 @@
   "notifications.grant_permission": "Conceder permiso.",
   "notifications.group": "{count} notificaciones",
   "notifications.mark_as_read": "Marcar todas las notificaciones como leídas",
-  "notifications.permission_denied": "No se pueden habilitar las notificaciones de escritorio ya que se denegó el permiso.",
+  "notifications.permission_denied": "No se pueden habilitar las notificaciones de escritorio, ya que se denegó el permiso",
   "notifications.permission_denied_alert": "No se pueden habilitar las notificaciones de escritorio, ya que el permiso del navegador fue denegado anteriormente",
   "notifications.permission_required": "Las notificaciones de escritorio no están disponibles porque no se ha concedido el permiso requerido.",
   "notifications.policy.accept": "Aceptar",
@@ -835,7 +835,7 @@
   "status.media.open": "Click para abrir",
   "status.media.show": "Click para mostrar",
   "status.media_hidden": "Contenido multimedia oculto",
-  "status.mention": "Mencionar",
+  "status.mention": "Mencionar @{name}",
   "status.more": "Más",
   "status.mute": "Silenciar @{name}",
   "status.mute_conversation": "Silenciar conversación",
@@ -855,7 +855,7 @@
   "status.replied_to": "Respondió a {name}",
   "status.reply": "Responder",
   "status.replyAll": "Responder al hilo",
-  "status.report": "Reportar",
+  "status.report": "Reportar @{name}",
   "status.sensitive_warning": "Contenido sensible",
   "status.share": "Compartir",
   "status.show_less_all": "Mostrar menos para todo",
@@ -880,21 +880,21 @@
   "time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
   "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en los últimos {days, plural, one {días} other {{days} días}}",
   "trends.trending_now": "Tendencia ahora",
-  "ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
+  "ui.beforeunload": "Tu borrador se perderá si abandonas Mastodon.",
   "units.short.billion": "{count} MM",
   "units.short.million": "{count} M",
   "units.short.thousand": "{count} K",
   "upload_area.title": "Arrastra y suelta para subir",
   "upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
   "upload_error.limit": "Límite de subida de archivos excedido.",
-  "upload_error.poll": "Subida de archivos no permitida con encuestas.",
+  "upload_error.poll": "No se permite subir archivos con las encuestas.",
   "upload_form.drag_and_drop.instructions": "Para recoger un archivo adjunto, pulsa la barra espaciadora o la tecla Intro. Mientras arrastras, usa las teclas de flecha para mover el archivo adjunto en cualquier dirección. Vuelve a pulsar la barra espaciadora o la tecla Intro para soltar el archivo adjunto en su nueva posición, o pulsa la tecla Escape para cancelar.",
   "upload_form.drag_and_drop.on_drag_cancel": "Arrastre cancelado. El archivo adjunto {item} fue eliminado.",
   "upload_form.drag_and_drop.on_drag_end": "El archivo adjunto {item} fue eliminado.",
   "upload_form.drag_and_drop.on_drag_over": "El archivo adjunto {item} fue movido.",
   "upload_form.drag_and_drop.on_drag_start": "Recogidos los archivos adjuntos {item}.",
   "upload_form.edit": "Editar",
-  "upload_progress.label": "Subiendo…",
+  "upload_progress.label": "Subiendo...",
   "upload_progress.processing": "Procesando…",
   "username.taken": "Ese nombre de usuario está ocupado. Prueba con otro",
   "video.close": "Cerrar video",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index ddd08c44b39..41edbf6800e 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -56,9 +56,9 @@
   "account.no_bio": "Sin biografía.",
   "account.open_original_page": "Abrir página original",
   "account.posts": "Publicaciones",
-  "account.posts_with_replies": "Pub. y respuestas",
+  "account.posts_with_replies": "Publicaciones y respuestas",
   "account.report": "Reportar a @{name}",
-  "account.requested": "Esperando aprobación. Clica para cancelar la solicitud de seguimiento",
+  "account.requested": "Esperando aprobación. Haz clic para cancelar la solicitud de seguimiento",
   "account.requested_follow": "{name} ha solicitado seguirte",
   "account.share": "Compartir el perfil de @{name}",
   "account.show_reblogs": "Mostrar impulsos de @{name}",
@@ -71,7 +71,7 @@
   "account.unmute": "Dejar de silenciar a @{name}",
   "account.unmute_notifications_short": "Dejar de silenciar notificaciones",
   "account.unmute_short": "Dejar de silenciar",
-  "account_note.placeholder": "Clic para añadir nota",
+  "account_note.placeholder": "Haz clic para añadir nota",
   "admin.dashboard.daily_retention": "Tasa de retención de usuarios por día después del registro",
   "admin.dashboard.monthly_retention": "Tasa de retención de usuarios por mes después del registro",
   "admin.dashboard.retention.average": "Media",
@@ -81,7 +81,7 @@
   "admin.impact_report.instance_followers": "Seguidores que nuestros usuarios perderían",
   "admin.impact_report.instance_follows": "Seguidores que perderían sus usuarios",
   "admin.impact_report.title": "Resumen de impacto",
-  "alert.rate_limited.message": "Por favor, vuelve a intentarlo después de la(s) {retry_time, time, medium}.",
+  "alert.rate_limited.message": "Por favor, vuelve a intentarlo después de {retry_time, time, medium}.",
   "alert.rate_limited.title": "Tráfico limitado",
   "alert.unexpected.message": "Hubo un error inesperado.",
   "alert.unexpected.title": "¡Ups!",
@@ -93,7 +93,7 @@
   "alt_text_modal.describe_for_people_with_hearing_impairments": "Descríbelo para personas con deficiencias auditivas…",
   "alt_text_modal.describe_for_people_with_visual_impairments": "Descríbelo para personas con discapacidad visual…",
   "alt_text_modal.done": "Hecho",
-  "announcement.announcement": "Anuncio",
+  "announcement.announcement": "Comunicación",
   "annual_report.summary.archetype.booster": "El cazador de tendencias",
   "annual_report.summary.archetype.lurker": "El acechador",
   "annual_report.summary.archetype.oracle": "El oráculo",
@@ -243,7 +243,7 @@
   "copypaste.copied": "Copiado",
   "copypaste.copy_to_clipboard": "Copiar al portapapeles",
   "directory.federated": "Desde el fediverso conocido",
-  "directory.local": "Solo de {domain}",
+  "directory.local": "Solo desde {domain}",
   "directory.new_arrivals": "Recién llegados",
   "directory.recently_active": "Recientemente activo",
   "disabled_account_banner.account_settings": "Ajustes de la cuenta",
@@ -285,7 +285,7 @@
   "emoji_button.food": "Comida y bebida",
   "emoji_button.label": "Insertar emoji",
   "emoji_button.nature": "Naturaleza",
-  "emoji_button.not_found": "No se encontró ningún emoji coincidente",
+  "emoji_button.not_found": "No se encontró ningún emoji que coincida",
   "emoji_button.objects": "Objetos",
   "emoji_button.people": "Personas",
   "emoji_button.recent": "Usados frecuentemente",
@@ -316,7 +316,7 @@
   "empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo",
   "error.unexpected_crash.explanation": "Debido a un error en nuestro código o a un problema de compatibilidad con el navegador, esta página no se ha podido mostrar correctamente.",
   "error.unexpected_crash.explanation_addons": "No se pudo mostrar correctamente esta página. Este error probablemente fue causado por un complemento del navegador web o por herramientas de traducción automática.",
-  "error.unexpected_crash.next_steps": "Intenta actualizar la página. Si eso no ayuda, es posible que puedas usar Mastodon a través de otro navegador o aplicación nativa.",
+  "error.unexpected_crash.next_steps": "Intenta actualizar la página. Si eso no ayuda, quizás puedas usar Mastodon desde otro navegador o aplicación nativa.",
   "error.unexpected_crash.next_steps_addons": "Intenta deshabilitarlos y recarga la página. Si eso no ayuda, podrías usar Mastodon a través de un navegador web diferente o aplicación nativa.",
   "errors.unexpected_crash.copy_stacktrace": "Copiar el seguimiento de pila en el portapapeles",
   "errors.unexpected_crash.report_issue": "Informar de un problema/error",
@@ -330,7 +330,7 @@
   "filter_modal.added.expired_explanation": "Esta categoría de filtro ha caducado, tendrás que cambiar la fecha de caducidad para que se aplique.",
   "filter_modal.added.expired_title": "¡Filtro caducado!",
   "filter_modal.added.review_and_configure": "Para revisar y configurar esta categoría de filtros, vaya a {settings_link}.",
-  "filter_modal.added.review_and_configure_title": "Ajustes de filtro",
+  "filter_modal.added.review_and_configure_title": "Ajustes de filtros",
   "filter_modal.added.settings_link": "página de ajustes",
   "filter_modal.added.short_explanation": "Esta publicación ha sido añadida a la siguiente categoría de filtros: {title}.",
   "filter_modal.added.title": "¡Filtro añadido!",
@@ -352,7 +352,7 @@
   "follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.",
   "follow_suggestions.curated_suggestion": "Recomendaciones del equipo",
   "follow_suggestions.dismiss": "No mostrar de nuevo",
-  "follow_suggestions.featured_longer": "Escogidos por el equipo de {domain}",
+  "follow_suggestions.featured_longer": "Sugerencias del equipo de {domain}",
   "follow_suggestions.friends_of_friends_longer": "Populares entre las personas a las que sigues",
   "follow_suggestions.hints.featured": "Este perfil ha sido elegido a mano por el equipo de {domain}.",
   "follow_suggestions.hints.friends_of_friends": "Este perfil es popular entre las personas que sigues.",
@@ -380,11 +380,11 @@
   "hashtag.column_header.tag_mode.all": "y {additional}",
   "hashtag.column_header.tag_mode.any": "o {additional}",
   "hashtag.column_header.tag_mode.none": "sin {additional}",
-  "hashtag.column_settings.select.no_options_message": "No se encontraron sugerencias",
+  "hashtag.column_settings.select.no_options_message": "No se han encontrado sugerencias",
   "hashtag.column_settings.select.placeholder": "Introduce etiquetas…",
-  "hashtag.column_settings.tag_mode.all": "Todos estos",
-  "hashtag.column_settings.tag_mode.any": "Cualquiera de estos",
-  "hashtag.column_settings.tag_mode.none": "Ninguno de estos",
+  "hashtag.column_settings.tag_mode.all": "Todas estas",
+  "hashtag.column_settings.tag_mode.any": "Cualquiera de estas",
+  "hashtag.column_settings.tag_mode.none": "Ninguna de estas",
   "hashtag.column_settings.tag_toggle": "Incluir etiquetas adicionales en esta columna",
   "hashtag.counter_by_accounts": "{count, plural, one {{counter} participante} other {{counter} participantes}}",
   "hashtag.counter_by_uses": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}",
@@ -402,12 +402,12 @@
   "hints.threads.see_more": "Ver más respuestas en {domain}",
   "home.column_settings.show_reblogs": "Mostrar impulsos",
   "home.column_settings.show_replies": "Mostrar respuestas",
-  "home.hide_announcements": "Ocultar anuncios",
+  "home.hide_announcements": "Ocultar comunicaciones",
   "home.pending_critical_update.body": "Por favor, ¡actualiza tu servidor Mastodon lo antes posible!",
   "home.pending_critical_update.link": "Ver actualizaciones",
   "home.pending_critical_update.title": "¡Actualización de seguridad crítica disponible!",
-  "home.show_announcements": "Mostrar anuncios",
-  "ignore_notifications_modal.disclaimer": "Mastodon no puede informar a los usuarios que has ignorado sus notificaciones. Ignorar notificaciones no impedirá que se sigan enviando los mensajes.",
+  "home.show_announcements": "Mostrar comunicaciones",
+  "ignore_notifications_modal.disclaimer": "Mastodon no puede informar a los usuarios de que has ignorado sus notificaciones. Ignorar notificaciones no impedirá que se sigan enviando los mensajes.",
   "ignore_notifications_modal.filter_instead": "Filtrar en vez de ignorar",
   "ignore_notifications_modal.filter_to_act_users": "Aún podrás aceptar, rechazar o reportar usuarios",
   "ignore_notifications_modal.filter_to_avoid_confusion": "Filtrar ayuda a evitar confusiones potenciales",
@@ -438,14 +438,14 @@
   "intervals.full.days": "{number, plural, one {# día} other {# días}}",
   "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
   "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
-  "keyboard_shortcuts.back": "volver atrás",
-  "keyboard_shortcuts.blocked": "abrir una lista de usuarios bloqueados",
+  "keyboard_shortcuts.back": "Navegar hacia atrás",
+  "keyboard_shortcuts.blocked": "Abrir lista de usuarios bloqueados",
   "keyboard_shortcuts.boost": "Impulsar",
   "keyboard_shortcuts.column": "Enfocar columna",
-  "keyboard_shortcuts.compose": "enfocar el área de texto de redacción",
+  "keyboard_shortcuts.compose": "Focalizar el área de texto de redacción",
   "keyboard_shortcuts.description": "Descripción",
   "keyboard_shortcuts.direct": "para abrir la columna de menciones privadas",
-  "keyboard_shortcuts.down": "mover hacia abajo en la lista",
+  "keyboard_shortcuts.down": "Moverse hacia abajo en la lista",
   "keyboard_shortcuts.enter": "Abrir publicación",
   "keyboard_shortcuts.favourite": "Marcar como favorita la publicación",
   "keyboard_shortcuts.favourites": "Abrir lista de favoritos",
@@ -455,24 +455,24 @@
   "keyboard_shortcuts.hotkey": "Tecla rápida",
   "keyboard_shortcuts.legend": "Mostrar esta leyenda",
   "keyboard_shortcuts.local": "Abrir cronología local",
-  "keyboard_shortcuts.mention": "mencionar al autor",
-  "keyboard_shortcuts.muted": "abrir la lista de usuarios silenciados",
-  "keyboard_shortcuts.my_profile": "abrir tu perfil",
-  "keyboard_shortcuts.notifications": "abrir la columna de notificaciones",
-  "keyboard_shortcuts.open_media": "para abrir archivos multimedia",
+  "keyboard_shortcuts.mention": "Mencionar autor",
+  "keyboard_shortcuts.muted": "Abrir lista de usuarios silenciados",
+  "keyboard_shortcuts.my_profile": "Abrir tu perfil",
+  "keyboard_shortcuts.notifications": "Abrir columna de notificaciones",
+  "keyboard_shortcuts.open_media": "Abrir multimedia",
   "keyboard_shortcuts.pinned": "Abrir la lista de publicaciones destacadas",
-  "keyboard_shortcuts.profile": "abrir el perfil del autor",
-  "keyboard_shortcuts.reply": "para responder",
-  "keyboard_shortcuts.requests": "abrir la lista de peticiones de seguidores",
-  "keyboard_shortcuts.search": "para poner el foco en la búsqueda",
-  "keyboard_shortcuts.spoilers": "para mostrar/ocultar el campo CW",
-  "keyboard_shortcuts.start": "abrir la columna \"comenzar\"",
-  "keyboard_shortcuts.toggle_hidden": "mostrar/ocultar texto tras aviso de contenido (CW)",
-  "keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar medios",
-  "keyboard_shortcuts.toot": "Comienza una nueva publicación",
+  "keyboard_shortcuts.profile": "Abrir perfil del autor",
+  "keyboard_shortcuts.reply": "Responder a una publicación",
+  "keyboard_shortcuts.requests": "Abrir lista de solicitudes de seguimiento",
+  "keyboard_shortcuts.search": "Focalizar barra de búsqueda",
+  "keyboard_shortcuts.spoilers": "Mostrar/ocultar el campo de CW",
+  "keyboard_shortcuts.start": "Abrir la columna \"comenzar\"",
+  "keyboard_shortcuts.toggle_hidden": "Mostrar/ocultar texto tras aviso de contenido (CW)",
+  "keyboard_shortcuts.toggle_sensitivity": "Mostrar/ocultar multimedia",
+  "keyboard_shortcuts.toot": "Comenzar una nueva publicación",
   "keyboard_shortcuts.translate": "para traducir una publicación",
-  "keyboard_shortcuts.unfocus": "para retirar el foco de la caja de redacción/búsqueda",
-  "keyboard_shortcuts.up": "para ir hacia arriba en la lista",
+  "keyboard_shortcuts.unfocus": "Quitar el foco de la caja de redacción/búsqueda",
+  "keyboard_shortcuts.up": "Moverse hacia arriba en la lista",
   "lightbox.close": "Cerrar",
   "lightbox.next": "Siguiente",
   "lightbox.previous": "Anterior",
@@ -644,7 +644,7 @@
   "notifications.grant_permission": "Conceder permiso.",
   "notifications.group": "{count} notificaciones",
   "notifications.mark_as_read": "Marcar todas las notificaciones como leídas",
-  "notifications.permission_denied": "No se pueden habilitar las notificaciones de escritorio ya que se denegó el permiso.",
+  "notifications.permission_denied": "Las notificaciones de escritorio no están disponibles porque se denegó el permiso del navegador previamente",
   "notifications.permission_denied_alert": "No se pueden habilitar las notificaciones de escritorio, ya que el permiso del navegador fue denegado anteriormente",
   "notifications.permission_required": "Las notificaciones de escritorio no están disponibles porque no se ha concedido el permiso requerido.",
   "notifications.policy.accept": "Aceptar",
@@ -835,7 +835,7 @@
   "status.media.open": "Pulsa para abrir",
   "status.media.show": "Pulsa para mostrar",
   "status.media_hidden": "Contenido multimedia oculto",
-  "status.mention": "Mencionar",
+  "status.mention": "Mencionar a @{name}",
   "status.more": "Más",
   "status.mute": "Silenciar @{name}",
   "status.mute_conversation": "Silenciar conversación",
@@ -855,7 +855,7 @@
   "status.replied_to": "Respondió a {name}",
   "status.reply": "Responder",
   "status.replyAll": "Responder al hilo",
-  "status.report": "Reportar",
+  "status.report": "Reportar a @{name}",
   "status.sensitive_warning": "Contenido sensible",
   "status.share": "Compartir",
   "status.show_less_all": "Mostrar menos para todo",
@@ -885,7 +885,7 @@
   "units.short.million": "{count} M",
   "units.short.thousand": "{count} K",
   "upload_area.title": "Arrastra y suelta para subir",
-  "upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
+  "upload_button.label": "Añadir imágenes, un fichero de vídeo o de audio",
   "upload_error.limit": "Límite de subida de archivos excedido.",
   "upload_error.poll": "No se permite la subida de archivos con encuestas.",
   "upload_form.drag_and_drop.instructions": "Para recoger un archivo multimedia, pulsa la barra espaciadora o la tecla Enter. Mientras arrastras, utiliza las teclas de flecha para mover el archivo multimedia en cualquier dirección. Vuelve a pulsar la barra espaciadora o la tecla Enter para soltar el archivo multimedia en su nueva posición, o pulsa Escape para cancelar.",
@@ -894,7 +894,7 @@
   "upload_form.drag_and_drop.on_drag_over": "El archivo adjunto {item} se ha movido.",
   "upload_form.drag_and_drop.on_drag_start": "Se ha recogido el archivo adjunto {item}.",
   "upload_form.edit": "Editar",
-  "upload_progress.label": "Subiendo…",
+  "upload_progress.label": "Subiendo...",
   "upload_progress.processing": "Procesando…",
   "username.taken": "Ese nombre de usuario ya está en uso. Prueba con otro",
   "video.close": "Cerrar video",
diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json
index bd86e984aad..7f73874e63d 100644
--- a/app/javascript/mastodon/locales/et.json
+++ b/app/javascript/mastodon/locales/et.json
@@ -218,6 +218,10 @@
   "confirmations.logout.confirm": "Välju",
   "confirmations.logout.message": "Kas oled kindel, et soovid välja logida?",
   "confirmations.logout.title": "Logida välja?",
+  "confirmations.missing_alt_text.confirm": "Lisa alt-tekst",
+  "confirmations.missing_alt_text.message": "Sinu postituses on ilma alt-tekstita meediat. Kirjelduse lisamine aitab su sisu muuta ligipääsetavaks rohkematele inimestele.",
+  "confirmations.missing_alt_text.secondary": "Postita siiski",
+  "confirmations.missing_alt_text.title": "Lisada alt-tekst?",
   "confirmations.mute.confirm": "Vaigista",
   "confirmations.redraft.confirm": "Kustuta & taasalusta",
   "confirmations.redraft.message": "Kindel, et soovid postituse kustutada ja võtta uue aluseks? Lemmikuks märkimised ja jagamised lähevad kaotsi ning vastused jäävad ilma algse postituseta.",
@@ -553,8 +557,11 @@
   "notification.admin.report_statuses_other": "{name} raporteeris kohast {target}",
   "notification.admin.sign_up": "{name} registreerus",
   "notification.admin.sign_up.name_and_others": "{name} ja {count, plural, one {# veel} other {# teist}} liitus",
+  "notification.annual_report.message": "Sinu {year} #Wrapstodon ootab! Avalda oma aasta tipphetked ja meeldejäävad hetked Mastodonis!",
+  "notification.annual_report.view": "Vaata #Wrapstodon",
   "notification.favourite": "{name} märkis su postituse lemmikuks",
   "notification.favourite.name_and_others_with_link": "{name} ja <a>{count, plural, one {# veel} other {# teist}}</a> märkis su postituse lemmikuks",
+  "notification.favourite_pm": "{name} märkis sinu privaatse mainimise lemmikuks",
   "notification.follow": "{name} alustas su jälgimist",
   "notification.follow.name_and_others": "{name} ja veel {count, plural, one {# kasutaja} other {# kasutajat}} hakkas sind jälgima",
   "notification.follow_request": "{name} soovib sind jälgida",
diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json
index 8cdfe6df193..53a714d7a51 100644
--- a/app/javascript/mastodon/locales/kab.json
+++ b/app/javascript/mastodon/locales/kab.json
@@ -78,6 +78,7 @@
   "alt_text_modal.done": "Immed",
   "announcement.announcement": "Ulɣu",
   "annual_report.summary.most_used_hashtag.none": "Ula yiwen",
+  "annual_report.summary.new_posts.new_posts": "tisuffaɣ timaynutin",
   "audio.hide": "Ffer amesli",
   "block_modal.show_less": "Ssken-d drus",
   "block_modal.show_more": "Ssken-d ugar",
@@ -123,6 +124,7 @@
   "column_header.pin": "Senteḍ",
   "column_header.show_settings": "Ssken iɣewwaṛen",
   "column_header.unpin": "Kkes asenteḍ",
+  "column_search.cancel": "Semmet",
   "column_subheading.settings": "Iɣewwaṛen",
   "community.column_settings.local_only": "Adigan kan",
   "community.column_settings.media_only": "Imidyaten kan",
@@ -141,6 +143,7 @@
   "compose_form.poll.duration": "Tanzagt n tefrant",
   "compose_form.poll.multiple": "Aṭas n ufran",
   "compose_form.poll.option_placeholder": "Taxtiṛt {number}",
+  "compose_form.poll.single": "Yiwen wefran",
   "compose_form.poll.type": "Aɣanib",
   "compose_form.publish": "Suffeɣ",
   "compose_form.publish_form": "Tasuffeɣt tamaynut",
@@ -162,6 +165,7 @@
   "confirmations.logout.confirm": "Ffeɣ",
   "confirmations.logout.message": "D tidet tebɣiḍ ad teffɣeḍ?",
   "confirmations.logout.title": "Tebɣiḍ ad teffɣeḍ ssya?",
+  "confirmations.missing_alt_text.secondary": "Suffeɣ akken yebɣu yili",
   "confirmations.mute.confirm": "Sgugem",
   "confirmations.redraft.confirm": "Kkes sakin ɛiwed tira",
   "confirmations.reply.confirm": "Err",
@@ -273,7 +277,7 @@
   "hashtag.column_settings.tag_toggle": "Glu-d s yihacṭagen imerna i ujgu-agi",
   "hashtag.counter_by_accounts": "{count, plural, one {{counter} imtekki} other {{counter} n imtekkiyen}}",
   "hashtag.counter_by_uses": "{count, plural, one {{counter} n tsuffeɣt} other {{counter} n tsuffaɣ}}",
-  "hashtag.counter_by_uses_today": "{count, plural, one {{counter} n tsuffeɣt} other {{counter} n tsuffaɣ}} assa",
+  "hashtag.counter_by_uses_today": "{count, plural, one {{counter} n tsuffeɣt} other {{counter} n tsuffaɣ}} ass-a",
   "hashtag.follow": "Ḍfeṛ ahacṭag",
   "hashtags.and_other": "…d {count, plural, one {}other {# nniḍen}}",
   "hints.threads.replies_may_be_missing": "Tiririyin d-yusan deg iqeddacen nniḍen, yezmer ur d-ddant ara.",
@@ -284,10 +288,19 @@
   "home.pending_critical_update.body": "Ma ulac aɣilif, leqqem aqeddac-ik Mastodon akken kan tzemreḍ !",
   "home.pending_critical_update.link": "Wali ileqman",
   "home.show_announcements": "Ssken-d ulɣuyen",
+  "info_button.label": "Tallelt",
+  "interaction_modal.action.favourite": "I wakken ad tkemmleḍ, yessefk ad d-tḥemmleḍ seg umiḍan-ik·im.",
+  "interaction_modal.action.follow": "I wakken ad tkemmleḍ, yessefk ad d-tḍefreḍ seg umiḍan-ik·im.",
+  "interaction_modal.action.reblog": "I wakken ad tkemmleḍ, yessefk ad d-snernuḍ seg umiḍan-ik·im.",
+  "interaction_modal.action.reply": "I wakken ad tkemmleḍ, yessefk ad d-terreḍ seg umiḍan-ik·im.",
+  "interaction_modal.action.vote": "I wakken ad tkemmleḍ, yessefk ad d-tferneḍ seg umiḍan-ik·im.",
+  "interaction_modal.go": "Ddu",
+  "interaction_modal.no_account_yet": "Werɛad ur tesɛid amiḍan?",
   "interaction_modal.on_another_server": "Deg uqeddac nniḍen",
   "interaction_modal.on_this_server": "Deg uqeddac-ayi",
   "interaction_modal.title.follow": "Ḍfer {name}",
   "interaction_modal.title.reply": "Tiririt i tsuffeɣt n {name}",
+  "interaction_modal.username_prompt": "Amedya: {example}",
   "intervals.full.days": "{number, plural, one {# wass} other {# wussan}}",
   "intervals.full.hours": "{number, plural, one {# usarag} other {# yisragen}}",
   "intervals.full.minutes": "{number, plural, one {# n tesdat} other {# n tesdatin}}",
@@ -436,6 +449,7 @@
   "notifications.mark_as_read": "Creḍ meṛṛa alɣuten am wakken ttwaɣran",
   "notifications.permission_denied": "D awezɣi ad yili wermad n walɣuten n tnarit axateṛ turagt tettwagdel",
   "notifications.policy.drop": "Anef-as",
+  "notifications.policy.filter": "Sizdeg",
   "notifications.policy.filter_new_accounts.hint": "Imiḍanen imaynuten i d-yennulfan deg {days, plural, one {yiwen n wass} other {# n wussan}} yezrin",
   "notifications.policy.filter_new_accounts_title": "Imiḍan imaynuten",
   "notifications.policy.filter_not_followers_hint": "Ula d wid akked tid i k·m-id-iḍefren, ur wwiḍen ara {days, plural, one {yiwen wass} other {# wussan}}",
@@ -485,7 +499,7 @@
   "relative_time.just_now": "tura",
   "relative_time.minutes": "{number}tis",
   "relative_time.seconds": "{number}tas",
-  "relative_time.today": "assa",
+  "relative_time.today": "ass-a",
   "reply_indicator.cancel": "Sefsex",
   "reply_indicator.poll": "Afmiḍi",
   "report.block": "Sewḥel",
@@ -535,6 +549,7 @@
   "search.quick_action.status_search": "Tisuffaɣ mṣadan d {x}",
   "search.search_or_paste": "Nadi neɣ senṭeḍ URL",
   "search_popout.full_text_search_disabled_message": "Ur yelli ara deg {domain}.",
+  "search_popout.full_text_search_logged_out_message": "Yella kan mi ara tiliḍ d uqqin.",
   "search_popout.language_code": "Tangalt ISO n tutlayt",
   "search_popout.options": "Iwellihen n unadi",
   "search_popout.quick_actions": "Tigawin tiruradin",
@@ -546,6 +561,7 @@
   "search_results.no_results": "Ulac igemmaḍ.",
   "search_results.see_all": "Wali-ten akk",
   "search_results.statuses": "Tisuffaɣ",
+  "search_results.title": "Igemmaḍ n unadi ɣef \"{q}\"",
   "server_banner.active_users": "iseqdacen urmiden",
   "server_banner.administered_by": "Yettwadbel sɣur :",
   "server_banner.server_stats": "Tidaddanin n uqeddac:",
diff --git a/app/javascript/mastodon/locales/nan.json b/app/javascript/mastodon/locales/nan.json
index 13a11d29995..f32399e832b 100644
--- a/app/javascript/mastodon/locales/nan.json
+++ b/app/javascript/mastodon/locales/nan.json
@@ -233,8 +233,46 @@
   "confirmations.unfollow.message": "Lí kám確定無愛跟tuè {name}?",
   "confirmations.unfollow.title": "Kám beh取消跟tuè tsit ê用者?",
   "content_warning.hide": "Am-khàm PO文",
+  "content_warning.show": "Mā tio̍h顯示",
+  "content_warning.show_more": "其他內容",
+  "conversation.delete": "Thâi掉會話",
+  "conversation.mark_as_read": "標做有讀",
+  "conversation.open": "顯示會話",
+  "conversation.with": "Kap {names}",
+  "copy_icon_button.copied": "有khóo-pih kàu tsián貼pang",
+  "copypaste.copied": "有khóo-pih",
+  "copypaste.copy_to_clipboard": "Khóo-pih kàu tsián貼pang",
+  "directory.federated": "Uì知影ê Fediverse",
+  "directory.local": "Kan-ta uì {domain}",
+  "directory.new_arrivals": "新來ê",
+  "directory.recently_active": "最近活動ê",
+  "disabled_account_banner.account_settings": "口座ê設定",
+  "disabled_account_banner.text": "Lí ê口座 {disabledAccount} tsit-má hōo lâng停止使用。",
+  "dismissable_banner.community_timeline": "Tsia sī uì 口座hē tī {domain} ê lâng,最近所公開PO ê。",
+  "dismissable_banner.dismiss": "Mài kā tshah",
+  "domain_block_modal.block": "封鎖服侍器",
+  "domain_block_modal.block_account_instead": "改做封鎖 @{name}",
+  "domain_block_modal.they_can_interact_with_old_posts": "Uì tsit ê服侍器來ê,通kap lí khah早ê PO交流。",
+  "embed.preview": "伊e án-ne顯示:\n",
+  "emoji_button.activity": "活動",
+  "emoji_button.clear": "清掉",
+  "emoji_button.custom": "自訂ê",
+  "emoji_button.flags": "旗á",
+  "emoji_button.food": "Tsia̍h-mi̍h kap 飲料",
   "emoji_button.label": "加入繪文字(emoji)",
   "emoji_button.nature": "自然",
+  "emoji_button.not_found": "Tshuē無對應ê emoji",
+  "emoji_button.objects": "物件",
+  "emoji_button.people": "Lâng",
+  "emoji_button.recent": "Tsia̍p用ê",
+  "emoji_button.search": "Tshiau-tshuē……",
+  "emoji_button.search_results": "Tshiau-tshuē ê結果",
+  "emoji_button.symbols": "符號",
+  "emoji_button.travel": "旅行kap地點",
+  "empty_column.account_hides_collections": "Tsit位用者選擇無愛公開tsit ê資訊",
+  "empty_column.account_suspended": "口座已經受停止",
+  "empty_column.account_timeline": "Tsia無PO文!",
+  "empty_column.account_unavailable": "個人資料bē當看",
   "notification.favourite_pm": "{name} kah意lí ê私人提起",
   "notification.favourite_pm.name_and_others_with_link": "{name} kap<a>{count, plural, other {另外 # ê lâng}}</a>kah意lí ê私人提起",
   "search_popout.language_code": "ISO語言代碼",
diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json
index 95d173dca50..b9ee243705b 100644
--- a/app/javascript/mastodon/locales/nn.json
+++ b/app/javascript/mastodon/locales/nn.json
@@ -86,6 +86,13 @@
   "alert.unexpected.message": "Det oppstod eit uventa problem.",
   "alert.unexpected.title": "Oi sann!",
   "alt_text_badge.title": "Alternativ tekst",
+  "alt_text_modal.add_alt_text": "Legg til alternativ tekst",
+  "alt_text_modal.add_text_from_image": "Legg til tekst frå biletet",
+  "alt_text_modal.cancel": "Avbryt",
+  "alt_text_modal.change_thumbnail": "Endre miniatyrbilete",
+  "alt_text_modal.describe_for_people_with_hearing_impairments": "Skriv ei skildring for menneske med høyrselsnedsetjingar…",
+  "alt_text_modal.describe_for_people_with_visual_impairments": "Skriv ei skildring for menneske med synsnedsetjingar…",
+  "alt_text_modal.done": "Ferdig",
   "announcement.announcement": "Kunngjering",
   "annual_report.summary.archetype.booster": "Den som jaktar på noko kult",
   "annual_report.summary.archetype.lurker": "Den som heng på hjørnet",
@@ -411,6 +418,8 @@
   "ignore_notifications_modal.not_followers_title": "Oversjå varsel frå folk som ikkje fylgjer deg?",
   "ignore_notifications_modal.not_following_title": "Oversjå varsel frå folk du ikkje fylgjer?",
   "ignore_notifications_modal.private_mentions_title": "Oversjå varsel frå masseutsende private omtaler?",
+  "info_button.label": "Hjelp",
+  "info_button.what_is_alt_text": "<h1>Kva er alternativ tekst?</h1> <p>Alternativ eller skildrande tekst gjev ei skildring av biletet for menneske som har synsvanskar, sein nettilkopling eller dei som ser etter ekstra innhald.</p> <p>Du gjer innhaldet ditt meir tilgjengeleg og forståeleg for alle ved å skriva klåre, presise og nøytrale alt-tekstar.</p> <ul> <li>Skriv om viktige element</li> <li>Oppsummer tekst i bilete</li> <li>Skriv vanlege setningar</li> <li>Unngå unyttige opplysingar</li> <li>Legg vekt på hovudpunkta i innhaldsrike visuelle element, som grafar eller kart</li> </ul>",
   "interaction_modal.action.favourite": "Du må favorittmerka frå kontoen din for å halda fram.",
   "interaction_modal.action.follow": "Du må fylgja frå kontoen din for å halda fram.",
   "interaction_modal.action.reblog": "Du må framheva frå kontoen din for å halda fram.",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index 021eeb349b2..a3f138f1b70 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -86,6 +86,13 @@
   "alert.unexpected.message": "Ocorreu um erro inesperado.",
   "alert.unexpected.title": "Eita!",
   "alt_text_badge.title": "Texto alternativo",
+  "alt_text_modal.add_alt_text": "Adicione texto alternativo",
+  "alt_text_modal.add_text_from_image": "Adicione texto da imagem",
+  "alt_text_modal.cancel": "Cancelar",
+  "alt_text_modal.change_thumbnail": "Alterar miniatura",
+  "alt_text_modal.describe_for_people_with_hearing_impairments": "…Descreva isso para pessoas com deficiências auditivas.…",
+  "alt_text_modal.describe_for_people_with_visual_impairments": "Descreva isso para pessoas com deficiências visuais…",
+  "alt_text_modal.done": "Feito",
   "announcement.announcement": "Comunicados",
   "annual_report.summary.archetype.booster": "Caçador legal",
   "annual_report.summary.archetype.lurker": "O espreitador",
@@ -211,6 +218,10 @@
   "confirmations.logout.confirm": "Sair",
   "confirmations.logout.message": "Você tem certeza de que deseja sair?",
   "confirmations.logout.title": "Sair da sessão?",
+  "confirmations.missing_alt_text.confirm": "Adicione texto alternativo",
+  "confirmations.missing_alt_text.message": "Seu post contém mídia sem texto alternativo. Adicionar descrições ajuda a tornar seu conteúdo acessível para mais pessoas.",
+  "confirmations.missing_alt_text.secondary": "Postar mesmo assim",
+  "confirmations.missing_alt_text.title": "Adicionar texto alternativo?",
   "confirmations.mute.confirm": "Silenciar",
   "confirmations.redraft.confirm": "Excluir e rascunhar",
   "confirmations.redraft.message": "Você tem certeza de que quer apagar essa postagem e rascunhá-la? Favoritos e impulsos serão perdidos, e respostas à postagem original ficarão órfãs.",
@@ -407,6 +418,8 @@
   "ignore_notifications_modal.not_followers_title": "Ignorar notificações de pessoas que não seguem você?",
   "ignore_notifications_modal.not_following_title": "Ignorar notificações de pessoas que você não segue?",
   "ignore_notifications_modal.private_mentions_title": "Ignorar notificações de menções privadas não solicitadas?",
+  "info_button.label": "Ajuda",
+  "info_button.what_is_alt_text": "<h1>O que é texto alternativo?</h1><p>O texto alternativo fornece descrições de imagens para pessoas com deficiências visuais, conexões de internet de baixa largura de banda ou aquelas que buscam mais contexto.</p><p>Você pode melhorar a acessibilidade e a compreensão para todos escrevendo texto alternativo claro, conciso e objetivo.</p> <ul> <li>Capture elementos importantes</li> <li>Resuma textos em imagens</li> <li>Use estrutura de frases regular</li> <li>Evite informações redundantes</li> <li>Foque em tendências e descobertas principais em visuais complexos (como diagramas ou mapas)</li> </ul>",
   "interaction_modal.action.favourite": "Para continuar, você precisa favoritar na sua conta.",
   "interaction_modal.action.follow": "Para continuar, você precisa seguir da sua conta.",
   "interaction_modal.action.reblog": "Para continuar, você precisa impulsionar na sua conta.",
@@ -457,6 +470,7 @@
   "keyboard_shortcuts.toggle_hidden": "expandir/ocultar aviso de conteúdo",
   "keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar mídia",
   "keyboard_shortcuts.toot": "compor novo toot",
+  "keyboard_shortcuts.translate": "Para traduzir um post",
   "keyboard_shortcuts.unfocus": "desfocar de tudo",
   "keyboard_shortcuts.up": "mover para cima",
   "lightbox.close": "Fechar",
@@ -836,6 +850,7 @@
   "status.reblogs.empty": "Nada aqui. Quando alguém der boost, o usuário aparecerá aqui.",
   "status.redraft": "Excluir e rascunhar",
   "status.remove_bookmark": "Remover do Salvos",
+  "status.remove_favourite": "Remover dos favoritos",
   "status.replied_in_thread": "Respondido na conversa",
   "status.replied_to": "Em resposta a {name}",
   "status.reply": "Responder",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index b6f3a8a95de..ca3798c731c 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -207,8 +207,8 @@
   "confirmations.delete_list.confirm": "Удалить",
   "confirmations.delete_list.message": "Вы действительно хотите навсегда удалить этот список?",
   "confirmations.delete_list.title": "Удалить список?",
-  "confirmations.discard_edit_media.confirm": "Отменить",
-  "confirmations.discard_edit_media.message": "У вас имеются несохранённые изменения превью и описания медиафайла, отменить их?",
+  "confirmations.discard_edit_media.confirm": "Сбросить",
+  "confirmations.discard_edit_media.message": "У вас есть несохранённые изменения в описании мультимедиа или предпросмотре, сбросить их?",
   "confirmations.edit.confirm": "Редактировать",
   "confirmations.edit.message": "При редактировании, текст набираемого поста будет очищен. Продолжить?",
   "confirmations.edit.title": "Переписать сообщение?",
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index 7274f425ea1..b56d959752f 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -252,7 +252,7 @@
   "dismissable_banner.dismiss": "Відхилити",
   "dismissable_banner.explore_links": "Ці новини сьогодні найбільше поширюють у fediverse. Свіжіші новини, опубліковані більшою кількістю різних людей, оцінюються вище.",
   "dismissable_banner.explore_statuses": "Ці дописи з усього fediverse сьогодні набирають популярності. Новіші дописи з більшою кількістю посилень і додавань у вибрані мають вищий рейтинг.",
-  "dismissable_banner.explore_tags": "Ці гештеґи сьогодні набувають популярності у fediverse. Гештеґи, якими користується більше людей, займають вищі позиції.",
+  "dismissable_banner.explore_tags": "Ці хештеги сьогодні набувають популярності у fediverse. Хештеги, якими користується більше людей, займають вищі позиції.",
   "dismissable_banner.public_timeline": "Це найновіші загальнодоступні дописи від людей у федіверсі, на яких підписані люди в {domain}.",
   "domain_block_modal.block": "Блокувати сервер",
   "domain_block_modal.block_account_instead": "Блокувати @{name} натомість",
diff --git a/config/locales/activerecord.ja.yml b/config/locales/activerecord.ja.yml
index 42a107a31c7..b52e92a4ec9 100644
--- a/config/locales/activerecord.ja.yml
+++ b/config/locales/activerecord.ja.yml
@@ -23,6 +23,8 @@ ja:
       models:
         account:
           attributes:
+            fields:
+              fields_with_values_missing_labels: プロフィール補足情報にラベルが入力されていないものがあります
             username:
               invalid: アルファベット・数字・アンダーバーの組み合わせで入力してください
               reserved: は予約されています
diff --git a/config/locales/activerecord.pt-BR.yml b/config/locales/activerecord.pt-BR.yml
index fde744bed60..e9b4437035b 100644
--- a/config/locales/activerecord.pt-BR.yml
+++ b/config/locales/activerecord.pt-BR.yml
@@ -23,6 +23,8 @@ pt-BR:
       models:
         account:
           attributes:
+            fields:
+              fields_with_values_missing_labels: contém valores sem rótulos
             username:
               invalid: apenas letras, números e underlines ( "_" )
               reserved: já existe
diff --git a/config/locales/devise.kab.yml b/config/locales/devise.kab.yml
index 4638afc8e06..1628643bd18 100644
--- a/config/locales/devise.kab.yml
+++ b/config/locales/devise.kab.yml
@@ -88,8 +88,8 @@ kab:
       success: Asesṭeb idda akken iwata seg umiḍan %{kind}.
     passwords:
       no_token: Ur tezmireḍ ara ad tkecmeḍ ɣer usebter-a war ma tusiḍ-d seg imayl n uwennez n wawal uffir. ma syin i d-tusiḍ, wali ma tesqedceḍ tansa URL i d ak·am-d-nuzen.
-      send_instructions: Ma nufa tansa-inek imayl tella deg uzadur-nneγ n yisefka, ad n-teṭṭfeḍ izen deg kra n tesdatin, deg-s assaγ i uɛawed n wawal uffir. Ma ur k-in-yewwiḍ ara yizen, ttxil-k ẓer deg ukaram spam.
-      send_paranoid_instructions: Ma nufa tansa-inek imayl tella deg uzadur-nneγ n yisefka, ad n-teṭṭfeḍ izen deg kra n tesdatin, deg-s assaγ i uɛawed n wawal uffir. Ma ur k-in-yewwiḍ ara yizen, ttxil-k ẓer deg ukaram spam.
+      send_instructions: Ma nufa tansa-inek·inem imayl tella deg uzadur-nneɣ n yisefka, ad n-teṭṭfeḍ izen deg kra n tesdatin, deg-s assaɣ i uɛawed n wawal uffir. Ma ur k-in-yewwiḍ ara yizen, ttxil-k·m ẓer deg ukaram yespamen.
+      send_paranoid_instructions: Ma nufa tansa-inek·inem imayl tella deg uzadur-nneɣ n yisefka, ad n-teṭṭfeḍ izen deg kra n tesdatin, deg-s assaɣ i uɛawed n wawal uffir. Ma ur k-in-yewwiḍ ara yizen, ttxil-k·m ẓer deg ukaram yespamen.
       updated: Awal-ik uffir yettwabeddel mebla ugur. Aqla-k tura tjerrḍeḍ.
       updated_not_active: Awal-ik uffir yettwabeddel mebla ugur.
     registrations:
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index 085081b15ae..98930d11bae 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -5,7 +5,7 @@ eo:
     contact_missing: Ne elektita
     contact_unavailable: Ne disponebla
     hosted_on: "%{domain} estas nodo de Mastodon"
-    title: Pri
+    title: Prio
   accounts:
     followers:
       one: Sekvanto
@@ -41,7 +41,7 @@ eo:
       by_domain: Domajno
       change_email:
         changed_msg: Retpoŝta adreso sukcese ŝanĝita!
-        current_email: Nuna retadreso
+        current_email: Aktuala retadreso
         label: Ŝanĝi retadreson
         new_email: Nova retadreso
         submit: Ŝanĝi retadreson
@@ -102,7 +102,7 @@ eo:
       moderation_notes: Notoj de moderigado
       most_recent_activity: Lastaj afiŝoj
       most_recent_ip: Lasta IP
-      no_account_selected: Neniu konto estis ŝanĝita ĉar neniu estis selektita
+      no_account_selected: Neniu konto estis ŝanĝita kial neniu estis selektita
       no_limits_imposed: Neniu limito trudita
       no_role_assigned: Sen rolo
       not_subscribed: Ne abonita
@@ -142,7 +142,7 @@ eo:
         only_password: Nur pasvorto
         password_and_2fa: Pasvorto kaj 2FA
       sensitive: Tikla
-      sensitized: markita tikla
+      sensitized: Markita kiel tikla
       shared_inbox_url: URL de kunhavigita leterkesto
       show:
         created_reports: Faritaj raportoj
@@ -204,7 +204,7 @@ eo:
         destroy_unavailable_domain: Forigi Nehaveblan Domajnon
         destroy_user_role: Detrui Rolon
         disable_2fa_user: Malebligi 2FA
-        disable_custom_emoji: Malebligi proprajn emoĝiojn
+        disable_custom_emoji: Malŝalti Proprajn Bildosignojn
         disable_relay: Malebligi Relajson
         disable_sign_in_token_auth_user: Malebligi aŭtentigon per retpoŝta ĵetono por la uzanto
         disable_user: Neebligi la uzanton
@@ -220,14 +220,14 @@ eo:
         remove_avatar_user: Forigi la profilbildon
         reopen_report: Remalfermi signalon
         resend_user: Resendi konfirman retmesaĝon
-        reset_password_user: Restarigi pasvorton
+        reset_password_user: Restarigi Pasvorton
         resolve_report: Solvitaj reporto
         sensitive_account: Marki tikla la aŭdovidaĵojn de via konto
-        silence_account: Silentigi konton
-        suspend_account: Suspendi la konton
+        silence_account: Silentigi Konton
+        suspend_account: Suspendi Konton
         unassigned_report: Malatribui Raporton
         unblock_email_account: Malbloki retpoŝtadreson
-        unsensitive_account: Malmarku la amaskomunikilojn en via konto kiel sentemaj
+        unsensitive_account: Malmarki Konton kiel Sentime Tikla
         unsilence_account: Malsilentigi konton
         unsuspend_account: Malsuspendi la konton
         update_announcement: Ĝisdatigi anoncon
@@ -235,19 +235,19 @@ eo:
         update_domain_block: Ĝigdatigi domajnan blokadon
         update_ip_block: Krei IP-regulon
         update_report: Ĝisdatigo de Raporto
-        update_status: Ĝisdatigi afiŝon
+        update_status: Ĝisdatigi Afiŝon
         update_user_role: Ĝisdatigi rolon
       actions:
-        approve_appeal_html: "%{name} aprobis apelacion kontraŭ moderiga decido de %{target}"
-        approve_user_html: "%{name} aprobis registriĝon de %{target}"
+        approve_appeal_html: "%{name} aprobis apelacion kontraŭ reguliga decido de %{target}"
+        approve_user_html: "%{name} aprobis la registriĝon de %{target}"
         assigned_to_self_report_html: "%{name} asignis signalon %{target} al si mem"
-        change_email_user_html: "%{name} ŝanĝis retadreson de uzanto %{target}"
+        change_email_user_html: "%{name} ŝanĝis la retadreson de uzanto %{target}"
         change_role_user_html: "%{name} ŝanĝis rolon de %{target}"
         confirm_user_html: "%{name} konfirmis retadreson de uzanto %{target}"
         create_account_warning_html: "%{name} sendis averton al %{target}"
         create_announcement_html: "%{name} kreis novan anoncon %{target}"
         create_canonical_email_block_html: "%{name} blokis retpoŝtadreson per krado %{target}"
-        create_custom_emoji_html: "%{name} alŝutis novan emoĝion %{target}"
+        create_custom_emoji_html: "%{name} alŝutis novan bildosignon %{target}"
         create_domain_allow_html: "%{name} aldonis domajnon %{target} al la blanka listo"
         create_domain_block_html: "%{name} blokis domajnon %{target}"
         create_email_domain_block_html: "%{name} blokis retpoŝtan domajnon %{target}"
@@ -258,7 +258,7 @@ eo:
         demote_user_html: "%{name} degradis uzanton %{target}"
         destroy_announcement_html: "%{name} forigis anoncon %{target}"
         destroy_canonical_email_block_html: "%{name} malblokis retpoŝtadreson per krado %{target}"
-        destroy_custom_emoji_html: "%{name} forigis emoĝion %{target}"
+        destroy_custom_emoji_html: "%{name} forigis la bildosignon %{target}"
         destroy_domain_allow_html: "%{name} forigis domajnon %{target} el la blanka listo"
         destroy_domain_block_html: "%{name} malblokis domajnon %{target}"
         destroy_email_domain_block_html: "%{name} malblokis retpoŝtan domajnon %{target}"
@@ -269,11 +269,11 @@ eo:
         destroy_unavailable_domain_html: "%{name} restartigis sendon al domajno %{target}"
         destroy_user_role_html: "%{name} forigis rolon de %{target}"
         disable_2fa_user_html: "%{name} malebligis dufaktoran aŭtentigon por uzanto %{target}"
-        disable_custom_emoji_html: "%{name} malebligis la emoĝion %{target}"
+        disable_custom_emoji_html: "%{name} malebligis la bildosignon %{target}"
         disable_relay_html: "%{name} malebligis la relajson %{target}"
         disable_sign_in_token_auth_user_html: "%{name} malebligis la aŭtentigon de retpoŝta ĵetono por %{target}"
         disable_user_html: "%{name} malebligis ensaluton por uzanto %{target}"
-        enable_custom_emoji_html: "%{name} ebligis la emoĝion %{target}"
+        enable_custom_emoji_html: "%{name} ebligis la bildosignon %{target}"
         enable_relay_html: "%{name} ebligis la relajson %{target}"
         enable_sign_in_token_auth_user_html: "%{name} ebligis la aŭtentigon de retpoŝta ĵetono por %{target}"
         enable_user_html: "%{name} ebligis ensaluton por uzanto %{target}"
@@ -296,7 +296,7 @@ eo:
         unsilence_account_html: "%{name} malfaris limon al konto de %{target}"
         unsuspend_account_html: "%{name} malsuspendis la konton de %{target}"
         update_announcement_html: "%{name} ĝisdatigis la anoncon %{target}"
-        update_custom_emoji_html: "%{name} ĝisdatigis la emoĝion %{target}"
+        update_custom_emoji_html: "%{name} ĝisdatigis la bildosignon %{target}"
         update_domain_block_html: "%{name} ĝisdatigis domajnblokon por %{target}"
         update_ip_block_html: "%{name} ŝanĝis regulon por IP %{target}"
         update_report_html: "%{name} ĝisdatigis la raporton %{target}"
@@ -309,17 +309,17 @@ eo:
       title: Ĵurnalo de revizo
       unavailable_instance: "(domajna nomo nedisponebla)"
     announcements:
-      destroyed_msg: Anonco sukcese forigita!
+      destroyed_msg: La anonco sukcese forigita!
       edit:
         title: Redakti anoncon
-      empty: Neniu anonco trovita.
+      empty: Neniu anonco troviĝas.
       live: Publikigita
       new:
         create: Krei anoncon
         title: Nova anonco
       publish: Publikigi
       published_msg: Anonco sukcese publikigita!
-      scheduled_for: Planigita je %{time}
+      scheduled_for: Planigota je %{time}
       scheduled_msg: Anonco planigita por publikigo!
       title: Anoncoj
       unpublish: Malpublikigi
@@ -341,7 +341,7 @@ eo:
       disabled_msg: Emoĝio sukcese malebligita
       emoji: Emoĝio
       enable: Ebligi
-      enabled: Ebligita
+      enabled: Ŝaltita
       enabled_msg: Emoĝio sukcese ebligita
       image_hint: PNG aŭ GIF malpli granda ol %{size}
       list: Listo
@@ -1313,8 +1313,8 @@ eo:
       Por uzi la retan aplikaĵon de Mastodon, bonvolu ebligi JavaScript. Alimaniere, provu unu el la
       <a href="%{apps_path}">operaciumaj aplikaĵoj</a> por Mastodon por via platformo.
   existing_username_validator:
-    not_found: Ne povas trovi lokaj uzanto kun tiu uzantnomo
-    not_found_multiple: Ne povas trovi %{usernames}
+    not_found: ne povas trovi lokaj uzanto kun tiu uzantnomo
+    not_found_multiple: ne povas trovi %{usernames}
   exports:
     archive_takeout:
       date: Dato
@@ -1539,7 +1539,7 @@ eo:
     validations:
       images_and_video: Aldoni videon al mesaĝo, kiu jam havas bildojn ne eblas
       not_found: Dosiero %{ids} ne trovis aŭ jam alteniĝis al alia afiŝo
-      not_ready: Ne povas aldoni dosieron kiu ne finas procezitis.
+      not_ready: Ne povas aldoni dosieron kiu ne finis procezitis.
       too_many: Aldoni pli ol 4 dosierojn ne eblas
   migrations:
     acct: Movigita al
diff --git a/config/locales/kab.yml b/config/locales/kab.yml
index 11cc8b33183..6232a7eba46 100644
--- a/config/locales/kab.yml
+++ b/config/locales/kab.yml
@@ -436,6 +436,7 @@ kab:
     terms_of_service:
       draft: Arewway
       publish: Asuffeɣ
+      save_draft: Sekles arewway
     title: Tadbelt
     trends:
       allow: Sireg
@@ -489,7 +490,7 @@ kab:
     delete_account: Kkes amiḍan
     description:
       prefix_invited_by_user: "@%{name} inced-ik·ikem ad ternuḍ ɣer uqeddac-a n Mastodon!"
-      prefix_sign_up: Zeddi di Maṣṭudun assa!
+      prefix_sign_up: Zeddi di Maṣṭudun ass-a!
       suffix: S umiḍan, tzemreḍ ad tḍefreḍ imdanen, ad d-tessufɣeḍ tisuffaɣ d wembadal n yiznan akked yiseqdacen n yal aqeddac Mastodon d wayen-nniḍen!
     didnt_get_confirmation: Ur d-teṭṭifeḍ ara aseɣwen n usentem ?
     dont_have_your_security_key: Ulac ɣur-k·m tasarut-ik·im n tɣellist?
@@ -746,6 +747,7 @@ kab:
       electron: Electron
       firefox: Firefox
       generic: Iminig arusin
+      huawei_browser: Iminig n Huawei
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Iminig Nokia S40 Ovi
@@ -754,6 +756,7 @@ kab:
       phantom_js: PhantomJS
       qq: Iminig QQ
       safari: Safari
+      uc_browser: UC Browser
       unknown_browser: Iminig arussin
       weibo: Weibo
     current_session: Tiɣimit tamirant
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index fe10dd6462c..a8bf2d73fbc 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -937,6 +937,25 @@ pt-BR:
       generates:
         action: Gerar
         chance_to_review_html: "<strong>Os termos de serviço gerado não será publicado automaticamente.</strong>Você terá uma chance de revisar os resultados. Preencha os detalhes necessários para continuar"
+        explanation_html: O modelo de termos de serviço fornecido é apenas para fins informativos e não deve ser interpretado como aconselhamento jurídico sobre qualquer assunto. Consulte seu próprio advogado para esclarecer sua situação e dúvidas jurídicas específicas.
+        title: Configuração dos Termos de Serviço
+      history: Histórico
+      live: Em vigor
+      no_history: Ainda não há alterações registradas nos termos de serviço.
+      no_terms_of_service_html: Atualmente, você não tem nenhum termo de serviço configurado. Os termos de serviço servem para fornecer clareza e protegê-lo de possíveis responsabilidades em disputas com seus usuários.
+      notified_on_html: Usuários notificados em %{date}
+      notify_users: Notificar usuários
+      preview:
+        explanation_html: 'O e-mail será enviado para <strong>%{display_count} usuários</strong> que se inscreveram antes de %{date}. O seguinte texto será incluído no e-mail:'
+        send_preview: Enviar pŕevia para %{email}
+        send_to_all:
+          one: Enviar %{display_count} email
+          other: Enviar %{display_count} emails
+        title: Prévia da notificação dos termos de serviço
+      publish: Publicar
+      published_on_html: Publicado em %{date}
+      save_draft: Salvar rascunho
+      title: Termos de Serviço
     title: Administração
     trends:
       allow: Permitir
@@ -1168,6 +1187,7 @@ pt-BR:
     set_new_password: Definir uma nova senha
     setup:
       email_below_hint_html: Verifique a sua pasta de spam, ou solicite outra. Você pode corrigir o seu endereço de e-mail se estiver errado.
+      email_settings_hint_html: Clique no link que enviamos para %{email} para começar a usar o Mastodon. Estaremos esperando aqui.
       link_not_received: Não recebeu um link?
       new_confirmation_instructions_sent: Você receberá um novo e-mail com o link de confirmação em alguns minutos!
       title: Verifique sua caixa de entrada
@@ -1176,6 +1196,7 @@ pt-BR:
       title: Entrar em %{domain}
     sign_up:
       manual_review: Inscrições no %{domain} passam pela revisão manual dos nossos moderadores. Para nos ajudar a processar o seu cadastro, escreva um pouco sobre você e por que você quer uma conta no %{domain}.
+      preamble: Com uma conta neste servidor do Mastodon, você poderá seguir qualquer outra pessoa no fediverso, independentemente de onde a conta dela esteja hospedada.
       title: Então vamos lá criar uma conta em %{domain}.
     status:
       account_status: Status da conta
@@ -1187,6 +1208,8 @@ pt-BR:
       view_strikes: Veja os avisos anteriores em relação à sua conta
     too_fast: O formulário foi enviado muito rapidamente, tente novamente.
     use_security_key: Usar chave de segurança
+    user_agreement_html: Eu li e concordo com os <a href="%{terms_of_service_path}" target="_blank">termos de serviço</a> e <a href="%{privacy_policy_path}" target="_blank">política de privacidade</a>.
+    user_privacy_agreement_html: Eu li e concordo com a <a href="%{privacy_policy_path}" target="_blank">política de privacidade</a>.
   author_attribution:
     example_title: Texto de amostra
     hint_html: Você está escrevendo notícias ou artigos de blogs fora do Mastodon? Controle como você é credenciado quando eles forem compartilhados no Mastodon.
@@ -1401,7 +1424,31 @@ pt-BR:
       domain_blocking_html:
         one: Você está prestes a <strong>substituir seu bloco de lista do domínio</strong> com <strong>%{count} domínio</strong> de <strong>%{filename}</strong>.
         other: Você está prestes a <strong>substituir sua lista de bloqueio de domínio</strong> com <strong>domínios%{count}</strong> de <strong>%{filename}</strong>.
+      following_html:
+        one: Você está prestes a <strong>seguir</strong> <strong>%{count} contas</strong> de <strong>%{filename}</strong> e <strong>parar de seguir todos os outros</strong>.
+        other: Você está prestes a <strong>seguir</strong> até <strong>%{count} contas</strong> de <strong>%{filename}</strong> e <strong>deixar de seguir qualquer outra pessoa</strong>.
+      lists_html:
+        one: Você está prestes a <strong>substituir suas listas</strong> pelo conteúdo de <strong>%{filename}</strong>. Até <strong>%{count} conta</strong> será adicionada às novas listas.
+        other: Você está prestes a <strong>substituir suas listas</strong> pelo conteúdo de <strong>%{filename}</strong>. Até <strong>%{count} contas</strong> serão adicionadas às novas listas.
+      muting_html:
+        one: Você está prestes a <strong>substituir sua lista de contas silenciadas</strong> por até <strong>%{count} conta</strong> de <strong>%{filename}</strong>.
+        other: Você está prestes a <strong>substituir sua lista de contas silenciadas</strong> por até <strong>%{count} contas</strong> de <strong>%{filename}</strong>.
     preambles:
+      blocking_html:
+        one: Você está prestes a <strong>bloquear</strong> até <strong>%{count} conta</strong> de <strong>%{filename}</strong>.
+        other: Você está prestes a <strong>bloquear</strong> até <strong>%{count} contas</strong> de <strong>%{filename}</strong>.
+      bookmarks_html:
+        one: Você está prestes a adicionar até <strong>%{count} post</strong> de <strong>%{filename}</strong> aos seus <strong>favoritos</strong>.
+        other: Você está prestes a adicionar até <strong>%{count} posts</strong> de <strong>%{filename}</strong> aos seus <strong>favoritos</strong>.
+      domain_blocking_html:
+        one: Você está prestes a <strong>bloquear</strong> até <strong>%{count} domínio</strong> de <strong>%{filename}</strong>.
+        other: Você está prestes a <strong>bloquear</strong> até <strong>%{count} domínios</strong> de <strong>%{filename}</strong>.
+      following_html:
+        one: Você está prestes a <strong>seguir</strong> até <strong>%{count} conta</strong> de <strong>%{filename}</strong>.
+        other: Você está prestes a <strong>seguir</strong> até <strong>%{count} contas</strong> de <strong>%{filename}</strong>.
+      lists_html:
+        one: Você está prestes a adicionar até <strong>%{count} conta</strong> a partir de <strong>%{filename}</strong> para suas <strong>listas</strong>. Novas listas serão criadas se não houver uma para a qual adicionar.
+        other: Você está prestes a adicionar até <strong>%{count} contas</strong> a partir de <strong>%{filename}</strong> para suas <strong>listas</strong>. Novas listas serão criadas se não houver uma para a qual adicionar.
       muting_html:
         one: Você está prestes a <strong>silenciar</strong> <strong>%{count}  conta</strong> de <strong>%{filename}</strong>.
         other: Você está prestes a <strong>silenciar</strong> mais de <strong>%{count} contas</strong> de <strong>%{filename}</strong>.
@@ -1824,6 +1871,8 @@ pt-BR:
       too_late: É tarde demais para solicitar uma revisão desta punição
   tags:
     does_not_match_previous_name: não corresponde ao nome anterior
+  terms_of_service:
+    title: Termos de Serviço
   themes:
     contrast: Mastodon  (Alto contraste)
     default: Mastodon (Noturno)
@@ -1884,6 +1933,15 @@ pt-BR:
       further_actions_html: Se não foi você, recomendamos que você %{action} imediatamente e ative a autenticação de dois fatores para manter sua conta segura.
       subject: Sua conta foi acessada a partir de um novo endereço IP
       title: Um novo login
+    terms_of_service_changed:
+      agreement: Ao continuar a usar %{domain}, você concorda com estes termos. Se discordar dos termos atualizados, poderá encerrar seu acordo com %{domain} a qualquer momento excluindo sua conta.
+      changelog: 'Em resumo, veja o que essa atualização significa para você:'
+      description: 'Você está recebendo este e-mail porque estamos fazendo algumas alterações em nossos termos de serviço em %{domain}. Incentivamos você a revisar os termos atualizados na íntegra aqui:'
+      description_html: Você está recebendo este e-mail porque estamos fazendo algumas alterações em nossos termos de serviço em %{domain}. Incentivamos você a revisar os <a href="%{path}" target="_blank">termos atualizados na íntegra aqui</a>.
+      sign_off: A equipe do %{domain}
+      subject: Atualizações dos nossos termos de serviço
+      subtitle: Os termos de serviço do %{domain} estão mudando.
+      title: atualização importante
     warning:
       appeal: Enviar uma revisão
       appeal_description: Se você acredita que isso é um erro, você pode enviar uma revisão para a equipe de %{instance}.
diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml
index 499b692a28c..b6e50ac8164 100644
--- a/config/locales/simple_form.eo.yml
+++ b/config/locales/simple_form.eo.yml
@@ -56,7 +56,7 @@ eo:
         scopes: Kiujn API-ojn la aplikaĵo permesiĝos atingi. Se vi elektas supran amplekson, vi ne bezonas elekti la individuajn.
         setting_aggregate_reblogs: Ne montri novajn plusendojn de mesaĝoj lastatempe plusenditaj (nur efikas al nove ricevitaj plusendoj)
         setting_always_send_emails: Normale, la sciigoj per retpoŝto ne estos senditaj kiam vi uzas Mastodon aktive
-        setting_default_sensitive: Tiklaj vidaŭdaĵoj estas kaŝitaj implicite, kaj povas esti montritaj per klako
+        setting_default_sensitive: Tiklaj vidaŭdaĵoj estas implicite kaŝitaj, kaj povas esti montritaj per klako
         setting_display_media_default: Kaŝi plurmediojn markitajn kiel tiklaj
         setting_display_media_hide_all: Ĉiam kaŝi la vidaŭdaĵojn
         setting_display_media_show_all: Ĉiam montri la vidaŭdaĵojn
diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml
index d827d7b393b..4a16186afdb 100644
--- a/config/locales/simple_form.ja.yml
+++ b/config/locales/simple_form.ja.yml
@@ -3,6 +3,7 @@ ja:
   simple_form:
     hints:
       account:
+        attribution_domains: 1行につき1つずつ入力してください。この設定は関わりのないwebサイトに対して虚偽の帰属表示が行われることを防止する役割があります。
         discoverable: プロフィールと公開投稿をMastodonのおすすめやハイライトとしてほかのユーザーに表示することを許可します。
         display_name: フルネーム、ハンドルネームなど
         fields: ホームページ、代名詞、年齢など何でも構いません。
@@ -155,6 +156,7 @@ ja:
         url: イベントの送信先
     labels:
       account:
+        attribution_domains: あなたの著者表示を許可するwebサイト
         discoverable: アカウントを見つけやすくする
         fields:
           name: ラベル
@@ -231,6 +233,7 @@ ja:
         setting_display_media_show_all: 表示
         setting_expand_spoilers: 閲覧注意としてマークされた投稿を常に展開する
         setting_hide_network: 繋がりを隠す
+        setting_missing_alt_text_modal: 代替テキストなしでメディアを投稿する前に確認ダイアログを表示する
         setting_reduce_motion: アニメーションの動きを減らす
         setting_system_font_ui: システムのデフォルトフォントを使う
         setting_system_scrollbars_ui: システムのデフォルトのスクロールバーを使う
diff --git a/config/locales/simple_form.kab.yml b/config/locales/simple_form.kab.yml
index f390d42132c..ff041b257b4 100644
--- a/config/locales/simple_form.kab.yml
+++ b/config/locales/simple_form.kab.yml
@@ -104,6 +104,7 @@ kab:
       featured_tag:
         name: Ahacṭag
       form_admin_settings:
+        app_icon: Tignit n usnas
         custom_css: CSS udmawan
         profile_directory: Rmed akaram n imaγnuten
         site_contact_email: Imayl n unermas
diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml
index b42fdc86f5f..bbfda8c5fc9 100644
--- a/config/locales/simple_form.nn.yml
+++ b/config/locales/simple_form.nn.yml
@@ -3,6 +3,7 @@ nn:
   simple_form:
     hints:
       account:
+        attribution_domains: Ein per line. Vernar mot falske krediteringar.
         discoverable: Dei offentlege innlegga dine og profilen din kan dukka opp i tilrådingar på ulike stader på Mastodon, og profilen din kan bli føreslegen for andre folk.
         display_name: Ditt fulle namn eller ditt tøysenamn.
         fields: Heimesida di, pronomen, alder, eller kva du måtte ynskje.
@@ -155,6 +156,7 @@ nn:
         url: Kvar hendingar skal sendast
     labels:
       account:
+        attribution_domains: Nettstader som har lov å kreditera deg
         discoverable: Ta med profilen og innlegga i oppdagingsalgoritmar
         fields:
           name: Merkelapp
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 500fb4c30e0..31bd7b2d6f0 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -3,6 +3,7 @@ pt-BR:
   simple_form:
     hints:
       account:
+        attribution_domains: Um por linha. Protege contra atribuições falsas.
         discoverable: Suas publicações e perfil públicos podem ser destaques ou recomendados em várias áreas de Mastodon, e seu perfil pode ser sugerido a outros usuários.
         display_name: Seu nome completo ou apelido.
         fields: Sua página inicial, pronomes, idade ou qualquer coisa que quiser.
@@ -129,8 +130,17 @@ pt-BR:
         show_application: Você sempre conseguirá ver qual aplicativo realizou sua publicação independentemente disso.
       tag:
         name: Você pode mudar a capitalização das letras, por exemplo, para torná-la mais legível
+      terms_of_service:
+        changelog: Pode ser estruturado com a sintaxe Markdown.
+        text: Pode ser estruturado com a sintaxe Markdown.
       terms_of_service_generator:
+        admin_email: Avisos legais incluem contra-notificações, ordens judiciais, solicitações de remoção e solicitações de órgãos de fiscalização.
+        arbitration_address: Pode ser o mesmo que o endereço físico acima, ou "N/A" se estiver usando e-mail.
+        arbitration_website: Pode ser um formulário na web, ou "N/A" se estiver usando e-mail.
+        dmca_address: Para operadores dos EUA, utilize o endereço registrado no Diretório de Agentes Designados pela DMCA. Um endereço de Caixa Postal está disponível mediante solicitação direta; use a Solicitação de Isenção de Caixa Postal de Agente Designado pela DMCA para enviar um e-mail ao Escritório de Direitos Autorais, explicando que você é um moderador de conteúdo que trabalha em casa e teme vingança ou retaliação por suas ações, precisando usar uma Caixa Postal para remover seu endereço residencial da visualização pública.
         dmca_email: Pode ser o mesmo e-mail utilizado para "Endereço de e-mail para avisos legais" acima
+        domain: Identificação única do serviço online que você está fornecendo.
+        jurisdiction: Liste o país onde quem paga as contas reside. Se for uma empresa ou outra entidade, liste o país onde ela está incorporada, e a cidade, região, território ou estado, conforme apropriado.
       user:
         chosen_languages: Apenas as publicações dos idiomas selecionados serão exibidas nas linhas públicas
         role: A função controla quais permissões o usuário tem.
@@ -146,6 +156,7 @@ pt-BR:
         url: Aonde os eventos serão enviados
     labels:
       account:
+        attribution_domains: Sites autorizados a creditar você.
         discoverable: Destacar perfil e publicações nos algoritmos de descoberta
         fields:
           name: Rótulo
@@ -222,6 +233,7 @@ pt-BR:
         setting_display_media_show_all: Mostrar tudo
         setting_expand_spoilers: Sempre expandir toots com Aviso de Conteúdo
         setting_hide_network: Ocultar suas relações
+        setting_missing_alt_text_modal: Mostrar caixa de diálogo de confirmação antes de postar mídia sem texto alternativo.
         setting_reduce_motion: Reduzir animações
         setting_system_font_ui: Usar fonte padrão do sistema
         setting_system_scrollbars_ui: Usar barra de rolagem padrão do sistema
@@ -319,6 +331,17 @@ pt-BR:
         name: Hashtag
         trendable: Permitir que esta hashtag fique em alta
         usable: Permitir que as publicações usem esta hashtag localmente
+      terms_of_service:
+        changelog: O que mudou?
+        text: Termos de Serviço
+      terms_of_service_generator:
+        admin_email: Endereço de e-mail para avisos legais.
+        arbitration_address: Endereço físico para avisos de arbitragem.
+        arbitration_website: Site para submissão de notificações de arbitragem
+        dmca_address: Endereço físico para notificações de DMCA/direitos autorais
+        dmca_email: Endereço de e-mail para notificações de DMCA/direitos autorais
+        domain: Domínio
+        jurisdiction: Jurisdicação legal
       user:
         role: Cargo
         time_zone: Fuso horário