From 2f55d32485bbe09bef0c27cc649996daf9d4e527 Mon Sep 17 00:00:00 2001 From: Ryan Casas Date: Thu, 19 Feb 2026 12:05:07 +0100 Subject: [PATCH 1/3] Add Spanish (Spain) language support --- packages/shared/src/i18n/languages.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/shared/src/i18n/languages.ts b/packages/shared/src/i18n/languages.ts index 3fa4a13..07294ab 100644 --- a/packages/shared/src/i18n/languages.ts +++ b/packages/shared/src/i18n/languages.ts @@ -15,6 +15,7 @@ export const SUPPORTED_LANGUAGES: Language[] = [ {code: 'bg', name: 'Bulgarian', nativeName: 'Български', flag: '🇧🇬'}, {code: 'cs', name: 'Czech', nativeName: 'Čeština', flag: '🇨🇿'}, {code: 'pl', name: 'Polish', nativeName: 'Polski', flag: '🇵🇱'}, + {code: 'es', name: 'Spanish (Spain)', nativeName: 'Español (España)', flag: '🇪🇸'}, ]; export const DEFAULT_LANGUAGE = 'en'; From 6bba9b6199cd11485d9b2a160e4f552566a9f7be Mon Sep 17 00:00:00 2001 From: Ryan Casas Date: Thu, 19 Feb 2026 12:10:29 +0100 Subject: [PATCH 2/3] Add Spanish localization for email preferences --- packages/shared/src/i18n/locales/es.json | 45 ++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 packages/shared/src/i18n/locales/es.json diff --git a/packages/shared/src/i18n/locales/es.json b/packages/shared/src/i18n/locales/es.json new file mode 100644 index 0000000..75e45ba --- /dev/null +++ b/packages/shared/src/i18n/locales/es.json @@ -0,0 +1,45 @@ +{ + "pages": { + "unsubscribe": { + "title": "Cancelar suscripción", + "description": "Lamentamos que te vayas. ¿Estás seguro de que quieres cancelar la suscripción de {email} para dejar de recibir correos electrónicos?", + "button": "Cancelar suscripción", + "buttonLoading": "Cancelando suscripción...", + "managePreferences": "Gestionar preferencias en su lugar", + "successTitle": "Suscripción cancelada", + "successDescription": "Se ha cancelado la suscripción de {email}. No recibirás más correos electrónicos de nuestra parte.", + "changedMind": "¿Has cambiado de opinión?", + "subscribeAgain": "Suscribirse de nuevo" + }, + "subscribe": { + "title": "Suscribirse a las novedades", + "description": "¿Te gustaría suscribir {email} para recibir correos electrónicos?", + "button": "Suscribirse", + "buttonLoading": "Suscribiendo...", + "successTitle": "¡Suscripción completada!", + "successDescription": "{email} está ahora suscrito para recibir correos electrónicos de nuestra parte." + }, + "manage": { + "title": "Gestionar preferencias", + "description": "Gestiona las preferencias de correo electrónico de {email}", + "subscriptionLabel": "Suscripción de correo electrónico", + "subscribedStatus": "Actualmente estás suscrito para recibir correos electrónicos", + "unsubscribedStatus": "Actualmente tienes cancelada la suscripción a los correos electrónicos", + "subscribedSuccess": "¡Suscripción realizada con éxito!", + "unsubscribedSuccess": "¡Suscripción cancelada con éxito!", + "unsubscribeCompletely": "Cancelar suscripción completamente", + "subscribeToEmails": "Suscribirse a los correos electrónicos", + "disclaimer": "Esta página te permite gestionar tus preferencias de correo electrónico. El estado de tu suscripción se actualiza en tiempo real." + }, + "common": { + "loading": "Cargando...", + "error": "Error" + } + }, + "email": { + "footer": { + "unsubscribeText": "Has recibido este correo electrónico porque aceptaste recibir correos electrónicos de {projectName}. Si ya no deseas recibir correos electrónicos como este, por favor", + "updatePreferences": "actualiza tus preferencias" + } + } +} From 9568b7d345062e0b95763ff7c8f8aa9ad0754a0e Mon Sep 17 00:00:00 2001 From: Ryan Casas Date: Thu, 19 Feb 2026 12:16:40 +0100 Subject: [PATCH 3/3] Add Spanish translations to i18n index --- packages/shared/src/i18n/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/shared/src/i18n/index.ts b/packages/shared/src/i18n/index.ts index 5170c93..dcc824c 100644 --- a/packages/shared/src/i18n/index.ts +++ b/packages/shared/src/i18n/index.ts @@ -9,6 +9,7 @@ import ptTranslations from './locales/pt.json' with {type: 'json'}; import bgTranslations from './locales/bg.json' with {type: 'json'}; import csTranslations from './locales/cs.json' with {type: 'json'}; import plTranslations from './locales/pl.json' with {type: 'json'}; +import esTranslations from './locales/es.json' with {type: 'json'}; export { SUPPORTED_LANGUAGES, @@ -43,6 +44,7 @@ const translationsMap: Record = { bg: bgTranslations, cs: csTranslations, pl: plTranslations, + es: esTranslations, }; // In-memory cache for loaded translations