From 428d28fade8016bc47b52d5f15e66f23fdf86bd6 Mon Sep 17 00:00:00 2001 From: Bryan Frimin Date: Mon, 27 Jul 2026 13:59:51 +0200 Subject: [PATCH] Add french translation keys Signed-off-by: Bryan Frimin --- apps/console/src/_locales/fr-FR.json | 6292 +++++++++++++++++ .../compliance-page/_locales/fr-FR.json | 834 +++ 2 files changed, 7126 insertions(+) create mode 100644 apps/console/src/_locales/fr-FR.json create mode 100644 apps/console/src/pages/organizations/compliance-page/_locales/fr-FR.json diff --git a/apps/console/src/_locales/fr-FR.json b/apps/console/src/_locales/fr-FR.json new file mode 100644 index 000000000..80b0849e8 --- /dev/null +++ b/apps/console/src/_locales/fr-FR.json @@ -0,0 +1,6292 @@ +{ + "size": { + "B": "o", + "KB": "Ko", + "MB": "Mo", + "GB": "Go", + "TB": "To" + }, + "duration": { + "seconds_one": "seconde", + "seconds_other": "secondes", + "minutes_one": "minute", + "minutes_other": "minutes", + "hours_one": "heure", + "hours_other": "heures", + "days_one": "jour", + "days_other": "jours", + "weeks_one": "semaine", + "weeks_other": "semaines", + "months_one": "mois", + "months_other": "mois", + "years_one": "an", + "years_other": "ans", + "session": "session", + "persistent": "persistant", + "min_one": "{{count}} minute", + "min_other": "{{count}} minutes", + "hour_one": "{{count}} heure", + "hour_other": "{{count}} heures" + }, + "dataPage": { + "pageTitle": "Données", + "title": "Données", + "description": "Gérez les actifs de données de votre organisation et leurs classifications.", + "actions": { + "document": "Document", + "publish": "Publier", + "add": "Ajouter une donnée", + "delete": "Supprimer" + }, + "columns": { + "name": "Nom", + "classification": "Classification", + "owner": "Propriétaire", + "thirdParties": "Tiers" + }, + "unassigned": "Non attribué", + "none": "Aucun" + }, + "datumDetails": { + "breadcrumbs": { + "data": "Données" + }, + "fields": { + "name": "Nom", + "classification": "Classification", + "owner": "Propriétaire", + "thirdParties": "Tiers" + }, + "classifications": { + "public": "Public", + "internal": "Interne", + "confidential": "Confidentiel", + "secret": "Secret" + }, + "validation": { + "nameRequired": "Le nom est requis", + "ownerRequired": "Le propriétaire est requis" + }, + "errors": { + "missingId": "L’identifiant de la donnée est manquant." + }, + "actions": { + "delete": "Supprimer", + "updating": "Mise à jour...", + "update": "Mettre à jour" + } + }, + "createDatumDialog": { + "breadcrumbs": { + "data": "Données", + "new": "Nouvelle donnée" + }, + "fields": { + "name": "Nom", + "classification": "Classification", + "owner": "Propriétaire", + "thirdParties": "Tiers" + }, + "classifications": { + "public": "Public", + "internal": "Interne", + "confidential": "Confidentiel", + "secret": "Secret" + }, + "validation": { + "nameRequired": "Le nom est requis", + "ownerRequired": "Le propriétaire est requis" + }, + "actions": { + "create": "Créer" + } + }, + "publishDataListDialog": { + "title": "Publier la liste des données", + "description": "Sélectionnez des approbateurs pour demander une approbation avant la publication, ou publiez directement sans approbateurs.", + "messages": { + "successTitle": "Succès", + "approvalRequested": "Approbation demandée avec succès.", + "published": "Liste des données publiée avec succès." + }, + "errors": { + "title": "Erreur", + "publish": "Échec de la publication de la liste des données" + }, + "fields": { + "approvers": "Approbateurs", + "approversPlaceholder": "Ajouter des approbateurs..." + }, + "actions": { + "publishMinor": "Publier en version mineure", + "requestApproval": "Demander une approbation", + "publish": "Publier" + } + }, + "documentLayout": { + "breadcrumbs": { + "documents": "Documents" + }, + "actions": { + "publish": "Publier" + }, + "status": { + "generated": "Généré", + "published": "Publié", + "pendingApproval": "En attente d’approbation", + "draft": "Brouillon", + "rejected": "Rejeté" + }, + "tabs": { + "description": "Description", + "controls": "Contrôles", + "approvals": "Approbations", + "signatures": "Signatures" + } + }, + "documentsPage": { + "pageTitle": "Documents", + "title": "Documents", + "description": "Gérez les documents de votre organisation", + "actions": { + "new": "Nouveau document" + }, + "tabs": { + "active": "Actifs", + "archived": "Archivés" + } + }, + "createDocumentDialog": { + "breadcrumbs": { + "documents": "Documents", + "new": "Nouveau document" + }, + "fields": { + "title": "Titre", + "titlePlaceholder": "Titre du document", + "approversPlaceholder": "Ajouter des approbateurs..." + }, + "properties": { + "title": "Propriétés", + "status": "Statut", + "type": "Type", + "classification": "Classification", + "approvers": "Approbateurs" + }, + "status": { + "draft": "Brouillon" + }, + "validation": { + "titleRequired": "Le titre est requis" + }, + "messages": { + "successTitle": "Succès", + "created": "Document créé avec succès." + }, + "errors": { + "title": "Erreur", + "create": "Échec de la création du document" + }, + "actions": { + "create": "Créer le document" + } + }, + "deleteDocumentDialog": { + "title": { + "single": "Supprimer le document", + "multiple": "Supprimer les documents" + }, + "confirmation": { + "single": "Voulez-vous vraiment supprimer le document « {{title}} » ?", + "selected_one": "Voulez-vous vraiment supprimer {{count}} document sélectionné ?", + "selected_other": "Voulez-vous vraiment supprimer {{count}} documents sélectionnés ?" + }, + "irreversible": "Cette action est irréversible.", + "actions": { + "delete": "Supprimer" + } + }, + "documentActions": { + "messages": { + "successTitle": "Succès", + "archived": "Document archivé avec succès.", + "unarchived": "Document désarchivé avec succès.", + "draftDeleted": "Brouillon supprimé avec succès." + }, + "errors": { + "title": "Erreur", + "archive": "Échec de l’archivage du document", + "unarchive": "Échec du désarchivage du document", + "deleteDraft": "Échec de la suppression du brouillon", + "generatePdf": "Échec de la génération du PDF" + }, + "confirmations": { + "archive": "Cette action archivera le document « {{title}} ». Il ne sera plus modifiable.", + "deleteDraft": "Cette action supprimera le brouillon actuel et rétablira la dernière version publiée." + }, + "actions": { + "downloadPdf": "Télécharger le PDF", + "deleteDraft": "Supprimer le brouillon", + "archive": "Archiver", + "archiveDocument": "Archiver le document", + "unarchiveDocument": "Désarchiver le document", + "deleteDocument": "Supprimer le document" + } + }, + "documentDetails": { + "fields": { + "type": "Type", + "classification": "Classification", + "approvers": "Approbateurs", + "approversPlaceholder": "Ajouter des approbateurs...", + "version": "Version", + "lastModified": "Dernière modification", + "publishedDate": "Date de publication", + "archivedOn": "Archivé le" + }, + "documentTypes": { + "other": "Autre", + "governance": "Gouvernance", + "policy": "Politique", + "procedure": "Procédure", + "plan": "Plan", + "register": "Registre", + "record": "Enregistrement", + "report": "Rapport", + "template": "Modèle", + "statement_of_applicability": "Déclaration d’applicabilité" + }, + "classifications": { + "public": "Public", + "internal": "Interne", + "confidential": "Confidentiel", + "secret": "Secret" + }, + "messages": { + "successTitle": "Succès", + "typeUpdated": "Type de document mis à jour avec succès", + "classificationUpdated": "Classification du document mise à jour avec succès", + "approversUpdated": "Approbateurs mis à jour avec succès" + }, + "errors": { + "title": "Erreur", + "updateType": "Échec de la mise à jour du type de document", + "updateClassification": "Échec de la mise à jour de la classification du document", + "updateApprovers": "Échec de la mise à jour des approbateurs" + }, + "none": "Aucun" + }, + "documentList": { + "filters": { + "allSources": "Toutes les sources", + "allTypes": "Tous les types", + "allClassifications": "Toutes les classifications" + }, + "writeModes": { + "authored": "Rédigé", + "generated": "Généré" + }, + "documentTypes": { + "other": "Autre", + "governance": "Gouvernance", + "policy": "Politique", + "procedure": "Procédure", + "plan": "Plan", + "register": "Registre", + "record": "Enregistrement", + "report": "Rapport", + "template": "Modèle", + "statement_of_applicability": "Déclaration d’applicabilité" + }, + "classifications": { + "public": "Public", + "internal": "Interne", + "confidential": "Confidentiel", + "secret": "Secret" + }, + "columns": { + "name": "Nom", + "status": "Statut", + "version": "Version", + "type": "Type", + "classification": "Classification", + "approvers": "Approbateurs", + "lastUpdate": "Dernière mise à jour", + "signatures": "Signatures" + }, + "selected_one": "{{count}} document sélectionné", + "selected_other": "{{count}} documents sélectionnés", + "messages": { + "archived": "Documents archivés avec succès.", + "unarchived": "Documents désarchivés avec succès." + }, + "errors": { + "archive": "Échec de l’archivage des documents", + "unarchive": "Échec du désarchivage des documents" + }, + "actions": { + "clearSelection": "Effacer la sélection", + "unarchive": "Désarchiver", + "delete": "Supprimer", + "publish": "Publier", + "requestSignature": "Demander une signature", + "export": "Exporter", + "archive": "Archiver" + }, + "empty": { + "title": "Aucun document pour le moment", + "archivedTitle": "Aucun document archivé", + "description": "Créez votre premier document pour commencer." + } + }, + "documentListItem": { + "status": { + "draft": "Brouillon", + "pendingApproval": "En attente d’approbation", + "published": "Publié", + "rejected": "Rejeté" + }, + "documentTypes": { + "other": "Autre", + "governance": "Gouvernance", + "policy": "Politique", + "procedure": "Procédure", + "plan": "Plan", + "register": "Registre", + "record": "Enregistrement", + "report": "Rapport", + "template": "Modèle", + "statement_of_applicability": "Déclaration d’applicabilité" + }, + "classifications": { + "public": "Public", + "internal": "Interne", + "confidential": "Confidentiel", + "secret": "Secret" + }, + "messages": { + "successTitle": "Succès", + "archived": "Document archivé avec succès.", + "unarchived": "Document désarchivé avec succès." + }, + "errors": { + "title": "Erreur", + "archive": "Échec de l’archivage du document", + "unarchive": "Échec du désarchivage du document" + }, + "confirmations": { + "archive": "Cette action archivera le document « {{title}} ». Il ne sera plus modifiable." + }, + "actions": { + "archive": "Archiver", + "unarchive": "Désarchiver", + "delete": "Supprimer" + } + }, + "documentTitleForm": { + "validation": { + "titleRequired": "Le titre est requis" + }, + "errors": { + "title": "Erreur", + "update": "Échec de la mise à jour du document" + } + }, + "documentVersionsDropdown": { + "title": "Historique des versions" + }, + "documentVersionsDropdownItem": { + "status": { + "draft": "Brouillon", + "pendingApproval": "En attente d’approbation" + } + }, + "publishDialog": { + "title": "Publier le document", + "validation": { + "changelogRequired": "Le journal des modifications est requis" + }, + "messages": { + "successTitle": "Succès", + "approvalRequested": "Approbation demandée avec succès.", + "published": "Document publié avec succès." + }, + "errors": { + "title": "Erreur", + "publish": "Échec de la publication du document" + }, + "fields": { + "changelog": "Journal des modifications", + "changelogPlaceholder": "Décrivez ce qui a changé dans cette version...", + "approvers": "Approbateurs", + "approversPlaceholder": "Ajouter des approbateurs..." + }, + "approversDescription": "Les approbateurs recevront un e-mail et le document sera publié en version majeure une fois que tous auront approuvé. Supprimez tous les approbateurs pour publier directement en version majeure.", + "actions": { + "publishMinor": "Publier en version mineure", + "requestApproval": "Demander une approbation", + "publishMajor": "Publier en version majeure" + } + }, + "publishDocumentsDialog": { + "title": "Publier des documents", + "validation": { + "changelogRequired": "Le journal des modifications est requis" + }, + "messages": { + "successTitle": "Succès", + "published_one": "{{count}} document publié", + "published_other": "{{count}} documents publiés" + }, + "errors": { + "title": "Erreur", + "publish": "Échec de la publication des documents" + }, + "warning": { + "approval": "La publication en version majeure demandera une approbation pour les documents ayant des approbateurs par défaut configurés. Les approbateurs recevront une notification par e-mail.", + "skipped": "Les documents déjà publiés et en attente d’approbation seront ignorés." + }, + "fields": { + "changelog": "Journal des modifications", + "changelogPlaceholder": "Décrivez les changements apportés dans cette version..." + }, + "actions": { + "publishMinor": "Publier en version mineure", + "publish_one": "Publier {{count}} document", + "publish_other": "Publier {{count}} documents" + } + }, + "signatureDocumentsDialog": { + "breadcrumbs": { + "documents": "Documents", + "requests": "Demandes de signature" + }, + "messages": { + "created_one": "{{count}} demande de signature créée", + "created_other": "{{count}} demandes de signature créées" + }, + "errors": { + "create": "Échec de la création des demandes de signature" + }, + "actions": { + "request": "Demander des signatures", + "showMore": "Afficher {{count}} de plus" + } + }, + "documentApprovalsPage": { + "previousRequests": "Demandes d’approbation précédentes", + "status": { + "approved": "Approuvé", + "rejected": "Rejeté", + "voided": "Annulé", + "pending": "En attente" + } + }, + "documentApprovalList": { + "confirmation": { + "void": "Cette action annulera la demande d’approbation en cours et remettra la version à l’état de brouillon. Cette action est irréversible." + }, + "status": { + "pending": "En attente", + "approved": "Approuvée", + "rejected": "Rejetée", + "voided": "Annulée" + }, + "actions": { + "void": "Annuler l’approbation", + "cancel": "Annuler" + }, + "empty": "Aucune décision d’approbation pour le moment." + }, + "documentApprovalListItem": { + "dates": { + "requested": "Demandé le {{date}}", + "approved": "Approuvé le {{date}}", + "rejected": "Rejeté le {{date}}" + }, + "status": { + "approved": "Approuvé", + "rejected": "Rejeté", + "pending": "En attente", + "voided": "Annulé" + }, + "actions": { + "review": "Examiner" + } + }, + "documentApprovePage": { + "pageTitle": "Examiner et approuver le document", + "version": "v{{major}}.{{minor}}", + "versionWithDate": "v{{major}}.{{minor}} - {{date}}", + "status": { + "approved": "Approuvé", + "rejected": "Rejeté", + "voided": "Annulé", + "inReview": "En cours d’examen", + "pending": "En attente" + }, + "messages": { + "noLongerRequired": "Votre approbation n’est plus requise pour cette version.", + "approved": "Vous avez approuvé ce document.", + "rejected": "Vous avez rejeté ce document.", + "successTitle": "Succès", + "approvalSuccess": "Document approuvé avec succès", + "rejectionSuccess": "Document rejeté" + }, + "errors": { + "title": "Erreur", + "approve": "Échec de l’approbation du document", + "reject": "Échec du rejet du document", + "loadPdf": "Échec du chargement du PDF" + }, + "actions": { + "back": "Retour aux documents", + "approve": "Approuver", + "reject": "Rejeter" + }, + "rejectDialog": { + "title": "Rejeter le document", + "description": "Veuillez indiquer un motif de rejet de ce document. Le document repassera au statut de brouillon.", + "placeholder": "Motif du rejet…", + "submit": "Rejeter le document" + }, + "reviewHint": "Veuillez examiner attentivement le document avant de prendre votre décision." + }, + "documentDescriptionPage": { + "messages": { + "successTitle": "Succès", + "saved": "Contenu enregistré" + }, + "errors": { + "title": "Erreur", + "save": "Contenu non enregistré" + } + }, + "documentSignaturesPage": { + "filter": { + "label": "Filtrer par état :" + }, + "states": { + "requested": "Demandée", + "signed": "Signée" + } + }, + "documentSignatureListItem": { + "dates": { + "signed": "Signé le {{date}}", + "requested": "Demandé le {{date}}" + }, + "messages": { + "cancelled": "Demande annulée avec succès" + }, + "errors": { + "cancel": "Échec de l’annulation de la demande de signature" + }, + "status": { + "signed": "Signé" + }, + "actions": { + "cancel": "Annuler la demande" + } + }, + "documentSignaturePlaceholder": { + "messages": { + "sent": "Demande de signature envoyée avec succès" + }, + "errors": { + "send": "Échec de l’envoi de la demande de signature" + }, + "actions": { + "request": "Demander une signature" + } + }, + "employeeApprovalsPage": { + "pageTitle": "Documents", + "columns": { + "name": "Nom", + "type": "Type", + "classification": "Classification", + "lastUpdate": "Dernière mise à jour", + "approved": "Approuvé" + }, + "empty": { + "title": "Aucun document pour le moment", + "description": "Aucun document n’a été soumis à votre approbation." + } + }, + "employeeDocumentSignaturePage": { + "pageTitle": "Signer le document", + "messages": { + "successTitle": "Succès", + "signed": "Document signé avec succès" + }, + "errors": { + "title": "Erreur", + "sign": "Échec de la signature du document", + "loadPdf": "Échec du chargement du PDF" + }, + "reviewHint": "Veuillez examiner attentivement le document avant de le signer." + }, + "employeeDocumentsPage": { + "pageTitle": "Documents", + "columns": { + "name": "Nom", + "type": "Type", + "classification": "Classification", + "lastUpdate": "Dernière mise à jour", + "signed": "Signé" + }, + "empty": { + "title": "Aucun document pour le moment", + "description": "Aucun document n’a été demandé pour votre signature." + } + }, + "employeeTabsLayout": { + "title": "Documents", + "tabs": { + "signatures": "Signatures", + "approvals": "Approbations" + } + }, + "approvableDocumentRow": { + "states": { + "approved": "Approuvé", + "rejected": "Rejeté", + "noLongerRequired": "Plus nécessaire", + "pending": "En attente" + }, + "documentTypes": { + "other": "Autre", + "governance": "Gouvernance", + "policy": "Politique", + "procedure": "Procédure", + "plan": "Plan", + "register": "Registre", + "record": "Enregistrement", + "report": "Rapport", + "template": "Modèle", + "statement_of_applicability": "Déclaration d’applicabilité" + }, + "classifications": { + "public": "Public", + "internal": "Interne", + "confidential": "Confidentiel", + "secret": "Secret" + } + }, + "employeeDocumentRow": { + "documentTypes": { + "other": "Autre", + "governance": "Gouvernance", + "policy": "Politique", + "procedure": "Procédure", + "plan": "Plan", + "register": "Registre", + "record": "Enregistrement", + "report": "Rapport", + "template": "Modèle", + "statement_of_applicability": "Déclaration d’applicabilité" + }, + "classifications": { + "public": "Public", + "internal": "Interne", + "confidential": "Confidentiel", + "secret": "Secret" + }, + "signed": { + "yes": "Oui", + "no": "Non" + } + }, + "versionActions": { + "actions": { + "back": "Retour aux documents", + "reviewAndSign": "Examiner et signer" + } + }, + "versionRow": { + "version": "v{{major}}.{{minor}}", + "versionWithDate": "v{{major}}.{{minor}} - {{date}}", + "status": { + "signed": "Signé", + "inReview": "En revue", + "waitingSignature": "En attente de signature" + } + }, + "findingDetails": { + "breadcrumbs": { + "findings": "Constats" + }, + "unknown": "Constat inconnu", + "kinds": { + "minor_nonconformity": "Non-conformité mineure", + "major_nonconformity": "Non-conformité majeure", + "observation": "Observation", + "exception": "Exception" + }, + "status": { + "open": "Ouvert", + "in_progress": "En cours", + "closed": "Fermé", + "mitigated": "Atténué", + "false_positive": "Faux positif" + }, + "priority": { + "low": "Faible", + "medium": "Moyenne", + "high": "Élevée" + }, + "messages": { + "successTitle": "Succès", + "deleted": "Constat supprimé avec succès", + "updated": "Constat mis à jour avec succès" + }, + "errors": { + "title": "Erreur", + "delete": "Échec de la suppression du constat", + "update": "Échec de la mise à jour du constat" + }, + "deleteConfirmation": "Cette action supprimera définitivement le constat {{referenceId}}. Cette action est irréversible.", + "fields": { + "description": "Description", + "source": "Source", + "owner": "Propriétaire", + "status": "Statut", + "priority": "Priorité", + "dateIdentified": "Date d’identification", + "dueDate": "Date d’échéance", + "rootCause": "Cause racine", + "correctiveAction": "Action corrective", + "effectivenessCheck": "Vérification de l’efficacité" + }, + "placeholders": { + "description": "Saisir une description", + "source": "Saisir la source", + "rootCause": "Saisir la cause racine", + "correctiveAction": "Saisir l’action corrective", + "effectivenessCheck": "Saisir les détails de la vérification de l’efficacité" + }, + "actions": { + "delete": "Supprimer", + "updating": "Mise à jour...", + "update": "Mettre à jour" + } + }, + "findingsPage": { + "pageTitle": "Constats", + "title": "Constats", + "description": "Gérez les constats de votre organisation.", + "filters": { + "allKinds": "Tous les types", + "allStatuses": "Tous les statuts", + "allPriorities": "Toutes les priorités", + "allOwners": "Tous les propriétaires" + }, + "kinds": { + "minor_nonconformity": "Non-conformité mineure", + "major_nonconformity": "Non-conformité majeure", + "minorNonconformity": "Non-conformité mineure", + "majorNonconformity": "Non-conformité majeure", + "observation": "Observation", + "exception": "Exception" + }, + "status": { + "open": "Ouvert", + "in_progress": "En cours", + "closed": "Fermé", + "risk_accepted": "Risque accepté", + "mitigated": "Atténué", + "false_positive": "Faux positif" + }, + "priority": { + "low": "Faible", + "medium": "Moyenne", + "high": "Élevée" + }, + "columns": { + "kind": "Type", + "referenceId": "ID de référence", + "description": "Description", + "status": "Statut", + "priority": "Priorité", + "owner": "Propriétaire", + "dueDate": "Date d’échéance", + "actions": "Actions" + }, + "actions": { + "document": "Document", + "publish": "Publier", + "add": "Ajouter un constat", + "loadMore": "Charger plus", + "delete": "Supprimer" + }, + "loading": "Chargement...", + "noDescription": "Aucune description", + "noDueDate": "Aucune date d’échéance", + "empty": { + "title": "Aucun constat pour le moment", + "description": "Créez votre premier constat pour commencer." + }, + "messages": { + "successTitle": "Succès", + "deleted": "Constat supprimé avec succès" + }, + "errors": { + "title": "Erreur", + "delete": "Échec de la suppression du constat" + }, + "deleteConfirmation": "Cette action supprimera définitivement le constat {{referenceId}}. Cette action est irréversible." + }, + "createFindingDialog": { + "breadcrumbs": { + "findings": "Constats", + "create": "Créer" + }, + "kinds": { + "minorNonconformity": "Non-conformité mineure", + "majorNonconformity": "Non-conformité majeure", + "observation": "Observation", + "exception": "Exception" + }, + "status": { + "open": "Ouvert", + "in_progress": "En cours", + "closed": "Fermé", + "mitigated": "Atténué", + "false_positive": "Faux positif" + }, + "priority": { + "low": "Faible", + "medium": "Moyenne", + "high": "Élevée" + }, + "messages": { + "successTitle": "Succès", + "created": "Constat créé avec succès" + }, + "errors": { + "title": "Erreur", + "create": "Échec de la création du constat" + }, + "fields": { + "kind": "Type", + "description": "Description", + "source": "Source", + "owner": "Propriétaire", + "status": "Statut", + "priority": "Priorité", + "dateIdentified": "Date d’identification", + "dueDate": "Date d’échéance", + "rootCause": "Cause racine", + "correctiveAction": "Action corrective", + "effectivenessCheck": "Contrôle d’efficacité" + }, + "placeholders": { + "selectKind": "Sélectionner un type", + "description": "Brève description du constat...", + "source": "Saisir la source", + "selectStatus": "Sélectionner un statut", + "rootCause": "Analyse détaillée de la cause principale...", + "correctiveAction": "Actions correctives proposées...", + "effectivenessCheck": "Évaluation de l’efficacité des actions correctives..." + }, + "actions": { + "creating": "Création...", + "create": "Créer un constat" + } + }, + "publishFindingListDialog": { + "title": "Publier la liste des constats", + "description": "Sélectionnez des approbateurs pour demander une approbation avant la publication, ou publiez directement sans approbateurs.", + "messages": { + "successTitle": "Succès", + "approvalRequested": "Approbation demandée avec succès.", + "published": "Liste des constats publiée avec succès." + }, + "errors": { + "title": "Erreur", + "publish": "Échec de la publication de la liste des constats" + }, + "fields": { + "approvers": "Approbateurs", + "approversPlaceholder": "Ajouter des approbateurs..." + }, + "actions": { + "publishMinor": "Publier en version mineure", + "requestApproval": "Demander une approbation", + "publish": "Publier" + } + }, + "tasks": { + "title": "Tâches", + "description": "Suivez les tâches de conformité qui vous sont assignées et gardez votre progression sur la bonne voie.", + "actions": { + "create": "Nouvelle tâche" + } + }, + "pageError": { + "actions": { + "goHome": "Retour à l’accueil" + }, + "notFound": { + "title": "Page introuvable", + "description": "La page que vous recherchez n’existe pas." + }, + "unexpected": { + "title": "Un problème est survenu", + "description": "Nous avons rencontré une erreur inattendue. Retournez à l’accueil pour continuer." + }, + "technicalDetails": "Détails techniques" + }, + "sortableTable": { + "actions": { + "showMore": "Afficher plus" + } + }, + "assetsTable": { + "columns": { + "name": "Nom", + "type": "Type", + "dataTypesStored": "Types de données stockées", + "amount": "Quantité", + "owner": "Propriétaire", + "thirdParties": "Tiers" + }, + "actions": { + "add": "Ajouter un nouvel actif", + "edit": "Modifier", + "delete": "Supprimer" + }, + "assetTypes": { + "physical": "Physique", + "virtual": "Virtuel" + }, + "delete": { + "missingIdOrName": "Échec de la suppression de l’actif : identifiant ou nom manquant", + "confirmation": "Cette action supprimera définitivement « {{name}} ». Cette action est irréversible." + } + }, + "readOnlyAssetsTable": { + "columns": { + "name": "Nom", + "type": "Type", + "amount": "Montant", + "owner": "Propriétaire", + "thirdParties": "Tiers" + }, + "assetTypes": { + "physical": "Physique", + "virtual": "Virtuel" + }, + "unassigned": "Non attribué", + "none": "Aucun" + }, + "linkedAuditsCard": { + "title": "Audits", + "columns": { + "name": "Nom", + "state": "État" + }, + "empty": "Aucun audit associé", + "actions": { + "link": "Associer un audit", + "unlink": "Dissocier", + "showMore": "Afficher {{count}} de plus" + } + }, + "linkedAuditsDialog": { + "title": "Associer des audits", + "searchPlaceholder": "Rechercher des audits...", + "actions": { + "close": "Fermer", + "link": "Associer", + "unlink": "Dissocier" + } + }, + "linkedControlsCard": { + "columns": { + "reference": "Référence", + "name": "Nom" + }, + "empty": "Aucun contrôle associé", + "actions": { + "link": "Associer un contrôle", + "unlink": "Dissocier" + } + }, + "linkedControlsDialog": { + "title": "Associer des contrôles", + "searchPlaceholder": "Rechercher des contrôles...", + "actions": { + "link": "Associer", + "unlink": "Dissocier" + } + }, + "bulkExportDialog": { + "title": "Exporter {{count}} documents", + "includeSignatures": { + "label": "Inclure les signatures", + "description": "Afficher les informations de signature et les détails d’approbation dans les PDF" + }, + "watermark": { + "label": "Ajouter un filigrane", + "description": "Ajouter un filigrane confidentiel avec e-mail et horodatage à tous les PDF", + "emailLabel": "E-mail du filigrane", + "emailPlaceholder": "Saisissez une adresse e-mail" + }, + "notice": "Les documents seront exportés sous forme de fichiers PDF individuels dans une archive ZIP. Vous recevrez un e-mail lorsque l’export sera prêt à être téléchargé.", + "actions": { + "export": "Exporter les documents", + "exporting": "Export en cours..." + } + }, + "linkedDocumentsCard": { + "title": "Documents", + "columns": { + "name": "Nom", + "type": "Type", + "state": "État" + }, + "empty": "Aucun document associé", + "actions": { + "link": "Associer un document", + "unlink": "Dissocier", + "showMore": "Afficher {{count}} de plus" + } + }, + "linkedDocumentsDialog": { + "title": "Associer des documents", + "searchPlaceholder": "Rechercher des documents...", + "actions": { + "close": "Fermer", + "link": "Associer", + "unlink": "Dissocier" + } + }, + "pdfDownloadDialog": { + "title": "Options de téléchargement du PDF", + "includeSignatures": { + "label": "Inclure les signatures", + "description": "Afficher les informations de signature et les détails d’approbation dans le PDF" + }, + "watermark": { + "label": "Ajouter un filigrane", + "description": "Ajouter un filigrane confidentiel avec l’e-mail et l’horodatage", + "emailLabel": "E-mail du filigrane", + "emailPlaceholder": "Saisir une adresse e-mail" + }, + "actions": { + "download": "Télécharger le PDF", + "downloading": "Téléchargement..." + } + }, + "auditSelectField": { + "placeholder": "Sélectionner un audit", + "none": "Aucun" + }, + "controlMaturityLevelOptions": { + "levels": { + "NONE": "0 - Aucun", + "INITIAL": "1 - Initial", + "MANAGED": "2 - Géré", + "DEFINED": "3 - Défini", + "QUANTITATIVELY_MANAGED": "4 - Géré quantitativement", + "OPTIMIZING": "5 - Optimisé" + } + }, + "countriesField": { + "searchPlaceholder": "Rechercher et ajouter des pays..." + }, + "documentClassificationOptions": { + "classifications": { + "PUBLIC": "Public", + "INTERNAL": "Interne", + "CONFIDENTIAL": "Confidentiel", + "SECRET": "Secret" + } + }, + "documentTypeOptions": { + "types": { + "OTHER": "Autre", + "GOVERNANCE": "Gouvernance", + "POLICY": "Politique", + "PROCEDURE": "Procédure", + "PLAN": "Plan", + "REGISTER": "Registre", + "RECORD": "Enregistrement", + "REPORT": "Rapport", + "TEMPLATE": "Modèle", + "STATEMENT_OF_APPLICABILITY": "Déclaration d’applicabilité" + } + }, + "emailsField": { + "additionalEmails": "Adresses e-mail supplémentaires", + "actions": { + "add": "Ajouter un e-mail" + } + }, + "measureSelectField": { + "placeholder": "Sélectionner une mesure", + "none": "Aucune" + }, + "peopleMultiSelectField": { + "addPlaceholder": "Ajouter des personnes...", + "empty": "Aucune personne disponible" + }, + "peopleSelectField": { + "placeholder": "Sélectionner un propriétaire", + "none": "Aucun" + }, + "processingActivityEnumOptions": { + "specialOrCriminalData": { + "yes": "Oui", + "no": "Non", + "possible": "Possible" + }, + "lawfulBasis": { + "consent": "Consentement", + "contractualNecessity": "Nécessité contractuelle", + "legalObligation": "Obligation légale", + "legitimateInterest": "Intérêt légitime", + "publicTask": "Mission d’intérêt public", + "vitalInterests": "Intérêts vitaux" + }, + "residualRisk": { + "low": "Faible", + "medium": "Moyen", + "high": "Élevé" + }, + "transferSafeguards": { + "none": "Aucune", + "standardContractualClauses": "Clauses contractuelles types", + "bindingCorporateRules": "Règles d’entreprise contraignantes", + "adequacyDecision": "Décision d’adéquation", + "derogations": "Dérogations", + "codesOfConduct": "Codes de conduite", + "certificationMechanisms": "Mécanismes de certification" + }, + "dataProtectionImpactAssessment": { + "needed": "Nécessaire", + "notNeeded": "Non nécessaire" + }, + "transferImpactAssessment": { + "needed": "Nécessaire", + "notNeeded": "Non nécessaire" + }, + "roles": { + "controller": "Responsable du traitement", + "processor": "Sous-traitant" + } + }, + "thirdPartiesMultiSelectField": { + "addPlaceholder": "Ajouter des tiers...", + "empty": "Aucun tiers disponible" + }, + "linkedMeasuresCard": { + "title": "Mesures", + "columns": { + "name": "Nom", + "state": "État" + }, + "empty": "Aucune mesure associée", + "actions": { + "link": "Associer une mesure", + "unlink": "Dissocier", + "showMore": "Afficher {{count}} de plus" + } + }, + "linkedMeasuresDialog": { + "title": "Associer des mesures", + "searchPlaceholder": "Rechercher des mesures...", + "allCategories": "Toutes les catégories", + "actions": { + "close": "Fermer", + "link": "Associer", + "unlink": "Dissocier" + } + }, + "linkedObligationsCard": { + "title": "Obligations", + "columns": { + "area": "Domaine", + "source": "Source", + "status": "Statut", + "owner": "Propriétaire" + }, + "empty": "Aucune obligation associée", + "noArea": "Aucun domaine spécifié", + "noSource": "Aucune source spécifiée", + "unassigned": "Non attribué", + "actions": { + "link": "Associer une obligation", + "unlink": "Dissocier", + "showMore": "Afficher {{count}} de plus" + } + }, + "linkedObligationsDialog": { + "title": "Associer des obligations", + "searchPlaceholder": "Rechercher des obligations...", + "noArea": "Aucun domaine spécifié", + "noSource": "Aucune source spécifiée", + "unassigned": "Non attribué", + "actions": { + "close": "Fermer", + "link": "Associer", + "unlink": "Dissocier" + } + }, + "deleteOrganizationDialog": { + "title": "Supprimer l’organisation", + "description": "Cette action supprimera définitivement l’organisation {{organizationName}} et toutes ses données.", + "warning": "Cette action est irréversible.", + "confirmationLabel": "Pour confirmer la suppression, saisissez « {{organizationName}} » ci-dessous :", + "actions": { + "delete": "Supprimer l’organisation", + "deleting": "Suppression..." + } + }, + "linkedRisksCard": { + "columns": { + "name": "Nom", + "initialRisk": "Risque initial", + "residualRisk": "Risque résiduel" + }, + "empty": "Aucun risque associé", + "actions": { + "link": "Associer un risque", + "unlink": "Dissocier" + } + }, + "linkedRisksDialog": { + "title": "Associer des risques", + "searchPlaceholder": "Rechercher des risques...", + "allCategories": "Toutes les catégories", + "actions": { + "close": "Fermer", + "link": "Associer", + "unlink": "Dissocier" + } + }, + "controlSkeleton": { + "actions": { + "edit": "Modifier le contrôle" + } + }, + "risksPageSkeleton": { + "title": "Risques", + "actions": { + "create": "Nouveau risque" + } + }, + "graphQLCell": { + "searchPlaceholder": "Rechercher" + }, + "sortableDataTable": { + "actions": { + "showMore": "Afficher plus" + } + }, + "linkedStatementsOfApplicabilityCard": { + "title": "Déclarations d’applicabilité", + "columns": { + "name": "Nom", + "applicability": "Applicabilité", + "justification": "Justification" + }, + "empty": "Aucune déclaration d’applicabilité associée", + "applicable": "Applicable", + "notApplicable": "Non applicable", + "actions": { + "link": "Associer une déclaration d’applicabilité", + "unlink": "Dissocier", + "showMore": "Afficher {{count}} de plus" + } + }, + "linkedStatementsOfApplicabilityDialog": { + "title": "Associer une déclaration d’applicabilité", + "empty": { + "title": "Aucune déclaration d’applicabilité disponible", + "description": "Créez d’abord une déclaration d’applicabilité pour l’associer à ce contrôle" + }, + "select": "Sélectionnez une déclaration d’applicabilité :", + "linked": "Associée", + "selected": "Sélectionnée :", + "applicable": "Applicable", + "justification": { + "label": "Justification (facultatif)", + "placeholder": "Ajouter une justification..." + }, + "actions": { + "back": "Retour", + "change": "Modifier", + "close": "Fermer", + "link": "Associer", + "unlink": "Dissocier" + } + }, + "taskFormDialog": { + "breadcrumb": { + "tasks": "Tâches", + "edit": "Modifier la tâche", + "new": "Nouvelle tâche" + }, + "properties": "Propriétés", + "fields": { + "title": { + "placeholder": "Titre de la tâche" + }, + "description": { + "placeholder": "Ajouter une description" + }, + "state": { + "label": "État" + }, + "priority": { + "label": "Priorité" + }, + "assignedTo": { + "label": "Assigné à" + }, + "measure": { + "label": "Mesure" + }, + "timeEstimate": { + "label": "Estimation de temps" + }, + "deadline": { + "label": "Échéance" + } + }, + "states": { + "todo": "À faire", + "inProgress": "En cours", + "done": "Terminé" + }, + "priorities": { + "urgent": "Urgente", + "high": "Haute", + "medium": "Moyenne", + "low": "Basse" + }, + "messages": { + "created": "Tâche créée avec succès.", + "updated": "Tâche mise à jour avec succès." + }, + "errors": { + "create": "Échec de la création de la tâche", + "update": "Échec de la mise à jour de la tâche" + }, + "actions": { + "create": "Créer la tâche", + "update": "Mettre à jour la tâche" + } + }, + "tasksCard": { + "states": { + "all": "Toutes", + "todo": "À faire", + "inProgress": "En cours", + "done": "Terminé" + }, + "empty": "Aucune tâche", + "error": { + "title": "Erreur", + "reorder": "Échec de la réorganisation de la tâche." + }, + "dragInstructions": { + "all": "Glissez-déposez pour réorganiser les tâches ou les déplacer entre les états", + "state": "Glissez-déposez pour réorganiser les tâches" + }, + "duration": { + "minutes_one": "{{count}} minute", + "minutes_other": "{{count}} minutes", + "hours_one": "{{count}} heure", + "hours_other": "{{count}} heures", + "weeks_one": "{{count}} semaine", + "weeks_other": "{{count}} semaines", + "days_one": "{{count}} jour", + "days_other": "{{count}} jours" + }, + "deleteConfirmation": "Voulez-vous vraiment supprimer cette tâche ?", + "actions": { + "moveToInProgress": "Déplacer vers En cours", + "moveToDone": "Déplacer vers Terminé", + "edit": "Modifier", + "delete": "Supprimer" + } + }, + "deleteTrustCenterReferenceDialog": { + "title": "Supprimer la référence", + "description": "Voulez-vous vraiment supprimer la référence « {{referenceName}} » ?", + "warning": "Cette action est irréversible.", + "actions": { + "delete": "Supprimer", + "deleting": "Suppression..." + } + }, + "trustCenterReferenceDialog": { + "fields": { + "name": { + "label": "Nom de la référence", + "placeholder": "Nom de l’entreprise ou de l’organisation" + }, + "description": { + "label": "Description", + "placeholder": "Brève description de la référence" + }, + "websiteUrl": { + "label": "URL du site web", + "placeholder": "https://example.com" + }, + "rank": { + "label": "Rang", + "placeholder": "Ordre d’affichage (1, 2, 3...)", + "help": "Les nombres les plus petits apparaissent en premier" + }, + "logo": { + "label": "Logo", + "description": "Téléversez une image de logo (PNG, JPG, WEBP, SVG jusqu’à 5 Mo)", + "selectedFile": "Fichier sélectionné", + "keepCurrent": "Le logo actuel sera conservé si aucun nouveau fichier n’est téléversé", + "required": "Le logo est obligatoire pour les nouvelles références" + } + }, + "actions": { + "add": "Ajouter une référence", + "edit": "Modifier la référence", + "update": "Mettre à jour la référence" + } + }, + "thirdPartyForm": { + "messages": { + "updated": "Tiers mis à jour avec succès.", + "updateError": "Échec de la mise à jour du tiers" + } + }, + "assetGraph": { + "deleteConfirmation": "Cette action supprimera définitivement « {{name}} ». Cette action est irréversible.", + "errors": { + "deleteMissingIdOrName": "Échec de la suppression de l’actif : identifiant ou nom manquant", + "createNameRequired": "Échec de la création de l’actif : le nom est requis", + "createOwnerRequired": "Échec de la création de l’actif : le propriétaire est requis", + "createOrganizationRequired": "Échec de la création de l’actif : l’organisation est requise", + "createDataTypesStoredRequired": "Échec de la création de l’actif : les types de données stockées sont requis", + "updateIdRequired": "Échec de la mise à jour de l’actif : l’identifiant de l’actif est requis" + } + }, + "auditGraph": { + "deleteConfirmation": "Cette action supprimera définitivement l’audit pour {{frameworkName}}. Cette action est irréversible.", + "messages": { + "deleted": "Audit supprimé avec succès", + "reportUploaded": "Rapport d’audit téléversé avec succès", + "reportDeleted": "Rapport d’audit supprimé avec succès" + }, + "errors": { + "delete": "Échec de la suppression de l’audit", + "createOrganizationRequired": "Échec de la création de l’audit : l’organisation est requise", + "createFrameworkRequired": "Échec de la création de l’audit : le référentiel est requis", + "updateIdRequired": "Échec de la mise à jour de l’audit : l’identifiant de l’audit est requis", + "uploadReport": "Échec du téléversement du rapport d’audit", + "uploadReportIdRequired": "Échec du téléversement du rapport : l’identifiant de l’audit est requis", + "deleteReport": "Échec de la suppression du rapport d’audit" + } + }, + "datumGraph": { + "deleteConfirmation": "Cela supprimera définitivement « {{name}} ». Cette action est irréversible.", + "errors": { + "deleteMissingIdOrName": "Échec de la suppression de la donnée : ID ou nom manquant", + "createNameRequired": "Échec de la création de la donnée : le nom est requis", + "createOwnerRequired": "Échec de la création de la donnée : le propriétaire est requis", + "createOrganizationRequired": "Échec de la création de la donnée : l’organisation est requise", + "updateMissingId": "Échec de la mise à jour de la donnée : ID manquant" + } + }, + "documentGraph": { + "messages": { + "deleted": "Document supprimé avec succès.", + "bulkDeleted": "Documents supprimés avec succès.", + "exportStarted": "L’export du document a démarré avec succès. Vous recevrez un e-mail lorsque l’export sera prêt." + }, + "errors": { + "delete": "Échec de la suppression du document", + "bulkDelete": "Échec de la suppression des documents", + "export": "Échec du démarrage de l’export du document" + } + }, + "frameworkGraph": { + "deleteConfirmation": "Cette action supprimera définitivement le référentiel « {{name}} ». Elle est irréversible.", + "messages": { + "deleted": "Référentiel supprimé avec succès" + }, + "errors": { + "delete": "Échec de la suppression du référentiel" + } + }, + "measureGraph": { + "messages": { + "deleted": "Mesure supprimée avec succès.", + "updated": "Mesure mise à jour avec succès." + }, + "errors": { + "delete": "Échec de la suppression de la mesure", + "update": "Échec de la mise à jour de la mesure" + } + }, + "obligationGraph": { + "deleteConfirmation": "Cette action supprimera définitivement cette obligation. Cette action est irréversible.", + "messages": { + "deleted": "Obligation supprimée avec succès" + }, + "errors": { + "delete": "Échec de la suppression de l’obligation", + "createOrganizationRequired": "Échec de la création de l’obligation : l’organisation est requise", + "createOwnerRequired": "Échec de la création de l’obligation : le propriétaire est requis", + "updateIdRequired": "Échec de la mise à jour de l’obligation : l’identifiant est requis" + } + }, + "processingActivityGraph": { + "deleteConfirmation": "Cette action supprimera définitivement l’activité de traitement {{name}}. Cette action est irréversible.", + "dpiaDeleteConfirmation": "Cette action supprimera définitivement cette analyse d’impact relative à la protection des données. Cette action est irréversible.", + "tiaDeleteConfirmation": "Cette action supprimera définitivement cette analyse d’impact des transferts. Cette action est irréversible.", + "messages": { + "deleted": "Activité de traitement supprimée avec succès", + "dpiaDeleted": "AIPD supprimée avec succès", + "tiaDeleted": "Analyse d’impact des transferts supprimée avec succès" + }, + "errors": { + "delete": "Échec de la suppression de l’activité de traitement", + "createOrganizationRequired": "Échec de la création de l’activité de traitement : l’organisation est requise", + "createNameRequired": "Échec de la création de l’activité de traitement : le nom est requis", + "updateIdRequired": "Échec de la mise à jour de l’activité de traitement : l’identifiant est requis", + "createDpiaProcessingActivityIdRequired": "Échec de la création de l’AIPD : l’identifiant de l’activité de traitement est requis", + "updateDpiaIdRequired": "Échec de la mise à jour de l’AIPD : l’identifiant est requis", + "deleteDpia": "Échec de la suppression de l’AIPD", + "createTiaProcessingActivityIdRequired": "Échec de la création de l’analyse d’impact des transferts : l’identifiant de l’activité de traitement est requis", + "updateTiaIdRequired": "Échec de la mise à jour de l’analyse d’impact des transferts : l’identifiant est requis", + "deleteTia": "Échec de la suppression de l’analyse d’impact des transferts" + } + }, + "rightsRequestGraph": { + "deleteConfirmation": "Cela supprimera définitivement la demande d’exercice de droits. Cette action est irréversible.", + "messages": { + "deleted": "Demande d’exercice de droits supprimée avec succès" + }, + "errors": { + "delete": "Échec de la suppression de la demande d’exercice de droits", + "createOrganizationRequired": "Échec de la création de la demande d’exercice de droits : l’organisation est requise", + "createRequestTypeRequired": "Échec de la création de la demande d’exercice de droits : le type de demande est requis", + "createRequestStateRequired": "Échec de la création de la demande d’exercice de droits : l’état de la demande est requis", + "updateIdRequired": "Échec de la mise à jour de la demande d’exercice de droits : l’ID est requis" + } + }, + "helpers": { + "common": { + "unknown": "Inconnu" + }, + "auditState": { + "notStarted": "Non commencé", + "inProgress": "En cours", + "completed": "Terminé", + "rejected": "Rejeté", + "outdated": "Obsolète" + }, + "certificationCategory": { + "securityStandards": "Normes de sécurité", + "regulatoryLegal": "Réglementaire et juridique", + "industrySpecific": "Spécifique au secteur", + "internationalGovernment": "International et gouvernemental", + "custom": "Certifications personnalisées" + }, + "compliancePortalDocumentAccessStatus": { + "requested": "demandé", + "granted": "accordé", + "rejected": "rejeté", + "revoked": "révoqué" + }, + "compliancePortalVisibility": { + "none": "Aucune", + "private": "Privé", + "public": "Public" + }, + "controlMaturityLevel": { + "none": "0 - Aucun", + "initial": "1 - Initial", + "managed": "2 - Géré", + "defined": "3 - Défini", + "quantitativelyManaged": "4 - Géré quantitativement", + "optimizing": "5 - Optimisé" + }, + "customDomain": { + "status": { + "active": "Actif", + "provisioning": "Provisionnement", + "pending": "En attente", + "failed": "Échoué", + "expired": "Expiré" + }, + "provisioningError": { + "dnsCname": "Le DNS n’est pas encore configuré correctement. Vérifiez l’enregistrement CNAME.", + "dnsCaa": "Les enregistrements DNS CAA n’autorisent pas notre autorité de certification.", + "rateLimited": "L’autorité de certification limite temporairement les requêtes. Nous réessaierons automatiquement.", + "invalidOrder": "La propriété du domaine n’a pas pu être vérifiée. Nous réessaierons automatiquement.", + "temporary": "Le provisionnement du certificat a rencontré une erreur temporaire. Nous réessaierons automatiquement.", + "failed": "Le provisionnement du certificat a échoué. Contactez le support si le problème persiste." + } + }, + "documentType": { + "other": "Autre", + "governance": "Gouvernance", + "policy": "Politique", + "procedure": "Procédure", + "plan": "Plan", + "register": "Registre", + "record": "Enregistrement", + "report": "Rapport", + "template": "Modèle", + "statementOfApplicability": "Déclaration d’applicabilité" + }, + "documentWriteMode": { + "authored": "Rédigé", + "generated": "Généré" + }, + "documentClassification": { + "public": "Public", + "internal": "Interne", + "confidential": "Confidentiel", + "secret": "Secret" + }, + "measureState": { + "implemented": "Mise en œuvre", + "inProgress": "En cours", + "notApplicable": "Non applicable", + "notStarted": "Non commencée", + "notImplemented": "Non mise en œuvre" + }, + "obligationStatus": { + "nonCompliant": "Non conforme", + "partiallyCompliant": "Partiellement conforme", + "compliant": "Conforme" + }, + "obligationType": { + "legal": "Légale", + "contractual": "Contractuelle" + }, + "peopleRole": { + "employee": "Employé", + "contractor": "Prestataire", + "serviceAccount": "Compte de service" + }, + "registryStatus": { + "open": "Ouvert", + "inProgress": "En cours", + "closed": "Clôturé", + "riskAccepted": "Risque accepté", + "mitigated": "Atténué", + "falsePositive": "Faux positif" + }, + "rightsRequestType": { + "access": "Accès", + "deletion": "Suppression", + "rectification": "Rectification", + "portability": "Portabilité", + "objection": "Opposition", + "complaint": "Réclamation" + }, + "rightsRequestState": { + "todo": "À faire", + "inProgress": "En cours", + "done": "Terminée", + "rejected": "Rejetée" + }, + "riskImpact": { + "negligible": "Négligeable", + "low": "Faible", + "moderate": "Modéré", + "significant": "Important", + "catastrophic": "Catastrophique" + }, + "riskTreatment": { + "mitigate": "Atténuer", + "accept": "Accepter", + "transfer": "Transférer", + "avoid": "Éviter" + }, + "riskLikelihood": { + "improbable": "Improbable", + "remote": "Rare", + "occasional": "Occasionnelle", + "probable": "Probable", + "frequent": "Fréquente" + }, + "riskSeverity": { + "critical": "Critique", + "high": "Élevée", + "low": "Faible" + }, + "trackerType": { + "cookie": "Cookie", + "localStorage": "localStorage", + "sessionStorage": "sessionStorage", + "indexedDb": "IndexedDB", + "cacheStorage": "Cache Storage" + }, + "trackerSource": { + "script": "Script", + "preExisting": "Préexistant", + "http": "HTTP", + "extension": "Extension" + } + }, + "ui": { + "actions": { + "cancel": "Annuler", + "delete": "Supprimer", + "search": "Rechercher" + }, + "loading": "Chargement", + "dropzone": { + "uploading": "Envoi du fichier", + "browse": "Glissez-déposez ou parcourez vos fichiers", + "errors": { + "unsupported": "Ce fichier n’est pas pris en charge", + "tooLarge": "Ce fichier est trop volumineux", + "generic": "Une erreur est survenue" + } + }, + "documentClassification": { + "public": "Public", + "internal": "Interne", + "confidential": "Confidentiel", + "secret": "Secret" + }, + "documentType": { + "other": "Autre", + "governance": "Gouvernance", + "policy": "Politique", + "procedure": "Procédure", + "plan": "Plan", + "register": "Registre", + "record": "Enregistrement", + "report": "Rapport", + "template": "Modèle", + "statement_of_applicability": "Déclaration d’applicabilité" + }, + "documentVersionBadge": { + "draft": "Brouillon", + "pendingApproval": "En attente d’approbation", + "published": "Publié" + }, + "measureState": { + "implemented": "Mise en œuvre", + "in_progress": "En cours", + "not_applicable": "Non applicable", + "not_started": "Non commencée", + "unknown": "Inconnu", + "not_implemented": "Non mise en œuvre" + }, + "confirmDialog": { + "defaultTitle": "Êtes-vous sûr ?" + }, + "durationPicker": { + "minutes": "Minutes", + "hours": "Heures", + "days": "Jours", + "weeks": "Semaines" + }, + "frameworkSelector": { + "new": "Nouveau référentiel", + "custom": { + "title": "Référentiel personnalisé", + "description": "Partir de zéro" + } + }, + "measureImplementation": { + "title": "Mise en œuvre de la mesure", + "complete": "Terminée" + }, + "impactOptions": { + "low": "Impact minime sur l’activité", + "medium": "Impact modéré sur l’activité", + "high": "Impact important sur l’activité", + "critical": "Critique pour les opérations de l’entreprise" + }, + "sensitivityOptions": { + "none": "Aucune donnée sensible", + "low": "Données publiques ou non sensibles", + "medium": "Données internes/restreintes", + "high": "Données confidentielles", + "critical": "Données réglementées/personnelles/financières" + }, + "risk": { + "initial": "Risque initial", + "residual": "Risque résiduel", + "score": "Score", + "numberOfRisks": "Nombre de risques", + "linkedRisks": "Risques liés", + "severity": { + "none": "Aucune", + "low": "Faible", + "medium": "Moyenne", + "high": "Élevée", + "critical": "Critique" + }, + "impact": { + "label": "Impact", + "negligible": "Négligeable", + "moderate": "Modéré", + "significant": "Important", + "catastrophic": "Catastrophique" + }, + "likelihood": { + "label": "Probabilité", + "improbable": "Improbable", + "remote": "Rare", + "occasional": "Occasionnelle", + "probable": "Probable", + "frequent": "Fréquente" + } + } + }, + "common": { + "error": "Erreur", + "success": "Succès", + "create": "Créer", + "actions": { + "back": "Retour", + "close": "Fermer", + "continue": "Continuer", + "copy": "Copier", + "tryAgain": "Réessayer" + }, + "messages": { + "copied": "Copié", + "copiedToClipboard": "Copié dans le presse-papiers" + } + }, + "mutation": { + "messages": { + "completed": "Opération effectuée avec succès" + }, + "errors": { + "commit": "Échec de l’exécution de cette opération" + } + }, + "apiKeys": { + "title": "Clés API" + }, + "personalApiKeyList": { + "messages": { + "created": "Clé API créée avec succès." + }, + "errors": { + "create": "Échec de la création de la clé API." + }, + "empty": { + "title": "Aucune clé API", + "description": "Créez une clé API pour authentifier les accès programmatiques." + }, + "fields": { + "name": { + "label": "Nom", + "placeholder": "par ex. Clé API de production" + }, + "expiresIn": { + "label": "Expire dans" + } + }, + "expirations": { + "month_one": "{{count}} mois", + "month_other": "{{count}} mois", + "year_one": "{{count}} an", + "year_other": "{{count}} ans" + }, + "actions": { + "create": "Créer une clé API", + "creating": "Création..." + } + }, + "personalApiKeyRow": { + "messages": { + "revoked": "Clé API révoquée avec succès." + }, + "errors": { + "revoke": "Échec de la révocation de la clé API." + }, + "revoke": { + "title": "Révoquer la clé API", + "confirmation": "Voulez-vous vraiment révoquer la clé API « {{name}} » ? Cette action est irréversible." + }, + "status": { + "expired": "Expirée", + "active": "Active" + }, + "never": "Jamais", + "actions": { + "revoke": "Révoquer" + } + }, + "personalApiKeyTokenAction": { + "errors": { + "load": "Échec du chargement du jeton de clé API." + }, + "actions": { + "show": "Afficher" + } + }, + "personalApiKeyTokenDialog": { + "title": "Jeton", + "actions": { + "copy": "Copier", + "copied": "Copié", + "done": "Terminé" + } + }, + "personalApiKeysTable": { + "columns": { + "name": "Nom", + "lastUsed": "Dernière utilisation", + "created": "Créée", + "expires": "Expire" + } + }, + "activateAccountPage": { + "pageTitle": "Activer le compte", + "title": "Activation du compte", + "activating": "Activation de votre compte…", + "messages": { + "activated": "Compte activé avec succès." + }, + "errors": { + "activationFailed": "Échec de l’activation" + }, + "actions": { + "goBack": "Retour" + } + }, + "consentPage": { + "pageTitle": "Autoriser l’application", + "apiAccess": "Accès API ({{count}})", + "authorize": "Autoriser", + "description": "Cette application demande l’accès à votre compte avec les autorisations suivantes :", + "authorizationComplete": "Autorisation terminée", + "redirectingTo": "Vous allez être redirigé vers", + "revokeNotice": "Vous pouvez révoquer cet accès à tout moment depuis les paramètres de votre compte.", + "scopes": { + "openid": "Vérifier votre identité", + "email": "Consulter votre adresse e-mail", + "profile": "Consulter les informations de votre profil", + "offlineAccess": "Rester connecté et accéder à vos données en votre absence" + }, + "errors": { + "authorizationFailed": "Échec de l’autorisation", + "generic": "Une erreur s’est produite. Veuillez réessayer." + }, + "invalidRequest": { + "title": "Demande invalide", + "description": "Cette demande de consentement est invalide ou a expiré." + }, + "deviceAuthorized": { + "title": "Appareil autorisé", + "description": "Votre appareil a été autorisé avec succès. Vous pouvez fermer cette fenêtre et retourner à votre appareil." + }, + "accessDenied": { + "title": "Accès refusé", + "description": "Vous avez refusé la demande d’autorisation. Vous pouvez fermer cette fenêtre." + }, + "actions": { + "deny": "Refuser", + "allow": "Autoriser" + } + }, + "createPasswordPage": { + "pageTitle": "Créer un mot de passe", + "title": "Créer un mot de passe", + "description": "Définissez un mot de passe pour votre compte, comportant au moins 8 caractères", + "alreadyHaveAccount": "Vous avez déjà un compte ?", + "messages": { + "created": "Compte créé avec succès" + }, + "errors": { + "creationFailed": "Échec de la création du mot de passe" + }, + "fields": { + "password": "Mot de passe" + }, + "actions": { + "save": "Enregistrer", + "logIn": "Connectez-vous ici" + } + }, + "deviceActivationPage": { + "pageTitle": "Activation de l’appareil", + "title": "Activation de l’appareil", + "description": "Saisissez le code affiché sur votre appareil", + "codeCharacter": "Caractère de code {{count}}", + "notice": "Assurez-vous que ce code correspond à celui affiché sur votre appareil.", + "authorized": { + "title": "Appareil autorisé", + "description": "Votre appareil a été autorisé avec succès. Vous pouvez fermer cette fenêtre et retourner à votre appareil." + }, + "errors": { + "authorizationFailed": "Échec de l’autorisation", + "invalidCode": "Le code est invalide ou a expiré.", + "generic": "Une erreur s’est produite. Veuillez réessayer." + }, + "actions": { + "authorizing": "Autorisation en cours...", + "continue": "Continuer" + } + }, + "forgotPasswordPage": { + "pageTitle": "Mot de passe oublié", + "title": "Mot de passe oublié", + "description": "Saisissez votre adresse e-mail et nous vous envoyons les instructions de réinitialisation de votre mot de passe", + "rememberPassword": "Vous vous souvenez de votre mot de passe ?", + "messages": { + "instructionsSent": "Les instructions de réinitialisation du mot de passe ont été envoyées à votre adresse e-mail" + }, + "errors": { + "requestFailed": "La requête a échoué", + "sendInstructions": "Échec de l’envoi des instructions de réinitialisation" + }, + "fields": { + "email": "E-mail", + "emailPlaceholder": "name@example.com" + }, + "sent": { + "title": "Consultez votre e-mail", + "description": "Nous avons envoyé les instructions de réinitialisation du mot de passe à votre adresse e-mail", + "didNotReceive": "Vous n’avez pas reçu l’e-mail ?" + }, + "actions": { + "tryAgain": "Réessayer", + "backToLogin": "Retour à la connexion", + "sendingInstructions": "Envoi des instructions...", + "sendInstructions": "Envoyer les instructions de réinitialisation" + } + }, + "resetPasswordPage": { + "pageTitle": "Réinitialiser le mot de passe", + "title": "Réinitialiser le mot de passe", + "description": "Saisissez votre nouveau mot de passe pour réinitialiser votre compte", + "rememberPassword": "Vous vous souvenez de votre mot de passe ?", + "messages": { + "reset": "Mot de passe réinitialisé avec succès" + }, + "errors": { + "resetFailed": "Échec de la réinitialisation", + "invalidToken": "Jeton de réinitialisation invalide ou manquant", + "reset": "Échec de la réinitialisation du mot de passe" + }, + "fields": { + "newPassword": "Nouveau mot de passe", + "confirmPassword": "Confirmer le mot de passe" + }, + "actions": { + "resetting": "Réinitialisation du mot de passe...", + "reset": "Réinitialiser le mot de passe", + "logIn": "Connectez-vous ici" + } + }, + "signUpPage": { + "pageTitle": "Inscription", + "title": "Inscription", + "description": "Saisissez vos informations pour créer un compte", + "alreadyHaveAccount": "Vous avez déjà un compte ?", + "messages": { + "created": "Compte créé avec succès" + }, + "errors": { + "failed": "Échec de l’inscription" + }, + "unavailable": { + "title": "Inscription indisponible", + "description": "L’inscription de nouveaux comptes est actuellement désactivée. Contactez votre administrateur ou l’équipe Probo pour obtenir de l’aide." + }, + "fields": { + "fullName": "Nom complet", + "fullNamePlaceholder": "Jean Dupont", + "email": "E-mail", + "emailPlaceholder": "nom@exemple.com", + "password": "Mot de passe" + }, + "actions": { + "backToLogin": "Retour à la connexion", + "creating": "Création du compte...", + "signUpWithEmail": "S’inscrire avec e-mail", + "logIn": "Connectez-vous ici" + } + }, + "verifyEmailPage": { + "pageTitle": "Confirmer l’e-mail", + "title": "Confirmation de l’e-mail", + "description": "Confirmez votre adresse e-mail pour finaliser votre inscription", + "messages": { + "confirmed": "Votre e-mail a été confirmé avec succès", + "confirmedWithExclamation": "Votre e-mail a été confirmé avec succès !" + }, + "errors": { + "confirm": "Échec de la confirmation de l’e-mail" + }, + "fields": { + "token": "Jeton de confirmation", + "tokenPlaceholder": "Saisissez votre jeton de confirmation", + "tokenHelp": "Le jeton a été rempli automatiquement à partir de l’URL, si disponible" + }, + "actions": { + "proceedToLogin": "Continuer vers la connexion", + "confirming": "Confirmation...", + "confirm": "Confirmer l’e-mail", + "backToLogin": "Retour à la connexion" + } + }, + "passwordSignInPage": { + "title": "Connexion par e-mail", + "description": "Saisissez votre e-mail et votre mot de passe", + "noAccount": "Vous n’avez pas de compte ?", + "forgotPassword": "Mot de passe oublié ?", + "errors": { + "login": "Échec de la connexion" + }, + "fields": { + "email": "E-mail", + "password": "Mot de passe" + }, + "actions": { + "back": "Retour", + "loggingIn": "Connexion...", + "login": "Connexion", + "register": "S’inscrire", + "resetPassword": "Réinitialiser le mot de passe" + } + }, + "ssoSignInPage": { + "title": "Se connecter avec SSO", + "description": "Saisissez votre e-mail professionnel pour continuer avec SSO", + "noAccount": "Vous n’avez pas de compte ?", + "errors": { + "unavailable": "SSO non disponible pour ce domaine e-mail" + }, + "fields": { + "workEmail": "E-mail professionnel" + }, + "actions": { + "back": "Retour", + "checking": "Vérification en cours...", + "continue": "Continuer avec SSO", + "register": "S’inscrire" + } + }, + "signInPage": { + "title": "Connectez-vous à votre compte", + "authorize": { + "title": "Connectez-vous pour continuer", + "titleWithClient": "Connectez-vous à {{name}}", + "description": "Utilisez votre e-mail ou un compte connecté pour continuer" + }, + "or": "Ou", + "newToProbo": "Nouveau sur Probo ?", + "actions": { + "signInWithSso": "Se connecter avec SSO", + "signInWithEmail": "Se connecter avec l’e-mail", + "createAccount": "Créer un compte" + } + }, + "oidcButton": { + "signInWith": "Se connecter avec {{provider}}" + }, + "membershipsPage": { + "pageTitle": "Sélectionner une organisation", + "title": "Sélectionner une organisation", + "pendingInvitations": "Invitations en attente", + "yourOrganizations": "Vos organisations", + "searchPlaceholder": "Rechercher des organisations...", + "empty": "Aucune organisation trouvée", + "createOrganization": { + "title": "Créer une organisation", + "description": "Ajoutez une nouvelle organisation à votre compte", + "action": "Créer une organisation" + } + }, + "invitingOrganizationCard": { + "checkEmail": "Consultez votre e-mail" + }, + "membershipCard": { + "status": { + "authenticated": "Authentifié", + "sessionExpired": "Session expirée", + "authenticationRequired": "Authentification requise" + }, + "accountDeactivated": "Compte désactivé", + "actions": { + "start": "Démarrer", + "login": "Connexion" + } + }, + "viewerDropdown": { + "errors": { + "requestFailed": "La requête a échoué", + "cannotSignOut": "Impossible de se déconnecter" + }, + "actions": { + "oauthTokens": "Jetons OAuth", + "help": "Aide", + "logout": "Déconnexion" + } + }, + "newOAuthTokenPage": { + "pageTitle": "Nouveau jeton OAuth", + "breadcrumb": "Nouveau jeton", + "title": "Nouveau jeton OAuth", + "description": "Créez un jeton porteur avec un accès limité à l’API Probo.", + "messages": { + "created": "Jeton OAuth créé avec succès." + }, + "errors": { + "create": "Échec de la création du jeton OAuth" + }, + "fields": { + "name": "Nom", + "expiration": "Expiration", + "scopes": "Portées" + }, + "expirations": { + "month_one": "{{count}} mois", + "month_other": "{{count}} mois", + "year_one": "{{count}} an", + "year_other": "{{count}} ans" + }, + "actions": { + "create": "Créer le jeton", + "selectAll": "Tout sélectionner", + "deselectAll": "Tout désélectionner", + "cancel": "Annuler" + } + }, + "oauthTokensPage": { + "pageTitle": "Jetons OAuth", + "title": "Jetons OAuth", + "description": "Créez des jetons porteurs avec un accès API délimité pour votre compte.", + "showing": "Affichage de {{shown}} sur {{total}}", + "empty": { + "title": "Aucun jeton OAuth", + "description": "Créez un jeton pour authentifier les requêtes API en votre nom." + }, + "columns": { + "name": "Nom", + "scopes": "Portées", + "created": "Créé le", + "expires": "Expire" + }, + "actions": { + "create": "Créer un jeton", + "showMore": "Afficher plus" + } + }, + "oauthTokenCredentialsDialog": { + "title": "Jeton", + "description": "Copiez ce jeton d’authentification maintenant. Vous ne pourrez plus le voir par la suite.", + "actions": { + "copy": "Copier", + "copied": "Copié", + "done": "Terminé" + } + }, + "oauthTokenRow": { + "messages": { + "revoked": "Jeton OAuth révoqué." + }, + "errors": { + "revoke": "Échec de la révocation du jeton OAuth." + }, + "revoke": { + "title": "Révoquer le jeton OAuth", + "description": "Ce jeton cessera de fonctionner immédiatement. Cette action est irréversible." + }, + "actions": { + "revoke": "Révoquer", + "revokeToken": "Révoquer le jeton" + } + }, + "assumePage": { + "title": "Redirection de connexion", + "description": "Redirection vers votre URL d’authentification…" + }, + "newOrganizationPage": { + "title": "Créer une organisation", + "description": "Créez une nouvelle organisation pour gérer vos besoins en matière de conformité et de sécurité.", + "details": "Détails de l’organisation", + "detailsDescription": "Saisissez les informations de base sur votre organisation.", + "messages": { + "created": "L’organisation a été créée avec succès" + }, + "errors": { + "nameRequired": "Le nom est requis", + "create": "Échec de la création de l’organisation" + }, + "fields": { + "name": "Nom de l’organisation", + "nameHelp": "Le nom de votre organisation tel qu’il apparaîtra sur l’ensemble de la plateforme." + }, + "actions": { + "back": "Retour", + "create": "Créer l’organisation" + } + }, + "membershipsDropdown": { + "searchPlaceholder": "Rechercher des organisations...", + "loading": "Chargement des organisations...", + "addOrganization": "Ajouter une organisation" + }, + "membershipsDropdownInvitingItem": { + "title": "Consultez votre e-mail pour accepter l’invitation" + }, + "membershipsDropdownMenu": { + "pendingInvitations": "Invitations en attente" + }, + "sidebar": { + "context": "Contexte", + "tasks": "Tâches", + "measures": "Mesures", + "risks": "Risques", + "frameworks": "Référentiels", + "people": "Personnes", + "thirdParties": "Tiers", + "documents": "Documents", + "assets": "Actifs", + "devices": "Appareils", + "data": "Données", + "audits": "Audits", + "findings": "Constats", + "obligations": "Obligations", + "processingActivities": "Activités de traitement", + "statementsOfApplicability": "Déclarations d’applicabilité", + "rightsRequests": "Demandes d’exercice de droits", + "accessReviews": "Revues d’accès", + "compliancePage": "Page de conformité", + "cookieBanners": "Bannières de cookies", + "settings": "Paramètres" + }, + "viewerMembershipDropdown": { + "errors": { + "requestFailed": "La requête a échoué", + "cannotSignOut": "Impossible de se déconnecter" + }, + "actions": { + "apiKeys": "Clés API", + "oauthTokens": "Jetons OAuth", + "mySignatures": "Mes signatures", + "employeePortal": "Portail employé", + "help": "Aide", + "logout": "Déconnexion" + } + }, + "peoplePage": { + "title": "Personnes", + "actions": { + "add": "Ajouter une personne" + } + }, + "personPage": { + "breadcrumb": { + "people": "Personnes" + }, + "messages": { + "archived": "Personne archivée avec succès", + "removed": "Personne supprimée avec succès" + }, + "errors": { + "archive": "Échec de l’archivage de la personne", + "remove": "Échec de la suppression de la personne" + }, + "confirmations": { + "archive": "Voulez-vous vraiment archiver {{name}} ?", + "remove": "Voulez-vous vraiment supprimer {{name}} ?" + }, + "actions": { + "archive": "Archiver", + "remove": "Supprimer" + } + }, + "addPersonDialog": { + "title": "Ajouter une personne" + }, + "peopleList": { + "columns": { + "name": "Nom", + "status": "Statut", + "email": "E-mail", + "role": "Rôle", + "createdOn": "Créé le" + }, + "empty": "Aucune personne" + }, + "peopleListItem": { + "messages": { + "invitationSent": "Invitation envoyée avec succès", + "roleUpdated": "Rôle mis à jour avec succès", + "archived": "Personne archivée avec succès", + "removed": "Personne supprimée avec succès" + }, + "errors": { + "sendInvitation": "Échec de l’envoi de l’invitation", + "updateRole": "Échec de la mise à jour du rôle", + "archive": "Échec de l’archivage de la personne", + "remove": "Échec de la suppression de la personne" + }, + "confirmations": { + "sendActivationEmail": "Envoyer l’e-mail d’activation à {{name}} ?", + "archive": "Voulez-vous vraiment archiver {{name}} ?", + "remove": "Voulez-vous vraiment supprimer {{name}} ?" + }, + "roles": { + "owner": "Propriétaire", + "admin": "Administrateur", + "viewer": "Lecteur", + "auditor": "Auditeur", + "employee": "Employé" + }, + "actions": { + "send": "Envoyer", + "sendActivationMail": "Envoyer l’e-mail d’activation", + "resendActivationMail": "Renvoyer l’e-mail d’activation", + "archivePerson": "Archiver la personne", + "removePerson": "Supprimer la personne" + } + }, + "personForm": { + "messages": { + "created": "Personne créée avec succès.", + "updated": "Personne mise à jour avec succès." + }, + "errors": { + "create": "Échec de la création de la personne", + "update": "Échec de la mise à jour de la personne" + }, + "fields": { + "fullName": "Nom complet *", + "emailAddress": "Adresse e-mail *", + "role": "Rôle *", + "type": "Type", + "position": "Poste", + "positionPlaceholder": "ex. PDG, DAF, etc.", + "contractStartDate": "Date de début de contrat", + "contractEndDate": "Date de fin de contrat" + }, + "roles": { + "owner": "Propriétaire", + "admin": "Administrateur", + "viewer": "Lecteur", + "auditor": "Auditeur", + "employee": "Employé" + }, + "roleDescriptions": { + "owner": "Accès complet à tout", + "admin": "Accès complet sauf la configuration de l’organisation et les clés API", + "viewer": "Accès en lecture seule", + "auditor": "Accès en lecture seule sans les paramètres et les tâches", + "employee": "Accès à la page employé" + }, + "kinds": { + "EMPLOYEE": "Employé", + "CONTRACTOR": "Prestataire", + "SERVICE_ACCOUNT": "Compte de service" + }, + "actions": { + "update": "Mettre à jour", + "create": "Créer" + } + }, + "auditLogSettingsPage": { + "title": "Journal d’audit", + "description": "Un enregistrement de toutes les actions effectuées au sein de votre organisation. Les entrées sont immuables et ne peuvent pas être modifiées ou supprimées.", + "empty": "Aucune entrée dans le journal d’audit pour le moment.", + "showing": "Affichage de {{shown}} sur {{total}} entrées", + "columns": { + "date": "Date", + "actor": "Acteur", + "action": "Action", + "resource": "Ressource" + }, + "actions": { + "showMore": "Afficher plus" + } + }, + "generalSettingsPage": { + "messages": { + "deleted": "Organisation supprimée avec succès." + }, + "errors": { + "delete": "Échec de la suppression de l’organisation" + }, + "dangerZone": { + "title": "Zone de danger", + "delete": { + "title": "Supprimer l’organisation", + "description": "Supprimer définitivement cette organisation et toutes ses données.", + "warning": "Cette action est irréversible.", + "action": "Supprimer l’organisation" + } + } + }, + "samlSettingsPage": { + "title": "Authentification unique SAML", + "actions": { + "addConfiguration": "Ajouter une configuration" + }, + "breadcrumb": { + "settings": "Paramètres SAML", + "configure": "Configurer", + "verifyDomain": "Vérifier le domaine" + } + }, + "scimSettingsPage": { + "manualScim": { + "title": "SCIM manuel", + "description": "Configurez SCIM manuellement si votre fournisseur d’identité n’est pas listé ci-dessus. Cela nécessite de configurer l’URL du point de terminaison SCIM et le jeton porteur dans votre fournisseur d’identité." + }, + "provisioningEventHistory": "Historique des événements de provisionnement" + }, + "settingsLayout": { + "title": "Paramètres", + "tabs": { + "general": "Général", + "samlSso": "SAML SSO", + "scim": "SCIM", + "webhooks": "Webhooks", + "auditLog": "Journal d’audit" + } + }, + "connectorList": { + "title": "Fournisseur d’identité", + "description": "Connectez votre fournisseur d’identité pour synchroniser automatiquement les utilisateurs de votre organisation. Une fois connecté, vous n’avez plus besoin de configurer SCIM manuellement." + }, + "editSamlConfigurationForm": { + "messages": { + "updated": "Configuration SAML mise à jour avec succès." + }, + "errors": { + "update": "Échec de la mise à jour de la configuration SAML. Veuillez réessayer." + } + }, + "googleWorkspaceConnector": { + "name": "Google Workspace / Cloud Identity", + "connectDescription": "Connectez Google Workspace ou Google Cloud Identity pour synchroniser automatiquement les utilisateurs via SCIM.", + "connectedOn": "Connecté le {{date}}", + "status": { + "disabled": "Désactivé", + "error": "Erreur", + "syncing": "Synchronisation en cours", + "connected": "Connecté" + }, + "messages": { + "disconnected": "Google Workspace / Cloud Identity déconnecté avec succès", + "excludedUsersUpdated": "Noms d’utilisateur exclus mis à jour avec succès" + }, + "errors": { + "bridgeSync": "Le pont ne parvient pas à se synchroniser actuellement. Consultez l’historique des événements de provisionnement pour plus de détails.", + "bridgeDisabled": "Le pont est désactivé", + "bridgeFailed": "Le pont est en état d’erreur" + }, + "actions": { + "connect": "Connecter", + "settings": "Paramètres", + "add": "Ajouter", + "remove": "Retirer", + "disconnect": "Déconnecter", + "disconnecting": "Déconnexion en cours..." + }, + "settings": { + "title": "Paramètres Google Workspace / Cloud Identity", + "excludedUserNames": "Noms d’utilisateur exclus", + "excludedUserNamesDescription": "Les utilisateurs portant ces noms ne seront pas synchronisés depuis Google Workspace / Cloud Identity.", + "noExcludedUserNames": "Aucun nom d’utilisateur exclu. Tous les utilisateurs Google Workspace / Cloud Identity seront synchronisés." + }, + "disconnect": { + "title": "Déconnecter Google Workspace / Cloud Identity", + "description": "Cette action déconnectera votre intégration Google Workspace / Cloud Identity. Les utilisateurs ne seront plus synchronisés automatiquement via SCIM.", + "warning": "Cette action est irréversible." + } + }, + "microsoft365Connector": { + "name": "Microsoft 365", + "connectDescription": "Connectez Microsoft 365 pour synchroniser automatiquement les utilisateurs via SCIM.", + "connectedOn": "Connecté le {{date}}", + "status": { + "disabled": "Désactivé", + "error": "Erreur", + "syncing": "Synchronisation en cours", + "connected": "Connecté" + }, + "messages": { + "disconnected": "Microsoft 365 déconnecté avec succès", + "excludedUsersUpdated": "Noms d’utilisateur exclus mis à jour avec succès" + }, + "errors": { + "bridgeSync": "Le pont ne parvient actuellement pas à se synchroniser. Consultez l’historique des événements de provisionnement pour plus de détails.", + "bridgeDisabled": "Le pont est désactivé", + "bridgeFailed": "Le pont est en état d’erreur" + }, + "actions": { + "connect": "Connecter", + "settings": "Paramètres", + "add": "Ajouter", + "remove": "Retirer", + "disconnect": "Déconnecter", + "disconnecting": "Déconnexion en cours..." + }, + "settings": { + "title": "Paramètres Microsoft 365", + "excludedUserNames": "Noms d’utilisateur exclus", + "excludedUserNamesDescription": "Les utilisateurs portant ces noms d’utilisateur ne seront pas synchronisés depuis Microsoft 365.", + "noExcludedUserNames": "Aucun nom d’utilisateur exclu. Tous les utilisateurs Microsoft 365 seront synchronisés." + }, + "disconnect": { + "title": "Déconnecter Microsoft 365", + "description": "Cette action déconnectera votre intégration Microsoft 365. Les utilisateurs ne seront plus synchronisés automatiquement via SCIM.", + "warning": "Cette action est irréversible." + } + }, + "newSamlConfigurationForm": { + "messages": { + "created": "Configuration SAML créée avec succès." + }, + "errors": { + "create": "Échec de la création de la configuration SAML" + } + }, + "organizationForm": { + "title": "Détails de l’organisation", + "messages": { + "updated": "Organisation mise à jour avec succès", + "horizontalLogoDeleted": "Logo horizontal supprimé avec succès" + }, + "errors": { + "update": "Échec de la mise à jour de l’organisation", + "deleteHorizontalLogo": "Échec de la suppression du logo horizontal" + }, + "fields": { + "logo": "Logo de l’organisation", + "horizontalLogo": "Logo horizontal", + "horizontalLogoDescription": "Téléversez une version horizontale de votre logo pour l’utiliser dans les documents", + "name": "Nom de l’organisation" + }, + "actions": { + "uploading": "Téléversement...", + "changeLogo": "Changer le logo", + "changeHorizontalLogo": "Changer le logo horizontal", + "uploadHorizontalLogo": "Téléverser le logo horizontal", + "deleteHorizontalLogo": "Supprimer le logo horizontal", + "deleting": "Suppression...", + "delete": "Supprimer", + "updating": "Mise à jour...", + "update": "Mettre à jour l’organisation" + }, + "deleteHorizontalLogo": { + "title": "Supprimer le logo horizontal", + "description": "Voulez-vous vraiment supprimer le logo horizontal ?", + "warning": "Cette action est irréversible." + } + }, + "samlConfigurationForm": { + "sections": { + "basic": "Configuration de base", + "identityProvider": "Configuration du fournisseur d’identité", + "attributeMapping": "Mappage des attributs" + }, + "fields": { + "emailDomain": "Domaine e-mail *", + "emailDomainLocked": "Le domaine e-mail ne peut pas être modifié après la création", + "emailDomainHelp": "Le domaine e-mail auquel cette configuration SAML s’applique (par ex. example.com)", + "enforcementPolicy": "Politique d’application *", + "idpEntityId": "ID d’entité IdP *", + "idpSsoUrl": "URL SSO de l’IdP *", + "idpCertificate": "Certificat X.509 de l’IdP *", + "emailAttribute": "Attribut e-mail", + "firstNameAttribute": "Attribut prénom", + "lastNameAttribute": "Attribut nom", + "roleAttribute": "Attribut rôle", + "autoSignupEnabled": "Activer l’inscription automatique des utilisateurs via SAML" + }, + "enforcement": { + "optional": "Facultatif", + "required": "Obligatoire", + "off": "Désactivé" + }, + "enforcementDescriptions": { + "off": "Les membres de votre équipe ne peuvent pas utiliser l’authentification unique et doivent utiliser leur mot de passe", + "required": "Les membres de votre équipe doivent utiliser l’authentification unique pour se connecter", + "optional": "Les membres de votre équipe peuvent utiliser soit l’authentification unique, soit leur mot de passe pour se connecter" + }, + "actions": { + "update": "Mettre à jour la configuration", + "create": "Créer la configuration" + } + }, + "samlConfigurationList": { + "messages": { + "deleted": "Configuration SAML supprimée avec succès." + }, + "errors": { + "delete": "Échec de la suppression de la configuration SAML. Veuillez réessayer." + }, + "delete": { + "title": "Supprimer la configuration SAML", + "description": "Voulez-vous vraiment supprimer la configuration SAML pour {{domain}} ? Cette action est irréversible." + }, + "empty": { + "title": "Aucune configuration SAML", + "description": "Configurez l’authentification unique SAML 2.0 pour votre organisation en ajoutant une configuration pour chaque domaine de messagerie." + }, + "columns": { + "configurationId": "ID de configuration", + "emailDomain": "Domaine de messagerie", + "domainStatus": "Statut du domaine", + "samlStatus": "Statut SAML", + "enforcement": "Application", + "ssoUrl": "URL SSO" + }, + "status": { + "verified": "Vérifié", + "pendingVerification": "Vérification en attente", + "enabled": "Activé", + "disabled": "Désactivé" + }, + "actions": { + "delete": "Supprimer", + "clickToCopy": "Cliquer pour copier", + "copied": "Copié !", + "copyUrl": "Copier l’URL", + "edit": "Modifier", + "verifyDomain": "Vérifier le domaine" + } + }, + "samlDomainVerifyDialog": { + "title": "Vérifier la propriété du domaine", + "description": "Ajoutez l’enregistrement TXT suivant à la configuration DNS de votre domaine pour vérifier la propriété :", + "fields": { + "hostName": "Hôte/Nom :", + "type": "Type :", + "value": "Valeur :" + }, + "hostHint": "ou utilisez le nom de votre domaine", + "actions": { + "copy": "Copier", + "copied": "Copié !" + }, + "note": { + "label": "Remarque :", + "description": "Les modifications DNS peuvent prendre jusqu’à 48 heures pour se propager, mais se terminent généralement en quelques minutes." + } + }, + "scimConfiguration": { + "errors": { + "title": "Erreur", + "create": "La configuration SCIM manuelle a échoué" + }, + "messages": { + "configured": { + "title": "Configuration SCIM manuelle effectuée" + }, + "copyToken": "Copiez le jeton porteur maintenant. Il ne sera plus affiché ensuite.", + "deleted": { + "title": "Configuration SCIM manuelle supprimée", + "description": "Toutes les adhésions provisionnées par SCIM ont été changées vers une source manuelle." + }, + "regenerated": { + "title": "Jeton porteur régénéré", + "description": "Copiez le nouveau jeton porteur maintenant. Il ne sera plus affiché ensuite." + }, + "copied": "Copié dans le presse-papiers" + }, + "empty": { + "title": "Le SCIM manuel n’est pas configuré", + "description": "Générez un point de terminaison SCIM et un jeton porteur pour configurer manuellement votre fournisseur d’identité." + }, + "active": { + "title": "SCIM manuel actif", + "description": "Utilisez ces identifiants pour configurer SCIM dans votre fournisseur d’identité." + }, + "fields": { + "endpointUrl": "URL du point de terminaison SCIM", + "bearerToken": "Jeton porteur" + }, + "tokenWarning": "Ce jeton ne sera affiché qu’une seule fois. Copiez-le maintenant.", + "actions": { + "enable": "Activer SCIM", + "enabling": "Activation...", + "regenerateToken": "Régénérer le jeton", + "regenerating": "Régénération...", + "deleteConfiguration": "Supprimer la configuration", + "cancel": "Annuler", + "delete": "Supprimer", + "deleting": "Suppression..." + }, + "delete": { + "title": "Supprimer la configuration SCIM manuelle", + "description": "Voulez-vous vraiment supprimer la configuration SCIM manuelle ? Cette action va :", + "effects": { + "disable": "Désactiver le provisionnement SCIM manuel", + "changeMembershipSource": "Changer toutes les adhésions provisionnées par SCIM vers une source manuelle", + "invalidateToken": "Invalider le jeton porteur actuel" + }, + "note": "Les utilisateurs existants ne seront pas supprimés, seule leur source d’adhésion changera." + } + }, + "scimEventList": { + "columns": { + "time": "Heure", + "method": "Méthode", + "path": "Chemin", + "result": "Résultat" + }, + "empty": "Aucun événement SCIM enregistré pour le moment." + }, + "accessReviewLayout": { + "title": "Revues d’accès", + "description": "Passez en revue et gérez les accès des utilisateurs à travers les systèmes et applications de votre organisation.", + "tabs": { + "campaigns": "Campagnes", + "sources": "Sources" + } + }, + "createCsvAccessReviewSourcePage": { + "pageTitle": "Ajouter une source d’accès CSV", + "title": "Ajouter une source d’accès CSV", + "description": "Collez le contenu CSV avec une ligne d’en-tête. Cette source sera enregistrée et disponible dans les revues d’accès.", + "permissionDenied": "Vous n’avez pas la permission de créer des sources d’accès.", + "errors": { + "create": "Échec de la création de la source d’accès" + }, + "messages": { + "error": "Erreur", + "success": "Succès", + "created": "Source d’accès créée avec succès." + }, + "fields": { + "name": "Nom", + "csvData": "Données CSV", + "csvPlaceholder": "email,full_name,role,job_title,is_admin,active,external_id" + }, + "supportedColumns": "Colonnes prises en charge : email, full_name, role, job_title, is_admin, active, external_id.", + "actions": { + "back": "Retour", + "create": "Créer" + } + }, + "accessReviewSourceRow": { + "sources": { + "csv": "CSV", + "googleWorkspace": "Google Workspace", + "microsoft365": "Microsoft 365", + "linear": "Linear", + "slack": "Slack", + "metabase": "Metabase", + "signoz": "SigNoz", + "cursor": "Cursor" + }, + "errors": { + "delete": "Échec de la suppression de la source d’accès", + "configure": "Échec de la configuration de la source" + }, + "messages": { + "error": "Erreur", + "success": "Succès", + "organizationUpdated": "Organisation mise à jour." + }, + "deleteConfirmation": "Cette action supprimera définitivement « {{name}} ». Cette action est irréversible.", + "status": { + "connected": "Connecté", + "disconnected": "Déconnecté", + "invalidCredentials": "Identifiants invalides" + }, + "actions": { + "reconnect": "Reconnecter", + "delete": "Supprimer" + }, + "loading": "Chargement...", + "selectOrganization": "Sélectionner une organisation", + "organizationSlugPlaceholder": "org-slug" + }, + "entryDecisionActions": { + "errors": { + "record": "Échec de l’enregistrement de la décision" + }, + "messages": { + "error": "Erreur" + }, + "decisions": { + "pending": "En attente", + "approved": "Approuvé", + "revoke": "Révoqué", + "defer": "Modifié", + "escalate": "Escaladé" + }, + "actions": { + "change": "Modifier la décision", + "approve": "Approuver", + "revoke": "Révoquer", + "modify": "Modifier", + "escalate": "Escalader", + "confirm": "Confirmer" + }, + "placeholder": "Décider...", + "note": { + "title": "Note de décision", + "description": "Veuillez indiquer une raison pour cette décision.", + "label": "Note" + } + }, + "entryFlagSelect": { + "errors": { + "update": "Échec du marquage de l’entrée" + }, + "messages": { + "error": "Erreur" + }, + "groups": { + "account": "Compte", + "privileges": "Privilèges", + "anomaly": "Anomalie" + }, + "flags": { + "orphaned": "Compte orphelin", + "dormant": "Dormant", + "terminated_user": "Utilisateur parti", + "contractor_expired": "Contrat de prestataire expiré", + "excessive": "Privilèges excessifs", + "sod_conflict": "Conflit de séparation des tâches", + "privileged_access": "Accès privilégié", + "role_creep": "Dérive de rôle", + "no_business_justification": "Aucune justification", + "out_of_department": "Hors service", + "shared_account": "Compte partagé", + "inactive": "Inactif", + "role_mismatch": "Incohérence de rôle", + "new": "Nouveau", + "none": "Aucun" + } + }, + "accessReviewCampaignsTab": { + "errors": { + "delete": "Échec de la suppression de la campagne" + }, + "messages": { + "error": "Erreur", + "success": "Succès", + "deleted": "Campagne supprimée avec succès." + }, + "deleteConfirmation": "Cette action supprimera définitivement « {{name}} ». Cette action est irréversible.", + "actions": { + "new": "Nouvelle campagne", + "delete": "Supprimer", + "loading": "Chargement...", + "loadMore": "Charger plus" + }, + "columns": { + "name": "Nom", + "status": "Statut", + "createdAt": "Créé le" + }, + "status": { + "draft": "Brouillon", + "in_progress": "En cours", + "pending_actions": "Actions en attente", + "completed": "Terminé", + "cancelled": "Annulé" + }, + "empty": "Aucune campagne de revue d’accès pour le moment. Créez votre première campagne pour commencer à revoir les accès." + }, + "campaignDetailPage": { + "errors": { + "start": "Échec du démarrage de la campagne", + "delete": "Échec de la suppression de la campagne", + "complete": "Échec de la finalisation de la campagne", + "recordDecisions": "Échec de l’enregistrement des décisions", + "updateFlags_one": "Échec de la mise à jour des indicateurs pour {{count}} entrée.", + "updateFlags_other": "Échec de la mise à jour des indicateurs pour {{count}} entrées." + }, + "messages": { + "error": "Erreur", + "success": "Succès", + "started": "Campagne démarrée. Récupération des sources en cours.", + "deleted": "Campagne supprimée avec succès.", + "completed": "Campagne finalisée avec succès.", + "decisionsRecorded": "Décisions enregistrées avec succès.", + "flagsUpdated": "Indicateurs mis à jour pour les entrées sélectionnées." + }, + "deleteConfirmation": "Cette action supprimera définitivement « {{name}} ». Cette action est irréversible.", + "completeConfirmation": "Voulez-vous vraiment finaliser cette campagne ? Cette action est irréversible. Toutes les décisions seront définitives.", + "breadcrumb": "Revues d’accès", + "status": { + "draft": "Brouillon", + "in_progress": "En cours", + "pending_actions": "Actions en attente", + "completed": "Terminé", + "cancelled": "Annulé", + "active": "Actif", + "disabled": "Désactivé" + }, + "fetchStatus": { + "success": "Réussi", + "failed": "Échoué", + "fetching": "Récupération en cours", + "queued": "En file d’attente" + }, + "mfaStatus": { + "enabled": "Activé", + "disabled": "Désactivé" + }, + "decisions": { + "pending": "En attente", + "approved": "Approuvé", + "revoke": "Révoqué", + "defer": "Modifié", + "escalate": "Escaladé" + }, + "flags": { + "orphaned": "Compte orphelin", + "dormant": "Dormant", + "terminated_user": "Utilisateur parti", + "contractor_expired": "Prestataire expiré", + "excessive": "Privilèges excessifs", + "sod_conflict": "Conflit de séparation des tâches", + "privileged_access": "Accès privilégié", + "role_creep": "Dérive de rôle", + "no_business_justification": "Aucune justification", + "out_of_department": "Hors département", + "shared_account": "Compte partagé", + "inactive": "Inactif", + "role_mismatch": "Rôle incohérent", + "new": "Nouveau" + }, + "flagGroups": { + "account": "Compte", + "privileges": "Privilèges", + "anomaly": "Anomalie" + }, + "actions": { + "delete": "Supprimer", + "complete": "Finaliser", + "completing": "Finalisation...", + "completeCampaign": "Finaliser la campagne", + "deleting": "Suppression...", + "addSource": "Ajouter une source", + "starting": "Démarrage...", + "startCampaign": "Démarrer la campagne", + "clear": "Effacer", + "approve": "Approuver", + "revoke": "Révoquer", + "modify": "Modifier", + "escalate": "Escalader", + "confirm": "Confirmer" + }, + "emptySources": "Aucune source configurée pour cette campagne.", + "accounts_one": "{{count}} compte", + "accounts_other": "{{count}} comptes", + "fetchFailed": "Échec de la récupération", + "emptyEntries": "Aucune entrée trouvée pour cette source.", + "columns": { + "name": "Nom", + "email": "E-mail", + "role": "Rôle", + "admin": "Administrateur", + "status": "Statut", + "mfa": "MFA", + "lastLogin": "Dernière connexion", + "flag": "Indicateur", + "decision": "Décision" + }, + "values": { + "yes": "Oui", + "no": "Non" + }, + "selected_one": "{{count}} sélectionné", + "selected_other": "{{count}} sélectionnés", + "decisionPlaceholder": "Définir une décision...", + "flagsSelected_one": "{{count}} indicateur", + "flagsSelected_other": "{{count}} indicateurs", + "flagsPlaceholder": "Définir des indicateurs...", + "note": { + "title": "Note de décision", + "description": "Veuillez indiquer un motif pour cette décision.", + "label": "Note" + }, + "showingFirst_one": "Affichage de la première {{count}} entrée. Utilisez la CLI pour la liste complète.", + "showingFirst_other": "Affichage des {{count}} premières entrées. Utilisez la CLI pour la liste complète." + }, + "addAccessReviewSourceDialog": { + "actions": { + "connect": "Connecter", + "apiKey": "Clé API", + "clientCredentials": "Identifiants client", + "connectWithApiKey": "Connecter avec une clé API", + "connectWithClientCredentials": "Connecter avec des identifiants client", + "open": "Ouvrir", + "close": "Fermer" + }, + "status": { + "connected": "Connecté" + }, + "breadcrumb": { + "accessReviews": "Revues d’accès", + "addSource": "Ajouter une source" + }, + "searchPlaceholder": "Rechercher des fournisseurs...", + "csv": { + "title": "CSV", + "description": "Téléversez des données CSV directement comme source d’accès." + } + }, + "addCampaignSourceDialog": { + "errors": { + "add": "Échec de l’ajout de la source" + }, + "messages": { + "error": "Erreur", + "success": "Succès", + "added": "Source ajoutée à la campagne." + }, + "breadcrumb": { + "campaign": "Campagne", + "addSource": "Ajouter une source" + }, + "loading": "Chargement...", + "actions": { + "add": "Ajouter" + }, + "allSourcesAdded": "Toutes les sources disponibles ont déjà été ajoutées à cette campagne.", + "selectSource": "Sélectionner une source" + }, + "createAccessReviewCampaignDialog": { + "errors": { + "create": "Échec de la création de la campagne" + }, + "messages": { + "error": "Erreur", + "success": "Succès", + "created": "Campagne créée avec succès." + }, + "breadcrumb": { + "accessReviews": "Revues d’accès", + "newCampaign": "Nouvelle campagne" + }, + "fields": { + "name": "Nom", + "description": "Description", + "sources": "Sources" + }, + "loadingSources": "Chargement des sources...", + "actions": { + "create": "Créer" + }, + "emptySources": "Aucune source disponible. Ajoutez d’abord des sources dans l’onglet Sources." + }, + "postHogDeploymentField": { + "deployment": { + "label": "Déploiement", + "placeholder": "Sélectionner un déploiement", + "usCloud": "PostHog Cloud (US)", + "euCloud": "PostHog Cloud (EU)", + "selfHosted": "Auto-hébergé" + }, + "instanceUrl": "URL de l’instance" + }, + "apiKeyConnectorDialog": { + "title": "Connecter le fournisseur", + "titleWithProvider": "Connecter {{provider}}", + "managedDescription": "Connectez {{provider}} en tant que source d’accès. Renseignez les informations ci-dessous pour terminer.", + "apiKeyDescription": "Saisissez la clé API de {{provider}} pour le connecter en tant que source d’accès.", + "apiKey": "Clé API", + "messages": { + "connectionFailed": "Connexion échouée", + "copyFailed": "Échec de la copie", + "copied": "Copié dans le presse-papiers" + }, + "errors": { + "managedConnect": "Échec de la connexion du fournisseur. Vérifiez vos paramètres et votre code de vérification, puis réessayez.", + "apiKeyConnect": "Échec de la connexion du fournisseur. Vérifiez votre clé API et réessayez.", + "copy": "Copiez le code de vérification manuellement.", + "generateCode": "Impossible de générer un code de vérification. Vérifiez l’identifiant du site et réessayez." + }, + "verificationCode": { + "label": "Code de vérification", + "description": "Collez ce code dans les paramètres du plugin Probo pour ce site dans votre tableau de bord Crisp, puis cliquez sur Connecter. Cela prouve que vous contrôlez ce site.", + "enterWebsiteId": "Saisissez l’identifiant de votre site ci-dessus pour obtenir votre code de vérification.", + "generating": "Génération du code..." + }, + "actions": { + "copy": "Copier", + "retry": "Réessayer", + "connect": "Connecter", + "connecting": "Connexion..." + } + }, + "clientCredentialsConnectorDialog": { + "title": "Connecter un fournisseur", + "titleWithProvider": "Connecter {{provider}}", + "description": "Saisissez les identifiants client de {{provider}} pour le connecter comme source d’accès.", + "messages": { + "connectionFailed": "Échec de la connexion" + }, + "errors": { + "connect": "Échec de la connexion au fournisseur. Vérifiez vos identifiants et réessayez." + }, + "fields": { + "clientId": "ID client", + "clientSecret": "Secret client", + "tokenUrl": "URL du jeton", + "scope": "Portée" + }, + "region": { + "placeholder": "Sélectionner une région", + "us": "États-Unis (US)", + "ca": "Canada (CA)", + "eu": "Europe (EU)" + }, + "actions": { + "connect": "Connecter", + "connecting": "Connexion..." + } + }, + "oauthExtraDialog": { + "actions": { + "continue": "Continuer" + }, + "datadog": { + "title": "Connecter Datadog", + "description": "Sélectionnez votre site Datadog, puis continuez pour autoriser l’accès.", + "siteLabel": "Site Datadog", + "sitePlaceholder": "Sélectionnez un site" + }, + "zendesk": { + "title": "Connecter Zendesk", + "description": "Saisissez votre sous-domaine Zendesk, puis continuez pour autoriser l’accès.", + "subdomainLabel": "Sous-domaine Zendesk", + "subdomainPlaceholder": "acme", + "subdomainHelp": "La partie de .zendesk.com" + } + }, + "useCreateAccessReviewSource": { + "errors": { + "create": "Échec de la création de la source d’accès" + }, + "messages": { + "error": "Erreur", + "success": "Succès", + "created": "Source d’accès créée avec succès." + } + }, + "accessReviewSourcesTab": { + "errors": { + "create": "Échec de la création de la source d’accès" + }, + "messages": { + "error": "Erreur", + "success": "Succès", + "created": "Source d’accès créée avec succès." + }, + "actions": { + "addSource": "Ajouter une source", + "loading": "Chargement...", + "loadMore": "Charger plus" + }, + "columns": { + "name": "Nom", + "source": "Source", + "status": "Statut", + "organization": "Organisation", + "createdAt": "Créé le" + }, + "empty": "Aucune source d’accès configurée pour le moment. Ajoutez votre première source pour commencer à réviser les accès." + }, + "assetDetailsPage": { + "breadcrumb": { + "assets": "Actifs" + }, + "validation": { + "nameRequired": "Le nom est requis", + "amountRequired": "Le montant est requis", + "dataTypesStoredRequired": "Les types de données stockées sont requis", + "ownerRequired": "Le propriétaire est requis" + }, + "assetTypes": { + "physical": "Physique", + "virtual": "Virtuel" + }, + "fields": { + "name": "Nom", + "amount": "Quantité", + "assetType": "Type d’actif", + "dataTypesStored": "Types de données stockées", + "owner": "Propriétaire", + "thirdParties": "Tiers" + }, + "actions": { + "delete": "Supprimer", + "update": "Mettre à jour", + "updating": "Mise à jour..." + } + }, + "assetsPage": { + "title": "Actifs", + "description": "Gérez les actifs de votre organisation et leurs classifications.", + "actions": { + "document": "Document", + "publish": "Publier", + "addAsset": "Ajouter un actif" + } + }, + "createAssetDialog": { + "breadcrumb": { + "assets": "Actifs", + "newAsset": "Nouvel actif" + }, + "validation": { + "nameRequired": "Le nom est requis", + "amountRequired": "Le montant est requis", + "ownerRequired": "Le propriétaire est requis", + "dataTypesStoredRequired": "Les types de données stockées sont requis" + }, + "fields": { + "name": "Nom", + "amount": "Montant", + "assetType": "Type d’actif", + "dataTypesStored": "Types de données stockées", + "owner": "Propriétaire", + "thirdParties": "Tiers" + }, + "assetTypes": { + "physical": "Physique", + "virtual": "Virtuel" + }, + "actions": { + "create": "Créer" + } + }, + "publishAssetListDialog": { + "title": "Publier la liste des actifs", + "description": "Sélectionnez des approbateurs pour demander une approbation avant la publication, ou publiez directement sans approbateurs.", + "errors": { + "publish": "Échec de la publication de la liste des actifs" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "approvalRequested": "Approbation demandée avec succès.", + "published": "Liste des actifs publiée avec succès." + }, + "fields": { + "approvers": "Approbateurs", + "approversPlaceholder": "Ajouter des approbateurs..." + }, + "actions": { + "publishMinor": "Publier en version mineure", + "requestApproval": "Demander une approbation", + "publish": "Publier" + } + }, + "auditDetailsPage": { + "breadcrumb": { + "audits": "Audits" + }, + "unknownAudit": "Audit inconnu", + "errors": { + "update": "Échec de la mise à jour de l’audit" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "updated": "Audit mis à jour avec succès" + }, + "deleteReportConfirmation": "Cette action supprimera définitivement le rapport d’audit « {{name}} ». Cette action est irréversible.", + "states": { + "not_started": "Non commencé", + "in_progress": "En cours", + "completed": "Terminé", + "rejected": "Rejeté", + "outdated": "Obsolète" + }, + "fields": { + "name": "Nom", + "namePlaceholder": "Nom de l’audit", + "state": "État", + "validFrom": "Valide à partir de", + "validUntil": "Valide jusqu’au" + }, + "actions": { + "delete": "Supprimer", + "update": "Mettre à jour", + "updating": "Mise à jour...", + "download": "Télécharger" + }, + "report": { + "title": "Rapport d’audit", + "uploaded": "Téléversé le {{date}}", + "uploadDescription": "Téléversez le document final du rapport d’audit (PDF recommandé)", + "dropzoneDescription": "Seuls les fichiers PDF jusqu’à 25 Mo sont autorisés" + } + }, + "auditsPage": { + "title": "Audits", + "description": "Gérez les audits de conformité de votre organisation et suivez leur progression.", + "errors": { + "unsupportedFileType": { + "title": "Type de fichier non pris en charge", + "description": "Seuls les fichiers PDF sont pris en charge." + } + }, + "dropzoneOverlay": "Déposez un PDF pour créer un audit avec un rapport", + "actions": { + "addAudit": "Ajouter un audit", + "delete": "Supprimer" + }, + "columns": { + "name": "Nom", + "framework": "Référentiel", + "state": "État", + "validFrom": "Valide à partir de", + "validUntil": "Valide jusqu’au", + "report": "Rapport" + }, + "states": { + "not_started": "Non commencé", + "in_progress": "En cours", + "completed": "Terminé", + "rejected": "Rejeté", + "outdated": "Obsolète" + }, + "row": { + "untitled": "Sans titre", + "unknownFramework": "Référentiel inconnu", + "notSet": "Non défini", + "uploaded": "Téléversé", + "notUploaded": "Non téléversé" + } + }, + "createAuditDialog": { + "breadcrumb": { + "audits": "Audits", + "newAudit": "Nouvel audit" + }, + "validation": { + "frameworkRequired": "Le référentiel est obligatoire" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "created": "Audit créé avec succès", + "createdWithReport": "Audit créé et rapport téléversé avec succès" + }, + "errors": { + "create": "Échec de la création de l’audit" + }, + "fileSize": "{{value}} Mo", + "loading": "Chargement...", + "fields": { + "framework": "Référentiel", + "frameworkPlaceholder": "Sélectionner un référentiel", + "name": "Nom", + "namePlaceholder": "Nom de l’audit", + "state": "État", + "validFrom": "Valide à partir de", + "validUntil": "Valide jusqu’au" + }, + "states": { + "not_started": "Non commencé", + "in_progress": "En cours", + "completed": "Terminé", + "rejected": "Rejeté", + "outdated": "Obsolète" + }, + "actions": { + "create": "Créer" + } + }, + "context": { + "title": "Contexte", + "description": "Informations structurées sur l’entreprise destinées aux assistants IA et aux processus de conformité.", + "sections": { + "product": { + "title": "Produit", + "description": "Décrivez ce que fait votre produit, ses principales fonctionnalités et sa proposition de valeur.", + "placeholder": "Décrivez votre produit au format markdown..." + }, + "architecture": { + "title": "Architecture", + "description": "Décrivez votre architecture technique, votre infrastructure et vos principales décisions de conception.", + "placeholder": "Décrivez votre architecture au format markdown..." + }, + "team": { + "title": "Équipe", + "description": "Décrivez la structure de votre équipe, les rôles et les responsabilités.", + "placeholder": "Décrivez votre équipe au format markdown..." + }, + "processes": { + "title": "Processus", + "description": "Décrivez vos principaux processus, flux de travail et procédures opérationnelles.", + "placeholder": "Décrivez vos processus au format markdown..." + }, + "customers": { + "title": "Clients", + "description": "Décrivez votre marché cible, vos segments de clientèle et vos cas d’usage.", + "placeholder": "Décrivez vos clients au format markdown..." + } + }, + "messages": { + "updated": "Contexte mis à jour avec succès" + }, + "errors": { + "update": "Échec de la mise à jour du contexte" + }, + "actions": { + "cancel": "Annuler", + "save": "Enregistrer", + "edit": "Modifier" + }, + "empty": "Aucun contenu pour le moment. Cliquez sur Modifier pour en ajouter." + }, + "frameworkControlPage": { + "messages": { + "error": "Erreur" + }, + "deleteConfirmation": "Voulez-vous vraiment supprimer ce contrôle ?", + "actions": { + "editControl": "Modifier le contrôle", + "delete": "Supprimer" + }, + "fields": { + "bestPractice": "Bonne pratique", + "maturityLevel": "Niveau de maturité", + "notImplementedJustification": "Justification de la non-mise en œuvre" + }, + "answers": { + "yes": "Oui", + "no": "Non" + }, + "maturityLevels": { + "none": "0 - Aucun", + "initial": "1 - Initial", + "managed": "2 - Géré", + "defined": "3 - Défini", + "quantitatively_managed": "4 - Géré quantitativement", + "optimizing": "5 - Optimisé" + }, + "errors": { + "linkMeasure": "Échec de l’association de la mesure", + "unlinkMeasure": "Échec de la dissociation de la mesure", + "linkDocument": "Échec de l’association du document", + "unlinkDocument": "Échec de la dissociation du document", + "linkAudit": "Échec de l’association de l’audit", + "unlinkAudit": "Échec de la dissociation de l’audit", + "linkObligation": "Échec de l’association de l’obligation", + "unlinkObligation": "Échec de la dissociation de l’obligation" + } + }, + "frameworkDetailPage": { + "errors": { + "export": "Échec de l’exportation du référentiel" + }, + "messages": { + "exportStarted": "Exportation du référentiel démarrée avec succès. Vous recevrez un e-mail lorsque l’exportation sera prête." + }, + "actions": { + "edit": "Modifier", + "export": "Exporter le référentiel", + "delete": "Supprimer", + "addControl": "Ajouter un nouveau contrôle" + }, + "requirementCategories": "Catégories d’exigences" + }, + "frameworksPage": { + "title": "Référentiels", + "description": "Gérez vos référentiels de conformité", + "messages": { + "imported": "Référentiel importé avec succès" + }, + "errors": { + "import": "Échec de l’importation du référentiel" + }, + "actions": { + "import": "Importer", + "edit": "Modifier", + "delete": "Supprimer" + } + }, + "frameworkControlDialog": { + "breadcrumb": { + "controls": "Contrôles", + "editControl": "Modifier le contrôle", + "newControl": "Nouveau contrôle" + }, + "messages": { + "created": "Contrôle créé avec succès.", + "updated": "Contrôle mis à jour avec succès." + }, + "errors": { + "create": "Échec de la création du contrôle", + "update": "Échec de la mise à jour du contrôle" + }, + "fields": { + "sectionTitle": "Titre de la section", + "name": "Nom du contrôle", + "description": "Ajouter une description", + "bestPractice": "Bonne pratique", + "maturityLevel": "Niveau de maturité", + "notImplementedJustification": "Justification de la non-mise en œuvre" + }, + "actions": { + "create": "Créer un contrôle", + "update": "Mettre à jour le contrôle" + } + }, + "frameworkFormDialog": { + "breadcrumb": { + "framework": "Référentiel", + "newFramework": "Nouveau référentiel" + }, + "messages": { + "created": "Référentiel créé avec succès", + "updated": "Référentiel mis à jour avec succès" + }, + "errors": { + "create": "Échec de la création du référentiel", + "update": "Échec de la mise à jour du référentiel" + }, + "fields": { + "title": "Titre du référentiel", + "description": "Ajouter une description" + }, + "actions": { + "create": "Créer un référentiel", + "update": "Mettre à jour le référentiel" + } + }, + "measureDetailPage": { + "breadcrumb": { + "measures": "Mesures", + "detail": "Détail de la mesure" + }, + "deleteConfirmation": "Cette action supprimera définitivement la mesure « {{name}} ». Elle est irréversible.", + "fields": { + "selectState": "Sélectionner un état" + }, + "actions": { + "edit": "Modifier", + "delete": "Supprimer" + }, + "states": { + "implemented": "Mis en œuvre", + "in_progress": "En cours", + "not_applicable": "Non applicable", + "not_started": "Non commencé", + "unknown": "Inconnu", + "not_implemented": "Non mis en œuvre" + }, + "tabs": { + "evidences": "Preuves", + "tasks": "Tâches", + "controls": "Contrôles", + "risks": "Risques", + "documents": "Documents", + "thirdParties": "Tiers" + } + }, + "measuresPage": { + "title": "Mesures", + "description": "Les mesures sont des actions mises en œuvre pour réduire le risque. Ajoutez-en pour suivre leur état de mise en œuvre.", + "messages": { + "imported": "Mesures importées avec succès.", + "error": "Erreur", + "success": "Succès", + "deleted": "Mesure supprimée avec succès" + }, + "errors": { + "import": "Échec de l’importation des mesures", + "delete": "Échec de la suppression de la mesure" + }, + "deleteConfirmation": "Cette action supprimera définitivement la mesure « {{name}} ». Cette action est irréversible.", + "actions": { + "import": "Importer", + "newMeasure": "Nouvelle mesure", + "loading": "Chargement...", + "loadMore": "Charger plus", + "edit": "Modifier", + "delete": "Supprimer" + }, + "filters": { + "searchPlaceholder": "Rechercher des mesures...", + "allStates": "Tous les états", + "allCategories": "Toutes les catégories" + }, + "states": { + "implemented": "Mis en œuvre", + "in_progress": "En cours", + "not_applicable": "Non applicable", + "not_started": "Non commencé" + }, + "columns": { + "measure": "Mesure", + "category": "Catégorie", + "state": "État" + }, + "empty": { + "title": "Aucune mesure pour l’instant", + "description": "Créez votre première mesure pour commencer." + } + }, + "linkedThirdPartiesCard": { + "columns": { + "name": "Nom", + "category": "Catégorie" + }, + "empty": "Aucun tiers associé", + "actions": { + "link": "Associer un tiers", + "unlink": "Dissocier" + } + }, + "linkedThirdPartiesDialog": { + "title": "Associer des tiers", + "searchPlaceholder": "Rechercher des tiers...", + "actions": { + "link": "Associer", + "unlink": "Dissocier" + } + }, + "createEvidenceDialog": { + "breadcrumb": { + "measureDetail": "Détail de la mesure", + "createEvidence": "Créer une preuve" + }, + "tabs": { + "upload": "Téléverser", + "link": "Lien" + }, + "messages": { + "uploaded": "Preuve téléversée avec succès", + "created": "Preuve créée avec succès" + }, + "errors": { + "create": "Échec de la création de la preuve" + }, + "uploadDescription": "Documents, feuilles de calcul, présentations, images et fichiers texte jusqu’à 20 Mo", + "fields": { + "name": "Nom", + "namePlaceholder": "Nom de la preuve", + "url": "URL", + "urlPlaceholder": "URL de la preuve", + "urlHelp": "Cela créera un fichier .uri contenant l’URL" + }, + "actions": { + "create": "Créer" + } + }, + "evidenceDownloadDialog": { + "breadcrumb": { + "evidences": "Preuves", + "download": "Télécharger" + }, + "generating": "Génération du lien de téléchargement..." + }, + "evidencePreviewDialog": { + "breadcrumb": { + "evidences": "Preuves" + }, + "messages": { + "error": "Erreur" + }, + "errors": { + "extractUrl": "Échec de l’extraction de l’URL du fichier URI" + }, + "previewUnavailable": "Aperçu non disponible pour ce type de fichier : {{mimeType}}", + "actions": { + "download": "Télécharger le fichier" + } + }, + "measureFormDialog": { + "breadcrumb": { + "measures": "Mesures", + "editMeasure": "Modifier la mesure", + "newMeasure": "Nouvelle mesure" + }, + "messages": { + "created": "Mesure créée avec succès." + }, + "errors": { + "create": "Échec de la création de la mesure" + }, + "validation": { + "nameRequired": "Le nom est requis", + "categoryRequired": "La catégorie est requise" + }, + "fields": { + "name": "Nom de la mesure", + "namePlaceholder": "Titre de la mesure", + "description": "Description", + "descriptionPlaceholder": "Ajouter une description", + "category": "Catégorie", + "categoryPlaceholder": "Sélectionner une catégorie", + "state": "État", + "statePlaceholder": "Sélectionner un état" + }, + "properties": "Propriétés", + "states": { + "implemented": "Mis en œuvre", + "in_progress": "En cours", + "not_applicable": "Non applicable", + "not_started": "Non commencé", + "unknown": "Inconnu", + "not_implemented": "Non mis en œuvre" + }, + "actions": { + "create": "Créer une mesure", + "update": "Mettre à jour la mesure" + } + }, + "measureEvidencesTab": { + "pageTitle": "{{name}} - Preuves", + "columns": { + "description": "Description", + "fileType": "Type de fichier", + "fileSize": "Taille du fichier", + "createdAt": "Créé le" + }, + "messages": { + "deleted": "La preuve « {{name}} » a été supprimée avec succès" + }, + "errors": { + "delete": "Échec de la suppression de la preuve" + }, + "deleteConfirmation": "Cette action supprimera définitivement la preuve « {{name}} ». Cette action est irréversible.", + "linkEvidence": "Associer une preuve", + "actions": { + "add": "Ajouter une preuve", + "download": "Télécharger", + "delete": "Supprimer" + } + }, + "measureTasksTab": { + "actions": { + "newTask": "Nouvelle tâche" + } + }, + "obligationDetailsPage": { + "breadcrumb": { + "obligations": "Obligations", + "details": "Détails de l’obligation" + }, + "title": "Obligation", + "messages": { + "success": "Succès", + "error": "Erreur", + "updated": "Obligation mise à jour avec succès" + }, + "errors": { + "update": "Échec de la mise à jour de l’obligation" + }, + "validation": { + "ownerRequired": "Le propriétaire est requis" + }, + "fields": { + "area": "Domaine", + "source": "Source", + "status": "Statut", + "owner": "Propriétaire", + "regulator": "Régulateur", + "type": "Type", + "lastReviewDate": "Date de dernière révision", + "dueDate": "Date d’échéance", + "requirement": "Exigence", + "actionsToBeImplemented": "Actions à mettre en œuvre" + }, + "placeholders": { + "area": "Saisir le domaine", + "source": "Saisir la source", + "status": "Sélectionner un statut", + "regulator": "Saisir le régulateur", + "type": "Sélectionner un type", + "requirement": "Saisir l’exigence", + "actionsToBeImplemented": "Saisir les actions à mettre en œuvre" + }, + "statuses": { + "non_compliant": "Non conforme", + "partially_compliant": "Partiellement conforme", + "compliant": "Conforme" + }, + "types": { + "legal": "Légal", + "contractual": "Contractuel" + }, + "actions": { + "delete": "Supprimer", + "saving": "Enregistrement...", + "save": "Enregistrer les modifications" + } + }, + "obligationsPage": { + "title": "Obligations", + "description": "Gérez les obligations de votre organisation.", + "actions": { + "document": "Document", + "publish": "Publier", + "add": "Ajouter une obligation", + "loadMore": "Charger plus", + "delete": "Supprimer" + }, + "empty": { + "title": "Aucune obligation pour le moment", + "description": "Créez votre première obligation pour commencer." + }, + "columns": { + "area": "Domaine", + "source": "Source", + "status": "Statut", + "owner": "Propriétaire", + "dueDate": "Date d’échéance", + "actions": "Actions" + }, + "statuses": { + "non_compliant": "Non conforme", + "partially_compliant": "Partiellement conforme", + "compliant": "Conforme" + }, + "deleteConfirmation": "Cette action supprimera définitivement cette obligation. Cette action est irréversible.", + "noDueDate": "Aucune date d’échéance" + }, + "createObligationDialog": { + "breadcrumb": { + "obligations": "Obligations", + "create": "Créer une obligation" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "created": "Obligation créée avec succès" + }, + "errors": { + "create": "Échec de la création de l’obligation" + }, + "validation": { + "ownerRequired": "Le propriétaire est requis" + }, + "fields": { + "area": "Domaine", + "source": "Source", + "status": "Statut", + "owner": "Propriétaire", + "regulator": "Régulateur", + "type": "Type", + "lastReviewDate": "Date de dernière révision", + "dueDate": "Date d’échéance", + "requirement": "Exigence", + "actionsToBeImplemented": "Actions à mettre en œuvre" + }, + "placeholders": { + "area": "Saisir le domaine", + "source": "Saisir la source", + "status": "Sélectionner un statut", + "regulator": "Saisir le régulateur", + "type": "Sélectionner un type", + "requirement": "Saisir les détails de l’exigence...", + "actionsToBeImplemented": "Saisir les actions à mettre en œuvre..." + }, + "statuses": { + "non_compliant": "Non conforme", + "partially_compliant": "Partiellement conforme", + "compliant": "Conforme" + }, + "types": { + "legal": "Légal", + "contractual": "Contractuel" + }, + "actions": { + "creating": "Création...", + "create": "Créer une obligation" + } + }, + "publishObligationListDialog": { + "title": "Publier la liste des obligations", + "description": "Sélectionnez des approbateurs pour demander une approbation avant la publication, ou publiez directement sans approbateurs.", + "messages": { + "success": "Succès", + "error": "Erreur", + "approvalRequested": "Approbation demandée avec succès.", + "published": "Liste des obligations publiée avec succès." + }, + "errors": { + "publish": "Échec de la publication de la liste des obligations" + }, + "fields": { + "approvers": "Approbateurs", + "approversPlaceholder": "Ajouter des approbateurs..." + }, + "actions": { + "publishMinor": "Publier en version mineure", + "requestApproval": "Demander une approbation", + "publish": "Publier" + } + }, + "processingActivitiesPage": { + "title": "Activités de traitement", + "description": "Gérez les activités de traitement de votre organisation dans le cadre du RGPD", + "tabs": { + "activities": "Activités de traitement", + "dpia": "Analyses d’impact relatives à la protection des données", + "tia": "Analyses d’impact des transferts" + }, + "actions": { + "add": "Ajouter une activité de traitement", + "document": "Document", + "publish": "Publier", + "loading": "Chargement...", + "loadMore": "Charger plus", + "delete": "Supprimer" + }, + "columns": { + "name": "Nom", + "purpose": "Finalité", + "dataSubject": "Personne concernée", + "lawfulBasis": "Base légale", + "location": "Emplacement", + "internationalTransfers": "Transferts internationaux", + "actions": "Actions", + "processingActivity": "Activité de traitement", + "description": "Description", + "potentialRisk": "Risque potentiel", + "residualRisk": "Risque résiduel", + "dataSubjects": "Personnes concernées", + "transfer": "Transfert", + "localLawRisk": "Risque lié au droit local" + }, + "empty": { + "activitiesTitle": "Aucune activité de traitement pour le moment", + "activitiesDescription": "Créez votre première activité de traitement pour commencer votre conformité au RGPD.", + "dpiaTitle": "Aucune analyse d’impact relative à la protection des données pour le moment", + "dpiaDescription": "Les AIPD sont créées depuis chaque activité de traitement.", + "tiaTitle": "Aucune analyse d’impact des transferts pour le moment", + "tiaDescription": "Les analyses d’impact des transferts sont créées depuis chaque activité de traitement." + }, + "deleteConfirmation": "Cette action supprimera définitivement l’activité de traitement {{name}}. Cette action est irréversible.", + "answers": { + "yes": "Oui", + "no": "Non" + } + }, + "processingActivityDetailsPage": { + "breadcrumb": { + "activities": "Activités de traitement" + }, + "tabs": { + "overview": "Vue d’ensemble", + "dpia": "Analyse d’impact relative à la protection des données", + "tia": "Analyse d’impact des transferts" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "activityUpdated": "Activité de traitement mise à jour avec succès", + "dpiaUpdated": "AIPD mise à jour avec succès", + "dpiaCreated": "AIPD créée avec succès", + "tiaUpdated": "Analyse d’impact des transferts mise à jour avec succès", + "tiaCreated": "Analyse d’impact des transferts créée avec succès" + }, + "errors": { + "updateActivity": "Échec de la mise à jour de l’activité de traitement", + "saveDpia": "Échec de l’enregistrement de l’AIPD", + "saveTia": "Échec de l’enregistrement de l’analyse d’impact des transferts" + }, + "validation": { + "nameRequired": "Le nom est requis" + }, + "fields": { + "name": "Nom", + "role": "Rôle", + "purpose": "Finalité", + "dataSubjectCategory": "Catégorie de personnes concernées", + "personalDataCategory": "Catégorie de données personnelles", + "specialOrCriminalData": "Données sensibles ou pénales", + "consentEvidenceLink": "Lien vers la preuve de consentement", + "lawfulBasis": "Base légale", + "lastReviewDate": "Date de dernière révision", + "nextReviewDate": "Date de prochaine révision", + "dataProtectionOfficer": "Délégué à la protection des données", + "recipients": "Destinataires", + "location": "Emplacement", + "internationalTransfers": "Transferts internationaux", + "internationalTransfersDescription": "Les données sont transférées à l’international", + "transferSafeguards": "Garanties de transfert", + "retentionPeriod": "Durée de conservation", + "securityMeasures": "Mesures de sécurité", + "dpiaNeeded": "Analyse d’impact relative à la protection des données", + "tiaNeeded": "Analyse d’impact des transferts", + "thirdParties": "Tiers", + "dpiaDescription": "Description", + "necessityAndProportionality": "Nécessité et proportionnalité", + "potentialRisk": "Risque potentiel", + "mitigations": "Mesures d’atténuation", + "residualRisk": "Risque résiduel", + "dataSubjects": "Personnes concernées", + "legalMechanism": "Mécanisme juridique", + "transfer": "Transfert", + "localLawRisk": "Risque lié au droit local", + "supplementaryMeasures": "Mesures supplémentaires" + }, + "placeholders": { + "role": "Sélectionner un rôle", + "purpose": "Décrivez la finalité du traitement", + "dataSubjectCategory": "par ex. employés, clients, prospects", + "personalDataCategory": "par ex. coordonnées, données financières", + "specialOrCriminalData": "Sélectionner le statut des données sensibles ou pénales", + "consentEvidenceLink": "Lien vers la preuve de consentement, si applicable", + "lawfulBasis": "Sélectionner la base légale du traitement", + "recipients": "Qui reçoit les données", + "location": "Où les données sont traitées", + "transferSafeguards": "Sélectionner les garanties de transfert", + "retentionPeriod": "Pendant combien de temps les données sont-elles conservées", + "securityMeasures": "Mesures techniques et organisationnelles", + "dpiaNeeded": "Une AIPD est-elle nécessaire ?", + "tiaNeeded": "Une analyse d’impact des transferts est-elle nécessaire ?", + "dpiaDescription": "Décrivez l’activité de traitement et sa finalité", + "necessityAndProportionality": "Expliquez pourquoi le traitement est nécessaire et proportionné", + "potentialRisk": "Décrivez les risques potentiels pour les personnes concernées", + "mitigations": "Décrivez les mesures permettant d’atténuer les risques identifiés", + "residualRisk": "Sélectionner le niveau de risque résiduel", + "dataSubjects": "Décrivez les personnes concernées impliquées dans le transfert", + "legalMechanism": "Décrivez le mécanisme juridique du transfert (par ex. clauses contractuelles types, règles internes d’entreprise, décision d’adéquation)", + "transfer": "Décrivez la nature et les détails du transfert de données", + "localLawRisk": "Évaluez les risques liés au droit local du pays de destination", + "supplementaryMeasures": "Décrivez les mesures supplémentaires prises pour garantir une protection adéquate" + }, + "residualRisk": { + "low": "Faible", + "medium": "Moyen", + "high": "Élevé" + }, + "actions": { + "delete": "Supprimer", + "saving": "Enregistrement...", + "save": "Enregistrer les modifications", + "cancel": "Annuler", + "createDpia": "Créer une AIPD", + "updateDpia": "Mettre à jour l’AIPD", + "deleteDpia": "Supprimer l’AIPD", + "createTia": "Créer une analyse d’impact des transferts", + "updateTia": "Mettre à jour l’analyse d’impact des transferts", + "deleteTia": "Supprimer l’analyse d’impact des transferts" + } + }, + "createProcessingActivityDialog": { + "breadcrumb": { + "activities": "Activités de traitement", + "create": "Créer une activité de traitement" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "created": "Activité de traitement créée avec succès" + }, + "errors": { + "create": "Échec de la création de l’activité de traitement" + }, + "validation": { + "nameRequired": "Le nom est requis" + }, + "placeholders": { + "name": "Nom de l’activité de traitement" + }, + "actions": { + "creating": "Création...", + "create": "Créer une activité de traitement" + } + }, + "publishDpiaListDialog": { + "title": "Publier les analyses d’impact relatives à la protection des données", + "description": "Sélectionnez des approbateurs pour demander une approbation avant la publication, ou publiez directement sans approbateurs.", + "messages": { + "success": "Succès", + "error": "Erreur", + "approvalRequested": "Approbation demandée avec succès.", + "published": "Analyses d’impact relatives à la protection des données publiées avec succès." + }, + "errors": { + "publish": "Échec de la publication des analyses d’impact relatives à la protection des données" + }, + "fields": { + "approvers": "Approbateurs", + "approversPlaceholder": "Ajouter des approbateurs..." + }, + "actions": { + "publishMinor": "Publier en version mineure", + "requestApproval": "Demander une approbation", + "publish": "Publier" + } + }, + "publishProcessingActivityListDialog": { + "title": "Publier les activités de traitement", + "description": "Sélectionnez des approbateurs pour demander une approbation avant la publication, ou publiez directement sans approbateurs.", + "messages": { + "success": "Succès", + "error": "Erreur", + "approvalRequested": "Approbation demandée avec succès.", + "published": "Activités de traitement publiées avec succès." + }, + "errors": { + "publish": "Échec de la publication des activités de traitement" + }, + "fields": { + "approvers": "Approbateurs", + "approversPlaceholder": "Ajouter des approbateurs..." + }, + "actions": { + "publishMinor": "Publier en version mineure", + "requestApproval": "Demander une approbation", + "publish": "Publier" + } + }, + "publishTiaListDialog": { + "title": "Publier les analyses d’impact des transferts", + "description": "Sélectionnez des approbateurs pour demander une approbation avant la publication, ou publiez directement sans approbateurs.", + "messages": { + "success": "Succès", + "error": "Erreur", + "approvalRequested": "Approbation demandée avec succès.", + "published": "Analyses d’impact des transferts publiées avec succès." + }, + "errors": { + "publish": "Échec de la publication des analyses d’impact des transferts" + }, + "fields": { + "approvers": "Approbateurs", + "approversPlaceholder": "Ajouter des approbateurs..." + }, + "actions": { + "publishMinor": "Publier en version mineure", + "requestApproval": "Demander une approbation", + "publish": "Publier" + } + }, + "rightsRequestDetailsPage": { + "breadcrumb": { + "requests": "Demandes d’exercice de droits" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "updated": "Demande d’exercice de droits mise à jour avec succès" + }, + "errors": { + "update": "Échec de la mise à jour de la demande d’exercice de droits" + }, + "types": { + "access": "Accès", + "deletion": "Suppression", + "rectification": "Rectification", + "portability": "Portabilité", + "objection": "Opposition", + "complaint": "Réclamation" + }, + "states": { + "todo": "À faire", + "in_progress": "En cours", + "done": "Terminé", + "rejected": "Rejeté" + }, + "fields": { + "requestType": "Type de demande", + "state": "État", + "dataSubject": "Personne concernée", + "contact": "Contact", + "details": "Détails", + "deadline": "Échéance", + "actionTaken": "Action entreprise" + }, + "placeholders": { + "details": "Saisir les détails de la demande", + "actionTaken": "Saisir l’action entreprise" + }, + "actions": { + "delete": "Supprimer", + "saving": "Enregistrement...", + "save": "Enregistrer les modifications" + } + }, + "rightsRequestsPage": { + "title": "Demandes d’exercice de droits", + "description": "Gérez les demandes d’exercice de droits des personnes concernées.", + "actions": { + "add": "Ajouter une demande d’exercice de droits", + "loading": "Chargement...", + "loadMore": "Charger plus", + "delete": "Supprimer" + }, + "columns": { + "type": "Type", + "state": "État", + "dataSubject": "Personne concernée", + "contact": "Contact", + "deadline": "Échéance", + "actions": "Actions" + }, + "types": { + "access": "Accès", + "deletion": "Suppression", + "rectification": "Rectification", + "portability": "Portabilité", + "objection": "Opposition", + "complaint": "Réclamation" + }, + "states": { + "todo": "À faire", + "in_progress": "En cours", + "done": "Terminé", + "rejected": "Rejeté" + }, + "empty": { + "title": "Aucune demande d’exercice de droits pour le moment", + "description": "Créez votre première demande d’exercice de droits pour commencer." + }, + "deleteConfirmation": "Cela supprimera définitivement la demande d’exercice de droits. Cette action est irréversible.", + "noDeadline": "Aucune échéance" + }, + "createRightsRequestDialog": { + "breadcrumb": { + "requests": "Demandes d’exercice de droits", + "create": "Créer une demande" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "created": "Demande d’exercice de droits créée avec succès" + }, + "errors": { + "create": "Échec de la création de la demande d’exercice de droits" + }, + "placeholders": { + "dataSubject": "Saisir le nom de la personne concernée", + "contact": "Saisir les informations de contact" + }, + "actions": { + "creating": "Création...", + "create": "Créer la demande" + } + }, + "riskDetailLayout": { + "breadcrumb": { + "risks": "Risques", + "detail": "Détail du risque" + }, + "deleteConfirmation": "Cette action supprimera définitivement le risque « {{name}} ». Cette action est irréversible.", + "actions": { + "edit": "Modifier", + "delete": "Supprimer" + }, + "tabs": { + "overview": "Vue d’ensemble", + "measures": "Mesures", + "documents": "Documents", + "controls": "Contrôles", + "obligations": "Obligations", + "scenarios": "Scénarios" + }, + "fields": { + "owner": "Propriétaire", + "treatment": "Traitement", + "initialRiskScore": "Score de risque initial", + "residualRiskScore": "Score de risque résiduel", + "note": "Note" + }, + "treatments": { + "mitigated": "Atténuer", + "accepted": "Accepter", + "transferred": "Transférer", + "avoided": "Éviter", + "unknown": "Inconnu" + } + }, + "risksPage": { + "title": "Risques", + "description": "Les risques sont des menaces potentielles pour votre organisation. Gérez-les en les identifiant, en les évaluant et en mettant en œuvre des mesures d’atténuation.", + "actions": { + "document": "Document", + "publish": "Publier", + "newRisk": "Nouveau risque" + }, + "columns": { + "name": "Nom du risque", + "category": "Catégorie", + "treatment": "Traitement", + "initialRisk": "Risque initial", + "residualRisk": "Risque résiduel", + "owner": "Propriétaire" + } + }, + "risksTabs": { + "risks": "Risques", + "riskAssessments": "Évaluations des risques" + }, + "formRiskDialog": { + "breadcrumb": { + "risks": "Risques", + "edit": "Modifier le risque", + "new": "Nouveau risque" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "updated": "Risque mis à jour avec succès.", + "created": "Risque créé avec succès." + }, + "errors": { + "update": "Échec de la mise à jour du risque", + "create": "Échec de la création du risque" + }, + "fields": { + "name": "Nom du risque", + "description": "Description", + "initialRisk": "Risque initial", + "residualRisk": "Risque résiduel", + "owner": "Propriétaire", + "treatment": "Stratégie de traitement", + "note": "Note", + "impact": "Impact", + "likelihood": "Probabilité", + "category": "Catégorie de risque" + }, + "properties": "Propriétés", + "placeholders": { + "name": "Panne de service", + "description": "Saisissez votre description ici", + "treatment": "Sélectionner une stratégie de traitement", + "note": "Ajoutez des notes supplémentaires sur ce risque", + "impact": "Sélectionner un niveau d’impact", + "likelihood": "Sélectionner un niveau de probabilité", + "category": "Sélectionner une catégorie", + "template": "Sélectionner un modèle" + }, + "treatments": { + "avoided": "Éviter", + "mitigated": "Atténuer", + "transferred": "Transférer", + "accepted": "Accepter" + }, + "scoreOption": "{{value}} - {{label}}", + "impacts": { + "1": "Négligeable", + "2": "Faible", + "3": "Modéré", + "4": "Important", + "5": "Catastrophique" + }, + "likelihoods": { + "1": "Improbable", + "2": "Rare", + "3": "Occasionnel", + "4": "Probable", + "5": "Fréquent" + }, + "actions": { + "create": "Créer un risque", + "update": "Mettre à jour le risque" + } + }, + "linkScenarioDialog": { + "title": "Associer des scénarios", + "searchPlaceholder": "Rechercher des scénarios...", + "noDescription": "Aucune description", + "actions": { + "close": "Fermer", + "link": "Associer", + "unlink": "Dissocier" + } + }, + "publishRiskListDialog": { + "title": "Publier les risques", + "description": "Sélectionnez des approbateurs pour demander une approbation avant la publication, ou publiez directement sans approbateurs.", + "messages": { + "success": "Succès", + "error": "Erreur", + "approvalRequested": "Approbation demandée avec succès.", + "published": "Risques publiés avec succès." + }, + "errors": { + "publish": "Échec de la publication des risques" + }, + "fields": { + "approvers": "Approbateurs", + "approversPlaceholder": "Ajouter des approbateurs..." + }, + "actions": { + "publishMinor": "Publier en version mineure", + "requestApproval": "Demander une approbation", + "publish": "Publier" + } + }, + "riskRow": { + "messages": { + "error": "Erreur" + }, + "errors": { + "delete": "Échec de la suppression du risque" + }, + "deleteConfirmation": "Cette action supprimera définitivement le risque « {{name}} ». Elle est irréversible.", + "treatments": { + "mitigated": "Atténuer", + "accepted": "Accepter", + "transferred": "Transférer", + "avoided": "Éviter", + "unknown": "Inconnu" + }, + "unassigned": "Non attribué", + "actions": { + "edit": "Modifier", + "delete": "Supprimer" + } + }, + "riskControlsPage": { + "columns": { + "reference": "Référence", + "name": "Nom" + }, + "empty": "Aucun contrôle associé" + }, + "riskAssessmentDetailPage": { + "title": "Évaluation des risques", + "breadcrumb": { + "assessments": "Évaluations des risques" + }, + "messages": { + "error": "Erreur" + }, + "errors": { + "delete": "Échec de la suppression de l’évaluation des risques" + }, + "deleteConfirmation": "Cette action supprimera définitivement cette évaluation des risques ainsi que toutes ses portées, nœuds, processus et menaces. Cette action est irréversible.", + "actions": { + "delete": "Supprimer" + }, + "details": "Détails", + "fields": { + "createdAt": "Créé le", + "updatedAt": "Mis à jour le" + }, + "scopes": "Portées", + "emptyScopes": "Aucune portée pour l’instant. Créez une portée pour commencer à définir des nœuds, des processus et des menaces." + }, + "riskAssessmentsPage": { + "title": "Évaluations des risques", + "description": "Gérez les évaluations des risques avec leurs portées, nœuds, processus, menaces et scénarios.", + "columns": { + "name": "Nom", + "description": "Description", + "created": "Créé le" + } + }, + "riskAssessmentBoundaryActions": { + "breadcrumb": { + "boundaries": "Périmètres" + }, + "deleteConfirmation": "Supprimer ce périmètre ? Les nœuds et les périmètres imbriqués qu’il contient seront déplacés au niveau supérieur.", + "fields": { + "name": "Nom", + "parentBoundary": "Périmètre parent" + }, + "validation": { + "nameRequired": "Ce champ est requis" + }, + "noneTopLevel": "Aucun (niveau supérieur)", + "actions": { + "edit": "Modifier", + "delete": "Supprimer", + "save": "Enregistrer" + } + }, + "createRiskAssessmentBoundaryDialog": { + "breadcrumb": { + "boundaries": "Périmètres", + "addBoundary": "Ajouter un périmètre" + }, + "fields": { + "name": "Nom", + "parentBoundary": "Périmètre parent" + }, + "validation": { + "nameRequired": "Ce champ est requis" + }, + "noneTopLevel": "Aucun (niveau supérieur)", + "actions": { + "add": "Ajouter" + } + }, + "createRiskAssessmentNodeDialog": { + "breadcrumb": { + "nodes": "Nœuds", + "addNode": "Ajouter un nœud" + }, + "fields": { + "type": "Type", + "name": "Nom", + "boundary": "Périmètre" + }, + "types": { + "entity": "Entité", + "asset": "Actif", + "data": "Donnée" + }, + "validation": { + "nameRequired": "Ce champ est requis" + }, + "none": "Aucun", + "actions": { + "add": "Ajouter" + } + }, + "createRiskAssessmentProcessDialog": { + "breadcrumb": { + "processes": "Processus", + "addProcess": "Ajouter un processus" + }, + "fields": { + "source": "Source", + "target": "Cible", + "name": "Nom" + }, + "validation": { + "required": "Ce champ est requis" + }, + "placeholders": { + "sourceNode": "Sélectionner le nœud source", + "targetNode": "Sélectionner le nœud cible", + "name": "par ex. Utilisateur → API" + }, + "actions": { + "add": "Ajouter" + } + }, + "createRiskAssessmentDialog": { + "title": "Nouvelle évaluation des risques", + "breadcrumb": { + "riskAssessments": "Évaluations des risques" + }, + "fields": { + "name": "Nom", + "description": "Description" + }, + "validation": { + "nameRequired": "Ce champ est requis" + }, + "placeholders": { + "name": "ex. Modèle de menace de la plateforme 2026", + "description": "Décrivez la portée et l’objectif de cette analyse..." + }, + "actions": { + "create": "Créer" + } + }, + "createScenarioInScopeDialog": { + "breadcrumb": { + "scenarios": "Scénarios", + "addScenario": "Ajouter un scénario" + }, + "fields": { + "name": "Nom", + "description": "Description", + "threats": "Menaces", + "risks": "Risques" + }, + "validation": { + "nameRequired": "Ce champ est requis" + }, + "placeholders": { + "name": "ex. Violation de données via une API compromise", + "threatToLink": "Sélectionner une menace à associer...", + "riskToLink": "Sélectionner un risque à associer..." + }, + "noMoreRisks": "Plus aucun risque disponible.", + "loadingRisks": "Chargement des risques...", + "actions": { + "add": "Ajouter" + } + }, + "createRiskAssessmentScopeDialog": { + "breadcrumb": { + "scopes": "Portées", + "newScope": "Nouvelle portée" + }, + "fields": { + "name": "Nom" + }, + "validation": { + "nameRequired": "Ce champ est requis" + }, + "placeholders": { + "name": "par ex. Couche API" + }, + "actions": { + "addScope": "Ajouter une portée", + "create": "Créer" + } + }, + "createRiskAssessmentThreatDialog": { + "breadcrumb": { + "threats": "Menaces", + "addThreat": "Ajouter une menace" + }, + "fields": { + "process": "Processus", + "name": "Nom", + "category": "Catégorie" + }, + "validation": { + "required": "Ce champ est requis" + }, + "placeholders": { + "process": "Sélectionner un processus", + "name": "ex. injection SQL", + "category": "ex. Confidentialité" + }, + "actions": { + "add": "Ajouter" + } + }, + "riskAssessmentNodeActions": { + "breadcrumb": { + "nodes": "Nœuds" + }, + "deleteConfirmation": "Supprimer ce nœud ?", + "fields": { + "type": "Type", + "name": "Nom", + "boundary": "Périmètre" + }, + "types": { + "entity": "Entité", + "asset": "Actif", + "data": "Donnée" + }, + "validation": { + "nameRequired": "Ce champ est requis" + }, + "none": "Aucun", + "actions": { + "edit": "Modifier", + "delete": "Supprimer", + "save": "Enregistrer" + } + }, + "riskAssessmentProcessActions": { + "breadcrumb": { + "processes": "Processus" + }, + "deleteConfirmation": "Supprimer ce processus ?", + "fields": { + "source": "Source", + "target": "Cible", + "name": "Nom" + }, + "validation": { + "nameRequired": "Ce champ est requis" + }, + "placeholders": { + "sourceNode": "Sélectionner le nœud source", + "targetNode": "Sélectionner le nœud cible" + }, + "actions": { + "edit": "Modifier", + "delete": "Supprimer", + "save": "Enregistrer" + } + }, + "riskAssessmentScenarioActions": { + "breadcrumb": { + "scenarios": "Scénarios" + }, + "deleteConfirmation": "Supprimer ce scénario ?", + "fields": { + "name": "Nom", + "description": "Description", + "threats": "Menaces", + "risks": "Risques" + }, + "validation": { + "nameRequired": "Ce champ est requis" + }, + "placeholders": { + "threatToLink": "Sélectionner une menace à associer...", + "riskToLink": "Sélectionner un risque à associer..." + }, + "noMoreRisks": "Aucun autre risque disponible.", + "loadingRisks": "Chargement des risques...", + "actions": { + "edit": "Modifier", + "delete": "Supprimer", + "save": "Enregistrer" + } + }, + "riskAssessmentScopeActions": { + "breadcrumb": { + "scopes": "Portées", + "editScope": "Modifier la portée" + }, + "deleteConfirmation": "Supprimer cette portée ainsi que tous ses nœuds, processus et menaces ?", + "fields": { + "name": "Nom" + }, + "validation": { + "nameRequired": "Ce champ est requis" + }, + "actions": { + "edit": "Modifier", + "delete": "Supprimer", + "save": "Enregistrer" + } + }, + "scopeCard": { + "summary": "{{nodes}} nœuds · {{processes}} processus · {{threats}} menaces · {{scenarios}} scénarios", + "diagram": { + "title": "Diagramme", + "description": "Visualisation des nœuds, processus et menaces de cette portée." + }, + "sectionTitle": { + "nodes_one": "Nœuds ({{count}})", + "nodes_other": "Nœuds ({{count}})", + "processes_one": "Processus ({{count}})", + "processes_other": "Processus ({{count}})", + "boundaries_one": "Périmètres ({{count}})", + "boundaries_other": "Périmètres ({{count}})", + "threats_one": "Menaces ({{count}})", + "threats_other": "Menaces ({{count}})", + "scenarios_one": "Scénarios ({{count}})", + "scenarios_other": "Scénarios ({{count}})" + }, + "hints": { + "nodes": "Entités, périmètres, actifs et données impliqués dans cette portée.", + "processes": "Flux de données et interactions entre les nœuds.", + "boundaries": "Regroupements qui contiennent des nœuds et peuvent être imbriqués dans d’autres périmètres.", + "threats": "Menaces potentielles visant un processus. Associez les menaces aux risques via des scénarios.", + "scenarios": "Scénarios de risque associant des menaces à des risques." + }, + "columns": { + "name": "Nom", + "type": "Type", + "boundary": "Périmètre", + "from": "De", + "to": "À", + "parent": "Parent", + "threat": "Menace", + "category": "Catégorie", + "process": "Processus", + "scenario": "Scénario", + "risks": "Risques", + "threats": "Menaces" + }, + "empty": { + "nodes": "Aucun nœud", + "processes": "Aucun processus", + "boundaries": "Aucun périmètre", + "threats": "Aucune menace", + "scenarios": "Aucun scénario" + } + }, + "scopeDiagram": { + "empty": "Ajoutez des nœuds et des processus pour voir le diagramme.", + "errorTitle": "Erreur", + "copyError": "Échec de la copie dans le presse-papiers", + "copyMermaidSource": "Copier la source mermaid", + "legend": { + "entity": "Entité", + "boundary": "Périmètre", + "asset": "Actif", + "data": "Donnée", + "threat": "Menace" + } + }, + "riskAssessmentThreatActions": { + "breadcrumb": { + "threats": "Menaces" + }, + "deleteConfirmation": "Supprimer cette menace ?", + "fields": { + "name": "Nom", + "category": "Catégorie" + }, + "validation": { + "required": "Ce champ est requis" + }, + "placeholders": { + "category": "par ex. Confidentialité" + }, + "actions": { + "edit": "Modifier", + "delete": "Supprimer", + "save": "Enregistrer" + } + }, + "riskScenariosPage": { + "columns": { + "scenario": "Scénario", + "description": "Description" + }, + "empty": "Aucun scénario associé à ce risque pour le moment.", + "actions": { + "unlink": "Dissocier", + "linkScenario": "Associer un scénario" + } + }, + "webhooksSettingsPage": { + "title": "Abonnements aux webhooks", + "description": "Configurez des webhooks pour recevoir des notifications lorsque des événements se produisent dans votre organisation.", + "fields": { + "endpointUrl": "URL du point de terminaison", + "signingSecret": "Secret de signature", + "events": "Événements" + }, + "validation": { + "endpointUrlRequired": "L’URL du point de terminaison est requise", + "invalidUrl": "Veuillez saisir une URL valide", + "httpsRequired": "L’URL doit utiliser https://", + "eventRequired": "Au moins un événement doit être sélectionné" + }, + "placeholders": { + "endpointUrl": "https://example.com/webhook" + }, + "dialogs": { + "addTitle": "Ajouter un abonnement au webhook", + "editTitle": "Modifier l’abonnement au webhook", + "eventsTitle": "Événements du webhook", + "deleteTitle": "Supprimer le webhook" + }, + "eventsHelp": "Sélectionnez les événements qui déclencheront ce webhook.", + "status": { + "succeeded": "Réussi", + "pending": "En attente", + "failed": "Échoué" + }, + "errorTitle": "Erreur", + "errors": { + "loadEvents": "Échec du chargement des événements du webhook.", + "loadSigningSecret": "Échec du chargement du secret de signature.", + "create": "Échec de la création du webhook", + "update": "Échec de la mise à jour du webhook", + "delete": "Échec de la suppression du webhook" + }, + "messages": { + "created": "Webhook créé avec succès", + "updated": "Webhook mis à jour avec succès", + "deleted": "Webhook supprimé avec succès" + }, + "copiedToClipboard": "Copié dans le presse-papiers", + "total_one": "({{count}} au total)", + "total_other": "({{count}} au total)", + "eventsCount_one": "Événements ({{count}})", + "eventsCount_other": "Événements ({{count}})", + "emptyEvents": "Aucun événement de webhook enregistré pour le moment.", + "empty": "Aucun abonnement au webhook pour le moment. Ajoutez-en un pour commencer.", + "response": "Réponse", + "copySigningSecret": "Copier le secret de signature", + "editWebhook": "Modifier le webhook", + "deleteWebhook": "Supprimer le webhook", + "deleteConfirmation": "Voulez-vous vraiment supprimer cet abonnement au webhook ?", + "cannotUndo": "Cette action est irréversible.", + "actions": { + "create": "Créer", + "save": "Enregistrer", + "loadMore": "Charger plus", + "add": "Ajouter un abonnement au webhook", + "hide": "Masquer", + "show": "Afficher", + "deleting": "Suppression...", + "delete": "Supprimer" + } + }, + "statementOfApplicabilityDetailPage": { + "title": "Déclaration d’applicabilité", + "breadcrumb": { + "statementsOfApplicability": "Déclarations d’applicabilité", + "detail": "Détail de la déclaration d’applicabilité" + }, + "sections": { + "details": "Détails", + "statements": "Déclarations" + }, + "fields": { + "createdAt": "Créé le", + "updatedAt": "Mis à jour le", + "approvers": "Approbateurs" + }, + "placeholders": { + "approvers": "Ajouter des approbateurs..." + }, + "validation": { + "nameRequired": "Le nom est requis" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "updated": "Déclaration d’applicabilité mise à jour avec succès.", + "approversUpdated": "Approbateurs mis à jour avec succès." + }, + "errors": { + "missingDeleteData": "Échec de la suppression de la déclaration d’applicabilité : identifiant ou nom manquant", + "delete": "Échec de la suppression de la déclaration d’applicabilité", + "update": "Échec de la mise à jour de la déclaration d’applicabilité", + "updateApprovers": "Échec de la mise à jour des approbateurs" + }, + "deleteConfirmation": "Cette action supprimera définitivement « {{name}} ». Cette action est irréversible.", + "none": "Aucun", + "actions": { + "document": "Document", + "publish": "Publier", + "delete": "Supprimer" + } + }, + "statementsOfApplicabilityPage": { + "title": "Déclarations d’applicabilité", + "description": "Gérez les déclarations d’applicabilité des référentiels de votre organisation.", + "columns": { + "name": "Nom", + "createdAt": "Créée le", + "controls": "Contrôles" + }, + "actions": { + "add": "Ajouter une déclaration d’applicabilité", + "loading": "Chargement...", + "loadMore": "Charger plus" + }, + "empty": { + "title": "Aucune déclaration d’applicabilité pour le moment", + "description": "Créez votre première déclaration d’applicabilité pour commencer." + } + }, + "addApplicabilityStatementDialog": { + "breadcrumb": { + "statementsOfApplicability": "Déclarations d’applicabilité", + "addStatement": "Ajouter une déclaration" + }, + "applicability": { + "notLinked": "Non lié", + "applicable": "Applicable", + "notApplicable": "Non applicable" + }, + "placeholders": { + "justification": "Motif de non-applicabilité", + "search": "Rechercher des contrôles..." + }, + "messages": { + "created": "Déclaration créée avec succès.", + "removed": "Déclaration supprimée avec succès.", + "updated": "Déclaration mise à jour avec succès." + }, + "errors": { + "create": "Échec de la création de la déclaration", + "remove": "Échec de la suppression de la déclaration", + "update": "Échec de la mise à jour de la déclaration" + }, + "empty": "Aucun contrôle trouvé", + "actions": { + "save": "Enregistrer", + "expand": "Développer", + "collapse": "Réduire", + "close": "Fermer" + } + }, + "createStatementOfApplicabilityDialog": { + "breadcrumb": { + "statementsOfApplicability": "Déclarations d’applicabilité", + "newStatement": "Nouvelle déclaration d’applicabilité" + }, + "fields": { + "name": "Nom" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "created": "Déclaration d’applicabilité créée avec succès." + }, + "errors": { + "create": "Échec de la création de la déclaration d’applicabilité" + }, + "actions": { + "create": "Créer" + } + }, + "editApplicabilityStatementDialog": { + "breadcrumb": { + "statementsOfApplicability": "Déclarations d’applicabilité", + "editStatement": "Modifier la déclaration" + }, + "fields": { + "applicability": "Applicabilité", + "justification": "Justification" + }, + "options": { + "yes": "Oui", + "no": "Non" + }, + "placeholders": { + "justification": "Raison de la non-applicabilité" + }, + "messages": { + "updated": "Déclaration mise à jour avec succès." + }, + "errors": { + "update": "Échec de la mise à jour de la déclaration" + }, + "actions": { + "save": "Enregistrer" + } + }, + "linkControlDialog": { + "breadcrumb": { + "statementsOfApplicability": "Déclarations d’applicabilité", + "addControls": "Ajouter des contrôles" + }, + "applicability": { + "notLinked": "Non associé", + "applicable": "Applicable", + "notApplicable": "Non applicable" + }, + "placeholders": { + "justification": "Motif de non-applicabilité", + "search": "Rechercher des contrôles..." + }, + "messages": { + "updated": "Contrôle mis à jour avec succès.", + "removed": "Contrôle retiré avec succès." + }, + "errors": { + "update": "Échec de la mise à jour du contrôle", + "remove": "Échec du retrait du contrôle" + }, + "empty": "Aucun contrôle trouvé", + "actions": { + "save": "Enregistrer", + "expand": "Développer", + "collapse": "Réduire", + "close": "Fermer" + } + }, + "publishStatementOfApplicabilityDialog": { + "title": "Publier la déclaration d’applicabilité", + "description": "Sélectionnez des approbateurs pour demander une approbation avant la publication, ou publiez directement sans approbateurs.", + "fields": { + "approvers": "Approbateurs" + }, + "placeholders": { + "approvers": "Ajouter des approbateurs..." + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "approvalRequested": "Approbation demandée avec succès.", + "published": "Déclaration d’applicabilité publiée avec succès." + }, + "errors": { + "publish": "Échec de la publication de la déclaration d’applicabilité" + }, + "actions": { + "publishMinor": "Publier en version mineure", + "requestApproval": "Demander une approbation", + "publish": "Publier" + } + }, + "statementOfApplicabilityControlsTab": { + "columns": { + "framework": "Référentiel", + "control": "Contrôle", + "applicability": "Applicabilité", + "maturity": "Maturité", + "regulatory": "Réglementaire", + "contractual": "Contractuel", + "bestPractice": "Bonne pratique", + "riskAssessment": "Évaluation des risques" + }, + "messages": { + "removed": "Déclaration supprimée avec succès." + }, + "errors": { + "remove": "Échec de la suppression de la déclaration" + }, + "empty": "Aucun contrôle associé", + "options": { + "yes": "Oui", + "no": "Non" + }, + "maturity": { + "none": "0 - Aucune", + "initial": "1 - Initiale", + "managed": "2 - Gérée", + "defined": "3 - Définie", + "quantitatively_managed": "4 - Gérée quantitativement", + "optimizing": "5 - Optimisée" + }, + "actions": { + "createStatement": "Créer une déclaration", + "edit": "Modifier", + "remove": "Supprimer" + } + }, + "thirdPartiesPage": { + "title": "Tiers", + "description": "Les tiers sont des services et fournisseurs externes utilisés par votre entreprise. Ajoutez-les pour suivre leur risque et leur statut de conformité.", + "actions": { + "document": "Document", + "publish": "Publier", + "add": "Ajouter un tiers" + }, + "columns": { + "thirdParty": "Tiers", + "assessedAt": "Évalué le", + "dataRisk": "Risque lié aux données", + "businessRisk": "Risque métier" + } + }, + "thirdPartyDetailLayout": { + "title": "Tiers", + "breadcrumb": { + "thirdParties": "Tiers" + }, + "messages": { + "error": "Erreur" + }, + "errors": { + "delete": "Échec de la suppression du tiers" + }, + "deleteConfirmation": "Cette action supprimera définitivement le tiers « {{name}} ». Cette action est irréversible.", + "vettingInProgress": "L’évaluation est en cours. Les résultats s’afficheront une fois l’analyse terminée.", + "vettingFailed": "L’évaluation a échoué. Vous pouvez la relancer.", + "level": "Niveau {{level}}", + "from": "De :", + "actions": { + "startVetting": "Démarrer la vérification", + "delete": "Supprimer" + }, + "tabs": { + "overview": "Vue d’ensemble", + "certifications": "Certifications", + "complianceReports": "Rapports de conformité", + "riskAssessment": "Évaluation des risques", + "contacts": "Contacts", + "services": "Services", + "thirdParties": "Tiers", + "measures": "Mesures" + } + }, + "addChildThirdPartyDialog": { + "title": "Ajouter un tiers", + "searchPlaceholder": "Saisissez le nom du tiers", + "createNew": "Créer un nouveau tiers : {{name}}" + }, + "createThirdPartyContactDialog": { + "breadcrumb": { + "contacts": "Contacts", + "newContact": "Nouveau contact" + }, + "fields": { + "name": "Nom", + "email": "E-mail", + "phone": "Téléphone", + "role": "Rôle" + }, + "placeholders": { + "name": "Nom complet du contact", + "email": "contact@example.com", + "phone": "ex. : +1234567890", + "role": "ex. : Responsable de compte, Support technique" + }, + "help": { + "phone": "Utilisez le format international commençant par +" + }, + "validation": { + "email": "Veuillez saisir une adresse e-mail valide", + "phone": "Le numéro de téléphone doit être au format international (ex. : +1234567890)" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "created": "Contact créé avec succès." + }, + "errors": { + "create": "Échec de la création du contact" + }, + "actions": { + "create": "Créer" + } + }, + "editThirdPartyContactDialog": { + "breadcrumb": { + "contacts": "Contacts", + "editContact": "Modifier le contact" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "updated": "Contact mis à jour avec succès." + }, + "errors": { + "update": "Échec de la mise à jour du contact" + }, + "actions": { + "save": "Enregistrer" + } + }, + "createThirdPartyRiskAssessmentDialog": { + "breadcrumb": { + "riskAssessments": "Évaluations des risques", + "newRiskAssessment": "Nouvelle évaluation des risques" + }, + "fields": { + "dataSensitivity": "Sensibilité des données", + "businessImpact": "Impact sur l’activité", + "notes": "Notes" + }, + "notesHelp": "Ajoutez tout contexte ou détail concernant cette évaluation des risques qui pourrait être utile pour une référence future.", + "messages": { + "success": "Succès", + "error": "Erreur", + "created": "Évaluation des risques créée avec succès." + }, + "errors": { + "create": "Échec de la création de l’évaluation des risques" + }, + "actions": { + "create": "Créer" + } + }, + "createThirdPartyServiceDialog": { + "breadcrumb": { + "services": "Services", + "newService": "Nouveau service" + }, + "fields": { + "name": "Nom", + "description": "Description" + }, + "placeholders": { + "name": "Nom du service", + "description": "Brève description du service" + }, + "validation": { + "nameRequired": "Le nom du service est obligatoire" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "created": "Service créé avec succès." + }, + "errors": { + "create": "Échec de la création du service" + }, + "actions": { + "create": "Créer" + } + }, + "editThirdPartyServiceDialog": { + "breadcrumb": { + "services": "Services", + "editService": "Modifier le service" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "updated": "Service mis à jour avec succès." + }, + "errors": { + "update": "Échec de la mise à jour du service" + }, + "actions": { + "save": "Enregistrer" + } + }, + "publishThirdPartyListDialog": { + "title": "Publier les tiers", + "description": "Sélectionnez des approbateurs pour demander une approbation avant la publication, ou publiez directement sans approbateurs.", + "fields": { + "approvers": "Approbateurs" + }, + "placeholders": { + "approvers": "Ajouter des approbateurs..." + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "approvalRequested": "Approbation demandée avec succès.", + "published": "Tiers publiés avec succès." + }, + "errors": { + "publish": "Échec de la publication des tiers" + }, + "actions": { + "publishMinor": "Publier en version mineure", + "requestApproval": "Demander une approbation", + "publish": "Publier" + } + }, + "thirdPartyRow": { + "messages": { + "error": "Erreur" + }, + "errors": { + "delete": "Échec de la suppression du tiers" + }, + "deleteConfirmation": "Cette action supprimera définitivement le tiers « {{name}} ». Cette action est irréversible.", + "unnamed": "Tiers sans nom", + "notAssessed": "Non évalué", + "actions": { + "delete": "Supprimer" + } + }, + "createThirdPartyDialog": { + "title": "Ajouter un tiers", + "searchPlaceholder": "Saisissez le nom du tiers", + "createNew": "Créer un nouveau tiers : {{name}}", + "messages": { + "success": "Succès", + "error": "Erreur", + "created": "Tiers créé avec succès" + }, + "errors": { + "create": "Échec de la création du tiers" + } + }, + "deleteBusinessAssociateAgreementDialog": { + "title": "Supprimer l’accord de partenaire commercial", + "confirmation": "Voulez-vous vraiment supprimer l’accord de partenaire commercial « {{fileName}} » ?", + "cannotUndo": "Cette action est irréversible.", + "messages": { + "success": "Succès", + "error": "Erreur", + "deleted": "Accord de partenaire commercial supprimé avec succès" + }, + "errors": { + "delete": "Échec de la suppression de l’accord de partenaire commercial" + }, + "actions": { + "delete": "Supprimer" + } + }, + "deleteDataPrivacyAgreementDialog": { + "title": "Supprimer l’accord de confidentialité des données", + "confirmation": "Voulez-vous vraiment supprimer l’accord de confidentialité des données « {{fileName}} » ?", + "cannotUndo": "Cette action est irréversible.", + "messages": { + "success": "Succès", + "error": "Erreur", + "deleted": "Accord de confidentialité des données supprimé avec succès" + }, + "errors": { + "delete": "Échec de la suppression de l’accord de confidentialité des données" + }, + "actions": { + "delete": "Supprimer" + } + }, + "editBusinessAssociateAgreementDialog": { + "title": "Modifier l’accord de partenaire commercial", + "fields": { + "validFrom": "Valide à partir de", + "validUntil": "Valide jusqu’au" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "updated": "Accord de partenaire commercial mis à jour avec succès" + }, + "errors": { + "update": "Échec de la mise à jour de l’accord de partenaire commercial" + }, + "actions": { + "update": "Mettre à jour" + } + }, + "editDataPrivacyAgreementDialog": { + "title": "Modifier l’accord de confidentialité des données", + "fields": { + "validFrom": "Valide à partir de", + "validUntil": "Valide jusqu’au" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "updated": "Accord de confidentialité des données mis à jour avec succès" + }, + "errors": { + "update": "Échec de la mise à jour de l’accord de confidentialité des données" + }, + "actions": { + "update": "Mettre à jour" + } + }, + "uploadBusinessAssociateAgreementDialog": { + "title": "Téléverser l’accord de partenariat commercial", + "fileHelp": "Seuls les fichiers PDF jusqu’à 10 Mo sont autorisés", + "selectedFile": "Fichier sélectionné :", + "fields": { + "fileName": "Nom du fichier", + "validFrom": "Valide à partir de", + "validUntil": "Valide jusqu’au" + }, + "placeholders": { + "fileName": "Accord de partenariat commercial" + }, + "validation": { + "fileNameRequired": "Le nom du fichier est requis" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "uploaded": "Accord de partenariat commercial téléversé avec succès" + }, + "errors": { + "upload": "Échec du téléversement de l’accord de partenariat commercial" + }, + "actions": { + "upload": "Téléverser" + } + }, + "uploadComplianceReportDialog": { + "title": "Téléverser un rapport de conformité", + "fileHelp": "Seuls les fichiers PDF de 30 Mo maximum sont autorisés", + "selectedFile": "Fichier sélectionné :", + "fields": { + "reportDate": "Date du rapport", + "validUntil": "Valide jusqu’au" + }, + "validation": { + "reportDateRequired": "La date du rapport est requise" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "uploaded": "Rapport de conformité téléversé avec succès" + }, + "errors": { + "upload": "Échec du téléversement du rapport de conformité" + }, + "actions": { + "upload": "Téléverser" + } + }, + "uploadDataPrivacyAgreementDialog": { + "title": "Téléverser l’accord de confidentialité des données", + "fileHelp": "Seuls les fichiers PDF jusqu’à 10 Mo sont autorisés", + "selectedFile": "Fichier sélectionné :", + "fields": { + "fileName": "Nom du fichier", + "validFrom": "Valide à partir de", + "validUntil": "Valide jusqu’au" + }, + "placeholders": { + "fileName": "Accord de confidentialité des données" + }, + "validation": { + "fileNameRequired": "Le nom du fichier est requis" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "uploaded": "Accord de confidentialité des données téléversé avec succès" + }, + "errors": { + "upload": "Échec du téléversement de l’accord de confidentialité des données" + }, + "actions": { + "upload": "Téléverser" + } + }, + "vettingDialog": { + "title": "Démarrer la vérification", + "fields": { + "websiteUrl": "URL du site web" + }, + "validation": { + "url": "Veuillez saisir une URL valide" + }, + "messages": { + "success": "Succès", + "error": "Erreur", + "started": "Le tiers est en cours de vérification en arrière-plan." + }, + "errors": { + "start": "Échec du démarrage de la vérification." + }, + "actions": { + "start": "Démarrer la vérification" + } + }, + "thirdPartyCertificationsPage": { + "pageTitle": "{{name}} - Certifications", + "categories": { + "securityStandards": "Normes de sécurité", + "regulatoryLegal": "Réglementaire et juridique", + "industrySpecific": "Spécifique au secteur", + "internationalGov": "International et gouvernemental", + "custom": "Certifications personnalisées" + }, + "placeholders": { + "add": "Ajouter une nouvelle certification" + }, + "addCustom": "Ajouter une certification personnalisée : {{name}}", + "actions": { + "update": "Mettre à jour le tiers" + } + }, + "thirdPartyCompliancePage": { + "pageTitle": "{{name}} - Rapports de conformité", + "title": "Rapports de conformité", + "description": "Suivez les certifications et rapports de conformité des tiers.", + "actions": { + "addReport": "Ajouter un rapport" + }, + "columns": { + "reportName": "Nom du rapport", + "reportDate": "Date du rapport", + "validUntil": "Valide jusqu’au", + "fileSize": "Taille du fichier", + "actions": "Actions" + } + }, + "thirdPartyComplianceReportRow": { + "messages": { + "error": "Erreur" + }, + "errors": { + "delete": "Échec de la suppression du rapport" + }, + "deleteConfirmation": "Cette action supprimera définitivement le rapport « {{name}} ». Cette action est irréversible.", + "actions": { + "download": "Télécharger", + "delete": "Supprimer" + } + }, + "thirdPartyContactsPage": { + "pageTitle": "{{name}} - Contacts", + "title": "Contacts", + "description": "Gérez les contacts du tiers et leurs informations.", + "actions": { + "add": "Ajouter un contact" + }, + "columns": { + "name": "Nom", + "email": "E-mail", + "phone": "Téléphone", + "role": "Rôle", + "actions": "Actions" + } + }, + "thirdPartyOverviewPage": { + "pageTitle": "{{name}} - Aperçu", + "sections": { + "details": "Détails du tiers", + "countries": "Pays", + "ownership": "Détails de la propriété", + "links": "Liens", + "dataAgreements": "Accords de données" + }, + "fields": { + "name": "Nom", + "description": "Description", + "category": "Catégorie", + "legalName": "Nom légal", + "headquarterAddress": "Adresse du siège", + "websiteUrl": "URL du site web", + "businessOwner": "Propriétaire métier", + "securityOwner": "Propriétaire sécurité" + }, + "placeholders": { + "category": "Sélectionner une catégorie" + }, + "categories": { + "analytics": "Analytique", + "cloudMonitoring": "Surveillance cloud", + "cloudProvider": "Fournisseur cloud", + "collaboration": "Collaboration", + "customerSupport": "Support client", + "dataStorageAndProcessing": "Stockage et traitement des données", + "documentManagement": "Gestion documentaire", + "employeeManagement": "Gestion des employés", + "engineering": "Ingénierie", + "finance": "Finance", + "identityProvider": "Fournisseur d’identité", + "it": "Informatique", + "marketing": "Marketing", + "officeOperations": "Opérations de bureau", + "other": "Autre", + "passwordManagement": "Gestion des mots de passe", + "productAndDesign": "Produit et design", + "professionalServices": "Services professionnels", + "recruiting": "Recrutement", + "sales": "Ventes", + "security": "Sécurité", + "versionControl": "Contrôle de version" + }, + "urlLabels": { + "statusPage": "URL de la page de statut", + "termsOfService": "URL des conditions d’utilisation", + "privacyPolicy": "URL du document de confidentialité", + "serviceLevelAgreement": "URL de l’accord de niveau de service", + "dataProcessingAgreement": "URL de l’accord de traitement des données", + "securityPage": "URL de la page de sécurité", + "trustPage": "URL de la page de confiance" + }, + "agreements": { + "businessAssociate": "Accord de partenaire commercial", + "dataPrivacy": "Accord de confidentialité des données", + "noBusinessAssociate": "Aucun accord de partenaire commercial disponible", + "noDataPrivacy": "Aucun accord de confidentialité des données disponible", + "validity": { + "range": "Valable du {{from}} au {{until}}", + "from": "Valable à partir du {{date}}", + "until": "Valable jusqu’au {{date}}" + } + }, + "actions": { + "downloadPdf": "Télécharger le PDF", + "upload": "Téléverser", + "update": "Mettre à jour le tiers" + } + }, + "thirdPartyRiskAssessmentPage": { + "pageTitle": "{{name}} - Évaluations des risques", + "empty": "Aucune évaluation des risques trouvée", + "columns": { + "createdAt": "Créé le", + "expires": "Expire", + "dataSensitivity": "Sensibilité des données", + "businessImpact": "Impact commercial" + }, + "actions": { + "add": "Ajouter une évaluation des risques" + } + }, + "thirdPartyServicesPage": { + "pageTitle": "{{name}} - Services", + "title": "Services", + "description": "Gérez les services fournis par ce tiers.", + "actions": { + "add": "Ajouter un service" + }, + "columns": { + "name": "Nom", + "description": "Description", + "actions": "Actions" + } + }, + "thirdPartyServiceRow": { + "messages": { + "error": "Erreur" + }, + "errors": { + "delete": "Échec de la suppression du service" + }, + "deleteConfirmation": "Cette action supprimera définitivement le service « {{name}} ». Cette action est irréversible.", + "emptyValue": "—", + "actions": { + "edit": "Modifier", + "delete": "Supprimer" + } + }, + "thirdPartyThirdPartiesPage": { + "pageTitle": "{{name}} - Tiers", + "title": "Tiers", + "description": "Gérez les tiers associés à ce tiers.", + "deleteConfirmation": "Supprimer « {{name}} » ?", + "notAssessed": "Non évalué", + "actions": { + "add": "Ajouter un tiers" + }, + "columns": { + "thirdParty": "Tiers", + "assessedAt": "Évalué le", + "dataRisk": "Risque lié aux données", + "businessRisk": "Risque métier" + } + }, + "thirdPartyContactRow": { + "messages": { + "error": "Erreur" + }, + "errors": { + "delete": "Échec de la suppression du contact" + }, + "deleteConfirmation": "Cette action supprimera définitivement le contact « {{name}} ». Cette action est irréversible.", + "unnamed": "Contact sans nom", + "emptyValue": "—", + "actions": { + "edit": "Modifier", + "delete": "Supprimer" + } + }, + "magicLinkAlreadyUsed": { + "title": "Lien déjà utilisé", + "description": "Ce lien magique a déjà été utilisé. Veuillez en demander un nouveau." + }, + "magicLinkExpired": { + "title": "Lien expiré", + "description": "Ce lien magique a expiré. Les liens magiques sont valables 15 minutes seulement. Veuillez en demander un nouveau." + }, + "magicLinkForm": { + "errors": { + "send": "Impossible d’envoyer le lien magique" + }, + "messages": { + "sent": "Lien magique envoyé !" + }, + "fields": { + "email": "E-mail" + }, + "sentDescription": "Lien magique envoyé ! Consultez votre e-mail et utilisez le lien pour continuer.", + "actions": { + "resend": "Renvoyer le lien", + "resendIn": "Renvoyer le lien dans {{count}} s", + "send": "Envoyer le lien magique" + } + }, + "auth": { + "actions": { + "signIn": "Se connecter" + } + }, + "authError": { + "enterpriseAccountRequired": { + "title": "Compte professionnel requis", + "description": "Les comptes Google et Microsoft personnels ne peuvent pas être utilisés pour se connecter. Veuillez utiliser votre compte professionnel ou scolaire à la place." + }, + "emailNotVerified": { + "title": "E-mail non vérifié", + "description": "Votre adresse e-mail n’est pas vérifiée auprès du fournisseur d’identité. Veuillez la vérifier, puis réessayer de vous connecter." + }, + "signInSessionExpired": { + "title": "Session de connexion expirée", + "description": "Cette tentative de connexion n’est plus valide. Veuillez recommencer depuis la page de connexion." + }, + "magicLinkExpired": { + "title": "Lien expiré", + "description": "Ce lien magique a expiré. Les liens magiques ne sont valides que pendant 15 minutes. Veuillez en demander un nouveau." + }, + "magicLinkAlreadyUsed": { + "title": "Lien déjà utilisé", + "description": "Ce lien magique a déjà été utilisé. Veuillez en demander un nouveau." + }, + "invalidLink": { + "title": "Lien invalide", + "description": "Ce lien magique n’est pas valide. Veuillez en demander un nouveau." + }, + "default": { + "title": "Échec de l’authentification", + "description": "Nous n’avons pas pu terminer votre connexion. Veuillez réessayer." + } + }, + "accessReviewSource": { + "documentation": "Documentation", + "regions": { + "label": "Région", + "placeholder": "Sélectionner une région", + "unitedStates": "États-Unis", + "europe": "Europe" + } + }, + "devices": { + "title": "Appareils", + "description": "Gérez les ordinateurs enrôlés avec l’agent de posture Probo.", + "empty": "Aucun appareil enrôlé pour le moment", + "actions": { + "add": "Ajouter un appareil", + "new": "Nouvel appareil", + "reassign": "Réattribuer", + "revoke": "Révoquer" + }, + "fields": { + "organization": "Organisation", + "hostname": "Nom d’hôte", + "owner": "Propriétaire", + "state": "État", + "platform": "Plateforme", + "osVersion": "Version du système", + "hardwareUuid": "UUID matériel", + "serialNumber": "Numéro de série", + "agentVersion": "Version de l’agent", + "enrolledAt": "Enrôlé le", + "lastSeen": "Dernière connexion" + }, + "values": { + "pending": "(en attente)", + "never": "Jamais", + "unassigned": "Non attribué" + }, + "messages": { + "ownerUpdated": "Propriétaire de l’appareil mis à jour", + "revoked": "Appareil révoqué" + }, + "errors": { + "create": "Échec de la création de l’appareil", + "reassign": "Échec de la réattribution de l’appareil", + "revoke": "Échec de la révocation de l’appareil" + }, + "confirmations": { + "revoke": "Révoquer l’appareil « {{hostname}} » ? L’agent sur l’appareil arrêtera de transmettre des données et devra être réenrôlé." + }, + "postures": { + "title": "Posture", + "navigation": "Postures", + "summaryHelp": "Comment le résumé de posture est calculé", + "summaryDescription": "Affiché sous la forme réussite / échec / total.", + "empty": "Aucun contrôle de posture enregistré", + "columns": { + "check": "Contrôle", + "status": "Statut", + "observedAt": "Observé le" + }, + "status": { + "pass": "Réussite", + "fail": "Échec", + "unknown": "Inconnu", + "notApplicable": "Non applicable" + }, + "checks": { + "diskEncryption": "Chiffrement du disque", + "screenLock": "Verrouillage de l’écran", + "firewallEnabled": "Pare-feu activé", + "timeSync": "Synchronisation de l’heure", + "osVersion": "Version du système", + "autoUpdate": "Mise à jour automatique", + "passwordPolicy": "Politique de mot de passe", + "remoteLogin": "Connexion à distance", + "malwareProtection": "Protection contre les logiciels malveillants" + } + } + }, + "employeeDevices": { + "title": "Vos appareils" + }, + "deviceEnrollment": { + "pageTitle": "Inscrire un appareil", + "title": "Enrôlement de l’appareil", + "setup": "Configuration", + "stepProgress": "Étape {{current}} sur {{total}}", + "steps": { + "privacy": { + "title": "Confidentialité", + "description": "Vérifier les données collectées" + }, + "organization": { + "title": "Organisation", + "description": "Choisir l’espace de travail de destination" + }, + "enroll": { + "title": "Ouvrir et attendre", + "description": "Terminer la configuration dans l’agent de bureau" + } + }, + "unavailable": { + "title": "Enrôlement indisponible", + "description": "Vous n’avez pas l’autorisation d’enrôler des appareils dans aucune organisation." + }, + "intro": { + "title": "Avant de commencer", + "description": "Probo collecte les métadonnées d’appareil suivantes à des fins d’inventaire et de rapport de posture :" + }, + "privacy": { + "identity": "Identité de l’appareil : UUID matériel, nom d’hôte et numéro de série (si disponible).", + "systemDetails": "Détails système : plateforme, version du système d’exploitation et version de l’agent Probo.", + "activitySignals": "Signaux d’activité : heure d’enrôlement, signaux de vie et résultats des vérifications de posture." + }, + "organization": { + "title": "Choisir une organisation", + "description": "Choisissez l’organisation qui possédera et gérera cet appareil." + }, + "openAgent": { + "title": "Ouvrir l’agent Probo", + "description": "Ouvrez l’agent de bureau pour terminer la configuration, puis laissez cette page ouverte jusqu’à confirmation de l’enrôlement." + }, + "actions": { + "backToOrganizations": "Retour aux organisations", + "enrollNew": "Enrôler un nouvel appareil", + "openAgent": "Ouvrir l’agent Probo", + "preparing": "Préparation…" + }, + "status": { + "enrolledWithHostname": "{{hostname}} est enrôlé.", + "enrolled": "Cet appareil est enrôlé.", + "closeWindow": "Vous pouvez fermer cette fenêtre.", + "waitingForCheckIn": "En attente de la première connexion de l’agent…", + "timedOut": "Nous n’avons toujours pas de nouvelles de l’agent. Assurez-vous que l’agent de bureau est installé et en cours d’exécution, puis réessayez." + }, + "manual": { + "cannotEnroll": "Impossible d’enrôler un nouvel appareil ?", + "tryCreating": "Essayez de le créer manuellement", + "title": "Enrôlement manuel", + "creating": "Création de l’appareil…" + }, + "token": { + "title": "Jeton d’enrôlement généré", + "description": "Ne partagez ce jeton d’enrôlement qu’avec le propriétaire de l’appareil, via un canal sécurisé. Il ne peut être utilisé qu’une seule fois et expire après sept jours.", + "manualInstall": "Installation manuelle (CLI / MDM)", + "installUnix": "Installer sur macOS ou Linux (exécuter depuis un shell avec accès sudo)", + "installWindows": "Installer sur Windows (exécuter depuis une session PowerShell élevée)", + "securityNotice": "Le jeton est transmis sous forme d’indicateur CLI (et non via un curl redirigé vers un shell ou des variables d’environnement sudo). Une fois installé, l’agent se met à jour automatiquement depuis les GitHub Releases avec vérification de signature cosign." + }, + "messages": { + "created": "Appareil créé. Copiez le jeton d’enrôlement maintenant — il ne sera plus affiché par la suite." + }, + "errors": { + "copyToClipboard": "Échec de la copie dans le presse-papiers" + } + }, + "thirdPartyRiskAssessmentRow": { + "expired": "Expiré", + "notes": "Notes" + }, + "country": { + "GLOBAL": "Mondial", + "AD": "Andorre", + "AE": "Émirats arabes unis", + "AF": "Afghanistan", + "AG": "Antigua-et-Barbuda", + "AI": "Anguilla", + "AL": "Albanie", + "AM": "Arménie", + "AO": "Angola", + "AQ": "Antarctique", + "AR": "Argentine", + "AS": "Samoa américaines", + "AT": "Autriche", + "AU": "Australie", + "AW": "Aruba", + "AX": "Îles Åland", + "AZ": "Azerbaïdjan", + "BA": "Bosnie-Herzégovine", + "BB": "Barbade", + "BD": "Bangladesh", + "BE": "Belgique", + "BF": "Burkina Faso", + "BG": "Bulgarie", + "BH": "Bahreïn", + "BI": "Burundi", + "BJ": "Bénin", + "BL": "Saint-Barthélemy", + "BM": "Bermudes", + "BN": "Brunei", + "BO": "Bolivie", + "BQ": "Bonaire, Saint-Eustache et Saba", + "BR": "Brésil", + "BS": "Bahamas", + "BT": "Bhoutan", + "BV": "Île Bouvet", + "BW": "Botswana", + "BY": "Biélorussie", + "BZ": "Belize", + "CA": "Canada", + "CC": "Îles Cocos (Keeling)", + "CD": "Congo (RDC)", + "CF": "République centrafricaine", + "CG": "Congo (République)", + "CH": "Suisse", + "CI": "Côte d'Ivoire", + "CK": "Îles Cook", + "CL": "Chili", + "CM": "Cameroun", + "CN": "Chine", + "CO": "Colombie", + "CR": "Costa Rica", + "CU": "Cuba", + "CV": "Cap-Vert", + "CW": "Curaçao", + "CX": "Île Christmas", + "CY": "Chypre", + "CZ": "Tchéquie", + "DE": "Allemagne", + "DJ": "Djibouti", + "DK": "Danemark", + "DM": "Dominique", + "DO": "République dominicaine", + "DZ": "Algérie", + "EC": "Équateur", + "EE": "Estonie", + "EG": "Égypte", + "EH": "Sahara occidental", + "ER": "Érythrée", + "ES": "Espagne", + "ET": "Éthiopie", + "EU": "UE", + "FI": "Finlande", + "FJ": "Fidji", + "FK": "Îles Malouines", + "FM": "Micronésie", + "FO": "Îles Féroé", + "FR": "France", + "GA": "Gabon", + "GB": "Royaume-Uni", + "GD": "Grenade", + "GE": "Géorgie", + "GF": "Guyane française", + "GG": "Guernesey", + "GH": "Ghana", + "GI": "Gibraltar", + "GL": "Groenland", + "GM": "Gambie", + "GN": "Guinée", + "GP": "Guadeloupe", + "GQ": "Guinée équatoriale", + "GR": "Grèce", + "GT": "Guatemala", + "GU": "Guam", + "GW": "Guinée-Bissau", + "GY": "Guyana", + "HK": "Hong Kong", + "HM": "Îles Heard-et-MacDonald", + "HN": "Honduras", + "HR": "Croatie", + "HT": "Haïti", + "HU": "Hongrie", + "ID": "Indonésie", + "IE": "Irlande", + "IL": "Israël", + "IM": "Île de Man", + "IN": "Inde", + "IO": "Territoire britannique de l’océan Indien", + "IQ": "Irak", + "IR": "Iran", + "IS": "Islande", + "IT": "Italie", + "JE": "Jersey", + "JM": "Jamaïque", + "JO": "Jordanie", + "JP": "Japon", + "KE": "Kenya", + "KG": "Kirghizistan", + "KH": "Cambodge", + "KI": "Kiribati", + "KM": "Comores", + "KN": "Saint-Christophe-et-Niévès", + "KP": "Corée du Nord", + "KR": "Corée du Sud", + "KW": "Koweït", + "KY": "Îles Caïmans", + "KZ": "Kazakhstan", + "LA": "Laos", + "LB": "Liban", + "LC": "Sainte-Lucie", + "LI": "Liechtenstein", + "LK": "Sri Lanka", + "LR": "Liberia", + "LS": "Lesotho", + "LT": "Lituanie", + "LU": "Luxembourg", + "LV": "Lettonie", + "LY": "Libye", + "MA": "Maroc", + "MC": "Monaco", + "MD": "Moldavie", + "ME": "Monténégro", + "MF": "Saint-Martin", + "MG": "Madagascar", + "MH": "Îles Marshall", + "MK": "Macédoine du Nord", + "ML": "Mali", + "MM": "Myanmar", + "MN": "Mongolie", + "MO": "Macao", + "MP": "Îles Mariannes du Nord", + "MQ": "Martinique", + "MR": "Mauritanie", + "MS": "Montserrat", + "MT": "Malte", + "MU": "Maurice", + "MV": "Maldives", + "MW": "Malawi", + "MX": "Mexique", + "MY": "Malaisie", + "MZ": "Mozambique", + "NA": "Namibie", + "NC": "Nouvelle-Calédonie", + "NE": "Niger", + "NF": "Île Norfolk", + "NG": "Nigeria", + "NI": "Nicaragua", + "NL": "Pays-Bas", + "NO": "Norvège", + "NP": "Népal", + "NR": "Nauru", + "NU": "Niue", + "NZ": "Nouvelle-Zélande", + "OM": "Oman", + "PA": "Panama", + "PE": "Pérou", + "PF": "Polynésie française", + "PG": "Papouasie-Nouvelle-Guinée", + "PH": "Philippines", + "PK": "Pakistan", + "PL": "Pologne", + "PM": "Saint-Pierre-et-Miquelon", + "PN": "Îles Pitcairn", + "PR": "Porto Rico", + "PS": "Palestine", + "PT": "Portugal", + "PW": "Palaos", + "PY": "Paraguay", + "QA": "Qatar", + "RE": "Réunion", + "RO": "Roumanie", + "RS": "Serbie", + "RU": "Russie", + "RW": "Rwanda", + "SA": "Arabie saoudite", + "SB": "Îles Salomon", + "SC": "Seychelles", + "SD": "Soudan", + "SE": "Suède", + "SG": "Singapour", + "SH": "Sainte-Hélène", + "SI": "Slovénie", + "SJ": "Svalbard et Jan Mayen", + "SK": "Slovaquie", + "SL": "Sierra Leone", + "SM": "Saint-Marin", + "SN": "Sénégal", + "SO": "Somalie", + "SR": "Suriname", + "SS": "Soudan du Sud", + "ST": "Sao Tomé-et-Principe", + "SV": "Salvador", + "SX": "Saint-Martin (partie néerlandaise)", + "SY": "Syrie", + "SZ": "Eswatini", + "TC": "Îles Turques-et-Caïques", + "TD": "Tchad", + "TF": "Terres australes françaises", + "TG": "Togo", + "TH": "Thaïlande", + "TJ": "Tadjikistan", + "TK": "Tokelau", + "TL": "Timor oriental", + "TM": "Turkménistan", + "TN": "Tunisie", + "TO": "Tonga", + "TR": "Turquie", + "TT": "Trinité-et-Tobago", + "TV": "Tuvalu", + "TW": "Taïwan", + "TZ": "Tanzanie", + "UA": "Ukraine", + "UG": "Ouganda", + "UM": "Îles mineures éloignées des États-Unis", + "US": "États-Unis", + "UY": "Uruguay", + "UZ": "Ouzbékistan", + "VA": "Cité du Vatican", + "VC": "Saint-Vincent-et-les-Grenadines", + "VE": "Venezuela", + "VG": "Îles Vierges britanniques", + "VI": "Îles Vierges des États-Unis", + "VN": "Viêt Nam", + "VU": "Vanuatu", + "WF": "Wallis-et-Futuna", + "WS": "Samoa", + "YE": "Yémen", + "YT": "Mayotte", + "ZA": "Afrique du Sud", + "ZM": "Zambie", + "ZW": "Zimbabwe" + } +} diff --git a/apps/console/src/pages/organizations/compliance-page/_locales/fr-FR.json b/apps/console/src/pages/organizations/compliance-page/_locales/fr-FR.json new file mode 100644 index 000000000..09d679b98 --- /dev/null +++ b/apps/console/src/pages/organizations/compliance-page/_locales/fr-FR.json @@ -0,0 +1,834 @@ +{ + "layout": { + "title": "Page de conformité", + "description": "Configurez votre page de conformité publique pour présenter votre posture de sécurité et de conformité.", + "status": { + "active": "Actif", + "inactive": "Inactif" + }, + "actions": { + "open": "Ouvrir" + }, + "tabs": { + "overview": "Vue d’ensemble", + "brand": "Marque", + "references": "Références", + "commitments": "Engagements", + "audits": "Audits", + "documents": "Documents", + "files": "Fichiers", + "subprocessors": "Sous-traitants", + "access": "Accès", + "mailingList": "Liste de diffusion" + } + }, + "aliasField": { + "messages": { + "updated": "Alias mis à jour avec succès.", + "removed": "Alias supprimé avec succès." + }, + "errors": { + "update": "Échec de la mise à jour de l’alias", + "remove": "Échec de la suppression de l’alias" + }, + "placeholder": "par ex. politique-de-confidentialite" + }, + "accessPage": { + "title": "Accès externe", + "description": "Gérez qui peut accéder à votre page de conformité" + }, + "accessEditDialog": { + "title": "Modifier l’accès pour {{email}}", + "types": { + "document": "Document", + "report": "Rapport", + "file": "Fichier" + }, + "messages": { + "updated": "Accès mis à jour avec succès" + }, + "errors": { + "update": "Échec de la mise à jour de l’accès" + }, + "actions": { + "update": "Mettre à jour l’accès" + } + }, + "accessList": { + "empty": "Aucun accès externe accordé pour le moment", + "columns": { + "name": "Nom", + "email": "E-mail", + "date": "Date", + "access": "Accès", + "requests": "Demandes", + "nda": "NDA" + }, + "actions": { + "showMore": "Afficher plus" + } + }, + "accessListItem": { + "actions": { + "edit": "Modifier" + } + }, + "documentAccessList": { + "title": "Autorisations d’accès aux documents", + "columns": { + "name": "Nom", + "type": "Type", + "category": "Catégorie", + "access": "Accès" + }, + "actions": { + "grantAll": "Tout accorder", + "rejectOrRevokeAll": "Tout rejeter/révoquer", + "grant": "Accorder", + "reject": "Rejeter", + "revoke": "Révoquer" + }, + "empty": "Aucun document disponible" + }, + "electronicSignature": { + "title": "Signature électronique", + "fields": { + "status": "Statut", + "signedAt": "Signé le", + "certificate": "Certificat" + }, + "actions": { + "download": "Télécharger" + }, + "activity": "Activité" + }, + "eventTypeLabel": { + "documentViewed": "Document consulté", + "consentGiven": "Consentement donné", + "fullNameTyped": "Nom complet saisi", + "signatureAccepted": "Signature acceptée", + "signatureCompleted": "Signature terminée", + "sealComputed": "Sceau calculé", + "timestampRequested": "Horodatage demandé", + "certificateGenerated": "Certificat généré", + "processingError": "Erreur de traitement" + }, + "ndaSignatureBadge": { + "signed": "Signé", + "processing": "En cours de traitement", + "pending": "En attente", + "failed": "Échoué" + }, + "auditsPage": { + "title": "Audits", + "description": "Gérez les rapports d’audit et les certifications de conformité" + }, + "auditList": { + "columns": { + "framework": "Référentiel", + "name": "Nom", + "validUntil": "Valide jusqu’au", + "state": "État", + "visibility": "Visibilité" + }, + "empty": "Aucun audit disponible" + }, + "auditListItem": { + "messages": { + "visibilityUpdated": "Visibilité de l’audit mise à jour avec succès." + }, + "errors": { + "updateVisibility": "Échec de la mise à jour de la visibilité de l’audit" + }, + "noExpiry": "Aucune expiration", + "untitled": "Sans titre", + "states": { + "not_started": "Non commencé", + "in_progress": "En cours", + "completed": "Terminé", + "rejected": "Rejeté", + "outdated": "Obsolète" + } + }, + "brandPage": { + "messages": { + "updated": "Image de marque de la page de conformité mise à jour avec succès" + }, + "errors": { + "update": "Échec de la mise à jour de l’image de marque de la page de conformité", + "fileTooLarge": { + "title": "Fichier trop volumineux", + "description": "Le fichier est trop volumineux. Veuillez téléverser un fichier de moins de 5 Mo." + } + }, + "actions": { + "uploading": "Téléversement...", + "updating": "Mise à jour...", + "noLogo": "Aucun logo", + "uploadLogo": "Téléverser le logo", + "uploadDarkLogo": "Téléverser le logo sombre", + "changeLogo": "Changer le logo", + "removeLogo": "Supprimer le logo", + "changeDarkLogo": "Changer le logo sombre", + "removeDarkLogo": "Supprimer le logo sombre" + }, + "logo": { + "label": "Logo", + "description": "Ce logo sera affiché sur votre page de conformité publique.", + "alt": "Logo de la page de conformité", + "uploadDescription": "Téléversez une image de logo (PNG, JPG, SVG, WEBP jusqu’à 5 Mo)" + }, + "darkLogo": { + "label": "Logo du mode sombre", + "description": "Ce logo sera utilisé lorsque le mode sombre est activé.", + "alt": "Logo sombre de la page de conformité", + "uploadDescription": "Téléversez une image de logo sombre (PNG, JPG, SVG, WEBP jusqu’à 5 Mo)" + }, + "visualIdentity": { + "title": "Identité visuelle", + "description": "Logos carrés affichés sur votre page de conformité publique." + }, + "domains": { + "title": "Domaines", + "description": "Votre page de conformité est toujours disponible sur son sous-domaine probopage.com par défaut. Vous pouvez également la publier sur un domaine personnalisé.", + "actions": { + "configure": "Configurer" + } + }, + "profile": { + "title": "Informations générales", + "description": "Description et coordonnées affichées aux visiteurs.", + "fields": { + "entityName": "Nom de l’entité", + "entityNamePlaceholder": "Acme", + "description": "Description", + "descriptionPlaceholder": "Brève description pour les visiteurs", + "websiteUrl": "URL du site web", + "email": "E-mail", + "emailPlaceholder": "contact@example.com", + "address": "Adresse du siège", + "addressPlaceholder": "123 rue Principale, Ville, Pays" + } + } + }, + "commitmentDialog": { + "title": { + "create": "Ajouter un engagement", + "edit": "Modifier l’engagement" + }, + "validation": { + "iconRequired": "L’icône est requise", + "titleRequired": "Le titre est requis", + "descriptionRequired": "La description est requise" + }, + "messages": { + "created": "Engagement créé avec succès", + "updated": "Engagement mis à jour avec succès" + }, + "errors": { + "create": "Échec de la création de l’engagement", + "update": "Échec de la mise à jour de l’engagement" + }, + "fields": { + "icon": "Icône", + "iconPlaceholder": "Sélectionnez une icône", + "eyebrow": "Sur-titre", + "eyebrowPlaceholder": "Petite étiquette d’accent au-dessus du titre", + "title": "Titre", + "titlePlaceholder": "Titre de l’engagement", + "description": "Description", + "descriptionPlaceholder": "Texte descriptif complémentaire" + }, + "actions": { + "add": "Ajouter l’engagement", + "update": "Mettre à jour l’engagement" + }, + "icons": { + "lock_key": "Cadenas et clé", + "eye_slash": "Œil barré", + "fingerprint": "Empreinte digitale", + "shield_warning": "Bouclier d’avertissement", + "shield_check": "Bouclier de validation", + "siren": "Sirène", + "key": "Clé", + "lock": "Cadenas", + "cloud": "Nuage", + "database": "Base de données", + "globe": "Globe", + "eye": "Œil", + "users": "Utilisateurs", + "certificate": "Certificat", + "gavel": "Marteau", + "heartbeat": "Pouls", + "bell": "Cloche", + "bug": "Insecte", + "code": "Code", + "server": "Serveur" + } + }, + "commitmentGroupDialog": { + "title": { + "create": "Ajouter un groupe", + "edit": "Modifier le groupe" + }, + "validation": { + "titleRequired": "Le titre est requis", + "descriptionRequired": "La description est requise" + }, + "messages": { + "created": "Groupe créé avec succès", + "updated": "Groupe mis à jour avec succès" + }, + "errors": { + "create": "Échec de la création du groupe", + "update": "Échec de la mise à jour du groupe" + }, + "fields": { + "title": "Titre", + "titlePlaceholder": "par ex. Protection des données", + "description": "Description", + "descriptionPlaceholder": "Décrivez ce que couvre ce groupe d’engagements" + }, + "actions": { + "add": "Ajouter le groupe", + "update": "Mettre à jour le groupe" + } + }, + "commitmentGroupList": { + "title": "Engagements de sécurité", + "description": "Regroupez les cartes d’engagement en sections affichées sur votre page de conformité", + "messages": { + "orderUpdated": "Ordre mis à jour avec succès" + }, + "errors": { + "updateOrder": "Échec de la mise à jour de l’ordre" + }, + "actions": { + "addGroup": "Ajouter un groupe" + }, + "empty": "Aucun groupe d’engagements pour le moment" + }, + "commitmentGroupListItem": { + "messages": { + "deleted": "Groupe supprimé avec succès", + "orderUpdated": "Ordre mis à jour avec succès" + }, + "errors": { + "delete": "Échec de la suppression du groupe", + "updateOrder": "Échec de la mise à jour de l’ordre" + }, + "delete": { + "title": "Supprimer le groupe", + "description": "Voulez-vous vraiment supprimer le groupe « {{title}} » ?", + "warning": "Toutes les cartes d’engagement de ce groupe seront également supprimées. Cette action est irréversible." + }, + "columns": { + "icon": "Icône", + "title": "Titre", + "description": "Description" + }, + "actions": { + "deleting": "Suppression...", + "delete": "Supprimer", + "addCommitment": "Ajouter un engagement" + }, + "empty": "Aucune carte d’engagement pour le moment" + }, + "commitmentListItem": { + "messages": { + "deleted": "Engagement supprimé avec succès" + }, + "errors": { + "delete": "Échec de la suppression de l’engagement" + } + }, + "documentsPage": { + "title": "Documents", + "description": "Gérez les politiques, procédures et documents de conformité" + }, + "documentList": { + "columns": { + "name": "Nom", + "type": "Type", + "alias": "Alias", + "visibility": "Visibilité" + }, + "empty": "Aucun document disponible" + }, + "documentListItem": { + "messages": { + "visibilityUpdated": "Visibilité du document mise à jour avec succès." + }, + "errors": { + "updateVisibility": "Échec de la mise à jour de la visibilité du document" + } + }, + "domainPage": { + "title": "Domaine personnalisé", + "empty": { + "description": "Ajoutez votre propre domaine pour rendre votre page de conformité plus professionnelle" + } + }, + "thirdPartyListItem": { + "messages": { + "visibilityUpdated": "Visibilité du sous-traitant mise à jour avec succès." + }, + "errors": { + "visibilityUpdate": "Échec de la mise à jour de la visibilité du sous-traitant" + }, + "visibility": { + "visible": "Visible", + "none": "Aucune" + }, + "actions": { + "hide": "Masquer", + "show": "Afficher" + } + }, + "thirdPartyList": { + "columns": { + "name": "Nom", + "category": "Catégorie", + "visibility": "Visibilité" + }, + "empty": "Aucun sous-traitant disponible" + }, + "thirdPartiesPage": { + "title": "Sous-traitants", + "description": "Gérez les évaluations des sous-traitants et les informations de risque tiers" + }, + "referenceList": { + "columns": { + "name": "Nom", + "description": "Description" + }, + "empty": "Aucune référence disponible", + "dragHint": "Glissez-déposez les références pour modifier leur ordre d’affichage" + }, + "referencesPage": { + "title": "Références", + "description": "Mettez en avant vos clients et partenaires sur votre page de conformité", + "actions": { + "add": "Ajouter une référence" + } + }, + "statusSection": { + "title": "Statut de la page de conformité", + "errors": { + "title": "Erreur", + "notFound": "Page de conformité introuvable" + }, + "activation": { + "title": "Activer la page de conformité", + "description": "Rendez votre page de conformité accessible publiquement pour renforcer la confiance de vos clients" + }, + "indexing": { + "title": "Indexation par les moteurs de recherche", + "description": "Autorisez les moteurs de recherche à indexer votre page de conformité et à la rendre repérable", + "disabledHint": "Activez d’abord votre page de conformité pour permettre l’indexation par les moteurs de recherche" + } + }, + "slackSection": { + "title": "Intégrations", + "disconnect": { + "title": "Déconnecter Slack", + "description": "Voulez-vous vraiment déconnecter ce canal Slack ? Cette action est irréversible." + }, + "emptyDescription": "Gérez l’accès à votre page de conformité avec Slack", + "actions": { + "connect": "Connecter", + "disconnect": "Déconnecter" + } + }, + "slackConnectionCard": { + "title": "Slack", + "connected": "Connecté le {{date}}", + "connectedWithChannel": "Connecté le {{date}} • Canal : {{channel}}", + "notConfiguredDescription": "Slack est connecté, mais aucun canal n’est encore configuré pour la page de conformité.", + "status": { + "connected": "Connecté", + "notConfigured": "Canal non configuré" + }, + "actions": { + "changeChannel": "Changer de canal", + "connect": "Connecter", + "disconnect": "Déconnecter" + } + }, + "ndaSection": { + "title": "Accord de confidentialité", + "empty": "Aucun fichier NDA téléversé", + "emptyDescription": "Téléversez un PDF que les visiteurs doivent accepter avant de pouvoir accéder à votre page de conformité.", + "uploadDescription": "Exigez que les visiteurs acceptent un accord de confidentialité avant d’accéder à votre page de conformité.", + "acceptanceDescription": "Les visiteurs doivent accepter cet accord avant d’accéder à votre page de conformité.", + "actions": { + "download": "Télécharger", + "upload": "Téléverser le NDA", + "replace": "Remplacer" + }, + "delete": { + "title": "Supprimer le NDA", + "description": "Voulez-vous vraiment supprimer le fichier NDA ? Cette action est irréversible.", + "actions": { + "delete": "Supprimer" + } + }, + "errors": { + "title": "Erreur", + "notFound": "Page de conformité introuvable", + "invalidFileType": { + "title": "Type de fichier non pris en charge", + "description": "Veuillez téléverser un fichier PDF." + }, + "fileTooLarge": { + "title": "Fichier trop volumineux", + "description": "Veuillez téléverser un fichier de moins de 10 Mo." + } + } + }, + "frameworkList": { + "title": "Référentiels de conformité", + "description": "Sélectionnez les référentiels à afficher sur votre page de conformité publique.", + "empty": "Aucun référentiel disponible", + "messages": { + "visibilityUpdated": "Visibilité du référentiel mise à jour avec succès." + }, + "errors": { + "visibilityUpdate": "Échec de la mise à jour de la visibilité du référentiel" + } + }, + "externalUrls": { + "title": "Liens personnalisés", + "description": "Ajoutez des URL externes à afficher sur votre page de conformité", + "validation": { + "nameRequired": "Le nom est requis", + "urlInvalid": "Veuillez saisir une URL valide" + }, + "messages": { + "created": "Lien ajouté avec succès.", + "updated": "Lien mis à jour avec succès.", + "deleted": "Lien supprimé.", + "orderUpdated": "Ordre mis à jour." + }, + "errors": { + "create": "Échec de l’ajout du lien.", + "update": "Échec de la mise à jour du lien.", + "delete": "Échec de la suppression du lien.", + "orderUpdate": "Échec de la mise à jour de l’ordre." + }, + "dialog": { + "titleCreate": "Ajouter un lien", + "titleEdit": "Modifier le lien" + }, + "fields": { + "url": "URL", + "urlPlaceholder": "https://example.com", + "name": "Nom", + "namePlaceholder": "par exemple, Twitter ou LinkedIn" + }, + "actions": { + "add": "Ajouter un lien", + "save": "Enregistrer les modifications", + "open": "Ouvrir le lien", + "remove": "Supprimer le lien" + }, + "dragHint": "Glissez-déposez pour modifier l’ordre d’affichage" + }, + "sendUpdateDialog": { + "title": "Envoyer la mise à jour aux abonnés", + "description": "Cette mise à jour sera envoyée à tous les abonnés actuels de cette liste de diffusion. Cette action est irréversible.", + "messages": { + "enqueued": "Mise à jour mise en file d’attente pour l’envoi" + }, + "errors": { + "enqueue": "Échec de la mise en file d’attente de la mise à jour" + }, + "actions": { + "send": "Envoyer" + } + }, + "newSubscriberDialog": { + "title": "Ajouter un abonné", + "description": "Ajoutez une personne pour recevoir les mises à jour de sécurité et de conformité", + "validation": { + "fullNameRequired": "Le nom complet est requis", + "emailRequired": "L’e-mail est requis", + "emailInvalid": "Veuillez saisir une adresse e-mail valide" + }, + "messages": { + "created": "Abonné ajouté avec succès" + }, + "errors": { + "create": "Échec de l’ajout de l’abonné" + }, + "fields": { + "fullName": "Nom complet", + "fullNamePlaceholder": "Jean Dupont", + "email": "Adresse e-mail", + "emailPlaceholder": "jean@example.com", + "skipConfirmation": "Ignorer l’e-mail de confirmation" + }, + "consentNotice": "En cochant cette case, vous certifiez avoir obtenu le consentement préalable vérifiable de cette personne pour recevoir ces communications, conformément aux réglementations applicables en matière de protection des données (par exemple, le RGPD et le CAN-SPAM). Vous acceptez l’entière responsabilité de fournir une preuve de ce consentement si nécessaire.", + "actions": { + "create": "Ajouter l’abonné" + } + }, + "updateFormDialog": { + "title": { + "view": "Voir la mise à jour", + "edit": "Modifier la mise à jour", + "create": "Ajouter une mise à jour" + }, + "validation": { + "titleRequired": "Le titre est requis", + "bodyRequired": "Le contenu est requis" + }, + "messages": { + "created": "Mise à jour créée avec succès", + "updated": "Mise à jour enregistrée avec succès" + }, + "errors": { + "create": "Échec de la création de la mise à jour", + "update": "Échec de l’enregistrement de la mise à jour" + }, + "confidentialityNotice": "N’incluez pas d’informations confidentielles ou sensibles dans cette mise à jour. Tout contenu nécessitant une protection doit plutôt être placé derrière vos documents protégés par NDA.", + "fields": { + "title": "Titre", + "body": "Contenu" + }, + "sentNotice": "Cette mise à jour a été envoyée et ne peut plus être modifiée.", + "actions": { + "save": "Enregistrer", + "create": "Créer" + } + }, + "updatesList": { + "messages": { + "deleted": "Mise à jour supprimée avec succès" + }, + "errors": { + "delete": "Échec de la suppression de la mise à jour" + }, + "empty": "Aucune mise à jour pour le moment", + "columns": { + "title": "Titre", + "status": "Statut", + "created": "Créé le" + }, + "status": { + "sent": "Envoyée", + "enqueued": "En file d’attente", + "processing": "Traitement en cours…", + "draft": "Brouillon" + }, + "actions": { + "send": "Envoyer", + "edit": "Modifier la mise à jour", + "view": "Voir la mise à jour", + "delete": "Supprimer la mise à jour", + "showMore": "Afficher plus" + } + }, + "mailingList": { + "messages": { + "deleted": "Abonné supprimé avec succès" + }, + "errors": { + "delete": "Échec de la suppression de l’abonné" + }, + "empty": "Aucun abonné à la liste de diffusion pour le moment", + "columns": { + "name": "Nom", + "email": "E-mail", + "status": "Statut", + "subscribedOn": "Abonné depuis" + }, + "status": { + "confirmed": "Confirmé", + "pending": "En attente" + }, + "actions": { + "delete": "Supprimer l’abonné", + "showMore": "Afficher plus" + } + }, + "mailingListPage": { + "messages": { + "updated": "Liste de diffusion mise à jour avec succès" + }, + "errors": { + "update": "Échec de la mise à jour de la liste de diffusion" + }, + "settings": { + "title": "Paramètres", + "description": "Configurez le comportement de votre liste de diffusion", + "replyTo": "E-mail de réponse", + "replyToPlaceholder": "security@example.com" + }, + "tabs": { + "updates": "Mises à jour", + "subscribers": "Abonnés" + }, + "actions": { + "save": "Enregistrer", + "addUpdate": "Ajouter une mise à jour", + "addSubscriber": "Ajouter un abonné" + } + }, + "newFileDialog": { + "title": "Ajouter un fichier", + "uploadDescription": "Téléversez un fichier (10 Mo max)", + "selectedFile": "Fichier sélectionné : {{name}}", + "validation": { + "nameRequired": "Le nom est requis", + "categoryRequired": "La catégorie est requise", + "fileTypeNotAllowed": "Ce type de fichier n’est pas autorisé" + }, + "messages": { + "created": "Fichier téléversé avec succès" + }, + "errors": { + "create": "Échec du téléversement du fichier" + }, + "fields": { + "name": "Nom", + "category": "Catégorie", + "visibility": "Visibilité" + }, + "actions": { + "add": "Ajouter un fichier" + } + }, + "editFileDialog": { + "title": "Modifier le fichier", + "validation": { + "nameRequired": "Le nom est requis", + "categoryRequired": "La catégorie est requise" + }, + "messages": { + "updated": "Fichier mis à jour avec succès" + }, + "errors": { + "update": "Échec de la mise à jour du fichier" + }, + "fields": { + "name": "Nom", + "category": "Catégorie" + }, + "actions": { + "save": "Enregistrer" + } + }, + "deleteFileDialog": { + "title": "Supprimer le fichier", + "description": "Voulez-vous vraiment supprimer ce fichier ? Cette action est irréversible.", + "messages": { + "deleted": "Fichier supprimé avec succès" + }, + "errors": { + "delete": "Échec de la suppression du fichier" + }, + "actions": { + "delete": "Supprimer" + } + }, + "fileListItem": { + "messages": { + "updated": "Fichier mis à jour avec succès" + }, + "errors": { + "update": "Échec de la mise à jour du fichier" + }, + "actions": { + "download": "Télécharger", + "edit": "Modifier", + "delete": "Supprimer" + } + }, + "fileList": { + "columns": { + "name": "Nom", + "category": "Catégorie", + "uploadDate": "Date de téléversement", + "alias": "Alias", + "visibility": "Visibilité" + }, + "empty": "Aucun fichier disponible" + }, + "filesPage": { + "title": "Fichiers", + "description": "Téléversez et gérez les fichiers de votre page de conformité", + "actions": { + "add": "Ajouter un fichier" + } + }, + "newDomainDialog": { + "title": "Ajouter un domaine", + "description": "Saisissez votre domaine et nous générerons les enregistrements DNS à ajouter.", + "messages": { + "created": "Domaine ajouté avec succès. Configurez les enregistrements DNS pour vérifier et activer votre domaine." + }, + "errors": { + "create": "Échec de l’ajout du domaine" + }, + "fields": { + "domain": "Domaine", + "domainPlaceholder": "compliance.example.com" + }, + "examples": "Exemples : compliance.example.com, trust.example.com", + "actions": { + "adding": "Ajout en cours...", + "add": "Ajouter un domaine" + } + }, + "deleteDomainDialog": { + "title": "Supprimer le domaine personnalisé", + "description": "Cela supprimera définitivement le domaine personnalisé {{domain}} et toute sa configuration.", + "warning": "Cette action est irréversible.", + "confirmationLabel": "Pour confirmer la suppression, saisissez « {{domain}} » ci-dessous :", + "messages": { + "deleted": "Domaine supprimé avec succès" + }, + "errors": { + "delete": "Échec de la suppression du domaine" + }, + "actions": { + "deleting": "Suppression en cours...", + "delete": "Supprimer le domaine" + } + }, + "domainDialog": { + "messages": { + "copied": "Copié", + "valueCopied": "Valeur copiée dans le presse-papiers" + }, + "active": { + "title": "Le domaine est actif", + "description": "Votre domaine personnalisé est vérifié et le certificat SSL est actif" + }, + "provisioningError": "Erreur de provisionnement", + "sslExpires": "Expiration du SSL", + "dns": { + "title": "Configuration DNS", + "description": "Ajoutez ces enregistrements DNS à votre domaine pour terminer la vérification", + "name": "Nom", + "value": "Valeur", + "ttl": "TTL : {{ttl}}" + }, + "actions": { + "copy": "Copier" + }, + "pendingDescription": "Après l’ajout des enregistrements DNS, la vérification se fera automatiquement. La propagation peut prendre quelques minutes." + }, + "domainCard": { + "managed": "Géré", + "status": { + "active": "Actif", + "pending": "En attente" + }, + "actions": { + "viewDetails": "Voir les détails", + "delete": "Supprimer" + } + } +}