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

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

655 lines
28 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

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

{
"common": {
"actions": {
"add": "Ajouter",
"back": "Retour",
"cancel": "Annuler",
"close": "Fermer",
"create": "Créer",
"delete": "Supprimer",
"downloadCsv": "Télécharger le CSV",
"edit": "Modifier",
"import": "Importer",
"reactivate": "Réactiver",
"remove": "Retirer",
"retry": "Réessayer",
"save": "Enregistrer",
"saving": "Enregistrement...",
"search": "Rechercher",
"select": "Sélectionner",
"update": "Mettre à jour",
"uploadCsv": "Téléverser le CSV",
"view": "Afficher"
},
"states": {
"active": "Actif",
"inactive": "Inactif",
"loading": "Chargement...",
"na": "N/D",
"none": "Aucun"
},
"no": "Non",
"yes": "Oui"
},
"contactsPage": {
"title": "Contacts",
"description": "Page principale de gestion des contacts avec recherche, filtres, vue en liste et actions groupées",
"heading": "Contacts",
"addContact": "+ Ajouter un contact",
"actions": "Actions",
"searchPlaceholder": "Rechercher des contacts, notes et interactions",
"resetFilters": "Réinitialiser",
"unknownClient": "Client inconnu",
"noClient": "Aucun client",
"thisContact": "ce contact",
"actionsMenuSrOnly": "Ouvrir le menu",
"quickView": "Aperçu rapide",
"deleteValidationError": "La suppression na pas pu être validée. Veuillez réessayer.",
"deleteSuccess": "{{name}} a été supprimé avec succès.",
"deleteError": "Impossible de supprimer le contact. Veuillez réessayer.",
"markInactiveSuccess": "{{name}} a été marqué comme inactif avec succès.",
"markInactiveError": "Une erreur est survenue lors du marquage du contact comme inactif. Veuillez réessayer.",
"statusOptions": {
"all": "Tous les contacts",
"active": "Contacts actifs",
"inactive": "Contacts inactifs"
},
"table": {
"name": "Nom",
"created": "Créé",
"email": "E-mail",
"phoneNumber": "Numéro de téléphone",
"client": "Client",
"tags": "Étiquettes",
"actions": "Actions"
},
"lastPhoneTypeUsage": {
"title": "Dernière utilisation du type de téléphone",
"message_one": "Le type de téléphone personnalisé suivant nest plus utilisé par aucun contact : {{labels}}. Supprimer la définition du type ou la conserver pour une utilisation future ?",
"message_other": "Les types de téléphone personnalisés suivants ne sont plus utilisés par aucun contact : {{labels}}. Supprimer les définitions de types ou les conserver pour une utilisation future ?",
"deleteType": "Supprimer le type",
"keepType": "Conserver le type"
},
"print": {
"title": "Contacts",
"subtitle": "{{count}} contacts",
"noContacts": "Aucun contact à imprimer",
"emptyValue": "-",
"columns": {
"name": "Nom",
"email": "E-mail",
"phone": "Téléphone",
"client": "Client",
"status": "Statut"
},
"optionsDialog": {
"title": "Options d'impression",
"description": "Choisissez les colonnes à inclure lors de l'impression des contacts."
}
},
"shareTooltip": "Imprimer, importer et exporter"
},
"contactDetails": {
"title": "Détails du contact",
"description": "Vue détaillée du contact avec onglets, modification inline, accès portail, étiquettes et notes",
"backToContacts": "Retour aux contacts",
"inactiveBadge": "inactif",
"actions": {
"goToContact": "Aller au contact",
"saveChanges": "Enregistrer les modifications"
},
"tabs": {
"details": "Détails",
"tickets": "Tickets",
"documents": "Documents",
"interactions": "Interactions",
"notes": "Notes",
"portal": "Portail"
},
"fields": {
"fullName": "Nom complet",
"client": "Client",
"email": "E-mail",
"role": "Rôle",
"inboundTicketDestinationOverride": "Remplacement de la destination du ticket entrant",
"useClientDestination": "Utiliser la destination du client",
"inboundTicketDestinationHelp": "Si défini, cela remplace la destination du client pour ce contact expéditeur exact. Priorité : remplacement du contact -> destination du client -> valeur par défaut du fournisseur.",
"tags": "Étiquettes",
"notes": "Notes",
"status": "Statut",
"phone": "Téléphone"
},
"status": {
"label": "Statut",
"helper": "Définir le statut du contact comme actif ou inactif",
"active": "Actif",
"inactive": "Inactif"
},
"loading": {
"destinations": "Chargement des destinations...",
"ticketFilters": "Chargement des filtres de tickets..."
},
"empty": {
"notSet": "Non défini",
"unknownClient": "Client inconnu"
},
"client": {
"noClientAssigned": "Aucun client attribué"
},
"delete": {
"successTitle": "Contact supprimé",
"successDescription": "Le contact a été supprimé avec succès.",
"validationFailed": "La suppression na pas pu être validée. Veuillez réessayer.",
"failed": "Impossible de supprimer le contact. Veuillez réessayer."
},
"deactivate": {
"successTitle": "Contact désactivé",
"successDescription": "Le contact a été marqué comme inactif avec succès."
},
"reactivate": {
"successTitle": "Contact réactivé",
"successDescription": "Le contact a été réactivé avec succès."
},
"update": {
"successTitle": "Contact mis à jour",
"successDescription": "Les informations du contact ont été enregistrées avec succès."
},
"saveFailed": {
"title": "Échec de lenregistrement",
"description": "Impossible denregistrer les informations du contact. Veuillez réessayer."
},
"error": {
"title": "Erreur"
},
"errors": {
"permissionDenied": "Permission refusée. Veuillez contacter votre administrateur si vous avez besoin dun accès supplémentaire.",
"markInactiveFailed": "Une erreur est survenue lors du marquage du contact comme inactif. Veuillez réessayer.",
"reactivateFailed": "Une erreur est survenue lors de la réactivation du contact. Veuillez réessayer."
}
},
"contactsImportDialog": {
"title": "Importer des contacts",
"description": "Dialogue dimport CSV pour le mappage, laperçu, la validation et les résultats",
"fields": {
"name": "Nom *",
"email": "E-mail *",
"defaultPhoneNumber": "Numéro de téléphone par défaut",
"client": "Client",
"tags": "Étiquettes",
"role": "Rôle",
"notes": "Notes",
"primaryEmailLabel": "Libellé de l'e-mail principal",
"additionalEmails": "Adresses e-mail supplémentaires"
},
"unassigned": "Sélectionner un champ",
"errors": {
"emptyCsv": "Le fichier CSV est vide ou invalide",
"readingCsv": "Erreur lors de la lecture du fichier CSV : {{message}}",
"unknownError": "Erreur inconnue",
"requiredFieldNotMapped": "Le champ obligatoire \"{{field}}\" nest pas mappé",
"nameRequired": "Le nom est requis",
"emailRequired": "Le-mail est requis",
"invalidEmail": "Format de-mail invalide",
"processingCsv": "Erreur lors du traitement des données CSV",
"importFailed": "Limport a échoué"
},
"importOptions": {
"updateExisting": {
"title": "Mettre à jour les contacts existants",
"description": "Remplacer les données des contacts existants"
},
"skipInvalid": {
"title": "Ignorer les enregistrements invalides",
"description": "Poursuivre limport même si certains enregistrements contiennent des erreurs de validation"
}
},
"results": {
"title": "Résultats de limport",
"downloadFailedRecords": "Télécharger les enregistrements en échec"
},
"table": {
"status": "Statut",
"name": "Nom",
"email": "E-mail",
"message": "Message",
"exists": "Existe",
"issues": "Problèmes"
},
"tooltips": {
"importSuccessful": "Import réussi",
"importFailed": "Import échoué",
"validReady": "Valide - prêt à importer",
"invalidHasErrors": "Invalide - contient des erreurs"
},
"upload": {
"help": "Téléversez un fichier CSV contenant les données des contacts",
"requiredLabel": "Obligatoire :",
"contactFieldsLabel": "Champs du contact :",
"contactFieldsDescription": "phone_number (importé comme téléphone professionnel par défaut), role, notes, tags",
"clientFieldLabel": "Champ client :",
"clientFieldDescription": "client (correspond aux clients existants par nom)",
"noteLabel": "Remarque :",
"noteDescription": "Limport/export CSV dans la version 1 gère un seul numéro de téléphone par défaut par contact. Les étiquettes doivent être séparées par des virgules.",
"downloadTemplate": "Télécharger le modèle CSV",
"emailFieldsLabel": "Champs e-mail :",
"emailFieldsDescription": "primary_email_type (work/personal/billing/other ou un libellé personnalisé), additional_email_addresses (utilisez `label:email@example.com | label:email@example.com`)",
"hybridEmailNote": "L'import/export CSV conserve `email` comme e-mail de contact principal/par défaut. Les étiquettes doivent être des valeurs séparées par des virgules."
},
"mapping": {
"title": "Mapper les champs du contact aux colonnes CSV",
"description": "Sélectionnez la colonne CSV qui contient les données de chaque champ du contact. Les champs marqués dun * sont obligatoires.",
"contactFieldHeader": "Champ du contact",
"csvColumnHeader": "Sélectionner une colonne CSV",
"notMapped": "Non mappé",
"requiredFieldsNote": "* Les champs obligatoires doivent être mappés pour poursuivre limport",
"largeImportWarning": "Vous importez {{count}} enregistrements. Le traitement peut prendre un moment.",
"processing": "Traitement...",
"preview": "Aperçu"
},
"preview": {
"title": "Aperçu de limport",
"totalRecords": "Nombre total denregistrements :",
"valid": "Valides :",
"invalid": "Invalides :"
},
"importing": {
"title": "Importation des contacts",
"processing": "Traitement : {{current}} sur {{total}}",
"currentItem": "Traitement en cours : {{item}}"
},
"complete": {
"title": "Importation terminée",
"successMessage": "{{count}} contacts importés avec succès"
},
"confirmUpdate": {
"title": "Mettre à jour les contacts existants",
"message": "{{count}} contacts existent déjà. Voulez-vous les mettre à jour avec les nouvelles données ?"
}
},
"contactPhoneNumbersEditor": {
"title": "Numéros de téléphone",
"description": "Éditeur de numéros de téléphone avec gestion des types, validation, valeurs par défaut et prise en charge des extensions",
"actions": {
"addPhone": "Ajouter un numéro"
},
"empty": "Aucun numéro de téléphone pour le moment.",
"phoneTypes": {
"work": "Professionnel",
"mobile": "Mobile",
"home": "Domicile",
"fax": "Fax",
"other": "Autre",
"custom": "Personnalisé"
},
"row": {
"title": "Téléphone {{number}}",
"defaultDescription": "Numéro de téléphone par défaut",
"secondaryDescription": "Numéro de téléphone secondaire",
"defaultLabel": "Par défaut",
"moveUp": "Monter le téléphone {{number}}",
"moveDown": "Descendre le téléphone {{number}}",
"remove": "Supprimer le téléphone {{number}}"
},
"fields": {
"phoneNumber": "Numéro de téléphone",
"phoneType": "Type de téléphone",
"customPhoneType": "Type de téléphone personnalisé",
"customTypePlaceholder": "Sélectionnez ou saisissez un type de téléphone personnalisé",
"customTypeSearchPlaceholder": "Recherchez ou saisissez un type de téléphone personnalisé...",
"customTypeEmpty": "Aucun type de téléphone personnalisé correspondant.",
"customTypeUseValue": "Utiliser \"{{value}}\""
},
"validation": {
"selectExactlyOneDefault": "Sélectionnez exactement un numéro de téléphone par défaut.",
"phoneRow": "Téléphone {{number}}",
"enterCompletePhoneNumber": "Saisissez un numéro de téléphone complet.",
"enterCustomPhoneType": "Saisissez un type de téléphone personnalisé.",
"customTypesUnique": "Les libellés des types de téléphone personnalisés doivent être uniques."
},
"lastTypeUsage": {
"title": "Dernière utilisation du type de téléphone",
"message": "Cest la dernière utilisation du type de téléphone personnalisé \"{{label}}\". Supprimer la définition du type ou la conserver pour plus tard ?",
"removeAndDelete": "Retirer et supprimer le type",
"removeAndKeep": "Retirer et conserver le type"
}
},
"contactPortalTab": {
"boardCount_one": "{{count}} tableau",
"boardCount_other": "{{count}} tableaux",
"title": "Accès au portail",
"description": "Gestion de laccès au portail client pour un contact, y compris les invitations et les mises à jour de rôles",
"loadingDescription": "Chargement des informations du portail...",
"information": "Les e-mails dinvitation seront envoyés depuis le système de messagerie de votre organisation. Les réponses iront à ladresse e-mail par défaut de lemplacement du client.",
"activeAccess": "Accès au portail actif",
"noAccess": {
"title": "Aucun accès au portail",
"description": "Ce contact na pas encore accès au portail client"
},
"portalAdmin": {
"label": "Administrateur du portail",
"helper": "Lorsquil est activé, lutilisateur sera créé avec le rôle Administrateur client. Lorsquil est désactivé, il obtiendra le rôle Utilisateur client."
},
"roles": {
"label": "Rôles du portail",
"none": "Aucun rôle attribué",
"placeholder": "Sélectionnez un rôle à ajouter",
"addButton": "Ajouter un rôle"
},
"userStatus": {
"label": "Statut de lutilisateur",
"active": "Lutilisateur est actuellement actif",
"inactive": "Lutilisateur est actuellement inactif"
},
"lastLogin": {
"label": "Dernière connexion",
"via": "via {{method}}"
},
"history": {
"title": "Historique des invitations",
"description": "Invitations récentes du portail envoyées à ce contact",
"empty": "Aucune invitation de portail na encore été envoyée à ce contact.",
"sentPrefix": "Envoyé :",
"expiresPrefix": "Expire :",
"usedPrefix": "Utilisé :",
"status": {
"pending": "En attente",
"used": "Utilisé",
"expired": "Expiré",
"revoked": "Révoqué"
}
},
"actions": {
"sendInvitation": "Envoyer linvitation au portail",
"sending": "Envoi...",
"refresh": "Actualiser",
"refreshing": "Actualisation...",
"resend": "Renvoyer",
"resending": "Renvoi...",
"revoke": "Révoquer"
},
"toast": {
"successTitle": "Succès",
"errorTitle": "Erreur",
"permissionDeniedTitle": "Permission refusée",
"loadError": "Impossible de charger les informations du portail",
"refreshHistoryError": "Impossible dactualiser lhistorique des invitations",
"sendInvitePermissionDenied": "Vous navez pas lautorisation denvoyer des invitations",
"sendInviteSuccess": "Invitation au portail envoyée avec succès !",
"sendInviteFailed": "Impossible denvoyer linvitation",
"revokeInviteSuccess": "Invitation révoquée avec succès",
"revokeInviteFailed": "Impossible de révoquer linvitation",
"resendInviteSuccess": "Invitation au portail renvoyée avec succès !",
"resendInviteFailed": "Impossible de renvoyer linvitation",
"updatePortalSettingsPermissionDenied": "Vous navez pas lautorisation de mettre à jour les paramètres client",
"portalAdminEnabled": "Contact marqué comme administrateur du portail client",
"portalAdminDisabled": "Contact retiré comme administrateur du portail client",
"updatePortalAdminFailed": "Impossible de mettre à jour le statut",
"updateAdminFailed": "Impossible de mettre à jour le drapeau administrateur",
"updateRolesPermissionDenied": "Vous navez pas lautorisation de mettre à jour les rôles utilisateur",
"roleAdded": "Rôle ajouté avec succès",
"addRoleFailed": "Impossible dajouter le rôle",
"roleRemoved": "Rôle supprimé avec succès",
"removeRoleFailed": "Impossible de supprimer le rôle",
"updateStatusPermissionDenied": "Vous navez pas lautorisation de mettre à jour le statut utilisateur",
"userActivated": "Utilisateur activé avec succès",
"userDeactivated": "Utilisateur désactivé avec succès",
"updateUserStatusFailed": "Impossible de mettre à jour le statut utilisateur",
"errors": {
"permissionDeniedInvite": "Vous n'avez pas la permission d'inviter des utilisateurs.",
"emailNotConfigured": "Le service de messagerie est désactivé ou n'est pas configuré.",
"contactNotFound": "Contact introuvable.",
"contactMissingEmail": "Le contact n'a pas d'adresse e-mail. Ajoutez une adresse e-mail au contact avant d'envoyer une invitation.",
"contactInvalidEmail": "Le contact a une adresse e-mail invalide. Mettez à jour le contact avec une adresse e-mail valide avant d'envoyer une invitation.",
"userExistsForContact": "Un compte utilisateur existe déjà pour ce contact. Utilisez la réinitialisation de mot de passe au lieu d'envoyer une invitation.",
"noDefaultClient": "Aucun client par défaut n'est configuré pour ce tenant. Veuillez définir un client par défaut dans les paramètres généraux.",
"noDefaultLocation": "Le client par défaut doit avoir un emplacement par défaut configuré pour envoyer des invitations au portail.",
"noLocationEmail": "L'emplacement du client par défaut doit avoir une adresse e-mail de contact configurée.",
"noBaseUrl": "L'URL de base n'est pas configurée pour les invitations au portail.",
"invitationNotFound": "Invitation introuvable ou déjà utilisée."
}
}
},
"quickAddContact": {
"title": "Ajouter un nouveau contact",
"description": "Formulaire rapide pour créer un contact avec des champs client, rôle, téléphone et étiquettes",
"dialog": {
"title": "Ajouter un nouveau contact"
},
"errorFallback": {
"title": "Quelque chose sest mal passé :",
"tryAgain": "Réessayer"
},
"actions": {
"submit": "Ajouter le contact"
},
"fields": {
"fullName": "Nom complet *",
"email": "E-mail *",
"clientOptional": "Client (facultatif)",
"role": "Rôle",
"rolePlaceholder": "p. ex. : manager, développeur, etc.",
"notes": "Notes",
"notesPlaceholder": "Ajoutez des notes supplémentaires sur le contact..."
},
"status": {
"label": "Statut",
"active": "Actif",
"inactive": "Inactif"
},
"validation": {
"alertIntro": "Veuillez corriger les erreurs suivantes :",
"fullNameRequired": "Le nom complet est requis",
"fullNameEmpty": "Le nom complet ne peut pas être vide",
"fullNameSpaces": "Le nom complet ne peut pas contenir uniquement des espaces",
"emailRequired": "Le-mail est requis",
"emailSpaces": "Le-mail ne peut pas contenir uniquement des espaces",
"roleSpaces": "Le rôle ne peut pas contenir uniquement des espaces",
"roleLength": "Le rôle doit contenir 100 caractères ou moins",
"roleCharacters": "Le rôle doit contenir des lettres ou des chiffres",
"notesSpaces": "Les notes ne peuvent pas contenir uniquement des espaces"
},
"toasts": {
"warningTitle": "Avertissement",
"tagsFailed": "{{count}} étiquette(s) nont pas pu être créées",
"contactCreated": "Contact créé",
"contactAdded": "{{name}} a été ajouté avec succès."
},
"errors": {
"createContactTitle": "Erreur lors de la création du contact",
"unexpected": "Une erreur inattendue est survenue. Veuillez réessayer.",
"validationTitle": "Erreur de validation",
"emailExistsTitle": "Le-mail existe déjà",
"invalidReferenceTitle": "Référence invalide",
"systemTitle": "Erreur système",
"genericTitle": "Erreur",
"closeMessage": "Fermer le message derreur",
"createContactHeading": "Erreur lors de la création du contact :",
"validationPrefix": "Veuillez corriger ce qui suit :",
"emailExistsPrefix": "Le-mail existe déjà :",
"invalidReferencePrefix": "Référence invalide :",
"systemPrefix": "Erreur système :"
}
},
"contactDetailsEdit": {
"title": "Modifier le contact - {{name}}",
"heading": "Modifier le contact : {{name}}",
"inactiveBadge": "inactif",
"description": "Formulaire de contact modifiable utilisé depuis la vue détaillée et les flux de volet",
"validation": {
"fullNameRequired": "Le nom complet est requis",
"emailRequired": "Le-mail est requis",
"invalidEmail": "Veuillez saisir une adresse e-mail valide"
},
"errors": {
"validationPrefix": "Veuillez corriger ce qui suit :",
"emailExists": "Le-mail existe déjà : un contact avec cette adresse e-mail existe déjà dans le système",
"invalidReferencePrefix": "Référence invalide :",
"systemPrefix": "Erreur système :",
"saveFailed": "Une erreur est survenue lors de lenregistrement. Veuillez réessayer.",
"unexpected": "Une erreur inattendue est survenue. Veuillez réessayer."
},
"fields": {
"fullName": "Nom complet",
"email": "E-mail",
"role": "Rôle",
"rolePlaceholder": "p. ex. : manager, développeur, etc.",
"phoneNumbers": "Numéros de téléphone :",
"inboundTicketDestinationOverride": "Remplacement de la destination du ticket entrant :",
"inboundTicketDestinationHelp": "Priorité : remplacement du contact -> destination du client -> valeur par défaut du fournisseur.",
"useClientDestination": "Utiliser la destination du client",
"client": "Client :",
"status": "Statut :",
"notes": "Notes :",
"notesPlaceholder": "Ajoutez des notes supplémentaires sur le contact...",
"tags": "Étiquettes :",
"emailAddresses": "Adresses e-mail :"
},
"loading": {
"destinations": "Chargement des destinations..."
},
"status": {
"active": "Actif",
"inactive": "Inactif"
}
},
"contactDetailsView": {
"title": "Détails du contact - {{name}}",
"description": "Résumé du contact en lecture seule avec client associé, téléphones et métadonnées",
"actions": {
"goToContact": "Aller au contact"
},
"empty": {
"notSet": "Non défini",
"unknownClient": "Client inconnu"
},
"phoneTypes": {
"work": "Professionnel",
"mobile": "Mobile",
"home": "Domicile",
"fax": "Fax",
"other": "Autre"
},
"fields": {
"fullName": "Nom complet",
"email": "E-mail",
"phone": "Téléphone :",
"defaultPhone": "Par défaut",
"client": "Client :",
"noClientAssigned": "Aucun client attribué",
"role": "Rôle",
"status": "Statut",
"createdAt": "Créé le",
"updatedAt": "Mis à jour le",
"notes": "Notes :",
"tags": "Étiquettes :",
"emailAddresses": "Adresses e-mail :",
"defaultEmail": "Par défaut"
},
"status": {
"active": "Actif",
"inactive": "Inactif"
},
"sections": {
"documents": "Documents"
},
"errors": {
"loadTagsSystem": "Une erreur inattendue est survenue lors du chargement des étiquettes. Veuillez réessayer ou contacter lassistance.",
"loadTagsFailed": "Impossible de charger les étiquettes. Essayez dactualiser la page.",
"unexpected": "Une erreur inattendue est survenue. Veuillez réessayer.",
"clientNotFound": "Client introuvable. Il a peut-être été supprimé.",
"loadClientSystem": "Une erreur inattendue est survenue lors du chargement des détails du client. Veuillez réessayer ou contacter lassistance.",
"clientMissing": "Le client nexiste plus dans le système.",
"loadClientFailed": "Impossible de charger les détails du client. Veuillez réessayer.",
"updateClientFailedWithMessage": "Impossible de mettre à jour le client : {{message}}",
"updateClientFailed": "Impossible de mettre à jour le client. Veuillez réessayer."
}
},
"clientContactsList": {
"title": "Contacts du client",
"description": "Liste de contacts spécifique au client intégrée avec filtres et actions par ligne",
"table": {
"name": "Nom",
"email": "E-mail",
"phoneNumber": "Numéro de téléphone",
"actions": "Actions"
},
"filter": {
"show": "Afficher :",
"active": "Contacts actifs",
"inactive": "Contacts inactifs",
"all": "Tous les contacts"
},
"actions": {
"openMenu": "Ouvrir le menu",
"quickView": "Aperçu rapide",
"addNewContact": "Ajouter un nouveau contact"
},
"errors": {
"loadFailed": "Impossible de charger les contacts.",
"loadingTitle": "Erreur lors du chargement des contacts",
"retryFailed": "Impossible de charger les contacts. Veuillez réessayer."
}
},
"contactsLayout": {
"title": "Mise en page des contacts",
"description": "Structure et chrome de la page de la route contacts"
},
"contactsSkeleton": {
"title": "État de chargement des contacts",
"description": "Espaces réservés de chargement pour les vues liste et détail des contacts"
},
"contactAvatarUpload": {
"title": "Téléversement de lavatar du contact",
"description": "Zone de téléversement pour les images de profil des contacts"
},
"contactNotesPanel": {
"title": "Notes et infos rapides",
"description": "Panneau de notes enrichies avec affichage de la note héritée et actions enregistrer/réessayer",
"legacy": {
"initialNote": "Note initiale"
},
"errors": {
"loadTitle": "Impossible de charger les notes",
"unknown": "Erreur inconnue"
},
"lastUpdated": "Dernière mise à jour : {{date}}"
},
"notes": {
"messages": {
"saveSuccess": "Notes enregistrées",
"saveFailed": "Échec de l'enregistrement des notes"
}
},
"actions": {
"print": "Imprimer",
"printOptions": "Options d'impression"
},
"contactTabs": {
"tickets": {
"addTicket": "Ajouter un ticket",
"empty": "Aucun ticket trouvé pour ce contact",
"filters": {
"allAssignees": "Tous les assignés",
"allPriorities": "Toutes les priorités",
"categoryPlaceholder": "Filtrer par catégorie",
"reset": "Réinitialiser",
"searchPlaceholder": "Rechercher des tickets...",
"statusPlaceholder": "Sélectionner un statut"
},
"loadMore": {
"label": "Charger plus de tickets",
"loading": "Chargement..."
},
"loading": "Chargement...",
"title": "Tickets du contact",
"toasts": {
"clientNotFound": "Client introuvable",
"loadClientFailed": "Échec du chargement des détails du client",
"loadTicketFailed": "Échec du chargement du ticket",
"openTicketFailed": "Échec de l'ouverture du ticket",
"userNotAuthenticated": "Utilisateur non authentifié"
}
}
}
}