From 9337beaca6c934f1ec3d234af1fdf882640d9427 Mon Sep 17 00:00:00 2001 From: bde-maze Date: Fri, 16 May 2025 15:05:54 +0200 Subject: [PATCH 1/6] [update] - add missing french fr-FR locales for the billing elements --- packages/localizations/src/fr-FR.ts | 249 ++++++++++++++-------------- 1 file changed, 125 insertions(+), 124 deletions(-) diff --git a/packages/localizations/src/fr-FR.ts b/packages/localizations/src/fr-FR.ts index 91c52c15d51..f7516308926 100644 --- a/packages/localizations/src/fr-FR.ts +++ b/packages/localizations/src/fr-FR.ts @@ -15,93 +15,93 @@ import type { LocalizationResource } from '@clerk/types'; export const frFR: LocalizationResource = { locale: 'fr-FR', backButton: 'Retour', - badge__activePlan: undefined, - badge__canceledEndsAt: undefined, - badge__currentPlan: undefined, + badge__activePlan: "Actif", + badge__canceledEndsAt: "Annulé • Termine le {{ date | shortDate('fr-FR') }}", + badge__currentPlan: "Plan actuel", badge__default: 'Défaut', - badge__endsAt: undefined, - badge__expired: undefined, + badge__endsAt: "Termine le {{ date | shortDate('fr-FR') }}", + badge__expired: "Expiré", badge__otherImpersonatorDevice: "Autre dispositif d'imitation", badge__primary: 'Principal', - badge__renewsAt: undefined, + badge__renewsAt: "Renouvelle le {{ date | shortDate('fr-FR') }}", badge__requiresAction: 'Nécessite une action', - badge__startsAt: undefined, + badge__startsAt: "Débute le {{ date | shortDate('fr-FR') }}", badge__thisDevice: 'Cet appareil', badge__unverified: 'Non vérifié', - badge__upcomingPlan: undefined, + badge__upcomingPlan: 'À venir', badge__userDevice: 'Appareil utilisateur', badge__you: 'Vous', commerce: { - addPaymentMethod: undefined, - alwaysFree: undefined, - annually: undefined, - availableFeatures: undefined, - billedAnnually: undefined, - billedMonthlyOnly: undefined, - cancelSubscription: undefined, - cancelSubscriptionAccessUntil: undefined, - cancelSubscriptionNoCharge: undefined, - cancelSubscriptionTitle: undefined, - cannotSubscribeMonthly: undefined, + addPaymentMethod: "Ajouter une méthode de paiement", + alwaysFree: "Toujours gratuit", + annually: "Annuel", + availableFeatures: "Fonctionnalités disponibles", + billedAnnually: "Facturé annuellement", + billedMonthlyOnly: "Seulement facturé mensuellement", + cancelSubscription: "Annuler la souscription", + cancelSubscriptionAccessUntil: "Accès annulé jusqu'au", + cancelSubscriptionNoCharge: "Pas de charge", + cancelSubscriptionTitle: "Annuler la souscription", + cannotSubscribeMonthly: "Ne peut pas souscrire mensuellement", checkout: { - description__paymentSuccessful: undefined, - description__subscriptionSuccessful: undefined, - downgradeNotice: undefined, + description__paymentSuccessful: 'Votre paiement a été effectué avec succès.', + description__subscriptionSuccessful: 'Votre nouvel abonnement est prêt.', + downgradeNotice: 'Vous conserverez votre abonnement actuel et ses fonctionnalités jusqu\'à la fin du cycle de facturation, puis vous passerez à cet abonnement.', emailForm: { - subtitle: undefined, - title: undefined, + subtitle: 'Avant de pouvoir finaliser votre achat, vous devez ajouter une adresse e-mail où les reçus seront envoyés.', + title: 'Ajouter une adresse e-mail', }, lineItems: { - title__paymentMethod: undefined, - title__statementId: undefined, - title__subscriptionBegins: undefined, - title__totalPaid: undefined, - }, - perMonth: undefined, - title: undefined, - title__paymentSuccessful: undefined, - title__subscriptionSuccessful: undefined, - }, - creditRemainder: undefined, - defaultFreePlanActive: undefined, - free: undefined, - getStarted: undefined, - keepSubscription: undefined, - manage: undefined, - manageSubscription: undefined, - month: undefined, - monthly: undefined, - pay: undefined, - paymentMethods: undefined, + title__paymentMethod: 'Méthode de paiement', + title__statementId: 'Identifiant du relevé', + title__subscriptionBegins: 'L\'abonnement commence', + title__totalPaid: 'Total payé', + }, + perMonth: 'par mois', + title: 'Paiement', + title__paymentSuccessful: 'Le paiement a réussi !', + title__subscriptionSuccessful: 'Succès !', + }, + creditRemainder: "Crédit restant", + defaultFreePlanActive: "Vous êtes actuellement sur le plan gratuit", + free: "Gratuit", + getStarted: "Commencer", + keepSubscription: "Conserver l'abonnement", + manage: "Gérer", + manageSubscription: "Gérer l'abonnement", + month: "Mois", + monthly: "Mensuel", + pay: "Payer {{amount}}", + paymentMethods: "Méthodes de paiement", paymentSource: { applePayDescription: { - annual: undefined, - monthly: undefined, + annual: "Paiement annuel", + monthly: "Paiement mensuel", }, dev: { anyNumbers: undefined, - cardNumber: undefined, - cvcZip: undefined, - developmentMode: undefined, - expirationDate: undefined, - testCardInfo: undefined, + cardNumber: "Numéro de carte", + cvcZip: "CVC, ZIP", + developmentMode: "Mode de développement", + expirationDate: "Date d'expiration", + testCardInfo: "Informations de carte de test", }, }, - popular: undefined, + popular: "Populaire", pricingTable: { - billingCycle: undefined, - included: undefined, - }, - reSubscribe: undefined, - seeAllFeatures: undefined, - subscribe: undefined, - subtotal: undefined, - switchPlan: undefined, - switchToAnnual: undefined, - switchToMonthly: undefined, - totalDueToday: undefined, - viewFeatures: undefined, - year: undefined, + billingCycle: "Cycle de facturation", + included: "Inclus", + }, + reSubscribe: "Se réabonner", + seeAllFeatures: "Voir toutes les fonctionnalités", + subscribe: "S'abonner", + subtotal: "Total", + switchPlan: "Changer de plan", + switchToAnnual: "Passer à l'annuel", + switchToMonthly: "Passer au mensuel", + totalDueToday: "Total dû aujourd'hui", + viewFeatures: "Voir les fonctionnalités", + year: "An", }, createOrganization: { formButtonSubmit: 'Créer l’organisation', @@ -165,7 +165,7 @@ export const frFR: LocalizationResource = { 'Entrer une adresse e-mail appartenant à ce domaine pour recevoir un code et vérifier ce domaine.', formFieldLabel__organizationName: "Nom de l'organisation", formFieldLabel__organizationSlug: 'Slug URL', - formFieldLabel__passkeyName: undefined, + formFieldLabel__passkeyName: 'Nom de la clé de sécurité', formFieldLabel__password: 'Mot de passe', formFieldLabel__phoneNumber: 'Numéro de téléphone', formFieldLabel__role: 'Rôle', @@ -175,7 +175,7 @@ export const frFR: LocalizationResource = { action__signOut: 'Déconnexion', title: 'Connecté en tant que {{identifier}}', }, - maintenanceMode: undefined, + maintenanceMode: "Nous effectuons des travaux de maintenance, mais ne vous en inquiétez pas, cela ne devrait pas prendre plus de quelques minutes.", membershipRole__admin: 'Administrateur', membershipRole__basicMember: 'Membre', membershipRole__guestMember: 'Invité', @@ -197,39 +197,40 @@ export const frFR: LocalizationResource = { badge__unverified: 'Non vérifié', billingPage: { paymentSourcesSection: { - actionLabel__default: undefined, - actionLabel__remove: undefined, - add: undefined, - addSubtitle: undefined, - cancelButton: undefined, - formButtonPrimary__add: undefined, - formButtonPrimary__pay: undefined, - payWithTestCardButton: undefined, + actionLabel__default: "Rendre par défaut", + actionLabel__remove: "Supprimer", + add: "Ajouter une nouvelle méthode de paiement", + addSubtitle: "Ajoutez une nouvelle méthode de paiement à votre compte.", + cancelButton: "Annuler", + formButtonPrimary__add: "Ajouter une méthode de paiement", + formButtonPrimary__pay: "Payer {{amount}}", + payWithTestCardButton: "Payer avec une carte de test", removeResource: { - messageLine1: undefined, - messageLine2: undefined, - successMessage: undefined, - title: undefined, + messageLine1: '{{identifier}} sera supprimé de ce compte.', + messageLine2: 'Vous ne pourrez plus utiliser cette méthode de paiement et tous les abonnements récurrents qui en dépendent ne fonctionneront plus.', + successMessage: '{{paymentSource}} a été supprimé de votre compte.', + title: 'Supprimer une méthode de paiement', }, - title: undefined, + title: "Méthodes de paiement", }, start: { - headerTitle__plans: undefined, - headerTitle__statements: undefined, - headerTitle__subscriptions: undefined, + headerTitle__plans: "Plans", + headerTitle__statements: "Relevés", + headerTitle__subscriptions: "Abonnements", }, subscriptionsListSection: { - actionLabel__newSubscription: undefined, - actionLabel__switchPlan: undefined, - title: undefined, + actionLabel__newSubscription: "S'abonner à un plan", + actionLabel__switchPlan: "Changer de plan", + title: "Abonnement", }, subscriptionsSection: { - actionLabel__default: undefined, + actionLabel__default: "Gérer", + title: "Abonnements", }, switchPlansSection: { - title: undefined, + title: "Changer de plan", }, - title: undefined, + title: "Abonnements", }, createDomainPage: { subtitle: @@ -247,7 +248,7 @@ export const frFR: LocalizationResource = { }, membersPage: { action__invite: 'Inviter', - action__search: undefined, + action__search: 'Rechercher', activeMembersTab: { menuAction__remove: 'Supprimer', tableHeader__actions: 'Actions', @@ -288,7 +289,7 @@ export const frFR: LocalizationResource = { }, }, navbar: { - billing: undefined, + billing: 'Facturation', description: 'Gérer votre organisation.', general: 'Général', members: 'Membres', @@ -296,9 +297,9 @@ export const frFR: LocalizationResource = { }, plansPage: { alerts: { - noPermissionsToManageBilling: undefined, + noPermissionsToManageBilling: "Vous n'avez pas les permissions pour gérer la facturation de cette organisation.", }, - title: undefined, + title: "Plans", }, profilePage: { dangerSection: { @@ -404,7 +405,7 @@ export const frFR: LocalizationResource = { actionText: 'Vous ne pouvez pas accéder à votre compte ?', blockButton__backupCode: 'Utiliser un code de récupération', blockButton__emailCode: 'Recevoir un code par e-mail', - blockButton__passkey: undefined, + blockButton__passkey: 'Utiliser une clé de sécurité', blockButton__password: 'Utiliser le mot de passe', blockButton__phoneCode: 'Recevoir un code par téléphone', blockButton__totp: 'Utiliser un code d’application d’authentification', @@ -433,9 +434,9 @@ export const frFR: LocalizationResource = { title: 'Aucune méthode disponible', }, passkey: { - blockButton__passkey: undefined, - subtitle: undefined, - title: undefined, + blockButton__passkey: 'Utiliser votre clé de sécurité', + subtitle: "L'utilisation de votre clé de sécurité confirme votre identité. Votre appareil peut vous demander votre empreinte digitale, votre visage ou votre code de sécurité.", + title: 'Utiliser votre clé de sécurité', }, password: { actionLink: 'Réinitialiser le mot de passe', @@ -826,39 +827,39 @@ export const frFR: LocalizationResource = { }, billingPage: { paymentSourcesSection: { - actionLabel__default: undefined, - actionLabel__remove: undefined, - add: undefined, - addSubtitle: undefined, - cancelButton: undefined, - formButtonPrimary__add: undefined, - formButtonPrimary__pay: undefined, - payWithTestCardButton: undefined, + actionLabel__default: 'Rendre par défaut', + actionLabel__remove: 'Supprimer', + add: 'Ajouter une nouvelle méthode de paiement', + addSubtitle: 'Ajoutez une nouvelle méthode de paiement à votre compte.', + cancelButton: 'Annuler', + formButtonPrimary__add: 'Ajouter une méthode de paiement', + formButtonPrimary__pay: 'Payer {{amount}}', + payWithTestCardButton: 'Payer avec une carte de test', removeResource: { - messageLine1: undefined, - messageLine2: undefined, - successMessage: undefined, - title: undefined, + messageLine1: '{{identifier}} sera supprimé de ce compte.', + messageLine2: 'Vous ne pourrez plus utiliser cette méthode de paiement et tous les abonnements récurrents qui en dépendent ne fonctionneront plus.', + successMessage: '{{paymentSource}} a été supprimé de votre compte.', + title: 'Supprimer une méthode de paiement', }, - title: undefined, + title: 'Méthodes de paiement', }, start: { - headerTitle__plans: undefined, - headerTitle__statements: undefined, - headerTitle__subscriptions: undefined, + headerTitle__plans: 'Plans', + headerTitle__statements: 'Relevés', + headerTitle__subscriptions: 'Abonnement', }, subscriptionsListSection: { - actionLabel__newSubscription: undefined, - actionLabel__switchPlan: undefined, - title: undefined, + actionLabel__newSubscription: "S'abonner à un plan", + actionLabel__switchPlan: 'Changer de plan', + title: 'Abonnement', }, subscriptionsSection: { - actionLabel__default: undefined, + actionLabel__default: 'Gérer', }, switchPlansSection: { - title: undefined, + title: 'Changer de plan', }, - title: undefined, + title: 'Facturation', }, connectedAccountPage: { formHint: 'Sélectionnez un fournisseur pour connecter votre compte.', @@ -968,7 +969,7 @@ export const frFR: LocalizationResource = { mobileButton__menu: 'Menu', navbar: { account: 'Compte', - billing: undefined, + billing: 'Facturation', description: 'Gérer votre compte.', security: 'Sécurité', title: 'Profil', @@ -1006,7 +1007,7 @@ export const frFR: LocalizationResource = { verifyTitle: 'Vérification du numéro de téléphone', }, plansPage: { - title: undefined, + title: 'Plans', }, profilePage: { fileDropAreaHint: 'Téléchargez une image JPG, PNG, GIF ou WEBP inférieure à 10 Mo', @@ -1072,7 +1073,7 @@ export const frFR: LocalizationResource = { passkeysSection: { menuAction__destructive: 'Supprimer', menuAction__rename: 'Renommer', - primaryButton: undefined, + primaryButton: 'Ajouter une clé de sécurité', title: 'Clés de sécurité', }, passwordSection: { @@ -1099,7 +1100,7 @@ export const frFR: LocalizationResource = { }, web3WalletsSection: { destructiveAction: 'Supprimer le portefeuille', - detailsAction__nonPrimary: undefined, + detailsAction__nonPrimary: "Définir comme principal", primaryButton: 'Portefeuilles Web3', title: 'Portefeuilles Web3', }, From 9daa3a8187326cb41c4c47d2e1ef119198c28a4c Mon Sep 17 00:00:00 2001 From: bde-maze Date: Tue, 20 May 2025 11:58:27 +0200 Subject: [PATCH 2/6] [update] - add changeset + make sure projet's tests succeed --- .changeset/ninety-snails-rescue.md | 5 + packages/localizations/src/fr-FR.ts | 138 +++++++++++++++------------- 2 files changed, 77 insertions(+), 66 deletions(-) create mode 100644 .changeset/ninety-snails-rescue.md diff --git a/.changeset/ninety-snails-rescue.md b/.changeset/ninety-snails-rescue.md new file mode 100644 index 00000000000..3cc97dc89b0 --- /dev/null +++ b/.changeset/ninety-snails-rescue.md @@ -0,0 +1,5 @@ +--- +'@clerk/localizations': minor +--- + +Add missing French locales to support new Clerk's Billing feature diff --git a/packages/localizations/src/fr-FR.ts b/packages/localizations/src/fr-FR.ts index f7516308926..7443589d130 100644 --- a/packages/localizations/src/fr-FR.ts +++ b/packages/localizations/src/fr-FR.ts @@ -15,12 +15,12 @@ import type { LocalizationResource } from '@clerk/types'; export const frFR: LocalizationResource = { locale: 'fr-FR', backButton: 'Retour', - badge__activePlan: "Actif", + badge__activePlan: 'Actif', badge__canceledEndsAt: "Annulé • Termine le {{ date | shortDate('fr-FR') }}", - badge__currentPlan: "Plan actuel", + badge__currentPlan: 'Plan actuel', badge__default: 'Défaut', badge__endsAt: "Termine le {{ date | shortDate('fr-FR') }}", - badge__expired: "Expiré", + badge__expired: 'Expiré', badge__otherImpersonatorDevice: "Autre dispositif d'imitation", badge__primary: 'Principal', badge__renewsAt: "Renouvelle le {{ date | shortDate('fr-FR') }}", @@ -32,29 +32,31 @@ export const frFR: LocalizationResource = { badge__userDevice: 'Appareil utilisateur', badge__you: 'Vous', commerce: { - addPaymentMethod: "Ajouter une méthode de paiement", - alwaysFree: "Toujours gratuit", - annually: "Annuel", - availableFeatures: "Fonctionnalités disponibles", - billedAnnually: "Facturé annuellement", - billedMonthlyOnly: "Seulement facturé mensuellement", - cancelSubscription: "Annuler la souscription", + addPaymentMethod: 'Ajouter une méthode de paiement', + alwaysFree: 'Toujours gratuit', + annually: 'Annuel', + availableFeatures: 'Fonctionnalités disponibles', + billedAnnually: 'Facturé annuellement', + billedMonthlyOnly: 'Seulement facturé mensuellement', + cancelSubscription: 'Annuler la souscription', cancelSubscriptionAccessUntil: "Accès annulé jusqu'au", - cancelSubscriptionNoCharge: "Pas de charge", - cancelSubscriptionTitle: "Annuler la souscription", - cannotSubscribeMonthly: "Ne peut pas souscrire mensuellement", + cancelSubscriptionNoCharge: 'Pas de charge', + cancelSubscriptionTitle: 'Annuler la souscription', + cannotSubscribeMonthly: 'Ne peut pas souscrire mensuellement', checkout: { description__paymentSuccessful: 'Votre paiement a été effectué avec succès.', description__subscriptionSuccessful: 'Votre nouvel abonnement est prêt.', - downgradeNotice: 'Vous conserverez votre abonnement actuel et ses fonctionnalités jusqu\'à la fin du cycle de facturation, puis vous passerez à cet abonnement.', + downgradeNotice: + "Vous conserverez votre abonnement actuel et ses fonctionnalités jusqu'à la fin du cycle de facturation, puis vous passerez à cet abonnement.", emailForm: { - subtitle: 'Avant de pouvoir finaliser votre achat, vous devez ajouter une adresse e-mail où les reçus seront envoyés.', + subtitle: + 'Avant de pouvoir finaliser votre achat, vous devez ajouter une adresse e-mail où les reçus seront envoyés.', title: 'Ajouter une adresse e-mail', }, lineItems: { title__paymentMethod: 'Méthode de paiement', title__statementId: 'Identifiant du relevé', - title__subscriptionBegins: 'L\'abonnement commence', + title__subscriptionBegins: "L'abonnement commence", title__totalPaid: 'Total payé', }, perMonth: 'par mois', @@ -62,46 +64,46 @@ export const frFR: LocalizationResource = { title__paymentSuccessful: 'Le paiement a réussi !', title__subscriptionSuccessful: 'Succès !', }, - creditRemainder: "Crédit restant", - defaultFreePlanActive: "Vous êtes actuellement sur le plan gratuit", - free: "Gratuit", - getStarted: "Commencer", + creditRemainder: 'Crédit restant', + defaultFreePlanActive: 'Vous êtes actuellement sur le plan gratuit', + free: 'Gratuit', + getStarted: 'Commencer', keepSubscription: "Conserver l'abonnement", - manage: "Gérer", + manage: 'Gérer', manageSubscription: "Gérer l'abonnement", - month: "Mois", - monthly: "Mensuel", - pay: "Payer {{amount}}", - paymentMethods: "Méthodes de paiement", + month: 'Mois', + monthly: 'Mensuel', + pay: 'Payer {{amount}}', + paymentMethods: 'Méthodes de paiement', paymentSource: { applePayDescription: { - annual: "Paiement annuel", - monthly: "Paiement mensuel", + annual: 'Paiement annuel', + monthly: 'Paiement mensuel', }, dev: { anyNumbers: undefined, - cardNumber: "Numéro de carte", - cvcZip: "CVC, ZIP", - developmentMode: "Mode de développement", + cardNumber: 'Numéro de carte', + cvcZip: 'CVC, ZIP', + developmentMode: 'Mode de développement', expirationDate: "Date d'expiration", - testCardInfo: "Informations de carte de test", + testCardInfo: 'Informations de carte de test', }, }, - popular: "Populaire", + popular: 'Populaire', pricingTable: { - billingCycle: "Cycle de facturation", - included: "Inclus", + billingCycle: 'Cycle de facturation', + included: 'Inclus', }, - reSubscribe: "Se réabonner", - seeAllFeatures: "Voir toutes les fonctionnalités", + reSubscribe: 'Se réabonner', + seeAllFeatures: 'Voir toutes les fonctionnalités', subscribe: "S'abonner", - subtotal: "Total", - switchPlan: "Changer de plan", + subtotal: 'Total', + switchPlan: 'Changer de plan', switchToAnnual: "Passer à l'annuel", - switchToMonthly: "Passer au mensuel", + switchToMonthly: 'Passer au mensuel', totalDueToday: "Total dû aujourd'hui", - viewFeatures: "Voir les fonctionnalités", - year: "An", + viewFeatures: 'Voir les fonctionnalités', + year: 'An', }, createOrganization: { formButtonSubmit: 'Créer l’organisation', @@ -175,7 +177,8 @@ export const frFR: LocalizationResource = { action__signOut: 'Déconnexion', title: 'Connecté en tant que {{identifier}}', }, - maintenanceMode: "Nous effectuons des travaux de maintenance, mais ne vous en inquiétez pas, cela ne devrait pas prendre plus de quelques minutes.", + maintenanceMode: + 'Nous effectuons des travaux de maintenance, mais ne vous en inquiétez pas, cela ne devrait pas prendre plus de quelques minutes.', membershipRole__admin: 'Administrateur', membershipRole__basicMember: 'Membre', membershipRole__guestMember: 'Invité', @@ -197,40 +200,40 @@ export const frFR: LocalizationResource = { badge__unverified: 'Non vérifié', billingPage: { paymentSourcesSection: { - actionLabel__default: "Rendre par défaut", - actionLabel__remove: "Supprimer", - add: "Ajouter une nouvelle méthode de paiement", - addSubtitle: "Ajoutez une nouvelle méthode de paiement à votre compte.", - cancelButton: "Annuler", - formButtonPrimary__add: "Ajouter une méthode de paiement", - formButtonPrimary__pay: "Payer {{amount}}", - payWithTestCardButton: "Payer avec une carte de test", + actionLabel__default: 'Rendre par défaut', + actionLabel__remove: 'Supprimer', + add: 'Ajouter une nouvelle méthode de paiement', + addSubtitle: 'Ajoutez une nouvelle méthode de paiement à votre compte.', + cancelButton: 'Annuler', + formButtonPrimary__add: 'Ajouter une méthode de paiement', + formButtonPrimary__pay: 'Payer {{amount}}', + payWithTestCardButton: 'Payer avec une carte de test', removeResource: { messageLine1: '{{identifier}} sera supprimé de ce compte.', - messageLine2: 'Vous ne pourrez plus utiliser cette méthode de paiement et tous les abonnements récurrents qui en dépendent ne fonctionneront plus.', + messageLine2: + 'Vous ne pourrez plus utiliser cette méthode de paiement et tous les abonnements récurrents qui en dépendent ne fonctionneront plus.', successMessage: '{{paymentSource}} a été supprimé de votre compte.', title: 'Supprimer une méthode de paiement', }, - title: "Méthodes de paiement", + title: 'Méthodes de paiement', }, start: { - headerTitle__plans: "Plans", - headerTitle__statements: "Relevés", - headerTitle__subscriptions: "Abonnements", + headerTitle__plans: 'Plans', + headerTitle__statements: 'Relevés', + headerTitle__subscriptions: 'Abonnements', }, subscriptionsListSection: { actionLabel__newSubscription: "S'abonner à un plan", - actionLabel__switchPlan: "Changer de plan", - title: "Abonnement", + actionLabel__switchPlan: 'Changer de plan', + title: 'Abonnement', }, subscriptionsSection: { - actionLabel__default: "Gérer", - title: "Abonnements", + actionLabel__default: 'Gérer', }, switchPlansSection: { - title: "Changer de plan", + title: 'Changer de plan', }, - title: "Abonnements", + title: 'Abonnements', }, createDomainPage: { subtitle: @@ -297,9 +300,10 @@ export const frFR: LocalizationResource = { }, plansPage: { alerts: { - noPermissionsToManageBilling: "Vous n'avez pas les permissions pour gérer la facturation de cette organisation.", + noPermissionsToManageBilling: + "Vous n'avez pas les permissions pour gérer la facturation de cette organisation.", }, - title: "Plans", + title: 'Plans', }, profilePage: { dangerSection: { @@ -435,7 +439,8 @@ export const frFR: LocalizationResource = { }, passkey: { blockButton__passkey: 'Utiliser votre clé de sécurité', - subtitle: "L'utilisation de votre clé de sécurité confirme votre identité. Votre appareil peut vous demander votre empreinte digitale, votre visage ou votre code de sécurité.", + subtitle: + "L'utilisation de votre clé de sécurité confirme votre identité. Votre appareil peut vous demander votre empreinte digitale, votre visage ou votre code de sécurité.", title: 'Utiliser votre clé de sécurité', }, password: { @@ -837,7 +842,8 @@ export const frFR: LocalizationResource = { payWithTestCardButton: 'Payer avec une carte de test', removeResource: { messageLine1: '{{identifier}} sera supprimé de ce compte.', - messageLine2: 'Vous ne pourrez plus utiliser cette méthode de paiement et tous les abonnements récurrents qui en dépendent ne fonctionneront plus.', + messageLine2: + 'Vous ne pourrez plus utiliser cette méthode de paiement et tous les abonnements récurrents qui en dépendent ne fonctionneront plus.', successMessage: '{{paymentSource}} a été supprimé de votre compte.', title: 'Supprimer une méthode de paiement', }, @@ -1100,7 +1106,7 @@ export const frFR: LocalizationResource = { }, web3WalletsSection: { destructiveAction: 'Supprimer le portefeuille', - detailsAction__nonPrimary: "Définir comme principal", + detailsAction__nonPrimary: 'Définir comme principal', primaryButton: 'Portefeuilles Web3', title: 'Portefeuilles Web3', }, From 75eb04d835226d3cc83a6e3ae7e83a8da97e9140 Mon Sep 17 00:00:00 2001 From: bde-maze Date: Tue, 20 May 2025 12:00:10 +0200 Subject: [PATCH 3/6] [update] - changeset for four packages --- .changeset/salty-cycles-join.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .changeset/salty-cycles-join.md diff --git a/.changeset/salty-cycles-join.md b/.changeset/salty-cycles-join.md new file mode 100644 index 00000000000..76b00290a0a --- /dev/null +++ b/.changeset/salty-cycles-join.md @@ -0,0 +1,8 @@ +--- +'@clerk/chrome-extension': minor +'@clerk/clerk-js': minor +'@clerk/clerk-expo': minor +'@clerk/nextjs': minor +--- + +Add missing French locales to support new Clerk's Billing feature From 75f540a5e6ae6087d4e936f95b8331fdbd2ae568 Mon Sep 17 00:00:00 2001 From: Tom Milewski Date: Fri, 18 Jul 2025 15:02:37 -0400 Subject: [PATCH 4/6] chore: Change from minor to patch --- .changeset/ninety-snails-rescue.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/ninety-snails-rescue.md b/.changeset/ninety-snails-rescue.md index 3cc97dc89b0..9557f1f9b87 100644 --- a/.changeset/ninety-snails-rescue.md +++ b/.changeset/ninety-snails-rescue.md @@ -1,5 +1,5 @@ --- -'@clerk/localizations': minor +'@clerk/localizations': patch --- Add missing French locales to support new Clerk's Billing feature From e234c65d881d680393d3c68eaf5762c15e12c702 Mon Sep 17 00:00:00 2001 From: Tom Milewski Date: Fri, 18 Jul 2025 15:03:02 -0400 Subject: [PATCH 5/6] chore: Remove changeset --- .changeset/salty-cycles-join.md | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 .changeset/salty-cycles-join.md diff --git a/.changeset/salty-cycles-join.md b/.changeset/salty-cycles-join.md deleted file mode 100644 index 76b00290a0a..00000000000 --- a/.changeset/salty-cycles-join.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@clerk/chrome-extension': minor -'@clerk/clerk-js': minor -'@clerk/clerk-expo': minor -'@clerk/nextjs': minor ---- - -Add missing French locales to support new Clerk's Billing feature From 8358e1bdaf905b17296f005ea2e483ccda6c202e Mon Sep 17 00:00:00 2001 From: Tom Milewski Date: Fri, 18 Jul 2025 15:14:20 -0400 Subject: [PATCH 6/6] chore: Apply latest to fr-FR --- packages/localizations/src/fr-FR.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/localizations/src/fr-FR.ts b/packages/localizations/src/fr-FR.ts index 009cc996469..ce6097b94e6 100644 --- a/packages/localizations/src/fr-FR.ts +++ b/packages/localizations/src/fr-FR.ts @@ -55,6 +55,8 @@ export const frFR: LocalizationResource = { badge__endsAt: "Termine le {{ date | shortDate('fr-FR') }}", badge__expired: 'Expiré', badge__otherImpersonatorDevice: "Autre dispositif d'imitation", + badge__pastDueAt: undefined, + badge__pastDuePlan: undefined, badge__primary: 'Principal', badge__renewsAt: "Renouvelle le {{ date | shortDate('fr-FR') }}", badge__requiresAction: 'Nécessite une action', @@ -76,6 +78,7 @@ export const frFR: LocalizationResource = { cancelSubscriptionNoCharge: 'Pas de charge', cancelSubscriptionTitle: 'Annuler la souscription', cannotSubscribeMonthly: 'Ne peut pas souscrire mensuellement', + cannotSubscribeUnrecoverable: undefined, checkout: { description__paymentSuccessful: 'Votre paiement a été effectué avec succès.', description__subscriptionSuccessful: 'Votre nouvel abonnement est prêt.', @@ -133,10 +136,23 @@ export const frFR: LocalizationResource = { reSubscribe: 'Se réabonner', seeAllFeatures: 'Voir toutes les fonctionnalités', subscribe: "S'abonner", + subscriptionDetails: { + beginsOn: undefined, + currentBillingCycle: undefined, + endsOn: undefined, + nextPaymentAmount: undefined, + nextPaymentOn: undefined, + pastDueAt: undefined, + renewsAt: undefined, + subscribedOn: undefined, + title: undefined, + }, subtotal: 'Total', switchPlan: 'Changer de plan', switchToAnnual: "Passer à l'annuel", + switchToAnnualWithAnnualPrice: undefined, switchToMonthly: 'Passer au mensuel', + switchToMonthlyWithPrice: undefined, totalDue: undefined, totalDueToday: "Total dû aujourd'hui", viewFeatures: 'Voir les fonctionnalités',