From 0b58c1ce6dd8db7715f20a3d0eba9bc93e2804b1 Mon Sep 17 00:00:00 2001 From: gdpr-labs Date: Mon, 27 Apr 2026 01:51:57 +0200 Subject: [PATCH 1/2] feat(localizations): Expand Catalan (ca-ES) translation Fills in previously undefined translations across billing, checkout, subscription management, cancellation flows, and related UI strings. Co-Authored-By: Claude Sonnet 4.6 --- packages/localizations/src/ca-ES.ts | 522 ++++++++++++++-------------- 1 file changed, 267 insertions(+), 255 deletions(-) diff --git a/packages/localizations/src/ca-ES.ts b/packages/localizations/src/ca-ES.ts index d0a5663c750..e1d7c7aa8a5 100644 --- a/packages/localizations/src/ca-ES.ts +++ b/packages/localizations/src/ca-ES.ts @@ -74,110 +74,116 @@ export const caES: LocalizationResource = { badge__userDevice: "Dispositiu de l'usuari", badge__you: 'Tu', billing: { - addPaymentMethod__label: undefined, - alwaysFree: undefined, - annually: undefined, - availableFeatures: undefined, - billedAnnually: undefined, - billedMonthlyOnly: undefined, + addPaymentMethod__label: 'Afegeix un nou mètode de pagament', + alwaysFree: 'Sempre gratuït', + annually: 'Anualment', + availableFeatures: 'Funcions disponibles', + billedAnnually: 'Facturat anualment', + billedMonthlyOnly: 'Només facturat mensualment', cancelFreeTrial: 'Cancel·la la prova gratuïta', cancelFreeTrialAccessUntil: 'Si cancel·les ara, continuaràs amb la prova gratuïta del pla {{plan}} fins al {{date}}.', cancelFreeTrialTitle: 'Cancel·la la prova gratuïta pel pla {{plan}}?', - cancelSubscription: undefined, - cancelSubscriptionAccessUntil: undefined, - cancelSubscriptionNoCharge: undefined, - cancelSubscriptionPastDue: undefined, - cancelSubscriptionTitle: undefined, - cannotSubscribeMonthly: undefined, - cannotSubscribeUnrecoverable: undefined, + cancelSubscription: 'Cancel·lar la subscripció', + cancelSubscriptionAccessUntil: + "Pots continuar utilitzant les funcions de '{{plan}}' fins al {{ date | longDate('ca-ES') }}, després ja no hi tindràs accés.", + cancelSubscriptionNoCharge: "No se't cobrarà per aquesta subscripció.", + cancelSubscriptionPastDue: + "La teva subscripció finalitzarà immediatament i perdràs l'accés a totes les funcions del pla. Se't demanarà que paguis l'import pendent en la teva propera subscripció.", + cancelSubscriptionTitle: 'Cancel·lar la subscripció {{plan}}?', + cannotSubscribeMonthly: + "No pots subscriure't a aquest pla amb pagament mensual. Per subscriure't-hi, has de triar el pagament anual.", + cannotSubscribeUnrecoverable: + "No pots subscriure't a aquest pla. La teva subscripció actual és més cara que aquest pla.", checkout: { - description__paymentSuccessful: undefined, - description__subscriptionSuccessful: undefined, - downgradeNotice: undefined, + description__paymentSuccessful: "El teu pagament s'ha realitzat correctament.", + description__subscriptionSuccessful: 'La teva nova subscripció està a punt.', + downgradeNotice: + 'Mantindràs la teva subscripció actual i les seves funcions fins al final del cicle de facturació; després es canviarà a aquesta subscripció.', emailForm: { - subtitle: undefined, - title: undefined, + subtitle: + "Abans de completar la compra, has d'afegir una adreça de correu electrònic per a l'enviament dels rebuts.", + title: 'Afegeix adreça de correu electrònic', }, lineItems: { - title__freeTrialEndsAt: undefined, - title__paymentMethod: undefined, - title__statementId: undefined, - title__subscriptionBegins: undefined, - title__totalPaid: undefined, - }, - pastDueNotice: undefined, - perMonth: undefined, - title: undefined, - title__paymentSuccessful: undefined, - title__subscriptionSuccessful: undefined, - title__trialSuccess: undefined, - totalDueAfterTrial: undefined, - }, - credit: undefined, - creditRemainder: undefined, - defaultFreePlanActive: undefined, - free: undefined, - getStarted: undefined, - keepFreeTrial: undefined, - keepSubscription: undefined, - manage: undefined, - manageSubscription: undefined, - month: undefined, - monthly: undefined, - pastDue: undefined, - pay: undefined, + title__freeTrialEndsAt: 'La prova acaba el', + title__paymentMethod: 'Mètode de pagament', + title__statementId: 'ID de la factura', + title__subscriptionBegins: 'La subscripció comença el', + title__totalPaid: 'Total pagat', + }, + pastDueNotice: 'La teva subscripció anterior tenia un pagament pendent.', + perMonth: 'al mes', + title: 'Pagament', + title__paymentSuccessful: 'Pagament realitzat amb èxit!', + title__subscriptionSuccessful: 'Tot a punt!', + title__trialSuccess: "La prova s'ha iniciat correctament!", + totalDueAfterTrial: 'Total a pagar quan acabi la prova en {{days}} dies', + }, + credit: 'Crèdit', + creditRemainder: 'Crèdit pel temps restant de la teva subscripció actual.', + defaultFreePlanActive: 'Estàs al pla gratuït', + free: 'Gratuït', + getStarted: 'Comença', + keepFreeTrial: 'Mantén la prova gratuïta', + keepSubscription: 'Mantén la subscripció', + manage: 'Gestiona', + manageSubscription: 'Gestiona la subscripció', + month: 'Mes', + monthly: 'Mensual', + pastDue: 'Pagament pendent', + pay: 'Paga {{amount}}', paymentMethod: { applePayDescription: { - annual: undefined, - monthly: undefined, + annual: 'Pagament anual', + monthly: 'Pagament mensual', }, dev: { - anyNumbers: undefined, - cardNumber: undefined, - cvcZip: undefined, - developmentMode: undefined, - expirationDate: undefined, - testCardInfo: undefined, + anyNumbers: 'Qualsevol número', + cardNumber: 'Número de targeta', + cvcZip: 'CVC, codi postal', + developmentMode: 'Mode de desenvolupament', + expirationDate: 'Data de caducitat', + testCardInfo: 'Informació de targeta de prova', }, }, - paymentMethods__label: undefined, - popular: undefined, + paymentMethods__label: 'Mètodes de pagament', + popular: 'Popular', pricingTable: { - billingCycle: undefined, - included: undefined, - }, - reSubscribe: undefined, - seeAllFeatures: undefined, - startFreeTrial: undefined, - startFreeTrial__days: undefined, - subscribe: undefined, + billingCycle: 'Cicle de facturació', + included: 'Inclòs', + }, + reSubscribe: "Tornar a subscriure's", + seeAllFeatures: 'Veure totes les funcions', + startFreeTrial: 'Iniciar la prova gratuïta', + startFreeTrial__days: 'Inicia la prova gratuïta de {{days}} dies', + subscribe: 'Subscriu-te', subscriptionDetails: { - beginsOn: undefined, - currentBillingCycle: undefined, - endsOn: undefined, - firstPaymentAmount: undefined, - firstPaymentOn: undefined, - nextPaymentAmount: undefined, - nextPaymentOn: undefined, - pastDueAt: undefined, - renewsAt: undefined, - subscribedOn: undefined, - title: undefined, - trialEndsOn: undefined, - trialStartedOn: undefined, - }, - subtotal: undefined, - switchPlan: undefined, - switchToAnnual: undefined, - switchToAnnualWithAnnualPrice: undefined, - switchToMonthly: undefined, - switchToMonthlyWithPrice: undefined, - totalDue: undefined, - totalDueToday: undefined, - viewFeatures: undefined, - viewPayment: undefined, - year: undefined, + beginsOn: 'Comença el', + currentBillingCycle: 'Cicle de facturació actual', + endsOn: 'Acaba el', + firstPaymentAmount: 'Import del primer pagament', + firstPaymentOn: 'Primer pagament el', + nextPaymentAmount: 'Import del proper pagament', + nextPaymentOn: 'Proper pagament el', + pastDueAt: 'Pagament pendent des de', + renewsAt: 'Es renova el', + subscribedOn: 'Subscrit el', + title: 'Subscripció', + trialEndsOn: 'La prova acaba el', + trialStartedOn: 'La prova va començar el', + }, + subtotal: 'Subtotal', + switchPlan: 'Canviar a aquest pla', + switchToAnnual: 'Canviar a anual', + switchToAnnualWithAnnualPrice: 'Canviar a anual {{currency}}{{price}} / any', + switchToMonthly: 'Canviar a mensual', + switchToMonthlyWithPrice: 'Canviar a mensual {{currency}}{{price}} / mes', + totalDue: 'Total a pagar', + totalDueToday: 'Total a pagar avui', + viewFeatures: 'Veure funcions', + viewPayment: 'Veure pagament', + year: 'Any', }, createOrganization: { formButtonSubmit: 'Crea organització', @@ -248,7 +254,7 @@ export const caES: LocalizationResource = { 'Introdueix una adreça de correu electrònic sota aquest domini per rebre un codi i verificar aquest domini.', formFieldLabel__organizationName: 'Nom', formFieldLabel__organizationSlug: 'Slug', - formFieldLabel__passkeyName: undefined, + formFieldLabel__passkeyName: "Nom de la clau d'accés", formFieldLabel__password: 'Contrasenya', formFieldLabel__phoneNumber: 'Número de telèfon', formFieldLabel__role: 'Rol', @@ -259,7 +265,7 @@ export const caES: LocalizationResource = { title: 'Connectat com a {{identifier}}', }, lastAuthenticationStrategy: 'Últim ús', - maintenanceMode: undefined, + maintenanceMode: 'Mode de manteniment', membershipRole__admin: 'Administrador', membershipRole__basicMember: 'Membre', membershipRole__guestMember: 'Convidat', @@ -284,62 +290,63 @@ export const caES: LocalizationResource = { badge__unverified: 'No verificat', billingPage: { paymentHistorySection: { - empty: undefined, - notFound: undefined, - tableHeader__amount: undefined, - tableHeader__date: undefined, - tableHeader__status: undefined, + empty: 'No hi ha historial de pagaments', + notFound: "No s'ha trobat l'intent de pagament", + tableHeader__amount: 'Import', + tableHeader__date: 'Data', + tableHeader__status: 'Estat', }, paymentMethodsSection: { - actionLabel__default: undefined, - actionLabel__remove: undefined, - add: undefined, - addSubtitle: undefined, - cancelButton: undefined, - formButtonPrimary__add: undefined, - formButtonPrimary__pay: undefined, - payWithTestCardButton: undefined, + actionLabel__default: 'Establir com a predeterminat', + actionLabel__remove: 'Eliminar', + add: 'Afegir un nou mètode de pagament', + addSubtitle: 'Afegeix un nou mètode de pagament al teu compte.', + cancelButton: 'Cancel·lar', + formButtonPrimary__add: 'Afegir mètode de pagament', + formButtonPrimary__pay: 'Pagar {{amount}}', + payWithTestCardButton: 'Pagar amb targeta de prova', removeMethod: { - messageLine1: undefined, - messageLine2: undefined, - successMessage: undefined, - title: undefined, + messageLine1: "{{identifier}} s'eliminarà d'aquest compte.", + messageLine2: + "Ja no podràs usar aquest mètode de pagament i qualsevol subscripció recurrent que depengui d'ell deixarà de funcionar.", + successMessage: "{{paymentMethod}} s'ha eliminat del teu compte.", + title: 'Elimina mètode de pagament', }, - title: undefined, + title: 'Mètodes de pagament', }, start: { - headerTitle__payments: undefined, - headerTitle__plans: undefined, - headerTitle__statements: undefined, - headerTitle__subscriptions: undefined, + headerTitle__payments: 'Pagaments', + headerTitle__plans: 'Plans', + headerTitle__statements: 'Factures', + headerTitle__subscriptions: 'Subscripció', }, statementsSection: { - empty: undefined, - itemCaption__paidForPlan: undefined, - itemCaption__proratedCredit: undefined, - itemCaption__subscribedAndPaidForPlan: undefined, - notFound: undefined, - tableHeader__amount: undefined, - tableHeader__date: undefined, - title: undefined, - totalPaid: undefined, + empty: 'No hi ha factures per mostrar', + itemCaption__paidForPlan: 'Pagat pel pla {{plan}} {{period}}', + itemCaption__proratedCredit: 'Crèdit proporcional pel temps no utilitzat de la subscripció anterior', + itemCaption__subscribedAndPaidForPlan: 'Subscrit i pagat pel pla {{plan}} {{period}}', + notFound: 'Factura no trobada', + tableHeader__amount: 'Import', + tableHeader__date: 'Data', + title: 'Factures', + totalPaid: 'Total pagat', }, subscriptionsListSection: { - actionLabel__manageSubscription: undefined, - actionLabel__newSubscription: undefined, - actionLabel__switchPlan: undefined, - tableHeader__edit: undefined, - tableHeader__plan: undefined, - tableHeader__startDate: undefined, - title: undefined, + actionLabel__manageSubscription: 'Gestiona', + actionLabel__newSubscription: 'Subscriu-te a un pla', + actionLabel__switchPlan: 'Canvia de pla', + tableHeader__edit: 'Edita', + tableHeader__plan: 'Pla', + tableHeader__startDate: "Data d'inici", + title: 'Subscripció', }, subscriptionsSection: { - actionLabel__default: undefined, + actionLabel__default: 'Gestiona', }, switchPlansSection: { - title: undefined, + title: 'Canvia de pla', }, - title: undefined, + title: 'Facturació', }, createDomainPage: { subtitle: @@ -357,10 +364,10 @@ export const caES: LocalizationResource = { }, membersPage: { action__invite: 'Convida', - action__search: undefined, + action__search: 'Buscar', activeMembersTab: { menuAction__remove: 'Elimina membre', - tableHeader__actions: undefined, + tableHeader__actions: 'Accions', tableHeader__joined: 'Unit', tableHeader__role: 'Rol', tableHeader__user: 'Usuari', @@ -518,36 +525,37 @@ export const caES: LocalizationResource = { paginationRowText__of: 'de', reverification: { alternativeMethods: { - actionLink: undefined, - actionText: undefined, - blockButton__backupCode: undefined, - blockButton__emailCode: undefined, + actionLink: 'Provar un altre mètode', + actionText: 'No tens accés a aquest mètode? Prova una altra opció.', + blockButton__backupCode: 'Utilitzar codi de seguretat', + blockButton__emailCode: 'Utilitzar codi de correu electrònic', blockButton__passkey: undefined, - blockButton__password: undefined, - blockButton__phoneCode: undefined, - blockButton__totp: undefined, + blockButton__password: 'Utilitzar contrasenya', + blockButton__phoneCode: 'Utilitzar codi de telèfon', + blockButton__totp: 'Utilitzar verificació TOTP', getHelp: { - blockButton__emailSupport: undefined, - content: undefined, - title: undefined, + blockButton__emailSupport: 'Contactar suport per correu electrònic', + content: + "Si no pots verificar la teva identitat amb els mètodes anteriors, posa't en contacte amb el nostre equip de suport.", + title: 'Necessites ajuda amb la verificació?', }, - subtitle: undefined, - title: undefined, + subtitle: 'Selecciona un dels mètodes disponibles per verificar la teva identitat.', + title: "Reverificació d'identitat", }, backupCodeMfa: { - subtitle: undefined, - title: undefined, + subtitle: "Introdueix el teu codi de seguretat per continuar amb l'accés.", + title: 'Verificació per codi de seguretat', }, emailCode: { - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formTitle: "Introdueix el codi que t'hem enviat al correu electrònic.", + resendButton: 'Reenviar codi', + subtitle: "Comprova el codi de verificació a la teva bústia d'entrada.", + title: 'Verificació per correu electrònic', }, noAvailableMethods: { - message: undefined, - subtitle: undefined, - title: undefined, + message: 'Ho sentim, no tens cap mètode de verificació disponible. Contacta amb suport.', + subtitle: "No s'han trobat mètodes alternatius disponibles.", + title: 'Mètodes de verificació no disponibles', }, passkey: { blockButton__passkey: undefined, @@ -555,26 +563,26 @@ export const caES: LocalizationResource = { title: undefined, }, password: { - actionLink: undefined, - subtitle: undefined, - title: undefined, + actionLink: 'Has oblidat la contrasenya? Recupera-la aquí.', + subtitle: 'Utilitza la teva contrasenya per verificar la teva identitat.', + title: 'Verificació per contrasenya', }, phoneCode: { - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Introdueix el codi enviat al teu telèfon.', + resendButton: 'Reenvia codi', + subtitle: 'Rebràs un codi SMS per verificar la teva identitat.', + title: 'Verificació per telèfon', }, phoneCodeMfa: { - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Codi de verificació de 2 passos', + resendButton: 'Reenvia codi', + subtitle: 'Introdueix el codi de verificació de dos factors enviat al teu telèfon.', + title: 'Verificació per telèfon (2FA)', }, totpMfa: { - formTitle: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Codi TOTP', + subtitle: "Introdueix el codi d'autenticació TOTP per completar la verificació.", + title: 'Verificació per TOTP (2FA)', }, }, signIn: { @@ -590,7 +598,7 @@ export const caES: LocalizationResource = { blockButton__backupCode: 'Utilitza un codi de seguretat', blockButton__emailCode: 'Envia codi per correu electrònic a {{identifier}}', blockButton__emailLink: 'Envia enllaç per correu electrònic a {{identifier}}', - blockButton__passkey: undefined, + blockButton__passkey: "Utilitza la clau d'accés", blockButton__password: 'Inicia sessió amb la teva contrasenya', blockButton__phoneCode: 'Envia codi SMS a {{identifier}}', blockButton__totp: "Utilitza la teva aplicació d'autenticació", @@ -691,8 +699,8 @@ export const caES: LocalizationResource = { title: 'No es pot iniciar sessió', }, passkey: { - subtitle: undefined, - title: undefined, + subtitle: "Utilitza la teva clau d'accés per continuar amb l'autenticació.", + title: "Clau d'accés", }, password: { actionLink: 'Utilitza un altre mètode', @@ -703,7 +711,7 @@ export const caES: LocalizationResource = { title: undefined, }, passwordPwned: { - title: undefined, + title: 'La teva contrasenya ha estat compromesa', }, passwordUntrusted: { title: undefined, @@ -732,14 +740,14 @@ export const caES: LocalizationResource = { }, start: { actionLink: "Registra't", - actionLink__join_waitlist: undefined, + actionLink__join_waitlist: "Uneix-te a la llista d'espera", actionLink__use_email: 'Utilitza correu electrònic', actionLink__use_email_username: "Utilitza correu electrònic o nom d'usuari", - actionLink__use_passkey: undefined, + actionLink__use_passkey: "Utilitza una clau d'accés", actionLink__use_phone: 'Utilitza telèfon', actionLink__use_username: "Utilitza nom d'usuari", actionText: 'No tens un compte?', - actionText__join_waitlist: undefined, + actionText__join_waitlist: "T'agradaria unir-te a la llista d'espera?", alternativePhoneCodeProvider: { actionLink: undefined, label: undefined, @@ -809,13 +817,14 @@ export const caES: LocalizationResource = { }, legalConsent: { checkbox: { - label__onlyPrivacyPolicy: undefined, - label__onlyTermsOfService: undefined, - label__termsOfServiceAndPrivacyPolicy: undefined, + label__onlyPrivacyPolicy: 'He llegit i acepto la Política de Privacitat', + label__onlyTermsOfService: 'He llegit i acepto els Termes del Servei', + label__termsOfServiceAndPrivacyPolicy: + 'He llegit i acepto els {{ termsOfServiceLink || link("Termes del Servei") }} i la {{ privacyPolicyLink || link("Política de Privacitat") }}', }, continue: { - subtitle: undefined, - title: undefined, + subtitle: 'En continuar, acceptes les condicions esmentades.', + title: 'Si us plau, accepta els nostres termes i polítiques per poder continuar', }, }, phoneCode: { @@ -826,18 +835,18 @@ export const caES: LocalizationResource = { title: 'Verifica el teu telèfon', }, restrictedAccess: { - actionLink: undefined, - actionText: undefined, - blockButton__emailSupport: undefined, - blockButton__joinWaitlist: undefined, - subtitle: undefined, - subtitleWaitlist: undefined, - title: undefined, + actionLink: "Contacta'ns per obtenir més informació", + actionText: 'Tens problemes? Obtén ajuda', + blockButton__emailSupport: 'Suport per correu electrònic', + blockButton__joinWaitlist: "Uneix-te a la llista d'espera", + subtitle: "L'accés a aquesta funcionalitat està restringit en aquest moment.", + subtitleWaitlist: "T'has unit a la llista d'espera. Ens posarem en contacte amb tu aviat.", + title: 'Accés restringit', }, start: { actionLink: 'Inicia sessió', - actionLink__use_email: undefined, - actionLink__use_phone: undefined, + actionLink__use_email: 'Utilitza correu electrònic', + actionLink__use_phone: 'Utilitza telèfon', actionText: 'Ja tens un compte?', alternativePhoneCodeProvider: { actionLink: undefined, @@ -856,7 +865,7 @@ export const caES: LocalizationResource = { }, }, socialButtonsBlockButton: 'Continua amb {{provider|titleize}}', - socialButtonsBlockButtonManyInView: undefined, + socialButtonsBlockButtonManyInView: '{{provider|titleize}}', taskChooseOrganization: { alerts: { organizationAlreadyExists: @@ -963,7 +972,7 @@ export const caES: LocalizationResource = { }, }, unstable__errors: { - already_a_member_in_organization: undefined, + already_a_member_in_organization: "{{email}} ja és membre de l'organització.", avatar_file_size_exceeded: 'La mida del fitxer supera el límit màxim de 10 MB. Si us plau, tria un fitxer més petit.', avatar_file_type_invalid: 'El tipus de fitxer no és compatible. Si us plau, puja una imatge JPG, PNG, GIF o WEBP.', @@ -974,9 +983,9 @@ export const caES: LocalizationResource = { form_code_incorrect: 'El codi introduït no és vàlid. Si us plau, comprova el codi i torna-ho a intentar.', form_email_address_blocked: 'Els serveis de correu electrònic temporal no estan suportats. Si us plau, utilitzeu la vostra adreça de correu electrònic habitual per crear un compte.', - form_identifier_exists__email_address: undefined, - form_identifier_exists__phone_number: undefined, - form_identifier_exists__username: undefined, + form_identifier_exists__email_address: 'Ja existeix un compte amb aquesta adreça de correu electrònic.', + form_identifier_exists__phone_number: 'Ja existeix un compte amb aquest número de telèfon.', + form_identifier_exists__username: "Ja existeix un compte amb aquest nom d'usuari.", form_identifier_not_found: 'No hem trobat cap compte amb aquests detalls.', form_new_password_matches_current: undefined, form_param_format_invalid: 'Format de paràmetre no vàlid.', @@ -989,7 +998,7 @@ export const caES: LocalizationResource = { form_param_type_invalid: undefined, form_param_type_invalid__email_address: undefined, form_param_type_invalid__phone_number: undefined, - form_param_value_invalid: undefined, + form_param_value_invalid: 'Valor no vàlid.', form_password_compromised__sign_in: undefined, form_password_incorrect: 'La contrasenya introduïda és incorrecta.', form_password_length_too_short: 'La teva contrasenya ha de tenir almenys 8 caràcters.', @@ -1009,18 +1018,20 @@ export const caES: LocalizationResource = { identification_deletion_failed: 'No pots eliminar la teva última identificació.', not_allowed_access: "L'adreça de correu electrònic o el número de telèfon no es permet registrar-se. Això podria ser degut a l'ús de '+', '=', '#' o '.' a la vostra adreça de correu electrònic, utilitzant un domini connectat amb un servei de correu electrònic temporal o bloquejant-se explícitament. Si creieu que es tracta d'un error, poseu-vos en contacte amb el servei d'assistència.", - organization_domain_blocked: undefined, - organization_domain_common: undefined, + organization_domain_blocked: "Aquest és un domini bloquejat, si us plau utilitza'n un altre.", + organization_domain_common: "Aquest és un domini habitual, si us plau utilitza'n un altre.", organization_domain_exists_for_enterprise_connection: undefined, - organization_membership_quota_exceeded: undefined, - organization_minimum_permissions_needed: undefined, + organization_membership_quota_exceeded: + "Has assolit el límit de membres de l'organització, incloses les invitacions pendents.", + organization_minimum_permissions_needed: + "Cal que hi hagi almenys un membre de l'organització amb els permisos mínims necessaris.", organization_not_found_or_unauthorized: undefined, organization_not_found_or_unauthorized_with_create_organization_disabled: undefined, - passkey_already_exists: undefined, - passkey_not_supported: undefined, - passkey_pa_not_supported: undefined, - passkey_registration_cancelled: undefined, - passkey_retrieval_cancelled: undefined, + passkey_already_exists: "Ja existeix una clau d'accés.", + passkey_not_supported: "Les claus d'accés no són compatibles.", + passkey_pa_not_supported: "La clau d'accés no és compatible amb l'autenticació de dispositius.", + passkey_registration_cancelled: "El registre de la clau d'accés ha estat cancel·lat.", + passkey_retrieval_cancelled: "La recuperació de la clau d'accés ha estat cancel·lada.", passwordComplexity: { maximumLength: 'menys de {{length}} caràcters', minimumLength: '{{length}} o més caràcters', @@ -1079,9 +1090,9 @@ export const caES: LocalizationResource = { }, userButton: { action__addAccount: 'Afegeix compte', - action__closeUserMenu: undefined, + action__closeUserMenu: "Tanca el menú d'usuari", action__manageAccount: 'Gestiona compte', - action__openUserMenu: undefined, + action__openUserMenu: "Obre el menú d'usuari", action__signOut: 'Tanca sessió', action__signOutAll: 'Tanca sessió de tots els comptes', }, @@ -1107,62 +1118,63 @@ export const caES: LocalizationResource = { }, billingPage: { paymentHistorySection: { - empty: undefined, - notFound: undefined, - tableHeader__amount: undefined, - tableHeader__date: undefined, - tableHeader__status: undefined, + empty: 'No hi ha historial de pagaments', + notFound: "No s'ha trobat l'intent de pagament", + tableHeader__amount: 'Import', + tableHeader__date: 'Data', + tableHeader__status: 'Estat', }, paymentMethodsSection: { - actionLabel__default: undefined, - actionLabel__remove: undefined, - add: undefined, - addSubtitle: undefined, - cancelButton: undefined, - formButtonPrimary__add: undefined, - formButtonPrimary__pay: undefined, - payWithTestCardButton: undefined, + actionLabel__default: 'Estableix com a predeterminat', + actionLabel__remove: 'Eliminar', + add: 'Afegeix nou mètode de pagament', + addSubtitle: 'Afegeix un nou mètode de pagament al teu compte.', + cancelButton: 'Cancel·lar', + formButtonPrimary__add: 'Afegeix mètode de pagament', + formButtonPrimary__pay: 'Pagar {{amount}}', + payWithTestCardButton: 'Paga amb targeta de prova', removeMethod: { - messageLine1: undefined, - messageLine2: undefined, - successMessage: undefined, - title: undefined, + messageLine1: "{{identifier}} s'eliminarà d'aquest compte.", + messageLine2: + "Ja no podràs usar aquest mètode de pagament i qualsevol subscripció recurrent que depengui d'ell deixarà de funcionar.", + successMessage: "{{paymentMethod}} s'ha eliminat del teu compte.", + title: 'Elimina mètode de pagament', }, - title: undefined, + title: 'Mètodes de pagament', }, start: { - headerTitle__payments: undefined, - headerTitle__plans: undefined, - headerTitle__statements: undefined, - headerTitle__subscriptions: undefined, + headerTitle__payments: 'Pagaments', + headerTitle__plans: 'Plans', + headerTitle__statements: 'Factures', + headerTitle__subscriptions: 'Subscripció', }, statementsSection: { - empty: undefined, - itemCaption__paidForPlan: undefined, - itemCaption__proratedCredit: undefined, - itemCaption__subscribedAndPaidForPlan: undefined, - notFound: undefined, - tableHeader__amount: undefined, - tableHeader__date: undefined, - title: undefined, - totalPaid: undefined, + empty: 'No hi ha factures per mostrar', + itemCaption__paidForPlan: 'Pagat pel pla {{plan}} {{period}}', + itemCaption__proratedCredit: 'Crèdit proporcional pel temps no utilitzat de la subscripció anterior', + itemCaption__subscribedAndPaidForPlan: 'Subscrit i pagat pel pla {{plan}} {{period}}', + notFound: 'Factura no trobada', + tableHeader__amount: 'Import', + tableHeader__date: 'Data', + title: 'Factures', + totalPaid: 'Total pagat', }, subscriptionsListSection: { - actionLabel__manageSubscription: undefined, - actionLabel__newSubscription: undefined, - actionLabel__switchPlan: undefined, - tableHeader__edit: undefined, - tableHeader__plan: undefined, - tableHeader__startDate: undefined, - title: undefined, + actionLabel__manageSubscription: 'Gestionar', + actionLabel__newSubscription: 'Subscriure un pla', + actionLabel__switchPlan: 'Canviar de pla', + tableHeader__edit: 'Editar', + tableHeader__plan: 'Pla', + tableHeader__startDate: "Data d'inici", + title: 'Subscripció', }, subscriptionsSection: { - actionLabel__default: undefined, + actionLabel__default: 'Gestionar', }, switchPlansSection: { - title: undefined, + title: 'Canviar de pla', }, - title: undefined, + title: 'Facturació', }, connectedAccountPage: { formHint: 'Selecciona un proveïdor per connectar el teu compte.', @@ -1283,11 +1295,11 @@ export const caES: LocalizationResource = { }, passkeyScreen: { removeResource: { - messageLine1: undefined, - title: undefined, + messageLine1: 'Estàs segur que vols eliminar aquest recurs?', + title: 'Eliminar recurs', }, - subtitle__rename: undefined, - title__rename: undefined, + subtitle__rename: "Introdueix el nou nom per a la clau d'accés.", + title__rename: "Reanomenar la clau d'accés", }, passwordPage: { checkboxInfoText__signOutOfOtherSessions: @@ -1379,10 +1391,10 @@ export const caES: LocalizationResource = { }, }, passkeysSection: { - menuAction__destructive: undefined, - menuAction__rename: undefined, + menuAction__destructive: "Elimina la clau d'accés", + menuAction__rename: "Reanomena la clau d'accés", primaryButton: undefined, - title: undefined, + title: "Claus d'accés", }, passwordSection: { primaryButton__setPassword: 'Estableix contrasenya', @@ -1433,7 +1445,7 @@ export const caES: LocalizationResource = { subtitle__unavailableWallets: 'No hi ha carteres Web3 disponibles.', successMessage: 'La cartera ha estat afegida al teu compte.', title: 'Afegeix cartera Web3', - web3WalletButtonsBlockButton: undefined, + web3WalletButtonsBlockButton: 'Connectar la cartera', }, }, waitlist: { From ea4227aab85ef6fc4d3c6dd78e85715ff8d7dc49 Mon Sep 17 00:00:00 2001 From: gdpr-labs Date: Mon, 27 Apr 2026 09:13:24 +0200 Subject: [PATCH 2/2] fix(localizations): fix Catalan spelling and add changeset - acepto -> accepto (correct Catalan verb form) - add patch changeset for @clerk/localizations --- .changeset/expand-ca-es-localization.md | 5 +++++ packages/localizations/src/ca-ES.ts | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/expand-ca-es-localization.md diff --git a/.changeset/expand-ca-es-localization.md b/.changeset/expand-ca-es-localization.md new file mode 100644 index 00000000000..d012753172e --- /dev/null +++ b/.changeset/expand-ca-es-localization.md @@ -0,0 +1,5 @@ +--- +'@clerk/localizations': patch +--- + +Expand the Catalan (`ca-ES`) localization by filling in previously undefined translations across billing, checkout, subscription management, cancellation flows, and related UI strings. diff --git a/packages/localizations/src/ca-ES.ts b/packages/localizations/src/ca-ES.ts index e1d7c7aa8a5..ab92189175a 100644 --- a/packages/localizations/src/ca-ES.ts +++ b/packages/localizations/src/ca-ES.ts @@ -817,10 +817,10 @@ export const caES: LocalizationResource = { }, legalConsent: { checkbox: { - label__onlyPrivacyPolicy: 'He llegit i acepto la Política de Privacitat', - label__onlyTermsOfService: 'He llegit i acepto els Termes del Servei', + label__onlyPrivacyPolicy: 'He llegit i accepto la Política de Privacitat', + label__onlyTermsOfService: 'He llegit i accepto els Termes del Servei', label__termsOfServiceAndPrivacyPolicy: - 'He llegit i acepto els {{ termsOfServiceLink || link("Termes del Servei") }} i la {{ privacyPolicyLink || link("Política de Privacitat") }}', + 'He llegit i accepto els {{ termsOfServiceLink || link("Termes del Servei") }} i la {{ privacyPolicyLink || link("Política de Privacitat") }}', }, continue: { subtitle: 'En continuar, acceptes les condicions esmentades.',