Skip to content

fix(locale): review and correct Spanish (es-ES) translations - #1664

Open
soymgomez wants to merge 4 commits into
getfider:mainfrom
soymgomez:fix/es-ES-translation-review
Open

fix(locale): review and correct Spanish (es-ES) translations#1664
soymgomez wants to merge 4 commits into
getfider:mainfrom
soymgomez:fix/es-ES-translation-review

Conversation

@soymgomez

Copy link
Copy Markdown

Issue: none — translation-only fix, in the spirit of locale/README.md ("Feel free to submit pull requests with improved translations at any time"). Happy to open one if you'd prefer.

Review of the Spanish (es-ES) locale against locale/en. The strings were machine-translated by the locale workflow and a fair number of them picked the wrong sense, broke placeholders, or drifted from the source. 100 strings touched across the two files; nothing outside locale/es-ES/ is modified.

Split into four commits so they can be reviewed (or dropped) independently.

1. Broken placeholders and wrong strings

These are actual bugs, not style:

Key Problem
email.new_post.text Said "left a comment on" instead of "created a new post" — copy-paste from email.new_comment.text. The "new post" notification email described the wrong event.
email.footer.subscription_notice3 Dropped the {view} and {change} placeholders entirely, so that email footer rendered with no links at all.
modal.showvotes.message.zeromatches Used {0} where the source has {query}, so the search term was never interpolated.
validation.custom.invalidcustomdomain Missing the opening quote: {domain}' no es....
feed.post.footer Plural units left in English (# vote, # comment).
feed.global.title, feed.post.title Missing from es-ES altogether. Added.

server.json is also reordered to match locale/en/server.json, which is what puts the two new keys in the right place.

2. Context mistranslations

The machine translation picked the wrong sense. Some examples:

  • editor.markdownmode: "Switch to markdown editor""Cambiar al editor de rebajas"markdown as in a price discount. 🙂
  • action.postcomment: "Post" (the comment box submit button) → "Correo" (mail).
  • action.respond: "Update Status" (button) → "Estado de actualización" ("update's status").
  • label.following: the Follow button's active state → "Siguiente" ("next").
  • showpost.moderation.declined: "Post declined successfully""El puesto fue rechazado"puesto as in a job position.
  • modal.signin.header: "Join the conversation""Envíe sus comentarios".
  • error.unauthorized.text was a verbatim copy of error.forbidden.text and never mentioned signing in.
  • moderation.*.published.verified: "...and user verified" became "...verified by the user", inverting the subject.

Also, three server.json strings still described the old magic-link sign-in (email.signin_email.text, .confirmation, email.signup_email.text); Fider emails a one-time code now.

3. Terminology

"post" was translated four different ways — publicación / entrada / mensaje / puesto. Settled on publicación, already the majority. Plus: pagination.next was "Próximo" rather than "Siguiente"; "All Feedback" was "Todos los comentarios", which collides with actual comments, now "Todas las sugerencias" to match postdetails.backtoall; and some calques ("es requerido", "es inválido", "no está soportado").

4. Register and style

  • The file mixed (52 strings) and usted (~20). Normalised to , the existing majority.
  • Removed English Title Case from short labels ("Marcar Todo como Leído", "Política de Privacidad", "Eliminar Mi Cuenta"…) — Spanish capitalises only the first word.
  • Removed trailing periods the source strings don't have (mostly moderation toasts).
  • "No se aprobó la publicación" / "No rechazó el comentario" asserted the moderator declined it; the source says the action failed. Now "No se pudo aprobar/rechazar…".
  • signin.message.emailsent had a typo ("session" for "sesión").
  • "¡Caracoles!" is very regional; replaced with a neutral "¡Vaya!".

Verification

Checked programmatically against locale/en:

  • both files parse as JSON and the key sets match en/ exactly;
  • every {placeholder} and every <0>-style tag has parity with the source string;
  • ICU plural/select structures are unchanged.

Checklist

  • This PR is linked to a GitHub issue (bug fix or an agreed change). — translation fix; see note above
  • New feature only: n/a
  • I've read the Contributing guide and the feature policy in discussion #1529.

- 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.
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.
"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}".
- 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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant