PSA/server/public/locales/fr/msp/profile.json
Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

667 lines
27 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"profile": {
"tabs": {
"profile": "Profil",
"security": "Sécurité",
"sso": "SSO",
"apiKeys": "Clés API",
"notifications": "Notifications",
"calendar": "Calendrier",
"keyboardShortcuts": "Keyboard Shortcuts"
},
"basicInfo": {
"title": "Informations de base"
},
"fields": {
"firstName": {
"label": "Prénom *"
},
"lastName": {
"label": "Nom *"
},
"email": {
"label": "Courriel *"
},
"phoneNumber": {
"label": "Numéro de téléphone"
},
"timeZone": {
"label": "Fuseau horaire"
}
},
"actions": {
"saveChanges": "Enregistrer les modifications"
},
"notifications": {
"title": "Préférences de notification",
"viewSwitcher": {
"email": "Courriel",
"internal": "Interne"
}
},
"loading": "Chargement du profil...",
"messages": {
"success": {
"profileUpdated": "Profil mis à jour avec succès"
},
"error": {
"userNotFound": "Utilisateur introuvable",
"fillRequiredFields": "Veuillez remplir tous les champs obligatoires",
"loadFailed": "Échec du chargement du profil",
"saveFailed": "Échec de l'enregistrement du profil",
"errorPrefix": "Erreur : {{error}}"
}
},
"validation": {
"firstNameRequired": "Le prénom est obligatoire",
"lastNameRequired": "Le nom est obligatoire"
},
"pageTitle": "Votre profil",
"changePassword": {
"title": "Changer le mot de passe",
"current": "Mot de passe actuel",
"new": "Nouveau mot de passe",
"confirm": "Confirmer le nouveau mot de passe",
"requirements": "Le mot de passe doit contenir au moins 8 caractères",
"submit": "Changer le mot de passe",
"success": "Mot de passe modifié avec succès",
"error": "Échec de la modification du mot de passe",
"passwordMismatch": "Les nouveaux mots de passe ne correspondent pas",
"unknownError": "Une erreur est survenue lors du changement de mot de passe",
"validationFailed": "Le mot de passe ne respecte pas toutes les exigences"
},
"loadingStates": {
"sso": {
"title": "Authentification unique",
"description": "Chargement des paramètres SSO..."
},
"calendar": {
"title": "Calendrier",
"description": "Chargement des paramètres du calendrier..."
}
}
},
"security": {
"title": "Paramètres de sécurité",
"tabs": {
"roles": "Rôles",
"sessions": "Sessions",
"sso": "SSO",
"permissions": "Autorisations",
"userRoles": "Rôles des utilisateurs",
"policies": "Politiques",
"apiKeys": "Clés API",
"webhooks": "Webhooks"
},
"loading": {
"roles": "Chargement de la configuration des rôles...",
"permissions": "Chargement de la configuration des permissions...",
"userRoles": "Chargement de la configuration des rôles des utilisateurs...",
"policies": "Chargement de la configuration des politiques...",
"apiKeys": "Chargement de la configuration des clés API...",
"webhooks": "Chargement de la configuration des webhooks...",
"sso": "Chargement des outils de gestion SSO...",
"sessions": "Chargement des sessions actives..."
},
"userRoles": {
"title": "Attribuer des rôles aux utilisateurs",
"description": {
"msp": "Gérer les attributions de rôles pour les utilisateurs MSP",
"client": "Gérer les attributions de rôles pour les utilisateurs du portail client"
},
"viewSwitcher": {
"msp": "MSP",
"clientPortal": "Portail client"
},
"showInactive": "Afficher les utilisateurs inactifs",
"fields": {
"selectUser": "Sélectionner un utilisateur",
"selectRole": "Sélectionner un rôle"
},
"actions": {
"assignRole": "Attribuer un rôle"
},
"table": {
"user": "Utilisateur",
"email": "Courriel",
"roles": "Rôles",
"actions": "Actions"
},
"noRolesAssigned": "Aucun rôle attribué",
"removeRole": "Supprimer {{role}}",
"emptyState": {
"noUsers": "Aucun utilisateur {{type}} trouvé",
"inactiveHidden": "(utilisateurs inactifs masqués)"
},
"inactiveTag": "(Inactif)",
"unnamedUser": "Utilisateur sans nom",
"messages": {
"success": {
"roleAssigned": "Rôle attribué avec succès",
"roleRemoved": "Rôle supprimé avec succès"
},
"error": {
"assignFailed": "Échec de l'attribution du rôle. Veuillez réessayer.",
"removeFailed": "Échec de la suppression du rôle. Veuillez réessayer.",
"permissionDenied": "Vous n'avez pas la permission de modifier les rôles des utilisateurs."
}
}
},
"sessions": {
"title": "Toutes les sessions utilisateur",
"filters": {
"search": "Rechercher",
"searchPlaceholder": "Rechercher par nom, courriel, appareil ou IP...",
"user": "Utilisateur",
"allUsers": "Tous les utilisateurs",
"loginMethod": "Méthode de connexion",
"allMethods": "Toutes les méthodes",
"userType": "Type d'utilisateur",
"allTypes": "Tous les types",
"from": "Du",
"to": "Au",
"selectDate": "Sélectionner une date",
"reset": "Réinitialiser"
},
"loginMethods": {
"password": "Mot de passe",
"google": "Google OAuth",
"microsoft": "Microsoft OAuth",
"keycloak": "Keycloak"
},
"userTypes": {
"internal": "Interne",
"client": "Client"
},
"session": {
"yourSession": "Votre session",
"unknownDevice": "Appareil inconnu",
"lastActive": "Dernière activité {{time}}",
"logout": "Déconnexion",
"revoke": "Révoquer",
"revoking": "Révocation..."
},
"oauthWarning": "La révocation de cette session ne révoquera pas l'accès OAuth {{provider}}. Révoquez l'accès depuis les paramètres de votre compte {{provider}}.",
"confirmLogout": "Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?",
"messages": {
"loggingOut": "Déconnexion en cours...",
"revoked": "Session révoquée avec succès",
"loadFailed": "Échec du chargement des sessions",
"revokeFailed": "Échec de la révocation de la session"
},
"emptyState": {
"loading": "Chargement des sessions...",
"noMatch": "Aucune session ne correspond à votre recherche",
"noSessions": "Aucune session active trouvée"
},
"subtitle_one": "{{sessionCount}} session active pour {{userCount}} utilisateur",
"subtitle_other": "{{sessionCount}} sessions actives pour {{userCount}} utilisateurs"
},
"webhooks": {
"title": "Webhooks sortants",
"description": "Créez des abonnements signés au cycle de vie des tickets, filtrez-les par identifiants de ticket spécifiques, inspectez l'historique des livraisons et faites tourner les secrets sans quitter les paramètres.",
"newWebhook": "Nouveau webhook",
"tabs": {
"configuration": "Configuration",
"deliveries": "Livraisons",
"inbound": "Entrants",
"outbound": "Sortants"
},
"inbound": {
"title": "Webhooks entrants",
"description": "Acceptez les requêtes authentifiées de systèmes externes et dispatchez-les vers des actions directes ou des workflows.",
"placeholder": "Configurez des endpoints de webhooks entrants qui vérifient les requêtes, déduisent les livraisons et dispatchent vers des actions ou des workflows.",
"newWebhook": "Nouveau webhook",
"list": {
"title": "Webhooks entrants configurés",
"loading": "Chargement…",
"configuredCount": "{{count}} configurés",
"empty": "Aucun webhook entrant configuré.",
"columns": {
"name": "Nom",
"handler": "Gestionnaire",
"lastDelivery": "Dernière livraison",
"active": "Actif",
"actions": "Actions"
}
},
"handlers": {
"directAction": "Action directe",
"workflow": "Workflow"
},
"status": {
"active": "Actif",
"inactive": "Inactif"
},
"messages": {
"loadFailed": "Échec du chargement des webhooks entrants.",
"nameRequired": "Le nom est requis.",
"slugRequired": "Le slug est requis.",
"actionRequired": "Sélectionnez une action avant d'enregistrer.",
"workflowRequired": "Sélectionnez un workflow avant d'enregistrer.",
"missingRequiredFields": "Mappez une valeur pour les champs requis : {{fields}}"
},
"dialog": {
"createTitle": "Créer un webhook entrant",
"editTitle": "Modifier le webhook entrant",
"cancel": "Annuler",
"create": "Créer le webhook",
"save": "Enregistrer les modifications",
"saveUnavailable": "Continuer"
},
"identity": {
"title": "Identité",
"help": "Nommez le webhook et choisissez le slug compatible URL utilisé dans son endpoint récepteur.",
"name": "Nom",
"namePlaceholder": "Alertes RMM critiques",
"slug": "Slug",
"slugPlaceholder": "alertes-rmm-critiques",
"description": "Description",
"descriptionPlaceholder": "Notes optionnelles sur le système source et la charge utile."
},
"auth": {
"title": "Authentification",
"help": "Choisissez comment les requêtes entrantes prouvent qu'elles sont autorisées à utiliser cet endpoint.",
"method": "Méthode d'authentification",
"types": {
"hmacSha256": "HMAC-SHA256",
"bearer": "Jeton Bearer",
"ipAllowlist": "Liste blanche IP",
"pathToken": "Secret partagé dans le chemin"
},
"signatureHeader": "En-tête de signature",
"signatureHeaderPlaceholder": "X-Alga-Signature",
"bearerToken": "Jeton Bearer",
"bearerTokenPlaceholder": "Collez le jeton ou laissez vide pour en générer un",
"secretUnchangedPlaceholder": "Laissez vide pour conserver le secret actuel",
"ipCidrs": "IPs / CIDRs autorisés",
"ipCidrsPlaceholder": "203.0.113.10\n198.51.100.0/24",
"queryParam": "Paramètre de requête",
"queryParamPlaceholder": "token",
"pathToken": "Jeton de chemin",
"pathTokenPlaceholder": "Collez le jeton ou laissez vide pour en générer un"
},
"secret": {
"label": "Secret du webhook",
"warning": "Cette valeur n'est affichée que maintenant. Enregistrez-la dans le système source avant de fermer cette boîte de dialogue.",
"copy": "Copier",
"download": "Télécharger en .txt",
"close": "Fermer"
},
"idempotency": {
"title": "Idempotence",
"help": "Utilisez une clé stable pour détecter les livraisons en double dans la fenêtre configurée.",
"source": "Source de la clé",
"types": {
"header": "En-tête HTTP",
"jsonata": "Expression JSONata"
},
"headerName": "Nom de l'en-tête",
"headerNamePlaceholder": "X-Idempotency-Key",
"jsonataExpression": "Expression JSONata",
"jsonataExpressionPlaceholder": "alert.id",
"windowSeconds": "Fenêtre de doublons (secondes)"
},
"active": {
"title": "État actif",
"help": "Mettez en pause l'endpoint sans supprimer son URL, ses mappages ou son historique de livraison.",
"toggle": "Webhook actif",
"autoDisabled": "Désactivé automatiquement le {{date}} après des échecs répétés.",
"updateFailed": "Échec de la mise à jour de l'état du webhook entrant."
},
"handler": {
"title": "Gestionnaire",
"help": "Choisissez ce qu'Alga doit faire après que la requête est vérifiée et déduisée.",
"type": "Type de gestionnaire",
"types": {
"directAction": "Action directe",
"workflow": "Workflow"
},
"directActionTitle": "Action directe",
"directActionHelp": "Sélectionnez une action entrante et mappez les champs de la charge utile à ses champs cibles.",
"action": "Action",
"actionPlaceholder": "Sélectionnez une action",
"actionEmpty": "Aucune action entrante enregistrée. Assurez-vous que le serveur a initialisé le registre d'actions avant d'enregistrer.",
"targetFields": "Champs cibles",
"required": "Requis",
"optional": "Optionnel",
"mappingPlaceholder": "Saisissez une expression JSONata, par ex. payload.field",
"workflowTitle": "Workflow",
"workflowHelp": "Sélectionnez un workflow à démarrer avec l'enveloppe normalisée du webhook.",
"workflow": "Workflow",
"workflowPlaceholder": "Sélectionnez un workflow",
"workflowEmpty": "Aucun workflow visible dans ce locataire. Publiez ou affichez un workflow pour utiliser le gestionnaire de workflow.",
"envelopeTitle": "Enveloppe d'entrée du workflow",
"fieldTypes": {
"string": "chaîne",
"int": "entier",
"number": "nombre",
"boolean": "booléen",
"enum": "énumération",
"json": "json",
"ref": "référence"
}
},
"sample": {
"title": "Charge utile exemple",
"help": "Capturez la prochaine requête vérifiée pour l'autocomplétion du mappage.",
"createFirst": "Enregistrez le webhook avant de capturer une requête exemple.",
"captureButton": "Capturer la requête exemple",
"captureActive": "Fenêtre de capture active jusqu'à {{expiresAt}}.",
"sampleAvailable": "Charge utile exemple capturée.",
"noSample": "Aucun exemple capturé pour le moment.",
"captureFailed": "Échec de l'activation de la capture d'exemple."
},
"sampleTree": {
"title": "Chemins exemples",
"help": "Cliquez sur un chemin pour l'insérer dans {{field}}.",
"focusHelp": "Focalisez un champ de mappage, puis cliquez sur un chemin pour l'insérer.",
"empty": "Capturez une charge utile exemple pour parcourir les champs."
},
"mapping": {
"modeStatic": "Valeur statique",
"modeExpression": "Mapper depuis la charge utile",
"unknownReference": "référence inconnue",
"loading": "Chargement…",
"errors": {
"INVALID_INT": "La valeur \"{{value}}\" doit être un entier.",
"INVALID_NUMBER": "La valeur \"{{value}}\" doit être un nombre.",
"INVALID_BOOLEAN": "La valeur doit être \"true\" ou \"false\".",
"INVALID_JSON": "La valeur doit être un JSON valide."
}
},
"deliveryLog": {
"title": "Journal des livraisons",
"help": "Livraisons vérifiées récentes pour ce webhook entrant.",
"empty": "Aucune livraison enregistrée.",
"loadFailed": "Échec du chargement des livraisons.",
"pageSummary": "Page {{page}} sur {{total}}",
"durationMs": "{{duration}} ms",
"allStatuses": "Tous les statuts",
"columns": {
"received": "Reçu",
"status": "Statut",
"response": "Réponse",
"duration": "Durée",
"actions": "Actions"
},
"view": "Voir",
"status": {
"pending": "en attente",
"dispatched": "livré",
"duplicate": "doublon",
"failed": "échec"
}
},
"deliveryDetail": {
"title": "Détail de la livraison",
"close": "Fermer",
"replay": "Rejouer",
"replayConfirm": "Renvoyer cette livraison via la configuration actuelle du webhook ? Tous les effets secondaires (création de tickets, changements de statut, etc.) seront à nouveau exécutés.",
"replayFailed": "Échec du rejeu de la livraison.",
"received": "Reçu",
"status": "Statut",
"responseStatus": "Statut de la réponse",
"duration": "Durée",
"sections": {
"headers": "En-têtes de la requête",
"requestBody": "Corps de la requête",
"responseBody": "Corps de la réponse",
"handlerOutcome": "Résultat du gestionnaire"
}
},
"test": {
"openButton": "Envoyer un test",
"title": "Envoyer une requête de test",
"body": "Corps JSON de la requête",
"headers": "En-têtes",
"cancel": "Annuler",
"send": "Envoyer le test",
"sendFailed": "Échec de l'envoi de la requête de test du webhook."
}
},
"stats": {
"total": "Total des webhooks",
"active": "Actifs",
"autoDisabled": "Désactivés automatiquement"
},
"secret": {
"label": "Clé de signature",
"warning": "Cette valeur n'est affichée qu'une seule fois. Enregistrez-la dans le récepteur avant de quitter la page.",
"copy": "Copier",
"copied": "Secret de signature copié dans le presse-papiers",
"copyFailed": "Échec de la copie du secret de signature dans le presse-papiers",
"close": "Fermer",
"download": "Télécharger en .txt"
},
"form": {
"createTitle": "Créer un webhook",
"editTitle": "Modifier le webhook",
"helper": "La configuration des nouvelles tentatives est stockée au format JSON ; la cadence de livraison utilise toujours le calendrier de backoff standard de la plateforme en v1.",
"name": "Nom",
"namePlaceholder": "Flux d'attribution des tickets",
"url": "URL",
"urlPlaceholder": "https://example.com/hooks/alga",
"events": "Événements",
"customHeaders": "En-têtes personnalisés",
"customHeadersPlaceholder": "Authorization: Bearer abc123\nX-Source: alga-psa",
"ticketFilter": "Filtre de tickets",
"ticketFilterPlaceholder": "Un UUID de ticket par ligne. Laissez vide pour recevoir tous les événements de ticket correspondants.",
"retryConfig": "Configuration des nouvelles tentatives (JSON)",
"verifySsl": "Vérifier les certificats SSL",
"webhookActive": "Le webhook est actif",
"save": "Enregistrer les modifications",
"saving": "Enregistrement…",
"create": "Créer le webhook",
"clear": "Effacer",
"delete": "Supprimer",
"payloadFields": "Champs envoyés",
"payloadFieldsHelp": "Tous les champs sont envoyés par défaut. Décochez pour exclure un champ de la livraison. La clé de corrélation de lentité (p. ex. ticket_id) est toujours incluse.",
"payloadFieldsSelectAll": "Tout sélectionner",
"payloadFieldsClear": "Effacer"
},
"list": {
"title": "Webhooks configurés",
"loading": "Chargement…",
"configuredCount": "{{count}} configurés",
"empty": "Aucun webhook configuré pour le moment.",
"columns": {
"name": "Nom",
"status": "Statut",
"lastDelivery": "Dernière livraison",
"success": "Réussite",
"actions": "Actions"
},
"actions": {
"selected": "Sélectionné",
"manage": "Gérer",
"pause": "Suspendre",
"resume": "Reprendre",
"view": "Voir",
"edit": "Modifier"
}
},
"detail": {
"summary": "{{total}} livraisons, {{successful}} réussies, {{failed}} échouées.",
"sendTest": "Envoyer un test",
"sending": "Envoi…",
"rotateSecret": "Faire tourner la clé",
"rotating": "Rotation…",
"back": "Retour aux webhooks"
},
"deliveries": {
"title": "Historique des livraisons",
"page": "Page {{page}} sur {{total}}",
"empty": "Aucune livraison enregistrée pour le moment.",
"columns": {
"event": "Événement",
"status": "Statut",
"attempted": "Tenté",
"response": "Réponse",
"action": "Action"
},
"testBadge": "Livraison de test",
"attempt": "Tentative {{number}}",
"noResponseCode": "s.o.",
"noResponseBody": "Aucun corps de réponse capturé.",
"retry": "Réessayer",
"previous": "Précédent",
"next": "Suivant"
},
"messages": {
"loadFailed": "Impossible de charger les paramètres du webhook.",
"loadDeliveriesFailed": "Impossible de charger les livraisons du webhook.",
"saveFailed": "Impossible d'enregistrer le webhook.",
"createSuccess": "Webhook créé.",
"updateSuccess": "Webhook mis à jour.",
"deleteConfirm": "Supprimer le webhook \"{{name}}\" ?",
"deleteSuccess": "Webhook supprimé.",
"deleteFailed": "Impossible de supprimer le webhook.",
"testSuccess": "Test envoyé avec succès ({{statusCode}}).",
"testFailed": "Échec du test : {{message}}",
"testRunFailed": "Impossible d'envoyer le test de webhook.",
"unknownError": "Erreur inconnue",
"secretRotated": "Clé de signature renouvelée.",
"rotateFailed": "Impossible de faire tourner la clé du webhook.",
"resumed": "Webhook repris.",
"paused": "Webhook suspendu.",
"stateChangeFailed": "Impossible de mettre à jour l'état du webhook.",
"retryQueued": "Nouvelle tentative en file d'attente pour l'événement {{eventId}}.",
"retryFailed": "Impossible de réessayer la livraison.",
"invalidHeaderLine": "Ligne d'en-tête non valide : \"{{line}}\"",
"invalidRetryConfig": "La configuration des nouvelles tentatives doit être un objet JSON"
},
"common": {
"never": "Jamais"
},
"health": {
"healthy": "sain",
"failing": "en échec",
"disabled": "désactivé"
},
"deliveryStatus": {
"delivered": "livré",
"retrying": "nouvelle tentative",
"abandoned": "abandonné",
"pending": "en attente"
}
},
"apiKeys": {
"rateLimit": {
"columnTitle": "Limite de débit",
"loading": "Chargement…",
"summary": "{{maxTokens}} en rafale / {{refillPerMin}} par min",
"source": "Source : {{label}}",
"sourceLabels": {
"key": "Remplacement",
"tenant": "Valeur par défaut du tenant",
"default": "Valeur par défaut du système"
},
"remaining": " • Restant : {{remaining}}/{{maxTokens}}",
"remainingUnavailable": " • Restant : indisponible",
"actions": {
"edit": "Modifier",
"override": "Remplacer",
"save": "Enregistrer",
"cancel": "Annuler",
"reset": "Réinitialiser"
},
"errors": {
"saveFailed": "Impossible d'enregistrer le remplacement de la limite de débit de l'API.",
"clearFailed": "Impossible de supprimer le remplacement de la limite de débit de l'API."
}
},
"generate": {
"title": "Générer une clé API",
"description": "Description",
"descriptionPlaceholder": "p. ex. Clé API de développement",
"expiration": "Date d'expiration (facultatif)",
"submit": "Générer une nouvelle clé API"
},
"list": {
"title": "Vos clés API",
"searchPlaceholder": "Rechercher par description",
"filters": {
"allStatuses": "Tous les statuts",
"active": "Active",
"inactive": "Inactive",
"lastUsedAfter": "Dernière utilisation après",
"expiresBefore": "Expire avant",
"reset": "Réinitialiser"
},
"columns": {
"description": "Description",
"created": "Créée",
"lastUsed": "Dernière utilisation",
"expires": "Expiration",
"status": "Statut",
"actions": "Actions"
},
"never": "Jamais",
"status": {
"active": "Active",
"inactive": "Inactive"
},
"deactivate": "Désactiver"
},
"newKeyDialog": {
"title": "Clé API générée",
"warning": "Veuillez copier votre clé API maintenant. Pour des raisons de sécurité, elle ne sera plus affichée.",
"copy": "Copier dans le presse-papiers",
"download": "Télécharger en .txt",
"copySuccess": "Clé API copiée dans le presse-papiers !",
"copyFailed": "Échec de la copie de la clé API dans le presse-papiers",
"downloadFailed": "Échec du téléchargement de la clé API"
}
}
},
"platformUpdates": {
"detail": {
"back": "Retour",
"labels": {
"info": "Info",
"warning": "Avertissement",
"destructive": "Critique",
"success": "Succès",
"default": "Avis"
}
}
},
"connectSso": {
"verify": {
"title": "Sécurisez votre compte avec le SSO",
"description": "Liez Azure AD ou Google Workspace pour réutiliser les politiques de l'organisation et éviter les invites d'authentification à deux facteurs locales.",
"signedInAs": "Connecté en tant que",
"currentPassword": "Mot de passe actuel",
"twoFactorCode": "Code d'authentification à deux facteurs",
"twoFactorPlaceholder": "123456",
"verifyCredentials": "Vérifier les identifiants",
"verifying": "Vérification...",
"reset": "Réinitialiser",
"linkedSuccess": "Fournisseur lié avec succès.",
"credentialsVerified": "Identifiants vérifiés. Choisissez un fournisseur ci-dessous pour finaliser la liaison de votre compte.",
"verifyFailed": "Impossible de vérifier les identifiants.",
"verifyBeforeProvider": "Vérifiez votre mot de passe (et le code d'authentification à deux facteurs si requis) avant de connecter un fournisseur."
},
"providers": {
"title": "Connecter un fournisseur",
"description": "Choisissez un fournisseur pour finaliser la liaison SSO. Vous serez redirigé vers le flux de connexion du fournisseur.",
"noneConfigured": "Aucun fournisseur SSO n'est configuré pour cet environnement. Demandez à votre administrateur de configurer les identifiants Google ou Microsoft.",
"notConfigured": "Non configuré",
"branding": {
"google": "Continuer avec Google",
"microsoft": "Continuer avec Microsoft",
"default": "Continuer"
}
},
"linked": {
"title": "Comptes liés",
"description": "Nous actualiserons la liaison la prochaine fois que vous vous connecterez via un fournisseur connecté.",
"empty": "Aucun fournisseur SSO lié pour le moment. Suivez les étapes ci-dessus pour en connecter un.",
"linkedAt": "Lié le {{date}}",
"lastUsed": "Dernière utilisation le {{date}}",
"notUsedYet": "Pas encore utilisé"
}
}
}