From 4949a6c5d317f355341e8ce1d5ad5325e996b5c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marti=CC=81n=20Go=CC=81mez?= Date: Fri, 4 Sep 2026 09:48:04 +0200 Subject: [PATCH 1/4] Fix broken placeholders and wrong strings in es-ES locale - email.new_post.text said "left a comment on" instead of "created a new post" (copy-paste from email.new_comment.text). - email.footer.subscription_notice3 dropped the {view} and {change} placeholders entirely, so the email footer rendered without its links. - modal.showvotes.message.zeromatches used {0} instead of {query}, so the search term was never interpolated. - validation.custom.invalidcustomdomain was missing the opening quote. - feed.post.footer left the plural units untranslated ("vote"/"comment"). - Added the two missing keys feed.global.title and feed.post.title, and reordered server.json to match locale/en/server.json. --- locale/es-ES/client.json | 2 +- locale/es-ES/server.json | 28 +++++++++++++++------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/locale/es-ES/client.json b/locale/es-ES/client.json index 49d91e0a41..2e9bf56c7c 100644 --- a/locale/es-ES/client.json +++ b/locale/es-ES/client.json @@ -118,7 +118,7 @@ "modal.notifications.unread": "Notificaciones no leídas", "modal.rss.description": "Para suscribirse a este feed ATOM, copie y pegue esta URL en su lector RSS/ATOM.", "modal.rss.title": "Suscríbete al feed de ATOM", - "modal.showvotes.message.zeromatches": "No se encontraron usuarios que coincidan con <0>{0}.", + "modal.showvotes.message.zeromatches": "No se encontraron usuarios que coincidan con <0>{query}.", "modal.showvotes.query.placeholder": "Buscar usuarios por nombre...", "modal.signin.header": "Envíe sus comentarios", "moderation.comment.delete.block.error": "No se pudo eliminar el comentario ni bloquear al usuario.", diff --git a/locale/es-ES/server.json b/locale/es-ES/server.json index b1323af592..92bfd355d3 100644 --- a/locale/es-ES/server.json +++ b/locale/es-ES/server.json @@ -23,7 +23,7 @@ "validation.custom.unknownsettings": "Configuración desconocida llamada '{name}'", "validation.custom.invalidemail": "'{email}' no es una dirección electrónica válida.", "validation.custom.invalidurl": "'{url}' no es una URL válida.", - "validation.custom.invalidcustomdomain": "{domain}' no es un Dominio Personalizado válido.", + "validation.custom.invalidcustomdomain": "'{domain}' no es un Dominio Personalizado válido.", "validation.custom.customdomaintaken": "Este dominio personalizado ya se encuentra en uso por otra persona.", "validation.custom.unsupportedfileformat": "Este formato de archivo no está soportado.", "validation.custom.minimagedimensions": "La imagen debe tener dimensiones mínimas de {width}x{height} píxeles.", @@ -51,28 +51,30 @@ "email.change_status.others": "El estado de {title} ({postLink}) ha cambiado a {status}.", "email.delete_post.text": "{title} ha sido eliminado.", "email.new_comment.text": "{userName} dejó un comentario en {title} ({postLink}).", - "email.new_post.text": "{userName} dejó un comentario en {title} ({postLink}).", + "email.new_post.text": "{userName} ha creado una nueva publicación {title} ({postLink}).", "email.signin_email.subject": "Su código de inicio de sesión para {siteName} es {code}", "email.signin_email.text": "Nos ha pedido que le enviemos un enlace de inicio de sesión y aquí está.", "email.signin_email.confirmation": "Haz clic en el siguiente enlace para iniciar sesión en {siteName}.", "email.signup_email.subject": "Tu nuevo sitio de Fider", "email.signup_email.text": "Estás a un paso de crear tu cuenta.", - "email.signup_email.confirmation": "A través del enlace de abajo puedes verificar tu dirección de correo electrónico y completar el proceso de activación.", - "email.footer.subscription_notice": "Has recibido este correo electrónico porque estás suscrito a esta publicación. Puedes {view}, {unsubscribe} o {change}.", - "email.footer.subscription_notice2": "Estás recibiendo este correo electrónico porque estás suscrito a este mensaje. Puedes {change}.", - "email.footer.subscription_notice3": "Has recibido este mensaje porque tienes suscripción a este canal.", - "feed.comment.title": "Comentario de {author}", - "feed.comment.op": "Publicación original de {author}", - "feed.comment.response": "Respuesta de {author}", - "feed.post.footer.response": "Respuesta de {responder} a {date}:\n\n>{response}", - "feed.post.footer": "\n\n---\n{response_footer}\n{votes, plural, one {# vote} other {# votes}}, {comments, plural, one {# comment} other {# comments}} - ver [en la web]({web_link}) o [como feed]({feed_link})", "email.signin_email.your_code": "Tu código de inicio de sesión es:", "email.signin_email.code_expires": "Este código caducará en 15 minutos.", "email.signin_email.alternative": "Como alternativa, puede hacer clic en el siguiente enlace para iniciar sesión directamente:", + "email.signup_email.confirmation": "A través del enlace de abajo puedes verificar tu dirección de correo electrónico y completar el proceso de activación.", + "email.footer.subscription_notice": "Has recibido este correo electrónico porque estás suscrito a esta publicación. Puedes {view}, {unsubscribe} o {change}.", + "email.footer.subscription_notice2": "Estás recibiendo este correo electrónico porque estás suscrito a este mensaje. Puedes {change}.", + "email.footer.subscription_notice3": "Estás recibiendo este correo electrónico porque estás suscrito a esta publicación. Puedes {view} o {change}.", "email.delete_account_requested.subject": "Tu sitio Fider {tenantName} está programado para ser eliminado.", "email.delete_account_requested.text": "Hemos recibido una solicitud para eliminar permanentemente su sitio Fider {tenantName} y todo lo que contiene: todos los usuarios, publicaciones, comentarios y votos.", "email.delete_account_requested.scheduled": "La eliminación está programada para {scheduledAt}. Una vez ejecutada, no se puede deshacer.", "email.delete_account_requested.cancel": "¿No solicitaste esto o cambiaste de opinión? Usa el siguiente enlace para cancelar la eliminación antes de que eso suceda:", "email.delete_account_completed.subject": "Tu sitio Fider {tenantName} ha sido eliminado", - "email.delete_account_completed.text": "Tu sitio Fider {tenantName} ({subdomain}) y todos sus datos han sido eliminados permanentemente. Esta acción es irreversible." -} \ No newline at end of file + "email.delete_account_completed.text": "Tu sitio Fider {tenantName} ({subdomain}) y todos sus datos han sido eliminados permanentemente. Esta acción es irreversible.", + "feed.global.title": "{count, plural, one {({count} voto) {title}} other {({count} votos) {title}}}", + "feed.comment.title": "Comentario de {author}", + "feed.comment.op": "Publicación original de {author}", + "feed.comment.response": "Respuesta de {author}", + "feed.post.title": "# {title}\n{votes, plural, one {# voto} other {# votos}}, {comments, plural, one {# comentario} other {# comentarios}}\n\n---\n", + "feed.post.footer.response": "Respuesta de {responder} a {date}:\n\n>{response}", + "feed.post.footer": "\n\n---\n{response_footer}\n{votes, plural, one {# voto} other {# votos}}, {comments, plural, one {# comentario} other {# comentarios}} - ver [en la web]({web_link}) o [como feed]({feed_link})" +} From 82b99f0375b4d20d5a520ea38337c295bf9f2f72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marti=CC=81n=20Go=CC=81mez?= Date: Fri, 4 Sep 2026 09:48:25 +0200 Subject: [PATCH 2/4] Fix context mistranslations in es-ES locale MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Machine translation picked the wrong sense for several UI strings: - "Switch to markdown editor" -> "editor de rebajas" (markdown as in a price discount). Markdown is a format name, left untranslated. - "Post" (the submit button of the comment box) -> "Correo". - "Update Status" (button) -> "Estado de actualización". - "Following" (Follow button state) -> "Siguiente" (i.e. "next"). - "My activity" (filter group) -> "Propio". - "Join the conversation" (sign-in modal) -> "Envíe sus comentarios". - "New Comments" (notification event) -> "Discusión". - "Read on last 30 days" -> "Leer los últimos 30 días" (imperative). - "Post declined successfully" -> "El puesto fue rechazado" ("puesto" as in a job position). - error.unauthorized.text was a copy of error.forbidden.text and never mentioned signing in. - Both notificationspanel messages talked about "este mensaje"/"este evento" and used the wrong tense. - "...and user verified" was rendered as "...verified by the user", inverting the subject. - home.similar.title dropped the question and kept only "Publicaciones similares". The three server strings still described the old magic-link sign-in flow; Fider now emails a one-time code. --- locale/es-ES/client.json | 32 ++++++++++++++++---------------- locale/es-ES/server.json | 6 +++--- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/locale/es-ES/client.json b/locale/es-ES/client.json index 2e9bf56c7c..e6bf437833 100644 --- a/locale/es-ES/client.json +++ b/locale/es-ES/client.json @@ -10,18 +10,18 @@ "action.edit": "Editar", "action.markallasread": "Marcar Todo como Leído", "action.ok": "Aceptar", - "action.postcomment": "Correo", + "action.postcomment": "Publicar", "action.postsfeed": "Feed de publicaciones", "action.publish": "Publicar", "action.publish.verify": "Publicar y confiar", - "action.respond": "Estado de actualización", + "action.respond": "Actualizar estado", "action.save": "Guardar", "action.signin": "Iniciar sesión", "action.signup": "Inscribirse", "action.submit": "Enviar", "action.vote": "Vota por esta idea", "action.voted": "¡Votado!", - "editor.markdownmode": "Cambiar al editor de rebajas", + "editor.markdownmode": "Cambiar al editor Markdown", "editor.richtextmode": "Cambiar al editor de texto enriquecido", "enum.poststatus.completed": "Completado", "enum.poststatus.declined": "Rechazado", @@ -43,7 +43,7 @@ "error.notinvited.title": "No invitado", "error.pagenotfound.text": "El hipervínculo que has seguido puede estar roto o quizás esta página ya no exista.", "error.pagenotfound.title": "Página no encontrada", - "error.unauthorized.text": "No estás autorizado para ver esta página.", + "error.unauthorized.text": "Necesitas iniciar sesión para acceder a esta página.", "error.unauthorized.title": "No está autorizado", "header.nav.feedback": "Todos los comentarios", "header.nav.roadmap": "Hoja de ruta", @@ -54,7 +54,7 @@ "home.lonely.suggestion": "Se recomienda que cree <0>al menos 3 sugerencias aquí antes de compartir este sitio. El contenido inicial es importante para empezar a atraer a su audiencia.", "home.lonely.text": "No se han creado publicaciones todavía.", "home.postfilter.label.moderation": "Moderación", - "home.postfilter.label.myactivity": "Propio", + "home.postfilter.label.myactivity": "Mi actividad", "home.postfilter.label.status": "Estado", "home.postfilter.option.mostdiscussed": "Más Discutidos", "home.postfilter.option.mostwanted": "Más Deseados", @@ -67,7 +67,7 @@ "home.postscontainer.label.viewmore": "Ver más publicaciones", "home.postscontainer.query.placeholder": "Buscar", "home.postsort.label": "Ordenar por:", - "home.similar.title": "Publicaciones similares", + "home.similar.title": "Tenemos publicaciones similares, ¿tu idea ya está en la lista?", "label.addtags": "Añadir etiquetas...", "label.avatar": "Avatar", "label.custom": "Personalizado", @@ -75,7 +75,7 @@ "label.edittags": "Editar etiquetas", "label.email": "Correo electrónico", "label.follow": "Seguir", - "label.following": "Siguiente", + "label.following": "Siguiendo", "label.gravatar": "Gravatar", "label.letter": "Letras", "label.name": "Nombre", @@ -120,7 +120,7 @@ "modal.rss.title": "Suscríbete al feed de ATOM", "modal.showvotes.message.zeromatches": "No se encontraron usuarios que coincidan con <0>{query}.", "modal.showvotes.query.placeholder": "Buscar usuarios por nombre...", - "modal.signin.header": "Envíe sus comentarios", + "modal.signin.header": "Únete a la conversación", "moderation.comment.delete.block.error": "No se pudo eliminar el comentario ni bloquear al usuario.", "moderation.comment.delete.error": "No se pudo eliminar el comentario.", "moderation.comment.deleted": "Comentario eliminado correctamente", @@ -128,7 +128,7 @@ "moderation.comment.publish.error": "No se pudo publicar el comentario", "moderation.comment.publish.verify.error": "No se pudo publicar el comentario ni verificar al usuario.", "moderation.comment.published": "Comentario publicado correctamente", - "moderation.comment.published.verified": "Comentario publicado y verificado por el usuario.", + "moderation.comment.published.verified": "Comentario publicado y usuario verificado", "moderation.empty": "Todo el contenido ha sido moderado. ¡Ya estás al día!", "moderation.fetch.error": "No se pudieron obtener los elementos de moderación.", "moderation.post.delete.block.error": "No se pudo eliminar la publicación ni bloquear al usuario.", @@ -138,10 +138,10 @@ "moderation.post.publish.error": "No se pudo publicar la entrada.", "moderation.post.publish.verify.error": "No se pudo publicar la publicación ni verificar al usuario.", "moderation.post.published": "Publicación publicada con éxito", - "moderation.post.published.verified": "Publicación publicada y verificada por el usuario.", + "moderation.post.published.verified": "Publicación publicada y usuario verificado", "moderation.subtitle": "Estas ideas y comentarios provienen de personas ajenas a tu lista de usuarios de confianza; tú decides si se publican.", "moderation.title": "Cola de moderación", - "mynotifications.label.readrecently": "Leer los últimos 30 días.", + "mynotifications.label.readrecently": "Leídas en los últimos 30 días.", "mynotifications.message.nounread": "No hay notificaciones no leídas.", "mynotifications.page.subtitle": "Mantente informado de lo que está sucediendo", "mynotifications.page.title": "Notificaciones", @@ -162,7 +162,7 @@ "mysettings.message.privateemail": "Tu correo electrónico es privado y nunca se mostrará públicamente.", "mysettings.notification.channelemail": "Correo electrónico", "mysettings.notification.channelweb": "Web", - "mysettings.notification.event.discussion": "Discusión", + "mysettings.notification.event.discussion": "Nuevos comentarios", "mysettings.notification.event.mention": "Menciones", "mysettings.notification.event.newpost": "Nueva Publicación", "mysettings.notification.event.newpostcreated": "Tu idea ha sido añadida 👍", @@ -195,7 +195,7 @@ "roadmap.upsell.title": "Vea lo que está sucediendo en la vista de hoja de ruta.", "showpost.comment.copylink.error": "No se pudo copiar el enlace del comentario, copie la URL de la página", "showpost.comment.copylink.success": "Enlace de comentario copiado al portapapeles", - "showpost.comment.unknownhighlighted": "ID de comentario no válido #{id}", + "showpost.comment.unknownhighlighted": "ID de comentario desconocido #{id}", "showpost.commentinput.placeholder": "Publica un comentario", "showpost.copylink.success": "Enlace copiado al portapapeles", "showpost.loading": "Cargando...", @@ -212,13 +212,13 @@ "showpost.moderation.comment.declined": "El comentario fue rechazado con éxito.", "showpost.moderation.comment.declineerror": "No rechazó el comentario.", "showpost.moderation.commentsuccess": "Tu comentario está pendiente de moderación 📝", - "showpost.moderation.declined": "El puesto fue rechazado con éxito.", + "showpost.moderation.declined": "Publicación rechazada correctamente", "showpost.moderation.declineerror": "No rechazó la publicación", "showpost.moderation.postsuccess": "Tu idea está pendiente de moderación 📝", "showpost.moderationpanel.text.help": "Esta operación <0>no se puede deshacer.", "showpost.moderationpanel.text.placeholder": "¿Por qué estás eliminando esta publicación? (opcional)", - "showpost.notificationspanel.message.subscribed": "Has recibido notificaciones sobre la actividad en este mensaje.", - "showpost.notificationspanel.message.unsubscribed": "No recibirás ninguna notificación sobre este evento.", + "showpost.notificationspanel.message.subscribed": "Estás recibiendo notificaciones sobre la actividad de esta publicación.", + "showpost.notificationspanel.message.unsubscribed": "No recibirás ninguna notificación sobre esta publicación.", "showpost.postedby": "Publicado por", "showpost.postsearch.numofvotes": "{0} votos", "showpost.postsearch.query.placeholder": "Buscar publicación original...", diff --git a/locale/es-ES/server.json b/locale/es-ES/server.json index 92bfd355d3..5c37264074 100644 --- a/locale/es-ES/server.json +++ b/locale/es-ES/server.json @@ -53,10 +53,10 @@ "email.new_comment.text": "{userName} dejó un comentario en {title} ({postLink}).", "email.new_post.text": "{userName} ha creado una nueva publicación {title} ({postLink}).", "email.signin_email.subject": "Su código de inicio de sesión para {siteName} es {code}", - "email.signin_email.text": "Nos ha pedido que le enviemos un enlace de inicio de sesión y aquí está.", - "email.signin_email.confirmation": "Haz clic en el siguiente enlace para iniciar sesión en {siteName}.", + "email.signin_email.text": "Aquí tienes tu código de inicio de sesión.", + "email.signin_email.confirmation": "Usa el siguiente código de un solo uso para iniciar sesión en {siteName}.", "email.signup_email.subject": "Tu nuevo sitio de Fider", - "email.signup_email.text": "Estás a un paso de crear tu cuenta.", + "email.signup_email.text": "Estás a un paso de activar tu sitio de Fider.", "email.signin_email.your_code": "Tu código de inicio de sesión es:", "email.signin_email.code_expires": "Este código caducará en 15 minutos.", "email.signin_email.alternative": "Como alternativa, puede hacer clic en el siguiente enlace para iniciar sesión directamente:", From 87041f2bf8a8a24650122e051ce99b7af4172f32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marti=CC=81n=20Go=CC=81mez?= Date: Fri, 4 Sep 2026 09:49:05 +0200 Subject: [PATCH 3/4] Unify terminology in es-ES locale MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "post" was translated four different ways (publicación / entrada / mensaje / puesto). Settled on "publicación", which was already the majority. Other consistency fixes: - "All Feedback" was "Todos los comentarios", which collides with actual comments; now "Todas las sugerencias", matching postdetails.backtoall. - pagination.next was "Próximo" instead of "Siguiente". - label.subscribe was missing its accent ("Suscribete") and mixed imperative with the infinitive used by label.unsubscribe. - "Continue with" was still "Iniciar sesión con". - Dropped calques: "es requerido" -> "es obligatorio", "es inválido" -> "no es válido", "no está soportado" -> "no es compatible", "dirección electrónica" -> "dirección de correo electrónico". - feed.post.footer.response read "Respuesta de X a {date}" instead of "el {date}". --- locale/es-ES/client.json | 20 ++++++++++---------- locale/es-ES/server.json | 18 +++++++++--------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/locale/es-ES/client.json b/locale/es-ES/client.json index e6bf437833..e98bcefa7f 100644 --- a/locale/es-ES/client.json +++ b/locale/es-ES/client.json @@ -17,7 +17,7 @@ "action.respond": "Actualizar estado", "action.save": "Guardar", "action.signin": "Iniciar sesión", - "action.signup": "Inscribirse", + "action.signup": "Registrarse", "action.submit": "Enviar", "action.vote": "Vota por esta idea", "action.voted": "¡Votado!", @@ -45,7 +45,7 @@ "error.pagenotfound.title": "Página no encontrada", "error.unauthorized.text": "Necesitas iniciar sesión para acceder a esta página.", "error.unauthorized.title": "No está autorizado", - "header.nav.feedback": "Todos los comentarios", + "header.nav.feedback": "Todas las sugerencias", "header.nav.roadmap": "Hoja de ruta", "home.filter.label": "Filtrar", "home.filter.search.label": "Buscar en filtros...", @@ -56,7 +56,7 @@ "home.postfilter.label.moderation": "Moderación", "home.postfilter.label.myactivity": "Mi actividad", "home.postfilter.label.status": "Estado", - "home.postfilter.option.mostdiscussed": "Más Discutidos", + "home.postfilter.option.mostdiscussed": "Más comentados", "home.postfilter.option.mostwanted": "Más Deseados", "home.postfilter.option.myposts": "Mis publicaciones", "home.postfilter.option.myvotes": "Mis Votos", @@ -77,16 +77,16 @@ "label.follow": "Seguir", "label.following": "Siguiendo", "label.gravatar": "Gravatar", - "label.letter": "Letras", + "label.letter": "Letra", "label.name": "Nombre", "label.none": "Ninguno", "label.notifications": "Notificaciones", "label.or": "O", "label.searchtags": "Buscar etiquetas...", - "label.subscribe": "Suscribete", + "label.subscribe": "Suscribirse", "label.tags": "Etiquetas", "label.unread": "Sin leer", - "label.unsubscribe": "Cancelar la suscripción", + "label.unsubscribe": "Cancelar suscripción", "label.votecount": "{votes, plural, one {Voto} other {Votos}}", "label.voters": "Votantes", "labels.notagsavailable": "No hay etiquetas disponibles", @@ -135,7 +135,7 @@ "moderation.post.delete.error": "No se pudo eliminar la publicación", "moderation.post.deleted": "Publicación eliminada correctamente", "moderation.post.deleted.blocked": "Publicación eliminada y usuario bloqueado", - "moderation.post.publish.error": "No se pudo publicar la entrada.", + "moderation.post.publish.error": "No se pudo publicar la publicación.", "moderation.post.publish.verify.error": "No se pudo publicar la publicación ni verificar al usuario.", "moderation.post.published": "Publicación publicada con éxito", "moderation.post.published.verified": "Publicación publicada y usuario verificado", @@ -182,7 +182,7 @@ "page.pendingactivation.text": "Te hemos enviado un correo electrónico de confirmación con un enlace para activar tu sitio.", "page.pendingactivation.text2": "Por favor, revisa tu bandeja de entrada para activarla.", "page.pendingactivation.title": "Tu cuenta está pendiente de activación", - "pagination.next": "Próximo", + "pagination.next": "Siguiente", "pagination.prev": "Anterior", "post.pending": "pendiente", "postdetails.backtoall": "Volver a todas las sugerencias", @@ -196,7 +196,7 @@ "showpost.comment.copylink.error": "No se pudo copiar el enlace del comentario, copie la URL de la página", "showpost.comment.copylink.success": "Enlace de comentario copiado al portapapeles", "showpost.comment.unknownhighlighted": "ID de comentario desconocido #{id}", - "showpost.commentinput.placeholder": "Publica un comentario", + "showpost.commentinput.placeholder": "Escribe un comentario", "showpost.copylink.success": "Enlace copiado al portapapeles", "showpost.loading": "Cargando...", "showpost.message.nodescription": "No se proporcionó ninguna descripción.", @@ -240,7 +240,7 @@ "signin.message.onlyadmins": "Actualmente sólo se permite iniciar sesión en una cuenta de administrador", "signin.message.private.text": "Si tienes una cuenta o una invitación, puedes usar las siguientes opciones para iniciar sesión.", "signin.message.private.title": "<0>{0} es un espacio privado, debes iniciar sesión para participar y votar.", - "signin.message.socialbutton.intro": "Iniciar sesión con", + "signin.message.socialbutton.intro": "Continuar con", "signin.name.placeholder": "Su nombre", "validation.custom.maxattachments": "Se permite un máximo de {number} archivos adjuntos.", "validation.custom.maximagesize": "El tamaño de la imagen debe ser menor que {kilobytes}KB." diff --git a/locale/es-ES/server.json b/locale/es-ES/server.json index 5c37264074..47b41001c9 100644 --- a/locale/es-ES/server.json +++ b/locale/es-ES/server.json @@ -8,9 +8,9 @@ "property.title": "Título", "property.comment": "Comentario", "property.status": "Estado", - "validation.required": "{name} es requerido.", - "validation.invalid": "{name} es inválido.", - "validation.invalidvalue": "{name} tiene un valor inválido '{value}'.", + "validation.required": "{name} es obligatorio.", + "validation.invalid": "{name} no es válido.", + "validation.invalidvalue": "{name} tiene un valor no válido '{value}'.", "validation.maxstringlen": "{name} debe tener menos de {len} caracteres.", "validation.custom.maxattachments": "Se permite un máximo de {number} archivos adjuntos por publicación.", "validation.custom.differentemail": "Elige un correo electrónico diferente.", @@ -19,13 +19,13 @@ "validation.custom.duplicatetitle": "Esto ya ha sido publicado antes.", "validation.custom.selfduplicate": "No puede ser un duplicado de sí mismo.", "validation.custom.originalpostnotfound": "No se encontró la publicación original.", - "validation.custom.cannotdeleteduplicatepost": "Esta publicación no puede ser eliminada porque está siendo referenciada por un mensaje duplicado.", + "validation.custom.cannotdeleteduplicatepost": "Esta publicación no puede ser eliminada porque está siendo referenciada por una publicación duplicada.", "validation.custom.unknownsettings": "Configuración desconocida llamada '{name}'", - "validation.custom.invalidemail": "'{email}' no es una dirección electrónica válida.", + "validation.custom.invalidemail": "'{email}' no es una dirección de correo electrónico válida.", "validation.custom.invalidurl": "'{url}' no es una URL válida.", "validation.custom.invalidcustomdomain": "'{domain}' no es un Dominio Personalizado válido.", "validation.custom.customdomaintaken": "Este dominio personalizado ya se encuentra en uso por otra persona.", - "validation.custom.unsupportedfileformat": "Este formato de archivo no está soportado.", + "validation.custom.unsupportedfileformat": "Este formato de archivo no es compatible.", "validation.custom.minimagedimensions": "La imagen debe tener dimensiones mínimas de {width}x{height} píxeles.", "validation.custom.imagesquareratio": "La imagen debe tener una relación de aspecto de 1:1.", "validation.custom.maximagesize": "El tamaño de la imagen debe ser menor de {kilobytes}KB.", @@ -41,7 +41,7 @@ "email.change_emailaddress.request": "Has solicitado cambiar tu correo electrónico de {oldEmail} a {newEmail}.", "email.subscription.view": "ver en el navegador", "email.subscription.change": "cambiar tus preferencias de notificación", - "email.subscription.unsubscribe": "desuscribirse de la lista", + "email.subscription.unsubscribe": "cancelar la suscripción", "email.greetings": "¡Hola!", "email.new_mention.text": "{userName} te mencionó en {title} ({postLink}).", "email.greetings_name": "¡Hola, {name}!", @@ -62,7 +62,7 @@ "email.signin_email.alternative": "Como alternativa, puede hacer clic en el siguiente enlace para iniciar sesión directamente:", "email.signup_email.confirmation": "A través del enlace de abajo puedes verificar tu dirección de correo electrónico y completar el proceso de activación.", "email.footer.subscription_notice": "Has recibido este correo electrónico porque estás suscrito a esta publicación. Puedes {view}, {unsubscribe} o {change}.", - "email.footer.subscription_notice2": "Estás recibiendo este correo electrónico porque estás suscrito a este mensaje. Puedes {change}.", + "email.footer.subscription_notice2": "Estás recibiendo este correo electrónico porque estás suscrito a esta publicación. Puedes {change}.", "email.footer.subscription_notice3": "Estás recibiendo este correo electrónico porque estás suscrito a esta publicación. Puedes {view} o {change}.", "email.delete_account_requested.subject": "Tu sitio Fider {tenantName} está programado para ser eliminado.", "email.delete_account_requested.text": "Hemos recibido una solicitud para eliminar permanentemente su sitio Fider {tenantName} y todo lo que contiene: todos los usuarios, publicaciones, comentarios y votos.", @@ -75,6 +75,6 @@ "feed.comment.op": "Publicación original de {author}", "feed.comment.response": "Respuesta de {author}", "feed.post.title": "# {title}\n{votes, plural, one {# voto} other {# votos}}, {comments, plural, one {# comentario} other {# comentarios}}\n\n---\n", - "feed.post.footer.response": "Respuesta de {responder} a {date}:\n\n>{response}", + "feed.post.footer.response": "Respuesta de {responder} el {date}:\n\n>{response}", "feed.post.footer": "\n\n---\n{response_footer}\n{votes, plural, one {# voto} other {# votos}}, {comments, plural, one {# comentario} other {# comentarios}} - ver [en la web]({web_link}) o [como feed]({feed_link})" } From 4c1efce4ad0b0621f74ad88353af0a0c26d8ddc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marti=CC=81n=20Go=CC=81mez?= Date: Fri, 4 Sep 2026 09:51:04 +0200 Subject: [PATCH 4/4] Normalise register and style in es-ES locale MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Register: the file mixed "tú" (52 strings) and "usted" (~20). Settled on "tú", which was already the majority and fits the product. - Dropped English Title Case from short labels ("Marcar Todo como Leído", "Mis Votos", "Política de Privacidad", "Eliminar Mi Cuenta"...); Spanish only capitalises the first word. - Removed trailing periods the source strings don't have (mostly moderation toasts and titles). - "No se aprobó la publicación" / "No rechazó el comentario" asserted that the moderator declined it; the source says the action failed, so now "No se pudo aprobar/rechazar ...". - "¡Caracoles!" is very regional; replaced with a neutral "¡Vaya!". - error.pagenotfound.text used "hipervínculo"; now "enlace", as the rest of the file. - signin.message.emailsent had a typo ("session" instead of "sesión") and mysettings.notification.title didn't match the source text. - "sólo" -> "solo" (RAE dropped that accent in 2010). --- locale/es-ES/client.json | 98 ++++++++++++++++++++-------------------- locale/es-ES/server.json | 14 +++--- 2 files changed, 56 insertions(+), 56 deletions(-) diff --git a/locale/es-ES/client.json b/locale/es-ES/client.json index e98bcefa7f..8e7c7ca81e 100644 --- a/locale/es-ES/client.json +++ b/locale/es-ES/client.json @@ -8,7 +8,7 @@ "action.delete": "Eliminar", "action.delete.block": "Eliminar y bloquear", "action.edit": "Editar", - "action.markallasread": "Marcar Todo como Leído", + "action.markallasread": "Marcar todo como leído", "action.ok": "Aceptar", "action.postcomment": "Publicar", "action.postsfeed": "Feed de publicaciones", @@ -30,18 +30,18 @@ "enum.poststatus.open": "Abierto", "enum.poststatus.planned": "Planificado", "enum.poststatus.started": "Iniciado", - "error.accessdenied.contact": "Si cree que se trata de un error, póngase en contacto con su administrador.", - "error.accessdenied.text": "No dispone de los permisos necesarios para acceder a este sitio.", + "error.accessdenied.contact": "Si crees que se trata de un error, ponte en contacto con tu administrador.", + "error.accessdenied.text": "No tienes los permisos necesarios para acceder a este sitio.", "error.accessdenied.title": "Acceso denegado", "error.expired.text": "El enlace en el que hizo clic ha expirado.", "error.expired.title": "Caducado", "error.forbidden.text": "No estás autorizado para ver esta página.", "error.forbidden.title": "Prohibido", "error.internalerror.text": "¡Ha ocurrido un error y estamos trabajando para solucionar el problema! Estaremos funcionando en breve.", - "error.internalerror.title": "¡Caracoles! Bueno, esto es inesperado…", + "error.internalerror.title": "¡Vaya! Esto no estaba previsto…", "error.notinvited.text": "No pudimos encontrar una cuenta para su dirección de correo electrónico.", "error.notinvited.title": "No invitado", - "error.pagenotfound.text": "El hipervínculo que has seguido puede estar roto o quizás esta página ya no exista.", + "error.pagenotfound.text": "El enlace en el que has hecho clic puede estar roto o la página puede haber sido eliminada.", "error.pagenotfound.title": "Página no encontrada", "error.unauthorized.text": "Necesitas iniciar sesión para acceder a esta página.", "error.unauthorized.title": "No está autorizado", @@ -49,17 +49,17 @@ "header.nav.roadmap": "Hoja de ruta", "home.filter.label": "Filtrar", "home.filter.search.label": "Buscar en filtros...", - "home.form.defaultinvitation": "Escriba aquí su sugerencia...", + "home.form.defaultinvitation": "Escribe aquí tu sugerencia...", "home.form.defaultwelcomemessage": "Nos encantaría escuchar lo que estás pensando.\n\n¿Qué podemos hacer mejor? Este es el lugar para que votes, discutas y compartas ideas.", - "home.lonely.suggestion": "Se recomienda que cree <0>al menos 3 sugerencias aquí antes de compartir este sitio. El contenido inicial es importante para empezar a atraer a su audiencia.", + "home.lonely.suggestion": "Se recomienda que crees <0>al menos 3 sugerencias aquí antes de compartir este sitio. El contenido inicial es importante para empezar a atraer a tu audiencia.", "home.lonely.text": "No se han creado publicaciones todavía.", "home.postfilter.label.moderation": "Moderación", "home.postfilter.label.myactivity": "Mi actividad", "home.postfilter.label.status": "Estado", "home.postfilter.option.mostdiscussed": "Más comentados", - "home.postfilter.option.mostwanted": "Más Deseados", + "home.postfilter.option.mostwanted": "Más deseados", "home.postfilter.option.myposts": "Mis publicaciones", - "home.postfilter.option.myvotes": "Mis Votos", + "home.postfilter.option.myvotes": "Mis votos", "home.postfilter.option.notags": "Sin etiquetar", "home.postfilter.option.recent": "Reciente", "home.postfilter.option.trending": "Populares", @@ -92,7 +92,7 @@ "labels.notagsavailable": "No hay etiquetas disponibles", "legal.agreement": "He leído y acepto los <0/> y <1/>.", "legal.notice": "Al iniciar sesión, aceptas los <0/><1/> y <2/>.", - "legal.privacypolicy": "Política de Privacidad", + "legal.privacypolicy": "Política de privacidad", "legal.termsofservice": "Términos del servicio", "linkmodal.insert": "Insertar un enlace", "linkmodal.text.label": "Texto a mostrar", @@ -103,7 +103,7 @@ "menu.administration": "Administración", "menu.mysettings": "Mis ajustes", "menu.signout": "Cerrar sesión", - "menu.sitesettings": "Configuración del Sitio", + "menu.sitesettings": "Configuración del sitio", "modal.changeemail.header": "Confirma tu nueva dirección de correo electrónico", "modal.changeemail.text": "Acabamos de enviar un enlace de confirmación a <0>{0}. <1/> Haz clic en el enlace para actualizar tu correo electrónico.", "modal.completeprofile.header": "Completa tu perfil", @@ -111,33 +111,33 @@ "modal.completeprofile.text": "Debido a que este es tu primer inicio de sesión, por favor introduce tu nombre.", "modal.deleteaccount.header": "Eliminar cuenta", "modal.deleteaccount.text": "<0>Cuando decides eliminar tu cuenta, borraremos toda tu información personal para siempre. El contenido que has publicado permanecerá, pero será anónimo.<1>Este proceso es irreversible. <2>¿Estás seguro?", - "modal.deletecomment.header": "Eliminar Comentario", + "modal.deletecomment.header": "Eliminar comentario", "modal.deletecomment.text": "Este proceso es irreversible. <0>¿Estás seguro?", "modal.notifications.nonew": "No hay nuevas notificaciones", "modal.notifications.previous": "Notificaciones anteriores", "modal.notifications.unread": "Notificaciones no leídas", - "modal.rss.description": "Para suscribirse a este feed ATOM, copie y pegue esta URL en su lector RSS/ATOM.", + "modal.rss.description": "Para suscribirte a este feed ATOM, copia y pega esta URL en tu lector RSS/ATOM.", "modal.rss.title": "Suscríbete al feed de ATOM", "modal.showvotes.message.zeromatches": "No se encontraron usuarios que coincidan con <0>{query}.", "modal.showvotes.query.placeholder": "Buscar usuarios por nombre...", "modal.signin.header": "Únete a la conversación", - "moderation.comment.delete.block.error": "No se pudo eliminar el comentario ni bloquear al usuario.", - "moderation.comment.delete.error": "No se pudo eliminar el comentario.", + "moderation.comment.delete.block.error": "No se pudo eliminar el comentario ni bloquear al usuario", + "moderation.comment.delete.error": "No se pudo eliminar el comentario", "moderation.comment.deleted": "Comentario eliminado correctamente", "moderation.comment.deleted.blocked": "Comentario eliminado y usuario bloqueado", "moderation.comment.publish.error": "No se pudo publicar el comentario", - "moderation.comment.publish.verify.error": "No se pudo publicar el comentario ni verificar al usuario.", + "moderation.comment.publish.verify.error": "No se pudo publicar el comentario ni verificar al usuario", "moderation.comment.published": "Comentario publicado correctamente", "moderation.comment.published.verified": "Comentario publicado y usuario verificado", "moderation.empty": "Todo el contenido ha sido moderado. ¡Ya estás al día!", - "moderation.fetch.error": "No se pudieron obtener los elementos de moderación.", - "moderation.post.delete.block.error": "No se pudo eliminar la publicación ni bloquear al usuario.", + "moderation.fetch.error": "No se pudieron obtener los elementos de moderación", + "moderation.post.delete.block.error": "No se pudo eliminar la publicación ni bloquear al usuario", "moderation.post.delete.error": "No se pudo eliminar la publicación", "moderation.post.deleted": "Publicación eliminada correctamente", "moderation.post.deleted.blocked": "Publicación eliminada y usuario bloqueado", - "moderation.post.publish.error": "No se pudo publicar la publicación.", - "moderation.post.publish.verify.error": "No se pudo publicar la publicación ni verificar al usuario.", - "moderation.post.published": "Publicación publicada con éxito", + "moderation.post.publish.error": "No se pudo publicar la publicación", + "moderation.post.publish.verify.error": "No se pudo publicar la publicación ni verificar al usuario", + "moderation.post.published": "Publicación publicada correctamente", "moderation.post.published.verified": "Publicación publicada y usuario verificado", "moderation.subtitle": "Estas ideas y comentarios provienen de personas ajenas a tu lista de usuarios de confianza; tú decides si se publican.", "moderation.title": "Cola de moderación", @@ -149,10 +149,10 @@ "mysettings.apikey.generate": "Volver a generar la clave API", "mysettings.apikey.newkey": "Tu nueva clave API es: <0>{0}", "mysettings.apikey.newkeynotice": "Guárdalo de forma segura en tus servidores y no lo almacenes nunca en el lado del cliente de tu aplicación.", - "mysettings.apikey.notice": "La clave API sólo se muestra cuando se genera. Si su clave se pierde o ha sido comprometida, genera una nueva y toma nota de ella.", + "mysettings.apikey.notice": "La clave API solo se muestra cuando se genera. Si tu clave se pierde o queda comprometida, genera una nueva y toma nota de ella.", "mysettings.apikey.title": "Clave API", - "mysettings.dangerzone.delete": "Eliminar Mi Cuenta", - "mysettings.dangerzone.notice": "Este proceso es irreversible. Por favor proceda con precaución.", + "mysettings.dangerzone.delete": "Eliminar mi cuenta", + "mysettings.dangerzone.notice": "Este proceso es irreversible. Asegúrate de que es lo que quieres.", "mysettings.dangerzone.text": "Cuando decides eliminar tu cuenta, borraremos toda tu información personal para siempre. El contenido que has publicado permanecerá, pero será anónimo.", "mysettings.dangerzone.title": "Eliminar cuenta", "mysettings.message.avatar.custom": "Aceptamos imágenes JPG, GIF y PNG, menores de 100KB y con una relación de aspecto de 1:1 con dimensiones mínimas de 50x50 píxeles.", @@ -164,17 +164,17 @@ "mysettings.notification.channelweb": "Web", "mysettings.notification.event.discussion": "Nuevos comentarios", "mysettings.notification.event.mention": "Menciones", - "mysettings.notification.event.newpost": "Nueva Publicación", + "mysettings.notification.event.newpost": "Nueva publicación", "mysettings.notification.event.newpostcreated": "Tu idea ha sido añadida 👍", - "mysettings.notification.event.statuschanged": "Estado Modificado", - "mysettings.notification.title": "Utiliza el siguiente panel para elegir sobre cuáles eventos quieres recibir notificaciones", + "mysettings.notification.event.statuschanged": "Estado modificado", + "mysettings.notification.title": "Elige los eventos sobre los que quieres recibir notificaciones.", "mysettings.page.subtitle": "Administra la configuración de tu perfil", "mysettings.page.title": "Configuración", "newpost.modal.description.placeholder": "Cuéntanoslo. Explícalo con todo detalle, sin reservas. Cuanta más información, mejor.", - "newpost.modal.submit": "Envía tu idea", + "newpost.modal.submit": "Enviar tu idea", "newpost.modal.title": "Comparte tu idea...", "newpost.modal.title.label": "Dale un título a tu idea", - "newpost.modal.title.placeholder": "Algo corto y conciso, resúmalo en pocas palabras.", + "newpost.modal.title.placeholder": "Algo corto y conciso, resúmelo en pocas palabras", "page.backhome": "Llévame a la página de inicio de <0>{0}.", "page.pendingactivation.didntreceive": "¿No recibiste el correo electrónico?", "page.pendingactivation.resend": "Reenviar correo electrónico de verificación", @@ -188,32 +188,32 @@ "postdetails.backtoall": "Volver a todas las sugerencias", "postdetails.backtoroadmap": "Volver a la hoja de ruta", "roadmap.blank.description": "Marca las publicaciones como planificadas o en curso y aparecerán aquí en la hoja de ruta.", - "roadmap.blank.title": "Tu hoja de ruta está esperando su primera actualización.", + "roadmap.blank.title": "Tu hoja de ruta está esperando su primera actualización", "roadmap.column.showmore": "Mostrar más", "roadmap.upsell.billing": "Actualiza a PRO", - "roadmap.upsell.description": "Actualiza a Pro para desbloquear tu hoja de ruta.", - "roadmap.upsell.title": "Vea lo que está sucediendo en la vista de hoja de ruta.", - "showpost.comment.copylink.error": "No se pudo copiar el enlace del comentario, copie la URL de la página", + "roadmap.upsell.description": "Actualiza a Pro para desbloquear tu hoja de ruta", + "roadmap.upsell.title": "Mira lo que está pasando en la vista de hoja de ruta", + "showpost.comment.copylink.error": "No se pudo copiar el enlace del comentario, copia la URL de la página", "showpost.comment.copylink.success": "Enlace de comentario copiado al portapapeles", "showpost.comment.unknownhighlighted": "ID de comentario desconocido #{id}", "showpost.commentinput.placeholder": "Escribe un comentario", "showpost.copylink.success": "Enlace copiado al portapapeles", "showpost.loading": "Cargando...", "showpost.message.nodescription": "No se proporcionó ninguna descripción.", - "showpost.moderation.admin.description": "Esta idea necesita tu aprobación antes de ser publicada.", + "showpost.moderation.admin.description": "Esta idea necesita tu aprobación antes de ser publicada", "showpost.moderation.admin.title": "Moderación", - "showpost.moderation.approved": "Publicación aprobada con éxito", - "showpost.moderation.approveerror": "No se aprobó la publicación", + "showpost.moderation.approved": "Publicación aprobada correctamente", + "showpost.moderation.approveerror": "No se pudo aprobar la publicación", "showpost.moderation.awaiting": "En espera de moderación.", - "showpost.moderation.comment.admin.description": "Este comentario necesita tu aprobación antes de ser publicado.", + "showpost.moderation.comment.admin.description": "Este comentario necesita tu aprobación antes de ser publicado", "showpost.moderation.comment.approved": "Comentario aprobado correctamente", - "showpost.moderation.comment.approveerror": "No se aprobó el comentario", + "showpost.moderation.comment.approveerror": "No se pudo aprobar el comentario", "showpost.moderation.comment.awaiting": "En espera de moderación.", - "showpost.moderation.comment.declined": "El comentario fue rechazado con éxito.", - "showpost.moderation.comment.declineerror": "No rechazó el comentario.", + "showpost.moderation.comment.declined": "Comentario rechazado correctamente", + "showpost.moderation.comment.declineerror": "No se pudo rechazar el comentario", "showpost.moderation.commentsuccess": "Tu comentario está pendiente de moderación 📝", "showpost.moderation.declined": "Publicación rechazada correctamente", - "showpost.moderation.declineerror": "No rechazó la publicación", + "showpost.moderation.declineerror": "No se pudo rechazar la publicación", "showpost.moderation.postsuccess": "Tu idea está pendiente de moderación 📝", "showpost.moderationpanel.text.help": "Esta operación <0>no se puede deshacer.", "showpost.moderationpanel.text.placeholder": "¿Por qué estás eliminando esta publicación? (opcional)", @@ -227,21 +227,21 @@ "showpost.save.success": "Publicación actualizada correctamente", "signin.code.edit": "Editar", "signin.code.getnew": "Obtén un nuevo código", - "signin.code.instruction": "Por favor, introduzca el código que le acabamos de enviar a <0>{email}", + "signin.code.instruction": "Introduce el código que te acabamos de enviar a <0>{email}", "signin.code.locked": "Tu código ha caducado debido a demasiados intentos incorrectos. Solicita uno nuevo.", - "signin.code.placeholder": "Escriba el código aquí.", - "signin.code.sent": "Se ha enviado un nuevo código a su correo electrónico.", + "signin.code.placeholder": "Escribe el código aquí", + "signin.code.sent": "Se ha enviado un nuevo código a tu correo electrónico.", "signin.email.placeholder": "Dirección de correo electrónico", "signin.message.email": "Continuar con el correo electrónico", - "signin.message.emaildisabled": "La autenticación de correo electrónico ha sido deshabilitada por un administrador. Si tiene una cuenta de administrador y necesita eludir esta restricción, por favor <0>haga clic aquí.", - "signin.message.emailsent": "Acabamos de enviar un enlace de confirmación a <0>{email}. Haz clic en el enlace para iniciar session.", - "signin.message.locked.text": "Para reactivar este sitio, inicie sesión con una cuenta de administrador y actualice la configuración requerida.", + "signin.message.emaildisabled": "La autenticación por correo electrónico ha sido deshabilitada por un administrador. Si tienes una cuenta de administrador y necesitas saltarte esta restricción, <0>haz clic aquí.", + "signin.message.emailsent": "Acabamos de enviar un enlace de confirmación a <0>{email}. Haz clic en el enlace e iniciarás sesión.", + "signin.message.locked.text": "Para reactivar este sitio, inicia sesión con una cuenta de administrador y actualiza la configuración requerida.", "signin.message.locked.title": "<0>{0} está actualmente bloqueado.", - "signin.message.onlyadmins": "Actualmente sólo se permite iniciar sesión en una cuenta de administrador", + "signin.message.onlyadmins": "Actualmente solo se permite iniciar sesión en una cuenta de administrador", "signin.message.private.text": "Si tienes una cuenta o una invitación, puedes usar las siguientes opciones para iniciar sesión.", "signin.message.private.title": "<0>{0} es un espacio privado, debes iniciar sesión para participar y votar.", "signin.message.socialbutton.intro": "Continuar con", - "signin.name.placeholder": "Su nombre", + "signin.name.placeholder": "Tu nombre", "validation.custom.maxattachments": "Se permite un máximo de {number} archivos adjuntos.", "validation.custom.maximagesize": "El tamaño de la imagen debe ser menor que {kilobytes}KB." } diff --git a/locale/es-ES/server.json b/locale/es-ES/server.json index 47b41001c9..c2616032fd 100644 --- a/locale/es-ES/server.json +++ b/locale/es-ES/server.json @@ -1,5 +1,5 @@ { - "property.avatarType": "Tipo de Avatar", + "property.avatarType": "Tipo de avatar", "property.name": "Nombre", "property.image": "Imagen", "property.customdomain": "Dominio personalizado", @@ -45,27 +45,27 @@ "email.greetings": "¡Hola!", "email.new_mention.text": "{userName} te mencionó en {title} ({postLink}).", "email.greetings_name": "¡Hola, {name}!", - "email.operation_confirmation": "Haga clic en el siguiente enlace para confirmar esta operación.", - "email.footer.noreply": "Este correo electrónico ha sido enviado desde una dirección de sólo notificación que no puede aceptar correos entrantes. Por favor, no responda a este mensaje.", + "email.operation_confirmation": "Haz clic en el siguiente enlace para confirmar esta operación.", + "email.footer.noreply": "Este correo electrónico se ha enviado desde una dirección de solo notificación que no puede recibir correos entrantes. Por favor, no respondas a este mensaje.", "email.change_status.duplicate": "{title} ({postLink}) ha sido cerrado como duplicado de {duplicate}.", "email.change_status.others": "El estado de {title} ({postLink}) ha cambiado a {status}.", "email.delete_post.text": "{title} ha sido eliminado.", "email.new_comment.text": "{userName} dejó un comentario en {title} ({postLink}).", "email.new_post.text": "{userName} ha creado una nueva publicación {title} ({postLink}).", - "email.signin_email.subject": "Su código de inicio de sesión para {siteName} es {code}", + "email.signin_email.subject": "Tu código de inicio de sesión para {siteName} es {code}", "email.signin_email.text": "Aquí tienes tu código de inicio de sesión.", "email.signin_email.confirmation": "Usa el siguiente código de un solo uso para iniciar sesión en {siteName}.", "email.signup_email.subject": "Tu nuevo sitio de Fider", "email.signup_email.text": "Estás a un paso de activar tu sitio de Fider.", "email.signin_email.your_code": "Tu código de inicio de sesión es:", "email.signin_email.code_expires": "Este código caducará en 15 minutos.", - "email.signin_email.alternative": "Como alternativa, puede hacer clic en el siguiente enlace para iniciar sesión directamente:", + "email.signin_email.alternative": "Como alternativa, puedes hacer clic en el siguiente enlace para iniciar sesión directamente:", "email.signup_email.confirmation": "A través del enlace de abajo puedes verificar tu dirección de correo electrónico y completar el proceso de activación.", "email.footer.subscription_notice": "Has recibido este correo electrónico porque estás suscrito a esta publicación. Puedes {view}, {unsubscribe} o {change}.", "email.footer.subscription_notice2": "Estás recibiendo este correo electrónico porque estás suscrito a esta publicación. Puedes {change}.", "email.footer.subscription_notice3": "Estás recibiendo este correo electrónico porque estás suscrito a esta publicación. Puedes {view} o {change}.", - "email.delete_account_requested.subject": "Tu sitio Fider {tenantName} está programado para ser eliminado.", - "email.delete_account_requested.text": "Hemos recibido una solicitud para eliminar permanentemente su sitio Fider {tenantName} y todo lo que contiene: todos los usuarios, publicaciones, comentarios y votos.", + "email.delete_account_requested.subject": "Tu sitio Fider {tenantName} está programado para ser eliminado", + "email.delete_account_requested.text": "Hemos recibido una solicitud para eliminar permanentemente tu sitio Fider {tenantName} y todo lo que contiene: todos los usuarios, publicaciones, comentarios y votos.", "email.delete_account_requested.scheduled": "La eliminación está programada para {scheduledAt}. Una vez ejecutada, no se puede deshacer.", "email.delete_account_requested.cancel": "¿No solicitaste esto o cambiaste de opinión? Usa el siguiente enlace para cancelar la eliminación antes de que eso suceda:", "email.delete_account_completed.subject": "Tu sitio Fider {tenantName} ha sido eliminado",