ui.activity.sub=Qui a fait quoi, et quelles notifications automatiques ont été envoyées.
ui.activity.tab.audit=Journal d'audit
ui.activity.tab.notifications=Notifications
ui.activity.system=système
ui.activity.searchPh=Rechercher des actions, cibles, détails ou acteurs…
ui.activity.action=Action
ui.activity.allActions=Toutes les actions
ui.activity.actor=Acteur
ui.activity.actorPh=Nom ou identifiant de l'acteur
ui.activity.from=Du
ui.activity.to=Au
ui.activity.clearFilters=Effacer les filtres
ui.activity.exportCsv=Exporter en CSV
ui.activity.loadMore=Charger plus
ui.activity.loaded={0} chargés
ui.activity.end=C'est tout.
ui.activity.emptyBody=Chaque changement — émission, renouvellement, révocation, paramètres, équipe — est enregistré ici au fur et à mesure.
ui.activity.noMatchesBody=Essayez une autre recherche, une plage de dates plus large, ou effacez les filtres.
ui.activity.licensePh=Filtrer par clé de licence, ex. LIC-…
ui.activity.notice=Notification
ui.activity.sentAt=Envoyée
ui.activity.noNotices=Aucune notification envoyée pour l'instant
ui.activity.noNoticesBody=Les rappels d'expiration (30, 14 et 3 jours avant) et les alertes de limite de postes sont consignés ici lors de leur envoi.
ui.activity.aboutNotices=À propos de ces notifications
ui.activity.aboutBody1=Keyright envoie un e-mail au contact de la licence 30, 14 et 3 jours avant l'expiration, et vous prévient lorsqu'une licence atteint sa limite de postes. Chaque notification est envoyée une seule fois par licence.
ui.activity.aboutBody2=Qui reçoit quoi — et l'adresse d'expédition — se configure dans Paramètres › Alertes.
ui.activity.alertSettings=Paramètres des alertes
ui.activity.kind.expiry-30=Rappel d'expiration (30 jours)
ui.activity.kind.expiry-14=Rappel d'expiration (14 jours)
ui.activity.kind.expiry-3=Rappel d'expiration (3 jours)
ui.activity.kind.seat-limit=Limite de postes atteinte
ui.skip=Aller au contenu
ui.primaryNav=Navigation principale
ui.breadcrumb=Fil d'Ariane
ui.docs=Docs et assistance
ui.loading=Chargement…
ui.retry=Réessayer
ui.ok=OK
ui.cancel=Annuler
ui.close=Fermer
ui.confirm=Confirmer
ui.add=Ajouter
ui.remove=Supprimer
ui.open=Ouvrir
ui.more=Plus
ui.send=Envoyer
ui.done=Terminé
ui.none=Aucun
ui.active=Active
ui.manage=Gérer
ui.details=Détails
ui.viewAll=Tout voir
ui.notes=Notes
ui.order=Commande
ui.reseller=Revendeur
ui.edition=Édition
ui.term=Durée
ui.feature=Fonctionnalité
ui.value=Valeur
ui.required=Ce champ est obligatoire.
ui.nothingHere=Rien ici pour l'instant.
ui.notFound=Page introuvable
ui.notFoundBody=Cette page n'existe pas. Utilisez la navigation ou la recherche (Ctrl+K) pour trouver ce dont vous avez besoin.
ui.seePlans=Voir les offres
ui.locked=Verrouillé
ui.lockedNav=Inclus dans une offre supérieure — ouvrez pour voir les détails
ui.selfHosted=Auto-hébergé
ui.coming.title=Bientôt disponible.
ui.coming.body=Cette partie du produit est en cours de construction sur le volet couverture ; les contrôles sont affichés pour que vous puissiez voir ce qui est prévu.
ui.typeToConfirm=Saisissez {0} pour confirmer
ui.copyFailed=Impossible de copier dans le presse-papiers — sélectionnez le texte et copiez-le manuellement.
ui.selectAll=Sélectionner toutes les lignes
ui.selectRow=Sélectionner la ligne
ui.clearSelection=Effacer la sélection
ui.nSelected={0} sélectionné|{0} sélectionnés
ui.nLicenses={0} licence|{0} licences
ui.nSeats={0} poste|{0} postes
ui.pager=Affichage de {0}–{1} sur {2}
ui.prev=Précédent
ui.next=Suivant
ui.inDays=dans {0} jours
ui.expiresOn=expire {0}
ui.trialActive=Essai
ui.online=en ligne
ui.leaseRenewBy=bail à renouveler avant le
ui.seatsUsed={0} sur {1} postes utilisés
ui.seatsUsedOf={0} sur {1} postes utilisés
ui.seatsInUse={0} utilisés
ui.addSeats=Ajouter des postes
ui.dangerZone=Zone de danger
ui.kv.key=Clé
ui.kv.value=Valeur
ui.kv.add=Ajouter une ligne
ui.theme.toggle=Basculer le thème clair / sombre
ui.workspaceMenu=Menu de l'espace de travail
ui.accountMenu=Menu du compte ({0})
ui.actingAs=Affichage de {0} en tant qu'opérateur
ui.backToConsole=Retour à la console opérateur
ui.palette.title=Recherche et commandes
ui.palette.placeholder=Rechercher des licences, clients, produits — ou saisir une commande
ui.palette.none=Aucun résultat
ui.palette.actions=Actions
ui.palette.pages=Pages
ui.nav.customers=Clients
ui.nav.coverage=Versions et couverture
ui.nav.credits=Utilisation et crédits
ui.nav.resellers=Revendeurs
ui.nav.developers=Développeurs
ui.nav.activity=Activité
ui.role.owner=Propriétaire
ui.role.admin=Admin
ui.role.support=Support
ui.role.billing=Facturation
ui.role.viewer=Lecteur
ui.roleHint=Seul un {0} peut faire cela — demandez-lui si vous en avez besoin.
ui.err.generic=Une erreur s'est produite
ui.err.network=Impossible de joindre le serveur
ui.err.networkHint=Vérifiez votre connexion et réessayez. Si le problème persiste, le service est peut-être arrêté — voir Paramètres › Instance.
ui.err.401=Votre session a expiré
ui.err.402=Non inclus dans votre offre
ui.err.403=Vous n'avez pas l'autorisation
ui.err.404=Introuvable
ui.err.409=Cela entre en conflit avec l'état actuel
ui.err.429=Trop de requêtes — patientez une minute et réessayez
ui.err.500=Le serveur a rencontré une erreur
ui.err.errorId=identifiant d'erreur {0} (à citer à l'assistance)
ui.err.roleNeeds=Cette action nécessite le rôle {0}.
ui.lic.gated=Licence requise
ui.lic.grace=Licence expirée — lecture seule pendant encore {0} jours
ui.lic.expiring=La licence expire dans {0} jours
ui.lic.trialEnding=L'essai se termine dans {0} jours
ui.lic.manage=Gérer
ui.password=Mot de passe
ui.mfa.lead=Saisissez le code à 6 chiffres de votre application d'authentification.
ui.mfa.enrollLead=La connexion à deux facteurs est requise. Ajoutez ce compte à votre application d'authentification, puis saisissez le code qu'elle affiche.
ui.mfa.openApp=Ouvrir dans l'application d'authentification
ui.mfa.manual=Ou saisissez ce secret manuellement :
ui.mfa.code=Code d'authentification
ui.mfa.verify=Vérifier et se connecter
ui.mfa.wrongCode=Ce code ne correspond pas. Vérifiez l'heure de votre téléphone et essayez le code actuel.
ui.signin.hosted=Se connecter avec un compte hébergé
ui.sso.title=Authentification unique (SSO)
ui.sso.token=Jeton d'identité de votre fournisseur d'identité
ui.sso.hint=Collez le jeton d'identité OIDC émis par votre fournisseur d'identité pour cet espace de travail.
ui.sso.signIn=Se connecter avec SSO
ui.token.advanced=Avancé : se connecter avec un jeton d'accès
ui.token.hint=Pour les opérateurs et l'automatisation. Collez un jeton de membre d'équipe, un jeton de session ou le jeton admin.
ui.home.morning=Bonjour
ui.home.afternoon=Bon après-midi
ui.home.evening=Bonsoir
ui.home.attention=À traiter
ui.home.allClear=Tout est en ordre — rien ne requiert votre attention pour l'instant.
ui.home.expireSoon=expirent dans les 60 prochains jours.
ui.home.reviewRenewals=Voir les renouvellements
ui.home.devices=Appareils
ui.home.deviceCap={0} appareils actifs sur {1} dans votre offre.
ui.home.failing=En échec
ui.home.webhookFailing=Votre webhook d'événements compte {0} livraisons en échec. Dernière erreur : {1}
ui.home.openWebhook=Ouvrir le webhook
ui.home.instance=Instance
ui.home.setup=Configurer
ui.home.noProducts=Vous n'avez pas encore créé de produit — c'est la première étape.
ui.home.keyFigures=Chiffres clés
ui.home.ofTotal=sur {0} émises au total
ui.home.activeDevices=Appareils actifs
ui.home.ofPlan={0} % de votre offre {1}
ui.home.unlimited=Aucune limite d'appareils sur cette instance
ui.home.next60=dans les 60 prochains jours
ui.home.expiredN={0} expirées
ui.home.noTrend=Aucune licence émise pour l'instant
ui.home.noTrendBody=Les licences que vous émettez apparaîtront ici mois par mois.
ui.home.recent=Activité récente
ui.activity.none=Aucune activité pour l'instant
ui.setup.title=Terminer la configuration
ui.setup.progress={0} sur {1} terminées
ui.setup.product=Créez votre premier produit
ui.setup.edition=Ajoutez une édition (postes et fonctionnalités)
ui.setup.license=Émettez une licence
ui.setup.sdk=Ajoutez le SDK à votre application
ui.setup.viewSnippet=Voir l'extrait
ui.setup.activation=Voyez votre premier appareil s'activer
ui.setup.test=Tester
ui.setup.store=Connectez votre boutique pour que les commandes payées émettent des clés
ui.setup.webhook=Configurer le webhook
ui.registerRelease=Enregistrer une version
ui.licenses.sub=Émettez, retrouvez, renouvelez et assistez chaque licence que vous avez vendue.
ui.licenses.emptyBody=Émettez votre première licence, ou connectez votre boutique pour que les commandes payées émettent des clés automatiquement.
ui.noMatches=Aucune licence ne correspond
ui.noMatchesBody=Essayez une autre recherche ou effacez les filtres.
ui.export=Exporter
ui.export.licensesJson=Tout (JSON)
ui.export.usageCsv=Utilisation des postes (CSV)
ui.export.listCsv=Cette liste (CSV)
ui.importCsv=Importer un CSV
ui.import.help=Une licence par ligne : titulaire, postes, expiration (aaaa-mm-jj, vide = perpétuelle). La ligne d'en-tête est facultative.
ui.import.file=Fichier CSV
ui.import.run=Importer
ui.import.summary={0} sur {1} émises.
ui.issue.needProduct=Créez d'abord un produit — les licences appartiennent à un produit.
ui.issue.licenseePh=Entreprise ou personne
ui.issue.licenseeHint=Affiché sur la licence et dans le portail client.
ui.issue.emailHint=Adresse qui reçoit les avis de renouvellement et les liens de connexion au portail.
ui.issue.term=Durée
ui.issue.months=Mois
ui.issue.endsOn=Se termine le
ui.issue.advanced=Avancé : fonctionnalités personnalisées, notes, clé personnalisée
ui.issue.featuresHint=Remplace les fonctionnalités de l'édition pour cette licence uniquement.
ui.issue.customId=Clé personnalisée
ui.issue.customIdHint=Laissez vide pour générer une clé. À n'utiliser que pour importer une clé existante.
ui.issue.tierFeatures=Cette édition inclut : {0}
ui.issue.tierNoFeatures=Cette édition n'a aucun indicateur de fonctionnalité.
ui.issue.addFeature=Ajouter une fonctionnalité
ui.issue.done=Licence émise
ui.issue.doneBody=Remettez cette clé à {0}. Vous pourrez toujours la retrouver sur la page de la licence.
ui.issue.emailNote=Les avis de renouvellement seront envoyés à l'e-mail de contact.
ui.issue.another=En émettre une autre
ui.renew.addMonths=Prolonger de quelques mois
ui.renew.setDate=Définir une nouvelle date d'expiration
ui.renew.newExpiry=Nouvelle expiration
ui.renew.how=Comment
ui.renew.current=Expire actuellement {0}.
ui.renew.currentPerpetual=Actuellement perpétuelle — définir une date la transforme en licence à durée limitée.
ui.renew.done=Renouvelée — expire désormais {0}.
ui.seats.lead={0} sur {1} postes sont utilisés.
ui.seats.note=Les postes ajoutés en cours de période partagent l'expiration de la licence.
ui.revoke.body={0} passera à l'état sans licence à sa prochaine vérification (dans la période du bail, ou immédiatement si en ligne). Tous ses appareils seront libérés.
ui.revoke.note=Cette action est irréversible. Pour arrêter un seul appareil, libérez plutôt son poste dans l'onglet Appareils.
ui.revoke.done=Licence révoquée
ui.transfer.title=Transférer la propriété
ui.transfer.lead=Transférez cette licence de {0} à un nouveau titulaire. La clé reste la même ; le changement est consigné dans l'historique.
ui.transfer.to=Nouveau titulaire
ui.transfer.toPh=Nouvelle entreprise ou personne
ui.transfer.do=Transférer
ui.transfer.done=Propriété transférée
ui.transfer.history=Historique de propriété
ui.transfer.none=Jamais transférée.
ui.sendPortalLink=Envoyer le lien du portail
ui.portalLink.noEmail=Cette licence n'a pas d'e-mail de contact — ajoutez-en un avant d'envoyer un lien vers le portail.
ui.portalLink.body=Envoyer par e-mail un lien de connexion au portail client à {0} ?
ui.portalLink.sent=Si {0} possède des licences, un lien de connexion est en route.
ui.licenseFile=Fichier de licence
ui.offline.fileTitle=Fichier de licence hors ligne
ui.offline.fileHelp=Un fichier signé que le client peut importer dans l'application sans connexion Internet. Il contient les conditions et fonctionnalités de la licence ; il n'occupe pas de poste.
ui.offline.downloadFile=Télécharger le fichier de licence
ui.offline.machinePh=Collez l'identifiant machine obtenu avec `keyright machine-id`
ui.offline.machineHint=Le client exécute `keyright machine-id` sur la machine isolée et vous envoie l'identifiant.
ui.offline.days=Valide pendant (jours)
ui.bulk.revokeBody=Révoquer {0} licences ? Chaque client passera à l'état sans licence et ses appareils seront libérés.
ui.bulk.revoked={0} sur {1} révoquées
ui.freeSeat.title=Libérer ce poste ?
ui.freeSeat.body={0} devra s'activer à nouveau à son prochain démarrage.
ui.freeSeat.done=Poste libéré
ui.devices.emptyBody=Les appareils apparaissent ici lorsque l'application s'active avec cette clé.
ui.tab.overview=Vue d'ensemble
ui.tab.devices=Appareils
ui.tab.coverage=Couverture
ui.tab.credits=Crédits
ui.tab.history=Historique
ui.cov.customerSees=Ce que voit le client
ui.cov.manage=Gérer la couverture
ui.cov.change=Modifier la couverture…
ui.cov.changeLead=Choisissez ce que la licence de ce client inclut. La couverture ne peut que s'étendre — rien de ce qu'il peut utiliser aujourd'hui ne lui est retiré.
ui.cov.apply=Appliquer
ui.cov.applied=Couverture mise à jour
ui.cov.sentenceNote=Affiché dans le portail client et renvoyé à l'application par le SDK. La formulation suit la politique de couverture du produit.
ui.cov.lockedNote=La couverture des versions est incluse dans une offre supérieure. Vous pouvez voir ce qui est configuré ; les modifications nécessitent une mise à niveau.
ui.cov.lockTitle=La couverture des versions fait partie de l'offre la plus élevée.
ui.cov.lockBody=Vous pouvez explorer, rédiger une politique et vérifier n'importe quelle licence ici ; l'activer pour vos clients nécessite une mise à niveau. Rien ne change pour vos clients d'ici là.
ui.cov.policy=Politique
ui.cov.newestUsable=Version la plus récente utilisable
ui.cov.noneCovered=aucune des versions enregistrées
ui.cov.noRegistry=enregistrez des versions pour voir ceci
ui.cov.noRegistryLong=Aucune version enregistrée pour l'instant. L'enregistrement est facultatif — il active les messages « version la plus récente utilisable » et les décomptes de couverture par version.
ui.cov.enforcement=Application
ui.cov.enforced=Appliquée
ui.cov.paused=En pause — tout est autorisé
ui.cov.notConfigured=Non configurée — toutes les versions sont autorisées
ui.cov.checker=Vérificateur de couverture
ui.cov.checkerLead=Demandez « cette licence peut-elle utiliser la version X ? » exactement comme le feraient l'application et votre page de téléchargement.
ui.cov.version=Version
ui.cov.versionHint=Version sémantique, ex. 2.5.0 (les suffixes de préversion sont ignorés pour la couverture).
ui.cov.releasedOn=Publiée le
ui.cov.releasedOnHint=Laissez vide pour utiliser la date de publication enregistrée.
ui.cov.check=Vérifier
ui.cov.covered=Couverte.
ui.cov.notCovered=Non couverte.
ui.cov.appWillSay=L'application affichera :
ui.cov.r.covered=Cette licence inclut cette version.
ui.cov.r.notConfigured=La couverture n'est pas configurée sur cette licence, toutes les versions sont donc autorisées.
ui.cov.r.unavailable=La couverture n'a pas pu être évaluée.
ui.cov.r.range=Cette version est en dehors de la ligne de versions incluse dans cette licence.
ui.cov.r.window=Cette version a été publiée après la fin des mises à jour de cette licence.
ui.cov.r.newest=La version la plus récente utilisable est {0}.
ui.cov.history=Historique de couverture
ui.cov.historyNote=Récapitulatif en langage clair de ce que cette licence a inclus au fil du temps.
ui.cov.noHistory=Aucune couverture enregistrée pour l'instant — cette licence autorise toutes les versions.
ui.cov.superseded=remplacée
ui.cov.advanced=Avancé : historique de couverture (technique)
ui.cov.advancedNote=Pour l'équipe d'assistance. Chaque ligne est une condition de couverture ; supprimer une condition réduit la couverture et est consigné. Préférez « Modifier la couverture » ci-dessus.
ui.cov.pause=Suspendre l'application
ui.cov.resume=Reprendre l'application
ui.cov.pauseTitle=Suspendre l'application pour cette licence ?
ui.cov.pauseBody=Pendant la pause, l'application considère toutes les versions comme couvertes. Utile pour débloquer un client le temps de régler ses conditions.
ui.cov.resumeTitle=Reprendre l'application ?
ui.cov.resumeBody=L'application fera à nouveau respecter les conditions de couverture enregistrées à sa prochaine actualisation.
ui.cov.removeTitle=Supprimer cette condition de couverture ?
ui.cov.removeBody=Le client peut perdre l'accès aux versions couvertes par cette condition. Ceci est consigné dans l'historique et irréversible — ajoutez une nouvelle condition pour rétablir la couverture.
ui.cov.addCustom=Ajouter une condition personnalisée
ui.cov.addCustomLead=Pour les cas particuliers. Laissez les champs vides pour « indifférent ». Les dates sont des dates calendaires incluses.
ui.cov.downloadBlock=Télécharger le fichier de couverture signé
ui.cov.seq=Couverture version {0}
ui.cov.refPh=n° de commande, ticket…
ui.cov.t.versions=Versions
ui.cov.t.dates=Dates
ui.cov.t.channel=Canal
ui.cov.t.reason=Motif
ui.cov.t.any=indifférent
ui.cov.t.minVersion=À partir de la version (incluse)
ui.cov.t.maxVersion=Jusqu'à la version (exclue)
ui.cov.t.from=Date de début
ui.cov.t.to=Date de fin
ui.cov.t.ref=Référence
ui.cov.reason.purchase=Achat
ui.cov.reason.renewal=Renouvellement
ui.cov.reason.upgrade=Mise à niveau
ui.cov.reason.promo=Promotion
ui.cov.reason.fallback=Repli d'abonnement
ui.cov.reason.migration=Migration
ui.cov.reason.legacy=Client existant
ui.cov.releases=Versions
ui.cov.datedAs=compte comme {0}
ui.cov.howItWorks=Comment fonctionne la couverture
ui.cov.howBody1=Une licence inclut un ensemble de versions — une ligne de versions, une fenêtre temporelle, ou les deux. L'application compare la version qu'elle exécute à cet ensemble et actualise sa licence avant de refuser quoi que ce soit.
ui.cov.howBody2=Les renouvellements et mises à niveau prennent effet silencieusement au lancement suivant. Les clients n'ont jamais à ressaisir leur clé.
ui.cov.line={0} {1}
ui.cov.s.lifetime=Mises à jour à vie incluses.
ui.cov.s.major=Votre licence couvre toutes les versions {0}.
ui.cov.s.majorPlus=Votre licence couvre toutes les versions {0}, ainsi que toute nouvelle version publiée jusqu'au {1}.
ui.cov.s.dateRegistry=Votre licence inclut les mises à jour jusqu'au {0}. La version la plus récente que vous pouvez utiliser est {1}.
ui.cov.s.date=Votre licence couvre les versions publiées jusqu'au {0} inclus.
ui.cov.s.subFallback=Votre abonnement a pris fin le {0}. Vous pouvez continuer à utiliser les versions publiées avant cette date.
ui.cov.s.pinned=Votre licence couvre la version {0}.
ui.cov.s.none=Toutes les versions sont incluses.
ui.cov.s.custom=Votre licence couvre un ensemble personnalisé de versions — voir les détails ci-dessous.
ui.cov.b.lifetime=Un client qui achète aujourd'hui peut utiliser toutes les versions, pour toujours.
ui.cov.b.major=Un client qui achète aujourd'hui peut utiliser toutes les versions {0}, pour toujours. Les versions majeures suivantes nécessitent une mise à niveau.
ui.cov.b.majorPlus=Un client qui achète aujourd'hui peut utiliser toutes les versions {0}, ainsi que toute version publiée avant le {1} — y compris la prochaine majeure. Sa copie continue de fonctionner pour toujours.
ui.cov.b.period=Un client qui achète aujourd'hui peut utiliser toute version publiée avant le {0}. Sa copie continue de fonctionner pour toujours.
ui.cov.b.pinned=Le client peut utiliser uniquement la version {0}.
ui.cov.b.none=Aucune condition de couverture pour l'instant.
ui.cov.b.custom=Un ensemble personnalisé de versions.
ui.cov.m.windowReg=Cette version ({0}) a été publiée après la fin de vos mises à jour le {1}. Vous pouvez continuer à utiliser {2}. Renouvelez pour utiliser {0}.
ui.cov.m.window=Cette version ({0}) a été publiée après la fin de vos mises à jour le {1}. Renouvelez pour utiliser {0}.
ui.cov.m.rangeReg=Cette version ({0}) n'est pas incluse dans votre licence {1}. Vous pouvez continuer à utiliser {2}. Passez à la version supérieure pour utiliser {0}.
ui.cov.m.range=Cette version ({0}) n'est pas incluse dans votre licence {1}. Passez à la version supérieure pour utiliser {0}.
ui.cov.p.lifetime=Mises à jour à vie
ui.cov.p.lifetimeD=Toutes les versions, pour toujours.
ui.cov.p.period=Mises à jour pendant une période
ui.cov.p.periodD=Toute version publiée dans une fenêtre après l'achat ; la copie continue de fonctionner pour toujours.
ui.cov.p.major=Une version majeure
ui.cov.p.majorD=Toutes les versions d'une même majeure, ex. toutes les 2.x.
ui.cov.p.majorPlus=Une majeure + protection de mise à niveau
ui.cov.p.majorPlusD=Une majeure pour toujours, plus tout ce qui est publié dans une fenêtre — y compris la prochaine majeure.
ui.cov.p.sub=Abonnement
ui.cov.p.subD=Tout tant que l'abonnement est actif ; rien après son expiration.
ui.cov.p.subFb=Abonnement avec repli
ui.cov.p.subFbD=Comme Abonnement, mais après expiration le client conserve les versions publiées pendant qu'il payait.
ui.cov.p.pinned=Version figée
ui.cov.p.custom=Personnalisée
ui.cov.whatIncluded=Que comprend la licence ?
ui.cov.q.major=Quelle version majeure ?
ui.cov.q.majorHint=Les nouvelles licences couvrent toutes les versions {0}.x.
ui.cov.q.months=Mises à jour pendant (mois après l'achat)
ui.cov.q.monthsHint=Toute version publiée dans cette fenêtre est incluse, même une nouvelle majeure.
ui.cov.q.term=Durée (mois)
ui.cov.channelStable=Versions stables uniquement
ui.cov.channelBeta=Inclure le canal bêta
ui.cov.defaults=Valeurs par défaut raisonnables (à modifier seulement si nécessaire)
ui.cov.d.downgrade=Droit de rétrogradation
ui.cov.d.downgradeD=les clients peuvent toujours exécuter des versions plus anciennes.
ui.cov.d.hotfix=Les correctifs conservent la date de leur version de base
ui.cov.d.hotfixD=un correctif de sécurité 2.4.1 reste couvert même après la fin de la fenêtre.
ui.cov.d.gap=Les renouvellements tardifs couvrent l'intervalle
ui.cov.d.gapD=désactivé : les versions publiées entre l'expiration et le renouvellement restent exclues.
ui.cov.d.beta=Inclure les builds bêta
ui.cov.d.betaD=désactivé : les préversions nécessitent un droit bêta distinct.
ui.cov.buyerGets=Ce qu'obtient un acheteur
ui.cov.theyRead=Ce qu'il lira
ui.cov.ifTheyOpen=S'il ouvre {0} plus tard
ui.cov.previewNote=La formulation suit les messages du produit ; les dates s'affichent dans la langue du client.
ui.cov.e.title=Quand un client exécute une version qu'il ne possède pas
ui.cov.e.inform=Simplement l'informer
ui.cov.e.informD=l'application s'exécute ; elle affiche le message et un lien de renouvellement ou de mise à niveau.
ui.cov.e.readOnly=Exécuter en lecture seule
ui.cov.e.readOnlyD=l'application s'ouvre mais l'enregistrement et l'export sont désactivés jusqu'au renouvellement ou à la mise à niveau.
ui.cov.e.block=Bloquer
ui.cov.e.blockD=l'application affiche le message et n'ouvre pas l'espace de travail.
ui.cov.e.note=Ne redemande jamais la clé et ne se réactive jamais. Les renouvellements s'appliquent silencieusement au lancement suivant.
ui.cov.hubSub=Enregistrez des versions, décidez ce que chaque édition inclut et vérifiez n'importe quelle licence.
ui.cov.needProduct=Créez d'abord un produit — les versions et la couverture appartiennent à un produit.
ui.cov.policyTab=Politique de couverture
ui.cov.readiness=Préparation à l'application
ui.cov.registered=Versions enregistrées
ui.cov.countsAs=Compte comme publiée le
ui.cov.countsAsHint=Pour un correctif, choisissez la date de la version de base afin qu'il reste couvert pour tous ceux qui possédaient cette version.
ui.cov.hotfixDated=datée comme la version de base
ui.cov.sameDate=identique à la date de publication
ui.cov.whoCovered=Couverte pour
ui.cov.countsComing=décomptes à venir avec le volet couverture
ui.cov.noReleases=Aucune version enregistrée
ui.cov.noReleasesBody=Enregistrez des versions depuis votre CI ou ici. C'est facultatif, mais cela alimente les messages « version la plus récente utilisable ».
ui.cov.fromCi=Enregistrer depuis la CI
ui.cov.fromCiBody=Ajoutez cette étape à votre pipeline de publication pour que chaque build soit enregistré automatiquement.
ui.cov.whyRegister=Pourquoi enregistrer les versions ?
ui.cov.whyRegisterBody=La couverture fonctionne sans registre. Avec un registre, les clients voient la version la plus récente qu'ils peuvent utiliser, les correctifs peuvent être datés comme leur version de base, et vous pouvez prévisualiser pour qui une version est couverte.
ui.cov.register=Enregistrer
ui.cov.registeredToast=Version {0} enregistrée
ui.cov.previewComing=L'aperçu « couverte pour N clients / non couverte pour M » arrive avec le volet couverture.
ui.cov.policyFor=Politique de couverture pour {0}
ui.cov.policyLead=Décidez quelles versions une nouvelle licence de cette édition peut utiliser. Les clients existants conservent les conditions qu'ils ont achetées.
ui.cov.policyComing=L'enregistrement d'une politique par édition (appliquée automatiquement à l'émission) est en cours de construction sur le volet couverture. D'ici là, appliquez une politique par licence depuis l'onglet Couverture de la licence.
ui.cov.questions=Quelques questions rapides
ui.cov.existing=Clients existants
ui.cov.existingLead=Enregistrer cette politique n'affecte que les nouvelles licences. Tous ceux qui ont déjà acheté conservent exactement ce qu'ils ont acheté. Vous pouvez appliquer les nouvelles conditions aux clients existants séparément, avec un aperçu des personnes concernées.
ui.cov.previewAffected=Prévisualiser les clients concernés…
ui.cov.applyComing=à venir avec le volet couverture
ui.cov.savePolicy=Enregistrer la politique
ui.cov.saveComing=L'enregistrement arrive avec le volet couverture. Tout ce qui précède prévisualise ce que les clients obtiendront.
ui.cov.readinessTitle=Avant d'activer l'application
ui.cov.readinessLead=L'application ne bloque jamais un client existant : les licences émises avant la couverture reçoivent d'abord une condition rétroactive. Procédez dans l'ordre.
ui.cov.r1=Politiques rédigées pour chaque édition
ui.cov.r2=Votre application embarque le SDK 2.5+ avec RequireCoverage et une version de publication intégrée
ui.cov.r3=Chaque licence plus ancienne a une date de fin de couverture (importez un CSV, ou considérez-les comme à vie)
ui.cov.readinessComing=L'import, l'export et l'activation en un clic arrivent avec le volet couverture.
ui.cov.importCsv=Importer les dates de couverture (CSV)
ui.cov.exportOffline=Exporter les fichiers de licence hors ligne
ui.cov.turnOn=Activer l'application
ui.cov.sdkTitle=Dans votre build
ui.cov.sdkBody=Définissez ces propriétés MSBuild dans votre pipeline de publication pour que l'application sache quelle version elle est.
ui.cov.sdkMore=Plus d'informations dans Développeurs › Couverture
ui.cov.g.major=toutes les versions {0}
ui.cov.g.range=versions {0} jusqu'à {1}
ui.cov.g.between=publiées du {0} au {1}
ui.cov.g.through=publiées jusqu'au {0}
ui.cov.g.from=publiées à partir du {0}
ui.cov.g.everything=toutes les versions, pour toujours
ui.cov.g.channel=canal {0}
ui.act.license.issue=Licence émise
ui.act.license.activate=Appareil activé
ui.act.license.free-seat=Poste libéré
ui.act.license.deactivate=Appareil libéré
ui.act.license.revoke=Licence révoquée
ui.act.license.bulk-revoke=Licences révoquées (en masse)
ui.act.license.bulk-seats=Postes modifiés (en masse)
ui.act.license.renew=Licence renouvelée
ui.act.license.transfer=Propriété transférée
ui.act.license.offline-lease=Bail hors ligne émis
ui.act.license.file=Fichier de licence téléchargé
ui.act.coverage.grant=Couverture ajoutée
ui.act.coverage.revoke=Condition de couverture supprimée
ui.act.coverage.mode=Application de la couverture modifiée
ui.act.coverage.preset=Politique de couverture appliquée
ui.act.release.register=Version enregistrée
ui.act.product.upsert=Produit enregistré
ui.act.product.signing-key.generate=Clé de signature générée
ui.act.product.signing-key.rotate=Clé de signature renouvelée
ui.act.product.trial=Paramètres d'essai modifiés
ui.act.tier.upsert=Édition enregistrée
ui.act.tier.delete=Édition supprimée
ui.act.team.create=Membre d'équipe ajouté
ui.act.team.update=Membre d'équipe mis à jour
ui.act.team.set-enabled=Membre d'équipe activé/désactivé
ui.act.team.delete=Membre d'équipe retiré
ui.act.team.set-password=Mot de passe défini
ui.act.team.reset-mfa=Deux facteurs réinitialisés
ui.act.reseller.create=Revendeur créé
ui.act.reseller.update=Revendeur mis à jour
ui.act.workspace.update=Espace de travail mis à jour
ui.act.alerts.smtp.update=Paramètres e-mail enregistrés
ui.act.alerts.rule.update=Règle d'alerte enregistrée
ui.act.webhook-secret.rotate=Secret du webhook renouvelé
ui.act.event-webhook.set=Webhook d'événements défini
ui.act.event-webhook.disable=Webhook d'événements désactivé
ui.act.credits.pool.create=Réserve de crédits créée
ui.act.credits.grant=Crédits accordés
ui.act.credits.topup=Crédits rechargés
ui.act.credits.transfer=Crédits transférés
ui.act.credits.cost.set=Coût d'action défini
ui.act.credits.cost.delete=Coût d'action supprimé
ui.act.credits.block.issue=Bloc de crédits hors ligne émis
ui.act.credits.block.reconcile=Bloc de crédits hors ligne rapproché
ui.noscript=Cette application nécessite JavaScript. Activez-le dans votre navigateur, ou utilisez l'API HTTP documentée dans docs/api-reference.md.
ui.credits.sub=Réserves de crédits, consommation et coût de chaque action — pour toutes vos licences.
ui.credits.unitDefault=crédits
ui.credits.amount=Montant ({0})
ui.credits.amountInvalid=Saisissez un nombre entier supérieur à zéro.
ui.credits.amountMax=C'est plus que les {0} disponibles.
ui.credits.balance=Solde
ui.credits.balanceNow=Le solde est désormais de {0}.
ui.credits.policy=Politique
ui.credits.source=Étiquette de source
ui.credits.sourceHint=Texte libre, ex. purchased ou promotional. L'ordre de consommation de la réserve peut dépenser une étiquette avant une autre.
ui.credits.expiresOn=Ces crédits expirent le
ui.credits.advanced=Avancé : clé d'idempotence
ui.credits.idem=Clé d'idempotence
ui.credits.idemHint=Facultatif. Répéter une requête avec la même clé ne l'applique qu'une fois — vous pouvez réessayer sans risque après un délai d'attente.
ui.credits.idemSkipped=Déjà appliqué — une requête avec cette clé a déjà été traitée.
ui.credits.newPool=Nouvelle réserve
ui.credits.searchPh=Rechercher des réserves par nom, licence, produit ou unité
ui.credits.filterLicense=Licence {0}
ui.credits.noMatches=Aucune réserve ne correspond
ui.credits.openLicense=Ouvrir la licence
ui.credits.notFound=Cette réserve de crédits n'existe pas (ou appartient à un autre espace de travail).
ui.credits.unitIs=comptée en {0}
ui.credits.licenseLink=licence {0}
ui.credits.usedOf={0} utilisés sur {1} accordés au total
ui.credits.noEntitledYet=Rien d'accordé pour l'instant — accordez ou rechargez pour donner un solde à cette réserve.
ui.credits.lowAt=Alerte de solde bas à {0}
ui.credits.generatedAt=au {0}
ui.credits.col.pool=Réserve
ui.credits.exhausted=Épuisée
ui.credits.low=Solde bas
ui.credits.healthy=Saine
ui.credits.tab.overview=Vue d'ensemble
ui.credits.tab.pools=Réserves
ui.credits.tab.events=Événements
ui.credits.tab.pricing=Tarification
ui.credits.overage.hard=S'arrête à zéro
ui.credits.overage.soft=Avertit et continue au-delà de zéro
ui.credits.overage.auto=Demande une recharge à votre facturation à zéro
ui.credits.cadence.never=Ne se réinitialise jamais
ui.credits.cadence.daily=Réinitialisation quotidienne
ui.credits.cadence.monthly=Réinitialisation mensuelle
ui.credits.cadence.billing=Réinitialisation à chaque cycle de facturation
ui.credits.status.ok=Terminé.
ui.credits.status.insufficient=Crédits insuffisants.
ui.credits.status.notToppable=Cette réserve n'accepte pas les recharges.
ui.credits.pol.resets={0}
ui.credits.pol.noReset=jamais réinitialisée
ui.credits.pol.toppable=recharges autorisées
ui.credits.pol.quota=quota fixe (pas de recharge)
ui.credits.pol.rollover=les crédits non utilisés sont reportés
ui.credits.pol.expires=expire {0}
ui.credits.f.topups=Recharges
ui.credits.f.allowed=Autorisées
ui.credits.f.notAllowed=Non autorisées — cette réserve est un quota fixe
ui.credits.f.rollover=Report des crédits non utilisés
ui.credits.f.yes=Oui
ui.credits.f.no=Non — les crédits non utilisés sont perdus à la réinitialisation
ui.credits.f.onLicenseExpiry=À l'expiration de la licence
ui.credits.f.stops=Les crédits cessent de fonctionner
ui.credits.f.survives=Les crédits continuent de fonctionner (reconquête)
ui.credits.f.burnDefault=Les plus proches de l'expiration d'abord (par défaut)
ui.credits.how.title=Comment fonctionnent les crédits
ui.credits.how.body1=Une réserve de crédits est un solde sur une licence. Votre application nomme une action (« image.generate »), Keyright la tarifie d'après la grille du produit et la déduit de la bonne réserve — de façon atomique, deux requêtes ne peuvent donc jamais dépenser le même crédit.
ui.credits.how.body2=Lorsqu'une réserve est basse ou épuisée, Keyright émet un événement (et un webhook) avec une recharge suggérée. La facturation du client reste dans votre système de facturation ; Keyright n'encaisse jamais de paiement.
ui.credits.how.pricingLink=Définir le coût de chaque action
ui.credits.ov.entitled=Accordés
ui.credits.ov.consumed=Consommés
ui.credits.ov.balance=Disponibles
ui.credits.ov.pools=Réserves
ui.credits.ov.pctOfEntitled={0} % du total accordé
ui.credits.ov.mixedUnits=unités mixtes — les totaux additionnent des réserves d'unités différentes
ui.credits.ov.nExhausted={0} réserve est épuisée|{0} réserves sont épuisées
ui.credits.ov.allHealthy=aucune épuisée
ui.credits.ov.byPool=Par réserve
ui.credits.ov.emptyTitle=Aucune réserve de crédits pour l'instant
ui.credits.ov.emptyProduct=Aucune réserve de crédits pour ce produit
ui.credits.ov.emptyBody=Les crédits mesurent les fonctionnalités à l'usage : donnez une réserve à une licence, tarifez vos actions et laissez l'application déduire au fil de son travail.
ui.credits.pools.title=Réserves de crédits
ui.credits.pools.sub=Toutes les réserves de vos licences. Ouvrez-en une pour accorder, recharger, corriger, transférer ou émettre des blocs hors ligne.
ui.credits.pools.emptyTitle=Aucune réserve de crédits pour l'instant
ui.credits.pools.emptyBody=Une réserve appartient à une licence. Créez-en une ici ou depuis l'onglet Crédits de la licence.
ui.credits.np.lead=Une réserve est un solde nommé sur une licence. Les paramètres ci-dessous constituent la politique de la réserve — vous ne pourrez pas les modifier ensuite, mais vous pourrez créer une autre réserve.
ui.credits.np.licenseHint=La clé de licence à laquelle cette réserve appartient.
ui.credits.np.name=Nom de la réserve
ui.credits.np.namePh=ex. tokens, images, api-calls
ui.credits.np.nameHint=Ce que votre application demandera par son nom. Gardez-le court et stable.
ui.credits.np.unit=Unité
ui.credits.np.unitHint=Affichée à côté de chaque nombre : « jetons », « images », « requêtes ».
ui.credits.np.productAuto=Identique à la licence
ui.credits.np.productHint=Les grilles tarifaires sont par produit ; laissez le produit de la licence sauf si vous savez ce que vous faites.
ui.credits.np.kind=Type de réserve
ui.credits.np.kindCredits=Réserve de crédits
ui.credits.np.kindCreditsD=le client achète et recharge des crédits ; ils expirent selon leur propre calendrier.
ui.credits.np.kindQuota=Quota d'utilisation
ui.credits.np.kindQuotaD=une allocation fixe qui se réinitialise selon un calendrier ; pas de recharge, pas de report.
ui.credits.np.toppable=Recharges autorisées
ui.credits.np.toppableD=désactivé en fait un quota fixe — les demandes de recharge sont refusées.
ui.credits.np.rollover=Reporter les crédits non utilisés
ui.credits.np.rolloverD=désactivé perd ce qui reste à chaque réinitialisation.
ui.credits.np.cadence=Calendrier de réinitialisation
ui.credits.np.cadenceHint=Quand le solde repart de zéro. « Jamais » pour les crédits achetés.
ui.credits.np.expiry=La réserve expire le
ui.credits.np.expiryHint=Facultatif. Après cette date, tout le solde cesse de fonctionner, quoi que dise la licence.
ui.credits.np.licInv=L'expiration de la licence arrête les crédits
ui.credits.np.licInvD=désactivé laisse un client dont la licence a expiré dépenser ce qu'il a acheté — une incitation à revenir.
ui.credits.np.overage=Quand le solde atteint zéro
ui.credits.np.overageHint=« Demande à votre facturation » émet un événement ; Keyright ne débite jamais de carte.
ui.credits.np.low=Alerte de solde bas à
ui.credits.np.lowHint=Facultatif. Passer sous ce seuil émet un événement « solde bas » avec une recharge suggérée.
ui.credits.np.lowInvalid=Saisissez un nombre entier, ou laissez vide.
ui.credits.np.burn=Ordre de consommation
ui.credits.np.burnHint=Facultatif, étiquettes de source à dépenser en premier, séparées par des virgules, ex. promotional, purchased. Vide = les plus proches de l'expiration d'abord.
ui.credits.np.done=Réserve « {0} » créée
ui.credits.usage.title=Utilisation
ui.credits.usage.lead=Ce qui est entré, ce qui est sorti et ce qui reste — à la fin de la période.
ui.credits.usage.range=Période
ui.credits.usage.days={0} derniers jours
ui.credits.usage.capTitle=Votre offre conserve {0} jours d'historique d'utilisation.
ui.credits.usage.capBody=Les {0} derniers jours sont affichés dans la limite de votre historique.
ui.credits.usage.forfeited=Perdus
ui.credits.usage.forfeitedHint=Crédits expirés ou annulés avant d'avoir été utilisés.
ui.credits.usage.noUsage=Aucune utilisation sur cette période
ui.credits.usage.noUsageBody=La consommation apparaît ici dès que l'application déduit de cette réserve.
ui.credits.usage.chartTitle=Consommés par période ({0})
ui.credits.usage.chartCaption={0} consommés par {1} ; la barre la plus récente est mise en évidence.
ui.credits.usage.grantedN={0} accordés
ui.credits.usage.anomalies=Anomalies
ui.credits.usage.noAnomalies=Rien d'inhabituel sur cette période.
ui.credits.usage.downloadCsv=Télécharger le grand livre (CSV)
ui.credits.bucket.day=jour
ui.credits.bucket.week=semaine
ui.credits.bucket.month=mois
ui.credits.anom.spike=Pic de consommation
ui.credits.anom.postExpiry=Utilisation après expiration
ui.credits.blocks.title=Blocs de crédits hors ligne
ui.credits.blocks.btn=Bloc hors ligne
ui.credits.blocks.lead=Pour les machines isolées : découpez un bloc signé et fini dans cette réserve. La machine le dépense hors ligne ; à sa reconnexion, vous rapprochez ce qui a réellement été utilisé et le reste retourne dans la réserve.
ui.credits.blocks.planCap=Votre offre limite un bloc à {0}.
ui.credits.blocks.planNoCap=Aucune limite de taille de bloc sur cette instance.
ui.credits.blocks.planSync=Les blocs ont par défaut une fenêtre de synchronisation de {0} heures.
ui.credits.blocks.planNoSync=Les blocs n'ont pas de fenêtre de synchronisation par défaut — définissez une expiration par bloc.
ui.credits.blocks.lockTitle=Les blocs de crédits hors ligne font partie d'une offre supérieure.
ui.credits.blocks.lockBody=Vous pouvez voir les blocs déjà émis et les rapprocher ; en émettre de nouveaux nécessite une mise à niveau.
ui.credits.blocks.issue=Émettre un bloc
ui.credits.blocks.issueLead=La réserve dispose de {0}. Le bloc est déduit maintenant et ce qui n'est pas utilisé revient lors du rapprochement.
ui.credits.blocks.trustTitle=Les crédits hors ligne reposent sur la confiance, pas sur un contrôle en direct.
ui.credits.blocks.trustBody=Une machine déconnectée peut dépasser un bloc entre deux synchronisations ; le rapprochement rétablit les comptes à la reconnexion. Gardez des blocs petits et des fenêtres courtes.
ui.credits.blocks.amountHint=Nombre entier, jusqu'au solde de la réserve.
ui.credits.blocks.amountHintCap=Nombre entier, jusqu'au solde de la réserve et à la limite de {0} de votre offre.
ui.credits.blocks.machineHint=Facultatif. Lie le bloc à un identifiant machine pour qu'il ne puisse pas être rejoué ailleurs.
ui.credits.blocks.expiresHint=Facultatif. Passé cette date, le bloc ne peut plus être dépensé ; rapprochez-le pour récupérer le reste.
ui.credits.blocks.expiresHintSync=Laissez vide pour la fenêtre par défaut de {0} heures de votre offre.
ui.credits.blocks.issued=Bloc émis
ui.credits.blocks.issuedTitle=Un bloc de {0} est prêt.
ui.credits.blocks.issuedBody=Copiez-le ou téléchargez-le maintenant et remettez-le à la machine — il ne sera plus affiché. Le solde de la réserve est désormais de {0}.
ui.credits.blocks.copy=Copier le bloc
ui.credits.blocks.download=Télécharger le .json
ui.credits.blocks.emptyTitle=Aucun bloc hors ligne
ui.credits.blocks.emptyBody=Les blocs que vous émettez pour des machines isolées apparaissent ici avec leur état de rapprochement.
ui.credits.blocks.col.block=Bloc
ui.credits.blocks.col.amount=Montant
ui.credits.blocks.col.issued=Émis
ui.credits.blocks.col.expires=Expire
ui.credits.blocks.boundTo=lié à {0}
ui.credits.blocks.anyMachine=toute machine
ui.credits.blocks.reconciled=Rapproché
ui.credits.blocks.reconciledDetail={0} utilisés, {1} retournés · {2}
ui.credits.blocks.outstanding=En cours
ui.credits.blocks.overdue=Expiré, non rapproché
ui.credits.blocks.reconcile=Rapprocher
ui.credits.blocks.reconcileLead=Ce bloc de {0} a été émis pour {1}. Saisissez ce que la machine a réellement utilisé ; le reste retourne dans la réserve.
ui.credits.blocks.consumed=Crédits utilisés hors ligne
ui.credits.blocks.consumedHint=De 0 à {0}. À reprendre de l'export d'utilisation de la machine.
ui.credits.blocks.consumedInvalid=Saisissez un nombre entier de 0 à {0}.
ui.credits.blocks.reconcileConfirm=Rapprocher ce bloc ?
ui.credits.blocks.reconcileConfirmBody={0} seront enregistrés comme utilisés et {1} retournés dans la réserve. Cela clôture le bloc et est irréversible.
ui.credits.blocks.reconciledToast=Rapproché — {0} retournés dans la réserve (solde {1}).
ui.credits.grant.btn=Accorder
ui.credits.grant.title=Accorder des crédits
ui.credits.grant.lead=Ajoutez des crédits quelle que soit la politique de recharge de la réserve — pour l'amorçage, les corrections et les gestes commerciaux. Solde actuel : {0}.
ui.credits.grant.reason=Motif
ui.credits.grant.reasonPh=commande n° 1234, geste commercial, migration…
ui.credits.grant.reasonHint=Consigné dans le grand livre pour que l'assistance en connaisse la raison.
ui.credits.grant.expiresHint=Facultatif. Vide suit l'expiration de la réserve.
ui.credits.grant.do=Accorder
ui.credits.grant.done={0} accordés
ui.credits.topup.btn=Recharger
ui.credits.topup.title=Recharger
ui.credits.topup.lead=Ajoutez des crédits achetés, promotionnels ou reportés en cours de cycle. Solde actuel : {0}.
ui.credits.topup.sourceHint=Les crédits achetés sont dépensés en dernier par défaut ; les promotionnels et reportés en premier.
ui.credits.topup.expiresHint=Facultatif. Quand les crédits de cette recharge cessent de fonctionner.
ui.credits.topup.do=Recharger
ui.credits.topup.done={0} rechargés
ui.credits.topup.notToppableShort=Cette réserve est un quota fixe — elle n'accepte pas les recharges.
ui.credits.topup.notToppableBody=Elle a été créée avec les recharges désactivées ; elle se comporte donc comme une allocation qui se réinitialise selon son calendrier. Les demandes de recharge de l'application sont également refusées.
ui.credits.topup.useGrant=Besoin d'ajouter des crédits malgré tout ? Accorder est la dérogation administrateur : elle contourne la politique et est consignée comme telle.
ui.credits.src.purchased=Achetés
ui.credits.src.promotional=Promotionnels / gratuits
ui.credits.src.rollover=Reportés
ui.credits.deduct.btn=Corriger
ui.credits.deduct.title=Corriger le solde
ui.credits.deduct.lead=Retirez des crédits — pour corriger un octroi erroné ou régler une utilisation enregistrée ailleurs. Solde actuel : {0} ; cette réserve {1}.
ui.credits.deduct.sourceHint=Pourquoi, en un mot — apparaît dans le grand livre.
ui.credits.deduct.dry=Simulation
ui.credits.deduct.dryD=prévisualise si la déduction réussirait et le solde résultant, sans rien modifier.
ui.credits.deduct.preview=Prévisualiser
ui.credits.deduct.apply=Déduire
ui.credits.deduct.confirm=Déduire des crédits ?
ui.credits.deduct.confirmBody={0} seront retirés de « {1} ». Le grand livre l'enregistre ; cela ne peut être annulé qu'en accordant des crédits en retour.
ui.credits.deduct.wouldSucceed=Réussirait.
ui.credits.deduct.balanceAfter=Le solde résultant serait de {0}.
ui.credits.deduct.applied={0} déduits
ui.credits.transfer.btn=Transférer
ui.credits.transfer.title=Transférer des crédits
ui.credits.transfer.lead=Déplacez une partie de ce solde vers une autre réserve — la source n'est jamais à découvert. Disponible : {0}.
ui.credits.transfer.to=Vers la réserve
ui.credits.transfer.toHint=Autres réserves de la même licence.
ui.credits.transfer.noSiblings=Aucune autre réserve sur cette licence
ui.credits.transfer.noSiblingsHint=Cette licence n'a qu'une seule réserve. Collez l'identifiant d'une autre réserve sous Avancé pour transférer entre licences.
ui.credits.transfer.other=Ou un autre identifiant de réserve
ui.credits.transfer.otherPh=Identifiant de réserve d'une autre licence
ui.credits.transfer.otherHint=Remplace la sélection ci-dessus. Les deux réserves doivent être dans votre espace de travail.
ui.credits.transfer.unitMismatch=La destination compte dans une autre unité — les crédits sont néanmoins transférés 1:1.
ui.credits.transfer.destExpires=Expirent dans la destination le
ui.credits.transfer.destExpiresHint=Facultatif. Vide conserve l'expiration de la réserve de destination.
ui.credits.transfer.do=Transférer
ui.credits.transfer.done={0} transférés
ui.credits.transfer.balances=Source désormais à {0} ; destination désormais à {1}.
ui.credits.ev.title=Événements de crédits
ui.credits.ev.sub=Chaque fois qu'une réserve a été basse ou épuisée, avec la recharge suggérée par Keyright. Votre système de facturation reçoit les mêmes événements par webhook.
ui.credits.ev.webhooks=Webhooks d'événements
ui.credits.ev.type=Type
ui.credits.ev.allTypes=Tous les événements
ui.credits.ev.low=Solde bas
ui.credits.ev.exhausted=Épuisée
ui.credits.ev.licensePh=Filtrer par clé de licence — appuyez sur Entrée
ui.credits.ev.when=Quand
ui.credits.ev.balanceAt=Solde à ce moment
ui.credits.ev.suggested=Recharge suggérée
ui.credits.ev.suggestedLine=recharge suggérée {0}
ui.credits.ev.emptyTitle=Aucun événement de crédits pour l'instant
ui.credits.ev.emptyBody=Définissez une alerte de solde bas sur une réserve et les événements apparaîtront ici à mesure que les clients approchent de zéro.
ui.credits.pricing.title=Tarification des actions
ui.credits.pricing.sub=Ce que chaque action coûte en crédits, par produit. Modifiez un ratio ici — sans redéploiement.
ui.credits.pricing.needProduct=Créez d'abord un produit — les grilles tarifaires appartiennent à un produit.
ui.credits.pricing.tableFor=Tarification pour {0}
ui.credits.pricing.lead=Votre application appelle consume avec un nom d'action ; Keyright cherche le nom ici, multiplie par la quantité et déduit de la réserve.
ui.credits.pricing.action=Action
ui.credits.pricing.actionHint=Le nom exact envoyé par votre application, ex. image.generate. Les noms inconnus sont refusés, pas facturés.
ui.credits.pricing.cost=Crédits par unité
ui.credits.pricing.costPerUnit=Crédits par unité de cette action
ui.credits.pricing.costHint=Nombre entier ; 0 rend l'action gratuite mais toujours comptabilisée.
ui.credits.pricing.costInvalid=Saisissez un nombre entier supérieur ou égal à zéro.
ui.credits.pricing.nCredits={0} crédit|{0} crédits
ui.credits.pricing.pool=Réserve
ui.credits.pricing.poolPh=ex. output-tokens
ui.credits.pricing.poolHint=Nom facultatif de la réserve à débiter. Vide utilise l'ordre de consommation de la licence.
ui.credits.pricing.poolDefault=ordre de consommation de la licence
ui.credits.pricing.updated=Mis à jour
ui.credits.pricing.add=Ajouter une action
ui.credits.pricing.edit=Modifier
ui.credits.pricing.editTitle=Modifier « {0} »
ui.credits.pricing.dialogLead=Une ligne par action mesurée par votre application. La modification prend effet au prochain appel consume.
ui.credits.pricing.saved=« {0} » coûte {1}
ui.credits.pricing.removeTitle=Retirer « {0} » de la tarification ?
ui.credits.pricing.removeBody=Les appels consume de l'application pour « {0} » seront refusés comme action inconnue jusqu'à ce que vous la rajoutiez.
ui.credits.pricing.removed=« {0} » retirée
ui.credits.pricing.emptyTitle=Aucune action tarifée pour l'instant
ui.credits.pricing.emptyBody=Ajoutez les actions mesurées par votre application et leur coût — « 1 appel API = 1 crédit », « 1 image = 15 crédits ».
ui.credits.pricing.howTitle=Depuis votre application
ui.credits.pricing.howBody1=Nommez l'action et la licence ; Keyright la tarifie et la déduit de façon atomique. Transmettez une clé d'idempotence pour qu'une requête réessayée ne soit jamais facturée deux fois.
ui.credits.pricing.howBody2=Ajoutez "dryRun": true pour demander « cela réussirait-il ? » avant un travail coûteux.
ui.credits.lic.poolsTitle=Réserves de crédits
ui.credits.lic.emptyTitle=Cette licence n'a aucune réserve de crédits
ui.credits.lic.emptyBody=Les crédits mesurent les fonctionnalités à l'usage : créez une réserve, donnez-lui un solde, tarifez vos actions, et l'application déduit au fil de son travail. Rien ne change pour ce client tant que vous ne le faites pas.
ui.credits.lic.usageAndBlocks=Utilisation et blocs hors ligne
ui.credits.lic.recentEvents=Événements de crédits récents
ui.credits.lic.noEvents=Aucun événement de solde bas ou d'épuisement pour cette licence.
ui.customers.sub=Tous ceux à qui vous avez délivré une licence, regroupés par titulaire et e-mail de contact.
ui.customers.searchPh=Rechercher par entreprise, personne ou e-mail de contact…
ui.customers.search=Rechercher
ui.customers.searchLicenses=Rechercher des licences
ui.customers.activeOf={0} sur {1} actives
ui.customers.empty=Aucun client pour l'instant
ui.customers.emptyBody=Un client apparaît ici dès que vous émettez sa première licence.
ui.customers.comingBody=Clients — chaque titulaire regroupé avec son e-mail de contact, ses licences, ses postes et ses produits au même endroit — arrive bientôt. Rien n'est encore regroupé sur cette page.
ui.customers.comingHint=Pour trouver un client aujourd'hui, recherchez dans Licences par entreprise, personne, clé ou e-mail. Le nom du titulaire sur une licence ouvre sa page client.
ui.customers.notFound=Aucun client de ce nom
ui.customers.notFoundBody=Aucune licence n'a « {0} » comme titulaire. Les noms doivent correspondre exactement (la casse n'a pas d'importance).
ui.customers.detailSub={0} licences · {1} actives
ui.customers.openInLicenses=Ouvrir dans Licences
ui.customers.truncated=Ce client a {0} licences correspondantes ; seules les 100 premières sont affichées ici. Ouvrez dans Licences pour toutes les voir.
ui.customers.activeLicenses=Licences actives
ui.customers.contacts=Contacts
ui.customers.noEmail=Aucun e-mail de contact sur ces licences — ajoutez-en un sur une licence pour envoyer les avis de renouvellement et les liens du portail.
ui.dev.sub=Tout ce dont un ingénieur a besoin pour intégrer : extraits, clés, points de terminaison, webhooks, couverture, mesure d'usage et CLI.
ui.dev.lockedHint=Inclus dans une offre supérieure — voir les offres pour débloquer.
ui.dev.tryIt=Essayer
ui.dev.yes=oui
ui.dev.no=non
ui.dev.tab.quickstart=Démarrage rapide
ui.dev.tab.keys=Clés
ui.dev.tab.endpoints=Points de terminaison
ui.dev.tab.webhooks=Webhooks
ui.dev.tab.coverage=Couverture
ui.dev.tab.metering=Mesure d'usage
ui.dev.tab.cli=CLI
ui.dev.qs.title=Ajoutez le SDK à votre application
ui.dev.qs.lead=Choisissez le produit et votre langage. L'extrait est prérempli avec le slug du produit, sa clé publique et l'URL de cette instance — collez-le et activez avec n'importe quelle clé que vous avez émise.
ui.dev.qs.install=Installer
ui.dev.qs.needProduct=Créez d'abord un produit
ui.dev.qs.needProductBody=Les extraits et les clés appartiennent à un produit. Créez-en un et revenez ici.
ui.dev.qs.noKey=Aucune clé de signature pour l'instant.
ui.dev.qs.noKeyBody=Ce produit n'a pas de clé publique, le SDK ne peut donc pas vérifier les licences. Générez-en une sous la clé de signature du produit, puis rechargez cette page.
ui.dev.qs.nextTitle=Étapes suivantes
ui.dev.qs.s1=Collez l'extrait et compilez avec la clé publique intégrée.
ui.dev.qs.s2=Émettez une licence de test et activez avec sa clé.
ui.dev.qs.s3=Observez l'appareil apparaître dans l'onglet Appareils de la licence.
ui.dev.qs.s4=Connectez votre boutique pour que les commandes payées émettent des clés automatiquement.
ui.dev.qs.howTitle=Comment se comporte le SDK
ui.dev.qs.how1=L'activation lie la clé à la machine et renvoie un bail signé de courte durée ; le SDK le met en cache et le renouvelle discrètement, si bien que de brèves périodes hors ligne ne bloquent jamais l'utilisateur.
ui.dev.qs.how2=La validation ne lève jamais d'exception. Tout ce qui ne se vérifie pas — mauvais produit, expirée, révoquée, horloge altérée — se résout à l'état gratuit pour que votre application continue de fonctionner.
ui.dev.qs.how3=La clé publique n'est pas un secret : elle est embarquée dans votre binaire. La sécurité vient de la clé privée qui reste sur le serveur.
ui.dev.keys.tenant=Clé de signature de l'espace de travail
ui.dev.keys.tenantBody=Les produits sans clé propre sont signés avec celle-ci. Intégrez-la comme PublicKeyBase64 dans le SDK.
ui.dev.keys.none=Aucune clé de signature n'est encore configurée pour cet espace de travail.
ui.dev.keys.noneProduct=Ce produit n'a pas de clé propre et l'espace de travail n'en a pas non plus — générez-en une sur la page du produit.
ui.dev.keys.ownKey=Ce produit a sa propre clé de signature. Intégrez celle-ci :
ui.dev.keys.usesTenant=Utilise la clé de signature de l'espace de travail ci-dessus.
ui.dev.keys.manage=Gérer la clé de signature
ui.dev.keys.previous=Clés précédentes ({0})
ui.dev.keys.previousHint=Conservez-les dans AdditionalPublicKeysBase64 jusqu'à l'expiration de tous les baux et fichiers hors ligne signés avec elles ; retirez-les ensuite pour terminer la rotation.
ui.dev.keys.revList=Télécharger la liste de révocation
ui.dev.keys.revListDone=Liste de révocation pour {0} téléchargée
ui.dev.keys.howTitle=Comment fonctionnent les clés
ui.dev.keys.how1=Chaque licence, bail et fichier hors ligne est signé côté serveur ; le SDK vérifie avec la clé publique que vous intégrez et n'a jamais besoin de la clé privée.
ui.dev.keys.how2=La rotation est sans risque : générez une nouvelle clé sur la page du produit, livrez la nouvelle clé publique et conservez l'ancienne dans AdditionalPublicKeysBase64 tant que quelque chose signé avec elle est encore utilisé.
ui.dev.keys.how3=Les builds hors ligne ne voient pas les révocations — livrez la liste de révocation signée avec votre prochaine mise à jour et indiquez-la au SDK.
ui.dev.keys.howSnippet=KeyrightOptions (.NET)
ui.dev.ep.title=Vos points de terminaison
ui.dev.ep.lead=Les URL avec lesquelles votre application et votre boutique communiquent. Tous les points de terminaison client sont authentifiés par la clé de licence elle-même — aucun jeton nécessaire.
ui.dev.ep.base=URL de base
ui.dev.ep.activateUrl=URL d'activation
ui.dev.ep.validateUrl=URL de validation
ui.dev.ep.webhook=URL du webhook
ui.dev.ep.slug=Slug de l'espace de travail
ui.dev.ep.examples=Points de terminaison client
ui.dev.ep.examplesLead=Les SDK les appellent pour vous. Utilisez-les directement depuis d'autres environnements, des scripts ou un test de fumée en CI.
ui.dev.ep.activate=Activer un appareil
ui.dev.ep.activateBody=Lie la clé à un identifiant machine et occupe un poste. Réactiver la même machine est idempotent ; un poste de trop renvoie un statut de limite de postes et aucun bail.
ui.dev.ep.validate=Valider (renouveler le bail)
ui.dev.ep.validateBody=Même forme qu'activer, mais n'occupe jamais de nouveau poste. Appelez-le au lancement ou périodiquement pour récupérer les renouvellements, changements de postes et révocations.
ui.dev.ep.freeSeat=Libérer un poste
ui.dev.ep.freeSeatBody=Libère le poste de la machine pour qu'un autre appareil puisse s'activer. Le SDK l'appelle à la désactivation.
ui.dev.ep.trial=Démarrer un essai gratuit
ui.dev.ep.trialBody=Public et ouvert au CORS pour que votre site web puisse l'appeler. Émet une clé d'essai pour les produits dont les essais sont activés et l'envoie par e-mail — la clé n'est jamais dans la réponse. E-mail professionnel requis ; un essai par e-mail et par produit.
ui.dev.ep.response=Réponse
ui.dev.ep.notesTitle=Bon à savoir
ui.dev.ep.n1=Les points de terminaison client sont limités en débit ; un 429 signifie attendre un instant et réessayer.
ui.dev.ep.n2=Envoyez le slug du produit à chaque appel — une clé ne s'active jamais pour le mauvais produit.
ui.dev.ep.n3=hostname, os et appVersion sont facultatifs mais rendent l'onglet Appareils utile.
ui.dev.ep.n4=Les points de terminaison admin prennent X-Admin-Token (un jeton de membre d'équipe fonctionne aussi). Ne livrez jamais un jeton admin dans un client.
ui.dev.wh.title=Webhook de traitement des commandes
ui.dev.wh.lead=Votre boutique (ou un petit adaptateur devant elle) poste ici un événement normalisé. Une commande payée émet une licence — idempotent par référence de commande — et un remboursement ou une annulation la révoque.
ui.dev.wh.signature=En-tête de signature
ui.dev.wh.payload=Charge utile
ui.dev.wh.payloadBody=Un événement payé nécessite type, orderRef, licensee et product ; tier, seats, email et expiryUtc sont facultatifs. Un remboursement ou une annulation ne nécessite que type et le même orderRef.
ui.dev.wh.refundLabel=Remboursement ou annulation
ui.dev.wh.recipes=Recettes par fournisseur
ui.dev.wh.recipeLead=Associez ces événements {0} au type d'événement Keyright et postez la charge utile ci-dessus depuis un petit gestionnaire de webhook (une fonction serverless suffit).
ui.dev.wh.providerEvent=Événement du fournisseur
ui.dev.wh.sendType=Envoyer comme type
ui.dev.wh.recipeNote=Utilisez l'identifiant de commande ou de transaction du fournisseur comme orderRef, et le nom et l'e-mail de l'acheteur comme licensee et email (recherchez le client si l'événement ne contient qu'un identifiant client). Envoyez le même orderRef sur l'événement de remboursement ou d'annulation pour que Keyright retrouve la licence à révoquer.
ui.dev.wh.signing=Signature
ui.dev.wh.signingBody=Calculez un HMAC-SHA256 hexadécimal des octets exacts que vous envoyez, avec votre secret de webhook comme clé, et placez-le dans X-Keyright-Signature. Le corps ne doit pas être resérialisé après la signature.
ui.dev.wh.rotate=Renouveler le secret…
ui.dev.wh.rotateDo=Renouveler
ui.dev.wh.rotateBody=Un nouveau secret est généré et l'ancien cesse de fonctionner immédiatement. Tout adaptateur qui signe encore avec l'ancien secret sera rejeté jusqu'à sa mise à jour.
ui.dev.wh.rotateNote=Le nouveau secret n'est affiché qu'une fois. Seul le propriétaire peut le renouveler.
ui.dev.wh.rotated=Secret renouvelé
ui.dev.wh.secretTitle=Enregistrez ce secret maintenant — il ne sera plus affiché.
ui.dev.wh.secretBody=Placez-le dans la configuration de votre adaptateur de webhook, puis envoyez un événement de test.
ui.dev.wh.secret=Secret du webhook
ui.dev.wh.savedIt=Je l'ai enregistré
ui.dev.ev.title=Webhook d'événements
ui.dev.ev.lead=Keyright poste les événements de réserves de crédits (credit.pool.low, credit.pool.exhausted) vers une URL qui vous appartient, signés avec un secret, avec nouvelles tentatives. Votre facturation ou vos alertes y réagissent.
ui.dev.ev.lockTitle=Les webhooks d'événements sortants sont inclus dans une offre supérieure.
ui.dev.ev.lockBody=Vous pouvez voir ici la configuration et le journal des livraisons ; activer la livraison nécessite une mise à niveau.
ui.dev.ev.off=Désactivé
ui.dev.ev.statusOn=Livraison vers {0}.
ui.dev.ev.statusOff=Aucune URL définie — rien n'est livré.
ui.dev.ev.secretSet=Un secret de signature est défini.
ui.dev.ev.secretNotSet=Pas encore de secret — un secret est généré lorsque vous enregistrez une URL.
ui.dev.ev.urlHint=Une URL https absolue qui accepte POST et renvoie 2xx. Keyright réessaie pour toute autre réponse.
ui.dev.ev.rotate=Renouveler le secret de signature
ui.dev.ev.rotateHint=génère un nouveau secret à l'enregistrement ; l'ancien cesse de fonctionner immédiatement.
ui.dev.ev.enable=Activer la livraison
ui.dev.ev.saved=Webhook d'événements enregistré
ui.dev.ev.secretTitle=Enregistrez ce secret maintenant — il ne sera plus affiché.
ui.dev.ev.secretBody=Vérifiez X-Keyright-Signature sur chaque livraison avec lui (HMAC-SHA256 hexadécimal du corps brut).
ui.dev.ev.disable=Désactiver la livraison
ui.dev.ev.disableBody=La livraison s'arrête et l'URL est effacée. Le secret est conservé, une réactivation ultérieure ne le renouvelle donc pas.
ui.dev.ev.disabled=Webhook d'événements désactivé
ui.dev.ev.deliveries=Livraisons récentes
ui.dev.ev.allStatus=Tous les statuts
ui.dev.ev.pending=En attente
ui.dev.ev.delivered=Livré
ui.dev.ev.failed=Échec
ui.dev.ev.event=Événement
ui.dev.ev.at=Quand
ui.dev.ev.attempts=Tentatives
ui.dev.ev.nextAttempt=prochaine tentative {0}
ui.dev.ev.lastError=Dernière erreur
ui.dev.ev.noDeliveries=Aucune livraison pour l'instant
ui.dev.ev.noDeliveriesBody=Les événements de crédits apparaissent ici lorsqu'ils sont mis en file, livrés ou abandonnés après le nombre maximal de tentatives.
ui.dev.ev.payload=À quoi ressemble une livraison
ui.dev.ev.payloadBody=Un événement JSON par POST, avec un ordre de clés fixe pour que vous puissiez vérifier la signature sur les octets bruts. Répondez 2xx rapidement et traitez de façon asynchrone ; toute autre réponse est réessayée avec un délai croissant, jusqu'à 6 tentatives, puis marquée en échec.
ui.dev.cov.buildTitle=Intégrez les métadonnées de version dans votre build
ui.dev.cov.buildLead=Définissez ces propriétés MSBuild dans votre pipeline de publication. Le package Keyright.NET les transforme en constantes de compilation pour que le build en cours sache quelle version il est (Node, Python et Java ont des équivalents).
ui.dev.cov.b1=KeyrightCoverageVersion est la version sémantique de cette publication ; KeyrightCoverageEntitlementDate est la date à laquelle la couverture est évaluée — normalement la date de publication, ou celle de la version de base pour un correctif. Les deux se rabattent sur la version de l'assembly si non définies.
ui.dev.cov.b2=KeyrightCoverageChannel (stable, beta…) permet à une licence d'inclure ou d'exclure les builds de préversion.
ui.dev.cov.b3=KeyrightRequireCoverage active l'application à l'exécution : Validate() compare le build à la couverture de la licence, après avoir d'abord actualisé la licence silencieusement. Les builds sans cette propriété ignorent entièrement la couverture.
ui.dev.cov.b4=Un refus ne redemande jamais la clé. Le SDK signale NotCovered (ou CoverageUnavailableOffline s'il ne peut pas actualiser) et votre application décide quoi faire : informer, passer en lecture seule ou bloquer.
ui.dev.cov.sdkTitle=Interroger le SDK
ui.dev.cov.sdkLead=Pour vos propres messages dans l'application ou votre système de mise à jour — Keyright décide de la couverture ; il ne distribue jamais de builds et ne vérifie pas les mises à jour.
ui.dev.cov.sdkNote=NewestCoveredVersion n'est connu que si vous enregistrez des versions (Versions et couverture). Une licence sans couverture configurée signale NotConfigured et compte comme couverte.
ui.dev.cov.apiTitle=API d'éligibilité
ui.dev.cov.apiLead=Appelez-la depuis votre propre page de téléchargement ou serveur de mise à jour : pour une clé client et une version cible, cette version est-elle couverte et la licence est-elle encore valide ?
ui.dev.cov.apiNote=eligible combine licenseValid et la couverture ; une licence sans couverture configurée n'est jamais restreinte. Omettez on pour utiliser la date de droit enregistrée de la version. Authentifié par la clé elle-même et limité en débit comme les autres points de terminaison client.
ui.dev.cov.tryTitle=Essayer
ui.dev.cov.tryLead=Collez une clé et une version pour voir exactement ce que recevrait votre page de téléchargement.
ui.dev.cov.anyChannel=tout canal
ui.dev.cov.eligible=Éligible — couverte et licence valide.
ui.dev.cov.notEligible=Non éligible.
ui.dev.cov.licenseValid=Licence valide
ui.dev.cov.reason=Motif
ui.dev.met.adminTitle=Mesurer depuis votre backend
ui.dev.met.adminLead=Nommez l'action ; Keyright la tarifie d'après les coûts d'action du produit et la déduit de la bonne réserve. Capacité d'écriture ; utilisez dryRun pour vérifier au préalable sans déduire.
ui.dev.met.a1=idempotencyKey sécurise les nouvelles tentatives : la même clé ne déduit jamais deux fois (idempotent vaut true lors d'un rejeu).
ui.dev.met.a2=status vaut ok, insufficient, unknown_action (aucun coût défini pour cette action sur le produit), no_pool ou not_found ; balance est ce qui reste après la déduction.
ui.dev.met.a3=Définissez les coûts d'action par produit (POST /admin/products/{slug}/action-costs) pour qu'un seul appel couvre chaque fonctionnalité mesurée.
ui.dev.met.clientTitle=Mesurer depuis l'application elle-même
ui.dev.met.clientLead=Une application de bureau ou embarquée sous licence mesure ses propres crédits avec la clé de licence — aucun jeton admin dans le client. Les SDK encapsulent les deux appels.
ui.dev.met.clientNote=Limité en débit par IP comme l'activation. Transmettez pool pour lire le solde d'une seule réserve.
ui.dev.met.tryTitle=Essayer (simulation)
ui.dev.met.tryLead=Tarifie l'action sur une vraie licence sans rien déduire.
ui.dev.met.tryDry=Tarifer (simulation)
ui.dev.met.action=Action
ui.dev.met.quantity=Quantité
ui.dev.met.idem=Clé d'idempotence
ui.dev.met.idemPh=facultatif, ex. job-8841
ui.dev.met.idemHint=Facultatif. Rejouer la même clé renvoie le premier résultat au lieu de déduire à nouveau.
ui.dev.met.wouldDeduct=Déduirait {0} {1}.
ui.dev.met.refused=Refusé — statut {0}.
ui.dev.met.unitCost=Coût unitaire
ui.dev.met.balance=Solde après
ui.dev.met.pool=Réserve
ui.dev.met.idempotent=Rejeu
ui.dev.cli.installTitle=Installer la CLI
ui.dev.cli.installLead=La commande keyright est un outil global .NET. Elle émet, signe et liste les licences, affiche les identifiants machine, génère les listes de révocation et enregistre les versions — pratique pour les scripts et la CI.
ui.dev.cli.envLead=Pointez-la une fois vers cette instance avec des variables d'environnement (ou passez --url et --admin-token à chaque appel) :
ui.dev.cli.verbsTitle=Commandes
ui.dev.cli.keygen=Génère une paire de clés de signature par produit pour le développement et les tests (les clés de production sont générées sur la page du produit).
ui.dev.cli.licenseNew=Crée une clé LIC- en ligne, enregistrée sur le serveur. --months ou --expiry définissent la durée ; --trial marque un essai ; --entitlement key=value est répétable.
ui.dev.cli.licenseSign=Produit un fichier de licence hors ligne signé avec une clé privée — pour les clients isolés du réseau. --machine le verrouille sur une empreinte de machine.
ui.dev.cli.licenseList=Liste en lecture seule des licences depuis le service d'émission.
ui.dev.cli.licenseBulk=Émission en masse depuis un CSV licensee,seats,expiry (expiration vide = perpétuelle).
ui.dev.cli.licenseBulkOps=Révoque les clés d'un CSV (une par ligne), ou modifie les nombres de postes depuis un CSV id,seats.
ui.dev.cli.machineId=Affiche l'empreinte de verrouillage de cette machine — ce qu'un client vous envoie pour un bail hors ligne.
ui.dev.cli.revList=Produit une liste de révocation signée à livrer avec votre prochaine mise à jour (depuis le serveur, ou localement avec --private-key et --revoked).
ui.dev.cli.release=Enregistre ou liste les métadonnées de version pour la couverture : version, date de publication, date de droit et canal.
ui.dev.cli.notesTitle=Bon à savoir
ui.dev.cli.n1=Codes de sortie : 0 succès, 2 erreur d'utilisation, 1 tout le reste — fiable pour conditionner un pipeline.
ui.dev.cli.n2=Définissez KEYRIGHT_LANG pour changer la langue de la CLI (en, fr).
ui.dev.cli.n3=Tout ce que fait la CLI est aussi un appel à l'API admin — voir Points de terminaison — donc n'importe quel client HTTP fonctionne aussi.
ui.plat.title=Console opérateur
ui.plat.lead=Locataires, offres, licences auto-hébergées et santé de l'instance — pour ceux qui font tourner Keyright.
ui.plat.signIn=Connexion opérateur
ui.plat.token=Jeton de plateforme
ui.plat.gateLead=Collez le jeton d'opérateur de la plateforme (KEYRIGHT_PLATFORM_TOKEN). Le mode opérateur nécessite aussi une auto-licence avec le droit « operator ».
ui.plat.notLicensed=La console opérateur n'est pas activée sur cette instance : elle nécessite un jeton de plateforme et une licence Keyright avec le droit « operator ». Les installations auto-hébergées utilisent le tableau de bord à la place.
ui.plat.operator=opérateur
ui.plat.nav.overview=Vue d'ensemble
ui.plat.nav.tenants=Locataires
ui.plat.nav.plans=Offres
ui.plat.nav.selfLic=Licences auto-hébergées
ui.plat.nav.system=Système
ui.plat.overviewSub=Tout ce qui se trouve sur cette plateforme en un coup d'œil.
ui.plat.newTenant=Nouveau locataire
ui.plat.nDisabled={0} désactivés
ui.plat.allEnabled=tous activés
ui.plat.byPlan=Locataires par offre
ui.plat.health=Santé de l'instance
ui.plat.ready=Prête
ui.plat.uptime=en service depuis {0} h
ui.plat.publicPlans={0} publiques
ui.plat.recentTenants=Locataires les plus récents
ui.plat.tenant=Locataire
ui.plat.noTenants=Aucun locataire pour l'instant
ui.plat.searchTenants=Rechercher par nom, slug, offre ou identifiant
ui.plat.anyPlan=Toute offre
ui.plat.nTenants={0} locataire|{0} locataires
ui.plat.ownerEmail=E-mail du propriétaire
ui.plat.ownerEmailHint=Facultatif. Permet au propriétaire de se connecter avec un compte hébergé ; un jeton de propriétaire d'amorçage est créé dans tous les cas.
ui.plat.tenantCreated=Locataire {0} créé
ui.plat.onceTitle=Affichés une seule fois — enregistrez-les maintenant.
ui.plat.onceBody=Ces secrets ne sont pas stockés sous une forme lisible. Copiez-les dans votre gestionnaire de mots de passe avant de fermer cette boîte de dialogue.
ui.plat.ownerToken=Jeton du propriétaire
ui.plat.savedThem=Je les ai enregistrés
ui.plat.openAsOwner=Ouvrir en tant que propriétaire
ui.plat.t.summary=Résumé
ui.plat.t.plan=Offre et abonnement
ui.plat.t.keys=Clés et secrets
ui.plat.t.workspace=Espace de travail
ui.plat.m.products=Produits
ui.plat.m.licenses=Licences
ui.plat.m.activeLicenses=Actives
ui.plat.m.activeDevices=Appareils actifs
ui.plat.m.activations=Activations
ui.plat.m.expiringSoon=Expirant (60 j)
ui.plat.m.revoked=Révoquées
ui.plat.onboarded=Intégré
ui.plat.yes=oui
ui.plat.no=non
ui.plat.baseUrl=URL de base
ui.plat.features=Capacités
ui.plat.featuresNote=Ce que le tableau de bord du locataire débloque actuellement, d'après son offre.
ui.plat.private=privée
ui.plat.planHint=Prend effet à la prochaine requête du locataire — les quotas et les fonctionnalités verrouillées suivent l'offre.
ui.plat.enabled=Activé
ui.plat.enabledHint=la désactivation bloque le webhook de traitement des commandes et la connexion au tableau de bord du locataire ; les licences déjà émises continuent de se valider.
ui.plat.planEffects=Ce que fait un changement d'offre
ui.plat.planEffectsBody=Les quotas (appareils actifs, produits), les webhooks sortants, l'historique d'utilisation, la taille des blocs de crédits et la fonctionnalité de couverture des versions suivent l'offre immédiatement. Les licences, clés et données existantes ne sont pas touchées. Rétrograder depuis l'offre la plus élevée suspend l'application de la couverture pour les clients du locataire après la période de grâce — sans jamais les bloquer.
ui.plat.signingKey=Clé de signature du locataire
ui.plat.signingKeyBody=Signe chaque licence et bail émis par ce locataire (sauf si un produit a sa propre clé). La moitié privée est stockée chiffrée sous la KEK ; seule la moitié publique est affichée.
ui.plat.generateKey=Générer une clé
ui.plat.rotateKey=Renouveler la clé…
ui.plat.importKey=Importer une clé (PKCS#8)
ui.plat.keyWarn=Les applications livrées doivent intégrer la nouvelle clé publique ; les licences signées avec l'ancienne clé ne continuent de se vérifier que si l'ancienne clé publique est également intégrée. La nouvelle valeur n'est affichée qu'une fois.
ui.plat.webhookBody=Le secret HMAC avec lequel la boutique du locataire signe les webhooks de traitement des commandes. Le renouveler invalide immédiatement l'ancien.
ui.plat.usage=Utilisation
ui.plat.seatsAllocated=Postes alloués
ui.plat.seatsUsed=Postes utilisés
ui.plat.plansSub=Le catalogue tarifaire : prix, quotas et indicateurs de fonctionnalités. Les modifications prennent effet sans redéploiement.
ui.plat.newPlan=Nouvelle offre
ui.plat.highlight=mise en avant
ui.plat.price=Prix
ui.plat.limits=Limites
ui.plat.featureFlags=Indicateurs de fonctionnalités
ui.plat.edit=Modifier
ui.plat.editPlan=Modifier l'offre — {0}
ui.plat.planKey=Clé
ui.plat.currency=Devise
ui.plat.sortOrder=Ordre de tri
ui.plat.priceMonthly=Prix / mois
ui.plat.priceHint=Laissez vide pour « sur mesure / contacter les ventes ».
ui.plat.priceAnnual=Prix / an
ui.plat.maxDevices=Appareils actifs max.
ui.plat.maxProducts=Produits max.
ui.plat.blankUnlimited=Vide = illimité.
ui.plat.usageDays=Historique d'utilisation (jours)
ui.plat.maxBlock=Bloc de crédits hors ligne max.
ui.plat.syncHours=Fenêtre de synchronisation des blocs de crédits (heures)
ui.plat.maxLicensesLegacy=Licences actives max. (hérité)
ui.plat.f.coreTypesOnly=Types de licence de base uniquement
ui.plat.f.sso=SSO
ui.plat.f.sla=SLA
ui.plat.f.whiteLabel=Marque blanche
ui.plat.f.selfServe=Paiement en libre-service
ui.plat.f.isPublic=Affichée sur la page des tarifs
ui.plat.f.highlight=Carte mise en avant
ui.plat.f.eventWebhooksEnabled=Webhooks d'événements sortants
ui.plat.tagline=Slogan
ui.plat.limitLabel=Libellé de la limite principale
ui.plat.lsMonthly=Variante Lemon Squeezy (mensuelle)
ui.plat.lsAnnual=Variante Lemon Squeezy (annuelle)
ui.plat.bullets=Points forts
ui.plat.bulletsHint=Un par ligne, affichés sur la carte tarifaire.
ui.plat.selfSub=Licences pour les clients qui font tourner Keyright eux-mêmes. Le document signé n'est affiché qu'une fois, à l'émission.
ui.plat.issueSelf=Émettre une licence auto-hébergée
ui.plat.entitlements=Droits
ui.plat.issued=Émise
ui.plat.noSelf=Aucune licence auto-hébergée émise pour l'instant
ui.plat.noSelfBody=L'émission nécessite que KEYRIGHT_SELF_LICENSE_TENANT pointe vers le locataire dont la clé du produit keyright-self-hosted les signe.
ui.plat.issueLead=Les limites et fonctionnalités proviennent de l'édition indiquée du produit keyright-self-hosted ; les champs ci-dessous les remplacent.
ui.plat.tierName=Édition
ui.plat.tierHint=Une édition du produit keyright-self-hosted, ex. standard, enterprise ou trial.
ui.plat.days=Valide pendant (jours)
ui.plat.perpetualIfBlank=vide = perpétuelle (les éditions d'essai sont à 30 par défaut)
ui.plat.maxLicenses=Licences actives max.
ui.plat.issue=Émettre
ui.plat.selfIssued=Licence {0} émise
ui.plat.selfOnceBody=Envoyez ce document signé au client (KEYRIGHT_SELF_LICENSE ou KEYRIGHT_SELF_LICENSE_FILE). Il n'est pas stocké.
ui.plat.licenseDoc=Document de licence
ui.plat.download=Télécharger
ui.plat.readiness=Disponibilité
ui.plat.diagnostics=Diagnostics
ui.plat.version=Version
ui.plat.uptimeLabel=Temps de fonctionnement
ui.plat.database=Base de données
ui.plat.pendingMigrations=Migrations en attente
ui.plat.smtp=SMTP
ui.plat.alerts=Alertes
ui.plat.configured=Configuré sur cette instance
ui.plat.configuredNote=Depuis les variables d'environnement ; voir docs/self-hosting.md et docs/deploy-saas-free.md.
ui.plat.jobs=Tâches planifiées
ui.plat.jobsBody=Sur un hébergement à mise à l'échelle zéro, les minuteurs internes ne se déclenchent jamais ; lancez une exécution ici ou depuis votre planificateur.
ui.plat.runNotifications=Exécuter les notifications d'expiration maintenant
ui.plat.runWebhooks=Livrer les webhooks en attente maintenant
ui.portal.sendLink=M'envoyer un lien de connexion par e-mail
ui.portal.gateLead=Saisissez l'adresse e-mail à laquelle votre licence a été émise et nous vous enverrons un lien de connexion.
ui.portal.linkSent=Si {0} possède des licences, un lien de connexion est en route. Consultez votre boîte de réception.
ui.portal.noLicensesBody=Rien n'est encore enregistré pour cet e-mail. Si vous avez acheté récemment, patientez quelques minutes ou contactez le fournisseur.
ui.portal.seatsLine={0} sur {1} appareils utilisés
ui.portal.perpetual=n'expire jamais
ui.portal.license=Licence
ui.portal.showKey=Afficher la clé
ui.portal.yourKey=Votre clé de licence
ui.portal.keyLead=Saisissez cette clé dans l'application pour l'activer. Gardez-la confidentielle — quiconque possède la clé peut utiliser l'un de vos postes.
ui.portal.devicesLead=Chaque appareil qui s'active utilise un poste. Libérez un poste pour déplacer la licence vers un autre appareil.
ui.portal.device=Appareil
ui.portal.thisDevice=cet appareil
ui.portal.activatedOn=activé {0}
ui.portal.noDevices=Aucun appareil n'a encore activé cette licence.
ui.portal.freeTitle=Libérer ce poste ?
ui.portal.freeBody={0} devra s'activer à nouveau à son prochain démarrage.
ui.portal.offline=Fichier de licence hors ligne
ui.portal.offlineLead=Pour un ordinateur sans accès Internet : téléchargez ce fichier signé et importez-le dans l'application.
ui.portal.noCredits=Cette licence n'a pas de solde de crédits.
ui.portal.lowAt=Vous serez averti lorsque le solde passera sous {0}.
ui.portal.help=Besoin d'aide ?
ui.portal.helpLead=Contactez {0} pour les renouvellements, les mises à niveau ou toute question sur votre licence.
ui.portal.revokedBody=Cette licence a été révoquée et ne s'active plus. Contactez le fournisseur si vous pensez qu'il s'agit d'une erreur.
ui.portal.expiredBody=Cette licence a expiré. Renouvelez-la pour continuer à activer des appareils.
ui.products.sub=Tout ce que vous vendez : éditions, essais, versions, tarification et la clé qui signe ses licences.
ui.products.all=Tous les produits
ui.products.limit={0} sur {1} produits dans votre offre
ui.products.capTitle=Vous avez atteint la limite de produits de votre offre.
ui.products.capBody=Votre offre inclut {0} produits. En créer un autre nécessite une offre supérieure.
ui.products.emptyTitle=Aucun produit pour l'instant
ui.products.emptyBody=Un produit est ce que vous vendez. Créez-en un, ajoutez une édition, puis émettez votre première licence.
ui.products.create=Créer un produit
ui.products.created={0} créé
ui.products.editions=Éditions
ui.products.trial=Essai
ui.products.trialOn=Essai de {0} jours · {1}
ui.products.trialOff=Pas d'essai en libre-service
ui.products.signingKey=Clé de signature
ui.products.keyOwn=Clé par produit
ui.products.keyWorkspace=Clé de l'espace de travail
ui.products.activeOfTotal={0} actives sur {1} émises
ui.products.nEditions={0} édition|{0} éditions
ui.products.addEdition=Ajouter une édition
ui.products.copySlug=Copier le slug
ui.products.editDetails=Modifier le nom et la description
ui.products.tab.editions=Éditions
ui.products.tab.trials=Essais
ui.products.tab.releases=Versions
ui.products.tab.pricing=Tarification
ui.products.tab.signingKey=Clé de signature
ui.products.tab.messages=Messages
ui.products.newLead=Un produit est une chose que vous licenciez — une application, une bibliothèque ou un service. Vous y ajouterez des éditions et émettrez des licences pour celui-ci.
ui.products.namePh=ex. Acme Studio
ui.products.slug=Slug
ui.products.slugHint=Utilisé par le SDK et l'API (minuscules, lettres, chiffres et tirets). Rempli à partir du nom ; modifiez-le si vous le souhaitez. Il ne pourra plus changer ensuite.
ui.products.desc=Description
ui.products.descPh=Facultatif — de quoi il s'agit, pour votre équipe
ui.products.descHint=Interne uniquement ; les clients ne la voient jamais.
ui.products.genKey=Générer une clé de signature pour ce produit
ui.products.genKeyHint=les licences de ce produit sont alors signées avec leur propre clé au lieu de la clé de l'espace de travail. Recommandé pour tout ce que vous livrez séparément.
ui.products.keyFailed=Produit créé, mais la clé de signature n'a pas pu être générée
ui.products.slugFixed=Le slug ({0}) ne peut pas être modifié — le SDK et l'API y font référence.
ui.products.legacy.title=Modèles de fonctionnalités par défaut
ui.products.legacy.badge=hérité
ui.products.legacy.body=Modèles à l'échelle de l'espace de travail, antérieurs aux éditions par produit. Les éditions de chaque produit sont la manière recommandée de définir postes et fonctionnalités ; ces modèles sont conservés pour les intégrations plus anciennes.
ui.products.legacy.empty=Aucun modèle.
ui.products.legacy.add=Ajouter un modèle
ui.products.legacy.editTitle=Modifier le modèle — {0}
ui.products.legacy.deleteTitle=Supprimer le modèle {0} ?
ui.products.legacy.deleteBody=Les licences émises conservent leurs propres fonctionnalités ; seul le modèle disparaît.
ui.products.legacy.deleted=Modèle supprimé
ui.products.features=Fonctionnalités
ui.products.edit=Modifier
ui.products.ofIssued=sur {0} émises
ui.products.quickLinks=Étapes suivantes
ui.products.ql.quickstart=Démarrage rapide développeurs
ui.products.ql.quickstartD=Ajoutez le SDK à votre application et voyez le premier appareil s'activer.
ui.products.ql.releases=Versions et couverture
ui.products.ql.releasesD=Enregistrez des versions et décidez ce que chaque édition inclut.
ui.products.ql.issueD=Créez une clé de licence pour un client de ce produit.
ui.products.ql.licenses=Licences de ce produit
ui.products.ql.licensesD=Retrouvez, renouvelez et assistez chaque licence que vous avez vendue.
ui.products.trialSummary={0} jours sur l'édition {1} avec {2} poste(s). Tout le monde peut en demander un avec son e-mail professionnel.
ui.products.trialOffBody=Activez un essai en libre-service pour que les prospects puissent essayer avant d'acheter.
ui.products.keyOwnBody=Les licences de ce produit sont signées avec leur propre clé. Intégrez sa clé publique dans l'application.
ui.products.keyWorkspaceBody=Les licences de ce produit sont signées avec la clé de l'espace de travail. Générez une clé par produit si vous livrez ce produit séparément.
ui.products.noEditionsShort=Aucune édition pour l'instant — ajoutez-en une pour pouvoir émettre des licences.
ui.products.noEditions=Aucune édition pour l'instant
ui.products.noEditionsBody=Une édition est une offre que vous vendez — un nom, un nombre de postes et les fonctionnalités qu'elle débloque. Ajoutez-en une pour commencer à émettre des licences.
ui.products.editionsHow=Comment fonctionnent les éditions
ui.products.editionsHow1=Chaque édition est un modèle : lorsque vous émettez une licence, vous choisissez une édition, et ses postes et fonctionnalités sont copiés sur la licence. Modifier une édition ensuite n'affecte que les nouvelles licences.
ui.products.editionsHow2=Les fonctionnalités sont des paires clé/valeur que le SDK expose à votre application (par exemple tier=pro ou maxProjects=10). Les crédits inclus permettent à une édition d'embarquer une allocation d'utilisation.
ui.products.creditsIncluded=Crédits inclus
ui.products.editEdition=Modifier l'édition — {0}
ui.products.editionLead=Un nom, le nombre de postes qu'une licence de cette édition reçoit par défaut, et les fonctionnalités qu'elle débloque.
ui.products.nameFixed=Le nom identifie l'édition et ne peut pas être modifié.
ui.products.nameHint=Court et en minuscules fonctionne le mieux, ex. starter, pro, enterprise.
ui.products.seatsHint=Postes par défaut par licence ; vous pouvez le remplacer à l'émission.
ui.products.featuresHint=Paires clé/valeur que votre application lit depuis la licence, ex. maxProjects = 10.
ui.products.creditsLead=Facultatif. Embarquez une allocation d'utilisation avec chaque licence de cette édition. Laissez l'allocation à 0 si cette édition ne mesure pas l'usage.
ui.products.allowance=Allocation
ui.products.allowanceHint=0 = aucun crédit inclus.
ui.products.unit=Unité
ui.products.unitHint=Affichée aux clients, ex. crédits, rendus, pages.
ui.products.cadence=Renouvellement
ui.products.cad.once=Une fois (à l'émission)
ui.products.cad.monthly=Mensuel
ui.products.cad.annual=Annuel
ui.products.overage=Quand l'allocation est épuisée
ui.products.ov.hardStop=Arrêter — l'action est refusée
ui.products.ov.soft=Autoriser — passer en négatif et facturer plus tard
ui.products.ov.autoTopup=Recharger automatiquement
ui.products.overageHint=S'applique aux licences émises depuis cette édition.
ui.products.snapshotNote=Les licences déjà émises conservent les postes et fonctionnalités avec lesquels elles ont été émises — rien ne change pour les clients existants.
ui.products.editionAdded=Édition {0} ajoutée
ui.products.deleteEdition=Supprimer l'édition
ui.products.deleteEditionBody=Supprimer l'édition {0} de {1} ? Vous ne pourrez plus émettre de nouvelles licences de cette édition.
ui.products.editionDeleted=Édition {0} supprimée
ui.products.credits=crédits
ui.products.trialTitle=Essai en libre-service
ui.products.trialLead=Laissez les prospects essayer ce produit sans vous contacter. Ils demandent un essai avec leur e-mail professionnel et reçoivent une clé à durée limitée par e-mail.
ui.products.trialEnabled=Essais activés
ui.products.trialEnabledD=toute personne disposant d'un e-mail professionnel peut demander une clé d'essai pour ce produit.
ui.products.trialDays=Durée de l'essai (jours)
ui.products.trialDaysHint=La clé expire ce nombre de jours après sa demande.
ui.products.trialTierHint=De quelle édition une clé d'essai reçoit les postes et fonctionnalités.
ui.products.trialNoEditions=Ajoutez d'abord une édition — les clés d'essai sont émises à partir de l'une d'elles.
ui.products.trialSeatsHint=Postes sur chaque clé d'essai.
ui.products.trialSaved=Essai activé — {0} jours
ui.products.trialDisabled=Essai en libre-service désactivé
ui.products.trialRequest=Demander un essai
ui.products.trialRequestBody=Votre site web ou votre application appelle ce point de terminaison public. La clé est uniquement envoyée par e-mail, jamais renvoyée, il est donc sûr de l'appeler depuis un navigateur.
ui.products.trialHow=Comment fonctionnent les essais
ui.products.trialHow1=Les fournisseurs de messagerie personnelle sont refusés, et un seul essai par e-mail et par produit est émis. Les licences d'essai apparaissent dans Licences avec un badge Essai.
ui.products.trialHow2=Lorsqu'un client en essai achète, émettez une licence normale — son application la récupère au lancement suivant.
ui.products.manageReleases=Gérer dans Versions et couverture
ui.products.moreReleases={0} de plus non affichées.
ui.products.policyBody=Décidez quelles versions une nouvelle licence de chaque édition peut utiliser — une majeure, des mises à jour pendant une période, ou un abonnement.
ui.products.openPolicy=Ouvrir la politique de couverture
ui.products.pricingTitle=Coûts des actions
ui.products.pricingLead=Tarifez les actions mesurées par votre application. Lorsque l'application signale une action, Keyright débite ce nombre de crédits de la réserve de la licence.
ui.products.action=Action
ui.products.actionHint=Le nom envoyé par votre application, ex. export.pdf ou render.4k. Lettres, chiffres, points et tirets.
ui.products.creditsCol=Crédits
ui.products.creditsHint=Facturés par unité de l'action. 0 la rend gratuite mais toujours comptabilisée.
ui.products.creditsNegative=Les crédits doivent être supérieurs ou égaux à zéro.
ui.products.pool=Réserve
ui.products.poolHint=Laissez vide pour débiter la réserve par défaut de la licence.
ui.products.defaultPool=réserve par défaut
ui.products.updated=Mis à jour
ui.products.addCost=Ajouter un coût d'action
ui.products.editCost=Modifier le coût d'action — {0}
ui.products.costLead=Nommez une action et son coût. Votre application n'envoie que le nom de l'action ; les prix sont ici pour que vous puissiez les modifier sans livrer de mise à jour.
ui.products.noCosts=Aucun coût d'action pour l'instant
ui.products.noCostsBody=Ajoutez une action et son prix pour commencer à mesurer l'usage en crédits.
ui.products.deleteCost=Supprimer le coût de {0} ?
ui.products.deleteCostBody=L'application recevra « action inconnue » pour {0} jusqu'à ce que vous le rajoutiez.
ui.products.costDeleted=Coût de {0} supprimé
ui.products.pricingHow=Depuis votre application
ui.products.pricingHow1=Le SDK signale une action par son nom avec la clé de licence ; Keyright consulte le prix ici et le déduit.
ui.products.pricingHow2=Utilisez dryRun pour vérifier si un client peut se permettre une action avant de faire le travail.
ui.products.pricingCreditsBody=Accordez, rechargez et inspectez les réserves de crédits par licence dans Utilisation et crédits.
ui.products.currentKey=Clé publique actuelle
ui.products.currentKeyBody=Intégrez cette clé publique dans votre application pour qu'elle puisse vérifier les licences, baux et fichiers hors ligne de ce produit.
ui.products.copyKey=Copier la clé publique
ui.products.generateKey=Générer une clé
ui.products.keyGenerated=Clé de signature générée — intégrez la nouvelle clé publique dans votre application
ui.products.importKey=Importer une clé
ui.products.importLead=Apportez votre propre paire de clés RSA. Collez la clé privée PKCS#8 (base64, avec ou sans l'en-tête PEM). Elle est chiffrée au repos et ne sera plus jamais affichée.
ui.products.importReplaces=Ceci remplace la clé actuelle.
ui.products.privateKey=Clé privée (PKCS#8, base64)
ui.products.privateKeyHint=openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 | openssl pkcs8 -topk8 -nocrypt
ui.products.importNote=Seule la clé publique reste visible ici ; la clé privée est stockée chiffrée.
ui.products.keyImported=Clé de signature importée
ui.products.rotateKey=Renouveler la clé
ui.products.rotateBody=Les nouvelles licences seront signées avec une nouvelle clé. Les applications livrées doivent intégrer la nouvelle clé publique — tant que ce n'est pas fait, les licences émises après le renouvellement ne se vérifieront pas. Les licences émises sous l'ancienne clé continuent de se vérifier tant que votre application intègre aussi l'ancienne clé publique.
ui.products.rotateNote=La clé publique retirée est conservée dans la liste « clés précédentes » pour que vous puissiez la livrer avec la nouvelle.
ui.products.keyRotated=Clé de signature renouvelée — livrez la nouvelle clé publique
ui.products.previousKeys=Clés précédentes
ui.products.previousKeysBody=Clés publiques retirées lors d'un renouvellement. Continuez à les intégrer dans votre application tant que des clients détiennent des licences signées avec elles.
ui.products.previousKeyN=Clé précédente {0}
ui.products.noPreviousKeys=La clé n'a jamais été renouvelée.
ui.products.revocation=Liste de révocation
ui.products.revocationBody=Une liste signée des clés de licence révoquées pour ce produit. Livrez-la avec les builds hors ligne pour que les clés révoquées soient refusées sans connexion Internet.
ui.products.downloadRevocation=Télécharger la liste de révocation
ui.products.revocationSaved=Liste de révocation téléchargée
ui.products.revocationFailed=Impossible de télécharger la liste de révocation
ui.products.keyHow=Comment fonctionne la signature
ui.products.keyHow1=Chaque licence, bail et fichier hors ligne est signé par le serveur. Votre application ne détient que la clé publique, une licence ne peut donc être ni falsifiée ni modifiée.
ui.products.keyHow2=Une clé par produit garde les produits indépendants : en renouveler une ne touche pas les autres, et un produit vendu à un partenaire peut porter sa propre clé.
ui.products.msg.coming=La formulation destinée aux clients par produit est en cours de construction sur le volet couverture. Les champs sont affichés pour que vous puissiez voir ce que vous pourrez modifier.
ui.products.msg.title=Formulation destinée aux clients
ui.products.msg.lead=Les mots que vos clients lisent dans le portail et dans l'application lorsqu'il est question de couverture, de renouvellements et de mises à niveau.
ui.products.msg.updatesTerm=Comment vous appelez les mises à jour
ui.products.msg.updatesTermHint=ex. mises à jour, évolutions, maintenance — utilisé dans des phrases comme « Votre licence inclut les mises à jour jusqu'au … ».
ui.products.msg.line=Nom de la ligne de versions
ui.products.msg.lineHint=Comment une version majeure est nommée, ex. « {0} 2 ». Espaces réservés : {product}, {major}.
ui.products.msg.renewUrl=Lien de renouvellement
ui.products.msg.upgradeUrl=Lien de mise à niveau
ui.products.msg.urlHint=Affiché dans l'application lorsqu'un client doit renouveler ou passer à la version supérieure. Espace réservé : {key}.
ui.products.msg.preview=Ce qu'ils liront
ui.products.msg.previewLead=Un exemple de phrase de couverture avec la formulation actuelle.
ui.products.msg.previewNote=Les dates s'affichent dans la langue du client.
ui.resellers.sub=Partenaires qui émettent des licences avec leur propre jeton, dans la limite d'une allocation de postes.
ui.resellers.new=Nouveau revendeur
ui.resellers.name=Revendeur
ui.resellers.namePh=Entreprise partenaire
ui.resellers.anyProduct=tout produit
ui.resellers.allocation=Allocation de postes
ui.resellers.allocationHint=Total des postes sur toutes les licences émises par ce revendeur.
ui.resellers.allocationEditHint=La baisser sous l'utilisation actuelle ne révoque rien ; cela bloque seulement les nouvelles émissions jusqu'à ce que l'utilisation diminue.
ui.resellers.allocationMin=L'allocation doit être d'au moins 1.
ui.resellers.seatsUsedOf={0} sur {1} postes alloués utilisés
ui.resellers.disabled=Désactivé
ui.resellers.enabled=Activé
ui.resellers.enabledHint=désactivé, le jeton cesse de fonctionner et le revendeur ne peut plus émettre.
ui.resellers.theirLicenses=Leurs licences
ui.resellers.edit=Modifier
ui.resellers.empty=Aucun revendeur pour l'instant
ui.resellers.emptyBody=Donnez à un partenaire un jeton de revendeur et une allocation de postes ; il émet des licences à ses propres clients, dans la limite fixée, sans accès à votre tableau de bord.
ui.resellers.lockTitle=Les revendeurs sont inclus dans les offres payantes.
ui.resellers.lockBody=Vous pouvez voir ici les revendeurs existants et leur utilisation. Créer ou modifier des revendeurs — et laisser les partenaires émettre avec leur propre jeton — nécessite une offre payante.
ui.resellers.lockedHint=Les revendeurs sont inclus dans les offres payantes — passez à une offre supérieure pour ajouter ou modifier des revendeurs.
ui.resellers.newLead=Le revendeur reçoit un jeton pour émettre des licences sur votre compte, dans la limite de l'allocation de postes que vous définissez.
ui.resellers.productHint=Limitez le revendeur à un seul produit, ou laissez-le émettre pour n'importe lequel.
ui.resellers.create=Créer le revendeur
ui.resellers.created=Revendeur créé — {0}
ui.resellers.tokenTitle=Enregistrez ce jeton maintenant — il ne sera plus affiché.
ui.resellers.tokenBody=Seule une empreinte est stockée. S'il est perdu, désactivez ce revendeur et créez-en un nouveau.
ui.resellers.token=Jeton de revendeur
ui.resellers.id=Identifiant du revendeur
ui.resellers.tokenHow=Le revendeur l'envoie dans l'en-tête X-Reseller-Token sur POST /reseller/licenses.
ui.resellers.savedIt=Je l'ai enregistré
ui.resellers.howTitle=Comment fonctionnent les revendeurs
ui.resellers.how1=Créez un revendeur avec une allocation de postes (et éventuellement un seul produit pour lequel il peut émettre).
ui.resellers.how2=Remettez-lui le jeton affiché une seule fois à la création — il est stocké sous forme d'empreinte, vous ne pourrez donc pas le récupérer ensuite.
ui.resellers.how3=Il émet avec POST /reseller/licenses et l'en-tête X-Reseller-Token ; chaque licence qu'il émet décompte ses postes de l'allocation.
ui.resellers.how4=Augmentez l'allocation ou désactivez le revendeur ici à tout moment ; un revendeur désactivé ne peut pas émettre.
ui.resellers.howIssue=Émettre une licence en tant que revendeur :
ui.resellers.howMore=Lister et révoquer uniquement ses propres licences :
ui.resellers.howErrors=Un dépassement d'allocation renvoie 403 over_allocation ; un produit hors de son périmètre renvoie 403 product_not_allowed ; un jeton désactivé ou inconnu renvoie 401.
ui.settings.sub=Votre espace de travail, votre équipe, la connexion, les alertes e-mail, l'offre, les données et cette instance.
ui.settings.subnav=Sections des paramètres
ui.settings.tab.workspace=Espace de travail
ui.settings.tab.security=Connexion et sécurité
ui.settings.tab.email=E-mail et alertes
ui.settings.tab.data=Données
ui.settings.tab.instance=Instance
ui.settings.tab.branding=Image de marque
ui.settings.ownerOnly=Propriétaires uniquement.
ui.settings.managed=Géré par l'opérateur.
ui.settings.saved=Enregistré
ui.settings.ws.nameHint=Affiché dans l'en-tête du tableau de bord, le portail client et les e-mails d'invitation.
ui.settings.ws.logoUrl=URL du logo
ui.settings.ws.logoUrlHint=Un lien d'image https:// public — ou téléversez un fichier ci-dessous et nous en stockerons une petite copie intégrée.
ui.settings.ws.uploadHint=PNG, JPEG ou SVG. L'image est réduite à 256 px sur son plus grand côté avant l'enregistrement.
ui.settings.ws.logoPreview=Aperçu du logo
ui.settings.ws.noLogo=Pas encore de logo — l'initiale de l'espace de travail est affichée à la place.
ui.settings.ws.logoReady=Logo prêt — cliquez sur Enregistrer pour le conserver.
ui.settings.ws.logoFailed=Impossible de lire cette image
ui.settings.ws.notImage=Choisissez un fichier image (PNG, JPEG, SVG, WebP).
ui.settings.ws.savedBody=L'en-tête se met à jour au prochain chargement du tableau de bord.
ui.settings.ws.checklist=Liste de configuration
ui.settings.ws.checklistBody=La liste de première utilisation sur la page d'accueil guide un nouvel espace de travail à travers le produit, l'édition, la première licence, le SDK et la boutique. Vous pouvez la réafficher à tout moment — rien de ce que vous avez déjà configuré n'est modifié.
ui.settings.ws.rerun=Relancer la liste de configuration
ui.settings.ws.rerunBody=La liste s'affichera à nouveau sur l'accueil jusqu'à ce que chaque étape soit terminée ou que vous la fermiez. Vos produits, licences et paramètres ne sont pas touchés.
ui.settings.ws.rerunDo=Afficher la liste
ui.settings.ws.slug=Identifiant de l'espace de travail
ui.settings.ws.plan=Offre
ui.settings.ws.yourRole=Votre rôle
ui.settings.team.lead=Tous ceux qui peuvent se connecter à ce tableau de bord. Les rôles déterminent ce que chacun peut faire ; les propriétaires gèrent l'équipe.
ui.settings.team.ownerOnlyBody=La liste des membres et ces contrôles sont réservés aux propriétaires de l'espace de travail.
ui.settings.team.invite=Inviter un membre
ui.settings.team.inviteDo=Inviter
ui.settings.team.inviteLead=Ajoutez une personne à cet espace de travail. Elle se connecte avec son e-mail (mot de passe + application d'authentification, Google, GitHub ou SSO — selon ce que propose ce déploiement).
ui.settings.team.emailHint=Facultatif, mais nécessaire pour la connexion par e-mail et pour envoyer l'invitation.
ui.settings.team.noEmail=Pas d'e-mail — connexion par jeton uniquement
ui.settings.team.disabled=Désactivé
ui.settings.team.joined=Ajouté le
ui.settings.team.empty=Aucun membre d'équipe pour l'instant
ui.settings.team.emptyBody=Vous êtes connecté avec le jeton admin. Invitez un membre pour que chacun se connecte avec son propre compte — et pour qu'il y ait un propriétaire nommé.
ui.settings.team.roles=Ce que chaque rôle peut faire
ui.settings.team.signinTitle=Comment les membres se connectent
ui.settings.team.signinBody=Les membres utilisent les méthodes de connexion activées pour ce déploiement. L'authentification à deux facteurs est requise pour la connexion par mot de passe et s'active automatiquement à la première utilisation.
ui.settings.team.conflict=Cette modification n'est pas autorisée
ui.settings.team.lastOwnerHint=Le dernier propriétaire actif ne peut pas être rétrogradé, désactivé ou retiré, et vous ne pouvez pas changer votre propre rôle — nommez d'abord un autre propriétaire.
ui.settings.team.roleChanged={0} est désormais {1}
ui.settings.team.enable=Activer
ui.settings.team.disable=Désactiver
ui.settings.team.disableTitle=Désactiver {0} ?
ui.settings.team.disableBody=Cette personne ne pourra plus se connecter ni utiliser son jeton jusqu'à sa réactivation. Rien n'est supprimé.
ui.settings.team.enabledToast={0} activé
ui.settings.team.disabledToast={0} désactivé
ui.settings.team.setPassword=Définir le mot de passe
ui.settings.team.pwLead=Donnez à ce membre un mot de passe pour le tableau de bord. Partagez-le en privé — il n'est affiché qu'une fois.
ui.settings.team.pwHint=Au moins 12 caractères. Utilisez Générer pour en obtenir un aléatoire et robuste.
ui.settings.team.pwShort=Utilisez au moins 12 caractères.
ui.settings.team.generate=Générer un mot de passe robuste
ui.settings.team.mfaNote=L'authentification à deux facteurs est requise : lors de sa première connexion par mot de passe, il lui sera demandé d'ajouter le compte à une application d'authentification.
ui.settings.team.pwSet=Mot de passe défini
ui.settings.team.pwOnceTitle=Partagez ce mot de passe maintenant — il ne sera plus affiché.
ui.settings.team.pwOnceBody={0} se connecte avec son e-mail et ce mot de passe, puis active l'authentification à deux facteurs à la première utilisation.
ui.settings.team.resetMfa=Réinitialiser les deux facteurs
ui.settings.team.resetMfaBody=À utiliser lorsque quelqu'un a perdu son application d'authentification. Son inscription actuelle est effacée ; il lui sera demandé d'en configurer une nouvelle à sa prochaine connexion par mot de passe.
ui.settings.team.mfaResetDone=Deux facteurs réinitialisés pour {0}
ui.settings.team.removeBody=Retirer {0} de cet espace de travail ? Ses sessions et son jeton cessent de fonctionner immédiatement.
ui.settings.team.removeNote=Cette action est irréversible. Pour bloquer l'accès temporairement, désactivez plutôt la personne.
ui.settings.team.removed={0} retiré
ui.settings.team.token=Jeton d'accès
ui.settings.team.tokenOnce=Ce jeton n'est affiché qu'une fois.
ui.settings.team.tokenOnceBody={0} a été ajouté en tant que {1}. Copiez le jeton maintenant si vous devez le partager — il ne pourra pas être récupéré ensuite.
ui.settings.team.notEmailed=L'e-mail d'invitation n'a pas pu être envoyé (l'e-mail n'est pas configuré ou la livraison a échoué) — partagez le jeton ou définissez un mot de passe à la place.
ui.settings.team.noEmailGiven=Aucun e-mail n'a été fourni, aucune invitation n'a donc été envoyée — partagez le jeton ou définissez un mot de passe.
ui.settings.role.owner=Tout, y compris l'équipe, l'offre, la facturation et les paramètres e-mail.
ui.settings.role.admin=Gérer les produits, éditions, licences, couverture, crédits et intégrations. Ne peut pas modifier l'équipe ni l'offre.
ui.settings.role.support=Assistance client au quotidien : consulter les licences, libérer des postes, envoyer des liens vers le portail, ajouter de la couverture. Ni émission ni révocation.
ui.settings.role.billing=Tout lire, plus les pages d'offre et de facturation. Ne peut pas modifier les licences.
ui.settings.role.viewer=Accès en lecture seule à toutes les pages.
ui.settings.sec.methods=Méthodes de connexion
ui.settings.sec.readOnly=Lecture seule
ui.settings.sec.leadSelf=Les méthodes de connexion sont configurées par des variables d'environnement sur le serveur et affichées ici telles quelles. Modifiez-les dans votre déploiement et redémarrez.
ui.settings.sec.leadSaas=Les méthodes de connexion du service hébergé sont configurées par l'opérateur. Ceci montre ce qui est disponible pour votre équipe.
ui.settings.sec.method=Méthode
ui.settings.sec.off=Désactivée
ui.settings.sec.howTo=Comment l'activer
ui.settings.sec.password=E-mail + mot de passe avec deux facteurs
ui.settings.sec.passwordHow=Intégré. Les propriétaires définissent le mot de passe d'un membre depuis la page Équipe ; les deux facteurs s'activent automatiquement à la première connexion.
ui.settings.sec.google=Google
ui.settings.sec.github=GitHub
ui.settings.sec.oauthHow=OAuth natif sur votre propre domaine. Définissez l'identifiant et le secret client, ainsi que l'URL de base publique utilisée pour le rappel.
ui.settings.sec.supabase=Comptes hébergés (Supabase Auth)
ui.settings.sec.supabaseHow=Couche d'identité grand public pour le service hébergé : liens magiques par e-mail et connexion sociale. Nécessite l'URL du projet, le secret JWT et la clé anon.
ui.settings.sec.sso=Authentification unique (OIDC)
ui.settings.sec.ssoHow=Votre fournisseur d'identité émet un jeton d'identité que le tableau de bord échange contre une session. Définissez l'émetteur et l'audience, et soit une clé publique, soit l'autorité du fournisseur (JWKS).
ui.settings.sec.selfSignup=Inscription en libre-service
ui.settings.sec.selfSignupHow=Permet à de nouveaux espaces de travail de s'inscrire sur l'offre gratuite. Nécessite les comptes hébergés et la clé de l'offre.
ui.settings.sec.ssoLockTitle=L'authentification unique est une fonctionnalité Enterprise.
ui.settings.sec.ssoLockBody=Les paramètres KEYRIGHT_SSO_* sont ignorés tant que la licence de l'instance n'inclut pas sso. Tout le reste de cette page fonctionne comme indiqué.
ui.settings.sec.mfa=Authentification à deux facteurs
ui.settings.sec.mfaBody=L'authentification à deux facteurs est obligatoire pour la connexion par mot de passe : chaque membre ajoute le compte à une application d'authentification lors de sa première connexion, puis saisit un code à 6 chiffres à chaque connexion suivante. Les connexions sociales et SSO s'appuient sur le second facteur du fournisseur.
ui.settings.sec.mfaReset=Application d'authentification perdue ? Un propriétaire peut réinitialiser les deux facteurs d'un membre depuis la
ui.settings.sec.tokens=Jetons d'accès
ui.settings.sec.tokensBody=Chaque membre dispose aussi d'un jeton d'accès personnel (affiché une fois à l'invitation) pour l'automatisation et la CLI. Désactiver ou retirer le membre le révoque. Le jeton admin de l'environnement est l'identifiant racine — tenez-le à l'écart de l'usage quotidien.
ui.settings.sec.docsLink=Guide d'auto-hébergement : configuration de la connexion
ui.settings.email.ownerOnlyBody=Les paramètres d'envoi d'e-mails et le routage des alertes sont réservés aux propriétaires de l'espace de travail.
ui.settings.email.smtp=Envoi d'e-mails (SMTP)
ui.settings.email.smtpLead=Utilisé pour les invitations, les liens de connexion au portail, les avis de renouvellement et les alertes ci-dessous. Lorsque c'est désactivé, les paramètres de messagerie du serveur sont utilisés s'il en a ; sinon les e-mails sont seulement consignés.
ui.settings.email.enabled=Utiliser ces paramètres SMTP
ui.settings.email.enabledBody=désactivé : repli sur les paramètres KEYRIGHT_SMTP_* du serveur.
ui.settings.email.host=Hôte SMTP
ui.settings.email.port=Port
ui.settings.email.user=Nom d'utilisateur
ui.settings.email.password=Mot de passe
ui.settings.email.pwSet=Un mot de passe est stocké. Laissez vide pour le conserver ; saisissez-en un nouveau pour le remplacer.
ui.settings.email.pwUnset=Aucun mot de passe stocké. Laissez vide si votre serveur n'en a pas besoin.
ui.settings.email.from=Adresse d'expédition
ui.settings.email.fromName=Nom d'expéditeur
ui.settings.email.ssl=Utiliser TLS
ui.settings.email.sslBody=activé pour le port 465 ou STARTTLS sur 587 ; désactivé uniquement pour un relais interne.
ui.settings.email.savedBody=Envoyez un e-mail de test pour confirmer que la livraison fonctionne.
ui.settings.email.test=Envoyer un e-mail de test
ui.settings.email.testLead=Envoie un court message avec les paramètres enregistrés pour que vous puissiez confirmer la livraison avant de compter sur les alertes.
ui.settings.email.testTo=Envoyer à
ui.settings.email.sendTest=Envoyer l'e-mail de test
ui.settings.email.testSent=E-mail de test envoyé à {0}.
ui.settings.email.testSentBody=Vérifiez la boîte de réception (et le dossier spam).
ui.settings.email.testFailed=L'e-mail de test n'a pas pu être envoyé.
ui.settings.email.testFailedHint=Vérifiez l'hôte, le port, le paramètre TLS et les identifiants, puis enregistrez et réessayez.
ui.settings.email.rules=Règles d'alerte
ui.settings.email.rulesNote=Chaque ligne s'enregistre séparément.
ui.settings.email.rulesLead=Choisissez qui est informé de quoi. Les destinataires sont des adresses e-mail séparées par des virgules. Les conditions récurrentes sont envoyées une seule fois, pas à chaque vérification.
ui.settings.email.event=Événement
ui.settings.email.recipients=Destinataires
ui.settings.email.enableFor=Envoyer des alertes pour {0}
ui.settings.email.recipientsFor=Destinataires pour {0}
ui.settings.email.recipientsRequired=Ajoutez au moins un destinataire pour activer cette alerte.
ui.settings.email.ruleSaved=Règle d'alerte pour « {0} » enregistrée.
ui.settings.email.howTitle=Comment les alertes sont livrées
ui.settings.email.how1=Une règle activée envoie un e-mail à ses destinataires lorsque l'événement se produit. Les événements au niveau de l'instance (licence, base de données, tâches planifiées) sont ceux à router vers l'astreinte.
ui.settings.email.how2=Avec SMTP désactivé ici, la livraison utilise les paramètres d'environnement du serveur :
ui.settings.plan.lead=Ce que votre offre inclut et la part que vous en utilisez. Les jauges passent à l'orange à 80 % et au rouge à la limite.
ui.settings.plan.selfTitle=Les quotas proviennent de la licence de cette instance.
ui.settings.plan.selfBody=Une instance auto-hébergée n'a pas d'offre hébergée : les limites et fonctionnalités sont définies par la licence Keyright installée sur le serveur. Voir
ui.settings.plan.activeLicenses=Licences actives
ui.settings.plan.atLimit=À la limite — passez à une offre supérieure pour en ajouter
ui.settings.plan.pctUsed={0} % de votre offre
ui.settings.plan.noLimit=Aucune limite dans votre offre
ui.settings.plan.limitFromLicense=Limite fixée par la licence de l'instance
ui.settings.plan.whatsIncluded=Ce qui est inclus
ui.settings.plan.included=Inclus
ui.settings.plan.unlimited=Illimité
ui.settings.plan.nDays={0} jour|{0} jours
ui.settings.plan.f.coverage=Couverture des versions
ui.settings.plan.f.eventWebhooks=Webhooks d'événements
ui.settings.plan.f.airgap=Blocs de crédits hors ligne (réseau isolé)
ui.settings.plan.f.sso=Authentification unique
ui.settings.plan.f.whitelabel=Marque blanche
ui.settings.plan.f.resellers=Revendeurs
ui.settings.plan.f.history=Historique d'utilisation conservé
ui.settings.plan.f.creditBlock=Bloc de crédits hors ligne le plus grand
ui.settings.plan.catalogue=Offres
ui.settings.plan.noPlans=Aucune offre n'est publiée
ui.settings.plan.billingCycle=Cycle de facturation
ui.settings.plan.monthly=Mensuel
ui.settings.plan.annual=Annuel
ui.settings.plan.perMonth={0} / mois
ui.settings.plan.perYear={0} / an
ui.settings.plan.free=Gratuit
ui.settings.plan.contactPricing=Tarif sur mesure
ui.settings.plan.current=Offre actuelle
ui.settings.plan.popular=Populaire
ui.settings.plan.upgrade=Passer à {0}
ui.settings.plan.contactUs=Contactez-nous
ui.settings.plan.lowerPlan=Contactez-nous pour passer à une offre inférieure.
ui.settings.plan.checkoutFailed=Le paiement n'a pas pu démarrer — réessayez ou contactez l'assistance.
ui.settings.plan.checkoutNote=Les mises à niveau ouvrent un paiement sécurisé ; votre offre change dès que l'abonnement démarre.
ui.settings.plan.devicesIncluded=Jusqu'à {0} appareils actifs
ui.settings.plan.devicesUnlimited=Appareils actifs illimités
ui.settings.plan.productsIncluded=Jusqu'à {0} produits
ui.settings.plan.productsUnlimited=Produits illimités
ui.settings.data.exportTitle=Tout exporter
ui.settings.data.exportBody=Téléchargez chaque produit, édition, licence, activation et enregistrement de couverture de cet espace de travail dans un seul fichier JSON. Utile pour les sauvegardes, les audits ou la migration vers une autre instance.
ui.settings.data.exportNote=L'export contient les noms des clients et les clés de licence — conservez-le aussi soigneusement qu'une sauvegarde de base de données. Les exports par produit et CSV sont sur la page Licences.
ui.settings.data.export=Tout exporter (JSON)
ui.settings.data.exported=Export téléchargé
ui.settings.data.retentionTitle=Historique d'utilisation
ui.settings.data.retention=L'historique d'utilisation et de crédits est conservé {0} jours dans votre offre ; les entrées plus anciennes sont supprimées automatiquement.
ui.settings.data.retentionUnlimited=L'historique d'utilisation et de crédits est conservé indéfiniment sur cette instance.
ui.settings.data.backupTitle=Sauvegardes
ui.settings.data.backupSelf=Sauvegardez la base de données Postgres selon un calendrier et conservez la KEYRIGHT_KEK et la clé de signature avec elle — sans elles, une sauvegarde chiffrée ne peut pas être restaurée.
ui.settings.data.backupSaas=Le service hébergé est sauvegardé par l'opérateur. Conservez votre propre export pour disposer de vos propres archives.
ui.settings.data.backupDocs=Guide de sauvegarde et restauration
ui.settings.inst.license=Licence de l'instance
ui.settings.inst.managedBody=Ceci est le service hébergé : la licence de l'instance, la base de données et les mises à niveau sont prises en charge par l'opérateur. Votre offre et vos quotas sont dans Offre et facturation.
ui.settings.inst.diagnostics=Diagnostics
ui.settings.inst.refresh=Actualiser
ui.settings.inst.docsLink=Guide d'auto-hébergement
ui.settings.inst.phase.off=Non appliquée
ui.settings.inst.phase.active=Active
ui.settings.inst.phase.expiring=Expire bientôt
ui.settings.inst.phase.grace=En période de grâce
ui.settings.inst.phase.gated=Bloquée
ui.settings.inst.p.off=L'application de la licence est désactivée sur ce build — rien à faire.
ui.settings.inst.p.active=Votre licence est valide et expire {0}.
ui.settings.inst.p.activePerpetual=Votre licence est valide et n'expire pas.
ui.settings.inst.p.expiring=Votre licence expire dans {0} jours. Installez la licence renouvelée avant cette date — une licence payante bénéficie d'une courte période de grâce en lecture seule après expiration ; un essai s'arrête immédiatement.
ui.settings.inst.p.trialEnding=Votre essai se termine dans {0} jours. À sa fin, la validation à l'exécution et le provisionnement s'arrêtent jusqu'à l'installation d'une licence payante.
ui.settings.inst.p.grace=Votre licence a expiré. Les applications clientes continuent de se valider, mais le tableau de bord est en lecture seule pendant encore {0} jours (jusqu'au {1}). Installez la licence renouvelée pour lever cette restriction.
ui.settings.inst.p.gated=Aucune licence valide : les applications clientes ne peuvent pas se valider et rien ne peut être provisionné. Installez une licence et redémarrez pour reprendre.
ui.settings.inst.licensee=Licence accordée à
ui.settings.inst.graceUntil=Grâce jusqu'au
ui.settings.inst.enforced=Appliquée
ui.settings.inst.yes=Oui
ui.settings.inst.no=Non
ui.settings.inst.quotaLicenses=Quota de licences actives
ui.settings.inst.quotaProducts=Quota de produits
ui.settings.inst.runtime=Validation des clients
ui.settings.inst.running=En fonctionnement
ui.settings.inst.blocked=Arrêtée
ui.settings.inst.writes=Provisionnement
ui.settings.inst.allowed=Autorisé
ui.settings.inst.readOnly=Lecture seule
ui.settings.inst.featuresNote=Les fonctionnalités (SSO, marque blanche, crédits hors ligne) et les quotas proviennent de cette licence et s'appliquent tant qu'elle est valide — pendant la période de grâce pour une licence payante.
ui.settings.inst.install=Installer ou renouveler une licence
ui.settings.inst.installLead=Delta1 émet votre licence sous forme d'un petit fichier JSON. Son installation nécessite un redémarrage, pas de redéploiement.
ui.settings.inst.step1=Enregistrez le fichier sur le serveur, ou gardez son contenu à portée de main.
ui.settings.inst.step2=Définissez KEYRIGHT_SELF_LICENSE_FILE sur le chemin du fichier — ou KEYRIGHT_SELF_LICENSE sur le JSON lui-même.
ui.settings.inst.step3=Redémarrez le service, puis revenez ici pour confirmer la nouvelle expiration.
ui.settings.inst.installNoUi=L'installation d'une licence depuis cet écran n'est pas encore disponible — utilisez la variable d'environnement.
ui.settings.inst.version=Version
ui.settings.inst.uptime=Temps de fonctionnement
ui.settings.inst.uptimeD={0} j {1} h
ui.settings.inst.uptimeH={0} h {1} min
ui.settings.inst.uptimeM={0} min
ui.settings.inst.serverTime=Heure du serveur
ui.settings.inst.database=Base de données
ui.settings.inst.reachable=Joignable
ui.settings.inst.unreachable=Injoignable
ui.settings.inst.migrations=Schéma
ui.settings.inst.pendingN={0} migrations en attente — redémarrez pour les appliquer
ui.settings.inst.upToDate=À jour
ui.settings.inst.licensePhase=Phase de la licence
ui.settings.inst.mode=Mode
ui.settings.inst.modeOperator=Multi-locataire (opérateur)
ui.settings.inst.entitlements=Droits
ui.settings.inst.smtp=Envoi d'e-mails
ui.settings.inst.configured=Configuré
ui.settings.inst.notConfigured=Non configuré
ui.settings.inst.alertRules=Règles d'alerte
ui.settings.inst.nRules={0} règle activée|{0} règles activées
ui.settings.inst.errors24h=Erreurs serveur signalées (24 h)
ui.settings.inst.diagNote=Cette vérification répond aussi lorsque l'instance est bloquée ; c'est donc le premier endroit à consulter en cas de problème. Citez la version lorsque vous contactez l'assistance.
ui.settings.brand.lead=Comment le tableau de bord et le portail client sont actuellement personnalisés. L'image de marque est définie sur le serveur, cette page est donc un aperçu.
ui.settings.brand.custom=Personnalisée
ui.settings.brand.default=Keyright par défaut
ui.settings.brand.noLogo=Aucun logo défini
ui.settings.brand.name=Nom du produit
ui.settings.brand.company=Entreprise
ui.settings.brand.logo=Logo
ui.settings.brand.color=Couleur d'accent
ui.settings.brand.support=Lien d'assistance
ui.settings.brand.lockTitle=La marque blanche est une fonctionnalité Enterprise.
ui.settings.brand.lockBody=Les paramètres KEYRIGHT_BRAND_* sont ignorés tant que la licence de l'instance n'inclut pas whitelabel ; les clients voient l'image de marque Keyright d'ici là.
ui.settings.brand.howTitle=Comment la modifier
ui.settings.brand.howSelf=Définissez ces variables d'environnement sur le serveur (ou les valeurs Helm brand.*) et redémarrez :
ui.settings.brand.howSaas=Sur le service hébergé, la marque blanche est configurée par l'opérateur pour les espaces de travail Enterprise — contactez l'assistance pour la mettre en place. Les variables utilisées sont :
ui.settings.brand.restartNote=Les modifications prennent effet après un redémarrage. La couleur accepte n'importe quelle couleur CSS ; le logo doit être une image https:// publique ou un SVG.
ui.settings.brand.workspaceLogoNote=Vous cherchez le logo de votre espace de travail (affiché dans l'en-tête et les invitations) ? Il se trouve dans
ui.perpetualTerm=Perpétuelle (n'expire jamais)

# experience level (progressive disclosure)
ui.level.title=Niveau d'expérience
ui.level.lead=Choisissez la part du tableau de bord affichée par défaut. Tout reste accessible via la recherche (Ctrl+K) et les liens, et une fonctionnalité que vous utilisez déjà apparaît quel que soit le niveau.
ui.level.basic=Essentiel
ui.level.basicD=L'essentiel : émettre des clés, voir les licences et les produits, configurer les éditions.
ui.level.intermediate=Intermédiaire
ui.level.intermediateD=Ajoute les clients, versions & couverture, développeurs, activité, exports et actions groupées.
ui.level.advanced=Avancé
ui.level.advancedD=Tout : usage & crédits, revendeurs, fichiers hors ligne, journaux techniques, paramètres d'instance et de données.
ui.level.current=Vue {0}
ui.level.showMore=Afficher plus de fonctionnalités
ui.level.showFewer=Afficher moins de fonctionnalités
ui.level.showAdvanced=Afficher les options avancées
ui.level.menu=Expérience : {0}
ui.level.noteTitle=Cette page fait partie de la vue {0}.
ui.level.noteBody=Vous êtes dans la vue {0}, elle n'apparaît donc pas dans votre navigation — elle fonctionne tout de même.
ui.level.switchTo=Passer à {0}
ui.level.keep=Rester en {0}
ui.level.hintTitle=Vous êtes dans la vue Essentiel
ui.level.hintBody=Cet espace de travail utilise déjà des fonctionnalités de la vue Avancé ; elles apparaissent dans votre navigation au fur et à mesure, ou passez à la vue complète.
ui.level.dismiss=Compris
ui.level.settingsBody=Votre choix est mémorisé dans ce navigateur. Rien n'est supprimé — les autres vues décident seulement de ce qui est affiché avant que vous ne le demandiez.
ui.cov.advEnforcement=Avancé : que se passe-t-il quand un client exécute une version qu'il n'a pas
ui.cov.advExisting=Avancé : appliquer cette politique aux clients existants
ui.portal.more=Plus d'options
ui.portal.moreLead=Utilisation hors ligne et crédits.
ui.plat.nav.platform=Plateforme
ui.plat.keysAdvanced=Avancé : faire tourner ou importer des clés
ui.products.keyAdvanced=Avancé : rotation, import, clés précédentes, liste de révocation
ui.credits.np.create=Créer le pool
ui.credits.np.advanced=Avancé : limites, renouvellement et alertes
ui.dev.keys.advanced=Avancé : clés précédentes et liste de révocation
ui.dev.wh.advanced=Avancé : faire tourner le secret du webhook
ui.activity.filters=Filtres
