{ "errors": { "http": { "get": "Impossible de récupérer les données.", "post": "Impossible de créer la ressource.", "put": "Impossible de mettre à jour la ressource.", "patch": "Impossible de mettre à jour la ressource.", "delete": "Impossible de supprimer la ressource." }, "auth": { "login": "Identifiants invalides.", "logout": "Impossible de se déconnecter.", "session": "Session expirée" } }, "success": { "auth": { "login": "Connexion réussie.", "logout": "Déconnexion réussie." } }, "clients": { "created": "Client créé avec succès.", "updated": "Client mis à jour avec succès.", "deleted": "Client supprimé avec succès.", "addClient": "Ajouter un client", "editClient": "Modifier un client" }, "projects": { "title": "Projets", "created": "Projet créé avec succès.", "updated": "Projet mis à jour avec succès.", "deleted": "Projet supprimé avec succès.", "archived": "Projet archivé avec succès.", "unarchived": "Projet désarchivé avec succès.", "showArchived": "Voir les projets archivés", "hideArchived": "Masquer les projets archivés", "noProjects": "Aucun projet trouvé.", "noArchivedProjects": "Aucun projet archivé.", "addProject": "Ajouter un projet", "addProjectShort": "Projet", "editProject": "Modifier un projet", "deleteConfirmTitle": "Supprimer le projet", "deleteConfirmMessage": "Êtes-vous sûr de vouloir supprimer ce projet ? Cette action est irréversible.", "cannotDelete": "Impossible de supprimer un projet contenant des tickets." }, "taskStatuses": { "created": "Statut créé avec succès.", "updated": "Statut mis à jour avec succès.", "deleted": "Statut supprimé avec succès.", "addStatus": "Ajouter un statut", "editStatus": "Modifier un statut", "deleteStatus": "Supprimer le statut « {label} »", "linkedTasks": "{count} tâche est liée à ce statut. Choisissez où les déplacer :", "linkedTasksPlural": "{count} tâches sont liées à ce statut. Choisissez où les déplacer :", "moveTo": "Déplacer vers", "backlog": "Backlog (sans statut)" }, "taskEfforts": { "created": "Effort créé avec succès.", "updated": "Effort mis à jour avec succès.", "deleted": "Effort supprimé avec succès.", "addEffort": "Ajouter un effort", "editEffort": "Modifier un effort" }, "taskPriorities": { "created": "Priorité créée avec succès.", "updated": "Priorité mise à jour avec succès.", "deleted": "Priorité supprimée avec succès.", "addPriority": "Ajouter une priorité", "editPriority": "Modifier une priorité" }, "taskTags": { "created": "Tag créé avec succès.", "updated": "Tag mis à jour avec succès.", "deleted": "Tag supprimé avec succès.", "addTag": "Ajouter un tag", "editTag": "Modifier un tag" }, "taskGroups": { "created": "Groupe créé avec succès.", "updated": "Groupe mis à jour avec succès.", "deleted": "Groupe supprimé avec succès.", "archived": "Groupe archivé avec succès.", "unarchived": "Groupe désarchivé avec succès.", "addGroup": "Ajouter un groupe", "editGroup": "Modifier un groupe" }, "taskDocuments": { "title": "Documents", "dropzone": "Glisser des fichiers ici ou cliquer pour sélectionner", "uploaded": "Document ajouté avec succès.", "deleted": "Document supprimé avec succès.", "uploadError": "Erreur lors de l'upload du document.", "confirmDeleteTitle": "Supprimer le document", "confirmDeleteMessage": "Êtes-vous sûr de vouloir supprimer ce document ?", "download": "Télécharger", "maxSizeError": "Le fichier dépasse la taille maximale de 50 Mo." }, "tasks": { "created": "Ticket créé avec succès.", "updated": "Ticket mis à jour avec succès.", "deleted": "Ticket supprimé avec succès.", "archived": "Ticket archivé avec succès.", "unarchived": "Ticket désarchivé avec succès.", "deleteConfirmTitle": "Supprimer le ticket", "deleteConfirmMessage": "Êtes-vous sûr de vouloir supprimer ce ticket ? Cette action est irréversible.", "addTask": "Ajouter un ticket", "editTask": "Modifier un ticket", "detailsTab": "Détails", "planningTab": "Planification", "planning": { "dates": "Dates", "scheduledStart": "Début planifié", "scheduledEnd": "Fin planifiée", "deadline": "Deadline", "calendar": "Calendrier", "syncToCalendar": "Envoyer au calendrier Zimbra", "syncOk": "Synchronisé", "recurrence": "Récurrence", "isRecurring": "Tâche récurrente", "type": "Type", "daily": "Quotidien", "weekly": "Hebdomadaire", "monthly": "Mensuel", "yearly": "Annuel", "interval": "Intervalle", "daysOfWeek": "Jours de la semaine", "days": { "mon": "Lu", "tue": "Ma", "wed": "Me", "thu": "Je", "fri": "Ve", "sat": "Sa", "sun": "Di" }, "dayOfMonth": "Jour du mois", "dayOfMonthLabel": "Jour (1-31)", "weekOfMonth": "Semaine du mois", "weekOfMonthLabel": "Semaine", "dayLabel": "Jour", "endRecurrence": "Fin de la récurrence", "neverEnds": "Jamais", "afterOccurrences": "Après X occurrences", "occurrences": "Occurrences", "onDate": "À une date", "endDate": "Date de fin" } }, "users": { "created": "Utilisateur créé avec succès.", "updated": "Utilisateur mis à jour avec succès.", "deleted": "Utilisateur supprimé avec succès.", "addUser": "Ajouter un utilisateur", "editUser": "Modifier un utilisateur" }, "timeEntries": { "created": "Temps enregistré", "updated": "Temps modifié", "deleted": "Temps supprimé", "noEntries": "Aucune activité pour cette période", "addEntry": "Ajouter une Activité", "editEntry": "Modifier un temps", "export": "Exporter", "exportTitle": "Exporter les temps", "exportCurrentMonth": "Mois en cours", "exportLastMonth": "Mois dernier", "exportCustomPeriod": "Période personnalisée", "exportFrom": "Du", "exportTo": "Au", "exportUsers": "Utilisateurs", "exportClient": "Client", "exportProjects": "Projets", "exportTags": "Tags", "exportAllClients": "Tous les clients", "exportLoading": "Export en cours...", "exportSuccess": "Export terminé !", "exportError": "Erreur lors de l'export." }, "archive": { "title": "Archives", "empty": "Aucun ticket archivé.", "archiveButton": "Archiver", "unarchiveButton": "Désarchiver", "showArchived": "Voir les groupes archivés", "hideArchived": "Masquer les groupes archivés", "statusFinal": "Statut final", "groupArchiveDisabled": "Tous les tickets doivent être en statut final pour archiver le groupe.", "groupNonFinalTasks": "Il reste {count} ticket(s) sans statut final dans ce groupe." }, "myTasks": { "title": "Mes tâches", "viewKanban": "Vue Kanban", "viewList": "Vue Liste", "allProjects": "Tous les projets", "allGroups": "Tous les groupes", "allTypes": "Tous les types", "allPriorities": "Toutes les priorités", "allEfforts": "Tous les efforts", "allAssignees": "Tous", "noTasks": "Aucune tâche", "backlog": "Backlog", "createTask": "Créer une tâche", "sortBy": "Trier par", "sortDefault": "Par défaut", "sortDeadline": "Échéance", "sortScheduledStart": "Date planifiée" }, "dashboard": { "title": "Tableau de bord", "noData": "Aucune donnée", "noPriority": "Sans priorité", "noProject": "Sans projet", "hoursWorked": "Heures travaillées", "inProgress": "En cours", "done": "Terminé", "filters": { "period": "Période", "project": "Projet", "user": "Utilisateur", "allProjects": "Tous les projets", "allUsers": "Tous les utilisateurs" }, "periods": { "thisWeek": "Cette semaine", "lastWeek": "Semaine dernière", "thisMonth": "Ce mois", "lastMonth": "Mois dernier" }, "stats": { "hoursPeriod": "Heures sur la période", "myActiveTasks": "Mes tâches actives", "completed": "terminée(s)", "totalTasks": "Tâches totales", "unassigned": "non assignée(s)", "projects": "Projets", "users": "utilisateur(s)" }, "charts": { "hoursByDay": "Heures par jour", "hoursByProject": "Temps par projet", "tasksByStatus": "Tâches par statut", "tasksByPriority": "Tâches par priorité", "tasksByProject": "Tâches par projet" }, "days": { "mon": "Lun", "tue": "Mar", "wed": "Mer", "thu": "Jeu", "fri": "Ven", "sat": "Sam", "sun": "Dim" } }, "sidebar": { "myTasks": "Mes tâches" }, "common": { "cancel": "Annuler", "save": "Enregistrer", "edit": "Modifier", "delete": "Supprimer", "add": "Ajouter", "loading": "Chargement...", "archived": "Archivé", "noClient": "Aucun client", "untitled": "Sans titre", "dateFilter": "Date", "today": "Aujourd'hui", "thisWeek": "Cette semaine", "clear": "Effacer", "day": "Jour", "weekShort": "Sem." }, "gitea": { "settings": { "title": "Configuration Gitea", "url": "URL du serveur", "urlPlaceholder": "https://git.example.com", "token": "Token API", "tokenPlaceholder": "Entrez un nouveau token", "tokenConfigured": "Token configuré", "save": "Enregistrer", "saved": "Configuration Gitea sauvegardée.", "testConnection": "Tester la connexion", "testSuccess": "Connexion réussie.", "testFailed": "Connexion échouée." }, "branch": { "title": "Git", "create": "Créer une branche", "created": "Branche créée avec succès.", "copy": "Copier le nom", "copied": "Nom de branche copié.", "type": "Type", "baseBranch": "Branche de base", "preview": "Aperçu", "types": { "feature": "feature", "fix": "fix", "refactor": "refactor", "hotfix": "hotfix", "chore": "chore" }, "noBranches": "Aucune branche liée.", "commits": "Commits", "noCommits": "Aucun commit." }, "pr": { "title": "Pull Requests", "noPrs": "Aucune pull request.", "open": "Ouverte", "merged": "Mergée", "closed": "Fermée", "ci": "CI/CD" }, "error": "Erreur de connexion à Gitea.", "notConfigured": "Gitea non configuré pour ce projet." }, "portal": { "title": "Portail client", "projects": "Vos projets", "noProjects": "Aucun projet disponible.", "openTickets": "tickets ouverts", "newTicket": "Nouveau ticket", "ticketDetail": "Détail du ticket", "backToProject": "Retour au projet", "submitTicket": "Soumettre le ticket", "ticketCreated": "Ticket soumis avec succès." }, "clientTicket": { "title": "Tickets", "new": "Nouveau ticket", "created": "Ticket créé avec succès.", "deleted": "Ticket supprimé avec succès.", "updated": "Ticket mis à jour avec succès.", "statusUpdated": "Statut du ticket mis à jour.", "type": { "bug": "Bug", "improvement": "Amélioration", "other": "Autre" }, "status": { "new": "Nouveau", "in_progress": "En cours", "done": "Terminé", "rejected": "Rejeté" }, "fields": { "title": "Titre", "description": "Description", "url": "URL de la page", "urlPlaceholder": "https://example.com/page-concernee", "type": "Type", "project": "Projet" }, "confirmDelete": "Êtes-vous sûr de vouloir supprimer ce ticket ?", "rejectComment": "Commentaire de rejet", "rejectCommentRequired": "Un commentaire est requis pour rejeter un ticket.", "linkedTicket": "Lié au ticket client CT-{number}", "description": "Description", "url": "URL (page concernée)", "statusComment": "Commentaire de statut", "statusChanged": "Statut mis à jour", "confirmDeleteMessage": "Êtes-vous sûr de vouloir supprimer ce ticket ? Cette action est irréversible.", "linkedTooltip": "Lié au ticket client {number}", "rejectionRequired": "Un commentaire est requis pour rejeter un ticket", "noTickets": "Aucun ticket.", "allStatuses": "Tous les statuts", "allProjects": "Tous les projets", "submittedBy": "Soumis par", "createdAt": "Créé le", "adminTab": "Tickets client", "selectType": "Type de ticket", "changeStatus": "Changer le statut" }, "notification": { "title": "Notifications", "markAllRead": "Tout marquer comme lu", "empty": "Aucune notification", "ticketCreated": "Nouveau ticket client {number}", "ticketStatusChanged": "Ticket {number} mis à jour", "timeAgo": { "now": "À l'instant", "minutes": "Il y a {n} min", "hours": "Il y a {n}h", "days": "Il y a {n}j" } }, "profile": { "title": "Mon profil", "changeAvatar": "Changer l'avatar", "removeAvatar": "Supprimer l'avatar", "cropAvatar": "Recadrer l'avatar", "apiToken": { "title": "Token API MCP", "help": "Utilisé pour authentifier le serveur MCP HTTP (à coller dans le header Authorization: Bearer …). Ne pas partager.", "label": "Token", "empty": "Aucun token généré pour le moment.", "generate": "Générer un token", "regenerate": "Régénérer", "copy": "Copier", "copied": "Token copié dans le presse-papiers.", "copyFailed": "Impossible de copier le token.", "regenerated": "Nouveau token généré. L'ancien token est désormais invalide.", "confirmTitle": "Régénérer le token MCP ?", "confirmMessage": "L'ancien token sera immédiatement invalidé. Tous les clients MCP utilisant ce token devront être reconfigurés." } }, "bookstack": { "settings": { "title": "Configuration BookStack", "url": "URL du serveur", "urlPlaceholder": "https://wiki.example.com", "tokenId": "Token ID", "tokenIdPlaceholder": "Entrez le Token ID", "tokenSecret": "Token Secret", "tokenSecretPlaceholder": "Entrez le Token Secret", "tokenConfigured": "Token configuré", "save": "Enregistrer", "saved": "Configuration BookStack sauvegardée.", "testConnection": "Tester la connexion", "testSuccess": "Connexion réussie.", "testFailed": "Connexion échouée." }, "links": { "title": "Documentation", "searchPlaceholder": "Rechercher une page ou un livre...", "noResults": "Aucun résultat", "empty": "Aucun document lié" } }, "zimbra": { "settings": { "title": "Calendrier Zimbra", "serverUrl": "URL du serveur CalDAV", "serverUrlPlaceholder": "https://mail.ovh.com", "username": "Nom d'utilisateur", "usernamePlaceholder": "user{'@'}domain.com", "calendarPath": "Chemin du calendrier", "calendarPathPlaceholder": "/dav/user{'@'}domain.com/Calendar/", "password": "Mot de passe", "passwordConfigured": "Mot de passe configuré", "enabled": "Activer la synchronisation CalDAV", "save": "Enregistrer", "saved": "Configuration Zimbra enregistrée", "testConnection": "Tester la connexion", "testSuccess": "Connexion réussie", "testFailed": "Connexion échouée" } }, "taskRecurrence": { "created": "Récurrence créée", "updated": "Récurrence mise à jour", "deleted": "Récurrence supprimée" }, "recurrence": { "daily": "Quotidien", "weekly": "Hebdomadaire", "monthly": "Mensuel", "yearly": "Annuel" } }