{
  "meta": {
    "baseLanguage": "en",
    "targetLanguage": "fr",
    "exportedAtUtc": "2026-09-02T19:47:32.5327397Z",
    "version": 1
  },
  "entries": [
    {
      "entityType": "status",
      "entityKey": "Open",
      "field": "name",
      "sourceText": "Open",
      "targetText": "Ouvert"
    },
    {
      "entityType": "status",
      "entityKey": "Open",
      "field": "modalTitle",
      "sourceText": "Open",
      "targetText": "Ouvert"
    },
    {
      "entityType": "status",
      "entityKey": "Open",
      "field": "modalSubtitle",
      "sourceText": "Please add a comment about the current status.",
      "targetText": "Ajoutez un commentaire sur le statut actuel."
    },
    {
      "entityType": "status",
      "entityKey": "Assigned",
      "field": "name",
      "sourceText": "Assigned",
      "targetText": "Attribué"
    },
    {
      "entityType": "status",
      "entityKey": "Assigned",
      "field": "modalTitle",
      "sourceText": "Assigned",
      "targetText": "Attribué"
    },
    {
      "entityType": "status",
      "entityKey": "Assigned",
      "field": "modalSubtitle",
      "sourceText": "Please add a comment about the current status.",
      "targetText": "Ajoutez un commentaire sur le statut actuel."
    },
    {
      "entityType": "status",
      "entityKey": "InProgress",
      "field": "name",
      "sourceText": "In Progress",
      "targetText": "En cours"
    },
    {
      "entityType": "status",
      "entityKey": "InProgress",
      "field": "modalTitle",
      "sourceText": "In Progress",
      "targetText": "En cours"
    },
    {
      "entityType": "status",
      "entityKey": "InProgress",
      "field": "modalSubtitle",
      "sourceText": "What is being worked on?",
      "targetText": "Sur quoi travaillez-vous ?"
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForUser",
      "field": "name",
      "sourceText": "Waiting for User Response",
      "targetText": "En attente de réponse de l'utilisateur"
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForUser",
      "field": "modalTitle",
      "sourceText": "Waiting for User Response",
      "targetText": "En attente de réponse de l'utilisateur"
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForUser",
      "field": "modalSubtitle",
      "sourceText": "What are we waiting for?",
      "targetText": "Qu'attendons-nous ?"
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForServiceProvider",
      "field": "name",
      "sourceText": "Waiting for Service Provider Response",
      "targetText": "En attente de réponse du prestataire"
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForServiceProvider",
      "field": "modalTitle",
      "sourceText": "Waiting for Service Provider Response",
      "targetText": "En attente de réponse du prestataire"
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForServiceProvider",
      "field": "modalSubtitle",
      "sourceText": "What are we waiting for?",
      "targetText": "Qu'attendons-nous ?"
    },
    {
      "entityType": "status",
      "entityKey": "Resolved",
      "field": "name",
      "sourceText": "Resolved",
      "targetText": "Résolu"
    },
    {
      "entityType": "status",
      "entityKey": "Resolved",
      "field": "modalTitle",
      "sourceText": "Resolved",
      "targetText": "Résolu"
    },
    {
      "entityType": "status",
      "entityKey": "Resolved",
      "field": "modalSubtitle",
      "sourceText": "What was the solution?",
      "targetText": "Quelle a été la solution ?"
    },
    {
      "entityType": "status",
      "entityKey": "Closed",
      "field": "name",
      "sourceText": "Closed",
      "targetText": "Fermé"
    },
    {
      "entityType": "status",
      "entityKey": "Closed",
      "field": "modalTitle",
      "sourceText": "Closed",
      "targetText": "Fermé"
    },
    {
      "entityType": "status",
      "entityKey": "Closed",
      "field": "modalSubtitle",
      "sourceText": "Why is this ticket being closed?",
      "targetText": "Pourquoi ce ticket est-il fermé ?"
    },
    {
      "entityType": "status",
      "entityKey": "Reopened",
      "field": "name",
      "sourceText": "Reopened",
      "targetText": "Rouvert"
    },
    {
      "entityType": "status",
      "entityKey": "Reopened",
      "field": "modalTitle",
      "sourceText": "Reopened",
      "targetText": "Rouvert"
    },
    {
      "entityType": "status",
      "entityKey": "Reopened",
      "field": "modalSubtitle",
      "sourceText": "Why is this ticket being reopened?",
      "targetText": "Pourquoi ce ticket est-il rouvert ?"
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForOtherTeam",
      "field": "name",
      "sourceText": "Waiting for other team",
      "targetText": "En attente d'une autre équipe"
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForOtherTeam",
      "field": "modalTitle",
      "sourceText": "Waiting for other team",
      "targetText": "En attente d'une autre équipe"
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForOtherTeam",
      "field": "modalSubtitle",
      "sourceText": "What are we waiting for?",
      "targetText": "Qu'attendons-nous ?"
    },
    {
      "entityType": "status",
      "entityKey": "BackFromOtherTeam",
      "field": "name",
      "sourceText": "Back from other team",
      "targetText": "Retour d'une autre équipe"
    },
    {
      "entityType": "status",
      "entityKey": "BackFromOtherTeam",
      "field": "modalTitle",
      "sourceText": "Back from other team",
      "targetText": "Retour d'une autre équipe"
    },
    {
      "entityType": "status",
      "entityKey": "BackFromOtherTeam",
      "field": "modalSubtitle",
      "sourceText": "What did the other team report back?",
      "targetText": "Qu'a répondu l'autre équipe ?"
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForApproval",
      "field": "name",
      "sourceText": "Waiting for approval",
      "targetText": "En attente d'approbation"
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForApproval",
      "field": "modalTitle",
      "sourceText": "",
      "targetText": null
    },
    {
      "entityType": "status",
      "entityKey": "WaitingForApproval",
      "field": "modalSubtitle",
      "sourceText": "",
      "targetText": null
    },
    {
      "entityType": "status",
      "entityKey": "Rejected",
      "field": "name",
      "sourceText": "Rejected",
      "targetText": "Rejeté"
    },
    {
      "entityType": "status",
      "entityKey": "Rejected",
      "field": "modalTitle",
      "sourceText": "",
      "targetText": null
    },
    {
      "entityType": "status",
      "entityKey": "Rejected",
      "field": "modalSubtitle",
      "sourceText": "",
      "targetText": null
    },
    {
      "entityType": "priority",
      "entityKey": "Low",
      "field": "name",
      "sourceText": "Low",
      "targetText": "Basse"
    },
    {
      "entityType": "priority",
      "entityKey": "Medium",
      "field": "name",
      "sourceText": "Medium",
      "targetText": "Moyenne"
    },
    {
      "entityType": "priority",
      "entityKey": "High",
      "field": "name",
      "sourceText": "High",
      "targetText": "Haute"
    },
    {
      "entityType": "priority",
      "entityKey": "Critical",
      "field": "name",
      "sourceText": "Critical",
      "targetText": "Critique"
    },
    {
      "entityType": "role",
      "entityKey": "Admin",
      "field": "name",
      "sourceText": "Admin",
      "targetText": "Administrateur"
    },
    {
      "entityType": "role",
      "entityKey": "Agent",
      "field": "name",
      "sourceText": "Agent",
      "targetText": "Agent"
    },
    {
      "entityType": "role",
      "entityKey": "Customer",
      "field": "name",
      "sourceText": "Customer",
      "targetText": "Client"
    },
    {
      "entityType": "maintenanceTextModule",
      "entityKey": "SystemOutage",
      "field": "name",
      "sourceText": "There is currently a system outage.",
      "targetText": "Une panne est en cours sur le système."
    },
    {
      "entityType": "maintenanceTextModule",
      "entityKey": "MaintenanceScheduled",
      "field": "name",
      "sourceText": "Maintenance work is scheduled from / to:",
      "targetText": "Des travaux de maintenance sont prévus du / au :"
    },
    {
      "entityType": "maintenanceTextModule",
      "entityKey": "AffectedSystems",
      "field": "name",
      "sourceText": "The following systems / services are affected:",
      "targetText": "Les systèmes / services suivants sont concernés :"
    },
    {
      "entityType": "maintenanceTextModule",
      "entityKey": "WorkingOnProblem",
      "field": "name",
      "sourceText": "We are working on the problem and will inform you as soon as it has been resolved.",
      "targetText": "Nous travaillons sur le problème et vous informerons dès qu'il sera résolu."
    },
    {
      "entityType": "maintenanceTextModule",
      "entityKey": "RefrainFromTickets",
      "field": "name",
      "sourceText": "Please refrain from creating new tickets regarding this issue, as we are already aware of the disruption.",
      "targetText": "Merci de ne pas créer de nouveaux tickets à ce sujet : la perturbation nous est déjà connue."
    },
    {
      "entityType": "maintenanceNotification",
      "entityKey": "current",
      "field": "title",
      "sourceText": "",
      "targetText": null
    },
    {
      "entityType": "maintenanceNotification",
      "entityKey": "current",
      "field": "body",
      "sourceText": "",
      "targetText": null
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.archiveError",
      "field": "text",
      "sourceText": "Error archiving/restoring user.",
      "targetText": "Erreur lors de l'archivage ou de la restauration de l'utilisateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.archiveTitle",
      "field": "text",
      "sourceText": "Archive",
      "targetText": "Archiver"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.close",
      "field": "text",
      "sourceText": "Close",
      "targetText": "Fermer"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.colActions",
      "field": "text",
      "sourceText": "Actions",
      "targetText": "Actions"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.colEmail",
      "field": "text",
      "sourceText": "Email",
      "targetText": "E-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.colName",
      "field": "text",
      "sourceText": "Name",
      "targetText": "Nom"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.colRole",
      "field": "text",
      "sourceText": "Role",
      "targetText": "Rôle"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.colTeam",
      "field": "text",
      "sourceText": "Team",
      "targetText": "Équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.create",
      "field": "text",
      "sourceText": "Create",
      "targetText": "Créer"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.createDialogDesc",
      "field": "text",
      "sourceText": "All required fields (*) must be filled in",
      "targetText": "Tous les champs obligatoires (*) doivent être remplis"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.createDialogTitle",
      "field": "text",
      "sourceText": "Create new user",
      "targetText": "Créer un utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.createError",
      "field": "text",
      "sourceText": "Error creating user.",
      "targetText": "Erreur lors de la création de l'utilisateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.department",
      "field": "text",
      "sourceText": "Department",
      "targetText": "Service"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.editDialogTitle",
      "field": "text",
      "sourceText": "Edit user",
      "targetText": "Modifier l'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.editTitle",
      "field": "text",
      "sourceText": "Edit",
      "targetText": "Modifier"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.email",
      "field": "text",
      "sourceText": "Email",
      "targetText": "E-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.emailReq",
      "field": "text",
      "sourceText": "Email *",
      "targetText": "E-mail *"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.emailUnconfirmed",
      "field": "text",
      "sourceText": "not confirmed",
      "targetText": "non confirmé"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.fillRequired",
      "field": "text",
      "sourceText": "Please fill in all required fields.",
      "targetText": "Veuillez remplir tous les champs obligatoires."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.firstName",
      "field": "text",
      "sourceText": "First name",
      "targetText": "Prénom"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.firstNameReq",
      "field": "text",
      "sourceText": "First name *",
      "targetText": "Prénom *"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.generate",
      "field": "text",
      "sourceText": "Generate",
      "targetText": "Générer"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.inviteError",
      "field": "text",
      "sourceText": "User created, but the invitation could not be sent.",
      "targetText": "Utilisateur créé, mais l'invitation n'a pas pu être envoyée."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.inviteSent",
      "field": "text",
      "sourceText": "Invitation e-mail sent.",
      "targetText": "E-mail d'invitation envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.languageEnglish",
      "field": "text",
      "sourceText": "English",
      "targetText": "Anglais"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.languageFrench",
      "field": "text",
      "sourceText": "French",
      "targetText": "Français"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.languageGerman",
      "field": "text",
      "sourceText": "German",
      "targetText": "Allemand"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.lastName",
      "field": "text",
      "sourceText": "Last name",
      "targetText": "Nom de famille"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.lastNameReq",
      "field": "text",
      "sourceText": "Last name *",
      "targetText": "Nom de famille *"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.location",
      "field": "text",
      "sourceText": "Location",
      "targetText": "Site"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.locationPlaceholder",
      "field": "text",
      "sourceText": "Select",
      "targetText": "Sélectionner"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.lockedBadge",
      "field": "text",
      "sourceText": "locked",
      "targetText": "verrouillé"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.newUser",
      "field": "text",
      "sourceText": "New user",
      "targetText": "Nouvel utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.noUserSelected",
      "field": "text",
      "sourceText": "No user selected.",
      "targetText": "Aucun utilisateur sélectionné."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.noUsersFound",
      "field": "text",
      "sourceText": "No users found",
      "targetText": "Aucun utilisateur trouvé"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.none",
      "field": "text",
      "sourceText": "None",
      "targetText": "Aucun"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.pageTitle",
      "field": "text",
      "sourceText": "User management",
      "targetText": "Gestion des utilisateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.password",
      "field": "text",
      "sourceText": "Password",
      "targetText": "Mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.passwordReq",
      "field": "text",
      "sourceText": "Password *",
      "targetText": "Mot de passe *"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.passwordSetByUser",
      "field": "text",
      "sourceText": "The user sets it via the invitation link",
      "targetText": "L'utilisateur le définit via le lien d'invitation"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.position",
      "field": "text",
      "sourceText": "Position",
      "targetText": "Fonction"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.preferredLanguage",
      "field": "text",
      "sourceText": "Preferred language",
      "targetText": "Langue préférée"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.reset2faConfirm",
      "field": "text",
      "sourceText": "Reset 2FA",
      "targetText": "Réinitialiser la 2FA"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.reset2faDialogTitle",
      "field": "text",
      "sourceText": "Reset two-factor authentication",
      "targetText": "Réinitialiser l'authentification à deux facteurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.reset2faError",
      "field": "text",
      "sourceText": "Error resetting two-factor authentication.",
      "targetText": "Erreur lors de la réinitialisation de l'authentification à deux facteurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.reset2faInfo",
      "field": "text",
      "sourceText": "This removes the authenticator app and recovery codes for this user (e.g. after losing their phone). They will be asked to set up 2FA again at next sign-in if required by policy.",
      "targetText": "Cela supprime l'application d'authentification et les codes de récupération de cet utilisateur (par exemple après la perte de son téléphone). Il lui sera demandé de reconfigurer la 2FA à la prochaine connexion si la politique l'exige."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.reset2faTitle",
      "field": "text",
      "sourceText": "Reset 2FA",
      "targetText": "Réinitialiser la 2FA"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.resetError",
      "field": "text",
      "sourceText": "Error resetting password.",
      "targetText": "Erreur lors de la réinitialisation du mot de passe."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.resetPwDialogDescPrefix",
      "field": "text",
      "sourceText": "For:",
      "targetText": "Pour :"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.resetPwDialogTitle",
      "field": "text",
      "sourceText": "Reset password",
      "targetText": "Réinitialiser le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.resetPwInfo",
      "field": "text",
      "sourceText": "A secure temporary password will be generated and shown once.",
      "targetText": "Un mot de passe temporaire sécurisé sera généré et affiché une seule fois."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.resetPwTitle",
      "field": "text",
      "sourceText": "Reset password",
      "targetText": "Réinitialiser le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.restoreTitle",
      "field": "text",
      "sourceText": "Restore",
      "targetText": "Restaurer"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.role",
      "field": "text",
      "sourceText": "Role",
      "targetText": "Rôle"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.roleReq",
      "field": "text",
      "sourceText": "Role *",
      "targetText": "Rôle *"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.searchPlaceholder",
      "field": "text",
      "sourceText": "Search users...",
      "targetText": "Rechercher des utilisateurs..."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.sendInvite",
      "field": "text",
      "sourceText": "Send login details by e-mail",
      "targetText": "Envoyer les identifiants par e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.showActive",
      "field": "text",
      "sourceText": "Active",
      "targetText": "Actifs"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.showArchived",
      "field": "text",
      "sourceText": "Archived",
      "targetText": "Archivés"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.team",
      "field": "text",
      "sourceText": "Team",
      "targetText": "Équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.tempPassword",
      "field": "text",
      "sourceText": "Temporary password",
      "targetText": "Mot de passe temporaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.tempPasswordCreated",
      "field": "text",
      "sourceText": "Temporary password created.",
      "targetText": "Mot de passe temporaire créé."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.temporarilyLockedBadge",
      "field": "text",
      "sourceText": "temporarily locked",
      "targetText": "temporairement verrouillé"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.twoFactorReset",
      "field": "text",
      "sourceText": "Two-factor authentication has been reset.",
      "targetText": "L'authentification à deux facteurs a été réinitialisée."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.unlockError",
      "field": "text",
      "sourceText": "Error unlocking the account.",
      "targetText": "Erreur lors du déverrouillage du compte."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.unlockTitle",
      "field": "text",
      "sourceText": "Unlock now",
      "targetText": "Déverrouiller maintenant"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.updateError",
      "field": "text",
      "sourceText": "Error updating user.",
      "targetText": "Erreur lors de la mise à jour de l'utilisateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.userArchived",
      "field": "text",
      "sourceText": "User archived.",
      "targetText": "Utilisateur archivé."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.userCreated",
      "field": "text",
      "sourceText": "User created successfully!",
      "targetText": "Utilisateur créé avec succès !"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.userRestored",
      "field": "text",
      "sourceText": "User restored.",
      "targetText": "Utilisateur restauré."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.userUnlocked",
      "field": "text",
      "sourceText": "Account unlocked.",
      "targetText": "Compte déverrouillé."
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.userUpdated",
      "field": "text",
      "sourceText": "User updated!",
      "targetText": "Utilisateur mis à jour !"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.usernameReq",
      "field": "text",
      "sourceText": "Username *",
      "targetText": "Nom d'utilisateur *"
    },
    {
      "entityType": "uiText",
      "entityKey": "admin.users.usersCount",
      "field": "text",
      "sourceText": "users",
      "targetText": "utilisateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.approve",
      "field": "text",
      "sourceText": "Approve",
      "targetText": "Approuver"
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.approved",
      "field": "text",
      "sourceText": "You approved this request.",
      "targetText": "Vous avez approuvé cette demande."
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.commentLabel",
      "field": "text",
      "sourceText": "Comment (required when you reject — the requester will see it)",
      "targetText": "Commentaire (obligatoire en cas de rejet — le demandeur le verra)"
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.decidedHint",
      "field": "text",
      "sourceText": "A decision cannot be changed. Please contact the service desk if something is wrong.",
      "targetText": "Une décision ne peut pas être modifiée. Contactez le centre de services si quelque chose ne va pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.errors.reasonRequired",
      "field": "text",
      "sourceText": "Please add a short reason for the rejection.",
      "targetText": "Indiquez une courte raison pour le rejet."
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.errors.saveFailed",
      "field": "text",
      "sourceText": "Your decision could not be saved. Please try again.",
      "targetText": "Votre décision n'a pas pu être enregistrée. Veuillez réessayer."
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.expiresOn",
      "field": "text",
      "sourceText": "Please decide by {0}.",
      "targetText": "Décidez au plus tard le {0}."
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.invalidOrExpired",
      "field": "text",
      "sourceText": "This approval link is invalid or has expired. Please contact the service desk if the request still needs a decision.",
      "targetText": "Ce lien d'approbation est invalide ou a expiré. Contactez le centre de services si la demande nécessite encore une décision."
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.noTasks",
      "field": "text",
      "sourceText": "No tasks are attached to this request any more.",
      "targetText": "Plus aucune tâche n'est rattachée à cette demande."
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.reject",
      "field": "text",
      "sourceText": "Reject",
      "targetText": "Rejeter"
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.rejected",
      "field": "text",
      "sourceText": "You rejected this request.",
      "targetText": "Vous avez rejeté cette demande."
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.requester",
      "field": "text",
      "sourceText": "Requested by",
      "targetText": "Demandé par"
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.subtitle",
      "field": "text",
      "sourceText": "Ticket #{0} \"{1}\"",
      "targetText": "Ticket #{0} « {1} »"
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.tasks",
      "field": "text",
      "sourceText": "This decision covers",
      "targetText": "Cette décision concerne"
    },
    {
      "entityType": "uiText",
      "entityKey": "approval.title",
      "field": "text",
      "sourceText": "Approval request",
      "targetText": "Demande d'approbation"
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.assignRole.success",
      "field": "text",
      "sourceText": "Role '{0}' assigned to '{1}'.",
      "targetText": "Rôle « {0} » attribué à « {1} »."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.accountLocked",
      "field": "text",
      "sourceText": "This account is temporarily locked. Please try again later.",
      "targetText": "Ce compte est temporairement verrouillé. Veuillez réessayer plus tard."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.invalidCredentials",
      "field": "text",
      "sourceText": "Invalid username or password.",
      "targetText": "Nom d'utilisateur ou mot de passe invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.invalidOrExpiredInvite",
      "field": "text",
      "sourceText": "This link is invalid or has expired. Please ask an administrator to send a new invitation.",
      "targetText": "Ce lien est invalide ou a expiré. Demandez à un administrateur de vous envoyer une nouvelle invitation."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.invalidOrExpiredReset",
      "field": "text",
      "sourceText": "This link is invalid or has expired. Please request a new password reset.",
      "targetText": "Ce lien est invalide ou a expiré. Demandez une nouvelle réinitialisation du mot de passe."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.invalidTwoFactorCode",
      "field": "text",
      "sourceText": "Invalid verification code.",
      "targetText": "Code de vérification invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.roleNotFound",
      "field": "text",
      "sourceText": "Role '{0}' does not exist.",
      "targetText": "Le rôle « {0} » n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.siteNotFound",
      "field": "text",
      "sourceText": "Site with id {0} does not exist.",
      "targetText": "Le site portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.tooManyRequests",
      "field": "text",
      "sourceText": "Too many attempts. Please wait a minute and try again.",
      "targetText": "Trop de tentatives. Attendez une minute et réessayez."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.twoFactorSessionExpired",
      "field": "text",
      "sourceText": "Your sign-in session expired. Please sign in again.",
      "targetText": "Votre session de connexion a expiré. Veuillez vous reconnecter."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.userNotFound",
      "field": "text",
      "sourceText": "User not found.",
      "targetText": "Utilisateur introuvable."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.usernameAlreadyExists",
      "field": "text",
      "sourceText": "Username already exists.",
      "targetText": "Ce nom d'utilisateur existe déjà."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.errors.usernameRequired",
      "field": "text",
      "sourceText": "A username is required.",
      "targetText": "Un nom d'utilisateur est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.forgotPassword.done",
      "field": "text",
      "sourceText": "If an account exists for this address, a password reset link has been sent.",
      "targetText": "Si un compte existe pour cette adresse, un lien de réinitialisation du mot de passe a été envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.register.disabled",
      "field": "text",
      "sourceText": "Self-registration is not enabled on this system.",
      "targetText": "L'inscription libre n'est pas activée sur ce système."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.register.emailInvalid",
      "field": "text",
      "sourceText": "Please enter a valid email address.",
      "targetText": "Veuillez saisir une adresse e-mail valide."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.register.nameRequired",
      "field": "text",
      "sourceText": "First name and last name are required.",
      "targetText": "Le prénom et le nom de famille sont obligatoires."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.register.notPossible",
      "field": "text",
      "sourceText": "Registration could not be completed. If you already have an account, use the password reset on the sign-in page.",
      "targetText": "L'inscription n'a pas pu être finalisée. Si vous avez déjà un compte, utilisez la réinitialisation du mot de passe sur la page de connexion."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.register.success",
      "field": "text",
      "sourceText": "User created successfully.",
      "targetText": "Utilisateur créé avec succès."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.resetPassword.success",
      "field": "text",
      "sourceText": "Your password has been changed. You can now sign in.",
      "targetText": "Votre mot de passe a été modifié. Vous pouvez maintenant vous connecter."
    },
    {
      "entityType": "uiText",
      "entityKey": "auth.setInitialPassword.success",
      "field": "text",
      "sourceText": "Your password has been set. You can now sign in.",
      "targetText": "Votre mot de passe a été défini. Vous pouvez maintenant vous connecter."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.address",
      "field": "text",
      "sourceText": "E-mail address",
      "targetText": "Adresse e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.addressPlaceholder",
      "field": "text",
      "sourceText": "name@example.com",
      "targetText": "nom@exemple.fr"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.assign",
      "field": "text",
      "sourceText": "Assign to a user",
      "targetText": "Attribuer à un utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.enabled",
      "field": "text",
      "sourceText": "Active",
      "targetText": "Actif"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.escalateHint",
      "field": "text",
      "sourceText": "The ticket moves to that team and the current assignee is cleared. No second ticket is created.",
      "targetText": "Le ticket passe à cette équipe et le responsable actuel est effacé. Aucun second ticket n'est créé."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.escalateToTeam",
      "field": "text",
      "sourceText": "Hand over to another team",
      "targetText": "Transmettre à une autre équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.field",
      "field": "text",
      "sourceText": "Action",
      "targetText": "Action"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.followUpIn",
      "field": "text",
      "sourceText": "Follow-up in",
      "targetText": "Suivi dans"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.note",
      "field": "text",
      "sourceText": "Note",
      "targetText": "Note"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.notePlaceholder",
      "field": "text",
      "sourceText": "Why is this coming back?",
      "targetText": "Pourquoi cela revient-il ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.remove",
      "field": "text",
      "sourceText": "Remove action",
      "targetText": "Supprimer l'action"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.sendEmail",
      "field": "text",
      "sourceText": "Send an e-mail",
      "targetText": "Envoyer un e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.setFollowUp",
      "field": "text",
      "sourceText": "Set a follow-up",
      "targetText": "Définir un suivi"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.setPriority",
      "field": "text",
      "sourceText": "Set the priority",
      "targetText": "Définir la priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.setStatus",
      "field": "text",
      "sourceText": "Set the status",
      "targetText": "Définir le statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.targetPriority",
      "field": "text",
      "sourceText": "Target priority",
      "targetText": "Priorité cible"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.targetStatus",
      "field": "text",
      "sourceText": "Target status",
      "targetText": "Statut cible"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.targetTeam",
      "field": "text",
      "sourceText": "Team",
      "targetText": "Équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.targetUser",
      "field": "text",
      "sourceText": "User",
      "targetText": "Utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.action.unassign",
      "field": "text",
      "sourceText": "Remove the assignee",
      "targetText": "Retirer le responsable"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.banner.noEnabledRule",
      "field": "text",
      "sourceText": "No rule is enabled. Nothing is being checked and tickets behave exactly as before.",
      "targetText": "Aucune règle n'est activée. Rien n'est vérifié et les tickets se comportent exactement comme avant."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.banner.notLicensed",
      "field": "text",
      "sourceText": "Automation is part of Professional. It is not active on this installation.",
      "targetText": "L'automatisation fait partie de Professional. Elle n'est pas active sur cette installation."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.banner.notLicensedStored",
      "field": "text",
      "sourceText": "{0} rule(s) are stored and stay untouched — none of them runs. They start working again as soon as the license covers automation.",
      "targetText": "{0} règle(s) sont enregistrées et restent intactes — aucune ne s'exécute. Elles reprendront dès que la licence couvrira l'automatisation."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.banner.runnerActive",
      "field": "text",
      "sourceText": "The automation checks every minute. {0} of {1} rule(s) are enabled.",
      "targetText": "L'automatisation vérifie toutes les minutes. {0} règle(s) sur {1} sont activées."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.amount",
      "field": "text",
      "sourceText": "Amount",
      "targetText": "Quantité"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.assignee",
      "field": "text",
      "sourceText": "Assignee",
      "targetText": "Responsable"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.field",
      "field": "text",
      "sourceText": "Condition",
      "targetText": "Condition"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.mainCategory",
      "field": "text",
      "sourceText": "Category",
      "targetText": "Catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.operator",
      "field": "text",
      "sourceText": "Comparison",
      "targetText": "Comparaison"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.priority",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.remove",
      "field": "text",
      "sourceText": "Remove condition",
      "targetText": "Supprimer la condition"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.status",
      "field": "text",
      "sourceText": "Status",
      "targetText": "Statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.surveyScore",
      "field": "text",
      "sourceText": "Satisfaction rating (CSAT)",
      "targetText": "Évaluation de satisfaction (CSAT)"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.team",
      "field": "text",
      "sourceText": "Team",
      "targetText": "Équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.timeSinceActivity",
      "field": "text",
      "sourceText": "Time without any activity",
      "targetText": "Temps sans aucune activité"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.timeSinceAgentReply",
      "field": "text",
      "sourceText": "Time without a public reply from an agent",
      "targetText": "Temps sans réponse publique d'un agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.timeSinceCreated",
      "field": "text",
      "sourceText": "Time since the ticket was created",
      "targetText": "Temps depuis la création du ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.timeSinceCustomerReply",
      "field": "text",
      "sourceText": "Time without a reply from the requester",
      "targetText": "Temps sans réponse du demandeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.timeSinceStatusChange",
      "field": "text",
      "sourceText": "Time without a status change",
      "targetText": "Temps sans changement de statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.unit",
      "field": "text",
      "sourceText": "Unit",
      "targetText": "Unité"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.condition.value",
      "field": "text",
      "sourceText": "Value",
      "targetText": "Valeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.errors.actionRequired",
      "field": "text",
      "sourceText": "A rule needs at least one action.",
      "targetText": "Une règle a besoin d'au moins une action."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.errors.conditionRequired",
      "field": "text",
      "sourceText": "A rule needs at least one condition.",
      "targetText": "Une règle a besoin d'au moins une condition."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.errors.forbidden",
      "field": "text",
      "sourceText": "Forbidden.",
      "targetText": "Interdit."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.errors.invalidAction",
      "field": "text",
      "sourceText": "Action '{0}' is not configured completely: {1}",
      "targetText": "L'action « {0} » n'est pas entièrement configurée : {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.errors.loadFailed",
      "field": "text",
      "sourceText": "The automation rules could not be loaded.",
      "targetText": "Les règles d'automatisation n'ont pas pu être chargées."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.errors.nameRequired",
      "field": "text",
      "sourceText": "A rule needs a name.",
      "targetText": "Une règle a besoin d'un nom."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.errors.notFound",
      "field": "text",
      "sourceText": "Rule not found.",
      "targetText": "Règle introuvable."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.errors.previewFailed",
      "field": "text",
      "sourceText": "The preview could not be loaded.",
      "targetText": "L'aperçu n'a pas pu être chargé."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.errors.runsFailed",
      "field": "text",
      "sourceText": "The log could not be loaded.",
      "targetText": "Le journal n'a pas pu être chargé."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.errors.unknownTeam",
      "field": "text",
      "sourceText": "Unknown team.",
      "targetText": "Équipe inconnue."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.if.add",
      "field": "text",
      "sourceText": "Add condition",
      "targetText": "Ajouter une condition"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.if.description",
      "field": "text",
      "sourceText": "Which tickets it applies to.",
      "targetText": "Les tickets auxquels cela s'applique."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.if.title",
      "field": "text",
      "sourceText": "IF",
      "targetText": "SI"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.matchType.all",
      "field": "text",
      "sourceText": "All conditions must apply",
      "targetText": "Toutes les conditions doivent s'appliquer"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.matchType.any",
      "field": "text",
      "sourceText": "Any condition is enough",
      "targetText": "Une seule condition suffit"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.notSet",
      "field": "text",
      "sourceText": "(not set)",
      "targetText": "(non défini)"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.operator.atLeast",
      "field": "text",
      "sourceText": "is at least",
      "targetText": "est au moins"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.operator.atMost",
      "field": "text",
      "sourceText": "is at most",
      "targetText": "est au plus"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.operator.is",
      "field": "text",
      "sourceText": "is",
      "targetText": "est"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.operator.isNot",
      "field": "text",
      "sourceText": "is not",
      "targetText": "n'est pas"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.operator.isNotSet",
      "field": "text",
      "sourceText": "is not set",
      "targetText": "n'est pas défini"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.operator.isSet",
      "field": "text",
      "sourceText": "is set",
      "targetText": "est défini"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.operator.longerThan",
      "field": "text",
      "sourceText": "longer than",
      "targetText": "plus long que"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.outcome.done",
      "field": "text",
      "sourceText": "Done",
      "targetText": "Terminé"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.outcome.failed",
      "field": "text",
      "sourceText": "Failed",
      "targetText": "Échec"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.assign",
      "field": "text",
      "sourceText": "assign it to {0}",
      "targetText": "l'attribuer à {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.assigneeNotSet",
      "field": "text",
      "sourceText": "has no assignee",
      "targetText": "n'a pas de responsable"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.assigneeSet",
      "field": "text",
      "sourceText": "has an assignee",
      "targetText": "a un responsable"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.categoryIs",
      "field": "text",
      "sourceText": "is in the category {0}",
      "targetText": "est dans la catégorie {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.categoryIsNot",
      "field": "text",
      "sourceText": "is not in the category {0}",
      "targetText": "n'est pas dans la catégorie {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.escalate",
      "field": "text",
      "sourceText": "hand it over to the team {0}",
      "targetText": "le transmettre à l'équipe {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.priorityIs",
      "field": "text",
      "sourceText": "has the priority {0}",
      "targetText": "a la priorité {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.priorityIsNot",
      "field": "text",
      "sourceText": "does not have the priority {0}",
      "targetText": "n'a pas la priorité {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.sendEmail",
      "field": "text",
      "sourceText": "send an e-mail to {0}",
      "targetText": "envoyer un e-mail à {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.setFollowUp",
      "field": "text",
      "sourceText": "set a follow-up in {0} {1}",
      "targetText": "définir un suivi dans {0} {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.setPriority",
      "field": "text",
      "sourceText": "set the priority to {0}",
      "targetText": "mettre la priorité sur {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.setStatus",
      "field": "text",
      "sourceText": "set the status to {0}",
      "targetText": "mettre le statut sur {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.sinceActivity",
      "field": "text",
      "sourceText": "has seen no activity for more than {0} {1}",
      "targetText": "n'a vu aucune activité depuis plus de {0} {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.sinceAgentReply",
      "field": "text",
      "sourceText": "has had no public reply from an agent for more than {0} {1}",
      "targetText": "n'a reçu aucune réponse publique d'un agent depuis plus de {0} {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.sinceCreated",
      "field": "text",
      "sourceText": "was created more than {0} {1} ago",
      "targetText": "a été créé il y a plus de {0} {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.sinceCustomerReply",
      "field": "text",
      "sourceText": "has had no reply from the requester for more than {0} {1}",
      "targetText": "n'a reçu aucune réponse du demandeur depuis plus de {0} {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.sinceStatusChange",
      "field": "text",
      "sourceText": "has kept the same status for more than {0} {1}",
      "targetText": "a gardé le même statut pendant plus de {0} {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.statusIs",
      "field": "text",
      "sourceText": "has the status {0}",
      "targetText": "a le statut {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.statusIsNot",
      "field": "text",
      "sourceText": "does not have the status {0}",
      "targetText": "n'a pas le statut {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.surveyAtLeast",
      "field": "text",
      "sourceText": "was rated {0} stars or more",
      "targetText": "a été évalué à {0} étoiles ou plus"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.surveyAtMost",
      "field": "text",
      "sourceText": "was rated {0} stars or fewer",
      "targetText": "a été évalué à {0} étoiles ou moins"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.surveyIs",
      "field": "text",
      "sourceText": "was rated with {0} stars",
      "targetText": "a été évalué à {0} étoiles"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.surveyIsNot",
      "field": "text",
      "sourceText": "was rated, but not with {0} stars",
      "targetText": "a été évalué, mais pas à {0} étoiles"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.teamIs",
      "field": "text",
      "sourceText": "belongs to the team {0}",
      "targetText": "appartient à l'équipe {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.teamIsNot",
      "field": "text",
      "sourceText": "does not belong to the team {0}",
      "targetText": "n'appartient pas à l'équipe {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.phrase.unassign",
      "field": "text",
      "sourceText": "remove the assignee",
      "targetText": "retirer le responsable"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.pleaseSelect",
      "field": "text",
      "sourceText": "Please select",
      "targetText": "Veuillez sélectionner"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.preview.button",
      "field": "text",
      "sourceText": "Which tickets would this affect?",
      "targetText": "Quels tickets seraient concernés ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.preview.empty",
      "field": "text",
      "sourceText": "No ticket matches this rule right now.",
      "targetText": "Aucun ticket ne correspond à cette règle pour le moment."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.preview.hint",
      "field": "text",
      "sourceText": "The preview only reads. It changes nothing and writes no log entry. Unsaved changes are not included.",
      "targetText": "L'aperçu ne fait que lire. Il ne modifie rien et n'écrit aucune entrée de journal. Les modifications non enregistrées ne sont pas prises en compte."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.preview.more",
      "field": "text",
      "sourceText": "and {0} more",
      "targetText": "et {0} de plus"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.preview.title",
      "field": "text",
      "sourceText": "Tickets this rule would affect right now",
      "targetText": "Tickets que cette règle concernerait maintenant"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.recipient.addressLabel",
      "field": "text",
      "sourceText": "a fixed address",
      "targetText": "une adresse fixe"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.recipient.assignee",
      "field": "text",
      "sourceText": "the assignee",
      "targetText": "le responsable"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.recipient.observers",
      "field": "text",
      "sourceText": "the observers",
      "targetText": "les observateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.recipient.requester",
      "field": "text",
      "sourceText": "the requester",
      "targetText": "le demandeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rule.enabled",
      "field": "text",
      "sourceText": "Enabled",
      "targetText": "Activée"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rule.everyTeam",
      "field": "text",
      "sourceText": "Every team",
      "targetText": "Chaque équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rule.matchType",
      "field": "text",
      "sourceText": "How the conditions combine",
      "targetText": "Comment les conditions se combinent"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rule.name",
      "field": "text",
      "sourceText": "Name",
      "targetText": "Nom"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rule.sortOrder",
      "field": "text",
      "sourceText": "Order",
      "targetText": "Ordre"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rule.stopProcessing",
      "field": "text",
      "sourceText": "Skip the following rules for a ticket this rule applies to",
      "targetText": "Ignorer les règles suivantes pour un ticket concerné par cette règle"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rule.team",
      "field": "text",
      "sourceText": "Team",
      "targetText": "Équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rules.add",
      "field": "text",
      "sourceText": "Add rule",
      "targetText": "Ajouter une règle"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rules.allTeams",
      "field": "text",
      "sourceText": "All teams",
      "targetText": "Toutes les équipes"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rules.description",
      "field": "text",
      "sourceText": "A rule works on the tickets of its team. New rules are always created switched off — try the preview before you enable one.",
      "targetText": "Une règle agit sur les tickets de son équipe. Les nouvelles règles sont toujours créées désactivées — essayez l'aperçu avant d'en activer une."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rules.disabled",
      "field": "text",
      "sourceText": "Off",
      "targetText": "Désactivée"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rules.enabled",
      "field": "text",
      "sourceText": "Enabled",
      "targetText": "Activée"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rules.lastRun",
      "field": "text",
      "sourceText": "Last run: {0}",
      "targetText": "Dernière exécution : {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rules.needTeam",
      "field": "text",
      "sourceText": "Create a team first: a rule belongs to a team.",
      "targetText": "Créez d'abord une équipe : une règle appartient à une équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rules.never",
      "field": "text",
      "sourceText": "never",
      "targetText": "jamais"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rules.newName",
      "field": "text",
      "sourceText": "New rule",
      "targetText": "Nouvelle règle"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rules.teamFilter",
      "field": "text",
      "sourceText": "Team",
      "targetText": "Équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.rules.title",
      "field": "text",
      "sourceText": "Rules",
      "targetText": "Règles"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.runs.button",
      "field": "text",
      "sourceText": "Log",
      "targetText": "Journal"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.runs.cycle",
      "field": "text",
      "sourceText": "Cycle",
      "targetText": "Cycle"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.runs.detail",
      "field": "text",
      "sourceText": "Details",
      "targetText": "Détails"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.runs.empty",
      "field": "text",
      "sourceText": "This rule has not done anything yet.",
      "targetText": "Cette règle n'a encore rien fait."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.runs.outcome",
      "field": "text",
      "sourceText": "Result",
      "targetText": "Résultat"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.runs.ranAt",
      "field": "text",
      "sourceText": "When",
      "targetText": "Quand"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.runs.ticket",
      "field": "text",
      "sourceText": "Ticket",
      "targetText": "Ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.runs.title",
      "field": "text",
      "sourceText": "What this rule did",
      "targetText": "Ce que cette règle a fait"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.sentence.incomplete",
      "field": "text",
      "sourceText": "A rule needs at least one condition and one action.",
      "targetText": "Une règle a besoin d'au moins une condition et une action."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.sentence.lastSeparator",
      "field": "text",
      "sourceText": "{0} and {1}",
      "targetText": "{0} et {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.sentence.listSeparator",
      "field": "text",
      "sourceText": ", ",
      "targetText": ", "
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.sentence.whenAll",
      "field": "text",
      "sourceText": "When a ticket {0}, then {1}.",
      "targetText": "Quand un ticket {0}, alors {1}."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.sentence.whenAny",
      "field": "text",
      "sourceText": "When a ticket matches any of these — {0} — then {1}.",
      "targetText": "Quand un ticket remplit l'une de ces conditions — {0} — alors {1}."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.subtitle",
      "field": "text",
      "sourceText": "Rules that act when nobody else does. Without an enabled rule nothing is checked and nothing changes.",
      "targetText": "Des règles qui agissent quand personne d'autre ne le fait. Sans règle activée, rien n'est vérifié et rien ne change."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.then.add",
      "field": "text",
      "sourceText": "Add action",
      "targetText": "Ajouter une action"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.then.description",
      "field": "text",
      "sourceText": "What happens. Every action is written to the ticket history with the rule name as its author.",
      "targetText": "Ce qui se passe. Chaque action est inscrite dans l'historique du ticket avec le nom de la règle comme auteur."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.then.title",
      "field": "text",
      "sourceText": "THEN",
      "targetText": "ALORS"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.title",
      "field": "text",
      "sourceText": "Automation",
      "targetText": "Automatisation"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.unit.businessDays",
      "field": "text",
      "sourceText": "business days",
      "targetText": "jours ouvrables"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.unit.businessHours",
      "field": "text",
      "sourceText": "business hours",
      "targetText": "heures ouvrables"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.unit.businessMinutes",
      "field": "text",
      "sourceText": "business minutes",
      "targetText": "minutes ouvrables"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.unit.days",
      "field": "text",
      "sourceText": "days",
      "targetText": "jours"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.unit.hours",
      "field": "text",
      "sourceText": "hours",
      "targetText": "heures"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.unit.minutes",
      "field": "text",
      "sourceText": "minutes",
      "targetText": "minutes"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.when.add",
      "field": "text",
      "sourceText": "Add time condition",
      "targetText": "Ajouter une condition de temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.when.description",
      "field": "text",
      "sourceText": "Something has not happened for a while. This is what the automation reacts to.",
      "targetText": "Quelque chose ne s'est pas produit depuis un moment. C'est à cela que réagit l'automatisation."
    },
    {
      "entityType": "uiText",
      "entityKey": "automation.when.title",
      "field": "text",
      "sourceText": "WHEN",
      "targetText": "QUAND"
    },
    {
      "entityType": "uiText",
      "entityKey": "availability.available",
      "field": "text",
      "sourceText": "Available",
      "targetText": "Disponible"
    },
    {
      "entityType": "uiText",
      "entityKey": "availability.away",
      "field": "text",
      "sourceText": "Away",
      "targetText": "Absent"
    },
    {
      "entityType": "uiText",
      "entityKey": "availability.busy",
      "field": "text",
      "sourceText": "Busy",
      "targetText": "Occupé"
    },
    {
      "entityType": "uiText",
      "entityKey": "availability.busyHint",
      "field": "text",
      "sourceText": "Busy resets itself to available after one hour.",
      "targetText": "Occupé revient automatiquement à disponible après une heure."
    },
    {
      "entityType": "uiText",
      "entityKey": "availability.label",
      "field": "text",
      "sourceText": "Availability",
      "targetText": "Disponibilité"
    },
    {
      "entityType": "uiText",
      "entityKey": "availability.remaining",
      "field": "text",
      "sourceText": "{0} min left",
      "targetText": "{0} min restantes"
    },
    {
      "entityType": "uiText",
      "entityKey": "availability.untilHint",
      "field": "text",
      "sourceText": "Leave empty for an absence without a set end.",
      "targetText": "Laissez vide pour une absence sans fin définie."
    },
    {
      "entityType": "uiText",
      "entityKey": "availability.untilLabel",
      "field": "text",
      "sourceText": "Away until",
      "targetText": "Absent jusqu'au"
    },
    {
      "entityType": "uiText",
      "entityKey": "availability.untilShort",
      "field": "text",
      "sourceText": "until {0}",
      "targetText": "jusqu'au {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "availability.updateError",
      "field": "text",
      "sourceText": "Availability could not be changed.",
      "targetText": "La disponibilité n'a pas pu être modifiée."
    },
    {
      "entityType": "uiText",
      "entityKey": "availability.updated",
      "field": "text",
      "sourceText": "Availability updated.",
      "targetText": "Disponibilité mise à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "businessCalendars.errors.fileTooLarge",
      "field": "text",
      "sourceText": "The file is too large.",
      "targetText": "Le fichier est trop volumineux."
    },
    {
      "entityType": "uiText",
      "entityKey": "businessCalendars.errors.inUseByTeam",
      "field": "text",
      "sourceText": "This calendar is assigned to at least one team and cannot be deleted.",
      "targetText": "Ce calendrier est attribué à au moins une équipe et ne peut pas être supprimé."
    },
    {
      "entityType": "uiText",
      "entityKey": "businessCalendars.errors.invalidDayOfWeek",
      "field": "text",
      "sourceText": "Day of week must be between 0 and 6.",
      "targetText": "Le jour de la semaine doit être compris entre 0 et 6."
    },
    {
      "entityType": "uiText",
      "entityKey": "businessCalendars.errors.invalidWindow",
      "field": "text",
      "sourceText": "A window must start within the day and end after it starts (at most 48h).",
      "targetText": "Une plage doit commencer dans la journée et se terminer après son début (48 h au maximum)."
    },
    {
      "entityType": "uiText",
      "entityKey": "businessCalendars.errors.noFile",
      "field": "text",
      "sourceText": "No file was uploaded.",
      "targetText": "Aucun fichier n'a été envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "businessCalendars.errors.notAnIcsFile",
      "field": "text",
      "sourceText": "This file is not an iCalendar file.",
      "targetText": "Ce fichier n'est pas un fichier iCalendar."
    },
    {
      "entityType": "uiText",
      "entityKey": "businessCalendars.errors.unknownTimeZone",
      "field": "text",
      "sourceText": "Unknown time zone.",
      "targetText": "Fuseau horaire inconnu."
    },
    {
      "entityType": "uiText",
      "entityKey": "calendar.month",
      "field": "text",
      "sourceText": "Month",
      "targetText": "Mois"
    },
    {
      "entityType": "uiText",
      "entityKey": "calendar.nextMonth",
      "field": "text",
      "sourceText": "Next month",
      "targetText": "Mois suivant"
    },
    {
      "entityType": "uiText",
      "entityKey": "calendar.previousMonth",
      "field": "text",
      "sourceText": "Previous month",
      "targetText": "Mois précédent"
    },
    {
      "entityType": "uiText",
      "entityKey": "calendar.week",
      "field": "text",
      "sourceText": "Week",
      "targetText": "Semaine"
    },
    {
      "entityType": "uiText",
      "entityKey": "calendar.year",
      "field": "text",
      "sourceText": "Year",
      "targetText": "Année"
    },
    {
      "entityType": "uiText",
      "entityKey": "categories.errors.mainCategoryInUse",
      "field": "text",
      "sourceText": "The main category is used in tickets and cannot be deleted.",
      "targetText": "La catégorie principale est utilisée dans des tickets et ne peut pas être supprimée."
    },
    {
      "entityType": "uiText",
      "entityKey": "categories.errors.mainCategoryNotFound",
      "field": "text",
      "sourceText": "Main category with id {0} does not exist.",
      "targetText": "La catégorie principale portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "categories.errors.subCategoriesMissing",
      "field": "text",
      "sourceText": "Some subcategories do not exist.",
      "targetText": "Certaines sous-catégories n'existent pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "categories.errors.subCategoryInUse",
      "field": "text",
      "sourceText": "The subcategory is used in tickets and cannot be deleted.",
      "targetText": "La sous-catégorie est utilisée dans des tickets et ne peut pas être supprimée."
    },
    {
      "entityType": "uiText",
      "entityKey": "categories.errors.subCategoryNotFound",
      "field": "text",
      "sourceText": "Subcategory with id {0} does not exist.",
      "targetText": "La sous-catégorie portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "categories.errors.translationRequired",
      "field": "text",
      "sourceText": "At least one translation must be provided.",
      "targetText": "Au moins une traduction doit être fournie."
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.changeError",
      "field": "text",
      "sourceText": "Error changing password.",
      "targetText": "Erreur lors du changement de mot de passe."
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.confirmPassword",
      "field": "text",
      "sourceText": "Confirm password",
      "targetText": "Confirmer le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.confirmPasswordPlaceholder",
      "field": "text",
      "sourceText": "Repeat new password",
      "targetText": "Répétez le nouveau mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.currentPassword",
      "field": "text",
      "sourceText": "Current password",
      "targetText": "Mot de passe actuel"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.currentPasswordPlaceholder",
      "field": "text",
      "sourceText": "Current password",
      "targetText": "Mot de passe actuel"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.expiredSubtitle",
      "field": "text",
      "sourceText": "Your password is older than allowed by the password policy. Please choose a new one to continue.",
      "targetText": "Votre mot de passe est plus ancien que ne l'autorise la politique de mots de passe. Choisissez-en un nouveau pour continuer."
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.expiredTitle",
      "field": "text",
      "sourceText": "Your password has expired",
      "targetText": "Votre mot de passe a expiré"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.fillAllFields",
      "field": "text",
      "sourceText": "Please fill in all fields.",
      "targetText": "Veuillez remplir tous les champs."
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.newPassword",
      "field": "text",
      "sourceText": "New password",
      "targetText": "Nouveau mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.newPasswordPlaceholder",
      "field": "text",
      "sourceText": "New password",
      "targetText": "Nouveau mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.passwordChanged",
      "field": "text",
      "sourceText": "Password changed successfully!",
      "targetText": "Mot de passe modifié avec succès !"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.passwordTooShort",
      "field": "text",
      "sourceText": "Password must be at least 6 characters long.",
      "targetText": "Le mot de passe doit comporter au moins 6 caractères."
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.passwordsMismatch",
      "field": "text",
      "sourceText": "Passwords do not match.",
      "targetText": "Les mots de passe ne correspondent pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.policySubtitle",
      "field": "text",
      "sourceText": "The password rules have been tightened since you last set your password. Please choose a new one to continue.",
      "targetText": "Les règles de mots de passe ont été renforcées depuis la dernière définition de votre mot de passe. Choisissez-en un nouveau pour continuer."
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.policyTitle",
      "field": "text",
      "sourceText": "Your password no longer meets the requirements",
      "targetText": "Votre mot de passe ne répond plus aux exigences"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.save",
      "field": "text",
      "sourceText": "Change password",
      "targetText": "Modifier le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.saving",
      "field": "text",
      "sourceText": "Saving...",
      "targetText": "Enregistrement..."
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.setNewPassword",
      "field": "text",
      "sourceText": "Set new password",
      "targetText": "Définir un nouveau mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.subtitle",
      "field": "text",
      "sourceText": "Update your password",
      "targetText": "Mettez à jour votre mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "changePassword.title",
      "field": "text",
      "sourceText": "Change password",
      "targetText": "Modifier le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "common.add",
      "field": "text",
      "sourceText": "Add",
      "targetText": "Ajouter"
    },
    {
      "entityType": "uiText",
      "entityKey": "common.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "common.close",
      "field": "text",
      "sourceText": "Close",
      "targetText": "Fermer"
    },
    {
      "entityType": "uiText",
      "entityKey": "common.confirm",
      "field": "text",
      "sourceText": "Confirm",
      "targetText": "Confirmer"
    },
    {
      "entityType": "uiText",
      "entityKey": "common.delete",
      "field": "text",
      "sourceText": "Delete",
      "targetText": "Supprimer"
    },
    {
      "entityType": "uiText",
      "entityKey": "common.deleted",
      "field": "text",
      "sourceText": "Deleted.",
      "targetText": "Supprimé."
    },
    {
      "entityType": "uiText",
      "entityKey": "common.disabled",
      "field": "text",
      "sourceText": "Disabled",
      "targetText": "Désactivé"
    },
    {
      "entityType": "uiText",
      "entityKey": "common.enabled",
      "field": "text",
      "sourceText": "Enabled",
      "targetText": "Activé"
    },
    {
      "entityType": "uiText",
      "entityKey": "common.errors.alreadyExists",
      "field": "text",
      "sourceText": "This entry already exists.",
      "targetText": "Cette entrée existe déjà."
    },
    {
      "entityType": "uiText",
      "entityKey": "common.errors.mandatoryEntryCannotBeDeleted",
      "field": "text",
      "sourceText": "This entry is mandatory and cannot be deleted.",
      "targetText": "Cette entrée est obligatoire et ne peut pas être supprimée."
    },
    {
      "entityType": "uiText",
      "entityKey": "common.errors.nameRequired",
      "field": "text",
      "sourceText": "Name must not be empty.",
      "targetText": "Le nom ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "common.errors.saveFailed",
      "field": "text",
      "sourceText": "Save failed.",
      "targetText": "Échec de l'enregistrement."
    },
    {
      "entityType": "uiText",
      "entityKey": "common.no",
      "field": "text",
      "sourceText": "No",
      "targetText": "Non"
    },
    {
      "entityType": "uiText",
      "entityKey": "common.noItems",
      "field": "text",
      "sourceText": "No entries.",
      "targetText": "Aucune entrée."
    },
    {
      "entityType": "uiText",
      "entityKey": "common.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "common.saved",
      "field": "text",
      "sourceText": "Saved.",
      "targetText": "Enregistré."
    },
    {
      "entityType": "uiText",
      "entityKey": "common.yes",
      "field": "text",
      "sourceText": "Yes",
      "targetText": "Oui"
    },
    {
      "entityType": "uiText",
      "entityKey": "customFields.errors.invalidValue",
      "field": "text",
      "sourceText": "Field '{0}' has an invalid value.",
      "targetText": "Le champ « {0} » a une valeur invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "customFields.errors.mandatoryMissing",
      "field": "text",
      "sourceText": "Custom field '{0}' is mandatory.",
      "targetText": "Le champ personnalisé « {0} » est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.avgResolution",
      "field": "text",
      "sourceText": "Avg. resolution time",
      "targetText": "Temps de résolution moyen"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.charts.byCategory",
      "field": "text",
      "sourceText": "Tickets by category",
      "targetText": "Tickets par catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.charts.byPriority",
      "field": "text",
      "sourceText": "Tickets by priority",
      "targetText": "Tickets par priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.charts.byStatus",
      "field": "text",
      "sourceText": "Tickets by status",
      "targetText": "Tickets par statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.charts.count",
      "field": "text",
      "sourceText": "Count",
      "targetText": "Nombre"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.charts.noData",
      "field": "text",
      "sourceText": "No data",
      "targetText": "Aucune donnée"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.charts.unknown",
      "field": "text",
      "sourceText": "Unknown",
      "targetText": "Inconnu"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.createdAgo",
      "field": "text",
      "sourceText": "Created",
      "targetText": "Créé"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.dateLabel",
      "field": "text",
      "sourceText": "Date",
      "targetText": "Date"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.defaultUser",
      "field": "text",
      "sourceText": "User",
      "targetText": "Utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.myTickets",
      "field": "text",
      "sourceText": "My assigned tickets",
      "targetText": "Tickets qui me sont attribués"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.myTicketsCustomer",
      "field": "text",
      "sourceText": "My tickets",
      "targetText": "Mes tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.noAgentsClosed",
      "field": "text",
      "sourceText": "No closed tickets for this day",
      "targetText": "Aucun ticket fermé pour cette journée"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.noAssigned",
      "field": "text",
      "sourceText": "No assigned tickets",
      "targetText": "Aucun ticket attribué"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.noCustomerTickets",
      "field": "text",
      "sourceText": "No tickets",
      "targetText": "Aucun ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.noOpenTickets",
      "field": "text",
      "sourceText": "No open tickets",
      "targetText": "Aucun ticket ouvert"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.noTitle",
      "field": "text",
      "sourceText": "Untitled",
      "targetText": "Sans titre"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.noTopCallers",
      "field": "text",
      "sourceText": "No data",
      "targetText": "Aucune donnée"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.notClosed",
      "field": "text",
      "sourceText": "Tickets which are not Closed",
      "targetText": "Tickets qui ne sont pas au statut Fermé"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.open",
      "field": "text",
      "sourceText": "open",
      "targetText": "ouverts"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.refresh",
      "field": "text",
      "sourceText": "Refresh",
      "targetText": "Actualiser"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.showAll",
      "field": "text",
      "sourceText": "Show all",
      "targetText": "Tout afficher"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.ticketsLabel",
      "field": "text",
      "sourceText": "Tickets",
      "targetText": "Tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.title",
      "field": "text",
      "sourceText": "Dashboard",
      "targetText": "Tableau de bord"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.top3Title",
      "field": "text",
      "sourceText": "Top 3 longest open tickets",
      "targetText": "Top 3 des tickets ouverts le plus longtemps"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.topAgentsClosedTitle",
      "field": "text",
      "sourceText": "Top agents closed tickets",
      "targetText": "Tickets fermés par agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.topCallerTitle",
      "field": "text",
      "sourceText": "Top \"caller\" by tickets",
      "targetText": "Principaux « appelants » par nombre de tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.totalTickets",
      "field": "text",
      "sourceText": "Total tickets",
      "targetText": "Total des tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "dashboard.welcome",
      "field": "text",
      "sourceText": "Welcome back",
      "targetText": "Bon retour"
    },
    {
      "entityType": "uiText",
      "entityKey": "departments.errors.alreadyExists",
      "field": "text",
      "sourceText": "Department already exists.",
      "targetText": "Le service existe déjà."
    },
    {
      "entityType": "uiText",
      "entityKey": "email.approvalRejected.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\nyour request #{ticketId} \"{ticketTitle}\" was not approved ({stageName}).\n\nThis affects:\n{taskList}\n\nReason given:\n{reason}\n\nIf you think this was a mistake, please reply to this e-mail or contact the service desk.",
      "targetText": "Bonjour {fullName},\n\nvotre demande #{ticketId} « {ticketTitle} » n'a pas été approuvée ({stageName}).\n\nCela concerne :\n{taskList}\n\nRaison indiquée :\n{reason}\n\nSi vous pensez qu'il s'agit d'une erreur, répondez à cet e-mail ou contactez le centre de services."
    },
    {
      "entityType": "uiText",
      "entityKey": "email.approvalRejected.subject",
      "field": "text",
      "sourceText": "Not approved: ticket #{ticketId} \"{ticketTitle}\"",
      "targetText": "Non approuvé : ticket #{ticketId} « {ticketTitle} »"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.approvalReminder.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\nthis is a reminder: the request below is still waiting for your decision.\n\nTicket #{ticketId} \"{ticketTitle}\", submitted by {requesterName} ({stageName})\n\nThis decision covers:\n{taskList}\n\nPlease approve or reject it here:\n{decisionUrl}\n\nThe tasks stay on hold until you decide - nothing is approved automatically.",
      "targetText": "Bonjour {fullName},\n\nceci est un rappel : la demande ci-dessous attend toujours votre décision.\n\nTicket #{ticketId} « {ticketTitle} », soumis par {requesterName} ({stageName})\n\nCette décision concerne :\n{taskList}\n\nApprouvez-la ou rejetez-la ici :\n{decisionUrl}\n\nLes tâches restent en attente jusqu'à votre décision - rien n'est approuvé automatiquement."
    },
    {
      "entityType": "uiText",
      "entityKey": "email.approvalReminder.subject",
      "field": "text",
      "sourceText": "Reminder: ticket #{ticketId} \"{ticketTitle}\" is waiting for your approval",
      "targetText": "Rappel : le ticket #{ticketId} « {ticketTitle} » attend votre approbation"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.approvalRequest.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\n{requesterName} submitted a request that needs your approval ({stageName}).\n\nTicket #{ticketId} \"{ticketTitle}\"\n\nThis decision covers:\n{taskList}\n\nPlease approve or reject it here:\n{decisionUrl}\n\nThe link is valid for 14 days. The tasks stay on hold until you decide.",
      "targetText": "Bonjour {fullName},\n\n{requesterName} a soumis une demande qui nécessite votre approbation ({stageName}).\n\nTicket #{ticketId} « {ticketTitle} »\n\nCette décision concerne :\n{taskList}\n\nApprouvez-la ou rejetez-la ici :\n{decisionUrl}\n\nLe lien est valable 14 jours. Les tâches restent en attente jusqu'à votre décision."
    },
    {
      "entityType": "uiText",
      "entityKey": "email.approvalRequest.subject",
      "field": "text",
      "sourceText": "Approval needed: ticket #{ticketId} \"{ticketTitle}\"",
      "targetText": "Approbation requise : ticket #{ticketId} « {ticketTitle} »"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.automation.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\nticket #{ticketId} \"{ticketTitle}\" was flagged by the automation rule \"{ruleName}\".\n\nPlease sign in and take a look.",
      "targetText": "Bonjour {fullName},\n\nle ticket #{ticketId} « {ticketTitle} » a été signalé par la règle d'automatisation « {ruleName} ».\n\nConnectez-vous et jetez-y un œil."
    },
    {
      "entityType": "uiText",
      "entityKey": "email.automation.subject",
      "field": "text",
      "sourceText": "Ticket #{ticketId} \"{ticketTitle}\" needs your attention",
      "targetText": "Le ticket #{ticketId} « {ticketTitle} » demande votre attention"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.csat.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\nyour ticket #{ticketId} \"{ticketTitle}\" has been closed.\n\nWe would love to hear how satisfied you were with the way it was handled. One click is all it takes:\n\n1 - Very dissatisfied: {rate1Url}\n2 - Dissatisfied: {rate2Url}\n3 - Neutral: {rate3Url}\n4 - Satisfied: {rate4Url}\n5 - Very satisfied: {rate5Url}\n\nYou can also open the survey directly and leave an optional comment:\n{surveyUrl}\n\nThe link is valid for 30 days. Thank you for your feedback!",
      "targetText": "Bonjour {fullName},\n\nvotre ticket #{ticketId} « {ticketTitle} » a été fermé.\n\nNous aimerions savoir si son traitement vous a satisfait. Un clic suffit :\n\n1 - Très insatisfait : {rate1Url}\n2 - Insatisfait : {rate2Url}\n3 - Neutre : {rate3Url}\n4 - Satisfait : {rate4Url}\n5 - Très satisfait : {rate5Url}\n\nVous pouvez aussi ouvrir directement l'enquête et laisser un commentaire facultatif :\n{surveyUrl}\n\nLe lien est valable 30 jours. Merci pour votre retour !"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.csat.subject",
      "field": "text",
      "sourceText": "How did we do? Ticket #{ticketId} \"{ticketTitle}\"",
      "targetText": "Comment avons-nous fait ? Ticket #{ticketId} « {ticketTitle} »"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.incidentNotice.block",
      "field": "text",
      "sourceText": "We are aware of an incident: {incidentTitle} — we will get back to you as soon as it is resolved.",
      "targetText": "Un incident nous est connu : {incidentTitle} — nous reviendrons vers vous dès qu'il sera résolu."
    },
    {
      "entityType": "uiText",
      "entityKey": "email.incidentResolved.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\nthe problem behind your ticket #{ticketId} \"{ticketTitle}\" has been resolved.\n\n{resolution}\n\nIf the problem persists for you, simply reply to this e-mail and we will reopen your ticket.",
      "targetText": "Bonjour {fullName},\n\nle problème à l'origine de votre ticket #{ticketId} « {ticketTitle} » a été résolu.\n\n{resolution}\n\nSi le problème persiste chez vous, répondez simplement à cet e-mail et nous rouvrirons votre ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "email.incidentResolved.subject",
      "field": "text",
      "sourceText": "Resolved: ticket #{ticketId} \"{ticketTitle}\"",
      "targetText": "Résolu : ticket #{ticketId} « {ticketTitle} »"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.kbReview.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\n{authorName} submitted the knowledge base entry \"{articleTitle}\" in topic \"{topicName}\". It is awaiting review.\n\nPlease sign in and open the Knowledge Base to review and approve the entry.",
      "targetText": "Bonjour {fullName},\n\n{authorName} a soumis l'entrée de base de connaissances « {articleTitle} » dans le sujet « {topicName} ». Elle attend une relecture.\n\nConnectez-vous et ouvrez la base de connaissances pour relire et approuver l'entrée."
    },
    {
      "entityType": "uiText",
      "entityKey": "email.kbReview.subject",
      "field": "text",
      "sourceText": "Knowledge base: entry \"{articleTitle}\" is awaiting review",
      "targetText": "Base de connaissances : l'entrée « {articleTitle} » attend une relecture"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.observer.bodyIntro",
      "field": "text",
      "sourceText": "The following information was added or changed:",
      "targetText": "Les informations suivantes ont été ajoutées ou modifiées :"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.observer.changesHeading",
      "field": "text",
      "sourceText": "Changes:",
      "targetText": "Modifications :"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.observer.internalMarker",
      "field": "text",
      "sourceText": "INTERNAL - not visible to the customer",
      "targetText": "INTERNE - non visible par le client"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.observer.newComment",
      "field": "text",
      "sourceText": "New comment:",
      "targetText": "Nouveau commentaire :"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.observer.newCommentBy",
      "field": "text",
      "sourceText": "New comment by",
      "targetText": "Nouveau commentaire de"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.observer.replyHint",
      "field": "text",
      "sourceText": "You can reply to this e-mail to add a comment to the ticket.",
      "targetText": "Vous pouvez répondre à cet e-mail pour ajouter un commentaire au ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "email.passwordReset.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\na password reset was requested for your ticket system account (username: {username}).\n\nIf you requested this, use the link below to choose a new password. It is valid for {validHours} hours and can only be used once:\n\n{resetUrl}\n\nIf you did not request a password reset, you can ignore this e-mail - your password stays unchanged.\n\nBest regards,\nTicket-System",
      "targetText": "Bonjour {fullName},\n\nune réinitialisation du mot de passe a été demandée pour votre compte du système de tickets (nom d'utilisateur : {username}).\n\nSi vous en êtes à l'origine, utilisez le lien ci-dessous pour choisir un nouveau mot de passe. Il est valable {validHours} heures et ne peut être utilisé qu'une seule fois :\n\n{resetUrl}\n\nSi vous n'avez pas demandé de réinitialisation, vous pouvez ignorer cet e-mail - votre mot de passe reste inchangé.\n\nCordialement,\nTicket-System"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.passwordReset.subject",
      "field": "text",
      "sourceText": "Reset your ticket system password",
      "targetText": "Réinitialisez le mot de passe de votre système de tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.registrationWelcome.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\nyour account has been created.\n\nUsername: {username}\n\nYou can sign in here with the password you chose:\n\n{loginUrl}\n\nIf you did not register, you can ignore this e-mail.\n\nBest regards,\nTicket-System",
      "targetText": "Bonjour {fullName},\n\nvotre compte a été créé.\n\nNom d'utilisateur : {username}\n\nVous pouvez vous connecter ici avec le mot de passe que vous avez choisi :\n\n{loginUrl}\n\nSi vous ne vous êtes pas inscrit, vous pouvez ignorer cet e-mail.\n\nCordialement,\nTicket-System"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.registrationWelcome.subject",
      "field": "text",
      "sourceText": "Welcome to the ticket system",
      "targetText": "Bienvenue dans le système de tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.slaBreach.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\nthe deadline \"{metric}\" for ticket #{ticketId} \"{ticketTitle}\" has been breached.\n\nPlease sign in and take care of the ticket.",
      "targetText": "Bonjour {fullName},\n\nl'échéance « {metric} » du ticket #{ticketId} « {ticketTitle} » a été dépassée.\n\nConnectez-vous et prenez en charge le ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "email.slaBreach.subject",
      "field": "text",
      "sourceText": "SLA breached: ticket #{ticketId} \"{ticketTitle}\"",
      "targetText": "SLA dépassé : ticket #{ticketId} « {ticketTitle} »"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.test.body",
      "field": "text",
      "sourceText": "This is a test e-mail from your ticket system.\n\nIf you received it, your e-mail settings are working correctly.\n\nBest regards,\nTicket-System",
      "targetText": "Ceci est un e-mail de test de votre système de tickets.\n\nSi vous l'avez reçu, vos paramètres de messagerie fonctionnent correctement.\n\nCordialement,\nTicket-System"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.test.subject",
      "field": "text",
      "sourceText": "Test e-mail from your ticket system",
      "targetText": "E-mail de test de votre système de tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.ticketAssigned.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\nTicket {ticketRef} has just been assigned to you.\nPlease process it promptly.\n\nThank you,\nTicket-System",
      "targetText": "Bonjour {fullName},\n\nLe ticket {ticketRef} vient de vous être attribué.\nMerci de le traiter dans les meilleurs délais.\n\nCordialement,\nTicket-System"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.ticketAssigned.subject",
      "field": "text",
      "sourceText": "You have been assigned the ticket - #{ticketId} - {ticketTitle} - {ticketPriority}",
      "targetText": "Le ticket - #{ticketId} - {ticketTitle} - {ticketPriority} - vous a été attribué"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.userInvite.body",
      "field": "text",
      "sourceText": "Hello {fullName},\n\nan account has been created for you in the ticket system.\n\nUsername: {username}\n\nPlease set your password using the link below. It is valid for {validHours} hours and can only be used once:\n\n{setPasswordUrl}\n\nIf you were not expecting this account, you can ignore this e-mail.\n\nBest regards,\nTicket-System",
      "targetText": "Bonjour {fullName},\n\nun compte a été créé pour vous dans le système de tickets.\n\nNom d'utilisateur : {username}\n\nDéfinissez votre mot de passe via le lien ci-dessous. Il est valable {validHours} heures et ne peut être utilisé qu'une seule fois :\n\n{setPasswordUrl}\n\nSi vous ne vous attendiez pas à ce compte, vous pouvez ignorer cet e-mail.\n\nCordialement,\nTicket-System"
    },
    {
      "entityType": "uiText",
      "entityKey": "email.userInvite.subject",
      "field": "text",
      "sourceText": "Your ticket system account",
      "targetText": "Votre compte du système de tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.clear",
      "field": "text",
      "sourceText": "Remove",
      "targetText": "Supprimer"
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.dateLabel",
      "field": "text",
      "sourceText": "Date and time",
      "targetText": "Date et heure"
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.edit",
      "field": "text",
      "sourceText": "Change",
      "targetText": "Modifier"
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.errors.dateRequired",
      "field": "text",
      "sourceText": "Please pick a date and time.",
      "targetText": "Choisissez une date et une heure."
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.errors.saveFailed",
      "field": "text",
      "sourceText": "The follow-up could not be saved.",
      "targetText": "Le suivi n'a pas pu être enregistré."
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.hint",
      "field": "text",
      "sourceText": "Only agents and administrators see this — the requester never does.",
      "targetText": "Seuls les agents et les administrateurs voient ceci — jamais le demandeur."
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.none",
      "field": "text",
      "sourceText": "No follow-up set.",
      "targetText": "Aucun suivi défini."
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.noteLabel",
      "field": "text",
      "sourceText": "Note (optional)",
      "targetText": "Note (facultatif)"
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.notePlaceholder",
      "field": "text",
      "sourceText": "Why is this coming back?",
      "targetText": "Pourquoi cela revient-il ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.overdue",
      "field": "text",
      "sourceText": "Overdue",
      "targetText": "En retard"
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.set",
      "field": "text",
      "sourceText": "Set follow-up",
      "targetText": "Définir un suivi"
    },
    {
      "entityType": "uiText",
      "entityKey": "followUp.title",
      "field": "text",
      "sourceText": "Follow-up",
      "targetText": "Suivi"
    },
    {
      "entityType": "uiText",
      "entityKey": "forgotPassword.backToLogin",
      "field": "text",
      "sourceText": "Back to sign in",
      "targetText": "Retour à la connexion"
    },
    {
      "entityType": "uiText",
      "entityKey": "forgotPassword.description",
      "field": "text",
      "sourceText": "Enter your e-mail address. If an account exists for it, we will send you a link to choose a new password.",
      "targetText": "Saisissez votre adresse e-mail. Si un compte existe pour elle, nous vous enverrons un lien pour choisir un nouveau mot de passe."
    },
    {
      "entityType": "uiText",
      "entityKey": "forgotPassword.doneBody",
      "field": "text",
      "sourceText": "If an account exists for this address, a password reset link is on its way. The link is valid for 24 hours. If you did not request a reset, you can ignore the e-mail.",
      "targetText": "Si un compte existe pour cette adresse, un lien de réinitialisation est en route. Le lien est valable 24 heures. Si vous n'avez pas demandé de réinitialisation, vous pouvez ignorer l'e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "forgotPassword.doneTitle",
      "field": "text",
      "sourceText": "Check your e-mail",
      "targetText": "Consultez votre messagerie"
    },
    {
      "entityType": "uiText",
      "entityKey": "forgotPassword.emailLabel",
      "field": "text",
      "sourceText": "E-mail address",
      "targetText": "Adresse e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "forgotPassword.emailPlaceholder",
      "field": "text",
      "sourceText": "you@example.com",
      "targetText": "vous@exemple.fr"
    },
    {
      "entityType": "uiText",
      "entityKey": "forgotPassword.emailRequired",
      "field": "text",
      "sourceText": "Please enter your e-mail address.",
      "targetText": "Veuillez saisir votre adresse e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "forgotPassword.error",
      "field": "text",
      "sourceText": "The request could not be sent. Please try again later.",
      "targetText": "La demande n'a pas pu être envoyée. Veuillez réessayer plus tard."
    },
    {
      "entityType": "uiText",
      "entityKey": "forgotPassword.sending",
      "field": "text",
      "sourceText": "Sending...",
      "targetText": "Envoi..."
    },
    {
      "entityType": "uiText",
      "entityKey": "forgotPassword.submit",
      "field": "text",
      "sourceText": "Send reset link",
      "targetText": "Envoyer le lien de réinitialisation"
    },
    {
      "entityType": "uiText",
      "entityKey": "forgotPassword.title",
      "field": "text",
      "sourceText": "Reset your password",
      "targetText": "Réinitialisez votre mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.approve",
      "field": "text",
      "sourceText": "Approve & publish",
      "targetText": "Approuver et publier"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.approved",
      "field": "text",
      "sourceText": "Entry published.",
      "targetText": "Entrée publiée."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.approvedBy",
      "field": "text",
      "sourceText": "Approved by {0}",
      "targetText": "Approuvée par {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.attachments",
      "field": "text",
      "sourceText": "Attachments",
      "targetText": "Pièces jointes"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.author",
      "field": "text",
      "sourceText": "Author",
      "targetText": "Auteur"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.backToOverview",
      "field": "text",
      "sourceText": "Back to overview",
      "targetText": "Retour à la vue d'ensemble"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.bodyLabel",
      "field": "text",
      "sourceText": "Content",
      "targetText": "Contenu"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.deflection.hint",
      "field": "text",
      "sourceText": "These entries might already solve your problem:",
      "targetText": "Ces entrées résolvent peut-être déjà votre problème :"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.deflection.openKb",
      "field": "text",
      "sourceText": "Open knowledge base",
      "targetText": "Ouvrir la base de connaissances"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.deflection.title",
      "field": "text",
      "sourceText": "Possible solutions from the knowledge base",
      "targetText": "Solutions possibles issues de la base de connaissances"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.deleteConfirm",
      "field": "text",
      "sourceText": "Delete this entry permanently?",
      "targetText": "Supprimer définitivement cette entrée ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.deleteEntry",
      "field": "text",
      "sourceText": "Delete entry",
      "targetText": "Supprimer l'entrée"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.deleted",
      "field": "text",
      "sourceText": "Entry deleted.",
      "targetText": "Entrée supprimée."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.edit",
      "field": "text",
      "sourceText": "Edit",
      "targetText": "Modifier"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.entriesLabel",
      "field": "text",
      "sourceText": "Entries",
      "targetText": "Entrées"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.articleNotFound",
      "field": "text",
      "sourceText": "Entry with id {0} does not exist.",
      "targetText": "L'entrée portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.attachmentNotFound",
      "field": "text",
      "sourceText": "Attachment does not exist.",
      "targetText": "La pièce jointe n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.bodyRequired",
      "field": "text",
      "sourceText": "The entry needs a text body.",
      "targetText": "L'entrée a besoin d'un contenu textuel."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.fileTooLarge",
      "field": "text",
      "sourceText": "File is too large. Maximum allowed: {0:F0} MB.",
      "targetText": "Le fichier est trop volumineux. Maximum autorisé : {0:F0} MB."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.fileTypeNotAllowed",
      "field": "text",
      "sourceText": "File type '{0}' is not allowed. Allowed types: {1}",
      "targetText": "Le type de fichier « {0} » n'est pas autorisé. Types autorisés : {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.forbidden",
      "field": "text",
      "sourceText": "Forbidden.",
      "targetText": "Interdit."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.loadFailed",
      "field": "text",
      "sourceText": "Could not load the knowledge base.",
      "targetText": "La base de connaissances n'a pas pu être chargée."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.noFileUploaded",
      "field": "text",
      "sourceText": "No file uploaded.",
      "targetText": "Aucun fichier envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.saveFailed",
      "field": "text",
      "sourceText": "Could not save the entry.",
      "targetText": "L'entrée n'a pas pu être enregistrée."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.sourceTicketNotAllowed",
      "field": "text",
      "sourceText": "The linked ticket does not exist or is not visible to you.",
      "targetText": "Le ticket lié n'existe pas ou ne vous est pas visible."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.titleRequired",
      "field": "text",
      "sourceText": "A title is required.",
      "targetText": "Un titre est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.topicNameRequired",
      "field": "text",
      "sourceText": "Topic name is required.",
      "targetText": "Le nom du sujet est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.topicNotEmpty",
      "field": "text",
      "sourceText": "The topic still contains entries. Delete or move them first.",
      "targetText": "Le sujet contient encore des entrées. Supprimez-les ou déplacez-les d'abord."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.topicNotFound",
      "field": "text",
      "sourceText": "Topic with id {0} does not exist.",
      "targetText": "Le sujet portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.unauthorized",
      "field": "text",
      "sourceText": "Unauthorized.",
      "targetText": "Non autorisé."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.errors.uploadFailed",
      "field": "text",
      "sourceText": "Could not upload the file.",
      "targetText": "Le fichier n'a pas pu être envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.fromTicket.created",
      "field": "text",
      "sourceText": "Knowledge base entry created.",
      "targetText": "Entrée de base de connaissances créée."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.fromTicket.dialogTitle",
      "field": "text",
      "sourceText": "Add to knowledge base",
      "targetText": "Ajouter à la base de connaissances"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.fromTicket.hint",
      "field": "text",
      "sourceText": "Review the text before saving — remove personal data such as names, e-mail addresses and screenshots.",
      "targetText": "Relisez le texte avant d'enregistrer — retirez les données personnelles telles que noms, adresses e-mail et captures d'écran."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.fromTicket.selectTopic",
      "field": "text",
      "sourceText": "Topic",
      "targetText": "Sujet"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.imagePasteTooLarge",
      "field": "text",
      "sourceText": "The image exceeds the 50 MB limit.",
      "targetText": "L'image dépasse la limite de 50 MB."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.imagePasteUnsupported",
      "field": "text",
      "sourceText": "Only PNG, JPEG and GIF images can be pasted.",
      "targetText": "Seules les images PNG, JPEG et GIF peuvent être collées."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.newEntry",
      "field": "text",
      "sourceText": "New entry",
      "targetText": "Nouvelle entrée"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.noResults",
      "field": "text",
      "sourceText": "No entries found.",
      "targetText": "Aucune entrée trouvée."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.noTopics",
      "field": "text",
      "sourceText": "No topics yet. Topics are managed under Settings → Knowledge Base.",
      "targetText": "Aucun sujet pour l'instant. Les sujets se gèrent sous Paramètres → Base de connaissances."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.of",
      "field": "text",
      "sourceText": "of",
      "targetText": "sur"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.page",
      "field": "text",
      "sourceText": "Page",
      "targetText": "Page"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.pageSubtitle",
      "field": "text",
      "sourceText": "Solutions, how-tos and documentation",
      "targetText": "Solutions, procédures et documentation"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.pageTitle",
      "field": "text",
      "sourceText": "Knowledge Base",
      "targetText": "Base de connaissances"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.pendingBadge",
      "field": "text",
      "sourceText": "{0} awaiting review",
      "targetText": "{0} en attente de relecture"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.saved",
      "field": "text",
      "sourceText": "Entry saved.",
      "targetText": "Entrée enregistrée."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.searchPlaceholder",
      "field": "text",
      "sourceText": "Search the knowledge base...",
      "targetText": "Rechercher dans la base de connaissances..."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.sourceTicket",
      "field": "text",
      "sourceText": "Source: Ticket #{0}",
      "targetText": "Source : ticket #{0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.status.pendingReview",
      "field": "text",
      "sourceText": "Awaiting review",
      "targetText": "En attente de relecture"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.status.published",
      "field": "text",
      "sourceText": "Published",
      "targetText": "Publiée"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.submittedForReview",
      "field": "text",
      "sourceText": "Entry submitted for review. An admin will approve it before it is published.",
      "targetText": "Entrée soumise pour relecture. Un administrateur l'approuvera avant sa publication."
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.titleLabel",
      "field": "text",
      "sourceText": "Title",
      "targetText": "Titre"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.topicLabel",
      "field": "text",
      "sourceText": "Topic",
      "targetText": "Sujet"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.updated",
      "field": "text",
      "sourceText": "Updated",
      "targetText": "Mise à jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "kb.uploadFile",
      "field": "text",
      "sourceText": "Upload file",
      "targetText": "Envoyer un fichier"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbHistory.articleApproved",
      "field": "text",
      "sourceText": "Entry approved",
      "targetText": "Entrée approuvée"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbHistory.articleCreated",
      "field": "text",
      "sourceText": "Entry created",
      "targetText": "Entrée créée"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbHistory.articleDeleted",
      "field": "text",
      "sourceText": "Entry deleted",
      "targetText": "Entrée supprimée"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbHistory.articleUpdated",
      "field": "text",
      "sourceText": "Entry updated",
      "targetText": "Entrée mise à jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbHistory.topicCreated",
      "field": "text",
      "sourceText": "Topic created",
      "targetText": "Sujet créé"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbHistory.topicDeleted",
      "field": "text",
      "sourceText": "Topic deleted",
      "targetText": "Sujet supprimé"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbHistory.topicUpdated",
      "field": "text",
      "sourceText": "Topic updated",
      "targetText": "Sujet mis à jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.addTopic",
      "field": "text",
      "sourceText": "Add topic",
      "targetText": "Ajouter un sujet"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.agentsCanCreate",
      "field": "text",
      "sourceText": "Agents can create entries",
      "targetText": "Les agents peuvent créer des entrées"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.agentsCanCreateHint",
      "field": "text",
      "sourceText": "Entries created by agents await admin review before they are published. Admins can always create entries.",
      "targetText": "Les entrées créées par des agents attendent la relecture d'un administrateur avant d'être publiées. Les administrateurs peuvent toujours créer des entrées."
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.customerVisible",
      "field": "text",
      "sourceText": "Visible to customers",
      "targetText": "Visible par les clients"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.customerVisibleHint",
      "field": "text",
      "sourceText": "Customers see this topic and its published entries; internal topics stay agent/admin-only.",
      "targetText": "Les clients voient ce sujet et ses entrées publiées ; les sujets internes restent réservés aux agents et aux administrateurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.deleteTopic",
      "field": "text",
      "sourceText": "Delete topic",
      "targetText": "Supprimer le sujet"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.deleteTopicConfirm",
      "field": "text",
      "sourceText": "Delete this topic?",
      "targetText": "Supprimer ce sujet ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.description",
      "field": "text",
      "sourceText": "Description",
      "targetText": "Description"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.history",
      "field": "text",
      "sourceText": "History",
      "targetText": "Historique"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.historyDesc",
      "field": "text",
      "sourceText": "Who created, approved, changed or deleted entries and topics.",
      "targetText": "Qui a créé, approuvé, modifié ou supprimé des entrées et des sujets."
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.historyEmpty",
      "field": "text",
      "sourceText": "No history yet.",
      "targetText": "Pas encore d'historique."
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.name",
      "field": "text",
      "sourceText": "Name",
      "targetText": "Nom"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.pageTitle",
      "field": "text",
      "sourceText": "Knowledge Base Settings",
      "targetText": "Paramètres de la base de connaissances"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.sortOrder",
      "field": "text",
      "sourceText": "Sort order",
      "targetText": "Ordre de tri"
    },
    {
      "entityType": "uiText",
      "entityKey": "kbSettings.topics",
      "field": "text",
      "sourceText": "Topics",
      "targetText": "Sujets"
    },
    {
      "entityType": "uiText",
      "entityKey": "languages.errors.expiryHoursOutOfRange",
      "field": "text",
      "sourceText": "The time until re-login must be between 1 and 24 hours.",
      "targetText": "Le délai avant nouvelle connexion doit être compris entre 1 et 24 heures."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.accessDeniedDesc",
      "field": "text",
      "sourceText": "This page is only available for authorized users.",
      "targetText": "Cette page n'est accessible qu'aux utilisateurs autorisés."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.activate.button",
      "field": "text",
      "sourceText": "Activate license",
      "targetText": "Activer la licence"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.activate.dropHint",
      "field": "text",
      "sourceText": "Drop the license file to load it.",
      "targetText": "Déposez le fichier de licence pour le charger."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.activate.fileLoaded",
      "field": "text",
      "sourceText": "License file loaded. Review the key and click Activate license.",
      "targetText": "Fichier de licence chargé. Vérifiez la clé et cliquez sur Activer la licence."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.activate.fileReadError",
      "field": "text",
      "sourceText": "The selected file could not be read.",
      "targetText": "Le fichier sélectionné n'a pas pu être lu."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.activate.placeholder",
      "field": "text",
      "sourceText": "Paste your license key here",
      "targetText": "Collez votre clé de licence ici"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.activate.subtitle",
      "field": "text",
      "sourceText": "Paste, Upload or Drag and Drop the license key you received and activate it. The key is verified offline.",
      "targetText": "Collez, envoyez ou glissez-déposez la clé de licence que vous avez reçue, puis activez-la. La clé est vérifiée hors ligne."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.activate.success",
      "field": "text",
      "sourceText": "The license was activated successfully.",
      "targetText": "La licence a été activée avec succès."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.activate.title",
      "field": "text",
      "sourceText": "Activate license",
      "targetText": "Activer la licence"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.activate.uploadButton",
      "field": "text",
      "sourceText": "Upload license file",
      "targetText": "Envoyer le fichier de licence"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.activate.uploadHint",
      "field": "text",
      "sourceText": "Upload a license file (.lic) or drag and drop it into the Box or paste the key below.",
      "targetText": "Envoyez un fichier de licence (.lic), glissez-le dans le cadre ou collez la clé ci-dessous."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.contactServer.button",
      "field": "text",
      "sourceText": "Contact license server now",
      "targetText": "Contacter le serveur de licences maintenant"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.contactServer.error",
      "field": "text",
      "sourceText": "The license server could not be contacted.",
      "targetText": "Le serveur de licences n'a pas pu être contacté."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.contactServer.ok",
      "field": "text",
      "sourceText": "The license server has been contacted.",
      "targetText": "Le serveur de licences a été contacté."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.contactServer.renewed",
      "field": "text",
      "sourceText": "Confirmed with the license server, valid until {0}.",
      "targetText": "Confirmé par le serveur de licences, valable jusqu'au {0}."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.contactServer.skipped",
      "field": "text",
      "sourceText": "Nothing was sent: {0}",
      "targetText": "Rien n'a été envoyé : {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.contactServer.subtitle",
      "field": "text",
      "sourceText": "This installation reports in once a day on its own. Use this if you need it to happen right now — for example before buying a license with this installation’s instance ID, or after your license was unblocked. An internet connection is required.",
      "targetText": "Cette installation se signale d'elle-même une fois par jour. Utilisez ceci si cela doit se produire maintenant — par exemple avant d'acheter une licence avec l'identifiant d'instance de cette installation, ou après le déblocage de votre licence. Une connexion Internet est nécessaire."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.contactServer.title",
      "field": "text",
      "sourceText": "Contact license server now",
      "targetText": "Contacter le serveur de licences maintenant"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.deactivate.button",
      "field": "text",
      "sourceText": "Deactivate license",
      "targetText": "Désactiver la licence"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.deactivate.confirm",
      "field": "text",
      "sourceText": "Do you really want to deactivate the license on this installation? The system will fall back to the demo state.",
      "targetText": "Voulez-vous vraiment désactiver la licence sur cette installation ? Le système reviendra à l'état de démonstration."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.deactivate.subtitle",
      "field": "text",
      "sourceText": "Removes the local license key and releases this installation's activation slot on the license server. Note: the license is bound to this installation — to move to another system, request a re-issued license there (see license recovery below).",
      "targetText": "Supprime la clé de licence locale et libère l'emplacement d'activation de cette installation sur le serveur de licences. À noter : la licence est liée à cette installation — pour passer à un autre système, demandez-y une licence réémise (voir la récupération de licence ci-dessous)."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.deactivate.success",
      "field": "text",
      "sourceText": "The license was deactivated.",
      "targetText": "La licence a été désactivée."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.deactivate.title",
      "field": "text",
      "sourceText": "Deactivate license",
      "targetText": "Désactiver la licence"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.demo.daysLeft",
      "field": "text",
      "sourceText": "Demo · {0} days left",
      "targetText": "Démo · {0} jours restants"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.demo.expired",
      "field": "text",
      "sourceText": "Demo expired",
      "targetText": "Démo expirée"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.demo.lastDay",
      "field": "text",
      "sourceText": "Demo · last day",
      "targetText": "Démo · dernier jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.drReissue.button",
      "field": "text",
      "sourceText": "Request recovery license",
      "targetText": "Demander une licence de récupération"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.drReissue.error",
      "field": "text",
      "sourceText": "The recovery request could not be sent.",
      "targetText": "La demande de récupération n'a pas pu être envoyée."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.drReissue.placeholder",
      "field": "text",
      "sourceText": "License ID (LIC-…) or purchase e-mail",
      "targetText": "Identifiant de licence (LIC-…) ou e-mail d'achat"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.drReissue.requested",
      "field": "text",
      "sourceText": "If a matching license exists, a confirmation link has been sent to the e-mail address on file. Confirm it to receive your re-issued license.",
      "targetText": "Si une licence correspondante existe, un lien de confirmation a été envoyé à l'adresse e-mail enregistrée. Confirmez-le pour recevoir votre licence réémise."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.drReissue.subtitle",
      "field": "text",
      "sourceText": "Reinstalled without your backup? Your license is bound to the previous installation. Enter your license ID or purchase e-mail to receive a re-issued license bound to this installation. A confirmation link is sent to the e-mail address on file.",
      "targetText": "Réinstallé sans votre sauvegarde ? Votre licence est liée à l'installation précédente. Saisissez votre identifiant de licence ou votre e-mail d'achat pour recevoir une licence liée à cette installation. Un lien de confirmation est envoyé à l'adresse e-mail enregistrée."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.drReissue.title",
      "field": "text",
      "sourceText": "Recover license after reinstall",
      "targetText": "Récupérer la licence après une réinstallation"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.edition.basic",
      "field": "text",
      "sourceText": "Basic",
      "targetText": "Basic"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.edition.demo",
      "field": "text",
      "sourceText": "Demo",
      "targetText": "Démo"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.edition.professional",
      "field": "text",
      "sourceText": "Professional",
      "targetText": "Professional"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.contactServerNotConfigured",
      "field": "text",
      "sourceText": "No license server is configured, so this installation cannot report in.",
      "targetText": "Aucun serveur de licences n'est configuré, cette installation ne peut donc pas se signaler."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.drInputRequired",
      "field": "text",
      "sourceText": "Enter your license ID or the e-mail address used for purchase.",
      "targetText": "Saisissez votre identifiant de licence ou l'adresse e-mail utilisée pour l'achat."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.drServerNotConfigured",
      "field": "text",
      "sourceText": "No license server is configured, so disaster-recovery re-issue is unavailable.",
      "targetText": "Aucun serveur de licences n'est configuré, la réémission après sinistre n'est donc pas possible."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.empty",
      "field": "text",
      "sourceText": "Please enter a license key.",
      "targetText": "Veuillez saisir une clé de licence."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.featureNotAvailable",
      "field": "text",
      "sourceText": "This feature requires the Professional license.",
      "targetText": "Cette fonctionnalité nécessite la licence Professional."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.featureRequiresNewerVersion",
      "field": "text",
      "sourceText": "This feature requires a Professional {0}.x license.",
      "targetText": "Cette fonctionnalité nécessite une licence Professional {0}.x."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.invalidFormat",
      "field": "text",
      "sourceText": "The license key has an invalid format.",
      "targetText": "Le format de la clé de licence est invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.invalidSignature",
      "field": "text",
      "sourceText": "The license key signature is invalid.",
      "targetText": "La signature de la clé de licence est invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.limitStaff",
      "field": "text",
      "sourceText": "The license limit for staff users (administrators and agents) has been reached.",
      "targetText": "La limite de licence pour les collaborateurs (administrateurs et agents) est atteinte."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.limitTeams",
      "field": "text",
      "sourceText": "The license limit for teams has been reached.",
      "targetText": "La limite de licence pour les équipes est atteinte."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.readOnly",
      "field": "text",
      "sourceText": "The license is invalid or expired. The system is in read-only mode.",
      "targetText": "La licence est invalide ou a expiré. Le système est en lecture seule."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.redeemBadInstance",
      "field": "text",
      "sourceText": "This installation could not report a valid instance id. Please contact support.",
      "targetText": "Cette installation n'a pas pu communiquer d'identifiant d'instance valide. Veuillez contacter le support."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.redeemFailed",
      "field": "text",
      "sourceText": "The activation code could not be redeemed. Please try again later.",
      "targetText": "Le code d'activation n'a pas pu être utilisé. Veuillez réessayer plus tard."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.redeemInputRequired",
      "field": "text",
      "sourceText": "Enter your activation code and the e-mail address used for purchase.",
      "targetText": "Saisissez votre code d'activation et l'adresse e-mail utilisée pour l'achat."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.redeemInvalidOrUsed",
      "field": "text",
      "sourceText": "This activation code is not valid, was already used, or does not match the purchase e-mail.",
      "targetText": "Ce code d'activation n'est pas valide, a déjà été utilisé ou ne correspond pas à l'e-mail d'achat."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.redeemLicenseInactive",
      "field": "text",
      "sourceText": "The license behind this code is not active. Please contact support.",
      "targetText": "La licence derrière ce code n'est pas active. Veuillez contacter le support."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.errors.redeemServerNotConfigured",
      "field": "text",
      "sourceText": "No license server is configured, so activation codes cannot be redeemed.",
      "targetText": "Aucun serveur de licences n'est configuré, les codes d'activation ne peuvent donc pas être utilisés."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.accountBasic",
      "field": "text",
      "sourceText": "Account-Management (2 Admins or 1 Admin + 1 Agent + unlimited Users)",
      "targetText": "Gestion des comptes (2 administrateurs ou 1 administrateur + 1 agent + utilisateurs illimités)"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.accountPro",
      "field": "text",
      "sourceText": "Account-Management (unlimited Admins + unlimited Agents + unlimited Users)",
      "targetText": "Gestion des comptes (administrateurs, agents et utilisateurs illimités)"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.archive",
      "field": "text",
      "sourceText": "Archive old Tickets",
      "targetText": "Archivage des anciens tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.auth2fa",
      "field": "text",
      "sourceText": "Authentication (local with 2FA)",
      "targetText": "Authentification (locale avec 2FA)"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.branding",
      "field": "text",
      "sourceText": "Branding - CI",
      "targetText": "Image de marque - identité visuelle"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.customFields",
      "field": "text",
      "sourceText": "Ticket-Management with Custom Fields by Team",
      "targetText": "Gestion des tickets avec champs personnalisés par équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.emailIntegration",
      "field": "text",
      "sourceText": "E-Mail integration for Tickets and other Features",
      "targetText": "Intégration e-mail pour les tickets et d'autres fonctions"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.maintenance",
      "field": "text",
      "sourceText": "Maintenance- / Incident- Notification",
      "targetText": "Avis de maintenance et d'incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.maintenanceEmail",
      "field": "text",
      "sourceText": "Maintenance- / Incident- Notification with E-Mail functionality",
      "targetText": "Avis de maintenance et d'incident avec fonction e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.multilanguage",
      "field": "text",
      "sourceText": "Multilanguage",
      "targetText": "Multilingue"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.parentChild",
      "field": "text",
      "sourceText": "Ticket-Management with Parent/Child-Tickets for multiple Teams",
      "targetText": "Gestion des tickets avec tickets principaux et sous-tickets pour plusieurs équipes"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.reporting",
      "field": "text",
      "sourceText": "Reporting + Dashboards",
      "targetText": "Rapports et tableaux de bord"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.sso",
      "field": "text",
      "sourceText": "Authentication SSO",
      "targetText": "Authentification par SSO"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.teamBasic",
      "field": "text",
      "sourceText": "Team-Management (limited to 1 Team)",
      "targetText": "Gestion des équipes (limitée à 1 équipe)"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.teamPro",
      "field": "text",
      "sourceText": "Team-Management (unlimited Teams)",
      "targetText": "Gestion des équipes (équipes illimitées)"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.feature.ticketManagement",
      "field": "text",
      "sourceText": "Ticket-Management",
      "targetText": "Gestion des tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.lease.hint",
      "field": "text",
      "sourceText": "This license confirms itself with the license server once a day. Only license data is transmitted, never ticket contents.",
      "targetText": "Cette licence se confirme auprès du serveur de licences une fois par jour. Seules les données de licence sont transmises, jamais le contenu des tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.lease.lastConfirmed",
      "field": "text",
      "sourceText": "Last confirmed",
      "targetText": "Dernière confirmation"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.lease.neverConfirmed",
      "field": "text",
      "sourceText": "Not confirmed yet",
      "targetText": "Pas encore confirmée"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.lease.pendingBanner",
      "field": "text",
      "sourceText": "License activation pending: this server has not reached the license server yet. It keeps retrying every hour.",
      "targetText": "Activation de la licence en cours : ce serveur n'a pas encore atteint le serveur de licences. Il réessaie toutes les heures."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.lease.title",
      "field": "text",
      "sourceText": "License server check",
      "targetText": "Vérification par le serveur de licences"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.lease.validUntil",
      "field": "text",
      "sourceText": "Confirmed until",
      "targetText": "Confirmée jusqu'au"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.lease.warnBanner",
      "field": "text",
      "sourceText": "The license could not be confirmed with the license server. Without a successful check the system switches to read-only on {0}.",
      "targetText": "La licence n'a pas pu être confirmée auprès du serveur de licences. Sans vérification réussie, le système passera en lecture seule le {0}."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.page.subtitle",
      "field": "text",
      "sourceText": "View the current license status, activate a license key and manage activations.",
      "targetText": "Consultez l'état actuel de la licence, activez une clé de licence et gérez les activations."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.page.title",
      "field": "text",
      "sourceText": "License",
      "targetText": "Licence"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.readOnlyBanner.message",
      "field": "text",
      "sourceText": "The license is invalid or expired. You can still read and export data, but changes are blocked until a valid license is activated.",
      "targetText": "La licence est invalide ou a expiré. Vous pouvez toujours lire et exporter des données, mais les modifications sont bloquées jusqu'à l'activation d'une licence valide."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.readOnlyBanner.title",
      "field": "text",
      "sourceText": "Read-only mode",
      "targetText": "Mode lecture seule"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.activationPending",
      "field": "text",
      "sourceText": "The license is applied but has not yet been confirmed by the license server. Make sure this server can reach the license server.",
      "targetText": "La licence est appliquée mais n'a pas encore été confirmée par le serveur de licences. Assurez-vous que ce serveur peut atteindre le serveur de licences."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.demo",
      "field": "text",
      "sourceText": "You are using the demo version.",
      "targetText": "Vous utilisez la version de démonstration."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.demoExpired",
      "field": "text",
      "sourceText": "The demo period has expired. The system is in read-only mode.",
      "targetText": "La période de démonstration a expiré. Le système est en lecture seule."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.expired",
      "field": "text",
      "sourceText": "The license has expired. The system is in read-only mode.",
      "targetText": "La licence a expiré. Le système est en lecture seule."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.instanceMismatch",
      "field": "text",
      "sourceText": "This license is bound to a different installation. If you reinstalled without your data, request a disaster-recovery re-issue below. The system is in read-only mode.",
      "targetText": "Cette licence est liée à une autre installation. Si vous avez réinstallé sans vos données, demandez ci-dessous une réémission de récupération. Le système est en lecture seule."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.invalidSignature",
      "field": "text",
      "sourceText": "The stored license key is invalid. The system is in read-only mode.",
      "targetText": "La clé de licence enregistrée est invalide. Le système est en lecture seule."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.leaseExpired",
      "field": "text",
      "sourceText": "The license could not be confirmed by the license server for an extended period. The system is in read-only mode until the connection is restored.",
      "targetText": "La licence n'a pas pu être confirmée par le serveur de licences pendant une période prolongée. Le système reste en lecture seule jusqu'au rétablissement de la connexion."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.noLicense",
      "field": "text",
      "sourceText": "No license key is installed.",
      "targetText": "Aucune clé de licence n'est installée."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.revoked",
      "field": "text",
      "sourceText": "This license was revoked by the vendor (for example after a refund). The system is in read-only mode. Please contact support if you believe this is an error.",
      "targetText": "Cette licence a été révoquée par le fournisseur (par exemple après un remboursement). Le système est en lecture seule. Contactez le support si vous pensez qu'il s'agit d'une erreur."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.tamper",
      "field": "text",
      "sourceText": "A license integrity problem was detected. The system is in read-only mode.",
      "targetText": "Un problème d'intégrité de la licence a été détecté. Le système est en lecture seule."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.unbound",
      "field": "text",
      "sourceText": "This license is not bound to an installation and cannot be used. Please contact support for a re-issued license.",
      "targetText": "Cette licence n'est liée à aucune installation et ne peut pas être utilisée. Contactez le support pour obtenir une licence réémise."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.reason.valid",
      "field": "text",
      "sourceText": "Your license is active.",
      "targetText": "Votre licence est active."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.redeem.button",
      "field": "text",
      "sourceText": "Redeem code",
      "targetText": "Utiliser le code"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.redeem.codePlaceholder",
      "field": "text",
      "sourceText": "Activation code (SMTY-…)",
      "targetText": "Code d'activation (SMTY-…)"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.redeem.emailPlaceholder",
      "field": "text",
      "sourceText": "E-mail address the code was sent to",
      "targetText": "Adresse e-mail à laquelle le code a été envoyé"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.redeem.error",
      "field": "text",
      "sourceText": "The activation code could not be redeemed.",
      "targetText": "Le code d'activation n'a pas pu être utilisé."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.redeem.subtitle",
      "field": "text",
      "sourceText": "Bought without naming this installation? Then you received an activation code by e-mail instead of a license file. Enter it here together with the e-mail address it was sent to — the one you used at checkout. Your license is created for this installation right away; you do not need to type any ID.",
      "targetText": "Vous avez acheté sans indiquer cette installation ? Vous avez alors reçu un code d'activation par e-mail au lieu d'un fichier de licence. Saisissez-le ici avec l'adresse e-mail à laquelle il a été envoyé — celle utilisée lors de l'achat. Votre licence est créée immédiatement pour cette installation ; vous n'avez aucun identifiant à saisir."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.redeem.success",
      "field": "text",
      "sourceText": "Your license is active.",
      "targetText": "Votre licence est active."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.redeem.title",
      "field": "text",
      "sourceText": "Activate with a purchase code",
      "targetText": "Activer avec un code d'achat"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.activationMode",
      "field": "text",
      "sourceText": "Activation mode",
      "targetText": "Mode d'activation"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.customer",
      "field": "text",
      "sourceText": "Licensed to",
      "targetText": "Licence accordée à"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.edition",
      "field": "text",
      "sourceText": "Edition",
      "targetText": "Édition"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.expiresAt",
      "field": "text",
      "sourceText": "Valid until",
      "targetText": "Valable jusqu'au"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.features",
      "field": "text",
      "sourceText": "Enabled features",
      "targetText": "Fonctionnalités activées"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.featuresHint",
      "field": "text",
      "sourceText": "Features marked as ✓ are enabled. Features marked as ✕ are disabled but can be enabled by upgrading to a professional license.",
      "targetText": "Les fonctionnalités marquées ✓ sont activées. Celles marquées ✕ sont désactivées, mais peuvent être activées en passant à une licence Professional."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.instanceId",
      "field": "text",
      "sourceText": "Instance ID",
      "targetText": "Identifiant d'instance"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.licenseId",
      "field": "text",
      "sourceText": "License ID",
      "targetText": "Identifiant de licence"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.licensedUpTo",
      "field": "text",
      "sourceText": "Licensed up to version",
      "targetText": "Sous licence jusqu'à la version"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.perpetual",
      "field": "text",
      "sourceText": "Perpetual",
      "targetText": "Perpétuelle"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.readOnly",
      "field": "text",
      "sourceText": "Read-only",
      "targetText": "Lecture seule"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.state",
      "field": "text",
      "sourceText": "State",
      "targetText": "État"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.supportId",
      "field": "text",
      "sourceText": "Support ID",
      "targetText": "Identifiant de support"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.supportIdHint",
      "field": "text",
      "sourceText": "Give this ID to support so they can find your installation.",
      "targetText": "Communiquez cet identifiant au support pour qu'il retrouve votre installation."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.supportUntil",
      "field": "text",
      "sourceText": "Support until",
      "targetText": "Support jusqu'au"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.title",
      "field": "text",
      "sourceText": "License status",
      "targetText": "État de la licence"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.usage",
      "field": "text",
      "sourceText": "Current usage",
      "targetText": "Utilisation actuelle"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.usageLine",
      "field": "text",
      "sourceText": "Admins: {0} · Agents: {1} · Teams: {2}",
      "targetText": "Administrateurs : {0} · Agents : {1} · Équipes : {2}"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.status.valid",
      "field": "text",
      "sourceText": "Active",
      "targetText": "Active"
    },
    {
      "entityType": "uiText",
      "entityKey": "license.upgradeRequired.message",
      "field": "text",
      "sourceText": "This feature is only available with the Professional license.",
      "targetText": "Cette fonctionnalité n'est disponible qu'avec la licence Professional."
    },
    {
      "entityType": "uiText",
      "entityKey": "license.upgradeRequired.title",
      "field": "text",
      "sourceText": "Professional license required",
      "targetText": "Licence Professional requise"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.appTitle",
      "field": "text",
      "sourceText": "Ticket system",
      "targetText": "Système de tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.fillAllFields",
      "field": "text",
      "sourceText": "Please fill in all fields.",
      "targetText": "Veuillez remplir tous les champs."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.forgotPassword",
      "field": "text",
      "sourceText": "Do you need a password reset?",
      "targetText": "Besoin de réinitialiser votre mot de passe ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.languageLabel",
      "field": "text",
      "sourceText": "Language",
      "targetText": "Langue"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.loggingIn",
      "field": "text",
      "sourceText": "Signing in...",
      "targetText": "Connexion..."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.login",
      "field": "text",
      "sourceText": "Sign in",
      "targetText": "Se connecter"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.loginFailed",
      "field": "text",
      "sourceText": "Login failed.",
      "targetText": "Échec de la connexion."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.loginFailedDetails",
      "field": "text",
      "sourceText": "Login failed. Please check your credentials.",
      "targetText": "Échec de la connexion. Vérifiez vos identifiants."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.loginSuccess",
      "field": "text",
      "sourceText": "Successfully signed in!",
      "targetText": "Connexion réussie !"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.noAccountYet",
      "field": "text",
      "sourceText": "No account yet?",
      "targetText": "Pas encore de compte ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.password",
      "field": "text",
      "sourceText": "Password",
      "targetText": "Mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.passwordPlaceholder",
      "field": "text",
      "sourceText": "Enter password",
      "targetText": "Saisir le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.registerNow",
      "field": "text",
      "sourceText": "Register",
      "targetText": "S'inscrire"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.backToLocal",
      "field": "text",
      "sourceText": "Back to standard sign in",
      "targetText": "Retour à la connexion standard"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.divider",
      "field": "text",
      "sourceText": "or continue with",
      "targetText": "ou continuer avec"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.accountLocked",
      "field": "text",
      "sourceText": "This account is temporarily locked. Please try again later.",
      "targetText": "Ce compte est temporairement verrouillé. Veuillez réessayer plus tard."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.domainNotAllowed",
      "field": "text",
      "sourceText": "Your account's domain is not allowed to sign in here.",
      "targetText": "Le domaine de votre compte n'est pas autorisé à se connecter ici."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.emailMissing",
      "field": "text",
      "sourceText": "The provider did not share an e-mail address.",
      "targetText": "Le fournisseur n'a pas communiqué d'adresse e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.emailNotVerified",
      "field": "text",
      "sourceText": "Your e-mail address is not verified with the provider.",
      "targetText": "Votre adresse e-mail n'est pas vérifiée auprès du fournisseur."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.invalidState",
      "field": "text",
      "sourceText": "The sign-in request could not be verified. Please try again.",
      "targetText": "La demande de connexion n'a pas pu être vérifiée. Veuillez réessayer."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.invalidToken",
      "field": "text",
      "sourceText": "The provider response could not be validated.",
      "targetText": "La réponse du fournisseur n'a pas pu être validée."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.missingCode",
      "field": "text",
      "sourceText": "The sign-in provider did not return an authorization code.",
      "targetText": "Le fournisseur de connexion n'a pas renvoyé de code d'autorisation."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.providerDisabled",
      "field": "text",
      "sourceText": "This sign-in method is not available.",
      "targetText": "Cette méthode de connexion n'est pas disponible."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.providerRejected",
      "field": "text",
      "sourceText": "The sign-in provider rejected the request.",
      "targetText": "Le fournisseur de connexion a rejeté la demande."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.providerUnavailable",
      "field": "text",
      "sourceText": "The sign-in provider is currently unavailable.",
      "targetText": "Le fournisseur de connexion est actuellement indisponible."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.provisioningDisabled",
      "field": "text",
      "sourceText": "No account exists for this user and automatic provisioning is disabled.",
      "targetText": "Aucun compte n'existe pour cet utilisateur et la création automatique est désactivée."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.tokenExchangeFailed",
      "field": "text",
      "sourceText": "Could not complete the sign-in with the provider.",
      "targetText": "La connexion auprès du fournisseur n'a pas pu être finalisée."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.errors.unknown",
      "field": "text",
      "sourceText": "Sign-in failed. Please try again.",
      "targetText": "Échec de la connexion. Veuillez réessayer."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.ldap",
      "field": "text",
      "sourceText": "Sign in with company account",
      "targetText": "Se connecter avec un compte d'entreprise"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.ldapPassword",
      "field": "text",
      "sourceText": "Password",
      "targetText": "Mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.ldapPasswordPlaceholder",
      "field": "text",
      "sourceText": "Enter password",
      "targetText": "Saisir le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.ldapSigningIn",
      "field": "text",
      "sourceText": "Signing in...",
      "targetText": "Connexion..."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.ldapSubmit",
      "field": "text",
      "sourceText": "Sign in",
      "targetText": "Se connecter"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.ldapSubtitle",
      "field": "text",
      "sourceText": "Use your Active Directory / LDAP credentials.",
      "targetText": "Utilisez vos identifiants Active Directory / LDAP."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.ldapTitle",
      "field": "text",
      "sourceText": "Sign in with directory account",
      "targetText": "Se connecter avec un compte d'annuaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.ldapUsername",
      "field": "text",
      "sourceText": "Username",
      "targetText": "Nom d'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.ldapUsernamePlaceholder",
      "field": "text",
      "sourceText": "e.g. j.doe",
      "targetText": "p. ex. j.dupont"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.processing",
      "field": "text",
      "sourceText": "Completing sign-in...",
      "targetText": "Finalisation de la connexion..."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.providerButton",
      "field": "text",
      "sourceText": "Sign in with",
      "targetText": "Se connecter avec"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.sso.redirecting",
      "field": "text",
      "sourceText": "Redirecting to your sign-in provider...",
      "targetText": "Redirection vers votre fournisseur de connexion..."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.subtitle",
      "field": "text",
      "sourceText": "Sign in to continue",
      "targetText": "Connectez-vous pour continuer"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.back",
      "field": "text",
      "sourceText": "Back to sign in",
      "targetText": "Retour à la connexion"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.codeLabel",
      "field": "text",
      "sourceText": "Verification code",
      "targetText": "Code de vérification"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.codePlaceholder",
      "field": "text",
      "sourceText": "123456",
      "targetText": "123456"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.copyCodes",
      "field": "text",
      "sourceText": "Copy codes",
      "targetText": "Copier les codes"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.invalidCode",
      "field": "text",
      "sourceText": "Invalid verification code.",
      "targetText": "Code de vérification invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.recoveryCodesContinue",
      "field": "text",
      "sourceText": "I have saved my codes - continue",
      "targetText": "J'ai enregistré mes codes - continuer"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.recoveryCodesDesc",
      "field": "text",
      "sourceText": "Store these one-time recovery codes in a safe place. Each can be used once to sign in if you lose your device.",
      "targetText": "Conservez ces codes de récupération à usage unique en lieu sûr. Chacun peut servir une fois à vous connecter si vous perdez votre appareil."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.recoveryCodesTitle",
      "field": "text",
      "sourceText": "Save your recovery codes",
      "targetText": "Enregistrez vos codes de récupération"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.recoveryLabel",
      "field": "text",
      "sourceText": "Recovery code",
      "targetText": "Code de récupération"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.recoveryPlaceholder",
      "field": "text",
      "sourceText": "xxxxx-xxxxx",
      "targetText": "xxxxx-xxxxx"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.sessionExpired",
      "field": "text",
      "sourceText": "Your sign-in session expired. Please sign in again.",
      "targetText": "Votre session de connexion a expiré. Veuillez vous reconnecter."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.setupConfirm",
      "field": "text",
      "sourceText": "Activate",
      "targetText": "Activer"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.setupManualKey",
      "field": "text",
      "sourceText": "Or enter this key manually:",
      "targetText": "Ou saisissez cette clé manuellement :"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.setupSubtitle",
      "field": "text",
      "sourceText": "Two-factor authentication is required for your account. Scan the QR code with an authenticator app, then enter the generated code.",
      "targetText": "L'authentification à deux facteurs est requise pour votre compte. Scannez le code QR avec une application d'authentification, puis saisissez le code généré."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.setupTitle",
      "field": "text",
      "sourceText": "Set up two-factor authentication",
      "targetText": "Configurer l'authentification à deux facteurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.subtitle",
      "field": "text",
      "sourceText": "Enter the 6-digit code from your authenticator app.",
      "targetText": "Saisissez le code à 6 chiffres de votre application d'authentification."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.title",
      "field": "text",
      "sourceText": "Two-factor authentication",
      "targetText": "Authentification à deux facteurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.useAuthenticator",
      "field": "text",
      "sourceText": "Use authenticator code instead",
      "targetText": "Utiliser plutôt un code d'application"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.useRecovery",
      "field": "text",
      "sourceText": "Use a recovery code instead",
      "targetText": "Utiliser plutôt un code de récupération"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.verify",
      "field": "text",
      "sourceText": "Verify",
      "targetText": "Vérifier"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.twoFactor.verifying",
      "field": "text",
      "sourceText": "Verifying...",
      "targetText": "Vérification..."
    },
    {
      "entityType": "uiText",
      "entityKey": "login.username",
      "field": "text",
      "sourceText": "Username",
      "targetText": "Nom d'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.usernamePlaceholder",
      "field": "text",
      "sourceText": "Enter username",
      "targetText": "Saisir le nom d'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "login.volume",
      "field": "text",
      "sourceText": "Volume",
      "targetText": "Volume"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.active.body",
      "field": "text",
      "sourceText": "Active: Body",
      "targetText": "Actif : texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.active.hint",
      "field": "text",
      "sourceText": "Click a field to activate it (red border). Ticked items and free text are inserted into the active field.",
      "targetText": "Cliquez sur un champ pour l'activer (cadre rouge). Les éléments cochés et le texte libre sont insérés dans le champ actif."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.active.title",
      "field": "text",
      "sourceText": "Active: Title / Subject",
      "targetText": "Actif : titre / objet"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.chips.calendar",
      "field": "text",
      "sourceText": "Calendar (add date)",
      "targetText": "Calendrier (ajouter une date)"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.chips.time",
      "field": "text",
      "sourceText": "Time (add time)",
      "targetText": "Heure (ajouter une heure)"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.chips.title",
      "field": "text",
      "sourceText": "Insertable items",
      "targetText": "Éléments insérables"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.createCard.subtitle",
      "field": "text",
      "sourceText": "Here you can create a notification on the login page and across the whole ticket system to inform users and agents, hopefully reducing the creation of unnecessary tickets.",
      "targetText": "Créez ici un avis pour la page de connexion et pour l'ensemble du système de tickets, afin d'informer utilisateurs et agents et de réduire ainsi les tickets inutiles."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.createCard.title",
      "field": "text",
      "sourceText": "Create Maintenance / Incident-Notification",
      "targetText": "Créer un avis de maintenance / d'incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.created",
      "field": "text",
      "sourceText": "Created",
      "targetText": "Créé"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.deleted",
      "field": "text",
      "sourceText": "Deleted",
      "targetText": "Supprimé"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.diskBanner.noticeBody",
      "field": "text",
      "sourceText": "The server disk is {percent}% full - {free} GB of {total} GB left. Nothing has failed yet. Plan a clean-up before it becomes urgent.",
      "targetText": "Le disque du serveur est rempli à {percent} % - il reste {free} Go sur {total} Go. Rien n'a encore échoué. Planifiez un nettoyage avant que cela ne devienne urgent."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.diskBanner.noticeTitle",
      "field": "text",
      "sourceText": "Disk space is running low",
      "targetText": "L'espace disque diminue"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.diskBanner.userBody",
      "field": "text",
      "sourceText": "The server is running out of disk space. Uploads and e-mail may stop working. Please contact your administrator.",
      "targetText": "L'espace disque du serveur s'épuise. Les envois de fichiers et les e-mails risquent de ne plus fonctionner. Contactez votre administrateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.diskBanner.warningBody",
      "field": "text",
      "sourceText": "The server disk is {percent}% full - only {free} GB of {total} GB left. Attachments, e-mail and backups can start failing. Free up space now; container images from earlier updates are usually the biggest item.",
      "targetText": "Le disque du serveur est rempli à {percent} % - il ne reste que {free} Go sur {total} Go. Les pièces jointes, les e-mails et les sauvegardes peuvent commencer à échouer. Libérez de l'espace maintenant ; les images de conteneurs des mises à jour précédentes sont généralement le plus gros poste."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.diskBanner.warningTitle",
      "field": "text",
      "sourceText": "Disk almost full",
      "targetText": "Disque presque plein"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.errors.systemExists",
      "field": "text",
      "sourceText": "A system or service with this name already exists.",
      "targetText": "Un système ou service portant ce nom existe déjà."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.errors.textModuleExists",
      "field": "text",
      "sourceText": "A text module with this wording already exists.",
      "targetText": "Un module de texte avec cette formulation existe déjà."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.field.body",
      "field": "text",
      "sourceText": "Body",
      "targetText": "Texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.field.bodyPlaceholder",
      "field": "text",
      "sourceText": "Body",
      "targetText": "Texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.field.title",
      "field": "text",
      "sourceText": "Title / Subject",
      "targetText": "Titre / objet"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.field.titleDesc",
      "field": "text",
      "sourceText": "Tick the text modules and other options to compose a title and body. You can also enter free text. Text in \"Title / Subject\" is shown in the upper part of the notification and used as the subject when you send an e-mail. Text in \"Body\" is used in the lower part of the notification and as the body when sent as e-mail.",
      "targetText": "Cochez les modules de texte et les autres options pour composer un titre et un texte. Vous pouvez aussi saisir du texte libre. Le texte du champ « Titre / objet » s'affiche dans la partie supérieure de l'avis et sert d'objet lorsque vous envoyez un e-mail. Le texte du champ « Texte » est utilisé dans la partie inférieure de l'avis et comme corps du message."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.field.titlePlaceholder",
      "field": "text",
      "sourceText": "Title / Subject",
      "targetText": "Titre / objet"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.incidentBannerLabel",
      "field": "text",
      "sourceText": "Known incident",
      "targetText": "Incident connu"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.list.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.list.edit",
      "field": "text",
      "sourceText": "Edit",
      "targetText": "Modifier"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.notificationCard.title",
      "field": "text",
      "sourceText": "Create Notification",
      "targetText": "Créer un avis"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.overlay.dismiss",
      "field": "text",
      "sourceText": "Dismiss",
      "targetText": "Fermer"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.pageDesc",
      "field": "text",
      "sourceText": "Create and manage notifications shown on the login page and across the ticket system.",
      "targetText": "Créez et gérez les avis affichés sur la page de connexion et dans l'ensemble du système de tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.pageTitle",
      "field": "text",
      "sourceText": "Maintenance / Incident-Notification",
      "targetText": "Avis de maintenance / d'incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.recipientRequired",
      "field": "text",
      "sourceText": "Please enter at least one recipient.",
      "targetText": "Veuillez saisir au moins un destinataire."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.requiredField",
      "field": "text",
      "sourceText": "Please enter a value.",
      "targetText": "Veuillez saisir une valeur."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.runningIncidents",
      "field": "text",
      "sourceText": "These incidents are shown on the sign-in page right now. They come from a ticket and disappear by themselves once it is resolved. The switch above does not apply to them.",
      "targetText": "Ces incidents s'affichent en ce moment sur la page de connexion. Ils proviennent d'un ticket et disparaissent d'eux-mêmes une fois celui-ci résolu. L'interrupteur ci-dessus ne s'applique pas à eux."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.saved",
      "field": "text",
      "sourceText": "Saved",
      "targetText": "Enregistré"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.selectFieldFirst",
      "field": "text",
      "sourceText": "Click 'Title / Subject' or 'Body' first to choose where to insert.",
      "targetText": "Cliquez d'abord sur « Titre / objet » ou « Texte » pour choisir où insérer."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.sendAsEmail",
      "field": "text",
      "sourceText": "Send as E-Mail",
      "targetText": "Envoyer par e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.sendError",
      "field": "text",
      "sourceText": "Could not send e-mail",
      "targetText": "L'e-mail n'a pas pu être envoyé"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.sendMail",
      "field": "text",
      "sourceText": "Send Mail",
      "targetText": "Envoyer le message"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.sendSuccess",
      "field": "text",
      "sourceText": "E-mail sent",
      "targetText": "E-mail envoyé"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.systems.add",
      "field": "text",
      "sourceText": "Add System / Service",
      "targetText": "Ajouter un système / service"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.systems.empty",
      "field": "text",
      "sourceText": "No systems / services yet.",
      "targetText": "Pas encore de systèmes / services."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.systems.placeholder",
      "field": "text",
      "sourceText": "Enter a system / service",
      "targetText": "Saisir un système / service"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.systems.title",
      "field": "text",
      "sourceText": "Systems / Services",
      "targetText": "Systèmes / services"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.textModules.add",
      "field": "text",
      "sourceText": "Add Text Module",
      "targetText": "Ajouter un module de texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.textModules.empty",
      "field": "text",
      "sourceText": "No text modules yet.",
      "targetText": "Pas encore de modules de texte."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.textModules.placeholder",
      "field": "text",
      "sourceText": "Enter a text module",
      "targetText": "Saisir un module de texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.textModules.title",
      "field": "text",
      "sourceText": "Text Modules",
      "targetText": "Modules de texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.to.label",
      "field": "text",
      "sourceText": "To:",
      "targetText": "À :"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.to.placeholder",
      "field": "text",
      "sourceText": "Enter e-mail addresses, separated by commas",
      "targetText": "Saisissez les adresses e-mail, séparées par des virgules"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.toggle.label",
      "field": "text",
      "sourceText": "Turn notification on/off",
      "targetText": "Activer / désactiver l'avis"
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.unknownError",
      "field": "text",
      "sourceText": "An error occurred.",
      "targetText": "Une erreur est survenue."
    },
    {
      "entityType": "uiText",
      "entityKey": "maintenance.updated",
      "field": "text",
      "sourceText": "Updated",
      "targetText": "Mis à jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.back",
      "field": "text",
      "sourceText": "Back",
      "targetText": "Retour"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.dismiss",
      "field": "text",
      "sourceText": "Don't show again",
      "targetText": "Ne plus afficher"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.finish",
      "field": "text",
      "sourceText": "Finish setup",
      "targetText": "Terminer la configuration"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.finished.body",
      "field": "text",
      "sourceText": "Everything you need for daily work is in place. There is more to discover whenever you need it: service level agreements, automation rules, request workflows with approvals, reply templates and the knowledge base — each on its own settings page.",
      "targetText": "Tout ce qu'il vous faut pour le travail quotidien est en place. Il reste d'autres possibilités à découvrir le moment venu : accords de niveau de service, règles d'automatisation, workflows de demande avec approbations, modèles de réponse et base de connaissances — chacun sur sa propre page de paramètres."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.finished.title",
      "field": "text",
      "sourceText": "You're set up.",
      "targetText": "Votre configuration est terminée."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.later",
      "field": "text",
      "sourceText": "Continue later",
      "targetText": "Continuer plus tard"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.next",
      "field": "text",
      "sourceText": "Next",
      "targetText": "Suivant"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.openPage",
      "field": "text",
      "sourceText": "Open settings",
      "targetText": "Ouvrir les paramètres"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.proHint",
      "field": "text",
      "sourceText": "Included for the whole trial period. Afterwards this feature requires a Professional license.",
      "targetText": "Inclus pendant toute la période d'essai. Ensuite, cette fonction nécessite une licence Professional."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.proLocked",
      "field": "text",
      "sourceText": "Your current license is Basic, so this feature is switched off. You can set it up later at any time after upgrading to Professional.",
      "targetText": "Votre licence actuelle est Basic, cette fonction est donc désactivée. Vous pourrez la configurer à tout moment après être passé à Professional."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.recheck",
      "field": "text",
      "sourceText": "Check again",
      "targetText": "Vérifier à nouveau"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.sidebar",
      "field": "text",
      "sourceText": "Setup assistant",
      "targetText": "Assistant de configuration"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.skip",
      "field": "text",
      "sourceText": "Skip this step",
      "targetText": "Ignorer cette étape"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.statusDone",
      "field": "text",
      "sourceText": "Done",
      "targetText": "Terminé"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.statusOpen",
      "field": "text",
      "sourceText": "Open",
      "targetText": "À faire"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.statusSkipped",
      "field": "text",
      "sourceText": "Skipped",
      "targetText": "Ignoré"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.stepOf",
      "field": "text",
      "sourceText": "Step {0} of {1}",
      "targetText": "Étape {0} sur {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.categories.body",
      "field": "text",
      "sourceText": "Categories are what your customers pick when they file a ticket, and what your reports group by. Each team has its own set: create the main categories first, then the subcategories underneath them.",
      "targetText": "Les catégories sont ce que vos clients choisissent lorsqu'ils créent un ticket, et ce sur quoi vos rapports regroupent les données. Chaque équipe dispose de son propre jeu : créez d'abord les catégories principales, puis les sous-catégories qui en dépendent."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.categories.noTeams",
      "field": "text",
      "sourceText": "Create a team first — categories belong to a team.",
      "targetText": "Créez d'abord une équipe — les catégories appartiennent à une équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.categories.perTeam",
      "field": "text",
      "sourceText": "Open the categories of a team:",
      "targetText": "Ouvrir les catégories d'une équipe :"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.categories.title",
      "field": "text",
      "sourceText": "Set up categories",
      "targetText": "Configurer les catégories"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.email.body",
      "field": "text",
      "sourceText": "With SMTP configured, the system sends invitations with a sign-in link to new users, notifies agents about assignments, and replies to customers. Optionally, each team can have its own mailbox so incoming mail becomes tickets automatically.",
      "targetText": "Une fois SMTP configuré, le système envoie aux nouveaux utilisateurs une invitation contenant un lien de connexion, informe les agents des affectations et répond aux clients. En option, chaque équipe peut disposer de sa propre boîte aux lettres, afin que les courriels entrants deviennent automatiquement des tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.email.hint",
      "field": "text",
      "sourceText": "Use the test button on the e-mail settings page — it names the exact reason when something is wrong. Without e-mail, you hand new users the one-time password generated in the user administration instead.",
      "targetText": "Utilisez le bouton de test sur la page des paramètres de messagerie — il indique la cause exacte lorsque quelque chose ne va pas. Sans messagerie, vous remettez aux nouveaux utilisateurs le mot de passe à usage unique généré dans l'administration des utilisateurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.email.title",
      "field": "text",
      "sourceText": "Connect e-mail",
      "targetText": "Connecter la messagerie"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.firstTicket.body",
      "field": "text",
      "sourceText": "Try it out: file a ticket the way your customers will. Your helpdesk team can solve it directly or escalate it to a specialist team, which then takes over.",
      "targetText": "Faites l'essai : créez un ticket comme le feront vos clients. Votre équipe helpdesk peut le résoudre directement ou l'escalader vers une équipe spécialisée, qui prend alors le relais."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.firstTicket.title",
      "field": "text",
      "sourceText": "Create your first ticket",
      "targetText": "Créer votre premier ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.language.body",
      "field": "text",
      "sourceText": "The interface starts in English. Language packs are free JSON files: download the one you need, then import it under Settings → Language and switch the language on. Every user picks their own language afterwards.",
      "targetText": "L'interface démarre en anglais. Les packs de langue sont des fichiers JSON gratuits : téléchargez celui dont vous avez besoin, importez-le sous Paramètres → Langue et activez la langue. Ensuite, chaque utilisateur choisit lui-même sa langue."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.language.downloadLink",
      "field": "text",
      "sourceText": "Download language packs",
      "targetText": "Télécharger les packs de langue"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.language.hint",
      "field": "text",
      "sourceText": "Doing this first means the rest of this assistant speaks your language too.",
      "targetText": "En commençant par là, le reste de cet assistant parlera lui aussi votre langue."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.language.title",
      "field": "text",
      "sourceText": "Choose your language",
      "targetText": "Choisir votre langue"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.sso.body",
      "field": "text",
      "sourceText": "Let your users sign in with the accounts they already have — via OpenID Connect, SAML 2.0, LDAP/Active Directory or a regional social login.",
      "targetText": "Laissez vos utilisateurs se connecter avec les comptes qu'ils possèdent déjà — via OpenID Connect, SAML 2.0, LDAP/Active Directory ou une connexion sociale régionale."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.sso.hint",
      "field": "text",
      "sourceText": "If you plan to use single sign-on, set it up BEFORE you create user accounts by hand, so every account is provisioned through your identity provider from the start. Always keep your local administrator account as an emergency access.",
      "targetText": "Si vous prévoyez d'utiliser le single sign-on, configurez-le AVANT de créer des comptes utilisateur à la main, afin que chaque compte soit approvisionné par votre fournisseur d'identité dès le départ. Conservez toujours votre compte administrateur local comme accès de secours."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.sso.title",
      "field": "text",
      "sourceText": "Single sign-on (optional)",
      "targetText": "Single sign-on (facultatif)"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.teams.body",
      "field": "text",
      "sourceText": "A team is a group of agents that handles tickets together. Create at least one — your helpdesk or first point of contact — and add your administrators and agents to it.",
      "targetText": "Une équipe est un groupe d'agents qui traitent les tickets ensemble. Créez-en au moins une — votre helpdesk ou votre premier point de contact — et ajoutez-y vos administrateurs et vos agents."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.teams.hint",
      "field": "text",
      "sourceText": "Only the FIRST team is open to your customers. Every team you create after that is a specialist team that customers cannot see or file tickets in; those tickets get there by escalation from the first team. You can change this per team at any time.",
      "targetText": "Seule la PREMIÈRE équipe est ouverte à vos clients. Chaque équipe créée ensuite est une équipe spécialisée que les clients ne voient pas et dans laquelle ils ne peuvent pas créer de tickets ; ces tickets y parviennent par escalade depuis la première équipe. Vous pouvez modifier ce réglage pour chaque équipe à tout moment."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.teams.title",
      "field": "text",
      "sourceText": "Create your teams",
      "targetText": "Créer vos équipes"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.timezone.body",
      "field": "text",
      "sourceText": "Every timestamp in the system — tickets, reports, business hours — is shown in this time zone. The server clock stays on UTC, so this is the only place you need to set it.",
      "targetText": "Chaque horodatage du système — tickets, rapports, heures d'ouverture — est affiché dans ce fuseau horaire. L'horloge du serveur reste en UTC : c'est donc le seul endroit où vous devez le régler."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.timezone.title",
      "field": "text",
      "sourceText": "Set the time zone",
      "targetText": "Définir le fuseau horaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.users.body",
      "field": "text",
      "sourceText": "Create the accounts for your administrators, agents and customers, and give each one a role. Users who signed in through single sign-on already exist here — they start as customers, so this is where you promote them to agent or administrator.",
      "targetText": "Créez les comptes de vos administrateurs, agents et clients, et attribuez un rôle à chacun. Les utilisateurs qui se sont connectés via le single sign-on existent déjà ici — ils commencent comme clients, c'est donc ici que vous les promouvez agent ou administrateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.users.hint",
      "field": "text",
      "sourceText": "New users never receive a password by e-mail. They get a time-limited link to set their own — or, without e-mail, a one-time password you hand over personally.",
      "targetText": "Les nouveaux utilisateurs ne reçoivent jamais de mot de passe par courriel. Ils reçoivent un lien à durée limitée pour définir le leur — ou, sans messagerie, un mot de passe à usage unique que vous leur remettez en personne."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.steps.users.title",
      "field": "text",
      "sourceText": "Add your users",
      "targetText": "Ajouter vos utilisateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.title",
      "field": "text",
      "sourceText": "Setup assistant",
      "targetText": "Assistant de configuration"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.welcome.body",
      "field": "text",
      "sourceText": "Your ticket system is installed and ready. This assistant walks you through the settings you need to get started — it takes about ten minutes, and you can leave and return at any time.",
      "targetText": "Votre système de tickets est installé et prêt à l'emploi. Cet assistant vous guide à travers les paramètres nécessaires pour démarrer — cela prend une dizaine de minutes, et vous pouvez le quitter et y revenir à tout moment."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.welcome.demoNote",
      "field": "text",
      "sourceText": "You are running the trial version, which includes every Professional feature for the whole trial period. Nothing you set up now is lost when you buy a license — the trial becomes your live system.",
      "targetText": "Vous utilisez la version d'essai, qui comprend toutes les fonctions Professional pendant toute la période d'essai. Rien de ce que vous configurez maintenant n'est perdu lors de l'achat d'une licence — la version d'essai devient votre système de production."
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.welcome.languageLabel",
      "field": "text",
      "sourceText": "Language of this assistant",
      "targetText": "Langue de cet assistant"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.welcome.start",
      "field": "text",
      "sourceText": "Let's go",
      "targetText": "C'est parti"
    },
    {
      "entityType": "uiText",
      "entityKey": "onboarding.welcome.title",
      "field": "text",
      "sourceText": "Welcome!",
      "targetText": "Bienvenue !"
    },
    {
      "entityType": "uiText",
      "entityKey": "passwordRules.caselessNote",
      "field": "text",
      "sourceText": "If you write your password in a script without uppercase and lowercase letters, the two letter-case rules count as fulfilled.",
      "targetText": "Si vous écrivez votre mot de passe dans une écriture sans majuscules ni minuscules, les deux règles de casse sont considérées comme remplies."
    },
    {
      "entityType": "uiText",
      "entityKey": "passwordRules.history",
      "field": "text",
      "sourceText": "differ from your last {0} passwords",
      "targetText": "être différent de vos {0} derniers mots de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "passwordRules.minLength",
      "field": "text",
      "sourceText": "be at least {0} characters long",
      "targetText": "comporter au moins {0} caractères"
    },
    {
      "entityType": "uiText",
      "entityKey": "passwordRules.notMet",
      "field": "text",
      "sourceText": "Your password does not meet all requirements yet.",
      "targetText": "Votre mot de passe ne remplit pas encore toutes les exigences."
    },
    {
      "entityType": "uiText",
      "entityKey": "passwordRules.requireDigit",
      "field": "text",
      "sourceText": "contain a number",
      "targetText": "contenir un chiffre"
    },
    {
      "entityType": "uiText",
      "entityKey": "passwordRules.requireLowercase",
      "field": "text",
      "sourceText": "contain a lowercase letter",
      "targetText": "contenir une minuscule"
    },
    {
      "entityType": "uiText",
      "entityKey": "passwordRules.requireSpecial",
      "field": "text",
      "sourceText": "contain a special character",
      "targetText": "contenir un caractère spécial"
    },
    {
      "entityType": "uiText",
      "entityKey": "passwordRules.requireUppercase",
      "field": "text",
      "sourceText": "contain an uppercase letter",
      "targetText": "contenir une majuscule"
    },
    {
      "entityType": "uiText",
      "entityKey": "passwordRules.title",
      "field": "text",
      "sourceText": "Your password must:",
      "targetText": "Votre mot de passe doit :"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.backendArchiveManage",
      "field": "text",
      "sourceText": "Manage ticket archives",
      "targetText": "Gérer les archives de tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.backendArchiveManageDesc",
      "field": "text",
      "sourceText": "Allows previewing, creating, listing, downloading and deleting archive files, restoring archived tickets into the live system and removing archived tickets from the live database.",
      "targetText": "Permet de prévisualiser, créer, lister, télécharger et supprimer des fichiers d'archive, de restaurer des tickets archivés dans le système actif et de retirer des tickets archivés de la base de données active."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.backendLanguageSettingsAndTranslationsManage",
      "field": "text",
      "sourceText": "Manage Language Settings and Translations",
      "targetText": "Gérer les paramètres de langue et les traductions"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.backendLanguageSettingsAndTranslationsManageDesc",
      "field": "text",
      "sourceText": "Allows managing enabled languages and exporting and importing Translations.",
      "targetText": "Permet de gérer les langues activées ainsi que d'exporter et d'importer les traductions."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.backendUpdatesApply",
      "field": "text",
      "sourceText": "Install system updates",
      "targetText": "Installer les mises à jour du système"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.backendUpdatesApplyDesc",
      "field": "text",
      "sourceText": "Allows starting a system update from the Updates page. The update briefly restarts the system and makes it unavailable for a few minutes; a full backup is taken automatically first. Merely viewing whether an update is available is covered by the Updates page permission.",
      "targetText": "Permet de lancer une mise à jour du système depuis la page Mises à jour. La mise à jour redémarre brièvement le système et le rend indisponible quelques minutes ; une sauvegarde complète est effectuée automatiquement au préalable. Le simple fait de voir si une mise à jour est disponible relève du droit d'accès à la page Mises à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.backendUsersAssignable",
      "field": "text",
      "sourceText": "Controls access to the 'Assign to' ticket field.",
      "targetText": "Contrôle l'accès au champ « Attribuer à » du ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.backendUsersAssignableDesc",
      "field": "text",
      "sourceText": "Controls access to field of assignable agents and admins for Ticket assignment, within their Teams.",
      "targetText": "Contrôle l'accès au champ listant les agents et administrateurs auxquels un ticket peut être attribué, au sein de leurs équipes."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navKnowledgeBase",
      "field": "text",
      "sourceText": "Knowledge Base",
      "targetText": "Base de connaissances"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navKnowledgeBaseDesc",
      "field": "text",
      "sourceText": "Access the knowledge base page. Customers only see topics marked as customer-visible.",
      "targetText": "Accès à la page de la base de connaissances. Les clients ne voient que les sujets marqués comme visibles par les clients."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navMaintenance",
      "field": "text",
      "sourceText": "Maintenance / Incident-Notification page",
      "targetText": "Page des avis de maintenance / d'incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navMaintenanceDesc",
      "field": "text",
      "sourceText": "Allows creating and managing maintenance / incident notifications.",
      "targetText": "Permet de créer et de gérer les avis de maintenance et d'incident."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navNewTicket",
      "field": "text",
      "sourceText": "Sidebar: New Ticket",
      "targetText": "Barre latérale : nouveau ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navNewTicketDesc",
      "field": "text",
      "sourceText": "Allows showing the create-ticket navigation entry.",
      "targetText": "Permet d'afficher l'entrée de navigation pour la création de tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsArchive",
      "field": "text",
      "sourceText": "Control access to 'Archive' Webpage",
      "targetText": "Contrôle l'accès à la page « Archive »"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsArchiveDesc",
      "field": "text",
      "sourceText": "Allows opening the ticket archive page to create, download and manage archives.",
      "targetText": "Permet d'ouvrir la page des archives de tickets pour créer, télécharger et gérer les archives."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsAutomation",
      "field": "text",
      "sourceText": "Settings: Automation",
      "targetText": "Paramètres : automatisation"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsAutomationDesc",
      "field": "text",
      "sourceText": "May create and change time-based automation rules.",
      "targetText": "Peut créer et modifier des règles d'automatisation basées sur le temps."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsCi",
      "field": "text",
      "sourceText": "Control access to 'CI Settings' Webpage",
      "targetText": "Contrôle l'accès à la page « Identité visuelle »"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsCiDesc",
      "field": "text",
      "sourceText": "Allows configuring the corporate identity (logo, favicon and colors).",
      "targetText": "Permet de configurer l'identité visuelle (logo, favicon et couleurs)."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsEmail",
      "field": "text",
      "sourceText": "Control access to 'E-Mail Settings' Webpage",
      "targetText": "Contrôle l'accès à la page « Paramètres e-mail »"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsEmailDesc",
      "field": "text",
      "sourceText": "Allows SMTP, IMAP and E-Mail Workflow settings.",
      "targetText": "Permet de régler les paramètres SMTP, IMAP et les workflows e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsGeneral",
      "field": "text",
      "sourceText": "Control access to 'General Settings' Webpage",
      "targetText": "Contrôle l'accès à la page « Paramètres généraux »"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsGeneralDesc",
      "field": "text",
      "sourceText": "Control various Drop-Down fields and possible other settings.",
      "targetText": "Contrôle diverses listes déroulantes et d'éventuels autres paramètres."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsKnowledgeBase",
      "field": "text",
      "sourceText": "Knowledge Base Settings",
      "targetText": "Paramètres de la base de connaissances"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsKnowledgeBaseDesc",
      "field": "text",
      "sourceText": "Manage knowledge base topics, creation rights and view the audit history.",
      "targetText": "Gérer les sujets de la base de connaissances et les droits de création, et consulter l'historique d'audit."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsLicense",
      "field": "text",
      "sourceText": "Control access to 'License' Webpage",
      "targetText": "Contrôle l'accès à la page « Licence »"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsLicenseDesc",
      "field": "text",
      "sourceText": "Allows opening the license page to view the current license status, activate a new license key and deactivate the local license.",
      "targetText": "Permet d'ouvrir la page de licence pour consulter l'état actuel, activer une nouvelle clé et désactiver la licence locale."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsReports",
      "field": "text",
      "sourceText": "Report Settings",
      "targetText": "Paramètres des rapports"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsReportsDesc",
      "field": "text",
      "sourceText": "Control access to 'Report Settings' Webpage. Allows to enable / disable fields on the Report Webpage.",
      "targetText": "Contrôle l'accès à la page « Paramètres des rapports ». Permet d'activer ou de désactiver des champs sur la page des rapports."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsRequestWorkflows",
      "field": "text",
      "sourceText": "Settings: Request workflows",
      "targetText": "Paramètres : workflows de demande"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsRequestWorkflowsDesc",
      "field": "text",
      "sourceText": "May build request workflows. Careful: their tasks create tickets in other teams.",
      "targetText": "Peut construire des workflows de demande. Attention : leurs tâches créent des tickets dans d'autres équipes."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsSecurity",
      "field": "text",
      "sourceText": "Control access to 'Security' Webpage",
      "targetText": "Contrôle l'accès à la page « Sécurité »"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsSecurityDesc",
      "field": "text",
      "sourceText": "Control Security access.",
      "targetText": "Contrôle l'accès aux paramètres de sécurité."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsSla",
      "field": "text",
      "sourceText": "SLA settings",
      "targetText": "Paramètres SLA"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsSlaDesc",
      "field": "text",
      "sourceText": "Manage business hours and deadline policies.",
      "targetText": "Gérer les heures ouvrables et les politiques d'échéance."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsSso",
      "field": "text",
      "sourceText": "Control access to 'SSO Settings' Webpage",
      "targetText": "Contrôle l'accès à la page « Paramètres SSO »"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsSsoDesc",
      "field": "text",
      "sourceText": "Allows configuring single sign-on providers (LDAP/Active Directory, generic OIDC, SAML 2.0 and regional social logins).",
      "targetText": "Permet de configurer les fournisseurs d'authentification unique (LDAP/Active Directory, OIDC générique, SAML 2.0 et connexions sociales régionales)."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsTeams",
      "field": "text",
      "sourceText": "Control access to 'Teams' Webpage",
      "targetText": "Contrôle l'accès à la page « Équipes »"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsTeamsDesc",
      "field": "text",
      "sourceText": "Allows creating, editing and deleting Teams and manage Agent and Customer access to those Teams.",
      "targetText": "Permet de créer, modifier et supprimer des équipes et de gérer l'accès des agents et des clients à ces équipes."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsTemplates",
      "field": "text",
      "sourceText": "Settings: Templates",
      "targetText": "Paramètres : modèles"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsTemplatesDesc",
      "field": "text",
      "sourceText": "May create and change reply templates.",
      "targetText": "Peut créer et modifier des modèles de réponse."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsTicketFieldSettings",
      "field": "text",
      "sourceText": "Control access to 'Ticket Settings' Webpage",
      "targetText": "Contrôle l'accès à la page « Paramètres des tickets »"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsTicketFieldSettingsDesc",
      "field": "text",
      "sourceText": "Allows various settings regarding the Ticket Webpage.",
      "targetText": "Permet divers réglages concernant la page des tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsUpdates",
      "field": "text",
      "sourceText": "Control access to 'Updates' Webpage",
      "targetText": "Contrôle l'accès à la page « Mises à jour »"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.navSettingsUpdatesDesc",
      "field": "text",
      "sourceText": "Allows opening the updates page to check the installed version and see whether a new release is available.",
      "targetText": "Permet d'ouvrir la page des mises à jour pour vérifier la version installée et voir si une nouvelle version est disponible."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.securityUserManagement",
      "field": "text",
      "sourceText": "User Management",
      "targetText": "Gestion des utilisateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.securityUserManagementDesc",
      "field": "text",
      "sourceText": "Allows creating, editing, archiving and resetting users (accounts).",
      "targetText": "Permet de créer, modifier, archiver et réinitialiser des utilisateurs (comptes)."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.timeTrackingEditClosed",
      "field": "text",
      "sourceText": "Time tracking: edit after closing",
      "targetText": "Suivi du temps : modification après fermeture"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.timeTrackingEditClosedDesc",
      "field": "text",
      "sourceText": "May still change entries once the ticket is resolved or closed. Without this right an already invoiced period cannot be moved afterwards.",
      "targetText": "Peut encore modifier des entrées une fois le ticket résolu ou fermé. Sans ce droit, une période déjà facturée ne peut plus être déplacée après coup."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.timeTrackingLog",
      "field": "text",
      "sourceText": "Time tracking: log time",
      "targetText": "Suivi du temps : saisir du temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.timeTrackingLogDesc",
      "field": "text",
      "sourceText": "May log time on tickets of their teams and edit their own entries.",
      "targetText": "Peut saisir du temps sur les tickets de ses équipes et modifier ses propres entrées."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.timeTrackingManageOthers",
      "field": "text",
      "sourceText": "Time tracking: edit other people's entries",
      "targetText": "Suivi du temps : modifier les entrées d'autrui"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.timeTrackingManageOthersDesc",
      "field": "text",
      "sourceText": "May change or delete time entries logged by someone else. Whoever can change other people's time changes other people's invoices.",
      "targetText": "Peut modifier ou supprimer des entrées de temps saisies par quelqu'un d'autre. Qui modifie le temps d'autrui modifie la facture d'autrui."
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.timeTrackingReport",
      "field": "text",
      "sourceText": "Time tracking: see the report",
      "targetText": "Suivi du temps : consulter le rapport"
    },
    {
      "entityType": "uiText",
      "entityKey": "permissions.timeTrackingReportDesc",
      "field": "text",
      "sourceText": "May open the time report and export the entries as CSV.",
      "targetText": "Peut ouvrir le rapport de temps et exporter les entrées au format CSV."
    },
    {
      "entityType": "uiText",
      "entityKey": "positions.errors.alreadyExists",
      "field": "text",
      "sourceText": "Position already exists.",
      "targetText": "La fonction existe déjà."
    },
    {
      "entityType": "uiText",
      "entityKey": "priority.Critical",
      "field": "text",
      "sourceText": "Critical",
      "targetText": "Critique"
    },
    {
      "entityType": "uiText",
      "entityKey": "priority.High",
      "field": "text",
      "sourceText": "High",
      "targetText": "Haute"
    },
    {
      "entityType": "uiText",
      "entityKey": "priority.Low",
      "field": "text",
      "sourceText": "Low",
      "targetText": "Basse"
    },
    {
      "entityType": "uiText",
      "entityKey": "priority.Medium",
      "field": "text",
      "sourceText": "Medium",
      "targetText": "Moyenne"
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.choose",
      "field": "text",
      "sourceText": "Choose image",
      "targetText": "Choisir une image"
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.cropHint",
      "field": "text",
      "sourceText": "Drag to move, use the slider to zoom. The visible circle is what others will see.",
      "targetText": "Faites glisser pour déplacer, utilisez le curseur pour zoomer. Le cercle visible correspond à ce que les autres verront."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.cropTitle",
      "field": "text",
      "sourceText": "Position your picture",
      "targetText": "Positionnez votre photo"
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.current",
      "field": "text",
      "sourceText": "Current picture",
      "targetText": "Photo actuelle"
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.errors.corrupt",
      "field": "text",
      "sourceText": "This image could not be read. Please try a different file.",
      "targetText": "Cette image n'a pas pu être lue. Essayez un autre fichier."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.errors.dimensions",
      "field": "text",
      "sourceText": "The image resolution is too high. Please use a smaller image.",
      "targetText": "La résolution de l'image est trop élevée. Utilisez une image plus petite."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.errors.empty",
      "field": "text",
      "sourceText": "No image was selected.",
      "targetText": "Aucune image n'a été sélectionnée."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.errors.format",
      "field": "text",
      "sourceText": "Only JPEG, PNG and WebP images are accepted.",
      "targetText": "Seules les images JPEG, PNG et WebP sont acceptées."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.errors.generic",
      "field": "text",
      "sourceText": "The profile picture could not be saved.",
      "targetText": "La photo de profil n'a pas pu être enregistrée."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.errors.notAllowed",
      "field": "text",
      "sourceText": "Profile pictures are disabled for customer accounts.",
      "targetText": "Les photos de profil sont désactivées pour les comptes clients."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.errors.tooLarge",
      "field": "text",
      "sourceText": "The image is too large. Maximum size is {0} MB.",
      "targetText": "L'image est trop volumineuse. La taille maximale est de {0} MB."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.hint",
      "field": "text",
      "sourceText": "JPEG, PNG or WebP, up to {0} MB. The image is cropped to a square and scaled down automatically.",
      "targetText": "JPEG, PNG ou WebP, jusqu'à {0} MB. L'image est recadrée en carré et réduite automatiquement."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.noPicture",
      "field": "text",
      "sourceText": "No picture uploaded yet — your initials are shown instead.",
      "targetText": "Aucune photo envoyée pour l'instant — vos initiales sont affichées à la place."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.remove",
      "field": "text",
      "sourceText": "Remove picture",
      "targetText": "Supprimer la photo"
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.removed",
      "field": "text",
      "sourceText": "Profile picture removed.",
      "targetText": "Photo de profil supprimée."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.replace",
      "field": "text",
      "sourceText": "Replace image",
      "targetText": "Remplacer l'image"
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.save",
      "field": "text",
      "sourceText": "Save picture",
      "targetText": "Enregistrer la photo"
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.saved",
      "field": "text",
      "sourceText": "Profile picture updated.",
      "targetText": "Photo de profil mise à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.saving",
      "field": "text",
      "sourceText": "Saving...",
      "targetText": "Enregistrement..."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.avatar.zoom",
      "field": "text",
      "sourceText": "Zoom",
      "targetText": "Zoom"
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.subtitle",
      "field": "text",
      "sourceText": "Your picture is shown next to your name in tickets and in the sidebar.",
      "targetText": "Votre photo apparaît à côté de votre nom dans les tickets et dans la barre latérale."
    },
    {
      "entityType": "uiText",
      "entityKey": "profile.title",
      "field": "text",
      "sourceText": "Profile picture",
      "targetText": "Photo de profil"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.allFieldsRequired",
      "field": "text",
      "sourceText": "Please fill in all fields.",
      "targetText": "Veuillez remplir tous les champs."
    },
    {
      "entityType": "uiText",
      "entityKey": "register.backToLogin",
      "field": "text",
      "sourceText": "Back to sign in",
      "targetText": "Retour à la connexion"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.description",
      "field": "text",
      "sourceText": "Register to submit tickets and follow their progress. Your sign-in name is derived from your e-mail address and shown once you are done.",
      "targetText": "Inscrivez-vous pour soumettre des tickets et suivre leur avancement. Votre identifiant de connexion est dérivé de votre adresse e-mail et vous sera affiché une fois l'inscription terminée."
    },
    {
      "entityType": "uiText",
      "entityKey": "register.disabledBody",
      "field": "text",
      "sourceText": "This system does not accept self-registration. Please ask your administrator for an account.",
      "targetText": "Ce système n'accepte pas l'inscription libre. Demandez un compte à votre administrateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "register.disabledTitle",
      "field": "text",
      "sourceText": "Registration is not available",
      "targetText": "L'inscription n'est pas disponible"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.doneBody",
      "field": "text",
      "sourceText": "You can sign in now with the password you just chose. If e-mail is set up on this system, a message with your sign-in name is on its way.",
      "targetText": "Vous pouvez maintenant vous connecter avec le mot de passe que vous venez de choisir. Si la messagerie est configurée sur ce système, un message contenant votre identifiant est en route."
    },
    {
      "entityType": "uiText",
      "entityKey": "register.doneTitle",
      "field": "text",
      "sourceText": "Your account is ready",
      "targetText": "Votre compte est prêt"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.email",
      "field": "text",
      "sourceText": "E-mail address",
      "targetText": "Adresse e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.emailPlaceholder",
      "field": "text",
      "sourceText": "you@example.com",
      "targetText": "vous@exemple.fr"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.error",
      "field": "text",
      "sourceText": "The account could not be created. Please try again later.",
      "targetText": "Le compte n'a pas pu être créé. Veuillez réessayer plus tard."
    },
    {
      "entityType": "uiText",
      "entityKey": "register.firstName",
      "field": "text",
      "sourceText": "First name",
      "targetText": "Prénom"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.lastName",
      "field": "text",
      "sourceText": "Last name",
      "targetText": "Nom de famille"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.password",
      "field": "text",
      "sourceText": "Password",
      "targetText": "Mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.sending",
      "field": "text",
      "sourceText": "Creating account...",
      "targetText": "Création du compte..."
    },
    {
      "entityType": "uiText",
      "entityKey": "register.submit",
      "field": "text",
      "sourceText": "Create account",
      "targetText": "Créer le compte"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.title",
      "field": "text",
      "sourceText": "Create an account",
      "targetText": "Créer un compte"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.toLogin",
      "field": "text",
      "sourceText": "Go to sign in",
      "targetText": "Aller à la connexion"
    },
    {
      "entityType": "uiText",
      "entityKey": "register.yourUsername",
      "field": "text",
      "sourceText": "Your sign-in name",
      "targetText": "Votre identifiant de connexion"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.agent",
      "field": "text",
      "sourceText": "Agent",
      "targetText": "Agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.allAgents",
      "field": "text",
      "sourceText": "All agents",
      "targetText": "Tous les agents"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.allCategories",
      "field": "text",
      "sourceText": "All categories",
      "targetText": "Toutes les catégories"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.allChannels",
      "field": "text",
      "sourceText": "All channels",
      "targetText": "Tous les canaux"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.allMainCategories",
      "field": "text",
      "sourceText": "All main categories",
      "targetText": "Toutes les catégories principales"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.allPlaceholder",
      "field": "text",
      "sourceText": "All",
      "targetText": "Tous"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.allPriorities",
      "field": "text",
      "sourceText": "All priorities",
      "targetText": "Toutes les priorités"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.allStatuses",
      "field": "text",
      "sourceText": "All statuses",
      "targetText": "Tous les statuts"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.allSubCategories",
      "field": "text",
      "sourceText": "All subcategories",
      "targetText": "Toutes les sous-catégories"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.allTeams",
      "field": "text",
      "sourceText": "All teams",
      "targetText": "Toutes les équipes"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.allUsers",
      "field": "text",
      "sourceText": "All users",
      "targetText": "Tous les utilisateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.autoAssign.assigned",
      "field": "text",
      "sourceText": "Assigned automatically",
      "targetText": "Attribué automatiquement"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.autoAssign.formerMember",
      "field": "text",
      "sourceText": "no longer in the team",
      "targetText": "n'est plus dans l'équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.autoAssign.noCandidate",
      "field": "text",
      "sourceText": "Nobody available",
      "targetText": "Personne de disponible"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.autoAssign.noCandidateHint",
      "field": "text",
      "sourceText": "Tickets that stayed unassigned because every agent of the team was busy or away.",
      "targetText": "Tickets restés non attribués parce que tous les agents de l'équipe étaient occupés ou absents."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.autoAssign.noCandidateTickets",
      "field": "text",
      "sourceText": "Most recent:",
      "targetText": "Les plus récents :"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.autoAssign.noTeams",
      "field": "text",
      "sourceText": "No team distributes tickets automatically. The setting is per team in Teams.",
      "targetText": "Aucune équipe ne distribue les tickets automatiquement. Le réglage se fait par équipe dans Équipes."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.autoAssign.subtitle",
      "field": "text",
      "sourceText": "What the distribution did in the selected period — a log of the automation, not a rating of people.",
      "targetText": "Ce que la répartition a fait sur la période choisie — un journal de l'automatisation, pas une évaluation des personnes."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.autoAssign.teams",
      "field": "text",
      "sourceText": "Teams in this view",
      "targetText": "Équipes dans cette vue"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.autoAssign.tickets",
      "field": "text",
      "sourceText": "Tickets",
      "targetText": "Tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.autoAssign.title",
      "field": "text",
      "sourceText": "Automatic assignment",
      "targetText": "Attribution automatique"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.category",
      "field": "text",
      "sourceText": "Category",
      "targetText": "Catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.channel",
      "field": "text",
      "sourceText": "Channel",
      "targetText": "Canal"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.agents",
      "field": "text",
      "sourceText": "Agents",
      "targetText": "Agents"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.averagesSkipped",
      "field": "text",
      "sourceText": "Average processing times are not calculated for more than {limit} tickets. Narrow the filter to see them.",
      "targetText": "Les temps de traitement moyens ne sont pas calculés au-delà de {limit} tickets. Restreignez le filtre pour les voir."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.avgNetProcessing",
      "field": "text",
      "sourceText": "Avg net processing (h)",
      "targetText": "Traitement net moyen (h)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.avgWaitingOtherTeam",
      "field": "text",
      "sourceText": "Avg waiting for other team (h)",
      "targetText": "Attente moyenne d'une autre équipe (h)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.avgWaitingUser",
      "field": "text",
      "sourceText": "Avg waiting for user (h)",
      "targetText": "Attente moyenne de l'utilisateur (h)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.byAgent",
      "field": "text",
      "sourceText": "By agent",
      "targetText": "Par agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.byChannel",
      "field": "text",
      "sourceText": "By channel",
      "targetText": "Par canal"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.byLocation",
      "field": "text",
      "sourceText": "By location",
      "targetText": "Par site"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.byMainCategory",
      "field": "text",
      "sourceText": "By main category",
      "targetText": "Par catégorie principale"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.byPriority",
      "field": "text",
      "sourceText": "By priority",
      "targetText": "Par priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.byStatus",
      "field": "text",
      "sourceText": "By status",
      "targetText": "Par statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.bySubCategory",
      "field": "text",
      "sourceText": "By subcategory",
      "targetText": "Par sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.byTeam",
      "field": "text",
      "sourceText": "By processing team",
      "targetText": "Par équipe de traitement"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.byUser",
      "field": "text",
      "sourceText": "By user",
      "targetText": "Par utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.count",
      "field": "text",
      "sourceText": "Count",
      "targetText": "Nombre"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.hours",
      "field": "text",
      "sourceText": "Hours",
      "targetText": "Heures"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.open",
      "field": "text",
      "sourceText": "Open",
      "targetText": "Ouverts"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.overTime",
      "field": "text",
      "sourceText": "Tickets over time",
      "targetText": "Tickets dans le temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.resolved",
      "field": "text",
      "sourceText": "Resolved",
      "targetText": "Résolus"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.share",
      "field": "text",
      "sourceText": "Share",
      "targetText": "Part"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.showingTop",
      "field": "text",
      "sourceText": "Showing the largest {shown} of {total} groups; {other} tickets are in the groups not shown.",
      "targetText": "Affichage des {shown} plus grands groupes sur {total} ; {other} tickets se trouvent dans les groupes non affichés."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.slaBreakdown",
      "field": "text",
      "sourceText": "SLA waiting times (avg hours)",
      "targetText": "Temps d'attente SLA (moyenne en heures)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.tickets",
      "field": "text",
      "sourceText": "Tickets",
      "targetText": "Tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.total",
      "field": "text",
      "sourceText": "Total",
      "targetText": "Total"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.charts.unassigned",
      "field": "text",
      "sourceText": "Unassigned",
      "targetText": "Non attribués"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.chooseDate",
      "field": "text",
      "sourceText": "Choose date:",
      "targetText": "Choisir une date :"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.confirmPages",
      "field": "text",
      "sourceText": "Are you sure you want to export approximately {pages} pages?",
      "targetText": "Voulez-vous vraiment exporter environ {pages} pages ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.average",
      "field": "text",
      "sourceText": "Average score",
      "targetText": "Note moyenne"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.byAgent",
      "field": "text",
      "sourceText": "By agent",
      "targetText": "Par agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.byTeam",
      "field": "text",
      "sourceText": "By team",
      "targetText": "Par équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.comments",
      "field": "text",
      "sourceText": "Latest comments",
      "targetText": "Derniers commentaires"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.disabled",
      "field": "text",
      "sourceText": "Satisfaction surveys are not enabled.",
      "targetText": "Les enquêtes de satisfaction ne sont pas activées."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.filterAll",
      "field": "text",
      "sourceText": "All tickets",
      "targetText": "Tous les tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.filterLabel",
      "field": "text",
      "sourceText": "Satisfaction",
      "targetText": "Satisfaction"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.filterRated",
      "field": "text",
      "sourceText": "Rated only",
      "targetText": "Évalués uniquement"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.filterScoreMax",
      "field": "text",
      "sourceText": "Score to",
      "targetText": "Note jusqu'à"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.filterScoreMin",
      "field": "text",
      "sourceText": "Score from",
      "targetText": "Note à partir de"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.filterUnrated",
      "field": "text",
      "sourceText": "Not rated",
      "targetText": "Non évalués"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.noData",
      "field": "text",
      "sourceText": "No survey data in the selected period.",
      "targetText": "Aucune donnée d'enquête sur la période choisie."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.notAsked",
      "field": "text",
      "sourceText": "Closed without survey",
      "targetText": "Fermés sans enquête"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.notAskedHint",
      "field": "text",
      "sourceText": "Closed tickets that did not receive a survey (no requester, merged reports, incident links, throttling, or surveys disabled).",
      "targetText": "Tickets fermés qui n'ont pas reçu d'enquête (pas de demandeur, signalements fusionnés, liens d'incident, limitation ou enquêtes désactivées)."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.responseRate",
      "field": "text",
      "sourceText": "Response rate",
      "targetText": "Taux de réponse"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.responses",
      "field": "text",
      "sourceText": "Responses",
      "targetText": "Réponses"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.satisfactionRate",
      "field": "text",
      "sourceText": "Satisfaction rate (4-5 stars)",
      "targetText": "Taux de satisfaction (4-5 étoiles)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.sent",
      "field": "text",
      "sourceText": "Surveys sent",
      "targetText": "Enquêtes envoyées"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.title",
      "field": "text",
      "sourceText": "Customer satisfaction (CSAT)",
      "targetText": "Satisfaction client (CSAT)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csat.trend",
      "field": "text",
      "sourceText": "Trend",
      "targetText": "Tendance"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csvExport",
      "field": "text",
      "sourceText": "CSV export",
      "targetText": "Export CSV"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csvExported",
      "field": "text",
      "sourceText": "CSV exported!",
      "targetText": "CSV exporté !"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.csvHeaders",
      "field": "text",
      "sourceText": "ID;Title;Status;Priority;Category;Assigned to;Created at;Waiting user (h);Waiting ERP (h);Waiting IT infra (h);Net processing (h)",
      "targetText": "ID;Titre;Statut;Priorité;Catégorie;Attribué à;Créé le;Attente utilisateur (h);Attente ERP (h);Attente infra IT (h);Traitement net (h)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.date",
      "field": "text",
      "sourceText": "Date",
      "targetText": "Date"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.duplicates.byChannel",
      "field": "text",
      "sourceText": "Channel combination (original to duplicate)",
      "targetText": "Combinaison de canaux (original vers doublon)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.duplicates.byRequester",
      "field": "text",
      "sourceText": "Per requester",
      "targetText": "Par demandeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.duplicates.heading",
      "field": "text",
      "sourceText": "Duplicate reports",
      "targetText": "Signalements en double"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.duplicates.hint",
      "field": "text",
      "sourceText": "A high count for one person usually means the same issue arrived through two channels, not that someone works badly. The channel breakdown is the part you can act on.",
      "targetText": "Un nombre élevé pour une même personne signifie généralement que le même problème est arrivé par deux canaux, et non que quelqu'un travaille mal. La répartition par canal est la partie sur laquelle vous pouvez agir."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.duplicates.merged",
      "field": "text",
      "sourceText": "Tickets merged",
      "targetText": "Tickets fusionnés"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.duplicates.none",
      "field": "text",
      "sourceText": "No tickets were merged in this period.",
      "targetText": "Aucun ticket n'a été fusionné sur cette période."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.duplicates.originals",
      "field": "text",
      "sourceText": "Merged into",
      "targetText": "Fusionnés dans"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.duplicates.requesters",
      "field": "text",
      "sourceText": "People affected",
      "targetText": "Personnes concernées"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.duplicates.unknown",
      "field": "text",
      "sourceText": "{count} duplicates could not be attributed to a requester (no address and no own account).",
      "targetText": "{count} doublons n'ont pas pu être rattachés à un demandeur (pas d'adresse ni de compte propre)."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.exportFailed",
      "field": "text",
      "sourceText": "Export failed.",
      "targetText": "Échec de l'export."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.exportLoadingTickets",
      "field": "text",
      "sourceText": "Loading {total} tickets for the export...",
      "targetText": "Chargement de {total} tickets pour l'export..."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.exportProgress",
      "field": "text",
      "sourceText": "Loading tickets... {loaded} of {total}",
      "targetText": "Chargement des tickets... {loaded} sur {total}"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.filter",
      "field": "text",
      "sourceText": "Filter",
      "targetText": "Filtre"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.from",
      "field": "text",
      "sourceText": "From",
      "targetText": "Du"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.generateReport",
      "field": "text",
      "sourceText": "Generate report",
      "targetText": "Générer le rapport"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.incidents.heading",
      "field": "text",
      "sourceText": "Group incidents",
      "targetText": "Incidents collectifs"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.incidents.hint",
      "field": "text",
      "sourceText": "Each report keeps its own requester, status and deadline. The figure shows how much reporting one outage produced, not how much time was saved.",
      "targetText": "Chaque signalement conserve son demandeur, son statut et son échéance. Le chiffre indique combien de signalements une panne a produits, pas le temps gagné."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.incidents.incidents",
      "field": "text",
      "sourceText": "Group incidents",
      "targetText": "Incidents collectifs"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.incidents.largest",
      "field": "text",
      "sourceText": "Largest incidents",
      "targetText": "Incidents les plus importants"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.incidents.none",
      "field": "text",
      "sourceText": "No group incidents in this period.",
      "targetText": "Aucun incident collectif sur cette période."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.incidents.ratio",
      "field": "text",
      "sourceText": "Reports per incident",
      "targetText": "Signalements par incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.incidents.reports",
      "field": "text",
      "sourceText": "Reports attached",
      "targetText": "Signalements rattachés"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.incidents.resolved",
      "field": "text",
      "sourceText": "Incidents resolved",
      "targetText": "Incidents résolus"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.incidents.summary",
      "field": "text",
      "sourceText": "{reports} reports were handled through {incidents} incidents.",
      "targetText": "{reports} signalements ont été traités via {incidents} incidents."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.includeTicketTable",
      "field": "text",
      "sourceText": "Include ticket table in export",
      "targetText": "Inclure le tableau des tickets dans l'export"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.includeTicketTableSlow",
      "field": "text",
      "sourceText": "With this many tickets the export can take a while.",
      "targetText": "Avec autant de tickets, l'export peut prendre un moment."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.includeTicketTableWarning",
      "field": "text",
      "sourceText": "All {total} tickets will be added to the export as a table, approximately {pages} pages.",
      "targetText": "Les {total} tickets seront ajoutés à l'export sous forme de tableau, soit environ {pages} pages."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.loadError",
      "field": "text",
      "sourceText": "Error loading report.",
      "targetText": "Erreur lors du chargement du rapport."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.location",
      "field": "text",
      "sourceText": "Location",
      "targetText": "Site"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.mainCategory",
      "field": "text",
      "sourceText": "Main category",
      "targetText": "Catégorie principale"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.noData",
      "field": "text",
      "sourceText": "No data to export.",
      "targetText": "Aucune donnée à exporter."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.openDatePicker",
      "field": "text",
      "sourceText": "Show date picker",
      "targetText": "Afficher le sélecteur de date"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.pagesEstimate",
      "field": "text",
      "sourceText": "approx. {pages} pages",
      "targetText": "env. {pages} pages"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.pdfBuilding",
      "field": "text",
      "sourceText": "Creating the PDF...",
      "targetText": "Création du PDF..."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.pdfChartsHeading",
      "field": "text",
      "sourceText": "Charts",
      "targetText": "Graphiques"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.pdfDataHeading",
      "field": "text",
      "sourceText": "Ticket data",
      "targetText": "Données des tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.pdfExport",
      "field": "text",
      "sourceText": "PDF export",
      "targetText": "Export PDF"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.pdfExported",
      "field": "text",
      "sourceText": "PDF exported!",
      "targetText": "PDF exporté !"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.pdfGeneratedOn",
      "field": "text",
      "sourceText": "Generated on",
      "targetText": "Généré le"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.pdfReportTitle",
      "field": "text",
      "sourceText": "Ticket Report",
      "targetText": "Rapport de tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.pdfRowLimit",
      "field": "text",
      "sourceText": "The PDF contains at most {max} tickets; use the CSV export for the complete data.",
      "targetText": "Le PDF contient au maximum {max} tickets ; utilisez l'export CSV pour les données complètes."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.pdfRowsTruncated",
      "field": "text",
      "sourceText": "Showing the first {shown} of {total} rows.",
      "targetText": "Affichage des {shown} premières lignes sur {total}."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.priority",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.requester",
      "field": "text",
      "sourceText": "Requester",
      "targetText": "Demandeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.avg",
      "field": "text",
      "sourceText": "Avg. time used",
      "targetText": "Temps moyen utilisé"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.breached",
      "field": "text",
      "sourceText": "Breached",
      "targetText": "Dépassées"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.countsClocks",
      "field": "text",
      "sourceText": "Counted per target, not per ticket: a ticket with a first-reply and a resolution target counts twice.",
      "targetText": "Compté par objectif, pas par ticket : un ticket ayant un objectif de première réponse et un objectif de résolution compte deux fois."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.heading",
      "field": "text",
      "sourceText": "Service level agreements",
      "targetText": "Accords de niveau de service"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.incidentHint",
      "field": "text",
      "sourceText": "Closing thirty reports through one group incident produces thirty met targets from a single piece of work. The second figure leaves those reports out.",
      "targetText": "Fermer trente signalements via un seul incident collectif produit trente objectifs atteints à partir d'un seul travail. Le second chiffre exclut ces signalements."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.met",
      "field": "text",
      "sourceText": "Met",
      "targetText": "Atteintes"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.metWithoutIncidents",
      "field": "text",
      "sourceText": "Met without group incidents",
      "targetText": "Atteintes hors incidents collectifs"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.metric",
      "field": "text",
      "sourceText": "Target",
      "targetText": "Objectif"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.metricFirstResponse",
      "field": "text",
      "sourceText": "First response",
      "targetText": "Première réponse"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.metricResolution",
      "field": "text",
      "sourceText": "Resolution",
      "targetText": "Résolution"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.noData",
      "field": "text",
      "sourceText": "No deadlines started in this period.",
      "targetText": "Aucune échéance n'a démarré sur cette période."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.notEnabled",
      "field": "text",
      "sourceText": "No SLA rule is active, so nothing is being measured.",
      "targetText": "Aucune règle SLA n'est active, rien n'est donc mesuré."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.open",
      "field": "text",
      "sourceText": "Still running",
      "targetText": "En cours"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.rate",
      "field": "text",
      "sourceText": "Achieved",
      "targetText": "Taux atteint"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.sla.rateWithoutIncidents",
      "field": "text",
      "sourceText": "Achieved without group incidents",
      "targetText": "Taux atteint hors incidents collectifs"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.status",
      "field": "text",
      "sourceText": "Status",
      "targetText": "Statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.subCategory",
      "field": "text",
      "sourceText": "Subcategory",
      "targetText": "Sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.subtitle",
      "field": "text",
      "sourceText": "Ticket analyses and statistics",
      "targetText": "Analyses et statistiques des tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.team",
      "field": "text",
      "sourceText": "Processing team",
      "targetText": "Équipe de traitement"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.billed",
      "field": "text",
      "sourceText": "Billed",
      "targetText": "Facturé"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.byAgent",
      "field": "text",
      "sourceText": "By agent",
      "targetText": "Par agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.byCategory",
      "field": "text",
      "sourceText": "By category",
      "targetText": "Par catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.byDate",
      "field": "text",
      "sourceText": "By day",
      "targetText": "Par jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.byRequester",
      "field": "text",
      "sourceText": "By requester",
      "targetText": "Par demandeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.byTeam",
      "field": "text",
      "sourceText": "By team",
      "targetText": "Par équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.capped",
      "field": "text",
      "sourceText": "Showing the largest {shown} of {total} groups. Use the CSV export for the complete figures.",
      "targetText": "Affichage des {shown} plus grands groupes sur {total}. Utilisez l'export CSV pour les chiffres complets."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.checkNotice",
      "field": "text",
      "sourceText": "These figures come from entries made by agents and from the rounding rules you configured. Please check them before invoicing — they are a working basis, not an audited invoice.",
      "targetText": "Ces chiffres proviennent des saisies des agents et des règles d'arrondi que vous avez configurées. Vérifiez-les avant de facturer — ils constituent une base de travail, pas une facture vérifiée."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.colBilled",
      "field": "text",
      "sourceText": "Billed (min)",
      "targetText": "Facturé (min)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.colLogged",
      "field": "text",
      "sourceText": "Logged (min)",
      "targetText": "Saisi (min)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.colNote",
      "field": "text",
      "sourceText": "Note",
      "targetText": "Note"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.colTicket",
      "field": "text",
      "sourceText": "Ticket",
      "targetText": "Ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.entries",
      "field": "text",
      "sourceText": "Entries",
      "targetText": "Entrées"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.exportCsv",
      "field": "text",
      "sourceText": "Export entries (CSV)",
      "targetText": "Exporter les entrées (CSV)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.exportHint",
      "field": "text",
      "sourceText": "Individual entries, never truncated — the basis for invoicing.",
      "targetText": "Entrées individuelles, jamais tronquées — la base de la facturation."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.exportPdf",
      "field": "text",
      "sourceText": "Export entries (PDF)",
      "targetText": "Exporter les entrées (PDF)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.exportPdfHint",
      "field": "text",
      "sourceText": "The same entries as a document to hand over — capped at 20,000 entries, which the document states.",
      "targetText": "Les mêmes entrées sous forme de document à remettre — limité à 20 000 entrées, ce que le document indique."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.exportXlsx",
      "field": "text",
      "sourceText": "Export entries (Excel)",
      "targetText": "Exporter les entrées (Excel)"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.logged",
      "field": "text",
      "sourceText": "Logged",
      "targetText": "Saisi"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.noData",
      "field": "text",
      "sourceText": "No time logged in the selected period.",
      "targetText": "Aucun temps saisi sur la période choisie."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.pdfEntriesHeading",
      "field": "text",
      "sourceText": "Time entries",
      "targetText": "Entrées de temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.pdfTitle",
      "field": "text",
      "sourceText": "Time report",
      "targetText": "Rapport de temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.rounding",
      "field": "text",
      "sourceText": "Rounding: increment {inc} min, minimum {min} min per entry. Billed values are rounded per entry, never the total.",
      "targetText": "Arrondi : palier de {inc} min, minimum {min} min par entrée. Les valeurs facturées sont arrondies par entrée, jamais le total."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.tickets",
      "field": "text",
      "sourceText": "Tickets with time",
      "targetText": "Tickets avec du temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.ticketsHint",
      "field": "text",
      "sourceText": "40 hours on 3 out of 500 tickets is not an evaluation — it is three agents who are the only ones logging.",
      "targetText": "40 heures sur 3 tickets sur 500 n'est pas une évaluation — ce sont trois agents qui sont les seuls à saisir leur temps."
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.title",
      "field": "text",
      "sourceText": "Time spent",
      "targetText": "Temps passé"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.time.xlsxSheetName",
      "field": "text",
      "sourceText": "Time entries",
      "targetText": "Entrées de temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.title",
      "field": "text",
      "sourceText": "Reports",
      "targetText": "Rapports"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.to",
      "field": "text",
      "sourceText": "To",
      "targetText": "Au"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.user",
      "field": "text",
      "sourceText": "User",
      "targetText": "Utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.xlsxExport",
      "field": "text",
      "sourceText": "Excel export",
      "targetText": "Export Excel"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.xlsxSummarySheet",
      "field": "text",
      "sourceText": "Key figures",
      "targetText": "Indicateurs clés"
    },
    {
      "entityType": "uiText",
      "entityKey": "reports.xlsxTicketsSheet",
      "field": "text",
      "sourceText": "Tickets",
      "targetText": "Tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.approval.decidedOn",
      "field": "text",
      "sourceText": "Decided on {0}",
      "targetText": "Décidé le {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.approval.noApprover",
      "field": "text",
      "sourceText": "no approver could be determined",
      "targetText": "aucun approbateur n'a pu être déterminé"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.approval.notSent",
      "field": "text",
      "sourceText": "The request has not been sent yet.",
      "targetText": "La demande n'a pas encore été envoyée."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.approval.reassign",
      "field": "text",
      "sourceText": "Reassign",
      "targetText": "Réattribuer"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.approval.reassignPrompt",
      "field": "text",
      "sourceText": "Send this approval to which e-mail address instead?",
      "targetText": "À quelle adresse e-mail envoyer cette approbation à la place ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.approval.reassigned",
      "field": "text",
      "sourceText": "The approval request was reassigned. The new approver receives the link shortly.",
      "targetText": "La demande d'approbation a été réattribuée. Le nouvel approbateur recevra le lien sous peu."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.approval.title",
      "field": "text",
      "sourceText": "Approvals",
      "targetText": "Approbations"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.approval.waiting",
      "field": "text",
      "sourceText": "Waiting since {0}",
      "targetText": "En attente depuis le {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.approvalReassigned",
      "field": "text",
      "sourceText": "The approval request was reassigned. The new approver receives the link shortly.",
      "targetText": "La demande d'approbation a été réattribuée. Le nouvel approbateur recevra le lien sous peu."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.alreadyDecided",
      "field": "text",
      "sourceText": "This approval has already been decided and cannot be reassigned.",
      "targetText": "Cette approbation a déjà été décidée et ne peut pas être réattribuée."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.approvalNotFound",
      "field": "text",
      "sourceText": "Approval request not found.",
      "targetText": "Demande d'approbation introuvable."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.approverRequired",
      "field": "text",
      "sourceText": "Every approval stage needs an approver.",
      "targetText": "Chaque étape d'approbation a besoin d'un approbateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.awaitingApproval",
      "field": "text",
      "sourceText": "This task is waiting for approval and cannot be worked on yet.",
      "targetText": "Cette tâche attend une approbation et ne peut pas encore être traitée."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.forbidden",
      "field": "text",
      "sourceText": "Forbidden.",
      "targetText": "Interdit."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.invalidApprover",
      "field": "text",
      "sourceText": "One of the selected approvers does not exist.",
      "targetText": "L'un des approbateurs sélectionnés n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.invalidApproverEmail",
      "field": "text",
      "sourceText": "Please enter a valid e-mail address.",
      "targetText": "Veuillez saisir une adresse e-mail valide."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.invalidApproverField",
      "field": "text",
      "sourceText": "One of the selected fields does not exist or cannot hold an e-mail address.",
      "targetText": "L'un des champs sélectionnés n'existe pas ou ne peut pas contenir d'adresse e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.invalidReminder",
      "field": "text",
      "sourceText": "The reminder must be between 1 and {0} hours.",
      "targetText": "Le rappel doit être compris entre 1 et {0} heures."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.invalidSelection",
      "field": "text",
      "sourceText": "Unknown selection mode.",
      "targetText": "Mode de sélection inconnu."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.invalidStage",
      "field": "text",
      "sourceText": "One of the selected approval stages does not belong to this workflow.",
      "targetText": "L'une des étapes d'approbation sélectionnées n'appartient pas à ce workflow."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.invalidTeam",
      "field": "text",
      "sourceText": "One of the selected teams does not exist or is inactive.",
      "targetText": "L'une des équipes sélectionnées n'existe pas ou est inactive."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.loadFailed",
      "field": "text",
      "sourceText": "The request workflows could not be loaded.",
      "targetText": "Les workflows de demande n'ont pas pu être chargés."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.nameRequired",
      "field": "text",
      "sourceText": "Every step needs a name.",
      "targetText": "Chaque étape a besoin d'un nom."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.notFound",
      "field": "text",
      "sourceText": "Request workflow not found.",
      "targetText": "Workflow de demande introuvable."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.stageNameDuplicate",
      "field": "text",
      "sourceText": "Two approval stages cannot share the same name — the name is what the approver sees.",
      "targetText": "Deux étapes d'approbation ne peuvent pas porter le même nom — c'est ce nom que voit l'approbateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.stageNameRequired",
      "field": "text",
      "sourceText": "Every approval stage needs a name.",
      "targetText": "Chaque étape d'approbation a besoin d'un nom."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.tooManyRequestStages",
      "field": "text",
      "sourceText": "Only one approval stage can cover the whole request.",
      "targetText": "Une seule étape d'approbation peut couvrir l'ensemble de la demande."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.tooManyStages",
      "field": "text",
      "sourceText": "A request workflow can have at most {0} approval stages.",
      "targetText": "Un workflow de demande peut comporter au maximum {0} étapes d'approbation."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.tooManySteps",
      "field": "text",
      "sourceText": "A request workflow can have at most {0} steps.",
      "targetText": "Un workflow de demande peut comporter au maximum {0} étapes."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.errors.wrongKind",
      "field": "text",
      "sourceText": "Only ticket templates can carry a request workflow.",
      "targetText": "Seuls les modèles de ticket peuvent porter un workflow de demande."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.form.always",
      "field": "text",
      "sourceText": "(always included)",
      "targetText": "(toujours inclus)"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.form.hint",
      "field": "text",
      "sourceText": "Each selected item becomes its own ticket for the team that handles it.",
      "targetText": "Chaque élément sélectionné devient son propre ticket pour l'équipe qui le traite."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.form.section",
      "field": "text",
      "sourceText": "What is needed?",
      "targetText": "De quoi avez-vous besoin ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.list.allTeams",
      "field": "text",
      "sourceText": "All teams",
      "targetText": "Toutes les équipes"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.list.createTemplate",
      "field": "text",
      "sourceText": "Create ticket template",
      "targetText": "Créer un modèle de ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.list.customerVisible",
      "field": "text",
      "sourceText": "Customer",
      "targetText": "Client"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.list.draft",
      "field": "text",
      "sourceText": "Draft",
      "targetText": "Brouillon"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.list.edit",
      "field": "text",
      "sourceText": "Edit tasks",
      "targetText": "Modifier les tâches"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.list.empty",
      "field": "text",
      "sourceText": "There is no ticket template yet. Create one under Templates first.",
      "targetText": "Il n'y a pas encore de modèle de ticket. Créez-en un d'abord sous Modèles."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.list.hint",
      "field": "text",
      "sourceText": "A workflow lives on a ticket template. Pick one to add its tasks.",
      "targetText": "Un workflow vit sur un modèle de ticket. Choisissez-en un pour ajouter ses tâches."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.list.stepCount",
      "field": "text",
      "sourceText": "{0} task(s)",
      "targetText": "{0} tâche(s)"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.list.title",
      "field": "text",
      "sourceText": "Ticket templates",
      "targetText": "Modèles de ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.progress.count",
      "field": "text",
      "sourceText": "{0} of {1} done",
      "targetText": "{0} sur {1} terminées"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.progress.title",
      "field": "text",
      "sourceText": "Workflow tasks",
      "targetText": "Tâches du workflow"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.selection.always",
      "field": "text",
      "sourceText": "Always — cannot be deselected",
      "targetText": "Toujours — ne peut pas être désélectionné"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.selection.optIn",
      "field": "text",
      "sourceText": "Selectable, off by default",
      "targetText": "Sélectionnable, désactivé par défaut"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.selection.optOut",
      "field": "text",
      "sourceText": "Selectable, on by default",
      "targetText": "Sélectionnable, activé par défaut"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.add",
      "field": "text",
      "sourceText": "Add approval",
      "targetText": "Ajouter une approbation"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.approver",
      "field": "text",
      "sourceText": "Decided by",
      "targetText": "Décidé par"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.approverValue",
      "field": "text",
      "sourceText": "Approver",
      "targetText": "Approbateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.fromFieldHint",
      "field": "text",
      "sourceText": "The requester enters the address themselves — only pick a field they actually fill in.",
      "targetText": "Le demandeur saisit l'adresse lui-même — ne choisissez qu'un champ qu'il remplit effectivement."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.fromFieldLabel",
      "field": "text",
      "sourceText": "the address in \"{0}\"",
      "targetText": "l'adresse du champ « {0} »"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.hint",
      "field": "text",
      "sourceText": "One approval covers the whole request. Add a second stage only when single tasks need their own release.",
      "targetText": "Une approbation couvre l'ensemble de la demande. N'ajoutez une seconde étape que si certaines tâches nécessitent leur propre validation."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.modeEmail",
      "field": "text",
      "sourceText": "A fixed e-mail address",
      "targetText": "Une adresse e-mail fixe"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.modeField",
      "field": "text",
      "sourceText": "The address in a ticket field",
      "targetText": "L'adresse contenue dans un champ du ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.modeUser",
      "field": "text",
      "sourceText": "A user of this system",
      "targetText": "Un utilisateur de ce système"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.name",
      "field": "text",
      "sourceText": "Name",
      "targetText": "Nom"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.namePlaceholder",
      "field": "text",
      "sourceText": "e.g. line manager approval",
      "targetText": "p. ex. approbation du responsable hiérarchique"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.noApprover",
      "field": "text",
      "sourceText": "nobody yet",
      "targetText": "personne pour l'instant"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.reminder",
      "field": "text",
      "sourceText": "Remind after (hours)",
      "targetText": "Rappeler après (heures)"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.reminderHint",
      "field": "text",
      "sourceText": "A request is never approved automatically. If nobody reacts, it keeps waiting.",
      "targetText": "Une demande n'est jamais approuvée automatiquement. Si personne ne réagit, elle reste en attente."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.reminderPlaceholder",
      "field": "text",
      "sourceText": "Empty: never remind",
      "targetText": "Vide : ne jamais rappeler"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.scope",
      "field": "text",
      "sourceText": "Covers",
      "targetText": "Couvre"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.scopeRequest",
      "field": "text",
      "sourceText": "The whole request",
      "targetText": "L'ensemble de la demande"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.scopeTasks",
      "field": "text",
      "sourceText": "Only the tasks that point to it",
      "targetText": "Uniquement les tâches qui y renvoient"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.selectField",
      "field": "text",
      "sourceText": "Select a text field",
      "targetText": "Sélectionner un champ texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.selectUser",
      "field": "text",
      "sourceText": "Select a user",
      "targetText": "Sélectionner un utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.stage.title",
      "field": "text",
      "sourceText": "Approvals",
      "targetText": "Approbations"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.status.active",
      "field": "text",
      "sourceText": "Request workflows are active.",
      "targetText": "Les workflows de demande sont actifs."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.status.kept",
      "field": "text",
      "sourceText": "{0} workflow(s) with {1} task(s) are stored and stay untouched — nothing is created until the licence covers it again.",
      "targetText": "{0} workflow(s) comportant {1} tâche(s) sont enregistrés et restent intacts — rien n'est créé tant que la licence ne le couvre pas à nouveau."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.status.notLicensed",
      "field": "text",
      "sourceText": "Request workflows are part of Professional.",
      "targetText": "Les workflows de demande font partie de Professional."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.add",
      "field": "text",
      "sourceText": "Add task",
      "targetText": "Ajouter une tâche"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.approvalStage",
      "field": "text",
      "sourceText": "Extra approval",
      "targetText": "Approbation supplémentaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.childBody",
      "field": "text",
      "sourceText": "What the team has to do",
      "targetText": "Ce que l'équipe doit faire"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.childBodyPlaceholder",
      "field": "text",
      "sourceText": "The order for the specialist team. Ask them to add credentials as an internal note.",
      "targetText": "La consigne pour l'équipe spécialisée. Demandez-lui d'ajouter les identifiants sous forme de note interne."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.childTitle",
      "field": "text",
      "sourceText": "Ticket title",
      "targetText": "Titre du ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.childTitlePlaceholder",
      "field": "text",
      "sourceText": "Empty: the task name is used",
      "targetText": "Vide : le nom de la tâche est utilisé"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.credentialsHint",
      "field": "text",
      "sourceText": "Credentials belong in an internal note — the requester gets them once everything is ready.",
      "targetText": "Les identifiants ont leur place dans une note interne — le demandeur les reçoit une fois que tout est prêt."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.maxReached",
      "field": "text",
      "sourceText": "A workflow can have at most {0} tasks.",
      "targetText": "Un workflow peut comporter au maximum {0} tâches."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.name",
      "field": "text",
      "sourceText": "Task",
      "targetText": "Tâche"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.namePlaceholder",
      "field": "text",
      "sourceText": "e.g. the account to create",
      "targetText": "p. ex. le compte à créer"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.needTeam",
      "field": "text",
      "sourceText": "Create a team first — every task needs one.",
      "targetText": "Créez d'abord une équipe — chaque tâche en a besoin."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.noExtraApproval",
      "field": "text",
      "sourceText": "None — the request approval is enough",
      "targetText": "Aucune — l'approbation de la demande suffit"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.noTeam",
      "field": "text",
      "sourceText": "no team yet",
      "targetText": "pas encore d'équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.selection",
      "field": "text",
      "sourceText": "Chosen by the requester",
      "targetText": "Choisi par le demandeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.team",
      "field": "text",
      "sourceText": "Handled by",
      "targetText": "Traité par"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.step.teamPlaceholder",
      "field": "text",
      "sourceText": "Not assigned yet — this task is not offered",
      "targetText": "Pas encore attribué — cette tâche n'est pas proposée"
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.subtitle",
      "field": "text",
      "sourceText": "Let one request create the tasks it needs — one ticket per item, each in the team that handles it.",
      "targetText": "Laissez une seule demande créer les tâches dont elle a besoin — un ticket par élément, chacun dans l'équipe qui le traite."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.summary.approval",
      "field": "text",
      "sourceText": "The request is released by {0}.",
      "targetText": "La demande est validée par {0}."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.summary.default",
      "field": "text",
      "sourceText": "By default {0} task(s) are created: {1}.",
      "targetText": "Par défaut, {0} tâche(s) sont créées : {1}."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.summary.empty",
      "field": "text",
      "sourceText": "No tasks yet — this template creates a single ticket.",
      "targetText": "Pas encore de tâches — ce modèle crée un seul ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.summary.extraApproval",
      "field": "text",
      "sourceText": "{0} task(s) additionally wait for their own approval.",
      "targetText": "{0} tâche(s) attendent en outre leur propre approbation."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.summary.noneByDefault",
      "field": "text",
      "sourceText": "By default no task is created; the requester picks from {0} optional task(s).",
      "targetText": "Par défaut, aucune tâche n'est créée ; le demandeur choisit parmi {0} tâche(s) facultative(s)."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.summary.selectable",
      "field": "text",
      "sourceText": "The requester can change {0} of them.",
      "targetText": "Le demandeur peut en modifier {0}."
    },
    {
      "entityType": "uiText",
      "entityKey": "requestWorkflows.title",
      "field": "text",
      "sourceText": "Request workflows",
      "targetText": "Workflows de demande"
    },
    {
      "entityType": "uiText",
      "entityKey": "resetPassword.confirmLabel",
      "field": "text",
      "sourceText": "Repeat password",
      "targetText": "Répéter le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "resetPassword.description",
      "field": "text",
      "sourceText": "Set a new password for your ticket system account.",
      "targetText": "Définissez un nouveau mot de passe pour votre compte du système de tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "resetPassword.error",
      "field": "text",
      "sourceText": "The password could not be changed.",
      "targetText": "Le mot de passe n'a pas pu être modifié."
    },
    {
      "entityType": "uiText",
      "entityKey": "resetPassword.linkInvalid",
      "field": "text",
      "sourceText": "This link is incomplete. Please use the link from your password reset e-mail.",
      "targetText": "Ce lien est incomplet. Utilisez le lien de l'e-mail de réinitialisation du mot de passe."
    },
    {
      "entityType": "uiText",
      "entityKey": "resetPassword.mismatch",
      "field": "text",
      "sourceText": "The passwords do not match.",
      "targetText": "Les mots de passe ne correspondent pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "resetPassword.passwordLabel",
      "field": "text",
      "sourceText": "New password",
      "targetText": "Nouveau mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "resetPassword.submit",
      "field": "text",
      "sourceText": "Change password",
      "targetText": "Modifier le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "resetPassword.successBody",
      "field": "text",
      "sourceText": "You can now sign in with your username and your new password.",
      "targetText": "Vous pouvez maintenant vous connecter avec votre nom d'utilisateur et votre nouveau mot de passe."
    },
    {
      "entityType": "uiText",
      "entityKey": "resetPassword.successTitle",
      "field": "text",
      "sourceText": "Password changed",
      "targetText": "Mot de passe modifié"
    },
    {
      "entityType": "uiText",
      "entityKey": "resetPassword.title",
      "field": "text",
      "sourceText": "Choose a new password",
      "targetText": "Choisissez un nouveau mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "resetPassword.toLogin",
      "field": "text",
      "sourceText": "Go to sign in",
      "targetText": "Aller à la connexion"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.blockquote",
      "field": "text",
      "sourceText": "Quote",
      "targetText": "Citation"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.bold",
      "field": "text",
      "sourceText": "Bold",
      "targetText": "Gras"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.bulletList",
      "field": "text",
      "sourceText": "Bullet list",
      "targetText": "Liste à puces"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.clearFormatting",
      "field": "text",
      "sourceText": "Clear formatting",
      "targetText": "Effacer la mise en forme"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.highlight",
      "field": "text",
      "sourceText": "Highlight color",
      "targetText": "Couleur de surlignage"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.italic",
      "field": "text",
      "sourceText": "Italic",
      "targetText": "Italique"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.link",
      "field": "text",
      "sourceText": "Link",
      "targetText": "Lien"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.linkHint",
      "field": "text",
      "sourceText": "Leave the field empty to remove the link.",
      "targetText": "Laissez le champ vide pour supprimer le lien."
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.linkPrompt",
      "field": "text",
      "sourceText": "Enter URL",
      "targetText": "Saisir l'URL"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.orderedList",
      "field": "text",
      "sourceText": "Numbered list",
      "targetText": "Liste numérotée"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.strike",
      "field": "text",
      "sourceText": "Strikethrough",
      "targetText": "Barré"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.textColor",
      "field": "text",
      "sourceText": "Text color",
      "targetText": "Couleur du texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "richEditor.underline",
      "field": "text",
      "sourceText": "Underline",
      "targetText": "Souligné"
    },
    {
      "entityType": "uiText",
      "entityKey": "roles.errors.alreadyExists",
      "field": "text",
      "sourceText": "Role already exists.",
      "targetText": "Le rôle existe déjà."
    },
    {
      "entityType": "uiText",
      "entityKey": "roles.errors.assignedCannotDelete",
      "field": "text",
      "sourceText": "Role is assigned to users and cannot be deleted.",
      "targetText": "Le rôle est attribué à des utilisateurs et ne peut pas être supprimé."
    },
    {
      "entityType": "uiText",
      "entityKey": "roles.errors.creationNotSupported",
      "field": "text",
      "sourceText": "New roles cannot be created. Permissions for Admin, Agent and Customer are set under Settings > Security in the permission concept.",
      "targetText": "Aucun nouveau rôle ne peut être créé. Les droits des rôles Administrateur, Agent et Client se règlent sous Paramètres > Sécurité, dans la gestion des droits."
    },
    {
      "entityType": "uiText",
      "entityKey": "security.errors.invalidCorsOrigin",
      "field": "text",
      "sourceText": "Each entry must be a valid origin, e.g. https://app.example.com (no path).",
      "targetText": "Chaque entrée doit être une origine valide, p. ex. https://app.exemple.fr (sans chemin)."
    },
    {
      "entityType": "uiText",
      "entityKey": "security.errors.invalidPublicBaseUrl",
      "field": "text",
      "sourceText": "Enter a valid address, e.g. https://support.example.com (scheme + host, no path).",
      "targetText": "Saisissez une adresse valide, p. ex. https://support.exemple.fr (protocole + hôte, sans chemin)."
    },
    {
      "entityType": "uiText",
      "entityKey": "setPassword.confirmLabel",
      "field": "text",
      "sourceText": "Repeat password",
      "targetText": "Répéter le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "setPassword.description",
      "field": "text",
      "sourceText": "Choose a password for your ticket system account.",
      "targetText": "Choisissez un mot de passe pour votre compte du système de tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "setPassword.error",
      "field": "text",
      "sourceText": "The password could not be set.",
      "targetText": "Le mot de passe n'a pas pu être défini."
    },
    {
      "entityType": "uiText",
      "entityKey": "setPassword.linkInvalid",
      "field": "text",
      "sourceText": "This link is incomplete. Please use the link from your invitation e-mail.",
      "targetText": "Ce lien est incomplet. Utilisez le lien de votre e-mail d'invitation."
    },
    {
      "entityType": "uiText",
      "entityKey": "setPassword.mismatch",
      "field": "text",
      "sourceText": "The passwords do not match.",
      "targetText": "Les mots de passe ne correspondent pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "setPassword.passwordLabel",
      "field": "text",
      "sourceText": "New password",
      "targetText": "Nouveau mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "setPassword.submit",
      "field": "text",
      "sourceText": "Set password",
      "targetText": "Définir le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "setPassword.successBody",
      "field": "text",
      "sourceText": "You can now sign in with your username and your new password.",
      "targetText": "Vous pouvez maintenant vous connecter avec votre nom d'utilisateur et votre nouveau mot de passe."
    },
    {
      "entityType": "uiText",
      "entityKey": "setPassword.successTitle",
      "field": "text",
      "sourceText": "Password set",
      "targetText": "Mot de passe défini"
    },
    {
      "entityType": "uiText",
      "entityKey": "setPassword.title",
      "field": "text",
      "sourceText": "Set your password",
      "targetText": "Définissez votre mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "setPassword.toLogin",
      "field": "text",
      "sourceText": "Go to sign in",
      "targetText": "Aller à la connexion"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.accessDeniedDesc",
      "field": "text",
      "sourceText": "This page is only available for authorized users.",
      "targetText": "Cette page n'est accessible qu'aux utilisateurs autorisés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.colActions",
      "field": "text",
      "sourceText": "Actions",
      "targetText": "Actions"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.colAttachments",
      "field": "text",
      "sourceText": "Attachments",
      "targetText": "Pièces jointes"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.colCreated",
      "field": "text",
      "sourceText": "Created",
      "targetText": "Créée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.colFile",
      "field": "text",
      "sourceText": "File",
      "targetText": "Fichier"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.colRange",
      "field": "text",
      "sourceText": "Range",
      "targetText": "Période"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.colSize",
      "field": "text",
      "sourceText": "Size",
      "targetText": "Taille"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.colTickets",
      "field": "text",
      "sourceText": "Tickets",
      "targetText": "Tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.createButton",
      "field": "text",
      "sourceText": "Create archive",
      "targetText": "Créer une archive"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.createCard.subtitle",
      "field": "text",
      "sourceText": "Only closed tickets within the selected range are archived. The archive is a self-contained ZIP file (tickets, comments, history, custom fields and attachments).",
      "targetText": "Seuls les tickets fermés dans la période choisie sont archivés. L'archive est un fichier ZIP autonome (tickets, commentaires, historique, champs personnalisés et pièces jointes)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.createCard.title",
      "field": "text",
      "sourceText": "Create archive",
      "targetText": "Créer une archive"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.created",
      "field": "text",
      "sourceText": "Archive created.",
      "targetText": "Archive créée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.dateRequired",
      "field": "text",
      "sourceText": "Please select a start and end date.",
      "targetText": "Veuillez choisir une date de début et de fin."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.deleteFile",
      "field": "text",
      "sourceText": "Delete archive file",
      "targetText": "Supprimer le fichier d'archive"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.deleteFileConfirm",
      "field": "text",
      "sourceText": "Delete this archive file? The tickets in the live database are not affected.",
      "targetText": "Supprimer ce fichier d'archive ? Les tickets de la base de données active ne sont pas affectés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.deleteLive",
      "field": "text",
      "sourceText": "Delete from live DB",
      "targetText": "Supprimer de la base active"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.deleteLiveConfirm",
      "field": "text",
      "sourceText": "Permanently delete the tickets contained in this archive from the live database? Make sure you have verified the archive first. This cannot be undone.",
      "targetText": "Supprimer définitivement de la base de données active les tickets contenus dans cette archive ? Vérifiez d'abord que l'archive est correcte. Cette action est irréversible."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.deletedLive",
      "field": "text",
      "sourceText": "Deleted {count} ticket(s) from the live database.",
      "targetText": "{count} ticket(s) supprimé(s) de la base de données active."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.download",
      "field": "text",
      "sourceText": "Download",
      "targetText": "Télécharger"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.downloadError",
      "field": "text",
      "sourceText": "Download failed.",
      "targetText": "Échec du téléchargement."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.fileDeleted",
      "field": "text",
      "sourceText": "Archive file deleted.",
      "targetText": "Fichier d'archive supprimé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.fromLabel",
      "field": "text",
      "sourceText": "From",
      "targetText": "Du"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.listEmpty",
      "field": "text",
      "sourceText": "No archives yet.",
      "targetText": "Pas encore d'archives."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.listTitle",
      "field": "text",
      "sourceText": "Existing archives",
      "targetText": "Archives existantes"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.pageDesc",
      "field": "text",
      "sourceText": "Archive closed tickets from a date range to keep the live database small, then restore them later if needed.",
      "targetText": "Archivez les tickets fermés d'une période pour garder la base de données active légère, puis restaurez-les plus tard si nécessaire."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.pageTitle",
      "field": "text",
      "sourceText": "Archive",
      "targetText": "Archive"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.previewButton",
      "field": "text",
      "sourceText": "Preview",
      "targetText": "Aperçu"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.previewResult",
      "field": "text",
      "sourceText": "{count} closed ticket(s) would be archived.",
      "targetText": "{count} ticket(s) fermé(s) seraient archivés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.processing",
      "field": "text",
      "sourceText": "Processing...",
      "targetText": "Traitement..."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.restore",
      "field": "text",
      "sourceText": "Restore",
      "targetText": "Restaurer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.restoreConfirm",
      "field": "text",
      "sourceText": "Restore all tickets from this archive into the live system? Existing tickets with the same id are skipped.",
      "targetText": "Restaurer tous les tickets de cette archive dans le système actif ? Les tickets existants portant le même identifiant sont ignorés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.restored",
      "field": "text",
      "sourceText": "Restored {tickets} ticket(s), skipped {skipped} existing.",
      "targetText": "{tickets} ticket(s) restauré(s), {skipped} existant(s) ignoré(s)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.skippedTeams",
      "field": "text",
      "sourceText": "{count} team assignment(s) could not be restored because the team no longer exists.",
      "targetText": "{count} attribution(s) d'équipe n'ont pas pu être restaurées car l'équipe n'existe plus."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.skippedWorkflowTasks",
      "field": "text",
      "sourceText": "{count} workflow task(s) could not be restored because their ticket is missing.",
      "targetText": "{count} tâche(s) de workflow n'ont pas pu être restaurées car leur ticket est absent."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.subFolderHint",
      "field": "text",
      "sourceText": "Stored inside the archive volume. To use a custom host path, bind-mount the archive volume to that directory (see deployment docs).",
      "targetText": "Enregistré dans le volume d'archives. Pour utiliser un chemin personnalisé sur l'hôte, montez le volume d'archives sur ce répertoire (voir la documentation de déploiement)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.subFolderLabel",
      "field": "text",
      "sourceText": "Subfolder (optional)",
      "targetText": "Sous-dossier (facultatif)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.subFolderPlaceholder",
      "field": "text",
      "sourceText": "e.g. 2024",
      "targetText": "p. ex. 2024"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.toLabel",
      "field": "text",
      "sourceText": "To",
      "targetText": "Au"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.archive.unknownError",
      "field": "text",
      "sourceText": "An error occurred.",
      "targetText": "Une erreur est survenue."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.accessDeniedDesc",
      "field": "text",
      "sourceText": "Only admins and agents can manage categories.",
      "targetText": "Seuls les administrateurs et les agents peuvent gérer les catégories."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.create",
      "field": "text",
      "sourceText": "Create",
      "targetText": "Créer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.createMain",
      "field": "text",
      "sourceText": "New main category",
      "targetText": "Nouvelle catégorie principale"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.createSub",
      "field": "text",
      "sourceText": "New subcategory",
      "targetText": "Nouvelle sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.delete",
      "field": "text",
      "sourceText": "Delete",
      "targetText": "Supprimer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.enRequired",
      "field": "text",
      "sourceText": "EN (required)",
      "targetText": "EN (obligatoire)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.exportJson",
      "field": "text",
      "sourceText": "Export JSON",
      "targetText": "Exporter le JSON"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.importExportHint",
      "field": "text",
      "sourceText": "You can enter new categories one by one in English, or add them in bulk by using the export and import buttons. On a newly installed system, download the empty export file to get the structure, add everything you need, and import it.",
      "targetText": "Vous pouvez saisir les nouvelles catégories une par une en anglais, ou les ajouter en masse à l'aide des boutons d'export et d'import. Sur un système fraîchement installé, téléchargez le fichier d'export vide pour obtenir la structure, complétez-le et importez-le."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.importJson",
      "field": "text",
      "sourceText": "Import JSON",
      "targetText": "Importer le JSON"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.importUpdated",
      "field": "text",
      "sourceText": "Categories imported",
      "targetText": "Catégories importées"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.inUseHint",
      "field": "text",
      "sourceText": "Delete may fail when category is used by tickets.",
      "targetText": "La suppression peut échouer si la catégorie est utilisée par des tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.invalidJson",
      "field": "text",
      "sourceText": "Invalid JSON file.",
      "targetText": "Fichier JSON invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.linkSave",
      "field": "text",
      "sourceText": "Save links",
      "targetText": "Enregistrer les liens"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.linkedSubs",
      "field": "text",
      "sourceText": "Visible subcategories",
      "targetText": "Sous-catégories visibles"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.links",
      "field": "text",
      "sourceText": "Links",
      "targetText": "Liens"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.linksSaved",
      "field": "text",
      "sourceText": "Links saved",
      "targetText": "Liens enregistrés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.mainCategories",
      "field": "text",
      "sourceText": "Main categories",
      "targetText": "Catégories principales"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.mainCreated",
      "field": "text",
      "sourceText": "Main category created",
      "targetText": "Catégorie principale créée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.mainDeleted",
      "field": "text",
      "sourceText": "Main category deleted",
      "targetText": "Catégorie principale supprimée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.mainUpdated",
      "field": "text",
      "sourceText": "Main category saved",
      "targetText": "Catégorie principale enregistrée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.noMain",
      "field": "text",
      "sourceText": "No main categories",
      "targetText": "Aucune catégorie principale"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.noSub",
      "field": "text",
      "sourceText": "No subcategories",
      "targetText": "Aucune sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.pageDesc",
      "field": "text",
      "sourceText": "Manage main categories and subcategories, including how they are linked to each other.",
      "targetText": "Gérez les catégories principales et les sous-catégories, ainsi que la manière dont elles sont liées entre elles."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.pageTitle",
      "field": "text",
      "sourceText": "Settings · Manage categories",
      "targetText": "Paramètres · Gestion des catégories"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.renameHint",
      "field": "text",
      "sourceText": "Renaming via JSON is not supported. Please use the fields on this page instead.",
      "targetText": "Le renommage via JSON n'est pas pris en charge. Utilisez plutôt les champs de cette page."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.requiredTranslation",
      "field": "text",
      "sourceText": "Please fill English.",
      "targetText": "Veuillez remplir l'anglais."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.selectMainForLinks",
      "field": "text",
      "sourceText": "Select main category for linking",
      "targetText": "Choisir une catégorie principale à lier"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.subCategories",
      "field": "text",
      "sourceText": "Subcategories",
      "targetText": "Sous-catégories"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.subCreated",
      "field": "text",
      "sourceText": "Subcategory created",
      "targetText": "Sous-catégorie créée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.subDeleted",
      "field": "text",
      "sourceText": "Subcategory deleted",
      "targetText": "Sous-catégorie supprimée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.subUpdated",
      "field": "text",
      "sourceText": "Subcategory saved",
      "targetText": "Sous-catégorie enregistrée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.systemName",
      "field": "text",
      "sourceText": "SystemName",
      "targetText": "SystemName"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.categories.unknownError",
      "field": "text",
      "sourceText": "An error occurred.",
      "targetText": "Une erreur est survenue."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.accentColor",
      "field": "text",
      "sourceText": "Accent color",
      "targetText": "Couleur d'accentuation"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.accentColorDesc",
      "field": "text",
      "sourceText": "Used for icons, highlights and hover states.",
      "targetText": "Utilisée pour les icônes, les mises en évidence et les états de survol."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.accessDeniedDesc",
      "field": "text",
      "sourceText": "This page is only available for authorized users.",
      "targetText": "Cette page n'est accessible qu'aux utilisateurs autorisés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.backgroundColor",
      "field": "text",
      "sourceText": "Background color",
      "targetText": "Couleur d'arrière-plan"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.backgroundColorDesc",
      "field": "text",
      "sourceText": "Used as the base page background tone.",
      "targetText": "Utilisée comme teinte de fond de la page."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.colorsSection",
      "field": "text",
      "sourceText": "Colors",
      "targetText": "Couleurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.colorsSectionDesc",
      "field": "text",
      "sourceText": "Choose your brand colors. Text and hover colors are calculated automatically for readability.",
      "targetText": "Choisissez vos couleurs de marque. Les couleurs de texte et de survol sont calculées automatiquement pour garantir la lisibilité."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.confirm",
      "field": "text",
      "sourceText": "Confirm",
      "targetText": "Confirmer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.errors.fileTooLarge",
      "field": "text",
      "sourceText": "File is too large. Maximum allowed: {0:F0} MB.",
      "targetText": "Le fichier est trop volumineux. Maximum autorisé : {0:F0} MB."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.errors.fileTypeNotAllowed",
      "field": "text",
      "sourceText": "File type '{0}' is not allowed. Allowed types: {1}",
      "targetText": "Le type de fichier « {0} » n'est pas autorisé. Types autorisés : {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.errors.invalidColor",
      "field": "text",
      "sourceText": "Colors must be valid hex values (e.g. #1A73E8).",
      "targetText": "Les couleurs doivent être des valeurs hexadécimales valides (p. ex. #1A73E8)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.errors.invalidPayload",
      "field": "text",
      "sourceText": "Invalid payload.",
      "targetText": "Contenu invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.errors.noFile",
      "field": "text",
      "sourceText": "No file uploaded.",
      "targetText": "Aucun fichier envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.faviconSection",
      "field": "text",
      "sourceText": "Favicon",
      "targetText": "Favicon"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.faviconSectionDesc",
      "field": "text",
      "sourceText": "Shown in the browser tab. Recommended: SVG or 64x64px PNG/ICO, max. 2 MB.",
      "targetText": "Affiché dans l'onglet du navigateur. Recommandé : SVG ou PNG/ICO de 64 × 64 px, 2 MB maximum."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.hexPlaceholder",
      "field": "text",
      "sourceText": "#1A73E8",
      "targetText": "#1A73E8"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.logoSection",
      "field": "text",
      "sourceText": "Logo",
      "targetText": "Logo"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.logoSectionDesc",
      "field": "text",
      "sourceText": "Shown in the sidebar below the system logo. Recommended: 400x160px, PNG or SVG with transparent background, max. 2 MB.",
      "targetText": "Affiché dans la barre latérale sous le logo du système. Recommandé : 400 × 160 px, PNG ou SVG avec fond transparent, 2 MB maximum."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.noFavicon",
      "field": "text",
      "sourceText": "No favicon uploaded.",
      "targetText": "Aucun favicon envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.noLogo",
      "field": "text",
      "sourceText": "No logo uploaded.",
      "targetText": "Aucun logo envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.notSet",
      "field": "text",
      "sourceText": "Not set - the built-in colour is used. The square on the left shows black until you pick one.",
      "targetText": "Non défini - la couleur intégrée est utilisée. Le carré à gauche reste noir tant que vous n'en choisissez pas une."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.pageDesc",
      "field": "text",
      "sourceText": "Configure your corporate identity: logo, favicon and colors.",
      "targetText": "Configurez votre identité visuelle : logo, favicon et couleurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.pageTitle",
      "field": "text",
      "sourceText": "CI Settings",
      "targetText": "Identité visuelle"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.previewAccentButton",
      "field": "text",
      "sourceText": "Accent button",
      "targetText": "Bouton d'accentuation"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.previewButton",
      "field": "text",
      "sourceText": "Primary button",
      "targetText": "Bouton principal"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.previewCardText",
      "field": "text",
      "sourceText": "Example content on a card surface.",
      "targetText": "Exemple de contenu sur une carte."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.previewCardTitle",
      "field": "text",
      "sourceText": "Card title",
      "targetText": "Titre de la carte"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.previewSection",
      "field": "text",
      "sourceText": "Live preview",
      "targetText": "Aperçu en direct"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.previewSectionDesc",
      "field": "text",
      "sourceText": "Preview of your colors before saving.",
      "targetText": "Aperçu de vos couleurs avant l'enregistrement."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.primaryColor",
      "field": "text",
      "sourceText": "Primary color",
      "targetText": "Couleur principale"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.primaryColorDesc",
      "field": "text",
      "sourceText": "Used for primary buttons and active navigation.",
      "targetText": "Utilisée pour les boutons principaux et la navigation active."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.remove",
      "field": "text",
      "sourceText": "Remove",
      "targetText": "Supprimer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.removed",
      "field": "text",
      "sourceText": "File removed.",
      "targetText": "Fichier supprimé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.replace",
      "field": "text",
      "sourceText": "Replace",
      "targetText": "Remplacer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.restoreDefaults",
      "field": "text",
      "sourceText": "Restore defaults",
      "targetText": "Restaurer les valeurs par défaut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.restoreDefaultsConfirmDesc",
      "field": "text",
      "sourceText": "This resets all colors and removes the uploaded logo and favicon.",
      "targetText": "Cela réinitialise toutes les couleurs et supprime le logo et le favicon envoyés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.restoreDefaultsConfirmTitle",
      "field": "text",
      "sourceText": "Restore default settings?",
      "targetText": "Restaurer les paramètres par défaut ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.restored",
      "field": "text",
      "sourceText": "Default settings restored.",
      "targetText": "Paramètres par défaut restaurés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.saved",
      "field": "text",
      "sourceText": "CI settings saved.",
      "targetText": "Paramètres d'identité visuelle enregistrés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.saving",
      "field": "text",
      "sourceText": "Saving...",
      "targetText": "Enregistrement..."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.unknownError",
      "field": "text",
      "sourceText": "An error occurred.",
      "targetText": "Une erreur est survenue."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.upload",
      "field": "text",
      "sourceText": "Upload",
      "targetText": "Envoyer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ci.uploaded",
      "field": "text",
      "sourceText": "File uploaded.",
      "targetText": "Fichier envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.accessDeniedDesc",
      "field": "text",
      "sourceText": "You are not allowed to manage e-mail settings.",
      "targetText": "Vous n'êtes pas autorisé à gérer les paramètres e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.blacklist.add",
      "field": "text",
      "sourceText": "Add",
      "targetText": "Ajouter"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.blacklist.added",
      "field": "text",
      "sourceText": "Address added to the blacklist.",
      "targetText": "Adresse ajoutée à la liste de blocage."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.blacklist.cardDesc",
      "field": "text",
      "sourceText": "All e-mail addresses added to this list will be blocked for all teams.",
      "targetText": "Toutes les adresses e-mail ajoutées à cette liste seront bloquées pour toutes les équipes."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.blacklist.cardTitle",
      "field": "text",
      "sourceText": "E-Mail Blacklist",
      "targetText": "Liste de blocage e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.blacklist.duplicate",
      "field": "text",
      "sourceText": "This address is already on the blacklist.",
      "targetText": "Cette adresse figure déjà sur la liste de blocage."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.blacklist.empty",
      "field": "text",
      "sourceText": "No addresses on the blacklist yet.",
      "targetText": "Aucune adresse sur la liste de blocage pour l'instant."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.blacklist.inputPlaceholder",
      "field": "text",
      "sourceText": "name@example.com or @example.com",
      "targetText": "nom@exemple.fr ou @exemple.fr"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.blacklist.invalid",
      "field": "text",
      "sourceText": "Please enter a valid e-mail address or domain (e.g. user@example.com or @example.com).",
      "targetText": "Veuillez saisir une adresse e-mail ou un domaine valide (p. ex. utilisateur@exemple.fr ou @exemple.fr)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.blacklist.remove",
      "field": "text",
      "sourceText": "Remove",
      "targetText": "Supprimer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.blacklist.removed",
      "field": "text",
      "sourceText": "Address removed from the blacklist.",
      "targetText": "Adresse retirée de la liste de blocage."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.enabled",
      "field": "text",
      "sourceText": "Enabled",
      "targetText": "Activé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.cardDesc",
      "field": "text",
      "sourceText": "Incoming mail server used to poll team mailboxes and turn e-mails into tickets.",
      "targetText": "Serveur de courrier entrant utilisé pour relever les boîtes aux lettres des équipes et transformer les e-mails en tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.cardTitle",
      "field": "text",
      "sourceText": "IMAP Settings",
      "targetText": "Paramètres IMAP"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.cleanup",
      "field": "text",
      "sourceText": "Daily cleanup time",
      "targetText": "Heure du nettoyage quotidien"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.cleanupHelp",
      "field": "text",
      "sourceText": "Time of day when old messages are cleaned up, based on the time zone configured in General Settings.",
      "targetText": "Heure de la journée à laquelle les anciens messages sont nettoyés, selon le fuseau horaire configuré dans les paramètres généraux."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.cleanupHour",
      "field": "text",
      "sourceText": "Hour",
      "targetText": "Heure"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.cleanupMinute",
      "field": "text",
      "sourceText": "Minute",
      "targetText": "Minute"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.enabledHelp",
      "field": "text",
      "sourceText": "Turn incoming e-mail polling (IMAP) on or off.",
      "targetText": "Activez ou désactivez la relève des e-mails entrants (IMAP)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersCreate",
      "field": "text",
      "sourceText": "Create on server",
      "targetText": "Créer sur le serveur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersCreateError",
      "field": "text",
      "sourceText": "Folder could not be created.",
      "targetText": "Le dossier n'a pas pu être créé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersCreateFailed",
      "field": "text",
      "sourceText": "Folder could not be created: {0}",
      "targetText": "Le dossier n'a pas pu être créé : {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersCreateNoName",
      "field": "text",
      "sourceText": "Enter a folder name first.",
      "targetText": "Saisissez d'abord un nom de dossier."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersCreated",
      "field": "text",
      "sourceText": "Folder {0} created.",
      "targetText": "Dossier {0} créé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersEmpty",
      "field": "text",
      "sourceText": "The server did not report any folders.",
      "targetText": "Le serveur n'a signalé aucun dossier."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersError",
      "field": "text",
      "sourceText": "Folder list could not be read.",
      "targetText": "La liste des dossiers n'a pas pu être lue."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersFailed",
      "field": "text",
      "sourceText": "Folder list could not be read: {0}",
      "targetText": "La liste des dossiers n'a pas pu être lue : {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersLoad",
      "field": "text",
      "sourceText": "Read from server",
      "targetText": "Lire depuis le serveur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersNewHint",
      "field": "text",
      "sourceText": "Pick any name you like — it is created below your inbox. The field above then shows the full path your mail server uses for it.",
      "targetText": "Choisissez le nom que vous voulez — il est créé sous votre boîte de réception. Le champ ci-dessus affiche ensuite le chemin complet utilisé par votre serveur de messagerie."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersNewLabel",
      "field": "text",
      "sourceText": "Name of the new folder",
      "targetText": "Nom du nouveau dossier"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersNewPlaceholder",
      "field": "text",
      "sourceText": "e.g. Processed",
      "targetText": "p. ex. Traités"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersNoHost",
      "field": "text",
      "sourceText": "Save the IMAP host first, then the folder list can be read.",
      "targetText": "Enregistrez d'abord l'hôte IMAP, la liste des dossiers pourra alors être lue."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersNoMailbox",
      "field": "text",
      "sourceText": "Save the mailbox user name and password for this team first.",
      "targetText": "Enregistrez d'abord le nom d'utilisateur et le mot de passe de la boîte de cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.foldersPick",
      "field": "text",
      "sourceText": "Pick a folder from the server",
      "targetText": "Choisir un dossier sur le serveur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.generalSection",
      "field": "text",
      "sourceText": "General",
      "targetText": "Général"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.host",
      "field": "text",
      "sourceText": "Host",
      "targetText": "Hôte"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.hostHelp",
      "field": "text",
      "sourceText": "Hostname of the incoming mail server, e.g. imap.example.com.",
      "targetText": "Nom d'hôte du serveur de courrier entrant, p. ex. imap.exemple.fr."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.inboxFolder",
      "field": "text",
      "sourceText": "Inbox folder",
      "targetText": "Dossier de réception"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.inboxFolderHelp",
      "field": "text",
      "sourceText": "Folder that is polled for new messages. Usually INBOX.",
      "targetText": "Dossier relevé pour les nouveaux messages. Généralement INBOX."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.mailboxEnabledHelp",
      "field": "text",
      "sourceText": "Enable polling for this team's mailbox.",
      "targetText": "Activer la relève de la boîte de cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.mailboxPassword",
      "field": "text",
      "sourceText": "Password",
      "targetText": "Mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.mailboxPasswordHelp",
      "field": "text",
      "sourceText": "Password for this team's mailbox. Stored encrypted at rest.",
      "targetText": "Mot de passe de la boîte de cette équipe. Stocké chiffré."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.mailboxUsername",
      "field": "text",
      "sourceText": "Mailbox address (username)",
      "targetText": "Adresse de la boîte (nom d'utilisateur)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.mailboxUsernameHelp",
      "field": "text",
      "sourceText": "Full e-mail address / login for this team's mailbox.",
      "targetText": "Adresse e-mail complète / identifiant de la boîte de cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.mailboxesDesc",
      "field": "text",
      "sourceText": "Each team has its own mailbox credentials. The username is also used as the outgoing 'From' address for that team.",
      "targetText": "Chaque équipe a ses propres identifiants de boîte. Le nom d'utilisateur sert également d'adresse d'expéditeur pour le courrier sortant de cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.mailboxesSection",
      "field": "text",
      "sourceText": "Team mailboxes",
      "targetText": "Boîtes des équipes"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.pollSeconds",
      "field": "text",
      "sourceText": "Poll interval (seconds)",
      "targetText": "Intervalle de relève (secondes)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.pollSecondsHelp",
      "field": "text",
      "sourceText": "How often the mailboxes are checked for new messages. Minimum 15 seconds.",
      "targetText": "Fréquence à laquelle les boîtes sont vérifiées. Minimum 15 secondes."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.port",
      "field": "text",
      "sourceText": "Port",
      "targetText": "Port"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.portHelp",
      "field": "text",
      "sourceText": "Server port. Common value: 993 (SSL).",
      "targetText": "Port du serveur. Valeur courante : 993 (SSL)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.processedFolder",
      "field": "text",
      "sourceText": "Processed folder",
      "targetText": "Dossier des messages traités"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.processedFolderHelp",
      "field": "text",
      "sourceText": "Messages are moved here after being processed. Leave blank to keep them in the inbox.",
      "targetText": "Les messages y sont déplacés après traitement. Laissez vide pour les conserver dans la boîte de réception."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.retentionDays",
      "field": "text",
      "sourceText": "Retention (days)",
      "targetText": "Conservation (jours)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.retentionDaysHelp",
      "field": "text",
      "sourceText": "Messages older than this in both the inbox and processed folder are deleted during cleanup.",
      "targetText": "Les messages plus anciens sont supprimés lors du nettoyage, tant dans la boîte de réception que dans le dossier des messages traités."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.useSsl",
      "field": "text",
      "sourceText": "Use SSL",
      "targetText": "Utiliser SSL"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.imap.useSslHelp",
      "field": "text",
      "sourceText": "Enable for implicit SSL (usually port 993).",
      "targetText": "Activez pour un SSL implicite (généralement le port 993)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.loadError",
      "field": "text",
      "sourceText": "Error loading e-mail settings.",
      "targetText": "Erreur lors du chargement des paramètres e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.notifications.assignmentEnabled",
      "field": "text",
      "sourceText": "Send assignment e-mails",
      "targetText": "Envoyer les e-mails d'attribution"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.notifications.assignmentEnabledHelp",
      "field": "text",
      "sourceText": "Send an e-mail to the agent/admin a ticket is assigned to. Turn off to disable assignment e-mails for this team.",
      "targetText": "Envoie un e-mail à l'agent ou à l'administrateur à qui un ticket est attribué. Désactivez pour supprimer les e-mails d'attribution pour cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.notifications.desc",
      "field": "text",
      "sourceText": "Control e-mail notifications when tickets in this team are assigned.",
      "targetText": "Contrôlez les notifications e-mail lors de l'attribution des tickets de cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.notifications.section",
      "field": "text",
      "sourceText": "Assignment notifications",
      "targetText": "Notifications d'attribution"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.notifications.selfAssignmentEnabled",
      "field": "text",
      "sourceText": "Notify on self-assignment",
      "targetText": "Notifier lors d'une auto-attribution"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.notifications.selfAssignmentEnabledHelp",
      "field": "text",
      "sourceText": "Also send an e-mail when you assign a ticket to yourself (including automatic self-assignment). When off, you only receive an e-mail when someone else assigns a ticket to you.",
      "targetText": "Envoie également un e-mail lorsque vous vous attribuez un ticket (y compris lors d'une auto-attribution automatique). Si l'option est désactivée, vous ne recevez un e-mail que lorsque quelqu'un d'autre vous attribue un ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.notifications.ticketActionsEnabled",
      "field": "text",
      "sourceText": "Send mail on ticket actions",
      "targetText": "Envoyer un message lors des actions sur un ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.notifications.ticketActionsEnabledHelp",
      "field": "text",
      "sourceText": "When enabled, ticket action popups (close, status comment, transfer) offer options to send the comment as an e-mail to the user, an agent, or a custom address.",
      "targetText": "Lorsque cette option est activée, les fenêtres d'action sur un ticket (fermeture, commentaire de statut, transfert) proposent d'envoyer le commentaire par e-mail à l'utilisateur, à un agent ou à une adresse personnalisée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.pageDesc",
      "field": "text",
      "sourceText": "Manage SMTP and IMAP Settings as well as E-Mail Workflows.",
      "targetText": "Gérez les paramètres SMTP et IMAP ainsi que les workflows e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.pageTitle",
      "field": "text",
      "sourceText": "E-Mail Settings",
      "targetText": "Paramètres e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.passwordHint",
      "field": "text",
      "sourceText": "Leave blank to keep the current password.",
      "targetText": "Laissez vide pour conserver le mot de passe actuel."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.passwordPlaceholderEmpty",
      "field": "text",
      "sourceText": "Enter password",
      "targetText": "Saisir le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.passwordPlaceholderSet",
      "field": "text",
      "sourceText": "•••••••• (unchanged)",
      "targetText": "•••••••• (inchangé)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.saveError",
      "field": "text",
      "sourceText": "Error saving e-mail settings.",
      "targetText": "Erreur lors de l'enregistrement des paramètres e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.saved",
      "field": "text",
      "sourceText": "E-mail settings saved.",
      "targetText": "Paramètres e-mail enregistrés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.cardDesc",
      "field": "text",
      "sourceText": "Global outgoing mail server used to send notifications and auto-replies.",
      "targetText": "Serveur de courrier sortant global utilisé pour envoyer les notifications et les réponses automatiques."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.cardTitle",
      "field": "text",
      "sourceText": "SMTP Settings",
      "targetText": "Paramètres SMTP"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.enabledHelp",
      "field": "text",
      "sourceText": "Turn outgoing e-mail (SMTP) on or off.",
      "targetText": "Activez ou désactivez l'envoi d'e-mails (SMTP)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.fromAddress",
      "field": "text",
      "sourceText": "From address",
      "targetText": "Adresse d'expéditeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.fromAddressHelp",
      "field": "text",
      "sourceText": "Default sender address used when a team has no dedicated mailbox.",
      "targetText": "Adresse d'expéditeur par défaut utilisée lorsqu'une équipe n'a pas de boîte dédiée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.fromName",
      "field": "text",
      "sourceText": "From name",
      "targetText": "Nom d'expéditeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.fromNameHelp",
      "field": "text",
      "sourceText": "Display name shown as the sender of outgoing e-mails.",
      "targetText": "Nom affiché comme expéditeur des e-mails sortants."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.host",
      "field": "text",
      "sourceText": "Host",
      "targetText": "Hôte"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.hostHelp",
      "field": "text",
      "sourceText": "Hostname of the outgoing mail server, e.g. smtp.example.com.",
      "targetText": "Nom d'hôte du serveur de courrier sortant, p. ex. smtp.exemple.fr."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.password",
      "field": "text",
      "sourceText": "Password",
      "targetText": "Mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.passwordHelp",
      "field": "text",
      "sourceText": "Password for the SMTP server. Stored encrypted at rest.",
      "targetText": "Mot de passe du serveur SMTP. Stocké chiffré."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.port",
      "field": "text",
      "sourceText": "Port",
      "targetText": "Port"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.portHelp",
      "field": "text",
      "sourceText": "Server port. Common values: 587 (STARTTLS) or 465 (SSL).",
      "targetText": "Port du serveur. Valeurs courantes : 587 (STARTTLS) ou 465 (SSL)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.testError",
      "field": "text",
      "sourceText": "The test e-mail could not be sent.",
      "targetText": "L'e-mail de test n'a pas pu être envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.testFailed",
      "field": "text",
      "sourceText": "Test e-mail could not be sent: {0}",
      "targetText": "L'e-mail de test n'a pas pu être envoyé : {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.testHelp",
      "field": "text",
      "sourceText": "Sends a test message using the saved SMTP settings. Save your changes first, then test.",
      "targetText": "Envoie un message de test avec les paramètres SMTP enregistrés. Enregistrez d'abord vos modifications, puis testez."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.testRecipient",
      "field": "text",
      "sourceText": "Recipient",
      "targetText": "Destinataire"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.testRecipientPlaceholder",
      "field": "text",
      "sourceText": "you@example.com",
      "targetText": "vous@exemple.fr"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.testSend",
      "field": "text",
      "sourceText": "Send test e-mail",
      "targetText": "Envoyer un e-mail de test"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.testSending",
      "field": "text",
      "sourceText": "Sending...",
      "targetText": "Envoi..."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.testSuccess",
      "field": "text",
      "sourceText": "Test e-mail sent to {0}. Check the inbox.",
      "targetText": "E-mail de test envoyé à {0}. Vérifiez la boîte de réception."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.testTitle",
      "field": "text",
      "sourceText": "Send test e-mail",
      "targetText": "Envoyer un e-mail de test"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.useSsl",
      "field": "text",
      "sourceText": "Use SSL",
      "targetText": "Utiliser SSL"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.useSslHelp",
      "field": "text",
      "sourceText": "Enable for implicit SSL (usually port 465). Disable to use STARTTLS (usually port 587).",
      "targetText": "Activez pour un SSL implicite (généralement le port 465). Désactivez pour utiliser STARTTLS (généralement le port 587)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.username",
      "field": "text",
      "sourceText": "Username",
      "targetText": "Nom d'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.smtp.usernameHelp",
      "field": "text",
      "sourceText": "Login user for the SMTP server.",
      "targetText": "Identifiant de connexion au serveur SMTP."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.assignee",
      "field": "text",
      "sourceText": "Assign to",
      "targetText": "Attribuer à"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.autoReply",
      "field": "text",
      "sourceText": "Auto-reply",
      "targetText": "Réponse automatique"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.autoReplyBody",
      "field": "text",
      "sourceText": "Body",
      "targetText": "Texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.autoReplyBodyHelp",
      "field": "text",
      "sourceText": "Optional confirmation text. Placeholders: {originalSubject}, {ticketId}, {ticketTag}. Leave blank to use the default message.",
      "targetText": "Texte de confirmation facultatif. Variables : {originalSubject}, {ticketId}, {ticketTag}. Laissez vide pour utiliser le message par défaut."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.autoReplySubject",
      "field": "text",
      "sourceText": "Subject",
      "targetText": "Objet"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.autoReplySubjectHelp",
      "field": "text",
      "sourceText": "Optional. The ticket reference [TICKET-id] is NOT added automatically — it is only inserted where you use {ticketTag} or {ticketId}. Use {originalSubject} for the incoming subject. Example: {originalSubject} {ticketTag} produces \"Printer problem [TICKET-99]\".",
      "targetText": "Facultatif. La référence du ticket [TICKET-id] n'est PAS ajoutée automatiquement — elle n'est insérée que là où vous utilisez {ticketTag} ou {ticketId}. Utilisez {originalSubject} pour l'objet entrant. Exemple : {originalSubject} {ticketTag} donne « Problème d'imprimante [TICKET-99] »."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.bodyLanguageHint",
      "field": "text",
      "sourceText": "Always enter the text in English so the language export / import works properly.",
      "targetText": "Saisissez toujours le texte en anglais pour que l'export et l'import des langues fonctionnent correctement."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.createOrAppendTicket",
      "field": "text",
      "sourceText": "Create or append ticket",
      "targetText": "Créer ou compléter un ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.fixedLanguage",
      "field": "text",
      "sourceText": "Language",
      "targetText": "Langue"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.languageMode",
      "field": "text",
      "sourceText": "Reply language",
      "targetText": "Langue de la réponse"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.languageMode.agent",
      "field": "text",
      "sourceText": "Assigned agent's language",
      "targetText": "Langue de l'agent attribué"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.languageMode.english",
      "field": "text",
      "sourceText": "Standard English",
      "targetText": "Anglais standard"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.languageMode.fixed",
      "field": "text",
      "sourceText": "Fixed language",
      "targetText": "Langue fixe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.languageMode.team",
      "field": "text",
      "sourceText": "Team default language",
      "targetText": "Langue par défaut de l'équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.languageModeHelp",
      "field": "text",
      "sourceText": "Choose which language the translated subject/body is sent in. Translations are managed on the Languages page.",
      "targetText": "Choisissez la langue dans laquelle l'objet et le texte traduits sont envoyés. Les traductions se gèrent sur la page Langues."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.mainCategory",
      "field": "text",
      "sourceText": "Main category",
      "targetText": "Catégorie principale"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.moveFolder",
      "field": "text",
      "sourceText": "Folder",
      "targetText": "Dossier"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.moveFolderHelp",
      "field": "text",
      "sourceText": "Target folder for the message. Leave blank to use the general processed folder.",
      "targetText": "Dossier de destination du message. Laissez vide pour utiliser le dossier général des messages traités."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.moveToFolder",
      "field": "text",
      "sourceText": "Move to folder",
      "targetText": "Déplacer vers un dossier"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.none",
      "field": "text",
      "sourceText": "— Keep default —",
      "targetText": "— Conserver la valeur par défaut —"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.owningTeam",
      "field": "text",
      "sourceText": "Owning team",
      "targetText": "Équipe propriétaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.priority",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.recipientExtra",
      "field": "text",
      "sourceText": "Additional addresses",
      "targetText": "Adresses supplémentaires"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.recipientExtraHelp",
      "field": "text",
      "sourceText": "Comma-separated. Blocked senders on the blacklist are skipped automatically.",
      "targetText": "Séparées par des virgules. Les expéditeurs figurant sur la liste de blocage sont automatiquement ignorés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.recipientHelp",
      "field": "text",
      "sourceText": "One e-mail is sent per recipient, each in their own language. Team membership and role are checked again right before sending, so someone who left the team stops receiving these mails.",
      "targetText": "Un e-mail est envoyé par destinataire, chacun dans sa propre langue. L'appartenance à l'équipe et le rôle sont revérifiés juste avant l'envoi, de sorte qu'une personne ayant quitté l'équipe cesse de recevoir ces messages."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.recipientMembers",
      "field": "text",
      "sourceText": "Team members (admins and agents)",
      "targetText": "Membres de l'équipe (administrateurs et agents)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.recipientNoMembers",
      "field": "text",
      "sourceText": "This team has no admins or agents yet.",
      "targetText": "Cette équipe n'a pas encore d'administrateurs ni d'agents."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.recipientSelected",
      "field": "text",
      "sourceText": "Selected team members and addresses",
      "targetText": "Membres de l'équipe et adresses sélectionnés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.recipientSender",
      "field": "text",
      "sourceText": "The sender of the incoming e-mail",
      "targetText": "L'expéditeur de l'e-mail entrant"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.recipientStale",
      "field": "text",
      "sourceText": "Some selected recipients are no longer an admin or agent in this team. They are skipped when sending.",
      "targetText": "Certains destinataires sélectionnés ne sont plus administrateurs ou agents dans cette équipe. Ils sont ignorés lors de l'envoi."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.recipientStaleRemove",
      "field": "text",
      "sourceText": "Remove them",
      "targetText": "Les supprimer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.recipients",
      "field": "text",
      "sourceText": "Recipients",
      "targetText": "Destinataires"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.sendCondAlways",
      "field": "text",
      "sourceText": "Always, for every e-mail this workflow handles",
      "targetText": "Toujours, pour chaque e-mail traité par ce workflow"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.sendCondNone",
      "field": "text",
      "sourceText": "No conditions — the mail is always sent.",
      "targetText": "Aucune condition — le message est toujours envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.sendMail",
      "field": "text",
      "sourceText": "Send mail",
      "targetText": "Envoyer un message"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.sendMailBody",
      "field": "text",
      "sourceText": "Body",
      "targetText": "Texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.sendMailConditions",
      "field": "text",
      "sourceText": "Send conditions",
      "targetText": "Conditions d'envoi"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.sendMailConditionsHelp",
      "field": "text",
      "sourceText": "The mail is sent whenever these conditions match. Leave empty to always send.",
      "targetText": "Le message est envoyé dès que ces conditions sont remplies. Laissez vide pour toujours envoyer."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.sendMailMatchType",
      "field": "text",
      "sourceText": "Match",
      "targetText": "Correspondance"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.sendMailSubject",
      "field": "text",
      "sourceText": "Subject",
      "targetText": "Objet"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.setFields",
      "field": "text",
      "sourceText": "Set fields",
      "targetText": "Définir des champs"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.status",
      "field": "text",
      "sourceText": "Status",
      "targetText": "Statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.subCategory",
      "field": "text",
      "sourceText": "Subcategory",
      "targetText": "Sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.tokenOriginalSubject",
      "field": "text",
      "sourceText": "Original subject",
      "targetText": "Objet d'origine"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.tokenOriginalSubjectHelp",
      "field": "text",
      "sourceText": "The subject line of the incoming e-mail.",
      "targetText": "La ligne d'objet de l'e-mail entrant."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.tokenTicketTag",
      "field": "text",
      "sourceText": "Ticket reference",
      "targetText": "Référence du ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.action.tokenTicketTagHelp",
      "field": "text",
      "sourceText": "Inserts [TICKET-99]. Lets a reply be matched to the existing ticket instead of opening a new one.",
      "targetText": "Insère [TICKET-99]. Permet de rattacher une réponse au ticket existant au lieu d'en ouvrir un nouveau."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.actionType",
      "field": "text",
      "sourceText": "Action",
      "targetText": "Action"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.actions",
      "field": "text",
      "sourceText": "Actions",
      "targetText": "Actions"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.addAction",
      "field": "text",
      "sourceText": "+ Add action",
      "targetText": "+ Ajouter une action"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.addCondition",
      "field": "text",
      "sourceText": "+ Add condition",
      "targetText": "+ Ajouter une condition"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.addWorkflow",
      "field": "text",
      "sourceText": "+ Add workflow",
      "targetText": "+ Ajouter un workflow"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.advancedForced",
      "field": "text",
      "sourceText": "These conditions cannot be shown in the simple view, so they are being edited in detail below. Deleting them all switches back to the simple view.",
      "targetText": "Ces conditions ne peuvent pas être affichées dans la vue simple, elles sont donc modifiées en détail ci-dessous. Les supprimer toutes ramène à la vue simple."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.advancedHide",
      "field": "text",
      "sourceText": "Hide advanced",
      "targetText": "Masquer les options avancées"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.advancedShow",
      "field": "text",
      "sourceText": "Advanced",
      "targetText": "Options avancées"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.cardDesc",
      "field": "text",
      "sourceText": "Define per team how incoming e-mails are processed using conditions and actions.",
      "targetText": "Définissez par équipe la manière dont les e-mails entrants sont traités, à l'aide de conditions et d'actions."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.cardTitle",
      "field": "text",
      "sourceText": "E-Mail Workflows",
      "targetText": "Workflows e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionMode",
      "field": "text",
      "sourceText": "When?",
      "targetText": "Quand ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionMode.all",
      "field": "text",
      "sourceText": "Every e-mail in this mailbox",
      "targetText": "Chaque e-mail de cette boîte"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionMode.contains",
      "field": "text",
      "sourceText": "Only when subject or text contains",
      "targetText": "Uniquement si l'objet ou le texte contient"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionMode.containsHelp",
      "field": "text",
      "sourceText": "Matches when the term appears in the subject or anywhere in the message text. Not case-sensitive.",
      "targetText": "S'applique lorsque le terme apparaît dans l'objet ou n'importe où dans le texte du message. Insensible à la casse."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionType",
      "field": "text",
      "sourceText": "Type",
      "targetText": "Type"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionType.body",
      "field": "text",
      "sourceText": "Body",
      "targetText": "Texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionType.recipient",
      "field": "text",
      "sourceText": "Recipient (To/Cc)",
      "targetText": "Destinataire (À/Cc)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionType.sender",
      "field": "text",
      "sourceText": "Sender (From)",
      "targetText": "Expéditeur (De)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionType.subject",
      "field": "text",
      "sourceText": "Subject",
      "targetText": "Objet"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionType.subjectOrBody",
      "field": "text",
      "sourceText": "Subject or body",
      "targetText": "Objet ou texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionValue",
      "field": "text",
      "sourceText": "Value",
      "targetText": "Valeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditionValueHelp",
      "field": "text",
      "sourceText": "Leave blank to match this team's own mailbox address.",
      "targetText": "Laissez vide pour utiliser l'adresse de la boîte de cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.conditions",
      "field": "text",
      "sourceText": "Conditions",
      "targetText": "Conditions"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.delete",
      "field": "text",
      "sourceText": "Delete workflow",
      "targetText": "Supprimer le workflow"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.enabled",
      "field": "text",
      "sourceText": "Enabled",
      "targetText": "Activé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.errors.unknownPlaceholder",
      "field": "text",
      "sourceText": "Workflow '{0}', action '{1}', field '{2}': unknown placeholders {3}. Available here: {4}.",
      "targetText": "Workflow « {0} », action « {1} », champ « {2} » : variables inconnues {3}. Disponibles ici : {4}."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.matchAll",
      "field": "text",
      "sourceText": "All conditions",
      "targetText": "Toutes les conditions"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.matchAny",
      "field": "text",
      "sourceText": "Any condition",
      "targetText": "N'importe quelle condition"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.matchType",
      "field": "text",
      "sourceText": "Match",
      "targetText": "Correspondance"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.moveDown",
      "field": "text",
      "sourceText": "Move down",
      "targetText": "Descendre"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.moveUp",
      "field": "text",
      "sourceText": "Move up",
      "targetText": "Monter"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.name",
      "field": "text",
      "sourceText": "Name",
      "targetText": "Nom"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.noActions",
      "field": "text",
      "sourceText": "No actions defined.",
      "targetText": "Aucune action définie."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.noConditions",
      "field": "text",
      "sourceText": "No conditions — this workflow matches every message.",
      "targetText": "Aucune condition — ce workflow s'applique à chaque message."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.noWorkflows",
      "field": "text",
      "sourceText": "No workflows defined for this team yet.",
      "targetText": "Aucun workflow défini pour cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.oneWorkflowHint",
      "field": "text",
      "sourceText": "Put everything that belongs to one case into a single workflow. Workflows run from top to bottom and \"Stop after match\" ends the run, so a workflow below one that already matched never gets its turn. Only actions inside the same workflow know the ticket that was just created — that is what lets a notification carry its ticket reference.",
      "targetText": "Regroupez tout ce qui relève d'un même cas dans un seul workflow. Les workflows s'exécutent de haut en bas et « Arrêter après correspondance » met fin à la série : un workflow situé sous un workflow qui a déjà correspondu n'a jamais son tour. Seules les actions d'un même workflow connaissent le ticket qui vient d'être créé — c'est ce qui permet à une notification de porter sa référence de ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.operator",
      "field": "text",
      "sourceText": "Operator",
      "targetText": "Opérateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.operator.contains",
      "field": "text",
      "sourceText": "Contains",
      "targetText": "Contient"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.operator.equals",
      "field": "text",
      "sourceText": "Equals",
      "targetText": "Est égal à"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.operator.regex",
      "field": "text",
      "sourceText": "Regex",
      "targetText": "Expression régulière"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.removeAction",
      "field": "text",
      "sourceText": "Remove",
      "targetText": "Supprimer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.removeCondition",
      "field": "text",
      "sourceText": "Remove",
      "targetText": "Supprimer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.selectTeam",
      "field": "text",
      "sourceText": "Team",
      "targetText": "Équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.stopProcessing",
      "field": "text",
      "sourceText": "Stop after match",
      "targetText": "Arrêter après correspondance"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.email.workflows.stopProcessingHelp",
      "field": "text",
      "sourceText": "If enabled, no further workflows are evaluated once this one matches.",
      "targetText": "Si cette option est activée, aucun autre workflow n'est évalué dès que celui-ci correspond."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.accessDeniedDesc",
      "field": "text",
      "sourceText": "This page is only available for administrators.",
      "targetText": "Cette page n'est accessible qu'aux administrateurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.addDepartment",
      "field": "text",
      "sourceText": "+ Add department",
      "targetText": "+ Ajouter un service"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.addPosition",
      "field": "text",
      "sourceText": "+ Add position",
      "targetText": "+ Ajouter une fonction"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.addPriority",
      "field": "text",
      "sourceText": "+ Add priority",
      "targetText": "+ Ajouter une priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.addSite",
      "field": "text",
      "sourceText": "+ Add site",
      "targetText": "+ Ajouter un site"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.addStatus",
      "field": "text",
      "sourceText": "+ Add status",
      "targetText": "+ Ajouter un statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.allowedTransitions",
      "field": "text",
      "sourceText": "Allowed transitions to new status",
      "targetText": "Transitions autorisées vers un nouveau statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.backgroundColor",
      "field": "text",
      "sourceText": "Background color",
      "targetText": "Couleur d'arrière-plan"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.countsAsClosed",
      "field": "text",
      "sourceText": "Counts as closed",
      "targetText": "Compte comme fermé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.countsAsClosedHint",
      "field": "text",
      "sourceText": "Final state. Automatic closing moves tickets to this status.",
      "targetText": "État final. La fermeture automatique place les tickets dans ce statut."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.countsAsResolved",
      "field": "text",
      "sourceText": "Counts as resolved",
      "targetText": "Compte comme résolu"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.countsAsResolvedHint",
      "field": "text",
      "sourceText": "Work is done. Tickets in this status are closed automatically after 24 hours.",
      "targetText": "Le travail est terminé. Les tickets dans ce statut sont fermés automatiquement après 24 heures."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.countsAsWaitingForCustomer",
      "field": "text",
      "sourceText": "Waiting for the requester",
      "targetText": "En attente du demandeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.countsAsWaitingForCustomerHint",
      "field": "text",
      "sourceText": "We are waiting for the requester, not for another team or a service provider.",
      "targetText": "Nous attendons le demandeur, pas une autre équipe ni un prestataire."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.created",
      "field": "text",
      "sourceText": "Entry created.",
      "targetText": "Entrée créée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.baseUrl",
      "field": "text",
      "sourceText": "Survey links are built from this address:",
      "targetText": "Les liens d'enquête sont construits à partir de cette adresse :"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.baseUrlLink",
      "field": "text",
      "sourceText": "Change it under Security",
      "targetText": "Modifiez-la sous Sécurité"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.baseUrlUnknown",
      "field": "text",
      "sourceText": "The public address of this installation is not known yet, so no survey can be sent.",
      "targetText": "L'adresse publique de cette installation n'est pas encore connue, aucune enquête ne peut donc être envoyée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.byAgent",
      "field": "text",
      "sourceText": "Per-agent evaluation",
      "targetText": "Évaluation par agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.byAgentDesc",
      "field": "text",
      "sourceText": "Adds a per-agent breakdown to the satisfaction report and export. Ratings on individual tickets are always visible to the team.",
      "targetText": "Ajoute une répartition par agent au rapport de satisfaction et à l'export. Les évaluations des tickets individuels restent toujours visibles pour l'équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.byAgentRequiresEnabled",
      "field": "text",
      "sourceText": "Enable satisfaction surveys first.",
      "targetText": "Activez d'abord les enquêtes de satisfaction."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.desc",
      "field": "text",
      "sourceText": "After a ticket is closed, the requester receives an e-mail with a five-star rating link. The survey is sent once per ticket and the link expires after 30 days.",
      "targetText": "Une fois un ticket fermé, le demandeur reçoit un e-mail contenant un lien d'évaluation à cinq étoiles. L'enquête est envoyée une seule fois par ticket et le lien expire au bout de 30 jours."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.enabled",
      "field": "text",
      "sourceText": "Send satisfaction surveys",
      "targetText": "Envoyer les enquêtes de satisfaction"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.enabledDesc",
      "field": "text",
      "sourceText": "Only tickets closed after enabling are surveyed. Existing ratings stay visible when disabled.",
      "targetText": "Seuls les tickets fermés après l'activation reçoivent une enquête. Les évaluations existantes restent visibles en cas de désactivation."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.requiresSmtp",
      "field": "text",
      "sourceText": "Sending requires the e-mail (SMTP) settings to be configured and enabled.",
      "targetText": "L'envoi nécessite que les paramètres e-mail (SMTP) soient configurés et activés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.throttleDays",
      "field": "text",
      "sourceText": "At most one survey per requester within",
      "targetText": "Au plus une enquête par demandeur en l'espace de"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.throttleDaysDesc",
      "field": "text",
      "sourceText": "Someone who reports several tickets within this window is asked only once. Set 0 to ask on every closed ticket. A customer desk with many different senders rarely hits this limit; an internal helpdesk, where the same people report again and again, does.",
      "targetText": "Une personne qui signale plusieurs tickets pendant cette période n'est sollicitée qu'une fois. Mettez 0 pour interroger à chaque ticket fermé. Un service client comptant de nombreux expéditeurs différents atteint rarement cette limite ; un helpdesk interne, où les mêmes personnes signalent sans cesse, l'atteint."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.throttleDaysUnit",
      "field": "text",
      "sourceText": "days",
      "targetText": "jours"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.csat.title",
      "field": "text",
      "sourceText": "Customer Satisfaction Score (CSAT)",
      "targetText": "Satisfaction client (CSAT)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.customFields.cardDesc",
      "field": "text",
      "sourceText": "Maximum number of active custom fields allowed per team.",
      "targetText": "Nombre maximal de champs personnalisés actifs par équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.customFields.cardTitle",
      "field": "text",
      "sourceText": "Custom Fields Limit",
      "targetText": "Limite de champs personnalisés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.customFields.label",
      "field": "text",
      "sourceText": "Maximum custom fields per team",
      "targetText": "Nombre maximal de champs personnalisés par équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.customFields.rangeError",
      "field": "text",
      "sourceText": "Value must be between 1 and 50.",
      "targetText": "La valeur doit être comprise entre 1 et 50."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.customFields.saveButton",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.customFields.saveError",
      "field": "text",
      "sourceText": "Error saving custom fields limit.",
      "targetText": "Erreur lors de l'enregistrement de la limite de champs personnalisés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.customFields.saveSuccess",
      "field": "text",
      "sourceText": "Custom fields limit saved.",
      "targetText": "Limite de champs personnalisés enregistrée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.cardDesc",
      "field": "text",
      "sourceText": "How dates and times are written throughout the system. This is a setting of your installation, not of the chosen language - a company writes dates one way, whoever is looking.",
      "targetText": "La manière dont les dates et les heures sont écrites dans tout le système. C'est un réglage de votre installation, pas de la langue choisie - une entreprise écrit les dates d'une seule façon, quel que soit celui qui regarde."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.cardTitle",
      "field": "text",
      "sourceText": "Date and time format",
      "targetText": "Format de date et d'heure"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.dateSeparator",
      "field": "text",
      "sourceText": "Date separator",
      "targetText": "Séparateur de date"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.order",
      "field": "text",
      "sourceText": "Date order",
      "targetText": "Ordre de la date"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.orderDmy",
      "field": "text",
      "sourceText": "Day, month, year",
      "targetText": "Jour, mois, année"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.orderMdy",
      "field": "text",
      "sourceText": "Month, day, year",
      "targetText": "Mois, jour, année"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.orderYmd",
      "field": "text",
      "sourceText": "Year, month, day",
      "targetText": "Année, mois, jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.preview",
      "field": "text",
      "sourceText": "This is how it looks",
      "targetText": "Voici le rendu"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.saveButton",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.saveError",
      "field": "text",
      "sourceText": "Error saving the format.",
      "targetText": "Erreur lors de l'enregistrement du format."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.saveSuccess",
      "field": "text",
      "sourceText": "Date and time format saved.",
      "targetText": "Format de date et d'heure enregistré."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.time12",
      "field": "text",
      "sourceText": "12 hours (AM/PM)",
      "targetText": "12 heures (AM/PM)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.time24",
      "field": "text",
      "sourceText": "24 hours",
      "targetText": "24 heures"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.timeFormat",
      "field": "text",
      "sourceText": "Clock",
      "targetText": "Horloge"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dateFormat.timeSeparator",
      "field": "text",
      "sourceText": "Time separator",
      "targetText": "Séparateur d'heure"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.deleteConfirmDesc",
      "field": "text",
      "sourceText": "This entry will be permanently removed.",
      "targetText": "Cette entrée sera définitivement supprimée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.deleteConfirmTitle",
      "field": "text",
      "sourceText": "Are you sure you want to delete?",
      "targetText": "Voulez-vous vraiment supprimer ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.deleted",
      "field": "text",
      "sourceText": "Entry deleted.",
      "targetText": "Entrée supprimée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.department",
      "field": "text",
      "sourceText": "Department",
      "targetText": "Service"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dropdownSectionDesc",
      "field": "text",
      "sourceText": "Manage most of the Drop-Down Lists here",
      "targetText": "Gérez ici la plupart des listes déroulantes"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.dropdownSectionTitle",
      "field": "text",
      "sourceText": "Drop-Down Lists",
      "targetText": "Listes déroulantes"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.editStatus",
      "field": "text",
      "sourceText": "Edit status",
      "targetText": "Modifier le statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.emptyName",
      "field": "text",
      "sourceText": "Name must not be empty.",
      "targetText": "Le nom ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.enRequired",
      "field": "text",
      "sourceText": "EN (required)",
      "targetText": "EN (obligatoire)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.exportJson",
      "field": "text",
      "sourceText": "Export JSON",
      "targetText": "Exporter le JSON"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.importExportHint",
      "field": "text",
      "sourceText": "You can enter new entries one by one in English, or add them in bulk by using the export and import buttons. On a newly installed system, download the empty export file to get the structure, add everything you need, and import it.",
      "targetText": "Vous pouvez saisir les nouvelles entrées une par une en anglais, ou les ajouter en masse à l'aide des boutons d'export et d'import. Sur un système fraîchement installé, téléchargez le fichier d'export vide pour obtenir la structure, complétez-le et importez-le."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.importJson",
      "field": "text",
      "sourceText": "Import JSON",
      "targetText": "Importer le JSON"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.importUpdated",
      "field": "text",
      "sourceText": "Entries imported",
      "targetText": "Entrées importées"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.invalidJson",
      "field": "text",
      "sourceText": "Invalid JSON file.",
      "targetText": "Fichier JSON invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.isSystemOnly",
      "field": "text",
      "sourceText": "System only",
      "targetText": "Système uniquement"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.lastFlagCannotBeRemoved",
      "field": "text",
      "sourceText": "This is the last status with this flag. Assign it to another status first.",
      "targetText": "C'est le dernier statut portant ce marqueur. Attribuez-le d'abord à un autre statut."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.mandatoryHint",
      "field": "text",
      "sourceText": "Mandatory",
      "targetText": "Obligatoire"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.noItems",
      "field": "text",
      "sourceText": "No entries found.",
      "targetText": "Aucune entrée trouvée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.noTransitions",
      "field": "text",
      "sourceText": "No transitions available.",
      "targetText": "Aucune transition disponible."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.ok",
      "field": "text",
      "sourceText": "Ok",
      "targetText": "Ok"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.onboarding.body",
      "field": "text",
      "sourceText": "Walk through the initial setup steps again. Nothing is reset — the assistant only shows you what is set up and what is still open.",
      "targetText": "Parcourez à nouveau les étapes de la configuration initiale. Rien n'est réinitialisé — l'assistant vous montre seulement ce qui est configuré et ce qui reste à faire."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.onboarding.restart",
      "field": "text",
      "sourceText": "Show setup assistant",
      "targetText": "Afficher l'assistant de configuration"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.onboarding.running",
      "field": "text",
      "sourceText": "The setup assistant is currently active. You'll find it in the sidebar.",
      "targetText": "L'assistant de configuration est actuellement actif. Vous le trouverez dans la barre latérale."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.onboarding.title",
      "field": "text",
      "sourceText": "Setup assistant",
      "targetText": "Assistant de configuration"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.pageDesc",
      "field": "text",
      "sourceText": "Drop-Down Lists and other Options",
      "targetText": "Listes déroulantes et autres options"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.pageTitle",
      "field": "text",
      "sourceText": "General Settings",
      "targetText": "Paramètres généraux"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.position",
      "field": "text",
      "sourceText": "Position",
      "targetText": "Fonction"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.priority",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.quickActionHint",
      "field": "text",
      "sourceText": "Only first 4 are shown as quick actions; others appear under More statuses.",
      "targetText": "Seuls les 4 premiers apparaissent comme actions rapides ; les autres figurent sous Plus de statuts."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.renameHint",
      "field": "text",
      "sourceText": "Renaming via JSON is not supported. Please use the fields on this page instead.",
      "targetText": "Le renommage via JSON n'est pas pris en charge. Utilisez plutôt les champs de cette page."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.requiresComment",
      "field": "text",
      "sourceText": "Requires comment in dialog",
      "targetText": "Exige un commentaire dans la fenêtre"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.role",
      "field": "text",
      "sourceText": "Role",
      "targetText": "Rôle"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.rolesFixedHint",
      "field": "text",
      "sourceText": "The three roles are fixed. You can rename and translate them here. What a role may do is set under Settings > Security in the permission concept.",
      "targetText": "Les trois rôles sont fixes. Vous pouvez les renommer et les traduire ici. Ce qu'un rôle a le droit de faire se règle sous Paramètres > Sécurité, dans la gestion des droits."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.saveStatus",
      "field": "text",
      "sourceText": "Save status",
      "targetText": "Enregistrer le statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.semanticFlagsHint",
      "field": "text",
      "sourceText": "These flags tell the system what a status means, independent of its name. Renaming a status no longer changes how it is treated.",
      "targetText": "Ces marqueurs indiquent au système ce que signifie un statut, indépendamment de son nom. Renommer un statut ne change donc plus la manière dont il est traité."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.semanticFlagsSection",
      "field": "text",
      "sourceText": "Meaning of this status",
      "targetText": "Signification de ce statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.showAsQuickAction",
      "field": "text",
      "sourceText": "Set as primary status (max. 4)",
      "targetText": "Définir comme statut principal (4 maximum)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.showModal",
      "field": "text",
      "sourceText": "Show dialog",
      "targetText": "Afficher la fenêtre"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.showOnCreateTicket",
      "field": "text",
      "sourceText": "Show status in new ticket form",
      "targetText": "Afficher le statut dans le formulaire de nouveau ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.site",
      "field": "text",
      "sourceText": "Site",
      "targetText": "Site"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.sortOrder",
      "field": "text",
      "sourceText": "Sort order",
      "targetText": "Ordre de tri"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.status",
      "field": "text",
      "sourceText": "Status",
      "targetText": "Statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.statusSaved",
      "field": "text",
      "sourceText": "Status saved.",
      "targetText": "Statut enregistré."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.billableDefault",
      "field": "text",
      "sourceText": "New entries are billable by default",
      "targetText": "Les nouvelles entrées sont facturables par défaut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.byAgent",
      "field": "text",
      "sourceText": "Per-agent evaluation",
      "targetText": "Évaluation par agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.byAgentDesc",
      "field": "text",
      "sourceText": "Adds a per-agent breakdown to the time report. Off by default: time per person is performance data.",
      "targetText": "Ajoute une répartition par agent au rapport de temps. Désactivé par défaut : le temps par personne est une donnée de performance."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.byAgentRequiresEnabled",
      "field": "text",
      "sourceText": "Enable time tracking first.",
      "targetText": "Activez d'abord le suivi du temps."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.desc",
      "field": "text",
      "sourceText": "Agents log the effort spent on a ticket. This is effort per case, not attendance of a person — there is no clock-in tracking.",
      "targetText": "Les agents saisissent le travail consacré à un ticket. Il s'agit de l'effort par dossier, pas de la présence d'une personne — aucun pointage n'est effectué."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.enabled",
      "field": "text",
      "sourceText": "Enable time tracking",
      "targetText": "Activer le suivi du temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.enabledDesc",
      "field": "text",
      "sourceText": "While switched off no entry can be made anywhere. Existing entries stay visible and exportable.",
      "targetText": "Tant que cette option est désactivée, aucune entrée ne peut être saisie nulle part. Les entrées existantes restent visibles et exportables."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.increment",
      "field": "text",
      "sourceText": "Rounding increment (minutes)",
      "targetText": "Palier d'arrondi (minutes)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.incrementDesc",
      "field": "text",
      "sourceText": "Rounds every entry up to the next multiple. 0 = off.",
      "targetText": "Arrondit chaque entrée au multiple supérieur. 0 = désactivé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.minimum",
      "field": "text",
      "sourceText": "Minimum per entry (minutes)",
      "targetText": "Minimum par entrée (minutes)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.minimumDesc",
      "field": "text",
      "sourceText": "Every entry is billed with at least this value. 0 = off.",
      "targetText": "Chaque entrée est facturée au moins à cette valeur. 0 = désactivé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.perTeam",
      "field": "text",
      "sourceText": "Every team takes part unless you exclude it under Teams.",
      "targetText": "Chaque équipe participe, sauf si vous l'excluez sous Équipes."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.quick",
      "field": "text",
      "sourceText": "Quick buttons (minutes, comma separated)",
      "targetText": "Boutons rapides (minutes, séparées par des virgules)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.quickDesc",
      "field": "text",
      "sourceText": "Shown next to the input field on a ticket. Leave empty for the free input only.",
      "targetText": "Affichés à côté du champ de saisie sur un ticket. Laissez vide pour n'avoir que la saisie libre."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.require",
      "field": "text",
      "sourceText": "Require a time entry before resolving or closing",
      "targetText": "Exiger une saisie de temps avant de résoudre ou de fermer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.requireDesc",
      "field": "text",
      "sourceText": "Applies only when a person changes the status. Auto-close, merging and bulk actions are never blocked — otherwise tickets would exist that nobody can close.",
      "targetText": "Ne s'applique que lorsqu'une personne change le statut. La fermeture automatique, la fusion et les actions groupées ne sont jamais bloquées — sinon il existerait des tickets que personne ne peut fermer."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.requiresEnabled",
      "field": "text",
      "sourceText": "Enable time tracking first.",
      "targetText": "Activez d'abord le suivi du temps."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.roundingNote",
      "field": "text",
      "sourceText": "Rounding only changes the BILLED value and is applied per entry, never to the total. What was logged stays untouched, so changing these values never falsifies past data.",
      "targetText": "L'arrondi ne modifie que la valeur FACTURÉE et s'applique par entrée, jamais au total. Le temps saisi reste intact, de sorte que modifier ces valeurs ne fausse jamais les données passées."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.sample",
      "field": "text",
      "sourceText": "With these settings {input} minutes are billed as {billable} minutes.",
      "targetText": "Avec ces réglages, {input} minutes sont facturées comme {billable} minutes."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.saved",
      "field": "text",
      "sourceText": "Time tracking settings saved.",
      "targetText": "Paramètres de suivi du temps enregistrés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.timer",
      "field": "text",
      "sourceText": "Stopwatch on the ticket",
      "targetText": "Chronomètre sur le ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.timerAutoStart",
      "field": "text",
      "sourceText": "Start the timer when a ticket is opened",
      "targetText": "Démarrer le chronomètre à l'ouverture d'un ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.timerAutoStartDesc",
      "field": "text",
      "sourceText": "Opening another ticket pauses the running one. Nothing else pauses it — a hidden window is not a break.",
      "targetText": "Ouvrir un autre ticket met en pause celui en cours. Rien d'autre ne le met en pause — une fenêtre masquée n'est pas une pause."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.timerDesc",
      "field": "text",
      "sourceText": "Adds start/pause to a ticket. It proposes the elapsed time since the agent pressed start — the entry is only created once a human confirms it. Quick entry works without it.",
      "targetText": "Ajoute démarrage et pause à un ticket. Le chronomètre propose le temps écoulé depuis que l'agent a appuyé sur démarrer — l'entrée n'est créée qu'une fois qu'un humain la confirme. La saisie rapide fonctionne sans lui."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.timerMax",
      "field": "text",
      "sourceText": "Maximum runtime (minutes)",
      "targetText": "Durée maximale (minutes)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.timerMaxDesc",
      "field": "text",
      "sourceText": "Guard against the timer left running overnight. It is capped, never discarded, and the agent is told. 0 = no limit.",
      "targetText": "Garde-fou contre un chronomètre laissé en marche toute la nuit. Il est plafonné, jamais supprimé, et l'agent en est informé. 0 = pas de limite."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timeTracking.title",
      "field": "text",
      "sourceText": "Time tracking per ticket",
      "targetText": "Suivi du temps par ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timezone.cardDesc",
      "field": "text",
      "sourceText": "System time zone used to display history timestamps and to run scheduled tasks. The server clock itself stays in UTC and is kept accurate by the operating system.",
      "targetText": "Fuseau horaire du système utilisé pour afficher les horodatages de l'historique et exécuter les tâches planifiées. L'horloge du serveur elle-même reste en UTC et est tenue à jour par le système d'exploitation."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timezone.cardTitle",
      "field": "text",
      "sourceText": "Time Zone",
      "targetText": "Fuseau horaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timezone.label",
      "field": "text",
      "sourceText": "Time zone",
      "targetText": "Fuseau horaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timezone.saveButton",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timezone.saveError",
      "field": "text",
      "sourceText": "Error saving time zone.",
      "targetText": "Erreur lors de l'enregistrement du fuseau horaire."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.timezone.saveSuccess",
      "field": "text",
      "sourceText": "Time zone saved.",
      "targetText": "Fuseau horaire enregistré."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.translationLanguage",
      "field": "text",
      "sourceText": "Language",
      "targetText": "Langue"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.translationModalSubtitle",
      "field": "text",
      "sourceText": "Dialog subtitle",
      "targetText": "Sous-titre de la fenêtre"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.translationModalTitle",
      "field": "text",
      "sourceText": "Dialog title",
      "targetText": "Titre de la fenêtre"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.translationName",
      "field": "text",
      "sourceText": "Name",
      "targetText": "Nom"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.translationsSection",
      "field": "text",
      "sourceText": "Translations",
      "targetText": "Traductions"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.unknownError",
      "field": "text",
      "sourceText": "An error occurred.",
      "targetText": "Une erreur est survenue."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.general.updated",
      "field": "text",
      "sourceText": "Entry saved.",
      "targetText": "Entrée enregistrée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.accessDeniedDesc",
      "field": "text",
      "sourceText": "This page is only available for administrators.",
      "targetText": "Cette page n'est accessible qu'aux administrateurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.alwaysActive",
      "field": "text",
      "sourceText": "Always active",
      "targetText": "Toujours active"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.exportBtn",
      "field": "text",
      "sourceText": "Export JSON",
      "targetText": "Exporter le JSON"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.exportDesc",
      "field": "text",
      "sourceText": "Download a JSON file with all English source texts and existing translations for the target language.",
      "targetText": "Téléchargez un fichier JSON contenant tous les textes sources anglais et les traductions existantes de la langue cible."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.exportSection",
      "field": "text",
      "sourceText": "Export translations",
      "targetText": "Exporter les traductions"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.exportSuccess",
      "field": "text",
      "sourceText": "Export successful",
      "targetText": "Export réussi"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.importBtn",
      "field": "text",
      "sourceText": "Import JSON",
      "targetText": "Importer le JSON"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.importDesc",
      "field": "text",
      "sourceText": "Upload a previously exported JSON file. Empty fields are skipped; existing translations are overwritten.",
      "targetText": "Envoyez un fichier JSON précédemment exporté. Les champs vides sont ignorés ; les traductions existantes sont remplacées."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.importHint",
      "field": "text",
      "sourceText": "Only JSON files in the export format are accepted.",
      "targetText": "Seuls les fichiers JSON au format d'export sont acceptés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.importPlaceholderExample",
      "field": "text",
      "sourceText": "e.g.",
      "targetText": "p. ex."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.importPlaceholderRejected",
      "field": "text",
      "sourceText": "entries rejected because their {placeholders} do not match the English original (English stays active for those)",
      "targetText": "entrées rejetées parce que leurs {placeholders} ne correspondent pas à l'original anglais (l'anglais reste actif pour celles-ci)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.importSection",
      "field": "text",
      "sourceText": "Import translations",
      "targetText": "Importer les traductions"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.importSkipped",
      "field": "text",
      "sourceText": "skipped",
      "targetText": "ignorées"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.importSuccess",
      "field": "text",
      "sourceText": "Import successful",
      "targetText": "Import réussi"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.importUpdated",
      "field": "text",
      "sourceText": "entries updated",
      "targetText": "entrées mises à jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.invalidJson",
      "field": "text",
      "sourceText": "Invalid JSON file.",
      "targetText": "Fichier JSON invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.invalidJsonWithFileAndPosition",
      "field": "text",
      "sourceText": "Invalid JSON file {file} at line {line}, column {column}.",
      "targetText": "Fichier JSON invalide {file} à la ligne {line}, colonne {column}."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.invalidJsonWithPosition",
      "field": "text",
      "sourceText": "Invalid JSON file at line {line}, column {column}.",
      "targetText": "Fichier JSON invalide à la ligne {line}, colonne {column}."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.langDesc",
      "field": "text",
      "sourceText": "Select the languages available in the system. English is always active.",
      "targetText": "Sélectionnez les langues disponibles dans le système. L'anglais est toujours actif."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.langSection",
      "field": "text",
      "sourceText": "Languages",
      "targetText": "Langues"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.languagesSaved",
      "field": "text",
      "sourceText": "Language settings saved",
      "targetText": "Paramètres de langue enregistrés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.noFileSelected",
      "field": "text",
      "sourceText": "No file selected",
      "targetText": "Aucun fichier sélectionné"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.pageDesc",
      "field": "text",
      "sourceText": "Drop-Down Lists and other Options",
      "targetText": "Listes déroulantes et autres options"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.pageTitle",
      "field": "text",
      "sourceText": "Language Settings",
      "targetText": "Paramètres de langue"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.saveLanguages",
      "field": "text",
      "sourceText": "Save languages",
      "targetText": "Enregistrer les langues"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.selectFile",
      "field": "text",
      "sourceText": "Select file",
      "targetText": "Choisir un fichier"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.statusComplete",
      "field": "text",
      "sourceText": "Complete and up to date.",
      "targetText": "Complète et à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.statusDesc",
      "field": "text",
      "sourceText": "An update brings new and reworded English texts. The translations come from a language pack you import yourself, so they do not travel with it.",
      "targetText": "Une mise à jour apporte des textes anglais nouveaux ou reformulés. Les traductions proviennent d'un pack de langue que vous importez vous-même : elles ne suivent donc pas automatiquement."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.statusMissing",
      "field": "text",
      "sourceText": "{missing} texts are not translated and appear in English.",
      "targetText": "{missing} textes ne sont pas traduits et apparaissent en anglais."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.statusSection",
      "field": "text",
      "sourceText": "State of your language packs",
      "targetText": "État de vos packs de langue"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.statusStale",
      "field": "text",
      "sourceText": "{stale} texts belong to an older English wording and now say something different from the original. Export this language, translate the changed lines and import the file again.",
      "targetText": "{stale} textes correspondent à une ancienne formulation anglaise et disent maintenant autre chose que l'original. Exportez cette langue, traduisez les lignes modifiées et réimportez le fichier."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.statusTranslated",
      "field": "text",
      "sourceText": "{translated} of {total} texts translated",
      "targetText": "{translated} textes traduits sur {total}"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.statusUnknown",
      "field": "text",
      "sourceText": "{unknown} texts were imported before this check existed, so their state is unknown. The next import settles it.",
      "targetText": "{unknown} textes ont été importés avant l'existence de cette vérification, leur état est donc inconnu. Le prochain import tranchera."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.targetLanguage",
      "field": "text",
      "sourceText": "Target language",
      "targetText": "Langue cible"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.language.unknownError",
      "field": "text",
      "sourceText": "An error occurred.",
      "targetText": "Une erreur est survenue."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.accessDeniedDesc",
      "field": "text",
      "sourceText": "You are not allowed to manage report settings.",
      "targetText": "Vous n'êtes pas autorisé à gérer les paramètres des rapports."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.adminSection",
      "field": "text",
      "sourceText": "Admin",
      "targetText": "Administrateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.agentSection",
      "field": "text",
      "sourceText": "Agent",
      "targetText": "Agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.cardTitle",
      "field": "text",
      "sourceText": "Add / Remove fields from Report Page",
      "targetText": "Ajouter ou retirer des champs de la page des rapports"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.customFieldsSection",
      "field": "text",
      "sourceText": "Custom fields",
      "targetText": "Champs personnalisés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.customerSection",
      "field": "text",
      "sourceText": "Customer",
      "targetText": "Client"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.assignedTo",
      "field": "text",
      "sourceText": "Assigned to",
      "targetText": "Attribué à"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.channel",
      "field": "text",
      "sourceText": "Channel",
      "targetText": "Canal"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.fromDate",
      "field": "text",
      "sourceText": "From date",
      "targetText": "Date de début"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.location",
      "field": "text",
      "sourceText": "Location",
      "targetText": "Site"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.mainCategory",
      "field": "text",
      "sourceText": "Main category",
      "targetText": "Catégorie principale"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.priority",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.processingTeam",
      "field": "text",
      "sourceText": "Processing team",
      "targetText": "Équipe de traitement"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.satisfaction",
      "field": "text",
      "sourceText": "Satisfaction (CSAT)",
      "targetText": "Satisfaction (CSAT)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.status",
      "field": "text",
      "sourceText": "Status",
      "targetText": "Statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.subCategory",
      "field": "text",
      "sourceText": "Subcategory",
      "targetText": "Sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.toDate",
      "field": "text",
      "sourceText": "To date",
      "targetText": "Date de fin"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.field.user",
      "field": "text",
      "sourceText": "User",
      "targetText": "Utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.loadError",
      "field": "text",
      "sourceText": "Error loading report field settings.",
      "targetText": "Erreur lors du chargement des paramètres des champs de rapport."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.pageDesc",
      "field": "text",
      "sourceText": "Allows adding and removing fields from the Reports Page.",
      "targetText": "Permet d'ajouter et de retirer des champs de la page des rapports."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.pageTitle",
      "field": "text",
      "sourceText": "Report Settings",
      "targetText": "Paramètres des rapports"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.saveError",
      "field": "text",
      "sourceText": "Error saving report field settings.",
      "targetText": "Erreur lors de l'enregistrement des paramètres des champs de rapport."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.saved",
      "field": "text",
      "sourceText": "Report field settings saved.",
      "targetText": "Paramètres des champs de rapport enregistrés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.reports.visible",
      "field": "text",
      "sourceText": "Visible on reports",
      "targetText": "Visible dans les rapports"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.accessDeniedDesc",
      "field": "text",
      "sourceText": "This page is only available for administrators.",
      "targetText": "Cette page n'est accessible qu'aux administrateurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.adminMandatory",
      "field": "text",
      "sourceText": "Permission is mandatory for Admin and cannot be removed!",
      "targetText": "Ce droit est obligatoire pour l'administrateur et ne peut pas être retiré !"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.agentTeamNone",
      "field": "text",
      "sourceText": "None (all teams)",
      "targetText": "Aucune (toutes les équipes)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.baseUrl.description",
      "field": "text",
      "sourceText": "The address your users type in the browser. Every link this system sends by e-mail is built from it - invitations, password resets and satisfaction surveys. It is remembered automatically the first time an administrator signs in; fill it in only if that address is not the one your users see, for example when administrators use the IP and everyone else a DNS name.",
      "targetText": "L'adresse que vos utilisateurs saisissent dans le navigateur. Chaque lien envoyé par e-mail par ce système en découle - invitations, réinitialisations de mot de passe et enquêtes de satisfaction. Elle est mémorisée automatiquement à la première connexion d'un administrateur ; ne la renseignez que si cette adresse n'est pas celle que voient vos utilisateurs, par exemple lorsque les administrateurs utilisent l'IP et tous les autres un nom DNS."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.baseUrl.effective",
      "field": "text",
      "sourceText": "Currently in use",
      "targetText": "Actuellement utilisée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.baseUrl.label",
      "field": "text",
      "sourceText": "Address (leave empty to determine it automatically)",
      "targetText": "Adresse (laissez vide pour la déterminer automatiquement)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.baseUrl.placeholder",
      "field": "text",
      "sourceText": "https://support.example.com",
      "targetText": "https://support.exemple.fr"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.baseUrl.saveError",
      "field": "text",
      "sourceText": "Error saving the address. Enter a scheme and host, e.g. https://support.example.com (no path).",
      "targetText": "Erreur lors de l'enregistrement de l'adresse. Saisissez un protocole et un hôte, p. ex. https://support.exemple.fr (sans chemin)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.baseUrl.saved",
      "field": "text",
      "sourceText": "Address saved",
      "targetText": "Adresse enregistrée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.baseUrl.section",
      "field": "text",
      "sourceText": "Public address of this installation",
      "targetText": "Adresse publique de cette installation"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.baseUrl.sourceConfigured",
      "field": "text",
      "sourceText": "entered here",
      "targetText": "saisie ici"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.baseUrl.sourceEnvironment",
      "field": "text",
      "sourceText": "from the environment",
      "targetText": "issue de l'environnement"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.baseUrl.sourceObserved",
      "field": "text",
      "sourceText": "remembered automatically",
      "targetText": "mémorisée automatiquement"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.baseUrl.unknown",
      "field": "text",
      "sourceText": "Not known yet - links cannot be built. It is remembered the next time an administrator signs in, or you can enter it above.",
      "targetText": "Pas encore connue - aucun lien ne peut être construit. Elle sera mémorisée à la prochaine connexion d'un administrateur, ou vous pouvez la saisir ci-dessus."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.cors.description",
      "field": "text",
      "sourceText": "By default only the frontend served from this server can call the API. If you host the frontend on a different domain, add its full origin here (one per line), e.g. https://app.example.com. Leave empty unless you know you need it.",
      "targetText": "Par défaut, seule l'interface servie depuis ce serveur peut appeler l'API. Si vous hébergez l'interface sur un autre domaine, ajoutez ici son origine complète (une par ligne), p. ex. https://app.exemple.fr. Laissez vide sauf si vous savez en avoir besoin."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.cors.placeholder",
      "field": "text",
      "sourceText": "https://app.example.com",
      "targetText": "https://app.exemple.fr"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.cors.saveError",
      "field": "text",
      "sourceText": "Error saving allowed domains. Make sure every line is a valid origin (scheme + host, no path).",
      "targetText": "Erreur lors de l'enregistrement des domaines autorisés. Assurez-vous que chaque ligne est une origine valide (protocole + hôte, sans chemin)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.cors.saved",
      "field": "text",
      "sourceText": "Allowed domains saved",
      "targetText": "Domaines autorisés enregistrés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.cors.section",
      "field": "text",
      "sourceText": "Allowed frontend domains (CORS)",
      "targetText": "Domaines d'interface autorisés (CORS)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.hoursLabel",
      "field": "text",
      "sourceText": "Hours",
      "targetText": "Heures"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.invalidRange",
      "field": "text",
      "sourceText": "Only values from 1 to 24 are allowed.",
      "targetText": "Seules les valeurs de 1 à 24 sont autorisées."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.jwtDescription",
      "field": "text",
      "sourceText": "Enter the time until re-login (JWT token timer) in hours. Only values from 1 to 24 are allowed. We recommend 12 hours:",
      "targetText": "Indiquez en heures le délai avant une nouvelle connexion (durée du jeton JWT). Seules les valeurs de 1 à 24 sont autorisées. Nous recommandons 12 heures :"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.jwtSection",
      "field": "text",
      "sourceText": "JWT token timer",
      "targetText": "Durée du jeton JWT"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.pageDesc",
      "field": "text",
      "sourceText": "Configure authentication security options.",
      "targetText": "Configurez les options de sécurité de l'authentification."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.pageTitle",
      "field": "text",
      "sourceText": "Security",
      "targetText": "Sécurité"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.charactersLabel",
      "field": "text",
      "sourceText": "characters",
      "targetText": "caractères"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.complexity",
      "field": "text",
      "sourceText": "Password must contain",
      "targetText": "Le mot de passe doit contenir"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.daysLabel",
      "field": "text",
      "sourceText": "days",
      "targetText": "jours"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.description",
      "field": "text",
      "sourceText": "These rules apply to every account whenever a password is set - when an account is created, when a user changes their own password and when an administrator resets one.",
      "targetText": "Ces règles s'appliquent à chaque compte à chaque définition d'un mot de passe - à la création d'un compte, lorsqu'un utilisateur change le sien et lorsqu'un administrateur le réinitialise."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.errors.historyRange",
      "field": "text",
      "sourceText": "Password history must be between 0 and {0} (0 = disabled).",
      "targetText": "L'historique des mots de passe doit être compris entre 0 et {0} (0 = désactivé)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.errors.maxAgeRange",
      "field": "text",
      "sourceText": "Password expiry must be between 0 and {0} days (0 = never expires).",
      "targetText": "L'expiration du mot de passe doit être comprise entre 0 et {0} jours (0 = n'expire jamais)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.errors.minLengthRange",
      "field": "text",
      "sourceText": "Minimum length must be between {0} and {1}.",
      "targetText": "La longueur minimale doit être comprise entre {0} et {1}."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.history",
      "field": "text",
      "sourceText": "Block reuse of the last",
      "targetText": "Bloquer la réutilisation des derniers"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.historyHelp",
      "field": "text",
      "sourceText": "A new password may not match one of the user's most recent passwords (1 to 15, the current password counts as one). 0 = reuse allowed. Recommended: 3.",
      "targetText": "Un nouveau mot de passe ne doit correspondre à aucun des mots de passe récents de l'utilisateur (1 à 15, le mot de passe actuel compte pour un). 0 = réutilisation autorisée. Recommandé : 3."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.installerNote",
      "field": "text",
      "sourceText": "The password chosen during installation is checked by the installer itself, before this policy exists. If it does not satisfy the policy, the administrator has to set a compliant password at first sign-in.",
      "targetText": "Le mot de passe choisi pendant l'installation est vérifié par le programme d'installation lui-même, avant l'existence de cette politique. S'il ne la respecte pas, l'administrateur devra définir un mot de passe conforme à la première connexion."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.invalid",
      "field": "text",
      "sourceText": "Invalid password policy.",
      "targetText": "Politique de mots de passe invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.maxAge",
      "field": "text",
      "sourceText": "Password expires after",
      "targetText": "Le mot de passe expire après"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.maxAgeHelp",
      "field": "text",
      "sourceText": "After this many days users must set a new password at sign-in. 0 = no forced password change. Recommended: 90 days.",
      "targetText": "Passé ce nombre de jours, les utilisateurs doivent définir un nouveau mot de passe à la connexion. 0 = aucun changement forcé. Recommandé : 90 jours."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.minLength",
      "field": "text",
      "sourceText": "Minimum password length",
      "targetText": "Longueur minimale du mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.minLengthHelp",
      "field": "text",
      "sourceText": "Number of characters every password must have (6 to 128). Recommended: 12.",
      "targetText": "Nombre de caractères que doit comporter chaque mot de passe (6 à 128). Recommandé : 12."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.passwordsLabel",
      "field": "text",
      "sourceText": "passwords",
      "targetText": "mots de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.requireDigit",
      "field": "text",
      "sourceText": "Numbers",
      "targetText": "Chiffres"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.requireLowercase",
      "field": "text",
      "sourceText": "Lowercase letters",
      "targetText": "Minuscules"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.requireSpecial",
      "field": "text",
      "sourceText": "Special characters",
      "targetText": "Caractères spéciaux"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.requireUppercase",
      "field": "text",
      "sourceText": "Uppercase letters",
      "targetText": "Majuscules"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.saveError",
      "field": "text",
      "sourceText": "Error saving the password policy.",
      "targetText": "Erreur lors de l'enregistrement de la politique de mots de passe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.saved",
      "field": "text",
      "sourceText": "Password policy saved",
      "targetText": "Politique de mots de passe enregistrée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.scriptNote",
      "field": "text",
      "sourceText": "Works in every language: many writing systems (for example Chinese, Japanese, Korean, Arabic, Hebrew, Thai or Devanagari) have no uppercase and lowercase letters at all. A password that contains such a letter therefore satisfies the two letter-case rules automatically, so no language is locked out. The length, number and special-character rules apply to everyone - digits from any script count as numbers.",
      "targetText": "Fonctionne dans toutes les langues : de nombreuses écritures (par exemple le chinois, le japonais, le coréen, l'arabe, l'hébreu, le thaï ou la devanagari) ne connaissent ni majuscules ni minuscules. Un mot de passe contenant une telle lettre satisfait donc automatiquement les deux règles de casse, et aucune langue n'est exclue. Les règles de longueur, de chiffres et de caractères spéciaux s'appliquent à tous - les chiffres de toute écriture comptent comme des chiffres."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.section",
      "field": "text",
      "sourceText": "Password policy",
      "targetText": "Politique de mots de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.passwordPolicy.ssoNote",
      "field": "text",
      "sourceText": "Accounts that sign in through SSO or LDAP have no local password, so expiry does not apply to them - their password rules are set in the directory or identity provider.",
      "targetText": "Les comptes qui se connectent via SSO ou LDAP n'ont pas de mot de passe local : l'expiration ne les concerne donc pas - leurs règles de mot de passe sont définies dans l'annuaire ou chez le fournisseur d'identité."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.permissionsDescription",
      "field": "text",
      "sourceText": "Configure which roles can use each application permission.",
      "targetText": "Configurez quels rôles peuvent utiliser chaque droit de l'application."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.permissionsLoadError",
      "field": "text",
      "sourceText": "Error loading permission settings.",
      "targetText": "Erreur lors du chargement des paramètres de droits."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.permissionsLoading",
      "field": "text",
      "sourceText": "Loading permissions...",
      "targetText": "Chargement des droits..."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.permissionsSaveError",
      "field": "text",
      "sourceText": "Error saving permission settings.",
      "targetText": "Erreur lors de l'enregistrement des paramètres de droits."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.permissionsSaved",
      "field": "text",
      "sourceText": "Permission settings saved",
      "targetText": "Paramètres de droits enregistrés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.permissionsSection",
      "field": "text",
      "sourceText": "Permission concept",
      "targetText": "Gestion des droits"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.roleAdmin",
      "field": "text",
      "sourceText": "Admin",
      "targetText": "Administrateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.roleAgent",
      "field": "text",
      "sourceText": "Agent",
      "targetText": "Agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.roleAgentTeam",
      "field": "text",
      "sourceText": "Agent Team",
      "targetText": "Équipe d'agents"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.roleCustomer",
      "field": "text",
      "sourceText": "Customer",
      "targetText": "Client"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.saved",
      "field": "text",
      "sourceText": "Security settings saved",
      "targetText": "Paramètres de sécurité enregistrés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.selfRegistration.help",
      "field": "text",
      "sourceText": "Adds a \"Register\" link to the sign-in page. Self-registered accounts always get the Customer role and can only see their own tickets. Leave this off for an internal helpdesk.",
      "targetText": "Ajoute un lien « S'inscrire » sur la page de connexion. Les comptes créés par inscription libre reçoivent toujours le rôle Client et ne voient que leurs propres tickets. Laissez cette option désactivée pour un helpdesk interne."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.selfRegistration.label",
      "field": "text",
      "sourceText": "Allow visitors to register themselves",
      "targetText": "Autoriser les visiteurs à s'inscrire eux-mêmes"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.selfRegistration.noSmtpNote",
      "field": "text",
      "sourceText": "Registration works without e-mail, but the address cannot be verified then: the sign-in name is only shown on screen and such accounts are marked as unconfirmed. With SMTP configured, a welcome message with the sign-in name is sent. Passwords are never sent by e-mail.",
      "targetText": "L'inscription fonctionne sans messagerie, mais l'adresse ne peut alors pas être vérifiée : l'identifiant n'est affiché qu'à l'écran et ces comptes sont marqués comme non confirmés. Avec SMTP configuré, un message de bienvenue contenant l'identifiant est envoyé. Les mots de passe ne sont jamais envoyés par e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.selfRegistration.saveError",
      "field": "text",
      "sourceText": "Error saving the registration setting.",
      "targetText": "Erreur lors de l'enregistrement du paramètre d'inscription."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.selfRegistration.saved",
      "field": "text",
      "sourceText": "Registration setting saved",
      "targetText": "Paramètre d'inscription enregistré"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.selfRegistration.section",
      "field": "text",
      "sourceText": "Self-registration",
      "targetText": "Inscription libre"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.selfRegistration.sectionDesc",
      "field": "text",
      "sourceText": "Whether visitors can create an account themselves. Off by default.",
      "targetText": "Si les visiteurs peuvent créer un compte eux-mêmes. Désactivé par défaut."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.bruteForceNote",
      "field": "text",
      "sourceText": "Brute-force protection works in two stages. After 5 failed attempts for the same account, that one address is paused for 15 minutes, while the account stays usable from every other address. The account itself is locked for 15 minutes only after 20 failed attempts, which takes several addresses.",
      "targetText": "La protection contre les attaques par force brute fonctionne en deux étapes. Après 5 tentatives infructueuses sur le même compte, cette adresse est mise en pause 15 minutes, tandis que le compte reste utilisable depuis toute autre adresse. Le compte lui-même n'est verrouillé 15 minutes qu'après 20 tentatives infructueuses, ce qui nécessite plusieurs adresses."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.description",
      "field": "text",
      "sourceText": "Enforce two-factor authentication (TOTP, e.g. Google Authenticator) at sign-in. If both switches are off, 2FA is disabled.",
      "targetText": "Imposer l'authentification à deux facteurs (TOTP, p. ex. Google Authenticator) à la connexion. Si les deux interrupteurs sont désactivés, la 2FA est inactive."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.enableAll",
      "field": "text",
      "sourceText": "Enable for all (Admin / Agent / Customer)",
      "targetText": "Activer pour tous (administrateur / agent / client)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.enableAllHelp",
      "field": "text",
      "sourceText": "Every user, including Customers, must set up and use an authenticator app.",
      "targetText": "Chaque utilisateur, y compris les clients, doit configurer et utiliser une application d'authentification."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.enableStaff",
      "field": "text",
      "sourceText": "Enable for Admin and Agent only",
      "targetText": "Activer uniquement pour les administrateurs et les agents"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.enableStaffHelp",
      "field": "text",
      "sourceText": "Admins and Agents must set up and use an authenticator app.",
      "targetText": "Les administrateurs et les agents doivent configurer et utiliser une application d'authentification."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.loadError",
      "field": "text",
      "sourceText": "Error loading 2FA settings.",
      "targetText": "Erreur lors du chargement des paramètres 2FA."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.recoveryNote",
      "field": "text",
      "sourceText": "Users receive one-time recovery codes during setup to sign in if they lose their device. Admins can reset 2FA for a user in User Management.",
      "targetText": "Les utilisateurs reçoivent lors de la configuration des codes de récupération à usage unique pour se connecter en cas de perte de leur appareil. Les administrateurs peuvent réinitialiser la 2FA d'un utilisateur dans la gestion des utilisateurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.saveError",
      "field": "text",
      "sourceText": "Error saving 2FA settings.",
      "targetText": "Erreur lors de l'enregistrement des paramètres 2FA."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.saved",
      "field": "text",
      "sourceText": "2FA settings saved",
      "targetText": "Paramètres 2FA enregistrés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.section",
      "field": "text",
      "sourceText": "2FA Settings",
      "targetText": "Paramètres 2FA"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.ssoNote",
      "field": "text",
      "sourceText": "Interaction with single sign-on (SSO): External identity providers (OIDC, SAML 2.0 and social logins) handle multi-factor authentication on their own side, so users signing in through them are not asked for a local TOTP code. LDAP / Active Directory sign-in has no built-in MFA, so the local 2FA policy above still applies to those users.",
      "targetText": "Interaction avec l'authentification unique (SSO) : les fournisseurs d'identité externes (OIDC, SAML 2.0 et connexions sociales) gèrent l'authentification multifacteur de leur côté ; les utilisateurs qui passent par eux ne se voient donc pas demander de code TOTP local. La connexion LDAP / Active Directory ne dispose pas de MFA intégrée : la politique 2FA locale ci-dessus s'applique donc à ces utilisateurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.statusError",
      "field": "text",
      "sourceText": "Clock drift too large - fix server time",
      "targetText": "Dérive d'horloge trop importante - corrigez l'heure du serveur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.statusOk",
      "field": "text",
      "sourceText": "Clock is in sync",
      "targetText": "L'horloge est synchronisée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.statusUnavailable",
      "field": "text",
      "sourceText": "NTP server unreachable",
      "targetText": "Serveur NTP inaccessible"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.statusWarn",
      "field": "text",
      "sourceText": "Minor clock drift detected",
      "targetText": "Légère dérive d'horloge détectée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.timeCheck",
      "field": "text",
      "sourceText": "Check now",
      "targetText": "Vérifier maintenant"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.timeChecking",
      "field": "text",
      "sourceText": "Checking...",
      "targetText": "Vérification..."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.timeNtpLabel",
      "field": "text",
      "sourceText": "NTP time (UTC)",
      "targetText": "Heure NTP (UTC)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.timeOffsetLabel",
      "field": "text",
      "sourceText": "Offset",
      "targetText": "Décalage"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.timeSeconds",
      "field": "text",
      "sourceText": "seconds",
      "targetText": "secondes"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.timeServerLabel",
      "field": "text",
      "sourceText": "Server time (UTC)",
      "targetText": "Heure du serveur (UTC)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.timeSync",
      "field": "text",
      "sourceText": "Server time synchronization",
      "targetText": "Synchronisation de l'heure du serveur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.twoFactor.timeSyncDesc",
      "field": "text",
      "sourceText": "TOTP codes depend on an accurate server clock. This compares the server time against a public NTP server.",
      "targetText": "Les codes TOTP dépendent de la précision de l'horloge du serveur. Cette vérification compare l'heure du serveur à celle d'un serveur NTP public."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.security.unknownError",
      "field": "text",
      "sourceText": "An error occurred.",
      "targetText": "Une erreur est survenue."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.accessDeniedDesc",
      "field": "text",
      "sourceText": "This page is only available for authorized users.",
      "targetText": "Cette page n'est accessible qu'aux utilisateurs autorisés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.active",
      "field": "text",
      "sourceText": "Active",
      "targetText": "Actif"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.audit.desc",
      "field": "text",
      "sourceText": "The latest single sign-on attempts for anomaly review.",
      "targetText": "Les dernières tentatives de connexion par authentification unique, pour repérer les anomalies."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.audit.email",
      "field": "text",
      "sourceText": "User",
      "targetText": "Utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.audit.empty",
      "field": "text",
      "sourceText": "No sign-in attempts recorded yet.",
      "targetText": "Aucune tentative de connexion enregistrée pour l'instant."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.audit.failure",
      "field": "text",
      "sourceText": "Failed",
      "targetText": "Échec"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.audit.ip",
      "field": "text",
      "sourceText": "IP address",
      "targetText": "Adresse IP"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.audit.provider",
      "field": "text",
      "sourceText": "Provider",
      "targetText": "Fournisseur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.audit.refresh",
      "field": "text",
      "sourceText": "Refresh",
      "targetText": "Actualiser"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.audit.result",
      "field": "text",
      "sourceText": "Result",
      "targetText": "Résultat"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.audit.section",
      "field": "text",
      "sourceText": "Recent sign-in attempts",
      "targetText": "Tentatives de connexion récentes"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.audit.success",
      "field": "text",
      "sourceText": "Success",
      "targetText": "Réussite"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.audit.time",
      "field": "text",
      "sourceText": "Time",
      "targetText": "Heure"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.dingtalk.desc",
      "field": "text",
      "sourceText": "Allow sign-in with DingTalk accounts (China). Uses the DingTalk OAuth 2.0 API.",
      "targetText": "Autoriser la connexion avec des comptes DingTalk (Chine). Utilise l'API OAuth 2.0 de DingTalk."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.dingtalk.section",
      "field": "text",
      "sourceText": "DingTalk",
      "targetText": "DingTalk"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.disabled",
      "field": "text",
      "sourceText": "Disabled",
      "targetText": "Désactivé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.enabled",
      "field": "text",
      "sourceText": "Enabled",
      "targetText": "Activé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.endpoint.authorization",
      "field": "text",
      "sourceText": "Authorization endpoint",
      "targetText": "Point de terminaison d'autorisation"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.endpoint.discovery",
      "field": "text",
      "sourceText": "Discovery URL",
      "targetText": "URL de découverte"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.endpoint.help",
      "field": "text",
      "sourceText": "These endpoints are pre-configured for this provider. Only change them if the provider has moved its URLs. Leave a field empty to use the built-in default shown as placeholder.",
      "targetText": "Ces points de terminaison sont préconfigurés pour ce fournisseur. Ne les modifiez que si le fournisseur a déplacé ses URL. Laissez un champ vide pour utiliser la valeur par défaut affichée en indication."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.endpoint.section",
      "field": "text",
      "sourceText": "Endpoint URLs (advanced)",
      "targetText": "URL des points de terminaison (avancé)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.endpoint.token",
      "field": "text",
      "sourceText": "Token endpoint",
      "targetText": "Point de terminaison de jeton"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.endpoint.userDetail",
      "field": "text",
      "sourceText": "User detail endpoint",
      "targetText": "Point de terminaison des détails utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.endpoint.userInfo",
      "field": "text",
      "sourceText": "User info endpoint",
      "targetText": "Point de terminaison des informations utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.errors.generic",
      "field": "text",
      "sourceText": "Sign-in failed.",
      "targetText": "Échec de la connexion."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.errors.providerDisabled",
      "field": "text",
      "sourceText": "This sign-in method is not available.",
      "targetText": "Cette méthode de connexion n'est pas disponible."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.errors.providerUnavailable",
      "field": "text",
      "sourceText": "The sign-in provider is currently unavailable.",
      "targetText": "Le fournisseur de connexion est actuellement indisponible."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.errors.provisioningDisabled",
      "field": "text",
      "sourceText": "No account exists for this user and automatic provisioning is disabled.",
      "targetText": "Aucun compte n'existe pour cet utilisateur et la création automatique est désactivée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.inactive",
      "field": "text",
      "sourceText": "Inactive",
      "targetText": "Inactif"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.kakao.desc",
      "field": "text",
      "sourceText": "Allow sign-in with Kakao accounts (South Korea). Uses OAuth 2.0 + user-info endpoint.",
      "targetText": "Autoriser la connexion avec des comptes Kakao (Corée du Sud). Utilise OAuth 2.0 et un point de terminaison d'informations utilisateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.kakao.section",
      "field": "text",
      "sourceText": "Kakao",
      "targetText": "Kakao"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.baseDn",
      "field": "text",
      "sourceText": "Base DN",
      "targetText": "DN de base"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.baseDnHelp",
      "field": "text",
      "sourceText": "Search base for user lookups, e.g. DC=example,DC=com.",
      "targetText": "Base de recherche des utilisateurs, p. ex. DC=exemple,DC=fr."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.bindDn",
      "field": "text",
      "sourceText": "Service account DN",
      "targetText": "DN du compte de service"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.bindDnHelp",
      "field": "text",
      "sourceText": "Optional read-only account used to locate users, e.g. CN=svc-ldap,OU=Service,DC=example,DC=com. Leave empty for anonymous bind.",
      "targetText": "Compte en lecture seule facultatif servant à localiser les utilisateurs, p. ex. CN=svc-ldap,OU=Service,DC=exemple,DC=fr. Laissez vide pour une liaison anonyme."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.bindPassword",
      "field": "text",
      "sourceText": "Service account password",
      "targetText": "Mot de passe du compte de service"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.desc",
      "field": "text",
      "sourceText": "Authenticate users against your on-premise directory. Credentials are verified by a secure bind; passwords are never stored.",
      "targetText": "Authentifiez les utilisateurs auprès de votre annuaire local. Les identifiants sont vérifiés par une liaison sécurisée ; les mots de passe ne sont jamais stockés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.emailAttribute",
      "field": "text",
      "sourceText": "E-mail attribute",
      "targetText": "Attribut e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.enable",
      "field": "text",
      "sourceText": "Enable LDAP / Active Directory",
      "targetText": "Activer LDAP / Active Directory"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.firstNameAttribute",
      "field": "text",
      "sourceText": "First name attribute",
      "targetText": "Attribut prénom"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.host",
      "field": "text",
      "sourceText": "Host",
      "targetText": "Hôte"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.hostHelp",
      "field": "text",
      "sourceText": "Hostname or IP address of the directory server, e.g. dc01.example.com.",
      "targetText": "Nom d'hôte ou adresse IP du serveur d'annuaire, p. ex. dc01.exemple.fr."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.lastNameAttribute",
      "field": "text",
      "sourceText": "Last name attribute",
      "targetText": "Attribut nom de famille"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.mfaNote",
      "field": "text",
      "sourceText": "Note: LDAP / Active Directory has no built-in multi-factor authentication. If a 2FA policy is enabled under Security, these users are still asked for a local TOTP code.",
      "targetText": "À noter : LDAP / Active Directory ne dispose pas d'authentification multifacteur intégrée. Si une politique 2FA est activée sous Sécurité, un code TOTP local sera tout de même demandé à ces utilisateurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.port",
      "field": "text",
      "sourceText": "Port",
      "targetText": "Port"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.portHelp",
      "field": "text",
      "sourceText": "Leave 0 to use the default (389 for plain, 636 for LDAPS).",
      "targetText": "Laissez 0 pour utiliser la valeur par défaut (389 en clair, 636 pour LDAPS)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.section",
      "field": "text",
      "sourceText": "Active Directory / LDAP",
      "targetText": "Active Directory / LDAP"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.useSsl",
      "field": "text",
      "sourceText": "Use SSL/TLS (LDAPS)",
      "targetText": "Utiliser SSL/TLS (LDAPS)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.useSslHelp",
      "field": "text",
      "sourceText": "Strongly recommended so credentials are encrypted in transit.",
      "targetText": "Fortement recommandé afin que les identifiants soient chiffrés pendant le transport."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.userFilter",
      "field": "text",
      "sourceText": "User search filter",
      "targetText": "Filtre de recherche d'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.ldap.userFilterHelp",
      "field": "text",
      "sourceText": "LDAP filter to find the user. Use {username} as placeholder, e.g. (sAMAccountName={username}).",
      "targetText": "Filtre LDAP permettant de trouver l'utilisateur. Utilisez {username} comme variable, p. ex. (sAMAccountName={username})."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.line.desc",
      "field": "text",
      "sourceText": "Allow sign-in with LINE accounts (popular in Japan, Taiwan and Thailand). Uses OpenID Connect.",
      "targetText": "Autoriser la connexion avec des comptes LINE (populaire au Japon, à Taïwan et en Thaïlande). Utilise OpenID Connect."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.line.section",
      "field": "text",
      "sourceText": "LINE",
      "targetText": "LINE"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.loadError",
      "field": "text",
      "sourceText": "Error loading SSO settings.",
      "targetText": "Erreur lors du chargement des paramètres SSO."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.master.autoProvision",
      "field": "text",
      "sourceText": "Automatically create accounts on first sign-in",
      "targetText": "Créer automatiquement les comptes à la première connexion"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.master.autoProvisionHelp",
      "field": "text",
      "sourceText": "When a user signs in via SSO for the first time and no matching account exists, a new account is created automatically (linked by verified e-mail) with the default role 'Customer'.",
      "targetText": "Lorsqu'un utilisateur se connecte pour la première fois via SSO et qu'aucun compte correspondant n'existe, un nouveau compte est créé automatiquement (rattaché par l'adresse e-mail vérifiée) avec le rôle par défaut « Client »."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.master.desc",
      "field": "text",
      "sourceText": "Master switch for all SSO providers. When off, only the standard username and password sign-in is available.",
      "targetText": "Interrupteur principal de tous les fournisseurs SSO. Lorsqu'il est désactivé, seule la connexion standard par nom d'utilisateur et mot de passe est disponible."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.master.enable",
      "field": "text",
      "sourceText": "Enable single sign-on",
      "targetText": "Activer l'authentification unique"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.master.enableHelp",
      "field": "text",
      "sourceText": "Allows users to sign in through the providers configured below.",
      "targetText": "Permet aux utilisateurs de se connecter via les fournisseurs configurés ci-dessous."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.master.section",
      "field": "text",
      "sourceText": "Single sign-on",
      "targetText": "Authentification unique"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.naver.desc",
      "field": "text",
      "sourceText": "Allow sign-in with Naver accounts (South Korea). Uses OAuth 2.0 + user-info endpoint.",
      "targetText": "Autoriser la connexion avec des comptes Naver (Corée du Sud). Utilise OAuth 2.0 et un point de terminaison d'informations utilisateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.naver.section",
      "field": "text",
      "sourceText": "Naver",
      "targetText": "Naver"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.oidc.desc",
      "field": "text",
      "sourceText": "Connect any OpenID Connect 1.0 identity provider using Authorization Code flow with PKCE. Common examples: Okta, Keycloak, Auth0, Ping Identity, Microsoft Entra ID.",
      "targetText": "Connectez n'importe quel fournisseur d'identité OpenID Connect 1.0 via le flux Authorization Code avec PKCE. Exemples courants : Okta, Keycloak, Auth0, Ping Identity, Microsoft Entra ID."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.oidc.issuerPresetLabel",
      "field": "text",
      "sourceText": "Quick fill for common providers:",
      "targetText": "Remplissage rapide pour les fournisseurs courants :"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.oidc.issuerPresetNote",
      "field": "text",
      "sourceText": "Values with {placeholder} must be replaced with your actual tenant or domain before saving.",
      "targetText": "Les valeurs contenant {placeholder} doivent être remplacées par votre propre locataire ou domaine avant l'enregistrement."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.oidc.scopes",
      "field": "text",
      "sourceText": "Scopes",
      "targetText": "Portées"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.oidc.scopesHelp",
      "field": "text",
      "sourceText": "Optional. Space-separated OAuth scopes. Leave empty to use the default (openid profile email).",
      "targetText": "Facultatif. Portées OAuth séparées par des espaces. Laissez vide pour utiliser la valeur par défaut (openid profile email)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.oidc.section",
      "field": "text",
      "sourceText": "Generic OIDC Provider",
      "targetText": "Fournisseur OIDC générique"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.pageDesc",
      "field": "text",
      "sourceText": "Configure single sign-on so users can authenticate with your directory or an external identity provider.",
      "targetText": "Configurez l'authentification unique afin que les utilisateurs puissent s'authentifier avec votre annuaire ou un fournisseur d'identité externe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.pageTitle",
      "field": "text",
      "sourceText": "SSO Settings",
      "targetText": "Paramètres SSO"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.add",
      "field": "text",
      "sourceText": "Add provider",
      "targetText": "Ajouter un fournisseur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.allowedDomains",
      "field": "text",
      "sourceText": "Allowed e-mail domains",
      "targetText": "Domaines e-mail autorisés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.allowedDomainsHelp",
      "field": "text",
      "sourceText": "Optional. Comma-separated list of e-mail domains allowed to sign in through this provider, e.g. example.com. Leave empty to allow any domain.",
      "targetText": "Facultatif. Liste de domaines e-mail autorisés à se connecter via ce fournisseur, séparés par des virgules, p. ex. exemple.fr. Laissez vide pour autoriser tous les domaines."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.clientId",
      "field": "text",
      "sourceText": "Client ID / App key",
      "targetText": "Identifiant client / clé d'application"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.clientSecret",
      "field": "text",
      "sourceText": "Client secret",
      "targetText": "Secret client"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.confirmDelete",
      "field": "text",
      "sourceText": "Delete this provider?",
      "targetText": "Supprimer ce fournisseur ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.confirmDeleteDesc",
      "field": "text",
      "sourceText": "This will permanently remove the provider and its credentials. Active users linked to it will not be able to sign in through it any more.",
      "targetText": "Cela supprimera définitivement le fournisseur et ses identifiants. Les utilisateurs actifs qui y sont rattachés ne pourront plus s'y connecter."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.created",
      "field": "text",
      "sourceText": "Provider saved.",
      "targetText": "Fournisseur enregistré."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.delete",
      "field": "text",
      "sourceText": "Delete",
      "targetText": "Supprimer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.deleted",
      "field": "text",
      "sourceText": "Provider deleted.",
      "targetText": "Fournisseur supprimé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.displayName",
      "field": "text",
      "sourceText": "Display name",
      "targetText": "Nom affiché"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.displayNameHelp",
      "field": "text",
      "sourceText": "Label shown on the sign-in button, e.g. 'Okta', 'Company SAML'.",
      "targetText": "Libellé affiché sur le bouton de connexion, p. ex. « Okta », « SAML entreprise »."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.edit",
      "field": "text",
      "sourceText": "Edit",
      "targetText": "Modifier"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.enable",
      "field": "text",
      "sourceText": "Enable this provider",
      "targetText": "Activer ce fournisseur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.incomplete",
      "field": "text",
      "sourceText": "Incomplete",
      "targetText": "Incomplet"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.incompleteHint",
      "field": "text",
      "sourceText": "This provider is missing required settings and is hidden from the login page. Click 'Edit' and fill in the fields its provider type needs. A generic OIDC provider needs the Client ID, the Client secret and the Issuer URL. A SAML 2.0 provider only needs the metadata URL.",
      "targetText": "Il manque des paramètres obligatoires à ce fournisseur ; il n'apparaît pas sur la page de connexion. Cliquez sur « Modifier » et renseignez les champs requis par son type. Un fournisseur OIDC générique a besoin de l'identifiant client, du secret client et de l'URL de l'émetteur. Un fournisseur SAML 2.0 n'a besoin que de l'URL des métadonnées."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.issuerOrMetadata",
      "field": "text",
      "sourceText": "Issuer URL / Metadata URL",
      "targetText": "URL de l'émetteur / URL des métadonnées"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.issuerOrMetadataHelp",
      "field": "text",
      "sourceText": "For generic OIDC: the issuer base URL (discovery appended automatically). For SAML 2.0: the full IdP metadata URL.",
      "targetText": "Pour OIDC générique : l'URL de base de l'émetteur (la découverte est ajoutée automatiquement). Pour SAML 2.0 : l'URL complète des métadonnées de l'IdP."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.masterDisabledHint",
      "field": "text",
      "sourceText": "Single sign-on is turned off above, so no sign-in buttons appear on the login page. Enable it and save to activate configured providers.",
      "targetText": "L'authentification unique est désactivée ci-dessus, aucun bouton de connexion n'apparaît donc sur la page de connexion. Activez-la et enregistrez pour rendre actifs les fournisseurs configurés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.noProviders",
      "field": "text",
      "sourceText": "No SSO providers configured yet. Add one below.",
      "targetText": "Aucun fournisseur SSO configuré pour l'instant. Ajoutez-en un ci-dessous."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.providerType",
      "field": "text",
      "sourceText": "Provider type",
      "targetText": "Type de fournisseur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.redirectUriReady",
      "field": "text",
      "sourceText": "Provider saved. The exact redirect URI is now shown below - copy it and register it with the provider.",
      "targetText": "Fournisseur enregistré. L'URI de redirection exacte s'affiche maintenant ci-dessous - copiez-la et enregistrez-la auprès du fournisseur."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.saveError",
      "field": "text",
      "sourceText": "Error saving provider.",
      "targetText": "Erreur lors de l'enregistrement du fournisseur."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.saveProvider",
      "field": "text",
      "sourceText": "Save provider",
      "targetText": "Enregistrer le fournisseur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.section",
      "field": "text",
      "sourceText": "Identity providers",
      "targetText": "Fournisseurs d'identité"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.sectionDesc",
      "field": "text",
      "sourceText": "Add one card per external identity provider. Each provider gets its own sign-in button.",
      "targetText": "Ajoutez une carte par fournisseur d'identité externe. Chacun obtient son propre bouton de connexion."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.provider.sortOrder",
      "field": "text",
      "sourceText": "Sort order",
      "targetText": "Ordre de tri"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.redirectOriginHelp",
      "field": "text",
      "sourceText": "Some providers (e.g. Google) also ask for the base origin. Register this value as the authorized JavaScript origin.",
      "targetText": "Certains fournisseurs (p. ex. Google) demandent aussi l'origine de base. Enregistrez cette valeur comme origine JavaScript autorisée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.redirectOriginLabel",
      "field": "text",
      "sourceText": "Authorized JavaScript origin",
      "targetText": "Origine JavaScript autorisée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.redirectUriHelp",
      "field": "text",
      "sourceText": "Register exactly this callback URL with the provider. It must match strictly.",
      "targetText": "Enregistrez exactement cette URL de rappel auprès du fournisseur. Elle doit correspondre à l'identique."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.redirectUriLabel",
      "field": "text",
      "sourceText": "Redirect URI (configure this in the provider)",
      "targetText": "URI de redirection (à configurer chez le fournisseur)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.redirectUriNewIntro",
      "field": "text",
      "sourceText": "The redirect URI (callback URL) is generated by this ticket system, not by the provider. The {id} is an internal number that this system assigns when you save - never enter '{id}' at the provider. Follow these steps:",
      "targetText": "L'URI de redirection (URL de rappel) est générée par ce système de tickets, pas par le fournisseur. Le {id} est un numéro interne attribué par le système lors de l'enregistrement - ne saisissez jamais « {id} » chez le fournisseur. Procédez ainsi :"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.redirectUriStep1",
      "field": "text",
      "sourceText": "Enter a display name here and click 'Save provider'. Client ID and secret can stay empty for now.",
      "targetText": "Saisissez ici un nom affiché et cliquez sur « Enregistrer le fournisseur ». L'identifiant et le secret client peuvent rester vides pour l'instant."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.redirectUriStep2",
      "field": "text",
      "sourceText": "After saving, the finished callback URL is shown here (with a real number instead of {id}). Copy it.",
      "targetText": "Après l'enregistrement, l'URL de rappel complète s'affiche ici (avec un vrai numéro à la place de {id}). Copiez-la."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.redirectUriStep3",
      "field": "text",
      "sourceText": "At the provider (e.g. Google), paste that URL into the redirect URI field ('Authorized redirect URIs') and finish creating the app. The provider then gives you a Client ID and Client secret.",
      "targetText": "Chez le fournisseur (p. ex. Google), collez cette URL dans le champ des URI de redirection (« Authorized redirect URIs ») et terminez la création de l'application. Le fournisseur vous fournit alors un identifiant et un secret client."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.redirectUriStep4",
      "field": "text",
      "sourceText": "Come back here, click 'Edit' on this provider, and enter the Client ID, Client secret and issuer URL.",
      "targetText": "Revenez ici, cliquez sur « Modifier » pour ce fournisseur et saisissez l'identifiant client, le secret client et l'URL de l'émetteur."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.saml.desc",
      "field": "text",
      "sourceText": "Connect any SAML 2.0 identity provider using SP-initiated login via redirect binding. Common examples: Okta, Microsoft Entra ID (Azure AD), Keycloak, OneLogin, Ping Identity.",
      "targetText": "Connectez n'importe quel fournisseur d'identité SAML 2.0 via une connexion initiée par le SP avec liaison de redirection. Exemples courants : Okta, Microsoft Entra ID (Azure AD), Keycloak, OneLogin, Ping Identity."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.saml.section",
      "field": "text",
      "sourceText": "SAML 2.0 Provider",
      "targetText": "Fournisseur SAML 2.0"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.saml.spEntityId",
      "field": "text",
      "sourceText": "SP Entity ID (optional)",
      "targetText": "SP Entity ID (facultatif)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.saml.spEntityIdHelp",
      "field": "text",
      "sourceText": "Override the Service Provider entity ID sent in the AuthnRequest. Defaults to the application base URL when left empty.",
      "targetText": "Remplace l'identifiant d'entité du fournisseur de service envoyé dans l'AuthnRequest. Si le champ reste vide, l'URL de base de l'application est utilisée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.saveError",
      "field": "text",
      "sourceText": "Error saving SSO settings.",
      "targetText": "Erreur lors de l'enregistrement des paramètres SSO."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.saved",
      "field": "text",
      "sourceText": "SSO settings saved",
      "targetText": "Paramètres SSO enregistrés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.saving",
      "field": "text",
      "sourceText": "Saving...",
      "targetText": "Enregistrement..."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.secretClearHint",
      "field": "text",
      "sourceText": "Type a new value to replace it, or clear the field and save to remove it.",
      "targetText": "Saisissez une nouvelle valeur pour le remplacer, ou videz le champ et enregistrez pour le supprimer."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.secretStored",
      "field": "text",
      "sourceText": "A secret is stored. Leave empty to keep it unchanged.",
      "targetText": "Un secret est enregistré. Laissez vide pour le conserver inchangé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.wechat.desc",
      "field": "text",
      "sourceText": "Allow sign-in with WeChat Open Platform accounts (China). Uses OAuth 2.0 + user-info endpoint. Requires an open-platform app, not a public-account app.",
      "targetText": "Autoriser la connexion avec des comptes WeChat Open Platform (Chine). Utilise OAuth 2.0 et un point de terminaison d'informations utilisateur. Nécessite une application open-platform, pas une application public-account."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.wechat.section",
      "field": "text",
      "sourceText": "WeChat",
      "targetText": "WeChat"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.wecom.agentId",
      "field": "text",
      "sourceText": "Agent ID",
      "targetText": "Agent ID"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.wecom.agentIdHelp",
      "field": "text",
      "sourceText": "The agent (application) ID from the WeCom admin panel.",
      "targetText": "L'identifiant de l'application (agent) issu du panneau d'administration WeCom."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.wecom.desc",
      "field": "text",
      "sourceText": "Allow sign-in with WeCom / Enterprise WeChat accounts (China). Uses the Work OAuth 2.0 API.",
      "targetText": "Autoriser la connexion avec des comptes WeCom / Enterprise WeChat (Chine). Utilise l'API Work OAuth 2.0."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.sso.wecom.section",
      "field": "text",
      "sourceText": "WeCom (WeChat Work)",
      "targetText": "WeCom (WeChat Work)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.accessDeniedDesc",
      "field": "text",
      "sourceText": "This page is only available for authorized users.",
      "targetText": "Cette page n'est accessible qu'aux utilisateurs autorisés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.active",
      "field": "text",
      "sourceText": "Active",
      "targetText": "Active"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.addAgent",
      "field": "text",
      "sourceText": "Add Agent",
      "targetText": "Ajouter un agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.addMember",
      "field": "text",
      "sourceText": "Add member",
      "targetText": "Ajouter un membre"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.agentCanManageCategories",
      "field": "text",
      "sourceText": "The agent has permission to manage categories (create, edit, and delete).",
      "targetText": "L'agent est autorisé à gérer les catégories (créer, modifier et supprimer)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.agentCanManageTickets",
      "field": "text",
      "sourceText": "The agent has permission to manage tickets (create, edit, and delete).",
      "targetText": "L'agent est autorisé à gérer les tickets (créer, modifier et supprimer)."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.agentCanViewReports",
      "field": "text",
      "sourceText": "The agent has permission to see Reports for this Team.",
      "targetText": "L'agent est autorisé à consulter les rapports de cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.agentPermissions",
      "field": "text",
      "sourceText": "Agent Permissions",
      "targetText": "Droits de l'agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.agentPermissionsUpdated",
      "field": "text",
      "sourceText": "Agent permissions updated.",
      "targetText": "Droits de l'agent mis à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.agents",
      "field": "text",
      "sourceText": "Agents",
      "targetText": "Agents"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.agentsSessionNotice",
      "field": "text",
      "sourceText": "Agents who are added or removed need to log out and log back in for the changes to take effect.",
      "targetText": "Les agents ajoutés ou retirés doivent se déconnecter puis se reconnecter pour que les changements prennent effet."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.auditLog",
      "field": "text",
      "sourceText": "Audit log",
      "targetText": "Journal d'audit"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.autoAssign",
      "field": "text",
      "sourceText": "Automatic assignment",
      "targetText": "Attribution automatique"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.autoAssignAvailabilityNote",
      "field": "text",
      "sourceText": "Agents who are busy or away are skipped. If nobody is available, the ticket stays unassigned.",
      "targetText": "Les agents occupés ou absents sont ignorés. Si personne n'est disponible, le ticket reste non attribué."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.autoAssignLeastLoad",
      "field": "text",
      "sourceText": "Least load",
      "targetText": "Charge la plus faible"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.autoAssignLeastLoadHelp",
      "field": "text",
      "sourceText": "A new ticket goes to the available agent with the fewest open tickets. Tickets waiting for the requester count half.",
      "targetText": "Un nouveau ticket va à l'agent disponible ayant le moins de tickets ouverts. Les tickets en attente du demandeur comptent pour moitié."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.autoAssignOff",
      "field": "text",
      "sourceText": "Off",
      "targetText": "Désactivée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.autoAssignOffHelp",
      "field": "text",
      "sourceText": "New tickets stay unassigned. Someone picks them up from the pool.",
      "targetText": "Les nouveaux tickets restent non attribués. Quelqu'un les prend dans la file."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.autoAssignProfessional",
      "field": "text",
      "sourceText": "Automatic assignment requires the Professional license. You can save the setting, but tickets stay unassigned.",
      "targetText": "L'attribution automatique nécessite la licence Professional. Vous pouvez enregistrer le réglage, mais les tickets resteront non attribués."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.autoAssignRoundRobin",
      "field": "text",
      "sourceText": "Round robin",
      "targetText": "Tour de rôle"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.autoAssignRoundRobinHelp",
      "field": "text",
      "sourceText": "A new ticket goes to the available agent whose last automatic assignment is longest ago.",
      "targetText": "Un nouveau ticket va à l'agent disponible dont la dernière attribution automatique est la plus ancienne."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.copyFrom",
      "field": "text",
      "sourceText": "Copy categories from",
      "targetText": "Copier les catégories depuis"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.create",
      "field": "text",
      "sourceText": "Create",
      "targetText": "Créer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.createTeam",
      "field": "text",
      "sourceText": "Create team",
      "targetText": "Créer une équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.created",
      "field": "text",
      "sourceText": "Team created.",
      "targetText": "Équipe créée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.customerCanCreateTickets",
      "field": "text",
      "sourceText": "Has permission to create new Tickets and can view his own Tickets",
      "targetText": "Est autorisé à créer de nouveaux tickets et à consulter les siens"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.customerCanViewDashboard",
      "field": "text",
      "sourceText": "Has permission to view their own Tickets in the Dashboard and in Reports for this Team",
      "targetText": "Est autorisé à consulter ses propres tickets sur le tableau de bord et dans les rapports de cette équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.customerPermissions",
      "field": "text",
      "sourceText": "Customer Permissions",
      "targetText": "Droits du client"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.customerPermissionsUpdated",
      "field": "text",
      "sourceText": "Customer permissions updated.",
      "targetText": "Droits du client mis à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.defaultLanguage",
      "field": "text",
      "sourceText": "Default e-mail language",
      "targetText": "Langue e-mail par défaut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.defaultLanguageHelp",
      "field": "text",
      "sourceText": "Used as the fallback language for workflow e-mails when 'Team default language' is selected.",
      "targetText": "Utilisée comme langue de repli pour les e-mails de workflow lorsque « Langue par défaut de l'équipe » est sélectionné."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.delete",
      "field": "text",
      "sourceText": "Delete",
      "targetText": "Supprimer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.deleted",
      "field": "text",
      "sourceText": "Team deleted.",
      "targetText": "Équipe supprimée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.details",
      "field": "text",
      "sourceText": "Team details",
      "targetText": "Détails de l'équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.memberAdded",
      "field": "text",
      "sourceText": "Member added.",
      "targetText": "Membre ajouté."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.memberRemoved",
      "field": "text",
      "sourceText": "Member removed.",
      "targetText": "Membre retiré."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.members",
      "field": "text",
      "sourceText": "Members",
      "targetText": "Membres"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.noAudit",
      "field": "text",
      "sourceText": "No audit entries yet.",
      "targetText": "Pas encore d'entrées d'audit."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.noMembers",
      "field": "text",
      "sourceText": "No members in this team.",
      "targetText": "Aucun membre dans cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.noTeams",
      "field": "text",
      "sourceText": "No teams available.",
      "targetText": "Aucune équipe disponible."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.none",
      "field": "text",
      "sourceText": "None",
      "targetText": "Aucune"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.pageDesc",
      "field": "text",
      "sourceText": "Manage teams, members and audit history",
      "targetText": "Gérez les équipes, les membres et l'historique d'audit"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.pageTitle",
      "field": "text",
      "sourceText": "Teams",
      "targetText": "Équipes"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.remove",
      "field": "text",
      "sourceText": "Remove",
      "targetText": "Retirer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.requiredName",
      "field": "text",
      "sourceText": "Please enter a team name.",
      "targetText": "Veuillez saisir un nom d'équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.teamName",
      "field": "text",
      "sourceText": "Team name",
      "targetText": "Nom de l'équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.teams",
      "field": "text",
      "sourceText": "Teams",
      "targetText": "Équipes"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.timeTracking",
      "field": "text",
      "sourceText": "Time tracking",
      "targetText": "Suivi du temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.timeTrackingGlobalOff",
      "field": "text",
      "sourceText": "Time tracking is switched off for the whole system. Turn it on under Settings, General before this setting takes effect.",
      "targetText": "Le suivi du temps est désactivé pour l'ensemble du système. Activez-le sous Paramètres, Généraux avant que ce réglage ne prenne effet."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.timeTrackingHelp",
      "field": "text",
      "sourceText": "Agents of this team log the effort spent on their tickets. Switch it off to leave this team out; entries that already exist stay visible and exportable.",
      "targetText": "Les agents de cette équipe saisissent le travail consacré à leurs tickets. Désactivez pour exclure cette équipe ; les entrées existantes restent visibles et exportables."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.timeTrackingProfessional",
      "field": "text",
      "sourceText": "Time tracking requires the Professional license. You can save the setting, but no time can be logged.",
      "targetText": "Le suivi du temps nécessite la licence Professional. Vous pouvez enregistrer le réglage, mais aucun temps ne pourra être saisi."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.unknownError",
      "field": "text",
      "sourceText": "An error occurred.",
      "targetText": "Une erreur est survenue."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.teams.updated",
      "field": "text",
      "sourceText": "Team saved.",
      "targetText": "Équipe enregistrée."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.accessDeniedDesc",
      "field": "text",
      "sourceText": "You are not allowed to manage ticket field settings.",
      "targetText": "Vous n'êtes pas autorisé à gérer les paramètres des champs de ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.agentCardTitle",
      "field": "text",
      "sourceText": "Admin / Agent Field Settings",
      "targetText": "Paramètres des champs administrateur / agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.addButton",
      "field": "text",
      "sourceText": "Add custom field",
      "targetText": "Ajouter un champ personnalisé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.cancelButton",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.cardDesc",
      "field": "text",
      "sourceText": "Define additional fields that can be filled when creating or editing tickets.",
      "targetText": "Définissez des champs supplémentaires pouvant être remplis lors de la création ou de la modification des tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.cardTitle",
      "field": "text",
      "sourceText": "Custom Fields",
      "targetText": "Champs personnalisés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.deactivateButton",
      "field": "text",
      "sourceText": "Deactivate",
      "targetText": "Désactiver"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.deactivateConfirm",
      "field": "text",
      "sourceText": "Deactivate this custom field? Existing ticket values are preserved.",
      "targetText": "Désactiver ce champ personnalisé ? Les valeurs existantes dans les tickets sont conservées."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.deactivateSuccess",
      "field": "text",
      "sourceText": "Custom field deactivated.",
      "targetText": "Champ personnalisé désactivé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.defaultHidden",
      "field": "text",
      "sourceText": "Hidden for customer by default",
      "targetText": "Masqué au client par défaut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.defaultMandatory",
      "field": "text",
      "sourceText": "Mandatory by default",
      "targetText": "Obligatoire par défaut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.defaultReadOnly",
      "field": "text",
      "sourceText": "Not editable by customer by default",
      "targetText": "Non modifiable par le client par défaut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.defaultsLabel",
      "field": "text",
      "sourceText": "Defaults",
      "targetText": "Valeurs par défaut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.dragHint",
      "field": "text",
      "sourceText": "Drag to reorder",
      "targetText": "Faites glisser pour réorganiser"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.editButton",
      "field": "text",
      "sourceText": "Edit",
      "targetText": "Modifier"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.empty",
      "field": "text",
      "sourceText": "No custom fields defined yet.",
      "targetText": "Aucun champ personnalisé défini pour l'instant."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.loadError",
      "field": "text",
      "sourceText": "Error loading custom fields.",
      "targetText": "Erreur lors du chargement des champs personnalisés."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.maxExceeded",
      "field": "text",
      "sourceText": "Maximum number of custom fields per team would be exceeded.",
      "targetText": "Le nombre maximal de champs personnalisés par équipe serait dépassé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.modalTitleEdit",
      "field": "text",
      "sourceText": "Edit custom field",
      "targetText": "Modifier le champ personnalisé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.modalTitleNew",
      "field": "text",
      "sourceText": "New custom field",
      "targetText": "Nouveau champ personnalisé"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.nameLabel",
      "field": "text",
      "sourceText": "Name",
      "targetText": "Nom"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.namePlaceholder",
      "field": "text",
      "sourceText": "e.g. SAP client",
      "targetText": "p. ex. mandant SAP"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.restoreButton",
      "field": "text",
      "sourceText": "Restore",
      "targetText": "Restaurer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.restoreSuccess",
      "field": "text",
      "sourceText": "Custom field restored.",
      "targetText": "Champ personnalisé restauré."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.saveButton",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.saveError",
      "field": "text",
      "sourceText": "Error saving custom field.",
      "targetText": "Erreur lors de l'enregistrement du champ personnalisé."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.saveSuccess",
      "field": "text",
      "sourceText": "Custom field saved.",
      "targetText": "Champ personnalisé enregistré."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.scope.Global",
      "field": "text",
      "sourceText": "All teams (including new ones)",
      "targetText": "Toutes les équipes (y compris les nouvelles)"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.scope.TeamSpecific",
      "field": "text",
      "sourceText": "Selected teams only",
      "targetText": "Équipes sélectionnées uniquement"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.scopeLabel",
      "field": "text",
      "sourceText": "Scope",
      "targetText": "Portée"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.showDeleted",
      "field": "text",
      "sourceText": "Show deactivated",
      "targetText": "Afficher les désactivés"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.teamsLabel",
      "field": "text",
      "sourceText": "Teams",
      "targetText": "Équipes"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.type.Boolean",
      "field": "text",
      "sourceText": "Yes / No",
      "targetText": "Oui / non"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.type.Date",
      "field": "text",
      "sourceText": "Date",
      "targetText": "Date"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.type.Decimal",
      "field": "text",
      "sourceText": "Decimal",
      "targetText": "Nombre décimal"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.type.Integer",
      "field": "text",
      "sourceText": "Integer",
      "targetText": "Nombre entier"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.type.MultilineText",
      "field": "text",
      "sourceText": "Multiline text",
      "targetText": "Texte multiligne"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.type.Text",
      "field": "text",
      "sourceText": "Text",
      "targetText": "Texte"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customFields.typeLabel",
      "field": "text",
      "sourceText": "Field type",
      "targetText": "Type de champ"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.customerCardTitle",
      "field": "text",
      "sourceText": "Customer Field Settings",
      "targetText": "Paramètres des champs client"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.assignTo",
      "field": "text",
      "sourceText": "Assign to",
      "targetText": "Attribuer à"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.description",
      "field": "text",
      "sourceText": "Description",
      "targetText": "Description"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.location",
      "field": "text",
      "sourceText": "Location",
      "targetText": "Site"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.mainCategory",
      "field": "text",
      "sourceText": "Main category",
      "targetText": "Catégorie principale"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.owningTeam",
      "field": "text",
      "sourceText": "Owning team",
      "targetText": "Équipe propriétaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.priority",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.referenceTicketNumber",
      "field": "text",
      "sourceText": "Reference ticket number",
      "targetText": "Numéro de ticket de référence"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.requesterEmail",
      "field": "text",
      "sourceText": "User email address",
      "targetText": "Adresse e-mail de l'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.requesterPhone",
      "field": "text",
      "sourceText": "User phone number",
      "targetText": "Numéro de téléphone de l'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.status",
      "field": "text",
      "sourceText": "Status",
      "targetText": "Statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.subCategory",
      "field": "text",
      "sourceText": "Subcategory",
      "targetText": "Sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.field.title",
      "field": "text",
      "sourceText": "Title",
      "targetText": "Titre"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.hiddenSwitch",
      "field": "text",
      "sourceText": "Is hidden for Customer",
      "targetText": "Est masqué au client"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.loadError",
      "field": "text",
      "sourceText": "Error loading ticket field settings.",
      "targetText": "Erreur lors du chargement des paramètres des champs de ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.mandatorySwitch",
      "field": "text",
      "sourceText": "Field is mandatory",
      "targetText": "Le champ est obligatoire"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.pageDesc",
      "field": "text",
      "sourceText": "Manage if a field is mandatory to fill out and if it is shown to the Customer.",
      "targetText": "Définissez si un champ est obligatoire et s'il est affiché au client."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.pageTitle",
      "field": "text",
      "sourceText": "Ticket Settings",
      "targetText": "Paramètres des tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.readOnlySwitch",
      "field": "text",
      "sourceText": "Is not editable",
      "targetText": "N'est pas modifiable"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.saveError",
      "field": "text",
      "sourceText": "Error saving ticket field settings.",
      "targetText": "Erreur lors de l'enregistrement des paramètres des champs de ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "settings.ticketFields.saved",
      "field": "text",
      "sourceText": "Ticket field settings saved",
      "targetText": "Paramètres des champs de ticket enregistrés"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.appearance",
      "field": "text",
      "sourceText": "Appearance",
      "targetText": "Apparence"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.categories",
      "field": "text",
      "sourceText": "Categories",
      "targetText": "Catégories"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.changePassword",
      "field": "text",
      "sourceText": "Change password",
      "targetText": "Modifier le mot de passe"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.dashboard",
      "field": "text",
      "sourceText": "Dashboard",
      "targetText": "Tableau de bord"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.help",
      "field": "text",
      "sourceText": "Help",
      "targetText": "Aide"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.knowledgeBase",
      "field": "text",
      "sourceText": "Knowledge Base",
      "targetText": "Base de connaissances"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.language",
      "field": "text",
      "sourceText": "Language",
      "targetText": "Langue"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.logout",
      "field": "text",
      "sourceText": "Sign out",
      "targetText": "Se déconnecter"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.maintenance",
      "field": "text",
      "sourceText": "Maintenance / Incident-Notification",
      "targetText": "Avis de maintenance / d'incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.newTicket",
      "field": "text",
      "sourceText": "New Ticket",
      "targetText": "Nouveau ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.profile",
      "field": "text",
      "sourceText": "Profile picture",
      "targetText": "Photo de profil"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.reports",
      "field": "text",
      "sourceText": "Reports",
      "targetText": "Rapports"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsArchive",
      "field": "text",
      "sourceText": "Archive",
      "targetText": "Archive"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsAutomation",
      "field": "text",
      "sourceText": "Automation",
      "targetText": "Automatisation"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsCi",
      "field": "text",
      "sourceText": "CI Settings",
      "targetText": "Identité visuelle"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsEmail",
      "field": "text",
      "sourceText": "E-Mail Settings",
      "targetText": "Paramètres e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsGeneral",
      "field": "text",
      "sourceText": "General Settings",
      "targetText": "Paramètres généraux"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsKnowledgeBase",
      "field": "text",
      "sourceText": "Knowledge Base",
      "targetText": "Base de connaissances"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsLanguage",
      "field": "text",
      "sourceText": "Language Settings",
      "targetText": "Paramètres de langue"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsLicense",
      "field": "text",
      "sourceText": "License",
      "targetText": "Licence"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsMenu",
      "field": "text",
      "sourceText": "Settings",
      "targetText": "Paramètres"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsReports",
      "field": "text",
      "sourceText": "Report Settings",
      "targetText": "Paramètres des rapports"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsRequestWorkflows",
      "field": "text",
      "sourceText": "Request workflows",
      "targetText": "Workflows de demande"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsSecurity",
      "field": "text",
      "sourceText": "Security",
      "targetText": "Sécurité"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsSla",
      "field": "text",
      "sourceText": "SLA / Business Hours",
      "targetText": "SLA / heures ouvrables"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsSso",
      "field": "text",
      "sourceText": "SSO Settings",
      "targetText": "Paramètres SSO"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsTeams",
      "field": "text",
      "sourceText": "Teams",
      "targetText": "Équipes"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsTemplates",
      "field": "text",
      "sourceText": "Templates",
      "targetText": "Modèles"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsTicketFieldSettings",
      "field": "text",
      "sourceText": "Ticket Settings",
      "targetText": "Paramètres des tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.settingsUpdates",
      "field": "text",
      "sourceText": "Updates",
      "targetText": "Mises à jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.themeDark",
      "field": "text",
      "sourceText": "Dark mode",
      "targetText": "Mode sombre"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.themeLight",
      "field": "text",
      "sourceText": "Light mode",
      "targetText": "Mode clair"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.tickets",
      "field": "text",
      "sourceText": "Tickets",
      "targetText": "Tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.users",
      "field": "text",
      "sourceText": "User Management",
      "targetText": "Gestion des utilisateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "sidebar.version",
      "field": "text",
      "sourceText": "Version",
      "targetText": "Version"
    },
    {
      "entityType": "uiText",
      "entityKey": "sites.errors.alreadyExists",
      "field": "text",
      "sourceText": "Site already exists.",
      "targetText": "Le site existe déjà."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.badge.breached",
      "field": "text",
      "sourceText": "Breached",
      "targetText": "Dépassée"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.badge.cancelledHint",
      "field": "text",
      "sourceText": "Ended without a verdict — counted neither as met nor as breached.",
      "targetText": "Terminée sans verdict — comptée ni comme atteinte ni comme dépassée."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.badge.earlierBreachHint",
      "field": "text",
      "sourceText": "An earlier deadline on this ticket was breached. The column shows the next open one.",
      "targetText": "Une échéance antérieure de ce ticket a été dépassée. La colonne affiche la prochaine échéance ouverte."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.badge.met",
      "field": "text",
      "sourceText": "In time",
      "targetText": "Dans les temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.badge.noDueDate",
      "field": "text",
      "sourceText": "Not calculable",
      "targetText": "Non calculable"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.badge.noDueDateHint",
      "field": "text",
      "sourceText": "The assigned calendar has no open hours, so no due date could be calculated.",
      "targetText": "Le calendrier attribué n'a pas d'heures d'ouverture, aucune échéance n'a donc pu être calculée."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.badge.noneHint",
      "field": "text",
      "sourceText": "No deadline applies to this ticket.",
      "targetText": "Aucune échéance ne s'applique à ce ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.badge.paused",
      "field": "text",
      "sourceText": "Paused",
      "targetText": "En pause"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.badge.pausedHint",
      "field": "text",
      "sourceText": "Waiting for the requester — the deadline is not running.",
      "targetText": "En attente du demandeur — l'échéance ne court pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.breachAction.escalate",
      "field": "text",
      "sourceText": "Hand over to another team",
      "targetText": "Transmettre à une autre équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.breachAction.none",
      "field": "text",
      "sourceText": "Record only",
      "targetText": "Enregistrer uniquement"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.breachAction.notify",
      "field": "text",
      "sourceText": "Notify assignee and observers",
      "targetText": "Notifier le responsable et les observateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.addWindow",
      "field": "text",
      "sourceText": "Add opening hours",
      "targetText": "Ajouter des heures d'ouverture"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.default",
      "field": "text",
      "sourceText": "Default",
      "targetText": "Par défaut"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.deleteAria",
      "field": "text",
      "sourceText": "Delete calendar",
      "targetText": "Supprimer le calendrier"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.description",
      "field": "text",
      "sourceText": "Opening hours per weekday and closed days. Times are in the calendar's own time zone.",
      "targetText": "Heures d'ouverture par jour de la semaine et jours de fermeture. Les heures s'entendent dans le fuseau horaire propre au calendrier."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.newName",
      "field": "text",
      "sourceText": "New calendar",
      "targetText": "Nouveau calendrier"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.nextDay",
      "field": "text",
      "sourceText": "ends next day",
      "targetText": "se termine le lendemain"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.noHolidays",
      "field": "text",
      "sourceText": "This calendar has no closed days for the next twelve months. Deadlines will run through public holidays.",
      "targetText": "Ce calendrier n'a aucun jour de fermeture pour les douze prochains mois. Les échéances courront donc pendant les jours fériés."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.timeZone",
      "field": "text",
      "sourceText": "Time zone",
      "targetText": "Fuseau horaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.title",
      "field": "text",
      "sourceText": "Business hours",
      "targetText": "Heures ouvrables"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.window.dayAria",
      "field": "text",
      "sourceText": "Weekday",
      "targetText": "Jour de la semaine"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.window.deleteAria",
      "field": "text",
      "sourceText": "Remove these opening hours",
      "targetText": "Supprimer ces heures d'ouverture"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.window.endAria",
      "field": "text",
      "sourceText": "End of opening hours",
      "targetText": "Fin des heures d'ouverture"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.calendars.window.startAria",
      "field": "text",
      "sourceText": "Start of opening hours",
      "targetText": "Début des heures d'ouverture"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.cycle",
      "field": "text",
      "sourceText": "(cycle {0})",
      "targetText": "(cycle {0})"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.day.friday",
      "field": "text",
      "sourceText": "Friday",
      "targetText": "Vendredi"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.day.monday",
      "field": "text",
      "sourceText": "Monday",
      "targetText": "Lundi"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.day.saturday",
      "field": "text",
      "sourceText": "Saturday",
      "targetText": "Samedi"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.day.sunday",
      "field": "text",
      "sourceText": "Sunday",
      "targetText": "Dimanche"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.day.thursday",
      "field": "text",
      "sourceText": "Thursday",
      "targetText": "Jeudi"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.day.tuesday",
      "field": "text",
      "sourceText": "Tuesday",
      "targetText": "Mardi"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.day.wednesday",
      "field": "text",
      "sourceText": "Wednesday",
      "targetText": "Mercredi"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.errors.forbidden",
      "field": "text",
      "sourceText": "Forbidden.",
      "targetText": "Interdit."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.consumed",
      "field": "text",
      "sourceText": "{0} of working time used",
      "targetText": "{0} du temps de travail utilisé"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.dueAfter",
      "field": "text",
      "sourceText": "new deadline {0}",
      "targetText": "nouvelle échéance {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.empty",
      "field": "text",
      "sourceText": "No entries yet.",
      "targetText": "Pas encore d'entrées."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.hide",
      "field": "text",
      "sourceText": "Hide deadline history",
      "targetText": "Masquer l'historique des échéances"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.loadFailed",
      "field": "text",
      "sourceText": "The deadline history could not be loaded.",
      "targetText": "L'historique des échéances n'a pas pu être chargé."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.show",
      "field": "text",
      "sourceText": "Show deadline history",
      "targetText": "Afficher l'historique des échéances"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.type.breached",
      "field": "text",
      "sourceText": "Breached",
      "targetText": "Dépassée"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.type.cancelled",
      "field": "text",
      "sourceText": "Cancelled",
      "targetText": "Annulée"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.type.mergedIntoOriginal",
      "field": "text",
      "sourceText": "Merged",
      "targetText": "Fusionnée"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.type.met",
      "field": "text",
      "sourceText": "Met",
      "targetText": "Atteinte"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.type.paused",
      "field": "text",
      "sourceText": "Paused",
      "targetText": "En pause"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.type.recalculated",
      "field": "text",
      "sourceText": "Recalculated",
      "targetText": "Recalculée"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.type.resumed",
      "field": "text",
      "sourceText": "Resumed",
      "targetText": "Reprise"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.events.type.started",
      "field": "text",
      "sourceText": "Started",
      "targetText": "Démarrée"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.holidays.import",
      "field": "text",
      "sourceText": "Import holidays (.ics)",
      "targetText": "Importer les jours fériés (.ics)"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.holidays.imported",
      "field": "text",
      "sourceText": "Imported {0} day(s), replaced {1}, skipped {2} unreadable and {3} already present.",
      "targetText": "{0} jour(s) importé(s), {1} remplacé(s), {2} illisible(s) et {3} déjà présent(s) ignorés."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.holidays.more",
      "field": "text",
      "sourceText": "and {0} more",
      "targetText": "et {0} de plus"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.holidays.title",
      "field": "text",
      "sourceText": "Closed days",
      "targetText": "Jours de fermeture"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.inactiveHint",
      "field": "text",
      "sourceText": "No policy is active. No deadlines are being tracked and tickets behave exactly as before.",
      "targetText": "Aucune politique n'est active. Aucune échéance n'est suivie et les tickets se comportent exactement comme avant."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.metric.firstResponse",
      "field": "text",
      "sourceText": "Time to first response",
      "targetText": "Délai de première réponse"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.metric.firstResponseHint",
      "field": "text",
      "sourceText": "Stops at the first public reply by an agent. Auto-replies and internal notes do not count.",
      "targetText": "S'arrête à la première réponse publique d'un agent. Les réponses automatiques et les notes internes ne comptent pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.metric.firstResponseShort",
      "field": "text",
      "sourceText": "Response",
      "targetText": "Réponse"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.metric.resolution",
      "field": "text",
      "sourceText": "Time to resolution",
      "targetText": "Délai de résolution"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.metric.resolutionHint",
      "field": "text",
      "sourceText": "Stops when the ticket reaches a status that counts as resolved.",
      "targetText": "S'arrête lorsque le ticket atteint un statut comptant comme résolu."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.metric.resolutionShort",
      "field": "text",
      "sourceText": "Resolution",
      "targetText": "Résolution"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policies.add",
      "field": "text",
      "sourceText": "Add policy",
      "targetText": "Ajouter une politique"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policies.description",
      "field": "text",
      "sourceText": "The first matching policy applies. An empty condition means \"any\", not \"none\". Only new tickets get deadlines.",
      "targetText": "La première politique correspondante s'applique. Une condition vide signifie « n'importe laquelle », pas « aucune ». Seuls les nouveaux tickets reçoivent des échéances."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policies.title",
      "field": "text",
      "sourceText": "Policies",
      "targetText": "Politiques"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policy.anyCondition",
      "field": "text",
      "sourceText": "Any",
      "targetText": "N'importe laquelle"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policy.categoryNoTeam",
      "field": "text",
      "sourceText": "Without a team",
      "targetText": "Sans équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policy.isActive",
      "field": "text",
      "sourceText": "Active",
      "targetText": "Active"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policy.mainCategory",
      "field": "text",
      "sourceText": "Main category",
      "targetText": "Catégorie principale"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policy.name",
      "field": "text",
      "sourceText": "Name",
      "targetText": "Nom"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policy.newName",
      "field": "text",
      "sourceText": "New policy",
      "targetText": "Nouvelle politique"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policy.priority",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policy.sortOrder",
      "field": "text",
      "sourceText": "Order",
      "targetText": "Ordre"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policy.subCategory",
      "field": "text",
      "sourceText": "Subcategory",
      "targetText": "Sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.policy.team",
      "field": "text",
      "sourceText": "Team",
      "targetText": "Équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.subtitle",
      "field": "text",
      "sourceText": "Business hours and response deadlines. Without an active policy nothing is measured and nothing changes.",
      "targetText": "Heures ouvrables et délais de réponse. Sans politique active, rien n'est mesuré et rien ne change."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.target.breachAction",
      "field": "text",
      "sourceText": "When breached",
      "targetText": "En cas de dépassement"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.target.calendar",
      "field": "text",
      "sourceText": "Calendar",
      "targetText": "Calendrier"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.target.calendarFromTeam",
      "field": "text",
      "sourceText": "From the team",
      "targetText": "De l'équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.target.escalateHint",
      "field": "text",
      "sourceText": "The ticket moves to that team and the current assignee is cleared.",
      "targetText": "Le ticket passe à cette équipe et le responsable actuel est effacé."
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.target.escalateTo",
      "field": "text",
      "sourceText": "Hand over to",
      "targetText": "Transmettre à"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.target.escalateToPlaceholder",
      "field": "text",
      "sourceText": "Please select a team",
      "targetText": "Veuillez sélectionner une équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.target.minutes",
      "field": "text",
      "sourceText": "Working minutes",
      "targetText": "Minutes ouvrables"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.target.pauses",
      "field": "text",
      "sourceText": "Pause while waiting for the requester",
      "targetText": "Mettre en pause pendant l'attente du demandeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "sla.title",
      "field": "text",
      "sourceText": "Service level agreements",
      "targetText": "Accords de niveau de service"
    },
    {
      "entityType": "uiText",
      "entityKey": "slaPolicies.errors.duplicateMetric",
      "field": "text",
      "sourceText": "Each metric may appear only once per policy.",
      "targetText": "Chaque métrique ne peut apparaître qu'une fois par politique."
    },
    {
      "entityType": "uiText",
      "entityKey": "slaPolicies.errors.durationRequired",
      "field": "text",
      "sourceText": "A target duration must be greater than zero.",
      "targetText": "Une durée cible doit être supérieure à zéro."
    },
    {
      "entityType": "uiText",
      "entityKey": "slaPolicies.errors.escalationTeamRequired",
      "field": "text",
      "sourceText": "Escalating on breach requires a target team.",
      "targetText": "La transmission en cas de dépassement nécessite une équipe cible."
    },
    {
      "entityType": "uiText",
      "entityKey": "slaPolicies.errors.targetRequired",
      "field": "text",
      "sourceText": "A policy needs at least one target.",
      "targetText": "Une politique a besoin d'au moins un objectif."
    },
    {
      "entityType": "uiText",
      "entityKey": "slaPolicies.errors.unknownCalendar",
      "field": "text",
      "sourceText": "Unknown business calendar.",
      "targetText": "Calendrier d'heures ouvrables inconnu."
    },
    {
      "entityType": "uiText",
      "entityKey": "slaPolicies.errors.unknownCategory",
      "field": "text",
      "sourceText": "Unknown category.",
      "targetText": "Catégorie inconnue."
    },
    {
      "entityType": "uiText",
      "entityKey": "slaPolicies.errors.unknownMetric",
      "field": "text",
      "sourceText": "Unknown target metric '{0}'.",
      "targetText": "Métrique cible inconnue « {0} »."
    },
    {
      "entityType": "uiText",
      "entityKey": "slaPolicies.errors.unknownTeam",
      "field": "text",
      "sourceText": "Unknown team.",
      "targetText": "Équipe inconnue."
    },
    {
      "entityType": "uiText",
      "entityKey": "status.Assigned",
      "field": "text",
      "sourceText": "Assigned",
      "targetText": "Attribué"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.BackFromOtherTeam",
      "field": "text",
      "sourceText": "Back from other team",
      "targetText": "Retour d'une autre équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.Cancelled",
      "field": "text",
      "sourceText": "Cancelled",
      "targetText": "Annulé"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.Closed",
      "field": "text",
      "sourceText": "Closed",
      "targetText": "Fermé"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.InProgress",
      "field": "text",
      "sourceText": "In Progress",
      "targetText": "En cours"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.New",
      "field": "text",
      "sourceText": "New",
      "targetText": "Nouveau"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.Open",
      "field": "text",
      "sourceText": "Open",
      "targetText": "Ouvert"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.Pending",
      "field": "text",
      "sourceText": "Pending",
      "targetText": "En attente"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.Rejected",
      "field": "text",
      "sourceText": "Rejected",
      "targetText": "Rejeté"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.Reopened",
      "field": "text",
      "sourceText": "Reopened",
      "targetText": "Rouvert"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.Resolved",
      "field": "text",
      "sourceText": "Resolved",
      "targetText": "Résolu"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.WaitingForApproval",
      "field": "text",
      "sourceText": "Waiting for approval",
      "targetText": "En attente d'approbation"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.WaitingForOtherTeam",
      "field": "text",
      "sourceText": "Waiting for other team",
      "targetText": "En attente d'une autre équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.WaitingForServiceProvider",
      "field": "text",
      "sourceText": "Waiting for Service Provider Response",
      "targetText": "En attente de réponse du prestataire"
    },
    {
      "entityType": "uiText",
      "entityKey": "status.WaitingForUser",
      "field": "text",
      "sourceText": "Waiting for User Response",
      "targetText": "En attente de réponse de l'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.changeHint",
      "field": "text",
      "sourceText": "You can change your rating until the link expires.",
      "targetText": "Vous pouvez modifier votre évaluation jusqu'à l'expiration du lien."
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.commentLabel",
      "field": "text",
      "sourceText": "Would you like to add a comment? (optional)",
      "targetText": "Souhaitez-vous ajouter un commentaire ? (facultatif)"
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.errors.invalidScore",
      "field": "text",
      "sourceText": "Please choose a rating between 1 and 5 stars.",
      "targetText": "Choisissez une évaluation entre 1 et 5 étoiles."
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.errors.saveFailed",
      "field": "text",
      "sourceText": "Your rating could not be saved. Please try again.",
      "targetText": "Votre évaluation n'a pas pu être enregistrée. Veuillez réessayer."
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.invalidOrExpired",
      "field": "text",
      "sourceText": "This link is invalid or has expired. If you still want to share feedback, simply reply to the e-mail you received from us.",
      "targetText": "Ce lien est invalide ou a expiré. Si vous souhaitez tout de même donner votre avis, répondez simplement à l'e-mail que vous avez reçu de notre part."
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.score1",
      "field": "text",
      "sourceText": "Very dissatisfied",
      "targetText": "Très insatisfait"
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.score2",
      "field": "text",
      "sourceText": "Dissatisfied",
      "targetText": "Insatisfait"
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.score3",
      "field": "text",
      "sourceText": "Neutral",
      "targetText": "Neutre"
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.score4",
      "field": "text",
      "sourceText": "Satisfied",
      "targetText": "Satisfait"
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.score5",
      "field": "text",
      "sourceText": "Very satisfied",
      "targetText": "Très satisfait"
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.submit",
      "field": "text",
      "sourceText": "Submit rating",
      "targetText": "Envoyer l'évaluation"
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.subtitle",
      "field": "text",
      "sourceText": "Ticket #{ticketId} \"{ticketTitle}\"",
      "targetText": "Ticket #{ticketId} « {ticketTitle} »"
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.thanks",
      "field": "text",
      "sourceText": "Thank you for your feedback!",
      "targetText": "Merci pour votre retour !"
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.title",
      "field": "text",
      "sourceText": "How satisfied were you?",
      "targetText": "Étiez-vous satisfait ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "survey.update",
      "field": "text",
      "sourceText": "Update rating",
      "targetText": "Mettre à jour l'évaluation"
    },
    {
      "entityType": "uiText",
      "entityKey": "teams.errors.autoAssignModeInvalid",
      "field": "text",
      "sourceText": "'{0}' is not a valid assignment mode. Valid values: Off, RoundRobin, LeastLoad.",
      "targetText": "« {0} » n'est pas un mode d'attribution valide. Valeurs valides : Off, RoundRobin, LeastLoad."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.action.assignSelf",
      "field": "text",
      "sourceText": "The agent who applies it",
      "targetText": "L'agent qui l'applique"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.action.enabled",
      "field": "text",
      "sourceText": "Suggested",
      "targetText": "Proposée"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.action.field",
      "field": "text",
      "sourceText": "Action",
      "targetText": "Action"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.action.notePlaceholder",
      "field": "text",
      "sourceText": "Follow-up note",
      "targetText": "Note de suivi"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.action.remove",
      "field": "text",
      "sourceText": "Remove action",
      "targetText": "Supprimer l'action"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.actions.add",
      "field": "text",
      "sourceText": "Add action",
      "targetText": "Ajouter une action"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.actions.hint",
      "field": "text",
      "sourceText": "Suggested when the template is applied; the agent can deselect each one.",
      "targetText": "Proposées lors de l'application du modèle ; l'agent peut décocher chacune d'elles."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.actions.title",
      "field": "text",
      "sourceText": "Actions",
      "targetText": "Actions"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.add",
      "field": "text",
      "sourceText": "Add reply template",
      "targetText": "Ajouter un modèle de réponse"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.addTicket",
      "field": "text",
      "sourceText": "Add ticket template",
      "targetText": "Ajouter un modèle de ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.allTeams",
      "field": "text",
      "sourceText": "All teams",
      "targetText": "Toutes les équipes"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.attachments.empty",
      "field": "text",
      "sourceText": "No attachments.",
      "targetText": "Aucune pièce jointe."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.attachments.hint",
      "field": "text",
      "sourceText": "Own copies; they are added to the ticket when the template is applied.",
      "targetText": "Copies propres ; elles sont ajoutées au ticket lorsque le modèle est appliqué."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.attachments.remove",
      "field": "text",
      "sourceText": "Remove attachment",
      "targetText": "Supprimer la pièce jointe"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.attachments.removed",
      "field": "text",
      "sourceText": "Attachment removed.",
      "targetText": "Pièce jointe supprimée."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.attachments.title",
      "field": "text",
      "sourceText": "Attachments",
      "targetText": "Pièces jointes"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.attachments.upload",
      "field": "text",
      "sourceText": "Upload file",
      "targetText": "Envoyer un fichier"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.attachments.uploaded",
      "field": "text",
      "sourceText": "File uploaded.",
      "targetText": "Fichier envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.deleteConfirm",
      "field": "text",
      "sourceText": "Delete this template? Its attachments are removed as well.",
      "targetText": "Supprimer ce modèle ? Ses pièces jointes sont également supprimées."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.duplicate",
      "field": "text",
      "sourceText": "Duplicate",
      "targetText": "Dupliquer"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.duplicated",
      "field": "text",
      "sourceText": "Duplicated. The copy is a draft only you can see.",
      "targetText": "Dupliqué. La copie est un brouillon que vous seul voyez."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.attachmentNotFound",
      "field": "text",
      "sourceText": "Attachment not found.",
      "targetText": "Pièce jointe introuvable."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.attachmentsReplyOnly",
      "field": "text",
      "sourceText": "Only reply templates carry attachments.",
      "targetText": "Seuls les modèles de réponse peuvent porter des pièces jointes."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.categoryNotInTeam",
      "field": "text",
      "sourceText": "The selected category belongs to another team and would not be offered on the new-ticket form.",
      "targetText": "La catégorie sélectionnée appartient à une autre équipe et ne serait pas proposée dans le formulaire de nouveau ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.downloadFailed",
      "field": "text",
      "sourceText": "The file could not be downloaded.",
      "targetText": "Le fichier n'a pas pu être téléchargé."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.duplicateField",
      "field": "text",
      "sourceText": "The same field is selected more than once.",
      "targetText": "Le même champ est sélectionné plusieurs fois."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.fieldNotApplicable",
      "field": "text",
      "sourceText": "These fields do not apply to the team of this template and would never be answerable: {0}.",
      "targetText": "Ces champs ne s'appliquent pas à l'équipe de ce modèle et ne pourraient jamais être renseignés : {0}."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.fileEmpty",
      "field": "text",
      "sourceText": "No file was provided.",
      "targetText": "Aucun fichier n'a été fourni."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.fileMissing",
      "field": "text",
      "sourceText": "The file no longer exists on the server.",
      "targetText": "Le fichier n'existe plus sur le serveur."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.fileTooLarge",
      "field": "text",
      "sourceText": "File is too large. Maximum allowed: {0:F0} MB.",
      "targetText": "Le fichier est trop volumineux. Maximum autorisé : {0:F0} MB."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.fileTypeNotAllowed",
      "field": "text",
      "sourceText": "File type '{0}' is not allowed. Allowed types: {1}",
      "targetText": "Le type de fichier « {0} » n'est pas autorisé. Types autorisés : {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.forbidden",
      "field": "text",
      "sourceText": "Forbidden.",
      "targetText": "Interdit."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.invalidAction",
      "field": "text",
      "sourceText": "Action '{0}' is not valid: {1}",
      "targetText": "L'action « {0} » n'est pas valide : {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.invalidKindShape",
      "field": "text",
      "sourceText": "This does not fit the template kind: {0}",
      "targetText": "Cela ne correspond pas au type de modèle : {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.invalidMailTo",
      "field": "text",
      "sourceText": "Mail recipient is not valid: {0}",
      "targetText": "Le destinataire du message n'est pas valide : {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.kindImmutable",
      "field": "text",
      "sourceText": "The kind of a template cannot be changed. Create a new template instead.",
      "targetText": "Le type d'un modèle ne peut pas être modifié. Créez plutôt un nouveau modèle."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.loadFailed",
      "field": "text",
      "sourceText": "The templates could not be loaded.",
      "targetText": "Les modèles n'ont pas pu être chargés."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.nameRequired",
      "field": "text",
      "sourceText": "A template needs a name.",
      "targetText": "Un modèle a besoin d'un nom."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.nameTaken",
      "field": "text",
      "sourceText": "A template named '{0}' already exists in this scope.",
      "targetText": "Un modèle nommé « {0} » existe déjà dans cette portée."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.notFound",
      "field": "text",
      "sourceText": "Template not found.",
      "targetText": "Modèle introuvable."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.subNotInMain",
      "field": "text",
      "sourceText": "The subcategory does not belong to the selected main category.",
      "targetText": "La sous-catégorie n'appartient pas à la catégorie principale sélectionnée."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.subWithoutMain",
      "field": "text",
      "sourceText": "A subcategory needs its main category.",
      "targetText": "Une sous-catégorie a besoin de sa catégorie principale."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.ticketNoPlaceholders",
      "field": "text",
      "sourceText": "Ticket templates do not support placeholders - {0} would end up literally in the new ticket.",
      "targetText": "Les modèles de ticket ne prennent pas en charge les variables - {0} apparaîtrait littéralement dans le nouveau ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.ticketNotFound",
      "field": "text",
      "sourceText": "Ticket not found.",
      "targetText": "Ticket introuvable."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.unknownBodyPlaceholder",
      "field": "text",
      "sourceText": "Reply text: unknown placeholders {0}. Available here: {1}.",
      "targetText": "Texte de réponse : variables inconnues {0}. Disponibles ici : {1}."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.unknownCategory",
      "field": "text",
      "sourceText": "Unknown category.",
      "targetText": "Catégorie inconnue."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.unknownField",
      "field": "text",
      "sourceText": "Unknown or deleted field: {0}.",
      "targetText": "Champ inconnu ou supprimé : {0}."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.unknownPlaceholder",
      "field": "text",
      "sourceText": "Mail subject: unknown placeholders {0}. Available here: {1}.",
      "targetText": "Objet du message : variables inconnues {0}. Disponibles ici : {1}."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.unknownPriority",
      "field": "text",
      "sourceText": "Unknown priority.",
      "targetText": "Priorité inconnue."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.unknownTeam",
      "field": "text",
      "sourceText": "Unknown team.",
      "targetText": "Équipe inconnue."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.errors.uploadFailed",
      "field": "text",
      "sourceText": "The file could not be uploaded.",
      "targetText": "Le fichier n'a pas pu être envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.fromTicket.attachmentsCopied",
      "field": "text",
      "sourceText": "{0} attachment(s) copied from the ticket.",
      "targetText": "{0} pièce(s) jointe(s) copiée(s) depuis le ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.fromTicket.attachmentsHint",
      "field": "text",
      "sourceText": "Tick only the attachments the template should carry — one of them may be a customer’s screenshot. Nothing is ticked by default.",
      "targetText": "Ne cochez que les pièces jointes que le modèle doit porter — l'une d'elles peut être la capture d'écran d'un client. Rien n'est coché par défaut."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.fromTicket.button",
      "field": "text",
      "sourceText": "Make template",
      "targetText": "Créer un modèle"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.fromTicket.continue",
      "field": "text",
      "sourceText": "Open the template form",
      "targetText": "Ouvrir le formulaire de modèle"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.fromTicket.dialogTitle",
      "field": "text",
      "sourceText": "Make a template from this comment",
      "targetText": "Créer un modèle à partir de ce commentaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.fromTicket.draftBanner",
      "field": "text",
      "sourceText": "Draft from ticket #{0} — name it and review the text (it may contain customer details), then save.",
      "targetText": "Brouillon issu du ticket #{0} — donnez-lui un nom et relisez le texte (il peut contenir des données client), puis enregistrez."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.kind.reply",
      "field": "text",
      "sourceText": "Reply template",
      "targetText": "Modèle de réponse"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.kind.ticket",
      "field": "text",
      "sourceText": "Ticket template",
      "targetText": "Modèle de ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.mail.address",
      "field": "text",
      "sourceText": "E-mail address",
      "targetText": "Adresse e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.mail.enabled",
      "field": "text",
      "sourceText": "Send the comment as e-mail",
      "targetText": "Envoyer le commentaire par e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.mail.subject",
      "field": "text",
      "sourceText": "Subject",
      "targetText": "Objet"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.mail.subjectHint",
      "field": "text",
      "sourceText": "Placeholders: {originalSubject}, {ticketTag}, {ticketId}",
      "targetText": "Variables : {originalSubject}, {ticketTag}, {ticketId}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.mail.to",
      "field": "text",
      "sourceText": "Recipient",
      "targetText": "Destinataire"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.mail.toAddress",
      "field": "text",
      "sourceText": "Fixed address",
      "targetText": "Adresse fixe"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.mail.toAssignee",
      "field": "text",
      "sourceText": "Assignee",
      "targetText": "Responsable"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.mail.toObservers",
      "field": "text",
      "sourceText": "Observers",
      "targetText": "Observateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.mail.toRequester",
      "field": "text",
      "sourceText": "Requester",
      "targetText": "Demandeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.needTeam",
      "field": "text",
      "sourceText": "Create a team first: new templates start in a team.",
      "targetText": "Créez d'abord une équipe : les nouveaux modèles démarrent dans une équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.newName",
      "field": "text",
      "sourceText": "New template",
      "targetText": "Nouveau modèle"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.newTicket.hint",
      "field": "text",
      "sourceText": "Prefills the form - nothing is created until you submit.",
      "targetText": "Préremplit le formulaire - rien n'est créé tant que vous ne l'envoyez pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.newTicketName",
      "field": "text",
      "sourceText": "New ticket template",
      "targetText": "Nouveau modèle de ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.phrase.assign",
      "field": "text",
      "sourceText": "assigns to {0}",
      "targetText": "attribue à {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.phrase.assignSelf",
      "field": "text",
      "sourceText": "assigns to the applying agent",
      "targetText": "attribue à l'agent qui applique le modèle"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.phrase.escalate",
      "field": "text",
      "sourceText": "escalates to {0}",
      "targetText": "escalade vers {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.phrase.followUp",
      "field": "text",
      "sourceText": "sets a follow-up in {0} {1}",
      "targetText": "définit un suivi dans {0} {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.phrase.missing",
      "field": "text",
      "sourceText": "(not set)",
      "targetText": "(non défini)"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.phrase.setPriority",
      "field": "text",
      "sourceText": "sets priority to {0}",
      "targetText": "met la priorité sur {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.phrase.setStatus",
      "field": "text",
      "sourceText": "sets status to {0}",
      "targetText": "met le statut sur {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.phrase.unassign",
      "field": "text",
      "sourceText": "removes the assignment",
      "targetText": "retire l'attribution"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.picker.applied",
      "field": "text",
      "sourceText": "Template applied.",
      "targetText": "Modèle appliqué."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.picker.attachmentsChip",
      "field": "text",
      "sourceText": "{0} attachment(s) will be added",
      "targetText": "{0} pièce(s) jointe(s) seront ajoutées"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.picker.button",
      "field": "text",
      "sourceText": "Template",
      "targetText": "Modèle"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.picker.clear",
      "field": "text",
      "sourceText": "Remove template",
      "targetText": "Retirer le modèle"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.picker.empty",
      "field": "text",
      "sourceText": "No templates found.",
      "targetText": "Aucun modèle trouvé."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.picker.hint",
      "field": "text",
      "sourceText": "Nothing happens until you add the comment.",
      "targetText": "Rien ne se passe tant que vous n'ajoutez pas le commentaire."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.picker.mailChip",
      "field": "text",
      "sourceText": "E-mail to {0}",
      "targetText": "E-mail à {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.picker.partialFailure",
      "field": "text",
      "sourceText": "Some template actions did not run: {0}",
      "targetText": "Certaines actions du modèle n'ont pas été exécutées : {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.picker.searchPlaceholder",
      "field": "text",
      "sourceText": "Search templates…",
      "targetText": "Rechercher des modèles…"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.picker.toggleAction",
      "field": "text",
      "sourceText": "Click to include or exclude this action",
      "targetText": "Cliquez pour inclure ou exclure cette action"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.pleaseSelect",
      "field": "text",
      "sourceText": "Please select",
      "targetText": "Veuillez sélectionner"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.sentence.insertInternal",
      "field": "text",
      "sourceText": "Inserts the text as an internal note",
      "targetText": "Insère le texte comme note interne"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.sentence.insertPublic",
      "field": "text",
      "sourceText": "Inserts the text as a public comment",
      "targetText": "Insère le texte comme commentaire public"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.sentence.mail",
      "field": "text",
      "sourceText": "sends the comment by e-mail to {0}",
      "targetText": "envoie le commentaire par e-mail à {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.sentence.noText",
      "field": "text",
      "sourceText": "Suggests actions without a reply text",
      "targetText": "Propose des actions sans texte de réponse"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.subtitle",
      "field": "text",
      "sourceText": "Reply templates fill the comment editor and suggest field actions. Nothing is sent automatically.",
      "targetText": "Les modèles de réponse remplissent l'éditeur de commentaire et proposent des actions sur les champs. Rien n'est envoyé automatiquement."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.teamFilter",
      "field": "text",
      "sourceText": "Filter by team",
      "targetText": "Filtrer par équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.template.body",
      "field": "text",
      "sourceText": "Reply text",
      "targetText": "Texte de réponse"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.template.bodyHint",
      "field": "text",
      "sourceText": "Placeholders: {requesterName}, {ticketId}, {ticketTitle}, {ticketRef}, {agentName} — filled in when the template is applied, so you see the finished text before you send it.",
      "targetText": "Variables : {requesterName}, {ticketId}, {ticketTitle}, {ticketRef}, {agentName} — remplies lorsque le modèle est appliqué, de sorte que vous voyez le texte final avant de l'envoyer."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.template.bodyPlaceholder",
      "field": "text",
      "sourceText": "The text inserted into the comment editor. May stay empty.",
      "targetText": "Le texte inséré dans l'éditeur de commentaire. Peut rester vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.template.draft",
      "field": "text",
      "sourceText": "Draft",
      "targetText": "Brouillon"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.template.draftHint",
      "field": "text",
      "sourceText": "Only you can see this template until you publish it.",
      "targetText": "Vous seul voyez ce modèle tant que vous ne l'avez pas publié."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.template.internal",
      "field": "text",
      "sourceText": "Internal note",
      "targetText": "Note interne"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.template.internalHint",
      "field": "text",
      "sourceText": "The customer will not see this comment.",
      "targetText": "Le client ne verra pas ce commentaire."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.template.name",
      "field": "text",
      "sourceText": "Name",
      "targetText": "Nom"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.template.scope",
      "field": "text",
      "sourceText": "Applies to",
      "targetText": "S'applique à"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.categoryOtherTeam",
      "field": "text",
      "sourceText": "This category belongs to another team and would not be offered on the new-ticket form.",
      "targetText": "Cette catégorie appartient à une autre équipe et ne serait pas proposée dans le formulaire de nouveau ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.customerVisible",
      "field": "text",
      "sourceText": "Offer this template to customers",
      "targetText": "Proposer ce modèle aux clients"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.customerVisibleHint",
      "field": "text",
      "sourceText": "Customers can pick this template when they create a ticket. A draft stays hidden either way.",
      "targetText": "Les clients peuvent choisir ce modèle lorsqu'ils créent un ticket. Un brouillon reste masqué dans tous les cas."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.description",
      "field": "text",
      "sourceText": "Ticket description",
      "targetText": "Description du ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.descriptionPlaceholder",
      "field": "text",
      "sourceText": "The prefilled description of the new ticket. May stay empty.",
      "targetText": "La description préremplie du nouveau ticket. Peut rester vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.fieldAdd",
      "field": "text",
      "sourceText": "Add a field…",
      "targetText": "Ajouter un champ…"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.fieldMoveDown",
      "field": "text",
      "sourceText": "Move down",
      "targetText": "Descendre"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.fieldMoveUp",
      "field": "text",
      "sourceText": "Move up",
      "targetText": "Monter"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.fieldRemove",
      "field": "text",
      "sourceText": "Remove field",
      "targetText": "Supprimer le champ"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.fieldRequired",
      "field": "text",
      "sourceText": "Required",
      "targetText": "Obligatoire"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.fields",
      "field": "text",
      "sourceText": "Fields to ask for",
      "targetText": "Champs à demander"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.fieldsEmpty",
      "field": "text",
      "sourceText": "No fields selected. The form shows the usual fields of the team.",
      "targetText": "Aucun champ sélectionné. Le formulaire affiche les champs habituels de l'équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.fieldsHint",
      "field": "text",
      "sourceText": "Selected fields replace the team default: the form asks exactly these, in this order. Without a selection the usual fields of the team are shown.",
      "targetText": "Les champs sélectionnés remplacent les valeurs par défaut de l'équipe : le formulaire demande exactement ceux-ci, dans cet ordre. Sans sélection, les champs habituels de l'équipe sont affichés."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.fieldsNoneAvailable",
      "field": "text",
      "sourceText": "No further fields apply to this team.",
      "targetText": "Aucun autre champ ne s'applique à cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.fieldsStranded",
      "field": "text",
      "sourceText": "These fields do not apply to the selected team and must be removed before saving:",
      "targetText": "Ces champs ne s'appliquent pas à l'équipe sélectionnée et doivent être retirés avant l'enregistrement :"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.mainCategory",
      "field": "text",
      "sourceText": "Main category",
      "targetText": "Catégorie principale"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.noPlaceholdersHint",
      "field": "text",
      "sourceText": "No placeholders here: the template only prefills the form, nothing is resolved or sent.",
      "targetText": "Aucune variable ici : le modèle ne fait que préremplir le formulaire, rien n'est résolu ni envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.noPrefill",
      "field": "text",
      "sourceText": "Not prefilled",
      "targetText": "Non prérempli"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.phrase.category",
      "field": "text",
      "sourceText": "category {0}",
      "targetText": "catégorie {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.phrase.description",
      "field": "text",
      "sourceText": "the description",
      "targetText": "la description"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.phrase.empty",
      "field": "text",
      "sourceText": "Prefills nothing yet - pick at least one field.",
      "targetText": "Ne préremplit encore rien - choisissez au moins un champ."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.phrase.prefix",
      "field": "text",
      "sourceText": "Prefills the new ticket with {0}.",
      "targetText": "Préremplit le nouveau ticket avec {0}."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.phrase.priority",
      "field": "text",
      "sourceText": "priority {0}",
      "targetText": "priorité {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.phrase.team",
      "field": "text",
      "sourceText": "team {0}",
      "targetText": "équipe {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.phrase.title",
      "field": "text",
      "sourceText": "title \"{0}\"",
      "targetText": "titre « {0} »"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.priority",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.subCategory",
      "field": "text",
      "sourceText": "Subcategory",
      "targetText": "Sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.team",
      "field": "text",
      "sourceText": "Owning team of the new ticket",
      "targetText": "Équipe propriétaire du nouveau ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.title",
      "field": "text",
      "sourceText": "Ticket title",
      "targetText": "Titre du ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.ticket.titlePlaceholder",
      "field": "text",
      "sourceText": "Prefilled title. May stay empty.",
      "targetText": "Titre prérempli. Peut rester vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "templates.title",
      "field": "text",
      "sourceText": "Templates",
      "targetText": "Modèles"
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketPriorities.errors.inUseCannotDelete",
      "field": "text",
      "sourceText": "This priority is used in tickets and cannot be deleted.",
      "targetText": "Cette priorité est utilisée dans des tickets et ne peut pas être supprimée."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.deadEndStatusFlow",
      "field": "text",
      "sourceText": "Saving this transition rule would create dead-end status flows. Affected statuses: {0}.",
      "targetText": "Enregistrer cette règle de transition créerait des flux de statuts sans issue. Statuts concernés : {0}."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.englishTranslationRequired",
      "field": "text",
      "sourceText": "English name translation is required.",
      "targetText": "La traduction anglaise du nom est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.inUseCannotDelete",
      "field": "text",
      "sourceText": "This status is used in tickets and cannot be deleted.",
      "targetText": "Ce statut est utilisé dans des tickets et ne peut pas être supprimé."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.invalidBackgroundColor",
      "field": "text",
      "sourceText": "That background color is not valid.",
      "targetText": "Cette couleur d'arrière-plan n'est pas valide."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.lastClosedStatus",
      "field": "text",
      "sourceText": "At least one status must count as closed. Assign the flag to another status first.",
      "targetText": "Au moins un statut doit compter comme fermé. Attribuez d'abord ce marqueur à un autre statut."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.lastResolvedStatus",
      "field": "text",
      "sourceText": "At least one status must count as resolved. Assign the flag to another status first.",
      "targetText": "Au moins un statut doit compter comme résolu. Attribuez d'abord ce marqueur à un autre statut."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.machineOwnedCannotDelete",
      "field": "text",
      "sourceText": "This status belongs to an automated process and cannot be deleted. You can rename it instead.",
      "targetText": "Ce statut appartient à un processus automatisé et ne peut pas être supprimé. Vous pouvez toutefois le renommer."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.machineOwnedNotOnCreate",
      "field": "text",
      "sourceText": "This status belongs to an automated process and cannot be offered when creating a ticket.",
      "targetText": "Ce statut appartient à un processus automatisé et ne peut pas être proposé lors de la création d'un ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.machineOwnedStaysSystemOnly",
      "field": "text",
      "sourceText": "This status belongs to an automated process and can only be set by the system.",
      "targetText": "Ce statut appartient à un processus automatisé et ne peut être défini que par le système."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.systemOnlyCannotBeQuickAction",
      "field": "text",
      "sourceText": "A status marked \"System only\" cannot be set as a primary status.",
      "targetText": "Un statut marqué « Système uniquement » ne peut pas être défini comme statut principal."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.transitionsContainSelf",
      "field": "text",
      "sourceText": "\"Allowed transitions to new status\" must not contain the status itself.",
      "targetText": "« Transitions autorisées vers un nouveau statut » ne doit pas contenir le statut lui-même."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.transitionsContainUnknown",
      "field": "text",
      "sourceText": "\"Allowed transitions to new status\" contains a status that does not exist.",
      "targetText": "« Transitions autorisées vers un nouveau statut » contient un statut qui n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.translationRequired",
      "field": "text",
      "sourceText": "At least one translation is required.",
      "targetText": "Au moins une traduction est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "ticketStatuses.errors.validTranslationRequired",
      "field": "text",
      "sourceText": "At least one valid translation is required.",
      "targetText": "Au moins une traduction valide est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.actions.applyTemplate",
      "field": "text",
      "sourceText": "Apply template",
      "targetText": "Appliquer un modèle"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.actions.assign",
      "field": "text",
      "sourceText": "Assign",
      "targetText": "Attribuer"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.actions.assignToMe",
      "field": "text",
      "sourceText": "Assign to me",
      "targetText": "M'attribuer"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.actions.groupIncident",
      "field": "text",
      "sourceText": "Group into incident",
      "targetText": "Regrouper en incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.actions.merge",
      "field": "text",
      "sourceText": "Multiple report",
      "targetText": "Signalement multiple"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.actions.setStatus",
      "field": "text",
      "sourceText": "Change status",
      "targetText": "Changer le statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.active",
      "field": "text",
      "sourceText": "active",
      "targetText": "actifs"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.addToKb",
      "field": "text",
      "sourceText": "Add to knowledge base",
      "targetText": "Ajouter à la base de connaissances"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.additionalInfo.sectionTitle",
      "field": "text",
      "sourceText": "Additional Information",
      "targetText": "Informations complémentaires"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.allAgents",
      "field": "text",
      "sourceText": "All agents",
      "targetText": "Tous les agents"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.allCategories",
      "field": "text",
      "sourceText": "All categories",
      "targetText": "Toutes les catégories"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.allPriorities",
      "field": "text",
      "sourceText": "All priorities",
      "targetText": "Toutes les priorités"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.allStatus",
      "field": "text",
      "sourceText": "All statuses",
      "targetText": "Tous les statuts"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.assignedTo",
      "field": "text",
      "sourceText": "Assigned to",
      "targetText": "Attribué à"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.alreadyAssigned",
      "field": "text",
      "sourceText": "This ticket is already assigned to that user.",
      "targetText": "Ce ticket est déjà attribué à cet utilisateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.alreadyInStatus",
      "field": "text",
      "sourceText": "This ticket is already in the selected status.",
      "targetText": "Ce ticket est déjà dans le statut sélectionné."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.appliesTo",
      "field": "text",
      "sourceText": "Applies to {0} of {1} selected ticket(s)",
      "targetText": "S'applique à {0} des {1} ticket(s) sélectionné(s)"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.apply",
      "field": "text",
      "sourceText": "Apply",
      "targetText": "Appliquer"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.assignNotInTeams",
      "field": "text",
      "sourceText": "{0} is not a member of the teams that own the selected tickets, so none of them can be assigned.",
      "targetText": "{0} n'est membre d'aucune des équipes propriétaires des tickets sélectionnés ; aucun d'eux ne peut donc être attribué."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.assignSelfNoTeam",
      "field": "text",
      "sourceText": "You are not a member of any team, so tickets cannot be assigned to you. Ask an administrator to add you to the team that owns these tickets.",
      "targetText": "Vous n'êtes membre d'aucune équipe, aucun ticket ne peut donc vous être attribué. Demandez à un administrateur de vous ajouter à l'équipe propriétaire de ces tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.assignTitle",
      "field": "text",
      "sourceText": "Assign {0} ticket(s)",
      "targetText": "Attribuer {0} ticket(s)"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.assignee",
      "field": "text",
      "sourceText": "Assign to",
      "targetText": "Attribuer à"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.commentForAll",
      "field": "text",
      "sourceText": "This comment will be added to all {0} ticket(s).",
      "targetText": "Ce commentaire sera ajouté aux {0} ticket(s)."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.failed",
      "field": "text",
      "sourceText": "The change could not be saved.",
      "targetText": "La modification n'a pas pu être enregistrée."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.keptSelection",
      "field": "text",
      "sourceText": "The tickets that were not changed stay selected.",
      "targetText": "Les tickets non modifiés restent sélectionnés."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.mailNotice",
      "field": "text",
      "sourceText": "This sends {0} e-mail(s) to the selected agent.",
      "targetText": "Cela enverra {0} e-mail(s) à l'agent sélectionné."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.mailOffMailbox",
      "field": "text",
      "sourceText": "The mailboxes of the selected teams do not send ticket action e-mails. The template's e-mail will not go out.",
      "targetText": "Les boîtes des équipes sélectionnées n'envoient pas d'e-mails lors des actions sur les tickets. L'e-mail du modèle ne partira pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.mailOffSmtp",
      "field": "text",
      "sourceText": "E-mail sending is switched off. The template's e-mail will not go out.",
      "targetText": "L'envoi d'e-mails est désactivé. L'e-mail du modèle ne partira pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.noAssignee",
      "field": "text",
      "sourceText": "No assignee selected.",
      "targetText": "Aucun responsable sélectionné."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.noSelection",
      "field": "text",
      "sourceText": "No tickets selected.",
      "targetText": "Aucun ticket sélectionné."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.noTemplates",
      "field": "text",
      "sourceText": "No reply template is available for the teams of the selected tickets.",
      "targetText": "Aucun modèle de réponse n'est disponible pour les équipes des tickets sélectionnés."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.result",
      "field": "text",
      "sourceText": "{0} changed, {1} skipped",
      "targetText": "{0} modifié(s), {1} ignoré(s)"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.skippedTitle",
      "field": "text",
      "sourceText": "Not changed",
      "targetText": "Non modifiés"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.statusNotBulkable",
      "field": "text",
      "sourceText": "This status cannot be set for several tickets at once because it needs a target team per ticket.",
      "targetText": "Ce statut ne peut pas être appliqué à plusieurs tickets à la fois, car il nécessite une équipe cible par ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.statusTitle",
      "field": "text",
      "sourceText": "Change status of {0} ticket(s)",
      "targetText": "Changer le statut de {0} ticket(s)"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.template",
      "field": "text",
      "sourceText": "Template",
      "targetText": "Modèle"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.templateChoose",
      "field": "text",
      "sourceText": "Select a template",
      "targetText": "Sélectionner un modèle"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.templateMailWarning",
      "field": "text",
      "sourceText": "This sends {0} e-mail(s) to customers.",
      "targetText": "Cela enverra {0} e-mail(s) à des clients."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.templateNotForTeam",
      "field": "text",
      "sourceText": "This template is not offered for the team that owns this ticket.",
      "targetText": "Ce modèle n'est pas proposé à l'équipe propriétaire de ce ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.templatePlaceholderNote",
      "field": "text",
      "sourceText": "Placeholders are resolved per ticket, so each customer gets their own name and ticket number.",
      "targetText": "Les variables sont résolues ticket par ticket, de sorte que chaque client reçoit son propre nom et son propre numéro de ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.templateSendMail",
      "field": "text",
      "sourceText": "Send the template's e-mail to the requester",
      "targetText": "Envoyer l'e-mail du modèle au demandeur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.templateTitle",
      "field": "text",
      "sourceText": "Apply template to {0} ticket(s)",
      "targetText": "Appliquer un modèle à {0} ticket(s)"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.tooMany",
      "field": "text",
      "sourceText": "Select at most {0} tickets at once.",
      "targetText": "Sélectionnez au maximum {0} tickets à la fois."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.bulk.willSkipTitle",
      "field": "text",
      "sourceText": "Will be skipped",
      "targetText": "Seront ignorés"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.category",
      "field": "text",
      "sourceText": "Category",
      "targetText": "Catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.channel.agent",
      "field": "text",
      "sourceText": "Entered by an agent",
      "targetText": "Saisi par un agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.channel.email",
      "field": "text",
      "sourceText": "E-mail",
      "targetText": "E-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.channel.phone",
      "field": "text",
      "sourceText": "Phone",
      "targetText": "Téléphone"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.channel.selfService",
      "field": "text",
      "sourceText": "Self-service",
      "targetText": "Libre-service"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.channel.unknown",
      "field": "text",
      "sourceText": "Unknown",
      "targetText": "Inconnu"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.colAssigned",
      "field": "text",
      "sourceText": "Assigned",
      "targetText": "Attribué"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.colCategory",
      "field": "text",
      "sourceText": "Category",
      "targetText": "Catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.colCreated",
      "field": "text",
      "sourceText": "Created",
      "targetText": "Créé"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.colFollowUp",
      "field": "text",
      "sourceText": "Follow-up",
      "targetText": "Suivi"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.colPriority",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.colSelect",
      "field": "text",
      "sourceText": "Select",
      "targetText": "Sélectionner"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.colSla",
      "field": "text",
      "sourceText": "Deadline",
      "targetText": "Échéance"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.colStatus",
      "field": "text",
      "sourceText": "Status",
      "targetText": "Statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.colTitle",
      "field": "text",
      "sourceText": "Title",
      "targetText": "Titre"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.colUser",
      "field": "text",
      "sourceText": "User",
      "targetText": "Utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.colWorkLog",
      "field": "text",
      "sourceText": "Time",
      "targetText": "Temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.customFields.invalidDate",
      "field": "text",
      "sourceText": "Please enter a valid date.",
      "targetText": "Veuillez saisir une date valide."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.customFields.invalidNumber",
      "field": "text",
      "sourceText": "Please enter a valid number.",
      "targetText": "Veuillez saisir un nombre valide."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.customFields.required",
      "field": "text",
      "sourceText": "This field is required.",
      "targetText": "Ce champ est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.customFields.saveError",
      "field": "text",
      "sourceText": "Error saving custom field values.",
      "targetText": "Erreur lors de l'enregistrement des valeurs des champs personnalisés."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.customFields.tooLong",
      "field": "text",
      "sourceText": "Value is too long.",
      "targetText": "La valeur est trop longue."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.actions",
      "field": "text",
      "sourceText": "Actions",
      "targetText": "Actions"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.addComment",
      "field": "text",
      "sourceText": "Add comment",
      "targetText": "Ajouter un commentaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.additionalFields",
      "field": "text",
      "sourceText": "Additional fields",
      "targetText": "Champs supplémentaires"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.age",
      "field": "text",
      "sourceText": "Age",
      "targetText": "Ancienneté"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.assignCannotClearOnceSet",
      "field": "text",
      "sourceText": "Assigned agent cannot be cleared once set.",
      "targetText": "L'agent attribué ne peut plus être retiré une fois défini."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.assignError",
      "field": "text",
      "sourceText": "Error assigning ticket.",
      "targetText": "Erreur lors de l'attribution du ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.assignTo",
      "field": "text",
      "sourceText": "Assign to",
      "targetText": "Attribuer à"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.assignUpdated",
      "field": "text",
      "sourceText": "Assignment updated.",
      "targetText": "Attribution mise à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.assignedTo",
      "field": "text",
      "sourceText": "Assigned to",
      "targetText": "Attribué à"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.attachmentDeleted",
      "field": "text",
      "sourceText": "Attachment '{0}' was deleted.",
      "targetText": "La pièce jointe « {0} » a été supprimée."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.attachments",
      "field": "text",
      "sourceText": "Attachments",
      "targetText": "Pièces jointes"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.backToList",
      "field": "text",
      "sourceText": "Back to list",
      "targetText": "Retour à la liste"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.belongsToIncident",
      "field": "text",
      "sourceText": "Belongs to incident",
      "targetText": "Appartient à l'incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.cancelCommentEdit",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.cancelTitleEdit",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.category",
      "field": "text",
      "sourceText": "Category",
      "targetText": "Catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.categoryFromOtherTeam",
      "field": "text",
      "sourceText": "from {team}",
      "targetText": "de {team}"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.categoryFromOtherTeamHint",
      "field": "text",
      "sourceText": "This ticket was handed over. It keeps the classification of the team it came from — pick one of your own entries to re-classify it.",
      "targetText": "Ce ticket a été transmis. Il conserve la classification de l'équipe dont il provient — choisissez l'une de vos propres entrées pour le reclasser."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.categoryPairRequired",
      "field": "text",
      "sourceText": "Category and subcategory must be set together or both empty.",
      "targetText": "La catégorie et la sous-catégorie doivent être définies ensemble ou laissées vides toutes les deux."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.changeStatus",
      "field": "text",
      "sourceText": "Current status",
      "targetText": "Statut actuel"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.channel",
      "field": "text",
      "sourceText": "How the request came in",
      "targetText": "Comment la demande est arrivée"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.childTicket",
      "field": "text",
      "sourceText": "Child ticket",
      "targetText": "Sous-ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.chooseAgent",
      "field": "text",
      "sourceText": "Choose agent",
      "targetText": "Choisir un agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.closeCommentLabel",
      "field": "text",
      "sourceText": "Closing comment",
      "targetText": "Commentaire de clôture"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.closeDialogSubmit",
      "field": "text",
      "sourceText": "Submit",
      "targetText": "Envoyer"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.closeDialogTitle",
      "field": "text",
      "sourceText": "Close ticket",
      "targetText": "Fermer le ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.closeTicket",
      "field": "text",
      "sourceText": "Close ticket",
      "targetText": "Fermer le ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.collapseDescription",
      "field": "text",
      "sourceText": "Collapse description",
      "targetText": "Réduire la description"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.commentAdded",
      "field": "text",
      "sourceText": "Comment added.",
      "targetText": "Commentaire ajouté."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.commentDeleteError",
      "field": "text",
      "sourceText": "Error deleting comment.",
      "targetText": "Erreur lors de la suppression du commentaire."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.commentDeleted",
      "field": "text",
      "sourceText": "Comment deleted.",
      "targetText": "Commentaire supprimé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.commentError",
      "field": "text",
      "sourceText": "Error adding comment.",
      "targetText": "Erreur lors de l'ajout du commentaire."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.commentPlaceholder",
      "field": "text",
      "sourceText": "Write a comment...",
      "targetText": "Écrivez un commentaire..."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.commentUpdateError",
      "field": "text",
      "sourceText": "Error updating comment.",
      "targetText": "Erreur lors de la mise à jour du commentaire."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.commentUpdated",
      "field": "text",
      "sourceText": "Comment updated.",
      "targetText": "Commentaire mis à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.comments",
      "field": "text",
      "sourceText": "Comments",
      "targetText": "Commentaires"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.createChildTicket",
      "field": "text",
      "sourceText": "Involve another team",
      "targetText": "Faire intervenir une autre équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.createChildTicketHint",
      "field": "text",
      "sourceText": "You stay responsible, they work in a linked ticket",
      "targetText": "Vous restez responsable, elle travaille dans un ticket lié"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.createdAt",
      "field": "text",
      "sourceText": "Created at",
      "targetText": "Créé le"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.createdBy",
      "field": "text",
      "sourceText": "Created by",
      "targetText": "Créé par"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.csat.answeredOn",
      "field": "text",
      "sourceText": "Rated on {date}",
      "targetText": "Évalué le {date}"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.csat.notAnswered",
      "field": "text",
      "sourceText": "Survey sent, not answered yet.",
      "targetText": "Enquête envoyée, pas encore de réponse."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.csat.title",
      "field": "text",
      "sourceText": "Customer satisfaction",
      "targetText": "Satisfaction client"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.deleteAttachment",
      "field": "text",
      "sourceText": "Delete attachment",
      "targetText": "Supprimer la pièce jointe"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.deleteComment",
      "field": "text",
      "sourceText": "Delete comment",
      "targetText": "Supprimer le commentaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.description",
      "field": "text",
      "sourceText": "Description",
      "targetText": "Description"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.descriptionUpdateError",
      "field": "text",
      "sourceText": "Error updating description.",
      "targetText": "Erreur lors de la mise à jour de la description."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.descriptionUpdated",
      "field": "text",
      "sourceText": "Description updated.",
      "targetText": "Description mise à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.details",
      "field": "text",
      "sourceText": "Details",
      "targetText": "Détails"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.detailsUpdateError",
      "field": "text",
      "sourceText": "Error updating details.",
      "targetText": "Erreur lors de la mise à jour des détails."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.detailsUpdated",
      "field": "text",
      "sourceText": "Details updated.",
      "targetText": "Détails mis à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.downloadError",
      "field": "text",
      "sourceText": "Could not download file.",
      "targetText": "Le fichier n'a pas pu être téléchargé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.editComment",
      "field": "text",
      "sourceText": "Edit comment",
      "targetText": "Modifier le commentaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.editTitle",
      "field": "text",
      "sourceText": "Edit",
      "targetText": "Modifier"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.escalate",
      "field": "text",
      "sourceText": "Escalate to another team",
      "targetText": "Escalader vers une autre équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.escalateCommentLabel",
      "field": "text",
      "sourceText": "Reason (optional)",
      "targetText": "Motif (facultatif)"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.escalateDialogDescription",
      "field": "text",
      "sourceText": "Responsibility moves to the selected team. No second ticket is created: this team keeps read access and can still comment, but can no longer change the ticket.",
      "targetText": "La responsabilité passe à l'équipe sélectionnée. Aucun second ticket n'est créé : cette équipe conserve un accès en lecture et peut encore commenter, mais ne peut plus modifier le ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.escalateDialogTitle",
      "field": "text",
      "sourceText": "Escalate to another team?",
      "targetText": "Escalader vers une autre équipe ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.escalateError",
      "field": "text",
      "sourceText": "Error escalating ticket.",
      "targetText": "Erreur lors de l'escalade du ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.escalateHint",
      "field": "text",
      "sourceText": "The other team takes over",
      "targetText": "L'autre équipe prend le relais"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.escalateSubmit",
      "field": "text",
      "sourceText": "Escalate",
      "targetText": "Escalader"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.escalateSuccess",
      "field": "text",
      "sourceText": "Ticket escalated.",
      "targetText": "Ticket escaladé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.escalateTeamLabel",
      "field": "text",
      "sourceText": "Escalate to",
      "targetText": "Escalader vers"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.escalateTeamPlaceholder",
      "field": "text",
      "sourceText": "Select a team",
      "targetText": "Sélectionner une équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.escalateTeamRequired",
      "field": "text",
      "sourceText": "Please select a team.",
      "targetText": "Veuillez sélectionner une équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.fileDeleteError",
      "field": "text",
      "sourceText": "Error deleting file.",
      "targetText": "Erreur lors de la suppression du fichier."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.fileDeleteSuccess",
      "field": "text",
      "sourceText": "File deleted.",
      "targetText": "Fichier supprimé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.fileFallback",
      "field": "text",
      "sourceText": "File",
      "targetText": "Fichier"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.fileTooLarge",
      "field": "text",
      "sourceText": "File exceeds 50MB limit.",
      "targetText": "Le fichier dépasse la limite de 50 MB."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.fileUploadError",
      "field": "text",
      "sourceText": "Error uploading file.",
      "targetText": "Erreur lors de l'envoi du fichier."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.fileUploaded",
      "field": "text",
      "sourceText": "File uploaded.",
      "targetText": "Fichier envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.history",
      "field": "text",
      "sourceText": "History",
      "targetText": "Historique"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.historyCustomField",
      "field": "text",
      "sourceText": "Custom field",
      "targetText": "Champ personnalisé"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.imagePasteUnsupported",
      "field": "text",
      "sourceText": "Only PNG, JPEG and GIF images can be pasted.",
      "targetText": "Seules les images PNG, JPEG et GIF peuvent être collées."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.incidentLinkedCount",
      "field": "text",
      "sourceText": "Linked tickets",
      "targetText": "Tickets liés"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.internalCommentBadge",
      "field": "text",
      "sourceText": "Internal",
      "targetText": "Interne"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.internalCommentBadgeTitle",
      "field": "text",
      "sourceText": "Internal note - not visible to the customer",
      "targetText": "Note interne - non visible par le client"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.internalCommentHint",
      "field": "text",
      "sourceText": "The customer will not see this comment.",
      "targetText": "Le client ne verra pas ce commentaire."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.internalCommentLabel",
      "field": "text",
      "sourceText": "Only for Admin/Agents",
      "targetText": "Réservé aux administrateurs et agents"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.isIncident",
      "field": "text",
      "sourceText": "Incident ticket",
      "targetText": "Ticket d'incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.isIncidentYes",
      "field": "text",
      "sourceText": "Yes",
      "targetText": "Oui"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.loadError",
      "field": "text",
      "sourceText": "Error loading ticket.",
      "targetText": "Erreur lors du chargement du ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.loadingPreview",
      "field": "text",
      "sourceText": "Loading preview...",
      "targetText": "Chargement de l'aperçu..."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.location",
      "field": "text",
      "sourceText": "Location",
      "targetText": "Site"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.mailAgentPlaceholder",
      "field": "text",
      "sourceText": "Choose agent",
      "targetText": "Choisir un agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.mailCustomPlaceholder",
      "field": "text",
      "sourceText": "name@example.com",
      "targetText": "nom@exemple.fr"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.mailSectionTitle",
      "field": "text",
      "sourceText": "Send e-mail",
      "targetText": "Envoyer un e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.mailSubjectLabel",
      "field": "text",
      "sourceText": "Subject:",
      "targetText": "Objet :"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.mailToAgent",
      "field": "text",
      "sourceText": "Send mail to agent",
      "targetText": "Envoyer un message à un agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.mailToCustom",
      "field": "text",
      "sourceText": "Send mail to custom e-mail",
      "targetText": "Envoyer un message à une adresse personnalisée"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.mailToLabel",
      "field": "text",
      "sourceText": "To:",
      "targetText": "À :"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.mailToUser",
      "field": "text",
      "sourceText": "Send mail to user",
      "targetText": "Envoyer un message à l'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.mergedInto",
      "field": "text",
      "sourceText": "Multiple report of",
      "targetText": "Signalement multiple de"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.mergedReports",
      "field": "text",
      "sourceText": "Multiple reports",
      "targetText": "Signalements multiples"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.moreStatuses",
      "field": "text",
      "sourceText": "More statuses",
      "targetText": "Plus de statuts"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.noAttachments",
      "field": "text",
      "sourceText": "No attachments available",
      "targetText": "Aucune pièce jointe disponible"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.noComments",
      "field": "text",
      "sourceText": "No comments available",
      "targetText": "Aucun commentaire disponible"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.noDescription",
      "field": "text",
      "sourceText": "No description available.",
      "targetText": "Aucune description disponible."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.noHistory",
      "field": "text",
      "sourceText": "No history available",
      "targetText": "Aucun historique disponible"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.notFound",
      "field": "text",
      "sourceText": "Ticket not found",
      "targetText": "Ticket introuvable"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.observers",
      "field": "text",
      "sourceText": "Observers",
      "targetText": "Observateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.observersAdd",
      "field": "text",
      "sourceText": "Add observer",
      "targetText": "Ajouter un observateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.observersCount",
      "field": "text",
      "sourceText": "{0} observers",
      "targetText": "{0} observateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.observersEmpty",
      "field": "text",
      "sourceText": "No agents available",
      "targetText": "Aucun agent disponible"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.observersNone",
      "field": "text",
      "sourceText": "No observers",
      "targetText": "Aucun observateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.observersSearch",
      "field": "text",
      "sourceText": "Search agents...",
      "targetText": "Rechercher des agents..."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.observersUpdateError",
      "field": "text",
      "sourceText": "Error updating observers.",
      "targetText": "Erreur lors de la mise à jour des observateurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.observersUpdated",
      "field": "text",
      "sourceText": "Observers updated.",
      "targetText": "Observateurs mis à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.openDownload",
      "field": "text",
      "sourceText": "Download file",
      "targetText": "Télécharger le fichier"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.openInNewTab",
      "field": "text",
      "sourceText": "Open in new tab",
      "targetText": "Ouvrir dans un nouvel onglet"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.openInNewTabError",
      "field": "text",
      "sourceText": "Could not open file in a new tab.",
      "targetText": "Le fichier n'a pas pu être ouvert dans un nouvel onglet."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.owningTeam",
      "field": "text",
      "sourceText": "Owning team",
      "targetText": "Équipe propriétaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.parentTicket",
      "field": "text",
      "sourceText": "Parent ticket",
      "targetText": "Ticket principal"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.participatingTeams",
      "field": "text",
      "sourceText": "Involved teams",
      "targetText": "Équipes impliquées"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.participatingTeamsCurrent",
      "field": "text",
      "sourceText": "responsible",
      "targetText": "responsable"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.preview",
      "field": "text",
      "sourceText": "Preview",
      "targetText": "Aperçu"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.previewNotAvailable",
      "field": "text",
      "sourceText": "Inline preview is not available for this file type.",
      "targetText": "Aucun aperçu intégré n'est disponible pour ce type de fichier."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.priority",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.quickStatuses",
      "field": "text",
      "sourceText": "Change Status to:",
      "targetText": "Changer le statut en :"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.readOnlyBannerBody",
      "field": "text",
      "sourceText": "Your team was involved in this ticket earlier. {0} is responsible now — you can still read everything and add comments, but no longer change the ticket.",
      "targetText": "Votre équipe est intervenue plus tôt sur ce ticket. {0} en est désormais responsable — vous pouvez toujours tout lire et ajouter des commentaires, mais plus modifier le ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.readOnlyBannerTitle",
      "field": "text",
      "sourceText": "Read-only",
      "targetText": "Lecture seule"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.referenceTicketNumber",
      "field": "text",
      "sourceText": "Reference ticket number",
      "targetText": "Numéro de ticket de référence"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.refresh",
      "field": "text",
      "sourceText": "Refresh",
      "targetText": "Actualiser"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.saveComment",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.saveTitle",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.showFullDescription",
      "field": "text",
      "sourceText": "Expand fully",
      "targetText": "Tout déplier"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.status",
      "field": "text",
      "sourceText": "Status",
      "targetText": "Statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.statusChangeError",
      "field": "text",
      "sourceText": "Error changing status.",
      "targetText": "Erreur lors du changement de statut."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.statusChanged",
      "field": "text",
      "sourceText": "Status changed to",
      "targetText": "Statut changé en"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.statusCommentLabel",
      "field": "text",
      "sourceText": "Comment",
      "targetText": "Commentaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.statusCommentRequired",
      "field": "text",
      "sourceText": "Please enter comment.",
      "targetText": "Veuillez saisir un commentaire."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.statusModalSubmit",
      "field": "text",
      "sourceText": "Apply",
      "targetText": "Appliquer"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.statusModalTitle",
      "field": "text",
      "sourceText": "Status",
      "targetText": "Statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.subcategory",
      "field": "text",
      "sourceText": "Subcategory",
      "targetText": "Sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.system",
      "field": "text",
      "sourceText": "System",
      "targetText": "Système"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.add",
      "field": "text",
      "sourceText": "Log time",
      "targetText": "Saisir du temps"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.billable",
      "field": "text",
      "sourceText": "Billable",
      "targetText": "Facturable"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.billed",
      "field": "text",
      "sourceText": "billed",
      "targetText": "facturé"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.blocked",
      "field": "text",
      "sourceText": "Logging time is not possible here.",
      "targetText": "Impossible de saisir du temps ici."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.confirmRemove",
      "field": "text",
      "sourceText": "Delete this time entry?",
      "targetText": "Supprimer cette entrée de temps ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.edit",
      "field": "text",
      "sourceText": "Edit entry",
      "targetText": "Modifier l'entrée"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.edited",
      "field": "text",
      "sourceText": "edited",
      "targetText": "modifiée"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.empty",
      "field": "text",
      "sourceText": "No time logged yet.",
      "targetText": "Aucun temps saisi pour l'instant."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.input",
      "field": "text",
      "sourceText": "Duration",
      "targetText": "Durée"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.inputHint",
      "field": "text",
      "sourceText": "90, 1.5h or 1h 30m",
      "targetText": "90, 1.5h ou 1h 30m"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.logged",
      "field": "text",
      "sourceText": "logged",
      "targetText": "saisi"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.notBillable",
      "field": "text",
      "sourceText": "not billable",
      "targetText": "non facturable"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.note",
      "field": "text",
      "sourceText": "What for (optional)",
      "targetText": "Pour quoi (facultatif)"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.remove",
      "field": "text",
      "sourceText": "Delete entry",
      "targetText": "Supprimer l'entrée"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.save",
      "field": "text",
      "sourceText": "Save",
      "targetText": "Enregistrer"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.timerCapped",
      "field": "text",
      "sourceText": "The timer hit its maximum runtime. Check the value before logging it.",
      "targetText": "Le chronomètre a atteint sa durée maximale. Vérifiez la valeur avant de la saisir."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.timerConfirm",
      "field": "text",
      "sourceText": "Log {duration}",
      "targetText": "Saisir {duration}"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.timerDiscard",
      "field": "text",
      "sourceText": "Discard",
      "targetText": "Abandonner"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.timerOther",
      "field": "text",
      "sourceText": "Your timer is paused on ticket #{id}: {title}",
      "targetText": "Votre chronomètre est en pause sur le ticket #{id} : {title}"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.timerPause",
      "field": "text",
      "sourceText": "Pause",
      "targetText": "Pause"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.timerPaused",
      "field": "text",
      "sourceText": "Timer paused",
      "targetText": "Chronomètre en pause"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.timerResume",
      "field": "text",
      "sourceText": "Resume",
      "targetText": "Reprendre"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.timerRunning",
      "field": "text",
      "sourceText": "Timer running",
      "targetText": "Chronomètre en marche"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.timerStart",
      "field": "text",
      "sourceText": "Start timer",
      "targetText": "Démarrer le chronomètre"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.time.title",
      "field": "text",
      "sourceText": "Time spent",
      "targetText": "Temps passé"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.titleLabel",
      "field": "text",
      "sourceText": "Title",
      "targetText": "Titre"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.titleUpdateError",
      "field": "text",
      "sourceText": "Error updating title.",
      "targetText": "Erreur lors de la mise à jour du titre."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.titleUpdated",
      "field": "text",
      "sourceText": "Title updated.",
      "targetText": "Titre mis à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.transferConfirmCommentLabel",
      "field": "text",
      "sourceText": "Additional comment (optional)",
      "targetText": "Commentaire supplémentaire (facultatif)"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.transferConfirmDescription",
      "field": "text",
      "sourceText": "You stay responsible for this ticket. A linked ticket is created for the selected team, and this ticket waits until they are done.",
      "targetText": "Vous restez responsable de ce ticket. Un ticket lié est créé pour l'équipe sélectionnée, et ce ticket attend qu'elle ait terminé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.transferConfirmHint",
      "field": "text",
      "sourceText": "This does not hand the ticket over. To move responsibility to another team, use \"Escalate to another team\" instead.",
      "targetText": "Cela ne transmet pas le ticket. Pour transférer la responsabilité à une autre équipe, utilisez « Escalader vers une autre équipe »."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.transferConfirmOk",
      "field": "text",
      "sourceText": "Involve team",
      "targetText": "Faire intervenir l'équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.transferConfirmTeamLabel",
      "field": "text",
      "sourceText": "Target team",
      "targetText": "Équipe cible"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.transferConfirmTeamPlaceholder",
      "field": "text",
      "sourceText": "Select a team",
      "targetText": "Sélectionner une équipe"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.transferConfirmTeamRequired",
      "field": "text",
      "sourceText": "Please select a target team.",
      "targetText": "Veuillez sélectionner une équipe cible."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.transferConfirmTitle",
      "field": "text",
      "sourceText": "Involve another team?",
      "targetText": "Faire intervenir une autre équipe ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.unassigned",
      "field": "text",
      "sourceText": "Unassigned",
      "targetText": "Non attribué"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.updatedAt",
      "field": "text",
      "sourceText": "Updated at",
      "targetText": "Mis à jour le"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.uploadFile",
      "field": "text",
      "sourceText": "Upload file",
      "targetText": "Envoyer un fichier"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.uploadHint",
      "field": "text",
      "sourceText": "Allowed types: PDF, DOC, DOCX, XLS, XLSX, TXT, PNG, JPG, JPEG, GIF • Max. 50 MB per file",
      "targetText": "Types autorisés : PDF, DOC, DOCX, XLS, XLSX, TXT, PNG, JPG, JPEG, GIF • 50 MB maximum par fichier"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.user",
      "field": "text",
      "sourceText": "User",
      "targetText": "Utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.userEmail",
      "field": "text",
      "sourceText": "User email address",
      "targetText": "Adresse e-mail de l'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.detail.userPhone",
      "field": "text",
      "sourceText": "User phone number",
      "targetText": "Numéro de téléphone de l'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.assignOnlyAgentOrAdmin",
      "field": "text",
      "sourceText": "Tickets can only be assigned to agents or admins.",
      "targetText": "Les tickets ne peuvent être attribués qu'à des agents ou à des administrateurs."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.assigneeMustBelongToTeam",
      "field": "text",
      "sourceText": "Tickets can only be assigned to agents or admins assigned to the ticket team.",
      "targetText": "Les tickets ne peuvent être attribués qu'aux agents ou administrateurs rattachés à l'équipe du ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.assigneeUserNotFound",
      "field": "text",
      "sourceText": "User with id '{0}' does not exist.",
      "targetText": "L'utilisateur portant l'identifiant « {0} » n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.attachmentNotFound",
      "field": "text",
      "sourceText": "Attachment with id {0} does not exist.",
      "targetText": "La pièce jointe portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.categoryClearConflict",
      "field": "text",
      "sourceText": "Either set a category or clear it, not both at once.",
      "targetText": "Définissez une catégorie ou effacez-la, pas les deux à la fois."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.categoryPairRequired",
      "field": "text",
      "sourceText": "Main category and subcategory must both be set or both be empty.",
      "targetText": "La catégorie principale et la sous-catégorie doivent être toutes deux définies ou toutes deux vides."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.commentCannotBeEmpty",
      "field": "text",
      "sourceText": "Comment must not be empty.",
      "targetText": "Le commentaire ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.commentNotFound",
      "field": "text",
      "sourceText": "Comment with id {0} does not exist.",
      "targetText": "Le commentaire portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.departmentNotFound",
      "field": "text",
      "sourceText": "Department with id {0} does not exist.",
      "targetText": "Le service portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.descriptionCannotBeEmpty",
      "field": "text",
      "sourceText": "Description must not be empty.",
      "targetText": "La description ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.escalationBlockedByOpenChild",
      "field": "text",
      "sourceText": "This ticket cannot be escalated while a child ticket is still open. Wait for the other team to finish first.",
      "targetText": "Ce ticket ne peut pas être escaladé tant qu'un sous-ticket est encore ouvert. Attendez d'abord que l'autre équipe ait terminé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.escalationTargetTeamInvalid",
      "field": "text",
      "sourceText": "The selected target team does not exist or is inactive.",
      "targetText": "L'équipe cible sélectionnée n'existe pas ou est inactive."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.escalationTargetTeamSame",
      "field": "text",
      "sourceText": "The ticket is already owned by this team.",
      "targetText": "Le ticket appartient déjà à cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.fileMissingOnServer",
      "field": "text",
      "sourceText": "File was not found on the server.",
      "targetText": "Le fichier est introuvable sur le serveur."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.fileTooLarge",
      "field": "text",
      "sourceText": "File is too large. Maximum allowed: {0:F0} MB.",
      "targetText": "Le fichier est trop volumineux. Maximum autorisé : {0:F0} MB."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.fileTypeNotAllowed",
      "field": "text",
      "sourceText": "File type '{0}' is not allowed. Allowed types: {1}",
      "targetText": "Le type de fichier « {0} » n'est pas autorisé. Types autorisés : {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.forbidden",
      "field": "text",
      "sourceText": "Forbidden.",
      "targetText": "Interdit."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.handoverTargetTeamRequired",
      "field": "text",
      "sourceText": "A valid target team is required to hand over this ticket.",
      "targetText": "Une équipe cible valide est nécessaire pour transmettre ce ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.incidentDifferentTeam",
      "field": "text",
      "sourceText": "Ticket #{0} belongs to a different team than incident #{1}. Create one incident per team.",
      "targetText": "Le ticket #{0} appartient à une autre équipe que l'incident #{1}. Créez un incident par équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.incidentLinkNotAllowed",
      "field": "text",
      "sourceText": "This ticket cannot be linked to that incident.",
      "targetText": "Ce ticket ne peut pas être rattaché à cet incident."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.incidentMixedTeams",
      "field": "text",
      "sourceText": "All selected tickets must belong to the same team. Create one incident per team.",
      "targetText": "Tous les tickets sélectionnés doivent appartenir à la même équipe. Créez un incident par équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.incidentNeedsResolution",
      "field": "text",
      "sourceText": "This incident still has open tickets linked to it. Resolve it with a resolution text so every affected requester is informed.",
      "targetText": "Des tickets ouverts sont encore rattachés à cet incident. Résolvez-le avec un texte de résolution afin que chaque demandeur concerné soit informé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.incidentNested",
      "field": "text",
      "sourceText": "A ticket that belongs to an incident cannot become an incident itself.",
      "targetText": "Un ticket rattaché à un incident ne peut pas devenir lui-même un incident."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.incidentNotOpen",
      "field": "text",
      "sourceText": "Incident #{0} is already resolved. A ticket linked now would never receive an answer.",
      "targetText": "L'incident #{0} est déjà résolu. Un ticket rattaché maintenant ne recevrait jamais de réponse."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.incidentResolutionRequired",
      "field": "text",
      "sourceText": "A resolution text is required. It is sent to every affected requester.",
      "targetText": "Un texte de résolution est obligatoire. Il est envoyé à chaque demandeur concerné."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.incidentSameTicket",
      "field": "text",
      "sourceText": "An incident cannot be linked to itself.",
      "targetText": "Un incident ne peut pas être rattaché à lui-même."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.incidentStatusNotFinal",
      "field": "text",
      "sourceText": "Resolving an incident requires a status that counts as resolved or closed.",
      "targetText": "Résoudre un incident nécessite un statut comptant comme résolu ou fermé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.incidentTicketMerged",
      "field": "text",
      "sourceText": "Ticket #{0} was merged into another one and cannot be linked to an incident.",
      "targetText": "Le ticket #{0} a été fusionné avec un autre et ne peut pas être rattaché à un incident."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.incidentTitleRequired",
      "field": "text",
      "sourceText": "A title is required to create a new incident.",
      "targetText": "Un titre est obligatoire pour créer un nouvel incident."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.invalidChannel",
      "field": "text",
      "sourceText": "Invalid channel. Use one of: {0}.",
      "targetText": "Canal invalide. Utilisez l'un des suivants : {0}."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.invalidFollowUpFilter",
      "field": "text",
      "sourceText": "Invalid followUp filter. Allowed: today, week, overdue, any.",
      "targetText": "Filtre de suivi invalide. Autorisés : today, week, overdue, any."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.invalidPriority",
      "field": "text",
      "sourceText": "Invalid priority. Please use an existing priority from the list.",
      "targetText": "Priorité invalide. Utilisez une priorité existante de la liste."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.invalidSortBy",
      "field": "text",
      "sourceText": "Invalid sortBy. Allowed: createdAt, updatedAt.",
      "targetText": "sortBy invalide. Autorisés : createdAt, updatedAt."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.invalidSortOrder",
      "field": "text",
      "sourceText": "That sort order is not valid. Choose newest first or oldest first.",
      "targetText": "Cet ordre de tri n'est pas valide. Choisissez du plus récent au plus ancien ou l'inverse."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.loggedInUserNotFound",
      "field": "text",
      "sourceText": "Logged-in user not found.",
      "targetText": "Utilisateur connecté introuvable."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.mainCategoryNotFound",
      "field": "text",
      "sourceText": "Main category with id {0} does not exist.",
      "targetText": "La catégorie principale portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.mergeDifferentRequester",
      "field": "text",
      "sourceText": "Tickets #{0} and #{1} were reported by different people. Several people reporting the same problem is an incident, not a multiple report — use \"Group into incident\" instead.",
      "targetText": "Les tickets #{0} et #{1} ont été signalés par des personnes différentes. Plusieurs personnes signalant le même problème constituent un incident, pas un signalement multiple — utilisez plutôt « Regrouper en incident »."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.mergeIncidentInvolved",
      "field": "text",
      "sourceText": "An incident cannot be part of a multiple report.",
      "targetText": "Un incident ne peut pas faire partie d'un signalement multiple."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.mergeNoReports",
      "field": "text",
      "sourceText": "Select at least one other ticket to merge into the original.",
      "targetText": "Sélectionnez au moins un autre ticket à fusionner dans l'original."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.mergeNotAllowed",
      "field": "text",
      "sourceText": "These tickets cannot be merged.",
      "targetText": "Ces tickets ne peuvent pas être fusionnés."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.mergeOriginalAlreadyMerged",
      "field": "text",
      "sourceText": "Ticket #{0} was itself merged into another ticket. Merge into that one instead.",
      "targetText": "Le ticket #{0} a lui-même été fusionné avec un autre ticket. Fusionnez plutôt avec celui-ci."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.mergeOriginalNotOpen",
      "field": "text",
      "sourceText": "Ticket #{0} is already closed. Reopen it first — merging into a closed ticket would leave the report unanswered.",
      "targetText": "Le ticket #{0} est déjà fermé. Rouvrez-le d'abord — fusionner dans un ticket fermé laisserait le signalement sans réponse."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.mergeReportAlreadyMerged",
      "field": "text",
      "sourceText": "Ticket #{0} has already been merged.",
      "targetText": "Le ticket #{0} a déjà été fusionné."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.mergeReportHasReports",
      "field": "text",
      "sourceText": "Ticket #{0} already has multiple reports of its own. Merging it would create a chain.",
      "targetText": "Le ticket #{0} possède déjà ses propres signalements multiples. Le fusionner créerait une chaîne."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.mergeRequesterUnknown",
      "field": "text",
      "sourceText": "The requester of ticket #{0} or #{1} cannot be determined, so it is not possible to tell whether it is the same person.",
      "targetText": "Le demandeur du ticket #{0} ou #{1} ne peut pas être déterminé, il est donc impossible de dire s'il s'agit de la même personne."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.mergeSameTicket",
      "field": "text",
      "sourceText": "A ticket cannot be merged into itself.",
      "targetText": "Un ticket ne peut pas être fusionné avec lui-même."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.noClosedStatus",
      "field": "text",
      "sourceText": "No status is marked as closed. Configure one before merging tickets.",
      "targetText": "Aucun statut n'est marqué comme fermé. Configurez-en un avant de fusionner des tickets."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.noFileUploaded",
      "field": "text",
      "sourceText": "No file uploaded.",
      "targetText": "Aucun fichier envoyé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.notAnIncident",
      "field": "text",
      "sourceText": "This ticket is not an incident.",
      "targetText": "Ce ticket n'est pas un incident."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.parentCannotCloseWithOpenChild",
      "field": "text",
      "sourceText": "Parent ticket cannot be closed while an active child ticket is still open.",
      "targetText": "Un ticket principal ne peut pas être fermé tant qu'un sous-ticket actif est encore ouvert."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.positionNotFound",
      "field": "text",
      "sourceText": "Position with id {0} does not exist.",
      "targetText": "La fonction portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.statusIsSystemOnly",
      "field": "text",
      "sourceText": "This status is system-only and cannot be selected manually.",
      "targetText": "Ce statut est réservé au système et ne peut pas être sélectionné manuellement."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.statusNotFound",
      "field": "text",
      "sourceText": "Status with id {0} does not exist.",
      "targetText": "Le statut portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.statusTransitionNotAllowed",
      "field": "text",
      "sourceText": "Transition from current status to requested status is not allowed.",
      "targetText": "La transition du statut actuel vers le statut demandé n'est pas autorisée."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.subCategoryNotLinkedToMain",
      "field": "text",
      "sourceText": "Subcategory with id {0} is not assigned to main category '{1}'.",
      "targetText": "La sous-catégorie portant l'identifiant {0} n'est pas rattachée à la catégorie principale « {1} »."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.ticketNotFound",
      "field": "text",
      "sourceText": "Ticket with id {0} does not exist.",
      "targetText": "Le ticket portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.titleCannotBeEmpty",
      "field": "text",
      "sourceText": "Title must not be empty.",
      "targetText": "Le titre ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.transitionCommentRequired",
      "field": "text",
      "sourceText": "A transition comment is required for this status.",
      "targetText": "Un commentaire de transition est obligatoire pour ce statut."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.errors.unauthorized",
      "field": "text",
      "sourceText": "Unauthorized.",
      "targetText": "Non autorisé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.filter",
      "field": "text",
      "sourceText": "Filter",
      "targetText": "Filtre"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.filterSlaBreached",
      "field": "text",
      "sourceText": "Breached only",
      "targetText": "Dépassées uniquement"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.followUp",
      "field": "text",
      "sourceText": "Follow-up",
      "targetText": "Suivi"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.followUpNone",
      "field": "text",
      "sourceText": "No filter",
      "targetText": "Aucun filtre"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.followUpOverdue",
      "field": "text",
      "sourceText": "Overdue",
      "targetText": "En retard"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.followUpToday",
      "field": "text",
      "sourceText": "Today",
      "targetText": "Aujourd'hui"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.followUpWeek",
      "field": "text",
      "sourceText": "This week",
      "targetText": "Cette semaine"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.found",
      "field": "text",
      "sourceText": "found",
      "targetText": "trouvés"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.from",
      "field": "text",
      "sourceText": "of",
      "targetText": "sur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.grouping.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.announce",
      "field": "text",
      "sourceText": "Also show as a banner on the sign-in page",
      "targetText": "Afficher aussi comme bandeau sur la page de connexion"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.announceHint",
      "field": "text",
      "sourceText": "The banner disappears by itself once the incident is resolved.",
      "targetText": "Le bandeau disparaît de lui-même une fois l'incident résolu."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.confirm",
      "field": "text",
      "sourceText": "Group",
      "targetText": "Regrouper"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.dialogTitle",
      "field": "text",
      "sourceText": "Group into incident",
      "targetText": "Regrouper en incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.keepsEverything",
      "field": "text",
      "sourceText": "Every linked ticket keeps its requester, its status and its own deadline. Nothing disappears.",
      "targetText": "Chaque ticket lié conserve son demandeur, son statut et sa propre échéance. Rien ne disparaît."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.linkAction",
      "field": "text",
      "sourceText": "Assign to an incident",
      "targetText": "Rattacher à un incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.linkedCount",
      "field": "text",
      "sourceText": "{0} linked",
      "targetText": "{0} liés"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.modeDeclare",
      "field": "text",
      "sourceText": "Declare one of the selected tickets as the incident",
      "targetText": "Déclarer l'un des tickets sélectionnés comme incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.modeExisting",
      "field": "text",
      "sourceText": "Add to an open incident",
      "targetText": "Ajouter à un incident ouvert"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.modeNew",
      "field": "text",
      "sourceText": "Create a new incident",
      "targetText": "Créer un nouvel incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.noneOpen",
      "field": "text",
      "sourceText": "There is no open incident for this team yet.",
      "targetText": "Il n'y a pas encore d'incident ouvert pour cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.openHint",
      "field": "text",
      "sourceText": "An incident is open for this team: {0}",
      "targetText": "Un incident est ouvert pour cette équipe : {0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.openHintAssign",
      "field": "text",
      "sourceText": "Assign",
      "targetText": "Rattacher"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.openHintDismiss",
      "field": "text",
      "sourceText": "Not related",
      "targetText": "Sans rapport"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.resolveAction",
      "field": "text",
      "sourceText": "Resolve incident",
      "targetText": "Résoudre l'incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.resolveResult",
      "field": "text",
      "sourceText": "{0} of {1} ticket(s) closed, {2} requester(s) notified.",
      "targetText": "{0} ticket(s) sur {1} fermé(s), {2} demandeur(s) informé(s)."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.resolveStatus",
      "field": "text",
      "sourceText": "Close with status",
      "targetText": "Fermer avec le statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.resolveTextHint",
      "field": "text",
      "sourceText": "This text is added to every linked ticket as a public comment, and every affected requester receives their own e-mail.",
      "targetText": "Ce texte est ajouté à chaque ticket lié comme commentaire public, et chaque demandeur concerné reçoit son propre e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.resolveTextLabel",
      "field": "text",
      "sourceText": "Resolution text",
      "targetText": "Texte de résolution"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.selectIncident",
      "field": "text",
      "sourceText": "Select an incident",
      "targetText": "Sélectionner un incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.titleLabel",
      "field": "text",
      "sourceText": "Incident title",
      "targetText": "Titre de l'incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.titlePlaceholder",
      "field": "text",
      "sourceText": "Network outage, Essen site",
      "targetText": "Panne réseau, site de Lyon"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.incident.unlinkAction",
      "field": "text",
      "sourceText": "Remove from incident",
      "targetText": "Détacher de l'incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.includeParticipating",
      "field": "text",
      "sourceText": "Also show tickets this team handed over",
      "targetText": "Afficher aussi les tickets que cette équipe a transmis"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.includeParticipatingHint",
      "field": "text",
      "sourceText": "Off: only what this team is responsible for right now.",
      "targetText": "Désactivé : uniquement ce dont cette équipe est responsable en ce moment."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.list.belongsToIncident",
      "field": "text",
      "sourceText": "Belongs to incident #{0}",
      "targetText": "Appartient à l'incident #{0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.list.incident",
      "field": "text",
      "sourceText": "Incident",
      "targetText": "Incident"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.list.mergedInto",
      "field": "text",
      "sourceText": "Merged into #{0}",
      "targetText": "Fusionné dans #{0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.blocked",
      "field": "text",
      "sourceText": "Cannot be merged",
      "targetText": "Ne peut pas être fusionné"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.chooseOriginal",
      "field": "text",
      "sourceText": "Which ticket stays?",
      "targetText": "Quel ticket reste ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.closingComment",
      "field": "text",
      "sourceText": "Multiple report for the same issue. Original ticket: #{0}",
      "targetText": "Signalement multiple du même problème. Ticket d'origine : #{0}"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.confirm",
      "field": "text",
      "sourceText": "Merge",
      "targetText": "Fusionner"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.contentMove",
      "field": "text",
      "sourceText": "{0} comment(s) and {1} attachment(s) move to the original.",
      "targetText": "{0} commentaire(s) et {1} pièce(s) jointe(s) passent dans l'original."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.dialogTitle",
      "field": "text",
      "sourceText": "Multiple report for the same issue",
      "targetText": "Signalement multiple du même problème"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.loadFailed",
      "field": "text",
      "sourceText": "The preview could not be loaded.",
      "targetText": "L'aperçu n'a pas pu être chargé."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.noMail",
      "field": "text",
      "sourceText": "The requester does not get a separate e-mail. They stay on the original ticket and see everything there.",
      "targetText": "Le demandeur ne reçoit pas d'e-mail distinct. Il reste sur le ticket d'origine et y voit tout."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.nothingAllowed",
      "field": "text",
      "sourceText": "None of the selected tickets can be merged into this one.",
      "targetText": "Aucun des tickets sélectionnés ne peut être fusionné dans celui-ci."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.originalHint",
      "field": "text",
      "sourceText": "The oldest one is preselected. The deadline then runs from the requester's first contact instead of their second attempt.",
      "targetText": "Le plus ancien est présélectionné. L'échéance court alors depuis le premier contact du demandeur et non depuis sa seconde tentative."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.reason.alreadyMerged",
      "field": "text",
      "sourceText": "Already merged",
      "targetText": "Déjà fusionné"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.reason.differentRequester",
      "field": "text",
      "sourceText": "Different requester — this is an incident, not a multiple report",
      "targetText": "Demandeur différent — il s'agit d'un incident, pas d'un signalement multiple"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.reason.hasReports",
      "field": "text",
      "sourceText": "Has multiple reports of its own",
      "targetText": "Possède déjà ses propres signalements multiples"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.reason.incident",
      "field": "text",
      "sourceText": "Incidents cannot be merged",
      "targetText": "Les incidents ne peuvent pas être fusionnés"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.reason.notFound",
      "field": "text",
      "sourceText": "Ticket not found",
      "targetText": "Ticket introuvable"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.reason.originalAlreadyMerged",
      "field": "text",
      "sourceText": "The original was itself merged into another ticket",
      "targetText": "L'original a lui-même été fusionné avec un autre ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.reason.originalNotOpen",
      "field": "text",
      "sourceText": "The original is already closed",
      "targetText": "L'original est déjà fermé"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.reason.other",
      "field": "text",
      "sourceText": "Not possible",
      "targetText": "Impossible"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.reason.requesterUnknown",
      "field": "text",
      "sourceText": "The requester cannot be determined",
      "targetText": "Le demandeur ne peut pas être déterminé"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.merge.summary",
      "field": "text",
      "sourceText": "{0} will be closed and moved into #{1}.",
      "targetText": "{0} sera fermé et déplacé dans #{1}."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.addFile",
      "field": "text",
      "sourceText": "Add file",
      "targetText": "Ajouter un fichier"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.assignToLabel",
      "field": "text",
      "sourceText": "Assign to",
      "targetText": "Attribuer à"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.assignToPlaceholder",
      "field": "text",
      "sourceText": "Choose agent",
      "targetText": "Choisir un agent"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.attachmentsLabel",
      "field": "text",
      "sourceText": "Attachments (max. 50MB per file)",
      "targetText": "Pièces jointes (50 MB maximum par fichier)"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.cancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.categoryPlaceholder",
      "field": "text",
      "sourceText": "Select category",
      "targetText": "Sélectionner une catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.channelLabel",
      "field": "text",
      "sourceText": "How the request came in",
      "targetText": "Comment la demande est arrivée"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.channelPlaceholder",
      "field": "text",
      "sourceText": "Select channel",
      "targetText": "Sélectionner un canal"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.createTicket",
      "field": "text",
      "sourceText": "Create ticket",
      "targetText": "Créer le ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.createWithAttachmentErrorPrefix",
      "field": "text",
      "sourceText": "Ticket created, but",
      "targetText": "Ticket créé, mais"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.createWithAttachmentErrorSuffix",
      "field": "text",
      "sourceText": "attachment(s) could not be uploaded.",
      "targetText": "pièce(s) jointe(s) n'ont pas pu être envoyées."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.creating",
      "field": "text",
      "sourceText": "Creating...",
      "targetText": "Création..."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.descriptionLabel",
      "field": "text",
      "sourceText": "Description",
      "targetText": "Description"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.descriptionPlaceholder",
      "field": "text",
      "sourceText": "Detailed description of the issue or request",
      "targetText": "Description détaillée du problème ou de la demande"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.descriptionRequired",
      "field": "text",
      "sourceText": "Please enter a description with at least 3 characters.",
      "targetText": "Veuillez saisir une description d'au moins 3 caractères."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.fileFallback",
      "field": "text",
      "sourceText": "File",
      "targetText": "Fichier"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.fileLimitErrorSuffix",
      "field": "text",
      "sourceText": "file(s) exceed the 50MB limit.",
      "targetText": "fichier(s) dépassent la limite de 50 MB."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.loading",
      "field": "text",
      "sourceText": "Loading...",
      "targetText": "Chargement..."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.locationLabel",
      "field": "text",
      "sourceText": "Location",
      "targetText": "Site"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.locationPlaceholder",
      "field": "text",
      "sourceText": "Select location",
      "targetText": "Sélectionner un site"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.mainCategoryLabel",
      "field": "text",
      "sourceText": "Main category *",
      "targetText": "Catégorie principale *"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.mainCategoryRequired",
      "field": "text",
      "sourceText": "Please select a main category.",
      "targetText": "Veuillez sélectionner une catégorie principale."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.none",
      "field": "text",
      "sourceText": "None",
      "targetText": "Aucun"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.observersAdd",
      "field": "text",
      "sourceText": "Add observer",
      "targetText": "Ajouter un observateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.observersEmpty",
      "field": "text",
      "sourceText": "No agents available",
      "targetText": "Aucun agent disponible"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.observersLabel",
      "field": "text",
      "sourceText": "Observers",
      "targetText": "Observateurs"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.observersNone",
      "field": "text",
      "sourceText": "No observers",
      "targetText": "Aucun observateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.observersSearch",
      "field": "text",
      "sourceText": "Search agents...",
      "targetText": "Rechercher des agents..."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.owningTeamLabel",
      "field": "text",
      "sourceText": "Owning team",
      "targetText": "Équipe propriétaire"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.pageDescription",
      "field": "text",
      "sourceText": "Fill out the form to create a new ticket",
      "targetText": "Remplissez le formulaire pour créer un nouveau ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.pageTitle",
      "field": "text",
      "sourceText": "Create new ticket",
      "targetText": "Créer un nouveau ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.priorityLabel",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.priorityPlaceholder",
      "field": "text",
      "sourceText": "Select priority",
      "targetText": "Sélectionner une priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.referenceTicketNumberLabel",
      "field": "text",
      "sourceText": "Reference ticket number",
      "targetText": "Numéro de ticket de référence"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.referenceTicketNumberPlaceholder",
      "field": "text",
      "sourceText": "Enter free text",
      "targetText": "Saisir du texte libre"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.requesterEmailLabel",
      "field": "text",
      "sourceText": "User email address",
      "targetText": "Adresse e-mail de l'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.requesterEmailPlaceholder",
      "field": "text",
      "sourceText": "Enter email address",
      "targetText": "Saisir l'adresse e-mail"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.requesterLabel",
      "field": "text",
      "sourceText": "User",
      "targetText": "Utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.requesterPhoneLabel",
      "field": "text",
      "sourceText": "User phone number",
      "targetText": "Numéro de téléphone de l'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.requesterPhonePlaceholder",
      "field": "text",
      "sourceText": "Enter phone number",
      "targetText": "Saisir le numéro de téléphone"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.requesterPlaceholder",
      "field": "text",
      "sourceText": "Enter user",
      "targetText": "Saisir l'utilisateur"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.requiredFieldPrefix",
      "field": "text",
      "sourceText": "Required field:",
      "targetText": "Champ obligatoire :"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.statusLabel",
      "field": "text",
      "sourceText": "Status",
      "targetText": "Statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.statusPlaceholder",
      "field": "text",
      "sourceText": "Select status",
      "targetText": "Sélectionner un statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.subCategoryLabel",
      "field": "text",
      "sourceText": "Subcategory",
      "targetText": "Sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.subCategoryPlaceholder",
      "field": "text",
      "sourceText": "Select subcategory",
      "targetText": "Sélectionner une sous-catégorie"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.subCategoryRequired",
      "field": "text",
      "sourceText": "Please select a subcategory.",
      "targetText": "Veuillez sélectionner une sous-catégorie."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.ticketCreateError",
      "field": "text",
      "sourceText": "Error creating ticket.",
      "targetText": "Erreur lors de la création du ticket."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.ticketCreated",
      "field": "text",
      "sourceText": "Ticket created successfully!",
      "targetText": "Ticket créé avec succès !"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.titleLabel",
      "field": "text",
      "sourceText": "Title",
      "targetText": "Titre"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.titlePlaceholder",
      "field": "text",
      "sourceText": "Short description of the issue",
      "targetText": "Brève description du problème"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.titleRequired",
      "field": "text",
      "sourceText": "Please enter a title.",
      "targetText": "Veuillez saisir un titre."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.unassigned",
      "field": "text",
      "sourceText": "Unassigned",
      "targetText": "Non attribué"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.new.uploadHint",
      "field": "text",
      "sourceText": "Allowed types: PDF, DOC, DOCX, XLS, XLSX, TXT, PNG, JPG, JPEG, GIF • Max. 50 MB per file",
      "targetText": "Types autorisés : PDF, DOC, DOCX, XLS, XLSX, TXT, PNG, JPG, JPEG, GIF • 50 MB maximum par fichier"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.newTicket",
      "field": "text",
      "sourceText": "New Ticket",
      "targetText": "Nouveau ticket"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.noneFound",
      "field": "text",
      "sourceText": "No tickets found",
      "targetText": "Aucun ticket trouvé"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.notClosed",
      "field": "text",
      "sourceText": "Not closed",
      "targetText": "Non fermés"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.page",
      "field": "text",
      "sourceText": "Page",
      "targetText": "Page"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.priority",
      "field": "text",
      "sourceText": "Priority",
      "targetText": "Priorité"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.refresh",
      "field": "text",
      "sourceText": "Refresh",
      "targetText": "Actualiser"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.reset",
      "field": "text",
      "sourceText": "Reset",
      "targetText": "Réinitialiser"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.search",
      "field": "text",
      "sourceText": "Search tickets...",
      "targetText": "Rechercher des tickets..."
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.select.all",
      "field": "text",
      "sourceText": "Select all on this page",
      "targetText": "Tout sélectionner sur cette page"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.select.clear",
      "field": "text",
      "sourceText": "Clear selection",
      "targetText": "Effacer la sélection"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.select.selected",
      "field": "text",
      "sourceText": "{0} selected",
      "targetText": "{0} sélectionnés"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.slaSortLatest",
      "field": "text",
      "sourceText": "Due latest first",
      "targetText": "Échéance la plus lointaine d'abord"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.slaSortNone",
      "field": "text",
      "sourceText": "No sorting",
      "targetText": "Aucun tri"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.slaSortSoonest",
      "field": "text",
      "sourceText": "Due soonest first",
      "targetText": "Échéance la plus proche d'abord"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.status",
      "field": "text",
      "sourceText": "Status",
      "targetText": "Statut"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.title",
      "field": "text",
      "sourceText": "Tickets",
      "targetText": "Tickets"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.untitled",
      "field": "text",
      "sourceText": "Untitled",
      "targetText": "Sans titre"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.updatedAt",
      "field": "text",
      "sourceText": "Updated at",
      "targetText": "Mis à jour le"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.updatedAtDefault",
      "field": "text",
      "sourceText": "Default (created)",
      "targetText": "Par défaut (création)"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.updatedAtNewest",
      "field": "text",
      "sourceText": "Newest first",
      "targetText": "Les plus récents d'abord"
    },
    {
      "entityType": "uiText",
      "entityKey": "tickets.updatedAtOldest",
      "field": "text",
      "sourceText": "Oldest first",
      "targetText": "Les plus anciens d'abord"
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.blocked.closed",
      "field": "text",
      "sourceText": "This ticket is already resolved or closed. Changing time now would move an accounting period that may already have been invoiced.",
      "targetText": "Ce ticket est déjà résolu ou fermé. Modifier le temps maintenant déplacerait une période comptable peut-être déjà facturée."
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.blocked.disabled",
      "field": "text",
      "sourceText": "Time tracking is switched off for this installation.",
      "targetText": "Le suivi du temps est désactivé pour cette installation."
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.blocked.license",
      "field": "text",
      "sourceText": "Time tracking is part of the Professional edition.",
      "targetText": "Le suivi du temps fait partie de l'édition Professional."
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.blocked.others",
      "field": "text",
      "sourceText": "You may only change your own time entries.",
      "targetText": "Vous ne pouvez modifier que vos propres entrées de temps."
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.blocked.permission",
      "field": "text",
      "sourceText": "You are not allowed to log time.",
      "targetText": "Vous n'êtes pas autorisé à saisir du temps."
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.blocked.team",
      "field": "text",
      "sourceText": "Time tracking is switched off for this team.",
      "targetText": "Le suivi du temps est désactivé pour cette équipe."
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.blocked.timerOff",
      "field": "text",
      "sourceText": "The timer is switched off.",
      "targetText": "Le chronomètre est désactivé."
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.errors.entryNotFound",
      "field": "text",
      "sourceText": "This time entry does not exist.",
      "targetText": "Cette entrée de temps n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.errors.entryRequired",
      "field": "text",
      "sourceText": "This ticket cannot be resolved or closed without a time entry.",
      "targetText": "Ce ticket ne peut pas être résolu ni fermé sans entrée de temps."
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.errors.invalidDate",
      "field": "text",
      "sourceText": "'{0}' is not a valid date. Expected format: YYYY-MM-DD.",
      "targetText": "« {0} » n'est pas une date valide. Format attendu : AAAA-MM-JJ."
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.errors.invalidInput",
      "field": "text",
      "sourceText": "'{0}' is not a valid duration. Enter minutes (90), hours (1.5h) or both (1h 30m).",
      "targetText": "« {0} » n'est pas une durée valide. Saisissez des minutes (90), des heures (1.5h) ou les deux (1h 30m)."
    },
    {
      "entityType": "uiText",
      "entityKey": "timeTracking.errors.outOfRange",
      "field": "text",
      "sourceText": "A single entry has to be between 1 minute and {0} hours. Longer work belongs on several days.",
      "targetText": "Une seule entrée doit être comprise entre 1 minute et {0} heures. Un travail plus long doit être réparti sur plusieurs jours."
    },
    {
      "entityType": "uiText",
      "entityKey": "translations.errors.metaMissing",
      "field": "text",
      "sourceText": "The file has no heading. Export the language pack again and import that file.",
      "targetText": "Le fichier n'a pas d'en-tête. Réexportez le pack de langue et importez ce fichier."
    },
    {
      "entityType": "uiText",
      "entityKey": "translations.errors.metaTargetLanguageInvalid",
      "field": "text",
      "sourceText": "The file names a target language that does not exist.",
      "targetText": "Le fichier indique une langue cible qui n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "translations.errors.metaTargetLanguageNotEn",
      "field": "text",
      "sourceText": "The file names English as its target language. English is the source text.",
      "targetText": "Le fichier indique l'anglais comme langue cible. L'anglais est le texte source."
    },
    {
      "entityType": "uiText",
      "entityKey": "translations.errors.targetLanguageNotEn",
      "field": "text",
      "sourceText": "The target language cannot be English. English is the source text.",
      "targetText": "La langue cible ne peut pas être l'anglais. L'anglais est le texte source."
    },
    {
      "entityType": "uiText",
      "entityKey": "translations.errors.targetLanguageRequired",
      "field": "text",
      "sourceText": "Choose a target language.",
      "targetText": "Choisissez une langue cible."
    },
    {
      "entityType": "uiText",
      "entityKey": "translations.errors.uiTextMigrationMissing",
      "field": "text",
      "sourceText": "The database migration for UiTextTranslations has not been applied yet. Please restart the backend or run the migration.",
      "targetText": "La migration de base de données pour UiTextTranslations n'a pas encore été appliquée. Redémarrez le backend ou exécutez la migration."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.accessDenied",
      "field": "text",
      "sourceText": "Access denied",
      "targetText": "Accès refusé"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.alreadyRunning",
      "field": "text",
      "sourceText": "An update is already in progress.",
      "targetText": "Une mise à jour est déjà en cours."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.confirmBody",
      "field": "text",
      "sourceText": "The system will restart and be briefly unavailable (usually a few minutes) while version {version} is installed. A full backup is taken automatically beforehand. Pick a quiet moment to continue.",
      "targetText": "Le système redémarrera et sera brièvement indisponible (généralement quelques minutes) pendant l'installation de la version {version}. Une sauvegarde complète est effectuée automatiquement au préalable. Choisissez un moment calme pour continuer."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.confirmCancel",
      "field": "text",
      "sourceText": "Cancel",
      "targetText": "Annuler"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.confirmConfirm",
      "field": "text",
      "sourceText": "Start update",
      "targetText": "Lancer la mise à jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.confirmTitle",
      "field": "text",
      "sourceText": "Install update?",
      "targetText": "Installer la mise à jour ?"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.detailLabel",
      "field": "text",
      "sourceText": "Progress log",
      "targetText": "Journal de progression"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.notAvailable",
      "field": "text",
      "sourceText": "No update is available to install.",
      "targetText": "Aucune mise à jour à installer."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.reloading",
      "field": "text",
      "sourceText": "Reloading the page to activate the new version...",
      "targetText": "Rechargement de la page pour activer la nouvelle version..."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.stage.backup",
      "field": "text",
      "sourceText": "Creating a full backup (database and files)…",
      "targetText": "Création d'une sauvegarde complète (base de données et fichiers)…"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.stage.done",
      "field": "text",
      "sourceText": "Finishing up…",
      "targetText": "Finalisation…"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.stage.download",
      "field": "text",
      "sourceText": "Downloading the new version…",
      "targetText": "Téléchargement de la nouvelle version…"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.stage.health",
      "field": "text",
      "sourceText": "Starting up and running health checks…",
      "targetText": "Démarrage et vérifications…"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.stage.load",
      "field": "text",
      "sourceText": "Unpacking and loading the new program files…",
      "targetText": "Décompression et chargement des nouveaux fichiers du programme…"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.stage.preparing",
      "field": "text",
      "sourceText": "Preparing the update…",
      "targetText": "Préparation de la mise à jour…"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.stage.swap",
      "field": "text",
      "sourceText": "Switching over to the new version…",
      "targetText": "Basculement vers la nouvelle version…"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.startError",
      "field": "text",
      "sourceText": "Could not start the update. Please try again.",
      "targetText": "La mise à jour n'a pas pu être lancée. Veuillez réessayer."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.state.failed",
      "field": "text",
      "sourceText": "The update did not complete. The system was rolled back to the previous version and is running normally.",
      "targetText": "La mise à jour ne s'est pas terminée. Le système a été restauré à la version précédente et fonctionne normalement."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.state.queued",
      "field": "text",
      "sourceText": "Update requested - waiting for the server to start it…",
      "targetText": "Mise à jour demandée - en attente de son lancement par le serveur…"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.state.reconnecting",
      "field": "text",
      "sourceText": "The system is updating and briefly unavailable. Reconnecting…",
      "targetText": "Le système est en cours de mise à jour et brièvement indisponible. Reconnexion…"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.state.running",
      "field": "text",
      "sourceText": "Update in progress…",
      "targetText": "Mise à jour en cours…"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.state.success",
      "field": "text",
      "sourceText": "Update to {version} completed successfully.",
      "targetText": "Mise à jour vers la version {version} terminée avec succès."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.apply.stepLabel",
      "field": "text",
      "sourceText": "Current step",
      "targetText": "Étape actuelle"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.banner.action",
      "field": "text",
      "sourceText": "View update",
      "targetText": "Voir la mise à jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.banner.message",
      "field": "text",
      "sourceText": "Version {0} is available to upgrade your installation.",
      "targetText": "La version {0} est disponible pour mettre à jour votre installation."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.banner.title",
      "field": "text",
      "sourceText": "Update available",
      "targetText": "Mise à jour disponible"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.button.apply",
      "field": "text",
      "sourceText": "Install update",
      "targetText": "Installer la mise à jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.button.downloadBackup",
      "field": "text",
      "sourceText": "Download release",
      "targetText": "Télécharger la version"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.button.refresh",
      "field": "text",
      "sourceText": "Check now",
      "targetText": "Vérifier maintenant"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.card.statusTitle",
      "field": "text",
      "sourceText": "Version status",
      "targetText": "État de la version"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.error.generic",
      "field": "text",
      "sourceText": "Could not load the update status.",
      "targetText": "L'état des mises à jour n'a pas pu être chargé."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.error.manifestInvalid",
      "field": "text",
      "sourceText": "The update source returned an invalid response.",
      "targetText": "La source de mise à jour a renvoyé une réponse invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.error.manifestUnreachable",
      "field": "text",
      "sourceText": "The update source could not be reached.",
      "targetText": "La source de mise à jour n'a pas pu être atteinte."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.hint.howToUpdate",
      "field": "text",
      "sourceText": "Updates are applied on the server with the bundled update script. A full backup is taken automatically before the update.",
      "targetText": "Les mises à jour s'appliquent sur le serveur à l'aide du script de mise à jour fourni. Une sauvegarde complète est effectuée automatiquement avant la mise à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.label.channel",
      "field": "text",
      "sourceText": "Release channel",
      "targetText": "Canal de publication"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.label.currentVersion",
      "field": "text",
      "sourceText": "Installed version",
      "targetText": "Version installée"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.label.latestVersion",
      "field": "text",
      "sourceText": "Latest version",
      "targetText": "Dernière version"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.label.notes",
      "field": "text",
      "sourceText": "Release notes",
      "targetText": "Notes de version"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.label.released",
      "field": "text",
      "sourceText": "Released",
      "targetText": "Publiée"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.label.version",
      "field": "text",
      "sourceText": "Version",
      "targetText": "Version"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.pageDesc",
      "field": "text",
      "sourceText": "Check the installed version and see whether a new release is available.",
      "targetText": "Vérifiez la version installée et voyez si une nouvelle version est disponible."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.pageTitle",
      "field": "text",
      "sourceText": "Updates",
      "targetText": "Mises à jour"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.status.available",
      "field": "text",
      "sourceText": "A new version is available.",
      "targetText": "Une nouvelle version est disponible."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.status.checkFailed",
      "field": "text",
      "sourceText": "The system could not check for updates, so it is unknown whether a newer version exists.",
      "targetText": "Le système n'a pas pu vérifier les mises à jour ; on ignore donc s'il existe une version plus récente."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.status.notConfigured",
      "field": "text",
      "sourceText": "No update source is configured. Set the manifest URL to enable update checks.",
      "targetText": "Aucune source de mise à jour n'est configurée. Définissez l'URL du manifeste pour activer les vérifications."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.status.upToDate",
      "field": "text",
      "sourceText": "Your system is up to date.",
      "targetText": "Votre système est à jour."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.updaterOutdatedBody",
      "field": "text",
      "sourceText": "Container updates still work, but programs installed next to them (backup app, background service) can no longer be renewed automatically. Please reinstall using the current setup package - the update button cannot fix this on its own.",
      "targetText": "Les mises à jour des conteneurs fonctionnent toujours, mais les programmes installés à côté (application de sauvegarde, service d'arrière-plan) ne peuvent plus être renouvelés automatiquement. Réinstallez à l'aide du paquet d'installation actuel - le bouton de mise à jour ne peut pas corriger cela seul."
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.updaterOutdatedTitle",
      "field": "text",
      "sourceText": "The update program on this server is out of date",
      "targetText": "Le programme de mise à jour de ce serveur est obsolète"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.updaterOutdatedVersions",
      "field": "text",
      "sourceText": "Installed: {0} - required: {1}",
      "targetText": "Installé : {0} - requis : {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "updates.warning.pgUpgrade",
      "field": "text",
      "sourceText": "This update changes the database version and must be installed manually. Follow the release notes.",
      "targetText": "Cette mise à jour change la version de la base de données et doit être installée manuellement. Suivez les notes de version."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.changePassword.success",
      "field": "text",
      "sourceText": "Password was changed successfully.",
      "targetText": "Le mot de passe a été modifié avec succès."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.availabilityInvalid",
      "field": "text",
      "sourceText": "'{0}' is not a valid availability. Valid values: Available, Busy, Away.",
      "targetText": "« {0} » n'est pas une disponibilité valide. Valeurs valides : Available, Busy, Away."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.availabilityNotAssignable",
      "field": "text",
      "sourceText": "Only administrators and agents have an availability status.",
      "targetText": "Seuls les administrateurs et les agents ont un statut de disponibilité."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.availabilityUntilInPast",
      "field": "text",
      "sourceText": "The end of the absence must be in the future.",
      "targetText": "La fin de l'absence doit se situer dans le futur."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.cannotDeactivateSelf",
      "field": "text",
      "sourceText": "You cannot deactivate your own account.",
      "targetText": "Vous ne pouvez pas désactiver votre propre compte."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.cannotDeleteSelf",
      "field": "text",
      "sourceText": "You cannot delete your own account.",
      "targetText": "Vous ne pouvez pas supprimer votre propre compte."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.cannotInviteDeletedUser",
      "field": "text",
      "sourceText": "Invitations cannot be sent to deleted users.",
      "targetText": "Aucune invitation ne peut être envoyée à des utilisateurs supprimés."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.cannotRemoveOwnAdmin",
      "field": "text",
      "sourceText": "You cannot remove the Admin role from your own account.",
      "targetText": "Vous ne pouvez pas retirer le rôle Administrateur de votre propre compte."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.cannotResetPasswordForDeletedUser",
      "field": "text",
      "sourceText": "Password cannot be reset for deleted users.",
      "targetText": "Le mot de passe des utilisateurs supprimés ne peut pas être réinitialisé."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.cannotResetTwoFactorForDeletedUser",
      "field": "text",
      "sourceText": "Two-factor authentication cannot be reset for deleted users.",
      "targetText": "L'authentification à deux facteurs des utilisateurs supprimés ne peut pas être réinitialisée."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.cannotToggleDeletedUser",
      "field": "text",
      "sourceText": "Deleted users cannot be activated or deactivated. Please restore the user first.",
      "targetText": "Les utilisateurs supprimés ne peuvent pas être activés ou désactivés. Restaurez d'abord l'utilisateur."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.cannotUnlockDeactivated",
      "field": "text",
      "sourceText": "This account is deactivated, not temporarily locked. Activate it instead.",
      "targetText": "Ce compte est désactivé, pas temporairement verrouillé. Activez-le à la place."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.inviteNeedsEmail",
      "field": "text",
      "sourceText": "This user has no e-mail address, so no invitation can be sent.",
      "targetText": "Cet utilisateur n'a pas d'adresse e-mail, aucune invitation ne peut donc être envoyée."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.inviteNotSent",
      "field": "text",
      "sourceText": "The invitation could not be sent. Please check the e-mail settings.",
      "targetText": "L'invitation n'a pas pu être envoyée. Vérifiez les paramètres e-mail."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.roleNotFound",
      "field": "text",
      "sourceText": "Role '{0}' does not exist. Valid roles: {1}",
      "targetText": "Le rôle « {0} » n'existe pas. Rôles valides : {1}"
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.siteNotFound",
      "field": "text",
      "sourceText": "Site with id {0} does not exist.",
      "targetText": "Le site portant l'identifiant {0} n'existe pas."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.userAlreadyDeleted",
      "field": "text",
      "sourceText": "User '{0}' is already deleted.",
      "targetText": "L'utilisateur « {0} » est déjà supprimé."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.userIdRequired",
      "field": "text",
      "sourceText": "User ID must not be empty.",
      "targetText": "L'identifiant utilisateur ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.userNameTaken",
      "field": "text",
      "sourceText": "Username '{0}' is already taken.",
      "targetText": "Le nom d'utilisateur « {0} » est déjà pris."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.userNotDeleted",
      "field": "text",
      "sourceText": "User '{0}' is not deleted.",
      "targetText": "L'utilisateur « {0} » n'est pas supprimé."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.userNotFound",
      "field": "text",
      "sourceText": "User not found.",
      "targetText": "Utilisateur introuvable."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.errors.userNotFoundById",
      "field": "text",
      "sourceText": "User with id '{0}' not found.",
      "targetText": "Utilisateur portant l'identifiant « {0} » introuvable."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.inviteSent",
      "field": "text",
      "sourceText": "Invitation sent to {0}.",
      "targetText": "Invitation envoyée à {0}."
    },
    {
      "entityType": "uiText",
      "entityKey": "users.softDelete.success",
      "field": "text",
      "sourceText": "User '{0}' was successfully deleted.",
      "targetText": "L'utilisateur « {0} » a été supprimé avec succès."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.comment.empty",
      "field": "text",
      "sourceText": "Comment must not be empty.",
      "targetText": "Le commentaire ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.comment.required",
      "field": "text",
      "sourceText": "Comment text is required.",
      "targetText": "Le texte du commentaire est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.escalation.teamInvalid",
      "field": "text",
      "sourceText": "Please select a valid team.",
      "targetText": "Veuillez sélectionner une équipe valide."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.password.currentRequired",
      "field": "text",
      "sourceText": "Current password is required.",
      "targetText": "Le mot de passe actuel est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.password.newRequired",
      "field": "text",
      "sourceText": "New password is required.",
      "targetText": "Un nouveau mot de passe est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.password.tooLong",
      "field": "text",
      "sourceText": "Password must be at most 128 characters long.",
      "targetText": "Le mot de passe ne doit pas dépasser 128 caractères."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.profile.firstNameRequired",
      "field": "text",
      "sourceText": "First name must not be empty.",
      "targetText": "Le prénom ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.profile.lastNameRequired",
      "field": "text",
      "sourceText": "Last name must not be empty.",
      "targetText": "Le nom de famille ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.ticket.descriptionRequired",
      "field": "text",
      "sourceText": "Description is required.",
      "targetText": "La description est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.ticket.descriptionTooShort",
      "field": "text",
      "sourceText": "Description must be at least 3 characters long.",
      "targetText": "La description doit comporter au moins 3 caractères."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.ticket.statusInvalid",
      "field": "text",
      "sourceText": "Please select a valid status.",
      "targetText": "Veuillez sélectionner un statut valide."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.ticket.titleRequired",
      "field": "text",
      "sourceText": "Title is required.",
      "targetText": "Le titre est obligatoire."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.ticket.titleTooLong",
      "field": "text",
      "sourceText": "Title must be at most 200 characters long.",
      "targetText": "Le titre ne doit pas dépasser 200 caractères."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.user.availabilityRequired",
      "field": "text",
      "sourceText": "Please select an availability.",
      "targetText": "Veuillez sélectionner une disponibilité."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.user.emailInvalid",
      "field": "text",
      "sourceText": "Invalid email address.",
      "targetText": "Adresse e-mail invalide."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.user.emailRequired",
      "field": "text",
      "sourceText": "Email must not be empty.",
      "targetText": "L'adresse e-mail ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.user.firstNameRequired",
      "field": "text",
      "sourceText": "First name must not be empty.",
      "targetText": "Le prénom ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "validation.user.usernameRequired",
      "field": "text",
      "sourceText": "Username must not be empty.",
      "targetText": "Le nom d'utilisateur ne doit pas être vide."
    },
    {
      "entityType": "uiText",
      "entityKey": "zz.settings.teams.internalSlug",
      "field": "text",
      "sourceText": "Internal Slug:",
      "targetText": "Slug interne :"
    },
    {
      "entityType": "uiText",
      "entityKey": "zz.settings.teams.internalTeamId",
      "field": "text",
      "sourceText": "Internal Team ID:",
      "targetText": "Identifiant d'équipe interne :"
    }
  ]
}