kaneo (minimalist kanban) fork to experiment adding a tangled integration
github.com/usekaneo/kaneo
1{
2 "common": {
3 "appName": "Kaneo",
4 "actions": {
5 "cancel": "Annuler",
6 "close": "Fermer",
7 "clearAll": "Tout effacer",
8 "delete": "Supprimer",
9 "deleting": "Suppression...",
10 "markAllRead": "Tout marquer comme lu",
11 "remove": "Retirer",
12 "reset": "Réinitialiser",
13 "filter": "Filtrer",
14 "clearAllFilters": "Effacer tous les filtres"
15 },
16 "a11y": {
17 "toggleSidebar": "Basculer la barre latérale"
18 },
19 "sidebar": {
20 "title": "Barre latérale",
21 "mobileDescription": "Affiche la barre latérale mobile."
22 },
23 "empty": {
24 "loading": "Chargement..."
25 },
26 "pagination": {
27 "label": "Pagination",
28 "previous": "Précédent",
29 "next": "Suivant",
30 "previousPage": "Aller à la page précédente",
31 "nextPage": "Aller à la page suivante",
32 "morePages": "Plus de pages"
33 },
34 "breadcrumb": {
35 "label": "Fil d'Ariane",
36 "more": "Plus"
37 },
38 "language": {
39 "english": "Anglais",
40 "german": "Allemand",
41 "greek": "Grec",
42 "macedonian": "Macédonien",
43 "french": "Français",
44 "spanish": "Espagnol",
45 "dutch": "Néerlandais"
46 },
47 "people": {
48 "someone": "Quelqu'un",
49 "unknown": "Inconnu"
50 },
51 "error": {
52 "title": "Quelque chose s'est mal passé",
53 "troubleshooting": "Étapes de dépannage :",
54 "tryAgain": "Réessayer",
55 "viewDeploymentGuide": "Voir le guide de déploiement",
56 "refreshPage": "Rafraîchir la page"
57 },
58 "formats": {
59 "never": "Jamais"
60 },
61 "modals": {
62 "createProject": {
63 "title": "Créer un nouveau projet",
64 "breadcrumbNew": "Créer un nouveau projet",
65 "workspaceFallback": "ESPACE DE TRAVAIL",
66 "description": "Créez un nouveau projet dans votre espace de travail en fournissant un nom, une clé et en sélectionnant une icône.",
67 "pickIcon": "Choisir une icône",
68 "searchIcons": "Rechercher des icônes...",
69 "projectName": "Nom du projet",
70 "keyLabel": "Clé :",
71 "keyHint": "Utilisée pour les ID de tickets (par ex. {{example}}-123)",
72 "createButton": "Créer le projet",
73 "successToast": "Projet créé avec succès",
74 "errorToast": "Échec de la création du projet"
75 },
76 "createWorkspace": {
77 "breadcrumbKaneo": "KANEO",
78 "title": "Créer un nouvel espace de travail",
79 "description": "Créez un nouvel espace de travail en lui donnant un nom.",
80 "namePlaceholder": "Nom de l'espace de travail",
81 "descriptionPlaceholder": "Ajouter une description...",
82 "createButton": "Créer l'espace de travail",
83 "successToast": "Espace de travail créé avec succès",
84 "errorToast": "Échec de la création de l'espace de travail"
85 },
86 "createTask": {
87 "breadcrumbTask": "TÂCHE",
88 "title": "Nouvelle tâche",
89 "description": "Créez une nouvelle tâche en fournissant un titre, une description et d'autres détails.",
90 "taskTitlePlaceholder": "Titre de la tâche",
91 "descriptionPlaceholder": "Ajoutez une description pour votre tâche...",
92 "chooseProjectForImages": "Choisissez un projet avant d'importer des images.",
93 "prepareTaskError": "Échec de la préparation de la tâche",
94 "successCreated": "Tâche créée avec succès",
95 "successUpdated": "Tâche mise à jour avec succès",
96 "createError": "Échec de la création de la tâche",
97 "priority": "Priorité",
98 "statusFallback": "En cours",
99 "startDate": "Date de début",
100 "dueDate": "Date d'échéance",
101 "clearStartDate": "Supprimer la date de début",
102 "clearDueDate": "Supprimer la date d'échéance",
103 "assign": "Assigner",
104 "assignUnassigned": "Non assigné",
105 "assignUnassignedTitle": "Non assigné",
106 "labels": "Labels",
107 "searchLabels": "Rechercher des labels...",
108 "noLabelsFound": "Aucun label trouvé",
109 "createLabel": "Créer \"{{name}}\"",
110 "chooseColor": "Choisir une couleur",
111 "labelCreated": "Label créé",
112 "labelCreateError": "Échec de la création du label",
113 "createMore": "Créer plus",
114 "createButton": "Créer la tâche",
115 "untitledTask": "Tâche sans titre",
116 "labelColors": {
117 "stone": "Pierre",
118 "slate": "Ardoise",
119 "lavender": "Lavande",
120 "sage": "Sauge",
121 "forest": "Forêt",
122 "amber": "Ambre",
123 "terracotta": "Terre cuite",
124 "rose": "Rose",
125 "crimson": "Cramoisi"
126 }
127 }
128 }
129 },
130 "auth": {
131 "signIn": {
132 "pageTitle": "Connexion",
133 "title": "Content de te revoir",
134 "subtitle": "Entrez vos identifiants pour accéder à votre espace de travail",
135 "invitationSubtitle": "Connectez-vous pour accepter votre invitation",
136 "invitationAlert": "Après vous être connecté, vous pourrez accepter votre invitation à l'espace de travail.",
137 "signingIn": "Connexion...",
138 "continueWithGoogle": "Continuer avec Google",
139 "continueWithGithub": "Continuer avec GitHub",
140 "continueWithDiscord": "Continuer avec Discord",
141 "continueWithOidc": "Continuer avec OIDC",
142 "lastUsed": "Dernière utilisation",
143 "registrationDisabled": "Inscription publique désactivée. Utilisez une invitation pour créer un compte.",
144 "passwordRegistrationDisabled": "Inscription par mot de passe désactivée. Utilisez une méthode de connexion sociale ou OIDC configurée pour créer un compte.",
145 "toggleMessage": "Vous n'avez pas de compte ?",
146 "toggleLink": "Créer un compte",
147 "guestSuccess": "Connecté en tant qu'invité",
148 "guestError": "Échec de la connexion en tant qu'invité",
149 "oidcError": "Échec de la connexion avec OIDC",
150 "googleError": "Échec de la connexion avec Google",
151 "githubError": "Échec de la connexion avec GitHub",
152 "discordError": "Échec de la connexion avec Discord"
153 },
154 "providers": {
155 "google": "Google",
156 "discord": "Discord"
157 },
158 "forms": {
159 "or": "ou",
160 "email": "Email",
161 "password": "Mot de passe",
162 "emailPlaceholder": "moi@exemple.fr",
163 "passwordPlaceholder": "••••••••",
164 "showPassword": "Afficher le mot de passe",
165 "hidePassword": "Masquer le mot de passe"
166 },
167 "checkEmail": {
168 "pageTitle": "Vérifier vos mails",
169 "title": "Vérifier vos mails",
170 "inboxMessage": "Nous vous avons envoyé un lien de connexion temporaire. Veuillez vérifier votre boîte de réception à l'adresse <email>{{email}}</email>.",
171 "emailFallback": "votre adresse email",
172 "backToLogin": "Retour à la connexion"
173 },
174 "signUp": {
175 "pageTitle": "Créer un compte",
176 "title": "Créer un compte",
177 "subtitleInvitation": "Créer un compte pour accepter votre invitation",
178 "subtitleRegistrationDisabled": "L'inscription nécessite une invitation",
179 "subtitlePasswordDisabled": "Utilisez la connexion sociale ou OIDC pour créer un compte",
180 "subtitleDefault": "Commencez avec votre espace de travail",
181 "invitationAlert": "Après avoir créé votre compte, vous pourrez accepter votre invitation à l'espace de travail.",
182 "registrationDisabledAlert": "L'inscription est actuellement désactivée. Si vous avez été invité, entrez l'adresse e-mail qui a reçu l'invitation pour créer votre compte.",
183 "passwordDisabledAlert": "La création de compte par mot de passe est désactivée. Utilisez une méthode de connexion sociale ou OIDC configurée depuis la page de connexion.",
184 "signingIn": "Connexion...",
185 "continueAsGuest": "Continuer en tant qu'invité",
186 "toggleMessage": "Vous avez déjà un compte?",
187 "toggleLink": "Se connecter"
188 },
189 "verifyOtp": {
190 "pageTitle": "Vérifier le code",
191 "title": "Entrez le code de vérification",
192 "subtitle": "Utilisez le code à 6 chiffres envoyé à votre e-mail pour continuer",
193 "codeSentTo": "Code envoyé à {{email}}",
194 "verificationCodeLabel": "Code de vérification",
195 "verifying": "Vérification...",
196 "verifyAndSignIn": "Vérifier et se connecter",
197 "changeEmail": "Changer l'email",
198 "resend": "Renvoyer",
199 "validation": {
200 "codeLength": "Le code doit contenir 6 chiffres"
201 },
202 "toast": {
203 "invalidCode": "Code de vérification invalide",
204 "signedInSuccess": "Connecté avec succès!",
205 "verifyFailed": "Échec de la vérification du code",
206 "resendFailed": "Échec de l'envoi du code",
207 "resendSuccess": "Nouveau code de vérification envoyé!"
208 }
209 },
210 "otpSignIn": {
211 "sendFailed": "Échec de l'envoi du code de vérification",
212 "codeSent": "Code de vérification envoyé! Vérifiez votre e-mail.",
213 "sending": "Envoi...",
214 "sendVerificationCode": "Envoyer le code de vérification"
215 },
216 "signInForm": {
217 "failedSignIn": "Échec de la connexion",
218 "signedInSuccess": "Connexion réussie",
219 "signingIn": "Connexion...",
220 "signIn": "Se connecter"
221 },
222 "signUpForm": {
223 "fullName": "Nom complet",
224 "namePlaceholder": "John Doe",
225 "failedSignUp": "Échec de l'inscription",
226 "accountCreated": "Compte créé avec succès",
227 "passwordTooShort": "Le mot de passe est trop court",
228 "creatingAccount": "Création du compte...",
229 "createAccount": "Créer un compte"
230 },
231 "invitation": {
232 "pageTitleAccept": "Accepter l'invitation",
233 "pageTitleError": "Erreur d'invitation",
234 "pageTitleInvalid": "Invitation invalide",
235 "loadingTitle": "Chargement de l'invitation...",
236 "errorTitle": "Erreur d'invitation",
237 "invalidTitle": "Invitation invalide",
238 "invitationExpired": "Invitation expirée",
239 "errorLoadDescription": "Échec du chargement des détails de l'invitation. L'invitation peut être invalide ou expirée.",
240 "goToSignIn": "Aller à la connexion",
241 "workspaceLabel": "Espace de travail: {{workspaceName}}",
242 "joinWorkspace": "Rejoindre {{workspaceName}}",
243 "inviteBodySignedIn": "<inviter>{{inviterName}}</inviter> vous a invité à rejoindre son espace de travail.",
244 "inviteBodySignedOut": "<inviter>{{inviterName}}</inviter> vous a invité à rejoindre son espace de travail sur Kaneo.",
245 "signInToAccept": "Connectez-vous pour accepter cette invitation.",
246 "accepting": "Acceptation...",
247 "acceptInvitation": "Accepter l'invitation",
248 "goToDashboard": "Aller au tableau de bord",
249 "signedInAs": "Connecté en tant que <email>{{email}}</email>",
250 "youveBeenInvited": "Vous avez été invité!",
251 "invitationFor": "Invitation pour: <email>{{email}}</email>",
252 "signIn": "Se connecter",
253 "toast": {
254 "acceptFailed": "Échec de l'acceptation de l'invitation",
255 "acceptSuccess": "Invitation acceptée! Bienvenue dans l'équipe."
256 }
257 },
258 "onboarding": {
259 "pageTitle": "Bienvenue sur Kaneo",
260 "workspacePageTitle": "Créer un espace de travail",
261 "createWorkspaceTitle": "Créer un espace de travail",
262 "createWorkspaceSubtitle": "Configurez votre espace de travail pour commencer à gérer des projets",
263 "workspaceName": "Nom de l'espace de travail",
264 "workspaceNamePlaceholder": "ex: Acme Inc, Mon équipe",
265 "descriptionOptional": "Description (optionnelle)",
266 "descriptionPlaceholder": "Sur quoi travaille votre équipe?",
267 "creating": "Création...",
268 "createWorkspace": "Créer un espace de travail",
269 "workspaceCreatedTitle": "Espace de travail créé",
270 "redirectingToWorkspace": "Redirection vers <name>{{name}}</name>...",
271 "toast": {
272 "workspaceCreated": "Espace de travail créé avec succès",
273 "createFailed": "Échec de la création de l'espace de travail"
274 },
275 "validation": {
276 "workspaceNameRequired": "Le nom de l'espace de travail est requis"
277 }
278 },
279 "profileSetup": {
280 "pageTitle": "Compléter le profil",
281 "completeTitle": "Compléter votre profil",
282 "subtitle": "Veuillez entrer votre nom pour commencer",
283 "yourName": "Votre nom",
284 "namePlaceholder": "ex: John Doe",
285 "saving": "Sauvegarde...",
286 "continue": "Continuer",
287 "welcome": "Bienvenue, {{name}}!",
288 "redirecting": "Redirection vers votre tableau de bord...",
289 "toast": {
290 "updateSuccess": "Profil mis à jour avec succès",
291 "updateFailed": "Échec de la mise à jour du profil"
292 },
293 "validation": {
294 "nameRequired": "Le nom est requis",
295 "nameShort": "Le nom doit contenir au moins 2 caractères"
296 }
297 }
298 },
299 "settings": {
300 "account": "Compte",
301 "developer": "Développeur",
302 "information": "Information",
303 "notifications": "Notifications",
304 "preferences": "Préférences",
305 "apiKeys": "Clés API",
306 "informationPage": {
307 "pageTitle": "Informations personnelles",
308 "title": "Informations personnelles",
309 "subtitle": "Gérez vos informations personnelles et les détails de votre compte.",
310 "sectionTitle": "Informations sur le compte",
311 "sectionSubtitle": "Gérez votre profil et les détails de votre compte.",
312 "profilePicture": "Photo de profil",
313 "fullName": "Nom complet",
314 "fullNamePlaceholder": "Entrez votre nom",
315 "email": "Email",
316 "emailPlaceholder": "Entrez votre email",
317 "updateSuccess": "Profil mis à jour avec succès",
318 "updateError": "Échec de la mise à jour du profil",
319 "validation": {
320 "nameRequired": "Le nom est requis",
321 "nameShort": "Le nom doit contenir au moins 2 caractères",
322 "invalidEmail": "Adresse email invalide"
323 }
324 },
325 "notificationsPage": {
326 "pageTitle": "Notifications",
327 "title": "Notifications",
328 "subtitle": "Choose how Kaneo delivers your account notifications and which channels to use.",
329 "statusConnected": "Connected",
330 "statusPaused": "Paused",
331 "emailTitle": "Email",
332 "emailDescription": "Use your account email as the destination for notifications.",
333 "accountEmailLabel": "Account email",
334 "accountEmailNoAddress": "No account email available",
335 "accountEmailHint": "Email delivery always goes to the signed-in account email.",
336 "saveChanges": "Save changes",
337 "disconnect": "Disconnect",
338 "ntfyTitle": "ntfy",
339 "ntfyDescription": "Publish account notifications to an ntfy topic.",
340 "serverUrl": "Server URL",
341 "topic": "Topic",
342 "token": "Token",
343 "ntfyServerPlaceholder": "https://ntfy.example.com",
344 "ntfyTopicPlaceholder": "team-alerts",
345 "ntfyTokenPlaceholder": "Optional bearer token",
346 "ntfyTokenHintConfigured": "A token is already configured ({{masked}}). Enter a new token to replace it.",
347 "ntfyTokenHintOptional": "Optional. Provide a token if your ntfy server requires authentication.",
348 "connectNtfy": "Connect ntfy",
349 "gotifyTitle": "Gotify",
350 "gotifyDescription": "Send account notifications to your Gotify server.",
351 "gotifyTokenLabel": "App token",
352 "gotifyServerPlaceholder": "https://gotify.example.com",
353 "gotifyTokenPlaceholder": "Gotify app token",
354 "gotifyTokenHintConfigured": "An app token is already configured ({{masked}}). Enter a new token to replace it.",
355 "gotifyTokenHintRequired": "Required. Use an application token from your Gotify server.",
356 "connectGotify": "Connect Gotify",
357 "webhookTitle": "Custom webhook",
358 "webhookDescription": "Send account notifications to your own endpoint as JSON.",
359 "endpointUrl": "Endpoint URL",
360 "signingSecret": "Signing secret",
361 "webhookUrlPlaceholder": "https://example.com/webhooks/kaneo",
362 "webhookSecretPlaceholder": "Optional shared secret",
363 "webhookSecretHintConfigured": "A signing secret is already configured ({{masked}}). Enter a new one to replace it.",
364 "webhookSecretHintOptional": "Optional. Kaneo signs the request body when a secret is set.",
365 "connectWebhook": "Connect webhook",
366 "workspaceRulesTitle": "Workspace delivery rules",
367 "workspaceRulesDescription": "Reuse your global channels, then decide which workspaces and projects are allowed to send account notifications.",
368 "workspaceCardHint": "Choose which channels this workspace can use for account notifications.",
369 "workspaceCardLabelEmail": "Email",
370 "workspaceCardLabelNtfy": "ntfy",
371 "workspaceCardLabelGotify": "Gotify",
372 "workspaceCardLabelWebhook": "Custom webhook",
373 "emailChannelHintEnabled": "Send matching workspace notifications by email.",
374 "emailChannelHintDisabled": "Configure and enable email globally first.",
375 "ntfyChannelHintEnabled": "Send matching workspace notifications to ntfy.",
376 "ntfyChannelHintDisabled": "Configure and enable ntfy globally first.",
377 "gotifyChannelHintEnabled": "Send matching workspace notifications to Gotify.",
378 "gotifyChannelHintDisabled": "Configure and enable Gotify globally first.",
379 "webhookChannelHintEnabled": "Send matching workspace notifications to your webhook.",
380 "webhookChannelHintDisabled": "Configure and enable the webhook globally first.",
381 "projectScope": "Project scope",
382 "projectScopeDescription": "All projects are included by default. Narrow it down if this workspace should only send notifications from selected projects.",
383 "allProjects": "All projects",
384 "allProjectsDescription": "Deliver notifications from every project in this workspace.",
385 "selectedProjects": "Selected projects",
386 "selectedProjectsDescription": "Only deliver notifications from chosen projects.",
387 "noProjectsInWorkspace": "No projects available for this workspace yet.",
388 "createRule": "Create rule",
389 "removeRule": "Remove rule",
390 "toastEmailSaved": "Email notification settings saved",
391 "toastEmailSaveFailed": "Failed to save email settings",
392 "toastNtfySaved": "ntfy settings saved",
393 "toastNtfySaveFailed": "Failed to save ntfy settings",
394 "toastNtfyDisconnected": "ntfy disconnected",
395 "toastNtfyDisconnectFailed": "Failed to disconnect ntfy",
396 "toastGotifySaved": "Gotify settings saved",
397 "toastGotifySaveFailed": "Failed to save Gotify settings",
398 "toastGotifyDisconnected": "Gotify disconnected",
399 "toastGotifyDisconnectFailed": "Failed to disconnect Gotify",
400 "toastWebhookSaved": "Webhook settings saved",
401 "toastWebhookSaveFailed": "Failed to save webhook settings",
402 "toastWebhookDisconnected": "Webhook disconnected",
403 "toastWebhookDisconnectFailed": "Failed to disconnect webhook",
404 "toastRuleSaved": "Saved notification rule for {{workspaceName}}",
405 "toastRuleSaveFailed": "Failed to save workspace notification rule",
406 "toastRuleRemoved": "Removed notification rule for {{workspaceName}}",
407 "toastRuleRemoveFailed": "Failed to remove workspace notification rule",
408 "toastPreferencesSaved": "Notification preferences saved",
409 "toastPreferencesSaveFailed": "Failed to save notification preferences",
410 "toastRuleSavedGeneric": "Workspace notification rule saved",
411 "toastRuleRemovedGeneric": "Workspace notification rule removed"
412 },
413 "preferencesPage": {
414 "title": "Préférences",
415 "subtitle": "Personnalisez votre expérience Kaneo.",
416 "appearanceTitle": "Apparence",
417 "appearanceSubtitle": "Paramètres visuels et préférences de mise en page.",
418 "theme": "Thème",
419 "themeDescription": "Choisissez votre palette de couleurs préférée",
420 "selectTheme": "Sélectionnez un thème",
421 "themeLight": "Clair",
422 "themeDark": "Sombre",
423 "themeSystem": "Système",
424 "language": "Langue",
425 "languageDescription": "Choisissez la langue de l'interface",
426 "selectLanguage": "Sélectionnez une langue",
427 "firstDayOfWeek": "Premier jour de la semaine",
428 "firstDayOfWeekDescription": "Choisissez si les calendriers et les semaines commencent le dimanche ou le lundi",
429 "selectFirstDayOfWeek": "Sélectionnez le premier jour",
430 "weekStartsOnSunday": "Dimanche",
431 "weekStartsOnMonday": "Lundi",
432 "defaultView": "Vue par défaut",
433 "defaultViewDescription": "Choisissez votre mode d'affichage des tâches préféré",
434 "selectViewMode": "Sélectionnez un mode d'affichage",
435 "board": "Tableau",
436 "list": "Liste",
437 "gantt": "Gantt",
438 "sidebarDefault": "Barre latérale par défaut",
439 "sidebarDefaultDescription": "Garder la barre latérale ouverte au démarrage",
440 "displayOptions": "Options d'affichage",
441 "displayOptionsDescription": "Choisissez les informations à afficher dans les vues de tâches",
442 "taskNumbers": "Numéros de tâches",
443 "taskNumbersDescription": "Afficher les ID et numéros de tâches",
444 "assignees": "Assignés",
445 "assigneesDescription": "Afficher les personnes assignées aux tâches",
446 "dueDates": "Dates d'échéance",
447 "dueDatesDescription": "Afficher les dates d'échéance des tâches",
448 "labels": "Labels",
449 "labelsDescription": "Afficher les labels et tags des tâches",
450 "priority": "Priorité",
451 "priorityDescription": "Afficher les indicateurs de priorité"
452 },
453 "developerPage": {
454 "pageTitle": "Paramètres développeur",
455 "title": "Paramètres développeur",
456 "subtitle": "Gérez vos clés API et vos ressources développeur.",
457 "apiKeysCardTitle": "Clés API",
458 "apiKeysCardDescription": "Créez et gérez des clés API pour un accès programmatique à Kaneo.",
459 "createApiKey": "Créer une clé API",
460 "unnamedKey": "Clé sans nom"
461 },
462 "apiKey": {
463 "createdModal": {
464 "title": "Clé API créée",
465 "description": "Votre clé API \"{{keyName}}\" a été créée avec succès.",
466 "yourApiKey": "Votre clé API",
467 "copy": "Copier",
468 "copied": "Copié",
469 "toastCopied": "Clé API copiée dans le presse-papiers",
470 "alertTitle": "Succès! Votre clé API a été créée",
471 "alertDescription": "Copiez cette clé maintenant. Vous ne pourrez plus la voir.",
472 "done": "Terminé",
473 "copyToContinue": "Copier la clé pour continuer"
474 },
475 "table": {
476 "loading": "Chargement des clés API...",
477 "empty": "Aucune clé API pour le moment. Créez-en une pour commencer.",
478 "columnName": "Nom",
479 "columnKey": "Clé",
480 "columnCreated": "Créé",
481 "columnExpires": "Expiré",
482 "columnActions": "Actions",
483 "unnamedKey": "Clé sans nom",
484 "expiredBadge": "Expiré {{label}}",
485 "deleteConfirmTitle": "Supprimer la clé API?",
486 "deleteConfirmDescription": "Cette action ne peut pas être annulée. Cela supprimera définitivement {{name}}.",
487 "deleteFallbackName": "cette clé API",
488 "delete": "Supprimer",
489 "deleting": "Suppression...",
490 "deleteAria": "Supprimer {{name}}",
491 "deleteAriaFallback": "Clé API",
492 "toastDeleted": "Clé API supprimée avec succès",
493 "toastDeleteError": "Échec de la suppression de la clé API"
494 },
495 "createDialog": {
496 "title": "Créer une clé API",
497 "description": "Créez une nouvelle clé API pour accéder à l'API Kaneo par programme.",
498 "nameLabel": "Nom",
499 "namePlaceholder": "Ma clé API",
500 "nameDescription": "Un nom descriptif pour cette clé API",
501 "expirationLabel": "Expiration",
502 "expirationPlaceholder": "Sélectionner une expiration",
503 "expirationDescription": "Choisissez combien de temps cette clé API doit rester valide. \"Jamais\" créera une clé sans expiration automatique.",
504 "expiration1d": "1 jour",
505 "expiration7d": "7 jours",
506 "expiration30d": "30 jours",
507 "expiration90d": "90 jours",
508 "expirationNever": "Jamais",
509 "create": "Créer",
510 "creating": "Création...",
511 "failedCreate": "Échec de la création de la clé API",
512 "validation": {
513 "nameRequired": "Le nom est requis",
514 "nameShort": "Le nom doit contenir au moins 3 caractères",
515 "expirationRequired": "Une date d'expiration est requise"
516 }
517 }
518 },
519 "workspaceGeneral": {
520 "pageTitle": "Paramètres Généraux",
521 "title": "Paramètres Généraux",
522 "subtitle": "Gérez le nom et la description de votre espace de travail.",
523 "workspaceInfoTitle": "Informations sur l'espace de travail",
524 "workspaceInfoSubtitle": "Configurez les détails et les préférences de votre espace de travail.",
525 "nameLabel": "Nom de l'espace de travail",
526 "nameHint": "Le nom de votre espace de travail",
527 "namePlaceholder": "Entrez le nom de l'espace de travail",
528 "descriptionLabel": "Description",
529 "descriptionHint": "Une brève description de votre espace de travail",
530 "descriptionPlaceholder": "Entrez la description de l'espace de travail",
531 "dangerZone": "Zone dangereuse",
532 "dangerZoneSubtitle": "Actions irréversibles et destructrices.",
533 "deleteWorkspace": "Supprimer l'espace de travail",
534 "deleteWorkspaceDescription": "Planifier la suppression définitive de l'espace de travail",
535 "deleteModalTitle": "Supprimer l'espace de travail?",
536 "deleteModalDescription": "Cela supprimera définitivement l'espace de travail \"{{name}}\" et toutes ses données. Cette action ne peut pas être annulée.",
537 "deleteModalConfirm": "Supprimer l'espace de travail",
538 "toastUpdated": "Espace de travail mis à jour avec succès",
539 "toastUpdateError": "Échec de la mise à jour de l'espace de travail",
540 "toastDeleted": "Espace de travail supprimé avec succès",
541 "toastDeleteError": "Échec de la suppression de l'espace de travail",
542 "validation": {
543 "nameRequired": "Le nom de l'espace de travail est requis",
544 "nameShort": "Le nom de l'espace de travail doit contenir au moins 2 caractères"
545 }
546 },
547 "projectGeneral": {
548 "pageTitle": "Paramètres du projet",
549 "title": "Paramètres Généraux",
550 "subtitle": "Gérez le nom, la clé, l'icône et la description de votre projet.",
551 "projectInfoTitle": "Informations sur le projet",
552 "projectInfoSubtitle": "Configurez les détails et les préférences de votre projet.",
553 "iconLabel": "Icône",
554 "iconHint": "S'affiche dans la barre latérale et les surfaces du projet.",
555 "pickIconTitle": "Choisir une icône",
556 "searchIconsPlaceholder": "Rechercher des icônes...",
557 "projectNameLabel": "Nom du projet",
558 "projectNameHint": "Le nom de votre projet",
559 "projectNamePlaceholder": "Entrez le nom du projet",
560 "keyLabel": "Clé",
561 "keyHint": "Utilisé pour les ID de tickets (ex: {{slug}}-123)",
562 "keyPlaceholder": "PRO",
563 "descriptionLabel": "Description",
564 "descriptionHint": "Une brève description de votre projet",
565 "descriptionPlaceholder": "Entrez la description du projet",
566 "dangerZone": "Zone dangereuse",
567 "dangerZoneSubtitle": "Actions irréversibles et destructrices.",
568 "deleteProject": "Supprimer le projet",
569 "deleteProjectDescription": "Planifier la suppression définitive du projet",
570 "deleteModalTitle": "Supprimer le projet?",
571 "deleteModalDescription": "Cela supprimera définitivement le projet \"{{name}}\" et toutes ses données. Cette action ne peut pas être annulée.",
572 "deleteModalConfirm": "Supprimer le projet",
573 "toastUpdated": "Projet mis à jour avec succès",
574 "toastUpdateError": "Échec de la mise à jour du projet",
575 "toastDeleted": "Projet supprimé avec succès",
576 "toastDeleteError": "Échec de la suppression du projet",
577 "validation": {
578 "nameRequired": "Le nom du projet est requis",
579 "nameShort": "Le nom du projet doit contenir au moins 2 caractères",
580 "keyRequired": "La clé est requise",
581 "keyShort": "La clé doit contenir au moins 2 caractères",
582 "keyMax": "La clé doit contenir au plus 8 caractères",
583 "iconRequired": "L'icône est requise"
584 }
585 },
586 "projectIntegrations": {
587 "pageTitle": "Intégrations du projet",
588 "title": "Intégrations du projet",
589 "subtitle": "Connectez votre projet avec des outils et services externes pour rationaliser votre flux de travail.",
590 "githubSectionTitle": "Intégration GitHub",
591 "githubSectionSubtitle": "Synchronisez les tâches avec les problèmes GitHub et activez la synchronisation bidirectionnelle.",
592 "giteaSectionTitle": "Intégration Gitea",
593 "giteaSectionSubtitle": "Synchronisez les tâches avec une instance Gitea auto-hébergée (issues, PRs, webhooks).",
594 "telegramSectionTitle": "Intégration Telegram",
595 "telegramSectionSubtitle": "Envoyez les mises à jour des tâches du projet dans un chat ou un sujet Telegram avec un bot.",
596 "discordSectionTitle": "Intégration Discord",
597 "discordSectionSubtitle": "Envoyez les mises à jour des tâches du projet dans un canal Discord via un webhook.",
598 "genericWebhookSectionTitle": "Webhooks génériques",
599 "genericWebhookSectionSubtitle": "Envoyez les événements des tâches du projet vers n'importe quel point de terminaison HTTP au format JSON.",
600 "slackSectionTitle": "Intégration Slack",
601 "slackSectionSubtitle": "Envoyez les mises à jour des tâches du projet dans un canal Slack via un webhook entrant."
602 },
603 "projectVisibility": {
604 "pageTitle": "Visibilité du projet",
605 "title": "Visibilité",
606 "subtitle": "Contrôlez qui peut voir et accéder à votre projet.",
607 "sectionTitle": "Visibilité",
608 "sectionSubtitle": "Activez l'accès public et partagez l'URL publique.",
609 "publicAccess": "Accès public",
610 "publicAccessHint": "Permet à toute personne disposant de l'URL de visualiser ce projet",
611 "publicUrl": "URL publique",
612 "publicUrlHint": "Partagez ce lien si le projet est public",
613 "copy": "Copier",
614 "copiedToast": "Copié",
615 "toastUpdated": "Visibilité mise à jour",
616 "toastUpdateError": "Échec de la mise à jour de la visibilité"
617 },
618 "projectWorkflow": {
619 "pageTitle": "Paramètres du flux de travail",
620 "title": "Flux de travail",
621 "subtitle": "Configurez les colonnes du tableau et les règles d'automatisation pour ce projet.",
622 "columnsTitle": "Colonnes",
623 "columnsDescription": "Gérez les colonnes qui apparaissent sur votre tableau. Faites glisser pour réorganiser. Activez \"Colonne terminée\" pour les étapes qui représentent le travail terminé.",
624 "automationTitle": "Règles d'automatisation",
625 "automationDescription": "Mappez les événements d'intégration aux colonnes. Lorsqu'un événement se produit, la tâche liée se déplace vers la colonne spécifiée."
626 },
627 "projectSwitcher": {
628 "selectProject": "Sélectionner un projet",
629 "noProjects": "Aucun projet"
630 },
631 "columnEditor": {
632 "toastCreated": "Colonne créée",
633 "toastCreateError": "Échec de la création de la colonne",
634 "toastRenamed": "Colonne renommée",
635 "toastRenameError": "Échec de la mise à jour de la colonne",
636 "toastFinalOn": "Colonne marquée comme terminée",
637 "toastFinalOff": "La colonne n'est plus marquée comme terminée",
638 "toastUpdateError": "Échec de la mise à jour de la colonne",
639 "toastDeleted": "Colonne supprimée",
640 "toastDeleteError": "Échec de la suppression de la colonne",
641 "loading": "Chargement des colonnes...",
642 "doneColumnTooltip": "Considérer ceci comme une colonne terminée",
643 "doneColumn": "Colonne terminée",
644 "markDoneAria": "Marquer {{name}} comme colonne terminée",
645 "on": "On",
646 "off": "Off",
647 "newColumnPlaceholder": "Nouveau nom de colonne...",
648 "add": "Ajouter"
649 },
650 "githubIntegration": {
651 "validation": {
652 "ownerRequired": "Le propriétaire du dépôt est requis",
653 "ownerInvalid": "Format de propriétaire de dépôt invalide",
654 "nameRequired": "Le nom du dépôt est requis",
655 "nameInvalid": "Format de nom de dépôt invalide"
656 },
657 "toast": {
658 "installedOk": "L'application GitHub est correctement installée!",
659 "installedMissingPerms": "L'application GitHub est installée mais manque des permissions requises",
660 "needsInstallOnRepo": "L'application GitHub doit être installée sur ce dépôt",
661 "repoNotFound": "Dépôt non trouvé ou inaccessible",
662 "verifyError": "Échec de la vérification de l'installation GitHub",
663 "installAppFirst": "Veuillez installer l'application GitHub sur ce dépôt en premier",
664 "missingPermsDetail": "L'application GitHub manque des permissions requises: {{list}}. Veuillez mettre à jour les permissions de l'application.",
665 "updated": "Intégration GitHub mise à jour avec succès",
666 "updateError": "Échec de la mise à jour de l'intégration GitHub",
667 "removed": "Intégration GitHub supprimée avec succès",
668 "removeError": "Échec de la suppression de l'intégration GitHub",
669 "issuesImported": "Problèmes importés avec succès",
670 "importError": "Échec de l'importation des problèmes",
671 "commentOnEnabled": "Kaneo laissera un commentaire avec un lien de tâche sur les nouveaux problèmes",
672 "commentOnDisabled": "Les commentaires de lien de tâche sur les nouveaux problèmes sont désactivés",
673 "settingsUpdateError": "Échec de la mise à jour de l'intégration GitHub"
674 },
675 "connectionStatus": "Statut de la connexion",
676 "connectedActive": "Dépôt connecté et actif",
677 "notConnectedHint": "Aucun dépôt connecté",
678 "badgeConnected": "Connecté",
679 "badgeNotConnected": "Non connecté",
680 "repository": "Dépôt",
681 "repositoryHint": "Dépôt GitHub connecté",
682 "commentTaskLinkTitle": "Commenter le lien Kaneo sur les nouveaux problèmes",
683 "commentTaskLinkHint": "Lorsque cette option est activée, Kaneo publie un commentaire avec un lien de tâche sur chaque nouveau problème GitHub.",
684 "appStatusTitle": "Statut de l'application GitHub",
685 "appStatusHint": "Statut d'installation et de permissions",
686 "statusProperlyConfigured": "Correctement configuré",
687 "statusMissingPermissions": "Permissions manquantes",
688 "statusNotInstalled": "Non installé",
689 "ownerLabel": "Propriétaire du dépôt",
690 "ownerHint": "Nom d'utilisateur ou organisation GitHub",
691 "ownerPlaceholder": "e.g., octocat",
692 "repoNameLabel": "Nom du dépôt",
693 "repoNameHint": "Le nom du dépôt",
694 "repoNamePlaceholder": "e.g., my-project",
695 "actionsTitle": "Actions",
696 "actionsHint": "Gérer la connexion de votre dépôt",
697 "browse": "Parcourir",
698 "verify": "Vérifier",
699 "update": "Mettre à jour",
700 "connect": "Connecter",
701 "disconnect": "Déconnecter",
702 "missingPermissionsLabel": "Permissions manquantes:",
703 "updatePermissions": "Mettre à jour les permissions",
704 "installGithubApp": "Installer l'application GitHub",
705 "importSectionTitle": "Importer les problèmes GitHub",
706 "importSectionHint": "Importer les problèmes existants de votre dépôt GitHub en tant que tâches",
707 "importing": "Importation...",
708 "importIssues": "Importer les problèmes",
709 "importDisabledHint": "Complétez la configuration du dépôt ci-dessus pour activer l'importation"
710 },
711 "giteaIntegration": {
712 "validation": {
713 "baseUrlRequired": "Gitea base URL is required",
714 "baseUrlInvalid": "Enter a valid URL (e.g. https://gitea.example.com)",
715 "ownerRequired": "Repository owner is required",
716 "ownerInvalid": "Invalid repository owner format",
717 "nameRequired": "Repository name is required",
718 "nameInvalid": "Invalid repository name format"
719 },
720 "toast": {
721 "verifyOk": "Gitea token can access this repository",
722 "verifyWarning": "Check token permissions or repository access",
723 "repoNotFound": "Repository not found or not accessible",
724 "verifyError": "Failed to verify Gitea access",
725 "tokenRequired": "Personal access token is required",
726 "tokenRequiredVerify": "Enter a token to verify",
727 "verifyFirst": "Verify access failed — check URL, token, and repository",
728 "updated": "Gitea integration saved",
729 "updateError": "Failed to save Gitea integration",
730 "removed": "Gitea integration removed",
731 "removeError": "Failed to remove Gitea integration",
732 "issuesImported": "Issues imported successfully",
733 "importError": "Failed to import issues",
734 "commentOnEnabled": "Kaneo will comment with a task link on new issues",
735 "commentOnDisabled": "Task link comments on new issues are turned off",
736 "settingsUpdateError": "Failed to update Gitea integration",
737 "secretCopied": "Copied",
738 "unableToCopySecret": "Unable to copy secret"
739 },
740 "webhookShow": "Show",
741 "webhookHide": "Hide",
742 "webhookCopy": "Copy",
743 "connectionStatus": "Connection status",
744 "connectedActive": "Repository connected and active",
745 "notConnectedHint": "No Gitea repository connected",
746 "badgeConnected": "Connected",
747 "badgeNotConnected": "Not connected",
748 "repository": "Repository",
749 "repositoryHint": "Linked Gitea repository",
750 "commentTaskLinkTitle": "Comment Kaneo link on new issues",
751 "commentTaskLinkHint": "When enabled, Kaneo posts a comment on each new issue with a link to the task.",
752 "webhookTitle": "Webhook",
753 "webhookHint": "In your Gitea repository, add a webhook with this URL and secret. Enable push, pull request, issues, issue comments, and create (for labels).",
754 "webhookSecretLabel": "Secret (must match the webhook secret in Gitea)",
755 "baseUrlLabel": "Gitea URL",
756 "baseUrlHint": "Root URL of your Gitea instance",
757 "tokenLabel": "Personal access token",
758 "tokenHint": "Token with repo and issues access",
759 "tokenPlaceholder": "Paste token",
760 "tokenPlaceholderUpdate": "Paste new token to rotate",
761 "currentToken": "stored",
762 "ownerLabel": "Owner",
763 "ownerHint": "User or organization name",
764 "repoNameLabel": "Repository name",
765 "repoNameHint": "Repository name only (no owner)",
766 "actionsTitle": "Actions",
767 "actionsHint": "Verify access and connect",
768 "browse": "Browse",
769 "verify": "Verify",
770 "update": "Update",
771 "connect": "Connect",
772 "disconnect": "Disconnect",
773 "importSectionTitle": "Import Gitea issues",
774 "importSectionHint": "Import open issues and pull requests from the repository",
775 "importing": "Importing…",
776 "importIssues": "Import issues",
777 "importDisabledHint": "Verify the repository above to enable importing",
778 "browseModalTitle": "Your repositories",
779 "browseModalHint": "Repositories your token can access",
780 "searchRepos": "Search…",
781 "browseNeedsCredentials": "Enter Gitea URL and token to browse",
782 "loadingRepos": "Loading repositories…",
783 "retry": "Retry"
784 },
785 "slackIntegration": {
786 "validation": {
787 "webhookInvalid": "Entrez une URL de webhook Slack valide"
788 },
789 "toast": {
790 "saved": "Intégration Slack enregistrée avec succès",
791 "saveError": "Échec de l'enregistrement de l'intégration Slack",
792 "enabled": "Notifications Slack activées",
793 "disabled": "Notifications Slack en pause",
794 "updateError": "Échec de la mise à jour de l'intégration Slack",
795 "removed": "Intégration Slack supprimée avec succès",
796 "removeError": "Échec de la suppression de l'intégration Slack"
797 },
798 "connectionTitle": "Connexion webhook Slack",
799 "connectionHint": "Collez une URL de webhook entrant Slack et choisissez les événements de tâche à publier.",
800 "connected": "Connecté",
801 "paused": "En pause",
802 "webhookLabel": "URL du webhook entrant",
803 "webhookPlaceholder": "https://hooks.slack.com/services/...",
804 "webhookHint": "Créez un webhook entrant dans Slack et collez l'URL générée ici.",
805 "channelLabel": "Nom du canal",
806 "channelPlaceholder": "#team-updates",
807 "channelHint": "Libellé facultatif pour votre référence. Slack contrôle le canal réel via la configuration du webhook.",
808 "eventsTitle": "Notifications d'événements",
809 "eventsHint": "Choisissez les changements de projet à envoyer vers Slack.",
810 "events": {
811 "taskCreated": "Nouvelles tâches",
812 "taskStatusChanged": "Changements de statut",
813 "taskPriorityChanged": "Changements de priorité",
814 "taskTitleChanged": "Changements de titre",
815 "taskDescriptionChanged": "Changements de description",
816 "taskCommentCreated": "Nouveaux commentaires"
817 },
818 "connect": "Connecter Slack",
819 "saveChanges": "Enregistrer les modifications",
820 "update": "Mettre à jour Slack",
821 "disconnect": "Déconnecter"
822 },
823 "discordIntegration": {
824 "validation": {
825 "webhookInvalid": "Entrez une URL de webhook Discord valide"
826 },
827 "toast": {
828 "saved": "Intégration Discord enregistrée avec succès",
829 "saveError": "Échec de l'enregistrement de l'intégration Discord",
830 "enabled": "Notifications Discord activées",
831 "disabled": "Notifications Discord en pause",
832 "updateError": "Échec de la mise à jour de l'intégration Discord",
833 "removed": "Intégration Discord supprimée avec succès",
834 "removeError": "Échec de la suppression de l'intégration Discord"
835 },
836 "connectionTitle": "Connexion webhook Discord",
837 "connectionHint": "Collez une URL de webhook Discord et choisissez les événements de tâche à publier.",
838 "connected": "Connecté",
839 "paused": "En pause",
840 "webhookLabel": "URL du webhook",
841 "webhookPlaceholder": "https://discord.com/api/webhooks/...",
842 "webhookHint": "Créez un webhook de canal dans Discord et collez l'URL générée ici.",
843 "channelLabel": "Nom du canal",
844 "channelPlaceholder": "#team-updates",
845 "channelHint": "Libellé facultatif pour votre référence. Discord contrôle le canal réel via la configuration du webhook.",
846 "eventsTitle": "Notifications d'événements",
847 "eventsHint": "Choisissez les changements de projet à envoyer vers Discord.",
848 "events": {
849 "taskCreated": "Nouvelles tâches",
850 "taskStatusChanged": "Changements de statut",
851 "taskPriorityChanged": "Changements de priorité",
852 "taskTitleChanged": "Changements de titre",
853 "taskDescriptionChanged": "Changements de description",
854 "taskCommentCreated": "Nouveaux commentaires"
855 },
856 "connect": "Connecter Discord",
857 "saveChanges": "Enregistrer les modifications",
858 "update": "Mettre à jour Discord",
859 "disconnect": "Déconnecter"
860 },
861 "genericWebhookIntegration": {
862 "validation": {
863 "webhookInvalid": "Entrez une URL de webhook valide"
864 },
865 "toast": {
866 "saved": "Intégration webhook générique enregistrée avec succès",
867 "saveError": "Échec de l'enregistrement de l'intégration webhook générique",
868 "enabled": "Notifications webhook génériques activées",
869 "disabled": "Notifications webhook génériques en pause",
870 "updateError": "Échec de la mise à jour de l'intégration webhook générique",
871 "removed": "Intégration webhook générique supprimée avec succès",
872 "removeError": "Échec de la suppression de l'intégration webhook générique"
873 },
874 "connectionTitle": "Connexion webhook sortant",
875 "connectionHint": "Envoyez les événements de tâche en JSON vers votre propre point de terminaison. Un en-tête signé X-Kaneo-Signature est inclus lorsqu'un secret est configuré.",
876 "connected": "Connecté",
877 "paused": "En pause",
878 "webhookLabel": "URL du point de terminaison",
879 "webhookPlaceholder": "https://example.com/webhooks/kaneo",
880 "webhookHint": "Kaneo envoie des requêtes POST avec une charge JSON pour chaque événement activé.",
881 "secretLabel": "Secret de signature",
882 "secretPlaceholder": "Secret partagé facultatif",
883 "secretHint": "Facultatif. Si défini, Kaneo signe le corps de la requête et envoie le digest hexadécimal dans l'en-tête X-Kaneo-Signature.",
884 "secretHintConfigured": "Un secret de signature est déjà configuré ({{secret}}). Entrez-en un nouveau pour le remplacer.",
885 "eventsTitle": "Notifications d'événements",
886 "eventsHint": "Choisissez les changements de projet qui déclenchent les webhooks sortants.",
887 "events": {
888 "taskCreated": "Nouvelles tâches",
889 "taskStatusChanged": "Changements de statut",
890 "taskPriorityChanged": "Changements de priorité",
891 "taskTitleChanged": "Changements de titre",
892 "taskDescriptionChanged": "Changements de description",
893 "taskCommentCreated": "Nouveaux commentaires"
894 },
895 "connect": "Connecter le webhook",
896 "saveChanges": "Enregistrer les modifications",
897 "disconnect": "Déconnecter"
898 },
899 "telegramIntegration": {
900 "validation": {
901 "botTokenInvalid": "Entrez un jeton de bot Telegram valide",
902 "chatIdRequired": "L'identifiant du chat est requis",
903 "threadIdInvalid": "Entrez un identifiant de sujet Telegram valide"
904 },
905 "toast": {
906 "saved": "Intégration Telegram enregistrée avec succès",
907 "saveError": "Échec de l'enregistrement de l'intégration Telegram",
908 "enabled": "Notifications Telegram activées",
909 "disabled": "Notifications Telegram mises en pause",
910 "updateError": "Échec de la mise à jour de l'intégration Telegram",
911 "removed": "Intégration Telegram supprimée avec succès",
912 "removeError": "Échec de la suppression de l'intégration Telegram"
913 },
914 "connectionTitle": "Connexion du bot Telegram",
915 "connectionHint": "Utilisez un jeton de bot Telegram et un identifiant de chat pour envoyer les mises à jour du projet dans un chat ou un sujet.",
916 "connected": "Connecté",
917 "paused": "En pause",
918 "botTokenLabel": "Jeton du bot",
919 "botTokenPlaceholder": "123456789:AAExampleBotToken",
920 "botTokenHint": "Créez un bot avec BotFather et collez son jeton ici.",
921 "botTokenHintConfigured": "Un jeton de bot est déjà configuré ({{token}}). Entrez-en un nouveau pour le remplacer.",
922 "chatIdLabel": "Identifiant du chat",
923 "chatIdPlaceholder": "-1001234567890 ou @team_updates",
924 "chatIdHint": "Entrez l'identifiant du chat Telegram ou le nom d'utilisateur du canal où publier les mises à jour.",
925 "threadIdLabel": "Identifiant du sujet",
926 "threadIdPlaceholder": "Identifiant de sujet facultatif",
927 "threadIdHint": "Facultatif. Utilisez-le pour les sujets de forum dans les groupes Telegram.",
928 "chatLabelLabel": "Libellé du chat",
929 "chatLabelPlaceholder": "Mises à jour engineering",
930 "chatLabelHint": "Libellé facultatif pour votre référence dans Kaneo.",
931 "eventsTitle": "Notifications d'événements",
932 "eventsHint": "Choisissez les changements du projet à publier dans Telegram.",
933 "events": {
934 "taskCreated": "Nouvelles tâches",
935 "taskStatusChanged": "Changements de statut",
936 "taskPriorityChanged": "Changements de priorité",
937 "taskTitleChanged": "Changements de titre",
938 "taskDescriptionChanged": "Changements de description",
939 "taskCommentCreated": "Nouveaux commentaires"
940 },
941 "connect": "Connecter Telegram",
942 "saveChanges": "Enregistrer les modifications",
943 "disconnect": "Déconnecter"
944 },
945 "repositoryBrowser": {
946 "title": "Sélectionner un dépôt",
947 "description": "Choisissez un dépôt où votre application GitHub est installée pour activer la synchronisation des problèmes.",
948 "searchPlaceholder": "Rechercher des dépôts...",
949 "loadError": "Échec du chargement des dépôts",
950 "tryAgain": "Réessayer",
951 "emptyTitle": "Aucun dépôt trouvé",
952 "emptyHint": "Installez l'application GitHub sur vos dépôts pour les voir ici.",
953 "installGithubApp": "Installer l'application GitHub",
954 "noSearchMatchTitle": "Aucun dépôt ne correspond à votre recherche",
955 "noSearchMatchHint": "Essayez d'ajuster vos termes de recherche ou effacez la recherche pour voir tous les dépôts.",
956 "footerSummary": "{{repoCount}} dépôts répartis sur {{installationCount}} installations",
957 "manageInstallations": "Gérer les installations",
958 "updatedPrefix": "Mis à jour",
959 "relativeJustNow": "Maintenant",
960 "relativeMinutesAgo": "il y a {{count}}m",
961 "relativeHoursAgo": "il y a {{count}}h",
962 "relativeDaysAgo": "il y a {{count}}j"
963 },
964 "tasksImportExport": {
965 "exportTasks": "Exporter les tâches",
966 "importTasks": "Importer les tâches",
967 "dialogTitle": "Importer les tâches",
968 "dialogDescription": "Téléversez un fichier JSON contenant les tâches à importer dans ce projet.",
969 "expectedFormat": "Format attendu:",
970 "dropHint": "Glissez et déposez votre fichier JSON ici",
971 "selectFile": "Sélectionner un fichier",
972 "exporting": "Exportation des tâches...",
973 "exportSuccess": "Tâches exportées avec succès",
974 "exportError": "Échec de l'exportation des tâches",
975 "importing": "Importation des tâches...",
976 "importSuccess": "Importation réussie de {{count}} tâches",
977 "importPartialError": "Échec de l'importation de {{count}} tâches",
978 "importError": "Échec de l'importation des tâches",
979 "invalidFormat": "Format de fichier d'importation invalide",
980 "noFileDropped": "Aucun fichier n'a été déposé",
981 "notJsonFile": "Veuillez importer un fichier JSON"
982 },
983 "workflowEditor": {
984 "loading": "Chargement...",
985 "createColumnsFirst": "Créez des colonnes d'abord pour configurer les règles d'automatisation.",
986 "githubHeading": "GitHub",
987 "githubHint": "Lorsqu'un événement GitHub se produit, déplacez la tâche liée vers une colonne.",
988 "selectColumnPlaceholder": "Sélectionner une colonne...",
989 "toastUpdated": "Règle de workflow mise à jour",
990 "toastError": "Échec de la mise à jour de la règle",
991 "events": {
992 "branch_push": "Push de branche",
993 "pr_opened": "PR Ouverte",
994 "pr_merged": "PR Fusionné",
995 "issue_opened": "Problème Ouvert",
996 "issue_closed": "Problème Fermé"
997 }
998 },
999 "externalLinks": {
1000 "resources": "Ressources",
1001 "issue": "Problème",
1002 "branch": "Branche",
1003 "merged": "Fusionné",
1004 "draft": "Brouillon",
1005 "open": "Ouvert"
1006 }
1007 },
1008 "navigation": {
1009 "commandPalette": {
1010 "suggestions": "Suggestions",
1011 "commands": "Commandes",
1012 "projects": "Projets",
1013 "search": "Recherche",
1014 "members": "Membres",
1015 "createTask": "Créer une tâche",
1016 "createProject": "Créer un projet",
1017 "createWorkspace": "Créer un espace de travail",
1018 "lightTheme": "Thème clair",
1019 "darkTheme": "Thème sombre",
1020 "systemTheme": "Thème système",
1021 "keyboardShortcuts": "Raccourcis clavier",
1022 "inputPlaceholder": "Rechercher des applications et des commandes...",
1023 "empty": "Aucun résultat trouvé.",
1024 "footer": {
1025 "navigate": "Naviguer",
1026 "open": "Ouvrir",
1027 "close": "Fermer"
1028 }
1029 },
1030 "notifications": "Notifications",
1031 "sidebar": {
1032 "overview": "Vue d'ensemble",
1033 "projects": "Projets",
1034 "members": "Membres",
1035 "invitations": "Invitations",
1036 "more": "Plus"
1037 },
1038 "projectList": {
1039 "viewProject": "Voir le projet",
1040 "shareProject": "Partager le projet",
1041 "projectSettings": "Paramètres du projet",
1042 "linkCopied": "Lien du projet copié dans le presse-papiers",
1043 "addProject": "Ajouter un projet",
1044 "deleteConfirmTitle": "Supprimer le projet?",
1045 "deleteConfirmDescription": "Cela supprimera définitivement le projet et toutes ses données. Vous ne pouvez pas annuler cette action.",
1046 "deletedToast": "Projet supprimé",
1047 "deleteProject": "Supprimer le projet"
1048 },
1049 "search": {
1050 "inputPlaceholder": "Rechercher des tâches, projets, commentaires...",
1051 "minCharsHint": "Tapez au moins 3 caractères pour rechercher",
1052 "groups": {
1053 "task": "Tâches",
1054 "project": "Projets",
1055 "workspace": "Espaces de travail",
1056 "comment": "Commentaires",
1057 "activity": "Activités",
1058 "fallback": "Résultats"
1059 }
1060 },
1061 "settingsLayout": {
1062 "toggleSidebar": "Basculer la barre latérale",
1063 "back": "Retour"
1064 },
1065 "userMenu": {
1066 "signedOutSuccess": "Déconnexion réussie",
1067 "signOutFailed": "Échec de la déconnexion",
1068 "unnamedUser": "Utilisateur",
1069 "settings": "Paramètres",
1070 "signingOut": "Déconnexion...",
1071 "logOut": "Déconnexion"
1072 },
1073 "workspaceSwitcher": {
1074 "workspaces": "Espaces de travail",
1075 "switching": "Changement...",
1076 "addWorkspace": "Ajouter un espace de travail",
1077 "selectWorkspace": "Sélectionner un espace de travail"
1078 },
1079 "page": {
1080 "projectsTitle": "Projets",
1081 "settingsTitle": "Paramètres",
1082 "backToWorkspace": "Retour à l'espace de travail",
1083 "settingsWorkspaceTab": "Espace de travail"
1084 },
1085 "projectSettings": {
1086 "projectLabel": "Projet"
1087 },
1088 "keyboardShortcuts": {
1089 "title": "Raccourcis clavier",
1090 "subtitle": "Accélérez votre flux de travail avec les raccourcis clavier",
1091 "searchPlaceholder": "Rechercher des raccourcis...",
1092 "footer": "Appuyez sur <kbd>Echap</kbd> pour fermer",
1093 "categories": {
1094 "general": "Général",
1095 "create": "Créer",
1096 "views": "Vues",
1097 "navigation": "Navigation",
1098 "quickSelect": "Sélection rapide (dans les popovers)"
1099 },
1100 "items": {
1101 "openCommandPalette": "Ouvrir la palette de commandes",
1102 "globalSearch": "Recherche globale",
1103 "toggleSidebar": "Basculer la barre latérale",
1104 "showShortcuts": "Afficher les raccourcis clavier",
1105 "closeModal": "Fermer la modale/popover",
1106 "createTask": "Créer une tâche",
1107 "createProject": "Créer un projet",
1108 "createWorkspace": "Créer un espace de travail",
1109 "boardView": "Passer à la vue tableau",
1110 "listView": "Passer à la vue de liste",
1111 "backlogView": "Passer à la vue backlog",
1112 "nextTask": "Tâche suivante",
1113 "prevTask": "Tâche précédente",
1114 "openTask": "Ouvrir la tâche sélectionnée",
1115 "quickSelectNumber": "Sélectionner une option par numéro"
1116 }
1117 }
1118 },
1119 "notifications": {
1120 "title": "Notifications",
1121 "newCount_one": "{{count}} nouvelle",
1122 "newCount_other": "{{count}} nouvelles",
1123 "emptyTitle": "Aucune notification pour le moment",
1124 "emptySubtitle": "Vous verrez les mises à jour et l'activité ici.",
1125 "clearAll": "Effacer toutes les notifications",
1126 "clearDialogTitle": "Effacer toutes les notifications?",
1127 "clearDialogDescription": "Cela supprimera définitivement toutes les notifications. Vous ne pouvez pas annuler cette action.",
1128 "shortcuts": {
1129 "open": "Ouvrir les notifications"
1130 },
1131 "events": {
1132 "task_created": {
1133 "title": "Nouvelle tâche créée",
1134 "content": "La tâche \"{{taskTitle}}\" a été créée"
1135 },
1136 "workspace_created": {
1137 "title": "Espace de travail créé",
1138 "content": "Votre espace de travail \"{{workspaceName}}\" a été créé avec succès"
1139 },
1140 "task_status_changed": {
1141 "title": "Statut de la tâche modifié",
1142 "content": "Le statut de la tâche \"{{taskTitle}}\" est passé de \"{{oldStatus}}\" à \"{{newStatus}}\""
1143 },
1144 "task_assignee_changed": {
1145 "title": "Tâche assignée à vous",
1146 "content": "Vous avez été assigné à la tâche : {{taskTitle}}"
1147 },
1148 "time_entry_created": {
1149 "title": "Suivi du temps démarré",
1150 "contentWithTask": "Le suivi du temps a démarré sur la tâche : {{taskTitle}}",
1151 "contentWithoutTask": "Le suivi du temps a démarré sur une tâche"
1152 }
1153 }
1154 },
1155 "activity": {
1156 "assignedToSelf": "s'est assigné la tâche",
1157 "unassigned": "a désassigné la tâche",
1158 "assignedTo": "a assigné la tâche à {{name}}",
1159 "changedStatus": "a changé le statut de {{from}} à {{to}}",
1160 "changedPriority": "a changé la priorité de {{from}} à {{to}}",
1161 "clearedDueDate": "a effacé la date d'échéance",
1162 "setDueDate": "a défini la date d'échéance à {{date}}",
1163 "changedDueDate": "a changé la date d'échéance de {{from}} à {{to}}",
1164 "changedTitle": "a changé le titre de \"{{from}}\" à \"{{to}}\"",
1165 "githubUser": "GitHub User",
1166 "comment": {
1167 "github": "GitHub",
1168 "viewGithubProfile": "View GitHub Profile",
1169 "commentedOnGithub": "a commenté sur GitHub",
1170 "cannotBeEmpty": "Le commentaire ne peut pas être vide",
1171 "mustBeLoggedInToEdit": "Vous devez être connecté pour modifier les commentaires",
1172 "updated": "Commentaire mis à jour",
1173 "failedToUpdate": "Échec de la mise à jour du commentaire",
1174 "edit": "Modifier le commentaire",
1175 "editPlaceholder": "Modifier le commentaire...",
1176 "save": "Enregistrer",
1177 "added": "Commentaire ajouté",
1178 "failedToAdd": "Échec de l'ajout du commentaire",
1179 "leavePlaceholder": "Laisser un commentaire...",
1180 "attachFile": "Joindre un fichier",
1181 "submitShortcut": "Soumettre le commentaire",
1182 "editor": {
1183 "uploadsOnlyOnSavedTasks": "Les téléversements de fichiers sont uniquement disponibles sur les tâches enregistrées.",
1184 "uploadingFile": "Téléversement du fichier...",
1185 "imageUploaded": "Image téléversée",
1186 "fileAttached": "Fichier joint",
1187 "failedToUploadFile": "Échec du téléversement du fichier",
1188 "enterUrl": "Entrer une URL",
1189 "plaintext": "Texte brut",
1190 "autoDetect": "Détection automatique",
1191 "slashGroupText": "Texte",
1192 "slashGroupLists": "Listes",
1193 "slashGroupInsert": "Insérer",
1194 "slashParagraph": "Texte",
1195 "slashHeading": "Titre",
1196 "slashBulletList": "Liste à puces",
1197 "slashTaskList": "Liste de tâches",
1198 "slashOrderedList": "Liste numérotée",
1199 "slashQuote": "Citation",
1200 "slashCodeBlock": "Bloc de code",
1201 "slashTable": "Tableau",
1202 "slashFile": "Fichier",
1203 "searchParagraph": "texte paragraphe normal",
1204 "searchHeading": "titre h2",
1205 "searchBulletList": "liste puces non ordonnée",
1206 "searchTaskList": "tache à faire liste à cocher case à cocher liste de tâches",
1207 "searchOrderedList": "liste ordonnée numérotée",
1208 "searchQuote": "citation",
1209 "searchCodeBlock": "bloc de code",
1210 "searchTable": "tableau grille",
1211 "searchFile": "fichier pièce jointe image photo picture upload",
1212 "embedErrorInvalidUrl": "Entrez une URL valide",
1213 "embedErrorYoutubeOnly": "Seuls les liens YouTube peuvent être intégrés.",
1214 "embedVideo": "Intégrer la vidéo",
1215 "keepAsLink": "Conserver comme lien",
1216 "hintTab": "Tab",
1217 "hintEsc": "Esc",
1218 "pasteUrl": "Coller l'URL",
1219 "asLink": "Comme lien",
1220 "embed": "Intégrer",
1221 "noCommands": "Aucune commande",
1222 "ariaCommentContent": "Contenu du commentaire",
1223 "ariaCommentEditor": "Éditeur de commentaires",
1224 "ariaCopyCode": "Copier le code",
1225 "ariaCopied": "Copié",
1226 "copy": "Copier",
1227 "copied": "Copié",
1228 "dropImageToUpload": "Déposer l'image pour téléverser",
1229 "previewImageAlt": "Aperçu de l'image",
1230 "codeLang": {
1231 "bash": "Bash",
1232 "csharp": "C#",
1233 "cpp": "C++",
1234 "css": "CSS",
1235 "go": "Golang",
1236 "graphql": "GraphQL",
1237 "html": "HTML",
1238 "json": "JSON",
1239 "java": "Java",
1240 "javascript": "JavaScript",
1241 "markdown": "Markdown",
1242 "plaintext": "Plaintext",
1243 "python": "Python",
1244 "rust": "Rust",
1245 "sql": "SQL",
1246 "swift": "Swift",
1247 "typescript": "TypeScript",
1248 "yaml": "YAML"
1249 }
1250 }
1251 }
1252 },
1253 "tasks": {
1254 "status": {
1255 "label": "Statut",
1256 "to-do": "À faire",
1257 "in-progress": "En cours",
1258 "in-review": "En revue",
1259 "done": "Fait",
1260 "archived": "Archivé",
1261 "planned": "Planifié"
1262 },
1263 "priority": {
1264 "label": "Priorité",
1265 "no-priority": "Pas de priorité",
1266 "low": "Basse",
1267 "medium": "Moyenne",
1268 "high": "Haute",
1269 "urgent": "Urgente"
1270 },
1271 "boardSearchPlaceholder": "Rechercher des tickets...",
1272 "view": {
1273 "board": "Tableau",
1274 "list": "Liste"
1275 },
1276 "common": {
1277 "selectTask": "Sélectionner une tâche",
1278 "loadingTask": "Chargement de la tâche..."
1279 },
1280 "detail": {
1281 "subtaskOf": "Sous-tâche de",
1282 "activity": "Activité",
1283 "noActivity": "Aucune activité trouvée",
1284 "openInFullPage": "Ouvrir en plein écran",
1285 "titlePlaceholder": "Cliquez pour ajouter un titre",
1286 "addDescription": "Ajouter une description...",
1287 "editor": {
1288 "ariaLabel": "Éditeur de description de tâche",
1289 "placeholder": "Écrire une description...",
1290 "previewImage": "Aperçu de l'image",
1291 "enterUrl": "Entrer une URL",
1292 "autoDetect": "Détection automatique",
1293 "copyCode": "Copier le code",
1294 "copy": "Copier",
1295 "copied": "Copié",
1296 "attachFile": "Joindre un fichier",
1297 "dropToUpload": "Déposer l'image pour téléverser",
1298 "checkbox": {
1299 "markIncomplete": "Marquer la tâche comme incomplète",
1300 "markComplete": "Marquer la tâche comme terminée"
1301 },
1302 "upload": {
1303 "loading": "Téléversement du fichier...",
1304 "failed": "Échec du téléversement du fichier",
1305 "imageSuccess": "Image téléversée",
1306 "fileSuccess": "Fichier joint"
1307 },
1308 "slash": {
1309 "groups": {
1310 "text": "Texte",
1311 "lists": "Listes",
1312 "insert": "Insérer"
1313 },
1314 "empty": "Aucune commande",
1315 "commands": {
1316 "paragraph": "Texte",
1317 "heading-2": "Titre",
1318 "bullet-list": "Liste à puces",
1319 "task-list": "Liste de tâches",
1320 "ordered-list": "Liste numérotée",
1321 "blockquote": "Citation",
1322 "code-block": "Bloc de code",
1323 "table": "Tableau",
1324 "file": "Fichier"
1325 }
1326 },
1327 "languages": {
1328 "bash": "Bash",
1329 "csharp": "C#",
1330 "cpp": "C++",
1331 "css": "CSS",
1332 "clojure": "Clojure",
1333 "cypher": "Cypher",
1334 "dart": "Dart",
1335 "diff": "Diff",
1336 "elixir": "Elixir",
1337 "excel": "Excel",
1338 "go": "Golang",
1339 "graphql": "GraphQL",
1340 "html": "HTML",
1341 "haskell": "Haskell",
1342 "json": "JSON",
1343 "java": "Java",
1344 "javascript": "JavaScript",
1345 "kotlin": "Kotlin",
1346 "makefile": "Makefile",
1347 "markdown": "Markdown",
1348 "ocaml": "OCaml",
1349 "php": "PHP",
1350 "perl": "Perl",
1351 "plaintext": "Plaintext",
1352 "python": "Python",
1353 "r": "R",
1354 "reasonml": "ReasonML",
1355 "ruby": "Ruby",
1356 "rust": "Rust",
1357 "sql": "SQL",
1358 "swift": "Swift",
1359 "toml": "TOML",
1360 "terraform": "Terraform",
1361 "typescript": "TypeScript",
1362 "xml": "XML",
1363 "yaml": "YAML"
1364 },
1365 "embed": {
1366 "choice": {
1367 "embedVideo": "Intégrer la vidéo",
1368 "keepAsLink": "Conserver comme lien"
1369 },
1370 "inputPlaceholder": "Coller l'URL",
1371 "embeddedContent": "Contenu intégré",
1372 "asLink": "Comme lien",
1373 "submit": "Intégrer",
1374 "errors": {
1375 "invalidUrl": "Entrez une URL valide",
1376 "onlyYoutube": "Seuls les liens YouTube peuvent être intégrés."
1377 },
1378 "onlyYoutubeInline": "Seuls les liens YouTube peuvent être intégrés. Utilisez le mode lien à la place."
1379 }
1380 }
1381 },
1382 "entity": {
1383 "task": "Tâche"
1384 },
1385 "relations": {
1386 "title": "Relations",
1387 "tasksInProject": "Tâches dans le projet",
1388 "linkError": "Échec de la liaison de la tâche",
1389 "empty": "Aucune tâche liée",
1390 "searchPlaceholder": "Rechercher des tâches à lier...",
1391 "noTasksFound": "Aucune tâche trouvée",
1392 "openTask": "Ouvrir la tâche",
1393 "removeRelation": "Supprimer la relation",
1394 "related": "Related",
1395 "blocks": "Blocks",
1396 "selectTask": "Select a task to link",
1397 "types": {
1398 "blocks": "blocs",
1399 "related": "relatif à"
1400 }
1401 },
1402 "subtasks": {
1403 "title": "Sous-tâches",
1404 "inputPlaceholder": "Titre de la sous-tâche...",
1405 "addAction": "Ajouter",
1406 "empty": "Aucune sous-tâche pour le moment",
1407 "createError": "Échec de la création de la sous-tâche",
1408 "deleteSuccess": "Tâche supprimée avec succès",
1409 "deleteError": "Échec de la suppression de la tâche",
1410 "deleteDialogTitle": "Supprimer la tâche ?",
1411 "deleteDialogDescription": "Cela supprimera définitivement la tâche et toutes ses données. Vous ne pouvez pas annuler cette action.",
1412 "deleteAction": "Supprimer la tâche"
1413 },
1414 "properties": {
1415 "title": "Propriétés",
1416 "labels": "Labels",
1417 "copyTaskLink": "Copier le lien de la tâche",
1418 "copyTaskBranch": "Copier la branche de la tâche",
1419 "start": "Début",
1420 "startDate": "Date de début",
1421 "noDate": "Pas de date"
1422 },
1423 "move": {
1424 "title": "Déplacer la tâche",
1425 "projectLabel": "Projet de destination",
1426 "projectPlaceholder": "Sélectionner un projet",
1427 "statusLabel": "Statut de destination",
1428 "statusHintKeep": "Le workflow du projet de destination supporte déjà le statut actuel.",
1429 "statusHintAdjust": "Choisissez le statut à utiliser dans le projet de destination.",
1430 "action": "Déplacer la tâche",
1431 "success": "Tâche déplacée avec succès",
1432 "error": "Échec du déplacement de la tâche"
1433 },
1434 "popover": {
1435 "assignee": {
1436 "unassigned": "Non assigné",
1437 "updateError": "Échec de la mise à jour de l'assigné de la tâche"
1438 },
1439 "status": {
1440 "updateError": "Échec de la mise à jour du statut de la tâche"
1441 },
1442 "priority": {
1443 "updateError": "Échec de la mise à jour de la priorité de la tâche"
1444 },
1445 "dueDate": {
1446 "updateSuccess": "Date d'échéance de la tâche mise à jour avec succès",
1447 "updateError": "Échec de la mise à jour de la date d'échéance de la tâche",
1448 "clear": "Effacer la date"
1449 },
1450 "startDate": {
1451 "updateSuccess": "Date de début de la tâche mise à jour avec succès",
1452 "updateError": "Échec de la mise à jour de la date de début de la tâche",
1453 "clear": "Effacer la date de début"
1454 },
1455 "labels": {
1456 "searchPlaceholder": "Rechercher des labels...",
1457 "empty": "Aucun label trouvé",
1458 "create": "Créer \"{{name}}\"",
1459 "chooseColor": "Choisir une couleur",
1460 "addSuccess": "Label ajouté",
1461 "removeSuccess": "Label supprimé",
1462 "updateError": "Échec de la mise à jour du label",
1463 "createSuccess": "Label créé et ajouté",
1464 "createError": "Échec de la création du label",
1465 "colors": {
1466 "stone": "Pierre",
1467 "slate": "Ardoise",
1468 "lavender": "Lavande",
1469 "sage": "Sauge",
1470 "forest": "Forêt",
1471 "amber": "Ambre",
1472 "terracotta": "Terre cuite",
1473 "rose": "Rose",
1474 "crimson": "Cramoisi"
1475 }
1476 }
1477 },
1478 "backlog": {
1479 "pageTitle": "Backlog de {{name}}",
1480 "noTasksToMove": "Aucune tâche planifiée à déplacer",
1481 "moveAllConfirm": "Déplacer toutes les tâches planifiées {{count}} vers À faire ?",
1482 "moveAllSuccess": "Déplacé {{count}} tâches vers À faire",
1483 "plan": "Plan",
1484 "moveAllTooltip": "Déplacer toutes les tâches planifiées vers À faire",
1485 "moveAll": "Déplacer toutes",
1486 "addTask": "Ajouter une tâche",
1487 "filter": "Filtrer",
1488 "addFilter": "Ajouter un filtre...",
1489 "sections": {
1490 "planned": "Planifié",
1491 "archived": "Archivé"
1492 },
1493 "noTasksInSection": "Aucune tâche {{section}}",
1494 "filters": {
1495 "priority": "Priorité: {{name}}",
1496 "assignee": "Assigné: {{name}}",
1497 "due": "Échéance: {{date}}",
1498 "label": "Label: {{name}}",
1499 "dueThisWeek": "Échéance cette semaine",
1500 "dueNextWeek": "Échéance la semaine prochaine",
1501 "noDueDate": "Pas de date d'échéance"
1502 }
1503 },
1504 "sort": {
1505 "label": "Trier",
1506 "by": "Trier par",
1507 "direction": "Direction",
1508 "ascending": "Croissant",
1509 "descending": "Décroissant",
1510 "fields": {
1511 "position": "Manuel (position)",
1512 "createdAt": "Date de création",
1513 "priority": "Priorité",
1514 "dueDate": "Date d'échéance",
1515 "title": "Titre",
1516 "number": "Numéro de tâche"
1517 }
1518 },
1519 "boardFilters": {
1520 "filterBy": "Filtrer par",
1521 "allStatuses": "Tous les statuts",
1522 "allPriorities": "Toutes les priorités",
1523 "allAssignees": "Tous les assignés",
1524 "allDueDates": "Toutes les dates d'échéance",
1525 "allLabels": "Tous les labels",
1526 "selectedCount": "{{count}} sélectionné",
1527 "subjects": {
1528 "status": "Statut",
1529 "priority": "Priorité",
1530 "assignee": "Assigné",
1531 "dueDate": "Date d'échéance",
1532 "labels": "Labels"
1533 },
1534 "operators": {
1535 "isAnyOf": "est l'un des",
1536 "includeAnyOf": "inclut l'un des"
1537 }
1538 },
1539 "gantt": {
1540 "pageTitle": "{{name}} — Gantt",
1541 "title": "Chronologie de Gantt",
1542 "searchPlaceholder": "Rechercher des tâches planifiées...",
1543 "hideTasks": "Masquer les tâches",
1544 "showTasks": "Afficher les tâches",
1545 "noTasks": "Aucune tâche planifiée",
1546 "noTasksSubtitle": "Ajoutez une date de début, une date d'échéance ou les deux pour placer les tâches dans la chronologie du projet.",
1547 "noTasksFound": "Aucune tâche trouvée",
1548 "noTasksMatch": "Aucune tâche planifiée ne correspond à \"{{query}}\"",
1549 "taskHeader": "Tâche",
1550 "updateDatesError": "Échec de la mise à jour des dates de la tâche",
1551 "resizeStart": "Redimensionner la date de début",
1552 "resizeDue": "Redimensionner la date d'échéance",
1553 "taskAriaLabel": "{{title}} — ouvrir ou déplacer"
1554 },
1555 "delete": {
1556 "title": "Supprimer la tâche ?",
1557 "description": "Cela supprimera définitivement la tâche et toutes ses données. Vous ne pouvez pas annuler cette action.",
1558 "action": "Supprimer la tâche",
1559 "success": "Tâche supprimée avec succès",
1560 "error": "Échec de la suppression de la tâche"
1561 },
1562 "archive": {
1563 "success": "{{count}} tâches archivées"
1564 },
1565 "listView": {
1566 "addTask": "Ajouter une tâche",
1567 "archiveAllTooltip": "Archiver toutes les tâches terminées",
1568 "noTasks": "Aucune tâche"
1569 },
1570 "kanban": {
1571 "addTask": "Ajouter une tâche"
1572 },
1573 "pr": {
1574 "merged": "Fusionné",
1575 "draft": "Brouillon",
1576 "open": "Ouvert",
1577 "label": "Pull Request",
1578 "count_one": "{{count}} PR",
1579 "count_other": "{{count}} PRs"
1580 },
1581 "assignee": {
1582 "label": "Assigné",
1583 "unassigned": "Non assigné"
1584 },
1585 "dueDate": {
1586 "label": "Date d'échéance",
1587 "clear": "Effacer la date",
1588 "updateSuccess": "Date d'échéance de la tâche mise à jour avec succès",
1589 "updateError": "Échec de la mise à jour de la date d'échéance de la tâche",
1590 "clearSuccess": "Date d'échéance de la tâche effacée",
1591 "clearError": "Échec de l'effacement de la date d'échéance"
1592 },
1593 "labels": {
1594 "label": "Labels",
1595 "empty": "Aucun label disponible"
1596 },
1597 "update": {
1598 "success": "Tâche mise à jour avec succès",
1599 "error": "Échec de la mise à jour de la tâche"
1600 },
1601 "contextMenu": {
1602 "copyLink": "Copier le lien",
1603 "copyLinkSuccess": "Lien de la tâche copié !"
1604 },
1605 "actions": {
1606 "archive": "Archiver",
1607 "markAsPlanned": "Marquer comme planifié",
1608 "delete": "Supprimer..."
1609 },
1610 "bulk": {
1611 "selectedCount": "{{count}} sélectionné",
1612 "moveToBacklog": "Déplacer vers le backlog",
1613 "moveToBacklogSuccess": "{{count}} tâches déplacées vers le backlog",
1614 "moveToBacklogError": "Échec du déplacement des tâches vers le backlog",
1615 "moveToBoard": "Déplacer vers le tableau",
1616 "moveToBoardSuccess": "{{count}} tâches déplacées vers le tableau",
1617 "moveToBoardError": "Échec du déplacement des tâches vers le tableau",
1618 "delete": "Supprimer les tâches",
1619 "deleteConfirm": "Supprimer {{count}} tâches ? Cette action ne peut pas être annulée.",
1620 "deleteSuccess": "{{count}} tâches supprimées",
1621 "deleteError": "Échec de la suppression des tâches",
1622 "archive": "Archiver les tâches",
1623 "archiveSuccess": "{{count}} tâches archivées",
1624 "archiveError": "Échec de l'archivage des tâches",
1625 "updateSuccess": "{{count}} tâches mises à jour",
1626 "updateError": "Échec de la mise à jour des tâches",
1627 "assignTo": "Attribuer à",
1628 "assignSuccess": "{{count}} tâches attribuées",
1629 "assignError": "Échec de l'attribution des tâches",
1630 "setPriority": "Définir la priorité",
1631 "updatePriorityError": "Échec de la mise à jour de la priorité",
1632 "addLabel": "Ajouter un label",
1633 "addLabelSuccess": "Label ajouté à {{count}} tâches",
1634 "addLabelError": "Échec de l'ajout du label",
1635 "setDueDate": "Définir la date d'échéance",
1636 "updateDueDateError": "Échec de la mise à jour de la date d'échéance",
1637 "actions": "Actions",
1638 "searchActions": "Rechercher des actions...",
1639 "noActionsFound": "Aucune action trouvée.",
1640 "changeStatus": "Changer le statut"
1641 }
1642 },
1643 "invitations": {
1644 "pageTitle": "Invitations",
1645 "pendingInvitations": "Invitations en attente",
1646 "acceptSubtitle": "Acceptez les invitations pour rejoindre les workspaces",
1647 "noPendingTitle": "Aucune invitation en attente",
1648 "noPendingDescription": "Vous n'avez aucune invitation de workspace en attente pour le moment.",
1649 "continueToSetup": "Continuer vers la configuration",
1650 "skipForNow": "Ignorer pour l'instant",
1651 "table": {
1652 "workspace": "Workspace",
1653 "invitedBy": "Invité par",
1654 "expires": "Expire"
1655 },
1656 "toast": {
1657 "acceptError": "Échec de l'acceptation de l'invitation",
1658 "acceptSuccess": "Invitation acceptée ! Bienvenue dans l'équipe.",
1659 "rejectError": "Échec du rejet de l'invitation",
1660 "rejectSuccess": "Invitation rejetée"
1661 }
1662 },
1663 "workspace": {
1664 "projects": {
1665 "pageTitle": "Projets",
1666 "createProject": "Créer un projet",
1667 "title": "Titre",
1668 "progress": "Progression",
1669 "targetDate": "Date cible",
1670 "dueDate": "Date d'échéance",
1671 "status": "Statut",
1672 "emptyTitle": "Aucun projet pour le moment",
1673 "emptyDescription": "Commencez par créer votre premier projet.",
1674 "projectStatus": {
1675 "notStarted": "Non commencé",
1676 "complete": "Terminé",
1677 "inProgress": "En cours"
1678 },
1679 "noDueDate": "Pas de date d'échéance"
1680 },
1681 "search": {
1682 "pageTitle": "Rechercher",
1683 "backToDashboard": "Retour au tableau de bord",
1684 "placeholder": "Rechercher des tâches par titre ou ID court (ex: DEP-23)...",
1685 "hint": "Rechercher dans tous les projets de ce workspace. Utilisez des ID courts comme DEP-23 pour trouver des tâches spécifiques.",
1686 "searching": "Recherche...",
1687 "resultsFound_one": "{{count}} résultat trouvé",
1688 "resultsFound_other": "{{count}} résultats trouvés",
1689 "noResultsTitle": "Aucun résultat trouvé",
1690 "noResultsDescription": "Essayez d'ajuster vos termes de recherche ou recherchez autre chose",
1691 "startTitle": "Commencer la recherche",
1692 "startDescription": "Entrez un terme de recherche pour trouver des tâches dans tous les projets",
1693 "quickSearchesLabel": "Recherches rapides :",
1694 "suggestionHighPriority": "Priorité élevée",
1695 "suggestionBug": "Bug",
1696 "suggestionFeature": "Fonctionnalité",
1697 "suggestionInProgress": "En cours",
1698 "suggestionCompleted": "Terminé"
1699 },
1700 "create": {
1701 "pageTitle": "Créer un workspace",
1702 "heading": "Créer un nouveau workspace",
1703 "subtitle": "Les workspaces sont des environnements partagés où les équipes peuvent travailler sur des projets, des cycles et des problèmes.",
1704 "nameLabel": "Nom du workspace",
1705 "namePlaceholder": "Entrez le nom du workspace",
1706 "descriptionLabel": "Description (optionnel)",
1707 "descriptionPlaceholder": "Ajoutez une description pour votre workspace",
1708 "required": "Obligatoire",
1709 "creating": "Création...",
1710 "submit": "Créer un workspace",
1711 "success": "Workspace créé avec succès",
1712 "error": "Échec de la création du workspace"
1713 }
1714 },
1715 "team": {
1716 "roles": {
1717 "owner": "Propriétaire",
1718 "admin": "Admin",
1719 "member": "Membre"
1720 },
1721 "members": {
1722 "pageTitle": "Membres",
1723 "inviteMember": "Inviter un membre"
1724 },
1725 "inviteModal": {
1726 "title": "Inviter un membre de l'équipe",
1727 "emailLabel": "Email",
1728 "emailPlaceholder": "collegue@entreprise.fr",
1729 "sendInvitation": "Envoyer l'invitation",
1730 "success": "Invitation envoyée avec succès",
1731 "error": "Échec de l'envoi de l'invitation"
1732 },
1733 "membersTable": {
1734 "emptyTitle": "Aucun membre de l'équipe pour le moment",
1735 "emptyDescription": "Invitez votre premier membre dans l'équipe pour commencer.",
1736 "columns": {
1737 "name": "Nom",
1738 "role": "Rôle",
1739 "joined": "Rejoint",
1740 "actions": "Actions"
1741 },
1742 "memberRolePending": "{{role}} (En attente)",
1743 "ariaCancelInvitation": "Annuler l'invitation",
1744 "ariaRemoveMember": "Supprimer le membre",
1745 "removeDialogTitle": "Supprimer un membre de l'équipe ?",
1746 "removeDialogDescription": "Êtes-vous sûr de vouloir supprimer {{name}} de l'équipe ? Cette action ne peut pas être annulée.",
1747 "cancelDialogTitle": "Annuler l'invitation ?",
1748 "cancelDialogDescription": "Êtes-vous sûr de vouloir annuler l'invitation pour {{email}} ? Cette action ne peut pas être annulée.",
1749 "removeMember": "Supprimer le membre",
1750 "cancelInvitation": "Annuler l'invitation",
1751 "removeSuccess": "Membre de l'équipe supprimé avec succès",
1752 "removeError": "Échec de la suppression du membre de l'équipe",
1753 "cancelInviteSuccess": "Invitation annulée avec succès",
1754 "cancelInviteError": "Échec de l'annulation de l'invitation"
1755 }
1756 },
1757 "publicProject": {
1758 "pageTitle": "Vue publique",
1759 "badge": "Public",
1760 "readOnly": "Lecture seule",
1761 "error": {
1762 "title": "Projet non trouvé",
1763 "description": "Ce projet n'existe pas ou n'est pas accessible publiquement."
1764 },
1765 "taskCard": {
1766 "viewDetailsAria": "Voir les détails de la tâche {{title}}"
1767 },
1768 "taskDetail": {
1769 "labels": "Labels",
1770 "externalLinks": "Liens externes",
1771 "pullRequestFallback": "Demande de fusion",
1772 "issueFallback": "Problème",
1773 "prStatusMerged": "Fusionné",
1774 "prStatusDraft": "Brouillon",
1775 "prStatusOpen": "Ouvert",
1776 "dueWithDate": "Échéance {{date}}",
1777 "created": "Créé",
1778 "dueDateLabel": "Date d'échéance"
1779 },
1780 "theme": {
1781 "switchToLight": "Passer en mode clair",
1782 "switchToDark": "Passer en mode sombre"
1783 },
1784 "copyUrl": {
1785 "successToast": "URL copiée",
1786 "errorToast": "Échec de la copie de l'URL",
1787 "copied": "Copié",
1788 "share": "Partager"
1789 },
1790 "branding": {
1791 "poweredBy": "Propulsé par"
1792 }
1793 }
1794}