Translate all UI strings to German (Deutsch) and French (Français) with proper technical terminology.
1409 lines
63 KiB
JSON
1409 lines
63 KiB
JSON
{
|
||
"landing": {
|
||
"hero": {
|
||
"badgeText": "Command as Service · Human + Agent Engineering",
|
||
"heading": "Where Humans & Agents Engineer Together.",
|
||
"subtitle": "Every action is a command. Every command is versioned, auditable, and composable. Git repositories, rooms, and AI agents — all driven by a command stream you own.",
|
||
"startBuilding": "Start Building",
|
||
"viewDocumentation": "View Documentation",
|
||
"terminalTitle": "gitdata — every action is a command"
|
||
},
|
||
"features": {
|
||
"sectionTitle": "Build. Review. Automate. All via Commands.",
|
||
"sectionSubtitle": "Every capability is exposed as a command. Agents listen. Humans approve. Everything is logged and replayable.",
|
||
"commandAsService": {
|
||
"title": "Command as Service",
|
||
"description": "Every action — a repo create, a PR review, an agent deploy — is a versioned command. Audit, replay, and compose them. Your CLI is your API."
|
||
},
|
||
"collaborativeRooms": {
|
||
"title": "Collaborative Rooms",
|
||
"description": "Command-first rooms where humans and AI agents work together via shared command streams. Issue commands, review results, and build consensus — all in one thread."
|
||
},
|
||
"aiAgents": {
|
||
"title": "Agents IA",
|
||
"description": "Deploy agents that listen to room commands, execute tasks, and report back. Agents run skills, query repos, and call your own services."
|
||
},
|
||
"gitRepositories": {
|
||
"title": "Depots Git",
|
||
"description": "Full Git operations — branches, commits, merges, and diffs. HTTP and SSH access. Built-in branch protection and access control."
|
||
},
|
||
"issuesPullRequests": {
|
||
"title": "Issues & Pull Requests",
|
||
"description": "Track issues, review code, and manage pull requests. Agents can listen to PR events and automatically run review commands."
|
||
},
|
||
"skillRegistry": {
|
||
"title": "Skill Registry",
|
||
"description": "Package agent behaviors as reusable Skills. Publish to a registry, pull into any room, and invoke via command. Your workflows become shared services."
|
||
},
|
||
"commandAuditTrail": {
|
||
"title": "Command Audit Trail",
|
||
"description": "Every command is logged with its intent, result, and caller. Trace every AI decision back to the human who issued it."
|
||
},
|
||
"agentMemory": {
|
||
"title": "Agent Memory",
|
||
"description": "Agents have persistent, git-native memory. Branch, commit, and roll back context just like source code. No more stateless agents."
|
||
}
|
||
},
|
||
"highlight": {
|
||
"heading": "Your CLI is also your API.",
|
||
"subtitle": "Every GitDataAI action is a command with a name, parameters, and a result. Agents subscribe to command streams. Rooms execute commands. Your entire development workflow becomes a versioned, replayable, diffable stream — without a separate event bus.",
|
||
"commandsAllTheWayDown": {
|
||
"title": "Commands All the Way Down",
|
||
"description": "Every operation — repo create, agent deploy, skill run — is a command. Your workflow is a composable, queryable stream."
|
||
},
|
||
"agentsListenToCommands": {
|
||
"title": "Agents Listen to Commands",
|
||
"description": "Deploy an agent to a room and it subscribes to command events. Agents don't guess — they execute what you command."
|
||
},
|
||
"gitNativeAudit": {
|
||
"title": "Git-Native Audit",
|
||
"description": "Command history is stored in Git. Branch your command log, diff a workflow, replay it anywhere. Full traceability without a separate log store."
|
||
},
|
||
"approve": "Approuver",
|
||
"viewDiff": "Voir le diff"
|
||
},
|
||
"nav": {
|
||
"platform": "Plateforme",
|
||
"skills": "Skills",
|
||
"network": "Reseau",
|
||
"pricing": "Tarifs",
|
||
"signIn": "Se connecter",
|
||
"joinBeta": "Rejoindre la beta",
|
||
"commandAsServiceNav": "Command as Service",
|
||
"collaborativeRoomsNav": "Collaborative Rooms",
|
||
"aiAgentsNav": "Agents IA",
|
||
"gitRepositoriesNav": "Depots Git",
|
||
"exploreSkillsNav": "Explorer les skills",
|
||
"publishSkillNav": "Publier un skill",
|
||
"skillDocumentationNav": "Documentation des skills",
|
||
"exploreNetworkNav": "Explorer le reseau",
|
||
"publicRoomsNav": "Salons publics",
|
||
"developerApiNav": "Developer API",
|
||
"plansPricingNav": "Plans & Tarifs",
|
||
"enterpriseNav": "Enterprise",
|
||
"billingFaqNav": "FAQ Facturation"
|
||
},
|
||
"footer": {
|
||
"readyHeading": "Pret pour l'ere des agents?",
|
||
"getStartedFree": "Commencer gratuitement",
|
||
"contactSales": "Contacter le service commercial",
|
||
"platform": "Plateforme",
|
||
"skills": "Skills",
|
||
"developers": "Developpeurs",
|
||
"company": "Entreprise",
|
||
"gitRepositories": "Depots Git",
|
||
"issuesPullRequests": "Issues & PRs",
|
||
"collaborativeRooms": "Collaborative Rooms",
|
||
"aiAgents": "Agents IA",
|
||
"commandStream": "Command Stream",
|
||
"skillRegistry": "Skill Registry",
|
||
"publishSkill": "Publier un skill",
|
||
"skillDocs": "Documentation des skills",
|
||
"community": "Communaute",
|
||
"documentation": "Documentation",
|
||
"cliReference": "Reference CLI",
|
||
"apiReference": "Reference API",
|
||
"status": "Statut",
|
||
"about": "A propos",
|
||
"careers": "Carrieres",
|
||
"contact": "Contact",
|
||
"privacy": "Confidentialite",
|
||
"brandTagline": "The platform where humans and AI agents engineer together via commands. Every action versioned. Every agent accountable. Built for teams that ship."
|
||
}
|
||
},
|
||
"auth": {
|
||
"login": {
|
||
"heading": "Se connecter",
|
||
"subtitleWelcome": "Bienvenue sur GitDataAI",
|
||
"subtitleContinue": "Continuer vers {path}",
|
||
"usernameLabel": "Nom d'utilisateur",
|
||
"usernamePlaceholder": "Entrez votre nom d'utilisateur",
|
||
"passwordLabel": "Mot de passe",
|
||
"passwordForgot": "Oublie?",
|
||
"verificationLabel": "Verification",
|
||
"verificationPlaceholder": "Entrez le code",
|
||
"submitButton": "Se connecter",
|
||
"noAccount": "Pas encore de compte?",
|
||
"createOne": "Creer un compte",
|
||
"errorFillRequired": "Veuillez remplir tous les champs obligatoires.",
|
||
"errorInvalidCredentials": "Identifiants invalides. Veuillez reessayer."
|
||
},
|
||
"register": {
|
||
"heading": "Creer un compte",
|
||
"subtitle": "Rejoignez la prochaine generation de collaboration humain-agent",
|
||
"emailLabel": "E-mail",
|
||
"emailPlaceholder": "nom@entreprise.fr",
|
||
"usernameLabel": "Nom d'utilisateur",
|
||
"usernamePlaceholder": "architecte_01",
|
||
"passwordLabel": "Mot de passe",
|
||
"passwordPlaceholder": "••••••••",
|
||
"confirmLabel": "Confirmer",
|
||
"confirmPlaceholder": "••••••••",
|
||
"verificationLabel": "Verification",
|
||
"verificationPlaceholder": "Captcha",
|
||
"submitButton": "Creer le compte",
|
||
"alreadyHaveAccount": "Deja un compte?",
|
||
"signIn": "Se connecter",
|
||
"encrypted": "Chiffre",
|
||
"errorEmailRequired": "L'e-mail est requis",
|
||
"errorInvalidEmail": "Adresse e-mail invalide",
|
||
"errorUsernameRequired": "Le nom d'utilisateur est requis",
|
||
"errorUsernameLength": "Le nom d'utilisateur doit contenir au moins 3 caracteres",
|
||
"errorPasswordRequired": "Le mot de passe est requis",
|
||
"errorPasswordLength": "Le mot de passe doit contenir au moins 8 caracteres",
|
||
"errorPasswordComplexity": "Le mot de passe doit contenir des majuscules, des minuscules et un chiffre",
|
||
"errorPasswordMismatch": "Les mots de passe ne correspondent pas",
|
||
"errorCaptchaRequired": "Le code de verification est requis",
|
||
"errorRegistrationFailed": "Echec de l'inscription",
|
||
"successAccountCreated": "Compte cree avec succes!"
|
||
},
|
||
"passwordReset": {
|
||
"heading": "Reinitialiser le mot de passe",
|
||
"subtitle": "Entrez votre adresse e-mail et nous vous enverrons un lien pour vous reconnecter a votre compte.",
|
||
"emailLabel": "Adresse e-mail",
|
||
"emailPlaceholder": "nom@exemple.fr",
|
||
"submitButton": "Envoyer le lien de reinitialisation",
|
||
"backToSignIn": "Retour a la connexion",
|
||
"successHeading": "Verifiez votre e-mail",
|
||
"successMessage": "Nous avons envoye un lien securise a {email}. Cliquez sur le lien pour reinitialiser votre phrase secrete.",
|
||
"returnToSignIn": "Retour a la connexion",
|
||
"didNotReceive": "Pas recu l'e-mail? Verifiez votre dossier spam ou",
|
||
"tryAgain": "reessayez",
|
||
"secureLink": "Lien securise",
|
||
"expiry24h": "Expire dans 24h",
|
||
"errorEmailRequired": "L'adresse e-mail est requise.",
|
||
"errorInvalidEmail": "Veuillez entrer une adresse e-mail valide.",
|
||
"errorSendFailed": "Echec de l'envoi de l'e-mail de reinitialisation.",
|
||
"successLinkSent": "Lien de reinitialisation envoye!"
|
||
},
|
||
"confirmPasswordReset": {
|
||
"heading": "Definir un nouveau mot de passe",
|
||
"subtitle": "Creez un mot de passe强者 pour votre compte.",
|
||
"newPasswordLabel": "Nouveau mot de passe",
|
||
"newPasswordPlaceholder": "Au moins 8 caracteres",
|
||
"confirmPasswordLabel": "Confirmer le mot de passe",
|
||
"confirmPasswordPlaceholder": "Repetez votre mot de passe",
|
||
"submitButton": "Reinitialiser le mot de passe",
|
||
"backToSignIn": "Retour a la connexion",
|
||
"successHeading": "Reinitialisation du mot de passe terminee",
|
||
"successMessage": "Votre mot de passe a ete mis a jour. Vous pouvez maintenant vous connecter avec votre nouveau mot de passe.",
|
||
"signIn": "Se connecter",
|
||
"passwordUpdated": "Mot de passe mis a jour",
|
||
"secureConnection": "Connexion securisee",
|
||
"errorMissingToken": "Jeton de reinitialisation manquant. Veuillez utiliser le lien de votre e-mail.",
|
||
"errorPasswordRequired": "Le nouveau mot de passe est requis.",
|
||
"errorPasswordLength": "Le mot de passe doit contenir au moins 8 caracteres.",
|
||
"errorPasswordUppercase": "Le mot de passe doit contenir au moins une majuscule.",
|
||
"errorPasswordLowercase": "Le mot de passe doit contenir au moins une minuscule.",
|
||
"errorPasswordDigit": "Le mot de passe doit contenir au moins un chiffre.",
|
||
"errorPasswordMismatch": "Les mots de passe ne correspondent pas.",
|
||
"errorResetFailed": "Echec de la reinitialisation du mot de passe. Le lien a peut-etre expire.",
|
||
"successResetComplete": "Mot de passe reinitialise avec succes!"
|
||
},
|
||
"verifyEmail": {
|
||
"heading": "Verification de l'e-mail",
|
||
"loadingText": "Verification du jeton securise...",
|
||
"successHeading": "Identite confirmee",
|
||
"successMessage": "Votre e-mail a ete verifie avec succes. Vous avez maintenant un acces complet a la plateforme GitDataAI.",
|
||
"goToDashboard": "Aller au tableau de bord",
|
||
"errorHeading": "Echec de la verification",
|
||
"backToSettings": "Retour aux parametres",
|
||
"needHelp": "Besoin d'aide?",
|
||
"contactSupport": "Contacter le support technique",
|
||
"encryptedLink": "Lien chiffre",
|
||
"soc2Compliant": "Conforme SOC2",
|
||
"errorTokenMissing": "Le jeton de verification est manquant ou mal forme.",
|
||
"errorLinkExpired": "Le lien de verification a expire ou est invalide.",
|
||
"successVerified": "Identite verifiee avec succes."
|
||
},
|
||
"acceptWorkspaceInvite": {
|
||
"heading": "Invitation Workspace",
|
||
"loadingHeading": "Validation de l'invitation",
|
||
"loadingText": "Verification des permissions et du statut du workspace...",
|
||
"successHeading": "Bienvenue a bord!",
|
||
"successMessage": "Invitation acceptee. Vous avez ete ajoute a l'equipe. Nous vous redirigeons vers le tableau de bord.",
|
||
"proceedManually": "Proceder manuellement",
|
||
"errorHeading": "Invitation invalide",
|
||
"returnHome": "Retour a l'accueil",
|
||
"needNewLink": "Besoin d'un nouveau lien?",
|
||
"contactAdmin": "Contacter l'admin du workspace",
|
||
"secureJoin": "JOINTURE SECURISEE",
|
||
"dataOwnership": "PROPRIETE DES DONNEES",
|
||
"errorMissingToken": "Le lien d'invitation ne contient pas de jeton de securite valide.",
|
||
"errorExpired": "Le lien d'invitation a expire ou a deja ete utilise.",
|
||
"successJoined": "Vous avez rejoint le workspace avec succes"
|
||
}
|
||
},
|
||
"project": {
|
||
"overview": {
|
||
"settings": "Parametres",
|
||
"members": "membres",
|
||
"likes": "likes",
|
||
"watches": "abonnements",
|
||
"public": "Public",
|
||
"private": "Prive",
|
||
"activity": "Activite",
|
||
"viewAll": "Voir tout",
|
||
"recentEvents": "Evenements recents dans ce projet",
|
||
"noActivity": "Pas encore d'activite.",
|
||
"projectInfo": "Info projet",
|
||
"projectName": "Nom du projet",
|
||
"yourRole": "Votre role",
|
||
"created": "Cree",
|
||
"visibility": "Visibilite",
|
||
"guest": "Invite",
|
||
"quickActions": "Actions rapides",
|
||
"newIssue": "Nouvel Issue",
|
||
"viewActivity": "Voir l'activite",
|
||
"membersAction": "Membres",
|
||
"createRepository": "Creer un depot",
|
||
"projectNotFound": "Projet non trouve.",
|
||
"noDescription": "Aucune description fournie",
|
||
"expand": "Developper",
|
||
"collapse": "Reduire"
|
||
},
|
||
"eventTypes": {
|
||
"commit": "Commit",
|
||
"branch": "Branche",
|
||
"tag": "Tag",
|
||
"issue": "Issue",
|
||
"comment": "Commentaire",
|
||
"pullRequest": "Pull Request",
|
||
"merged": "Fusionne",
|
||
"message": "Message",
|
||
"room": "Salon",
|
||
"starred": "Favori ajoute",
|
||
"unstarred": "Favori retire",
|
||
"watched": "Abonne",
|
||
"unwatched": "Desabonne",
|
||
"member": "Membre",
|
||
"label": "Label",
|
||
"repo": "Depot"
|
||
},
|
||
"dateLabels": {
|
||
"today": "Aujourd'hui",
|
||
"yesterday": "Hier"
|
||
},
|
||
"issues": {
|
||
"breadcrumb": {
|
||
"projects": "Projets",
|
||
"issues": "Issues"
|
||
},
|
||
"searchPlaceholder": "Rechercher des issues…",
|
||
"boardView": "Vue tableau",
|
||
"listView": "Vue liste",
|
||
"board": "Tableau",
|
||
"list": "Liste",
|
||
"new": "Nouveau",
|
||
"open": "Ouvert",
|
||
"closed": "Ferme",
|
||
"of": "sur",
|
||
"shown": "affiches",
|
||
"errorLoading": "Erreur:",
|
||
"errorLoadFailed": "Echec du chargement des issues",
|
||
"noIssues": "Aucun issue trouve",
|
||
"clearSearch": "Effacer la recherche",
|
||
"title": "Titre",
|
||
"author": "Auteur",
|
||
"date": "Date",
|
||
"newIssue": "Nouvel issue",
|
||
"noIssuesInColumn": "Aucun issue"
|
||
},
|
||
"issueDetail": {
|
||
"backToIssues": "Retour aux Issues",
|
||
"closeIssue": "Fermer l'issue",
|
||
"reopenIssue": "Rouvrir l'issue",
|
||
"edit": "Modifier",
|
||
"openStatus": "Ouvert",
|
||
"closedStatus": "Ferme",
|
||
"openedBy": "Ouvert par",
|
||
"aiTriage": "Triage IA",
|
||
"highPriority": "haute priorite",
|
||
"mediumPriority": "priorite moyenne",
|
||
"lowPriority": "basse priorite",
|
||
"accept": "Accepter",
|
||
"applying": "Application en cours…",
|
||
"ignore": "Ignorer",
|
||
"noActivity": "Pas encore d'activite.",
|
||
"openedThisIssue": "a ouvert cet issue",
|
||
"commented": "a commente",
|
||
"editComment": "Modifier le commentaire",
|
||
"deleteComment": "Supprimer le commentaire",
|
||
"cancel": "Annuler",
|
||
"save": "Enregistrer",
|
||
"saving": "Enregistrement…",
|
||
"leaveComment": "Laisser un commentaire…",
|
||
"comment": "Commentaire",
|
||
"posting": "Publication…",
|
||
"commentCannotEmpty": "Le commentaire ne peut pas etre vide",
|
||
"isTyping": "{user} tape…",
|
||
"areTyping": "{user1} et {user2} tapent…",
|
||
"peopleTyping": "{count} personnes tapent…",
|
||
"linkedRepositories": "Depots lies",
|
||
"details": "Details",
|
||
"status": "Statut",
|
||
"author": "Auteur",
|
||
"created": "Cree",
|
||
"updated": "Mis a jour",
|
||
"closed": "Ferme",
|
||
"labelsApplied": "Labels appliques",
|
||
"failedApplyLabels": "Echec de l'application des labels",
|
||
"commentAdded": "Commentaire ajoute",
|
||
"failedAddComment": "Echec de l'ajout du commentaire",
|
||
"commentDeleted": "Commentaire supprime",
|
||
"failedDeleteComment": "Echec de la suppression du commentaire",
|
||
"commentUpdated": "Commentaire mis a jour",
|
||
"failedUpdateComment": "Echec de la mise a jour du commentaire",
|
||
"issueClosed": "Issue ferme",
|
||
"issueReopened": "Issue rouvert",
|
||
"failedUpdateIssue": "Echec de la mise a jour de l'issue",
|
||
"errorLoadingIssue": "Echec du chargement de l'issue"
|
||
},
|
||
"room": {
|
||
"selectChannel": "Selectionnez une chaine",
|
||
"chooseChannelHint": "Choisissez une chaine dans la barre laterale pour commencer a discuter.",
|
||
"channels": "Chaines",
|
||
"noChannelsYet": "Pas encore de chaines",
|
||
"createChannel": "Creer une chaine",
|
||
"addCategory": "+ Ajouter une categorie",
|
||
"categoryNamePlaceholder": "Nom de la categorie",
|
||
"addChannel": "Ajouter une chaine",
|
||
"channelSettings": "Parametres de la chaine",
|
||
"expand": "Developper",
|
||
"collapse": "Reduire",
|
||
"mute": "Muet",
|
||
"unmute": "Reactiver le son",
|
||
"archive": "Archiver",
|
||
"unarchive": "Desarchiver",
|
||
"members": "Membres",
|
||
"online": "En ligne",
|
||
"ai": "IA"
|
||
},
|
||
"roomDialog": {
|
||
"newRoom": "Nouveau salon",
|
||
"createRoomDescription": "Creez un nouveau salon de chat. Choisissez un nom et une visibilite.",
|
||
"roomName": "Nom du salon",
|
||
"roomNamePlaceholder": "ex. general",
|
||
"publicLabel": "Public (visible par tous les membres du projet)",
|
||
"cancel": "Annuler",
|
||
"create": "Creer",
|
||
"creating": "Creation...",
|
||
"deleteRoom": "Supprimer le salon",
|
||
"deleteRoomConfirm": "Etes-vous sur de vouloir supprimer \"{name}\"? Tous les messages seront definitivement supprimes. Cette action est irreversible.",
|
||
"deleting": "Suppression..."
|
||
},
|
||
"roomChat": {
|
||
"connecting": "Connexion...",
|
||
"disconnected": "Deconnecte",
|
||
"mentions": "@Mentions",
|
||
"searchMessages": "Rechercher des messages",
|
||
"memberList": "Liste des membres",
|
||
"pinnedMessages": "Messages epingles",
|
||
"roomSettings": "Parametres du salon",
|
||
"deleteChannel": "Supprimer la chaine",
|
||
"showChannels": "Afficher les chaines",
|
||
"hideChannels": "Masquer les chaines",
|
||
"back": "Retour",
|
||
"isThinking": "{name} reflechit...",
|
||
"typingSingular": "{user} tape...",
|
||
"typingDual": "{user1} et {user2} tapent...",
|
||
"typingOthers": "{user} et {count} autres tapent...",
|
||
"messageUpdated": "Message mis a jour",
|
||
"messageDeleted": "Message supprime",
|
||
"failedCreateThread": "Echec de la creation du fil",
|
||
"navigateToMessage": "Naviguer vers le message dans {room}",
|
||
"roomUpdated": "Salon mis a jour",
|
||
"failedUpdateRoom": "Echec de la mise a jour du salon"
|
||
},
|
||
"commandPalette": {
|
||
"placeholder": "Rechercher projets, depots, salons, commandes…",
|
||
"noResults": "Aucun resultat trouve.",
|
||
"navigation": "Navigation",
|
||
"create": "Creer",
|
||
"projects": "Projets",
|
||
"repositories": "Depots",
|
||
"rooms": "Salons",
|
||
"gotoNotifications": "Aller aux notifications",
|
||
"createProject": "Creer un projet",
|
||
"createRepoIn": "Creer un depot dans {project}"
|
||
},
|
||
"issueNew": {
|
||
"backToIssues": "Retour aux Issues",
|
||
"creatingIn": "Creation dans {project}",
|
||
"titleRequired": "Titre *",
|
||
"titlePlaceholder": "Resume bref de l'issue",
|
||
"description": "Description",
|
||
"markdown": "Markdown",
|
||
"bold": "Gras",
|
||
"italic": "Italique",
|
||
"code": "Code",
|
||
"link": "Lien",
|
||
"list": "Liste",
|
||
"quote": "Citation",
|
||
"bodyPlaceholder": "Decrivez l'issue en detail. Markdown est supporte.",
|
||
"bodyHint": "Supporte Markdown — utilisez **gras**, `code`, listes, et plus",
|
||
"linkedRepositories": "Depots lies",
|
||
"linkedReposHint": "Suivre les commits et pull requests lies a cette issue",
|
||
"assignees": "Assignes",
|
||
"labels": "Labels",
|
||
"cancel": "Annuler",
|
||
"createIssue": "Creer l'issue",
|
||
"creating": "Creation…",
|
||
"discardChanges": "Abandonner les modifications?",
|
||
"discardChangesDesc": "Vous avez des modifications non enregistrees. Etes-vous sur de vouloir quitter?",
|
||
"keepEditing": "Continuer a modifier",
|
||
"discard": "Abandonner",
|
||
"titleRequiredError": "Le titre est requis",
|
||
"issueCreated": "Issue cree",
|
||
"failedCreateIssue": "Echec de la creation de l'issue",
|
||
"selectAssignees": "Selectionner les assiges",
|
||
"selectAssigneesDesc": "Choisissez les membres de l'equipe a assigner a cette issue",
|
||
"noMembers": "Aucun membre trouve dans ce projet",
|
||
"done": "Termine",
|
||
"selectLabels": "Selectionner les labels",
|
||
"selectLabelsDesc": "Choisissez les labels pour categoriser cette issue",
|
||
"noLabels": "Pas encore de labels dans ce projet"
|
||
},
|
||
"issueEdit": {
|
||
"backToIssue": "Retour a l'issue #{number}",
|
||
"editingIssue": "Modification de l'issue #{number}",
|
||
"title": "Modifier l'issue",
|
||
"titleSection": "Titre",
|
||
"titleCantChange": "Le titre ne peut pas etre modifie apres la creation",
|
||
"status": "Statut",
|
||
"changeStatusHint": "Modifier le statut depuis la page de detail de l'issue",
|
||
"description": "Description",
|
||
"descriptionPlaceholder": "Ajouter une description pour plus de contexte (Markdown supporte)",
|
||
"markdownHint": "Formatage Markdown supporte",
|
||
"linkedRepositories": "Depots lies",
|
||
"noRepositories": "Aucun depot dans ce projet",
|
||
"cancel": "Annuler",
|
||
"saveChanges": "Enregistrer les modifications",
|
||
"saving": "Enregistrement…",
|
||
"discardChanges": "Abandonner les modifications?",
|
||
"discardChangesDesc": "Vous avez des modifications non enregistrees. Etes-vous sur de vouloir quitter?",
|
||
"keepEditing": "Continuer a modifier",
|
||
"discard": "Abandonner",
|
||
"issueNotFound": "Issue non trouvee.",
|
||
"issueUpdated": "Issue mise a jour avec succes",
|
||
"failedUpdateIssue": "Echec de la mise a jour de l'issue",
|
||
"returnToIssue": "Retour a l'issue"
|
||
},
|
||
"activity": {
|
||
"title": "Activite",
|
||
"subtitle": "Evenements recents dans {project}",
|
||
"filterEvents": "Filtrer les evenements",
|
||
"perPage": "{count} / page",
|
||
"noActivity": "Aucune activite trouvee.",
|
||
"tryDifferentType": "Essayez de selectionner un autre type d'evenement.",
|
||
"failedLoad": "Echec du chargement du fil d'activite.",
|
||
"page": "Page {page} sur {totalPages}",
|
||
"events": "{count} evenements",
|
||
"allEvents": "Tous les evenements",
|
||
"commits": "Commits",
|
||
"branchCreated": "Branche creee",
|
||
"branchDeleted": "Branche supprimee",
|
||
"tagCreated": "Tag cree",
|
||
"tagDeleted": "Tag supprime",
|
||
"repoCreated": "Depot cree",
|
||
"issueOpened": "Issue ouverte",
|
||
"issueClosed": "Issue fermee",
|
||
"issueReopened": "Issue rouverte",
|
||
"issueComment": "Commentaire d'issue",
|
||
"prOpened": "PR ouverte",
|
||
"prMerged": "PR fusionnee",
|
||
"prClosed": "PR fermee",
|
||
"roomMessage": "Message de salon",
|
||
"roomCreated": "Salon cree",
|
||
"projectStarred": "Projet mis en favori",
|
||
"projectUnstarred": "Favori du projet retire",
|
||
"memberAdded": "Membre ajoute",
|
||
"memberRemoved": "Membre supprime",
|
||
"roleChanged": "Role modifie",
|
||
"labelCreated": "Label cree",
|
||
"labelUpdated": "Label mis a jour",
|
||
"labelDeleted": "Label supprime"
|
||
},
|
||
"resources": {
|
||
"title": "Ressources",
|
||
"subtitle": "Gerez et publiez les ressources du projet sur le marketplace.",
|
||
"comingSoon": "Bientot disponible",
|
||
"description": "Publiez des skills, des paquets et d'autres ressources sur le marketplace."
|
||
},
|
||
"articles": {
|
||
"title": "Articles",
|
||
"subtitle": "Redigez et gerez la documentation et les articles du projet.",
|
||
"comingSoon": "Bientot disponible",
|
||
"description": "Redigez et publiez des articles pour votre projet."
|
||
},
|
||
"skillsInit": {
|
||
"backToSkills": "Retour aux Skills",
|
||
"title": "Nouveau Skill",
|
||
"subtitle": "Ajouter un skill a ce projet",
|
||
"slug": "Slug",
|
||
"slugPlaceholder": "coding/code-review",
|
||
"slugHint": "Identifiant unique, utilisez / pour grouper les skills",
|
||
"displayName": "Nom d'affichage",
|
||
"namePlaceholder": "Agent de revue de code",
|
||
"description": "Description",
|
||
"descPlaceholder": "Revoit les pull requests avec l'IA",
|
||
"content": "Contenu (SKILL.md)",
|
||
"contentPlaceholder": "# Revue de code\n\nVous etes un expert en revue de code...",
|
||
"contentHint": "Markdown decrivant quand et comment utiliser ce skill.",
|
||
"cancel": "Annuler",
|
||
"createSkill": "Creer le skill",
|
||
"created": "Skill \"{name}\" cree",
|
||
"failedCreate": "Echec de la creation du skill"
|
||
}
|
||
},
|
||
"notification": {
|
||
"title": "Notifications",
|
||
"live": "En direct",
|
||
"unreadTotal": "{unread} non lues · {total} total",
|
||
"totalNotifications": "{count} notification{plural}",
|
||
"noGrouping": "Pas de regroupement",
|
||
"groupByProject": "Regrouper par projet",
|
||
"groupByType": "Regrouper par type",
|
||
"cancel": "Annuler",
|
||
"markRead": "Marquer comme lu",
|
||
"archive": "Archiver",
|
||
"markAllRead": "Tout marquer comme lu",
|
||
"selectMultiple": "Selection multiple",
|
||
"selectModeActive": "✓ Mode selection active",
|
||
"markAllReadInGroup": "Tout marquer comme lu dans le groupe",
|
||
"filterAll": "Tout",
|
||
"filterUnread": "Non lues",
|
||
"filterArchived": "Archivees",
|
||
"notificationSettings": "Parametres de notification",
|
||
"noUnread": "Pas de notifications non lues",
|
||
"noArchived": "Pas de notifications archivees",
|
||
"noNotifications": "Pas encore de notifications",
|
||
"allCaughtUp": "Vous etes a jour!",
|
||
"archivedAppearHere": "Les notifications archivees apparaitront ici.",
|
||
"notificationsAppearHere": "Vous verrez les notifications ici lorsqu'un evenement se produit.",
|
||
"justNow": "a l'instant",
|
||
"minutesAgo": "il y a {count}m",
|
||
"hoursAgo": "il y a {count}h",
|
||
"daysAgo": "il y a {count}j",
|
||
"markAsRead": "Marquer comme lu",
|
||
"notificationArchived": "Notification archivee",
|
||
"failedMarkRead": "Echec du marquage comme lu",
|
||
"failedArchive": "Echec de l'archivage",
|
||
"failedMarkAllRead": "Echec du marquage de tout comme lu",
|
||
"notificationsArchived": "{count} notifications archivees",
|
||
"typeMention": "Mention",
|
||
"typeInvitation": "Invitation",
|
||
"typeProjectInvite": "Invitation projet",
|
||
"typeWorkspaceInvite": "Invitation workspace",
|
||
"typeRoleChange": "Changement de role",
|
||
"typeRoomCreated": "Salon cree",
|
||
"typeRoomDeleted": "Salon supprime",
|
||
"typeAnnouncement": "Annonce",
|
||
"typeIssueOpened": "Issue ouverte",
|
||
"typeIssueCommented": "Commentaire d'issue",
|
||
"typeIssueClosed": "Issue fermee",
|
||
"typeReviewRequested": "Revue demandee",
|
||
"typePrApproved": "PR approuvee",
|
||
"typePrMerged": "PR fusionnee"
|
||
},
|
||
"search": {
|
||
"placeholder": "Rechercher projets, depots, issues, utilisateurs...",
|
||
"searchButton": "Rechercher",
|
||
"projects": "Projets",
|
||
"repositories": "Depots",
|
||
"issues": "Issues",
|
||
"users": "Utilisateurs",
|
||
"messages": "Messages",
|
||
"resultsFor": "{count} resultats pour \"{query}\"",
|
||
"noResultsFor": "Aucun resultat pour \"{query}\"",
|
||
"messagesFor": "{count} message{plural} pour \"{query}\"{inRoom}",
|
||
"noMessagesFor": "Aucun message trouve correspondant a \"{query}\"",
|
||
"noMessagesInRoom": "Aucun message trouve dans le salon \"{room}\" correspondant a \"{query}\"",
|
||
"searchFailed": "Echec de la recherche",
|
||
"enterKeyword": "Entrez un mot-cle pour rechercher dans tous les contenus.",
|
||
"noResultsFound": "Aucun resultat trouve",
|
||
"tryDifferentKeywords": "Essayez d'autres mots-cles ou verifiez l'orthographe.",
|
||
"showing": "Affichage de {count} sur {total} {type}",
|
||
"roomIdPlaceholder": "ID du salon pour rechercher les messages (ex. workspace:general)...",
|
||
"acrossAllRooms": "dans tous les salons accessibles",
|
||
"inRoom": " dans le salon {room}"
|
||
},
|
||
"settings": {
|
||
"account": {
|
||
"title": "Compte",
|
||
"subtitle": "Gerez les informations et preferences de votre compte.",
|
||
"changePassword": "Changer le mot de passe",
|
||
"changePasswordDesc": "Mettez a jour votre mot de passe pour securiser votre compte.",
|
||
"currentPassword": "Mot de passe actuel",
|
||
"currentPasswordPlaceholder": "Entrez votre mot de passe actuel",
|
||
"newPassword": "Nouveau mot de passe",
|
||
"newPasswordPlaceholder": "Entrez votre nouveau mot de passe",
|
||
"confirmNewPassword": "Confirmer le nouveau mot de passe",
|
||
"confirmNewPasswordPlaceholder": "Confirmez votre nouveau mot de passe",
|
||
"passwordMinLength": "Doit contenir au moins 8 caracteres",
|
||
"changePasswordButton": "Changer le mot de passe",
|
||
"changing": "Modification...",
|
||
"emailAddress": "Adresse e-mail",
|
||
"emailAddressDesc": "Mettez a jour votre adresse e-mail. Un e-mail de verification sera envoye pour confirmation.",
|
||
"currentEmail": "E-mail actuel",
|
||
"noEmailOnRecord": "Pas d'e-mail enregistre",
|
||
"newEmailAddress": "Nouvelle adresse e-mail",
|
||
"newEmailPlaceholder": "Entrez votre nouvelle adresse e-mail",
|
||
"confirmWithPassword": "Confirmer avec le mot de passe",
|
||
"passwordPlaceholder": "Entrez votre mot de passe actuel",
|
||
"sendVerificationEmail": "Envoyer l'e-mail de verification",
|
||
"sending": "Envoi...",
|
||
"preferences": "Preferences",
|
||
"preferencesDesc": "Personnalisez vos preferences de compte et parametres de notification.",
|
||
"language": "Langue",
|
||
"theme": "Theme",
|
||
"timezone": "Fuseau horaire",
|
||
"light": "Clair",
|
||
"dark": "Sombre",
|
||
"system": "Systeme",
|
||
"notifications": "Notifications",
|
||
"emailNotifications": "Notifications par e-mail",
|
||
"emailNotificationsDesc": "Recevoir des notifications par e-mail pour les mises a jour importantes",
|
||
"inAppNotifications": "Notifications dans l'application",
|
||
"inAppNotificationsDesc": "Afficher les notifications dans l'application",
|
||
"reset": "Reinitialiser",
|
||
"saveChanges": "Enregistrer les modifications",
|
||
"saving": "Enregistrement...",
|
||
"passwordChangedSuccess": "Mot de passe change avec succes",
|
||
"preferencesUpdatedSuccess": "Preferences mises a jour avec succes",
|
||
"failedChangePassword": "Echec du changement de mot de passe",
|
||
"failedUpdatePreferences": "Echec de la mise a jour des preferences",
|
||
"failedLoadPreferences": "Echec du chargement des preferences.",
|
||
"verificationEmailSent": "E-mail de verification envoye! Veuillez verifier votre nouvel e-mail pour confirmer.",
|
||
"failedRequestEmailChange": "Echec de la demande de changement d'e-mail",
|
||
"enterCurrentPassword": "Veuillez entrer votre mot de passe actuel",
|
||
"enterNewPassword": "Veuillez entrer un nouveau mot de passe",
|
||
"newPasswordMinLength": "Le nouveau mot de passe doit contenir au moins 8 caracteres",
|
||
"passwordsDoNotMatch": "Les mots de passe ne correspondent pas",
|
||
"enterNewEmail": "Veuillez entrer une nouvelle adresse e-mail",
|
||
"enterValidEmail": "Veuillez entrer une adresse e-mail valide",
|
||
"enterPasswordConfirm": "Veuillez entrer votre mot de passe pour confirmer"
|
||
},
|
||
"preferences": {
|
||
"title": "Preferences",
|
||
"subtitle": "Gerez vos preferences personnelles et parametres de notification.",
|
||
"notificationChannels": "Canaux de notification",
|
||
"notificationChannelsDesc": "Choisissez comment vous souhaitez recevoir les notifications.",
|
||
"emailNotificationsLabel": "Notifications par e-mail",
|
||
"emailNotificationsDesc": "Recevoir les notifications par e-mail",
|
||
"inAppNotificationsLabel": "Notifications dans l'application",
|
||
"inAppNotificationsDesc": "Afficher les notifications dans l'application",
|
||
"browserPush": "Notifications push du navigateur",
|
||
"pushUnsupported": "Votre navigateur ne supporte pas les notifications push",
|
||
"pushBlocked": "Bloque par le navigateur. Activez dans les parametres du site.",
|
||
"pushSubscribed": "Abonne — vous recevrez des notifications navigateur",
|
||
"pushNotSubscribed": "Recevoir des notifications meme lorsque l'onglet est ferme",
|
||
"pushEnable": "Activer",
|
||
"pushDisable": "Desactiver",
|
||
"doNotDisturb": "Ne pas deranger",
|
||
"doNotDisturbDesc": "Definissez des heures silencieuses pendant lesquelles vous ne souhaitez pas etre derange.",
|
||
"enableDnd": "Activer Ne pas deranger",
|
||
"dndDesc": "Desactiver les notifications pendant des heures specifiques",
|
||
"startTime": "Heure de debut",
|
||
"endTime": "Heure de fin",
|
||
"notificationCategories": "Categories de notification",
|
||
"notificationCategoriesDesc": "Choisissez les types de notifications que vous souhaitez recevoir.",
|
||
"securityAlerts": "Alertes de securite",
|
||
"securityAlertsDesc": "Mises a jour et alertes de securite importantes",
|
||
"productUpdates": "Mises a jour produit",
|
||
"productUpdatesDesc": "Nouvelles fonctionnalites et annonces produit",
|
||
"marketingPromotions": "Marketing & Promotions",
|
||
"marketingDesc": "Conseils, offres et contenus promotionnels",
|
||
"developmentActivity": "Activite de developpement",
|
||
"developmentActivityDesc": "Controlez les notifications pour l'activite de revue de code et de collaboration.",
|
||
"issuesActivity": "Issues",
|
||
"issuesActivityDesc": "Ouvertes, fermees, assignees ou commentees",
|
||
"pullRequestsActivity": "Pull Requests",
|
||
"prActivityDesc": "Revue demandee, approuvee, fusionnee ou commentee",
|
||
"mentionsActivity": "@Mentions",
|
||
"mentionsActivityDesc": "Quand quelqu'un vous mentionne dans un message, issue ou PR",
|
||
"roomMessagesActivity": "Messages de salon",
|
||
"roomMessagesDesc": "Nouveaux messages dans les chaines auxquelles vous etes abonne"
|
||
},
|
||
"security": {
|
||
"title": "Securite",
|
||
"subtitle": "Gerez vos parametres de securite et methodes d'authentification.",
|
||
"securitySettings": "Parametres de securite",
|
||
"securityDesc": "Configurez l'authentification a deux facteurs, les politiques de mot de passe et la gestion des sessions.",
|
||
"twoFactorAuth": "Authentification a deux facteurs",
|
||
"twoFactorDesc": "Ajoutez une couche de securite supplementaire requiring plus qu'un simple mot de passe pour vous connecter.",
|
||
"enable": "Activer",
|
||
"disable": "Desactiver",
|
||
"passwordPolicy": "Politique de mot de passe",
|
||
"passwordPolicyDesc": "Definissez les exigences de force du mot de passe",
|
||
"standard": "Standard",
|
||
"sessionManagement": "Gestion des sessions",
|
||
"sessionManagementDesc": "Voir et gerer les sessions actives",
|
||
"active": "actif",
|
||
"manage": "Gerer"
|
||
},
|
||
"profile": {
|
||
"title": "Profil",
|
||
"subtitle": "Gerez vos informations personnelles et parametres de profil.",
|
||
"profileInfo": "Informations du profil",
|
||
"profileInfoDesc": "Voir vos informations de base du compte.",
|
||
"username": "Nom d'utilisateur",
|
||
"displayName": "Nom d'affichage",
|
||
"notSet": "Non defini",
|
||
"email": "E-mail",
|
||
"memberSince": "Membre depuis",
|
||
"publicProfile": "Profil public",
|
||
"publicProfileDesc": "Mettez a jour vos informations de profil public.",
|
||
"publicAvatar": "Avatar public",
|
||
"uploadAvatar": "Telecharger un nouvel avatar",
|
||
"avatarFormat": "JPG, GIF ou PNG. Taille max 2Mo.",
|
||
"bio": "Bio",
|
||
"bioPlaceholder": "Parlez-nous de vous",
|
||
"bioDesc": "Votre bio ou description",
|
||
"organization": "Organisation",
|
||
"orgPlaceholder": "Votre entreprise ou organisation",
|
||
"orgDesc": "L'organisation a laquelle vous appartenez",
|
||
"reset": "Reinitialiser",
|
||
"saveChanges": "Enregistrer les modifications",
|
||
"saving": "Enregistrement...",
|
||
"avatarUploaded": "Avatar telecharge avec succes",
|
||
"failedUploadAvatar": "Echec du telechargement de l'avatar",
|
||
"fileSizeLimit": "La taille du fichier doit etre inferieure a 2Mo",
|
||
"profileUpdated": "Profil mis a jour avec succes",
|
||
"failedUpdateProfile": "Echec de la mise a jour du profil"
|
||
},
|
||
"tokens": {
|
||
"title": "Jetons",
|
||
"subtitle": "Gerez vos jetons d'acces personnel pour l'acces API.",
|
||
"createToken": "Creer un jeton",
|
||
"personalAccessTokens": "Jetons d'acces personnel",
|
||
"noTokensDesc": "Aucun jeton trouve. Creez un nouveau jeton pour commencer.",
|
||
"tokensCount": "Vous avez {count} jeton d'acces configure.",
|
||
"tokensCountPlural": "Vous avez {count} jetons d'acces configures.",
|
||
"loadingTokens": "Chargement des jetons d'acces...",
|
||
"noAccessTokens": "Aucun jeton d'acces",
|
||
"noAccessTokensDesc": "Creez un jeton d'acces personnel pour authentifier les requetes API et acceder aux depots Git via HTTPS.",
|
||
"createFirstToken": "Creez votre premier jeton",
|
||
"untitled": "Sans titre",
|
||
"revoked": "Revoque",
|
||
"scopes": "Portees:",
|
||
"created": "Cree le {date}",
|
||
"expires": "Expire le {date}",
|
||
"neverExpires": "N'expire jamais",
|
||
"revoke": "Revoquer",
|
||
"createAccessToken": "Creer un jeton d'acces",
|
||
"createTokenDesc": "Creez un nouveau jeton d'acces personnel pour l'authentification API.",
|
||
"tokenName": "Nom du jeton",
|
||
"tokenNamePlaceholder": "ex., Pipeline CI/CD, Environnement de developpement",
|
||
"tokenNameDesc": "Choisissez un nom descriptif pour ce jeton",
|
||
"scopesLabel": "Portees",
|
||
"scopesDesc": "Selectionnez les permissions de ce jeton",
|
||
"expirationDate": "Date d'expiration (Optionnel)",
|
||
"expirationDesc": "Laissez vide pour pas d'expiration",
|
||
"cancel": "Annuler",
|
||
"creating": "Creation...",
|
||
"tokenCreated": "Jeton cree avec succes",
|
||
"tokenCreatedDesc": "Assurez-vous de copier votre jeton d'acces maintenant. Vous ne pourrez plus le voir!",
|
||
"yourAccessToken": "Votre jeton d'acces",
|
||
"tokenImportant": "Important: Ce jeton ne sera montre qu'une seule fois. Stockez-le en securite.",
|
||
"iHaveSavedToken": "J'ai enregistre mon jeton",
|
||
"tokenCopied": "Jeton copie dans le presse-papiers",
|
||
"deleteTokenTitle": "Supprimer le jeton d'acces",
|
||
"deleteTokenDesc": "Etes-vous sur de vouloir supprimer ce jeton d'acces? Cette action est irreversible et toute application utilisant ce jeton perdra immediatement l'acces.",
|
||
"deleting": "Suppression...",
|
||
"delete": "Supprimer",
|
||
"revokeTokenTitle": "Revoquer le jeton d'acces",
|
||
"revokeTokenDesc": "Etes-vous sur de vouloir revoker ce jeton d'acces? Le jeton sera desactive immediatement et ne pourra plus etre utilise pour l'authentification.",
|
||
"tokenCreatedSuccess": "Jeton d'acces cree avec succes",
|
||
"failedCreateToken": "Echec de la creation du jeton",
|
||
"tokenDeleted": "Jeton d'acces supprime avec succes",
|
||
"failedDeleteToken": "Echec de la suppression du jeton",
|
||
"nameRequired": "Veuillez entrer un nom pour le jeton d'acces",
|
||
"scopeRequired": "Veuillez selectionner au moins une portee"
|
||
},
|
||
"activity": {
|
||
"title": "Activite",
|
||
"subtitle": "Voir votre activite recente et vos notifications.",
|
||
"markAllRead": "Tout marquer comme lu",
|
||
"recentNotifications": "Notifications recentes",
|
||
"unread": "{count} non lues",
|
||
"noNotifications": "Pas encore de notifications. Votre activite apparaitra ici.",
|
||
"newLabel": "Nouveau",
|
||
"noContent": "Pas de contenu",
|
||
"unknownDate": "Date inconnue",
|
||
"allMarkedRead": "Toutes les notifications marquees comme lues",
|
||
"failedMarkAllRead": "Echec du marquage de toutes les notifications comme lues",
|
||
"markedRead": "Notification marquee comme lue",
|
||
"failedMarkRead": "Echec du marquage de la notification comme lue"
|
||
}
|
||
},
|
||
"init": {
|
||
"project": {
|
||
"title": "Creer un nouveau projet",
|
||
"subtitle": "Creez un nouveau projet pour organiser vos depots",
|
||
"projectName": "Nom du projet",
|
||
"namePlaceholder": "mon-super-projet",
|
||
"description": "Description",
|
||
"descPlaceholder": "Une breve description de votre projet...",
|
||
"workspace": "Workspace",
|
||
"noWorkspace": "Pas de workspace (projet independant)",
|
||
"workspaceHint": "Associez facultativement ce projet a un workspace.",
|
||
"publicProject": "Projet public",
|
||
"publicProjectHint": "Rendre ce projet visible par tous",
|
||
"creating": "Creation...",
|
||
"createProject": "Creer le projet",
|
||
"cancel": "Annuler",
|
||
"nameRequired": "Le nom du projet est requis",
|
||
"nameAvailable": "Le nom du projet est disponible",
|
||
"nameExists": "Le nom du projet existe deja",
|
||
"failedCheckAvailability": "Echec de la verification de disponibilite",
|
||
"failedCreate": "Echec de la creation du projet",
|
||
"createdSuccess": "Projet cree avec succes!"
|
||
},
|
||
"repository": {
|
||
"title": "Creer un nouveau depot",
|
||
"subtitle": "Creez un nouveau depot Git dans votre projet",
|
||
"project": "Projet",
|
||
"noProjects": "Vous n'avez pas encore de projets.",
|
||
"createProject": "Creer un projet",
|
||
"selectProject": "Selectionner un projet",
|
||
"loadingProjects": "Chargement des projets...",
|
||
"repoName": "Nom du depot",
|
||
"namePlaceholder": "mon-super-depot",
|
||
"description": "Description",
|
||
"descPlaceholder": "Une breve description de votre depot...",
|
||
"defaultBranch": "Branche par defaut",
|
||
"defaultBranchPlaceholder": "main",
|
||
"initRepo": "Initialiser le depot",
|
||
"initRepoOn": "Creer un depot git nu maintenant. Definissez la branche par defaut ci-dessous.",
|
||
"initRepoOff": "Passer l'initialisation. La branche par defaut sera definie automatiquement lors du push.",
|
||
"privateRepo": "Depot prive",
|
||
"privateAuto": "Ce depot doit etre prive car le projet est prive",
|
||
"privateManual": "Rendre ce depot prive et restreindre l'acces",
|
||
"creating": "Creation...",
|
||
"createRepo": "Creer le depot",
|
||
"cancel": "Annuler",
|
||
"selectProjectFirst": "Veuillez d'abord selectionner un projet",
|
||
"nameRequired": "Le nom du depot est requis",
|
||
"nameAvailable": "Le nom du depot est disponible",
|
||
"nameExists": "Le nom du depot existe deja",
|
||
"failedCheckAvailability": "Echec de la verification de disponibilite",
|
||
"failedCreate": "Echec de la creation du depot",
|
||
"createdSuccess": "Depot cree avec succes",
|
||
"failedLoadProjects": "Echec du chargement des projets",
|
||
"failedLoadDetails": "Depot cree mais echec du chargement des details"
|
||
}
|
||
},
|
||
"pricing": {
|
||
"title": "Tarification simple et transparente.",
|
||
"subtitle": "Commencez gratuitement. Scalez selon la croissance de votre flotte d'agents.",
|
||
"free": "Gratuit",
|
||
"freePrice": "0 €",
|
||
"freePeriod": "pour toujours",
|
||
"freeDesc": "Command as Service pour les particuliers — commandes versionnees, memoire d'agent et registre de skills inclus.",
|
||
"freeCta": "Commencer gratuitement",
|
||
"freeFeatures": [
|
||
"3 agents actifs",
|
||
"5 Go de memoire d'agent",
|
||
"Registre de skills communautaire",
|
||
"Salons publics",
|
||
"Historique de 7 jours"
|
||
],
|
||
"pro": "Pro",
|
||
"proPrice": "29 €",
|
||
"proPeriod": "par mois",
|
||
"proDesc": "Command as Service pour les equipes — agents illimites, audit complet du flux de commandes et calcul prioritaire.",
|
||
"proCta": "Obtenir Pro",
|
||
"proFeatures": [
|
||
"Agents illimites",
|
||
"50 Go de memoire d'agent",
|
||
"Registre de skills prive",
|
||
"Collaborative Rooms",
|
||
"Historique de 90 jours",
|
||
"Calcul prioritaire",
|
||
"Support par e-mail"
|
||
],
|
||
"enterprise": "Enterprise",
|
||
"enterprisePrice": "Sur mesure",
|
||
"enterpriseDesc": "Command as Service a grande echelle — deploiement personnalise, gouvernance granulaire du flux de commandes et SLA dedie pour votre flotte d'agents.",
|
||
"enterpriseCta": "Contacter le service commercial",
|
||
"enterpriseFeatures": [
|
||
"Tout de Pro",
|
||
"Memoire illimitee",
|
||
"SSO / SAML",
|
||
"Routage de modele personnalise",
|
||
"Calcul dedie",
|
||
"Garantie SLA",
|
||
"Support dedie"
|
||
],
|
||
"faqHeading": "Questions frequentes",
|
||
"faqSubtitle": "Reponses aux questions de facturation.",
|
||
"faq1Q": "Puis-je changer de plan a tout moment?",
|
||
"faq1A": "Oui. Passez a un forfait superieur ou inferieur a tout moment. Les modifications prennent effet au prochain cycle de facturation.",
|
||
"faq2Q": "Qu'est-ce qui compte comme memoire d'agent?",
|
||
"faq2A": "La memoire d'agent est le contexte persistant total stocke sur tous vos agents, incluant l'historique de conversation et la memoire a long terme.",
|
||
"faq3Q": "Y a-t-il un essai gratuit pour Pro?",
|
||
"faq3A": "Oui — le forfait gratuit vous permet d'explorer toutes les fonctionnalites Pro pendant 14 jours lors de la mise a niveau."
|
||
},
|
||
"repository": {
|
||
"list": {
|
||
"repositories": "Depots",
|
||
"searchPlaceholder": "Rechercher des depots…",
|
||
"filter": "Filtrer",
|
||
"new": "Nouveau",
|
||
"filters": "Filtres",
|
||
"clearAll": "Tout effacer",
|
||
"visibility": "Visibilite",
|
||
"all": "Tout",
|
||
"public": "Public",
|
||
"private": "Prive",
|
||
"sortBy": "Trier par",
|
||
"lastUpdated": "Derniere mise a jour",
|
||
"name": "Nom",
|
||
"linkedIssues": "Issues liees",
|
||
"stars": "Etoiles",
|
||
"repository": "depot",
|
||
"repositoriesPlural": "depots",
|
||
"errorLoading": "Erreur:",
|
||
"errorLoadFailed": "Echec du chargement des depots",
|
||
"noRepositories": "Aucun depot trouve",
|
||
"clearFilters": "Effacer les filtres",
|
||
"watches": "Abonnements",
|
||
"branches": "Branches",
|
||
"defaultBranch": "Branche par defaut",
|
||
"lastUpdatedColumn": "Derniere mise a jour",
|
||
"never": "Jamais",
|
||
"showing": "Affichage de {start}–{end} sur {total}",
|
||
"previous": "Precedent",
|
||
"next": "Suivant",
|
||
"page": "Page {page}"
|
||
},
|
||
"overview": {
|
||
"repositoryStats": "Statistiques du depot",
|
||
"defaultBranch": "Branche par defaut",
|
||
"commits": "Commits",
|
||
"branches": "Branches",
|
||
"tags": "Tags",
|
||
"stars": "Etoiles",
|
||
"watchers": "Observateurs",
|
||
"readme": "README",
|
||
"starred": "En favori",
|
||
"unstarred": "Favori retire",
|
||
"watching": "S'abonner au depot",
|
||
"stoppedWatching": "Abonnement arrete",
|
||
"failedToStar": "Echec de l'ajout en favori",
|
||
"failedToUnstar": "Echec du retrait du favori",
|
||
"failedToWatch": "Echec de l'abonnement",
|
||
"failedToUnwatch": "Echec de l'arret de l'abonnement"
|
||
},
|
||
"subpages": {
|
||
"commits": {
|
||
"title": "Commits",
|
||
"description": "Parcourez l'historique des commits de ce depot.",
|
||
"comingSoon": "Bientot disponible",
|
||
"notAvailable": "L'historique des commits n'est pas encore disponible."
|
||
},
|
||
"branches": {
|
||
"title": "Branches",
|
||
"description": "Gerez et parcourez les branches du depot.",
|
||
"comingSoon": "Bientot disponible",
|
||
"notAvailable": "La liste et la gestion des branches ne sont pas encore disponibles."
|
||
},
|
||
"tags": {
|
||
"title": "Tags",
|
||
"description": "Parcourez les tags et releases du depot.",
|
||
"comingSoon": "Bientot disponible",
|
||
"notAvailable": "La gestion des tags et releases n'est pas encore disponible."
|
||
},
|
||
"files": {
|
||
"title": "Fichiers",
|
||
"description": "Parcourez et gerez les fichiers du depot.",
|
||
"comingSoon": "Bientot disponible",
|
||
"notAvailable": "Le navigateur de fichiers n'est pas encore disponible."
|
||
},
|
||
"contributors": {
|
||
"title": "Contributeurs",
|
||
"description": "Voir les statistiques et l'activite des contributeurs.",
|
||
"comingSoon": "Bientot disponible",
|
||
"notAvailable": "Les statistiques des contributeurs ne sont pas encore disponibles."
|
||
},
|
||
"pullRequests": {
|
||
"title": "Pull Requests",
|
||
"description": "Creez et gerez les pull requests pour {repo}.",
|
||
"comingSoon": "Bientot disponible",
|
||
"notAvailable": "La gestion des pull requests n'est pas encore disponible."
|
||
}
|
||
}
|
||
},
|
||
"workspace": {
|
||
"projects": {
|
||
"title": "Projets",
|
||
"newProject": "Nouveau projet",
|
||
"noProjects": "Pas encore de projets dans ce workspace.",
|
||
"createFirstProject": "Creez votre premier projet",
|
||
"noDescription": "Pas de description",
|
||
"private": "Prive"
|
||
},
|
||
"members": {
|
||
"title": "Membres",
|
||
"inviteMember": "Inviter un membre",
|
||
"inviteTo": "Inviter a {name}",
|
||
"inviteDescription": "Ils recevront un e-mail avec un lien pour rejoindre ce workspace. Les invitations expirent dans 7 jours.",
|
||
"emailAddress": "Adresse e-mail",
|
||
"emailPlaceholder": "collegue@exemple.fr",
|
||
"role": "Role",
|
||
"memberRoleDesc": "Membre — peut voir et contribuer aux projets",
|
||
"adminRoleDesc": "Admin — peut gerer les membres et les parametres",
|
||
"adminInfo": "Les admins peuvent gerer les parametres du workspace, les membres et la facturation.",
|
||
"memberInfo": "Les membres peuvent creer et gerer les projets assignes a ce workspace.",
|
||
"cancel": "Annuler",
|
||
"sendInvitation": "Envoyer l'invitation",
|
||
"sending": "Envoi...",
|
||
"pendingInvitations": "Invitations en attente",
|
||
"expires": "expire le {date}",
|
||
"by": "par @{username}",
|
||
"searchMembers": "Rechercher des membres...",
|
||
"allRoles": "Tous les roles",
|
||
"owner": "Proprietaire",
|
||
"admin": "Admin",
|
||
"member": "Membre",
|
||
"memberColumn": "Membre",
|
||
"roleColumn": "Role",
|
||
"invitedBy": "Invite par",
|
||
"joined": "Rejoint",
|
||
"noMatch": "Aucun membre ne correspond a vos filtres",
|
||
"noMembers": "Pas encore de membres",
|
||
"remove": "Supprimer",
|
||
"page": "Page {page} sur {totalPages}",
|
||
"totalMembers": "{count} membres au total",
|
||
"invitationSent": "Invitation envoyee a {email}",
|
||
"failedSendInvitation": "Echec de l'envoi de l'invitation",
|
||
"memberRemoved": "Membre supprime",
|
||
"failedRemoveMember": "Echec de la suppression du membre",
|
||
"invitationCancelled": "Invitation annulee",
|
||
"failedCancelInvitation": "Echec de l'annulation de l'invitation",
|
||
"roleUpdated": "Role mis a jour",
|
||
"failedUpdateRole": "Echec de la mise a jour du role",
|
||
"pending": "En attente"
|
||
},
|
||
"settings": {
|
||
"title": "Parametres du Workspace",
|
||
"general": "General",
|
||
"avatarUrl": "URL de l'avatar",
|
||
"avatarUrlPlaceholder": "https://exemple.fr/avatar.png",
|
||
"avatarHint": "Entrez une URL vers une image pour l'avatar du workspace.",
|
||
"workspaceName": "Nom du Workspace",
|
||
"namePlaceholder": "Mon Workspace",
|
||
"description": "Description",
|
||
"descPlaceholder": "Decrivez ce workspace...",
|
||
"billingEmail": "E-mail de facturation",
|
||
"billingEmailPlaceholder": "facturation@exemple.fr",
|
||
"billingHint": "Les factures seront envoyees a cette adresse e-mail.",
|
||
"saveChanges": "Enregistrer les modifications",
|
||
"saving": "Enregistrement...",
|
||
"plan": "Plan",
|
||
"currentPlan": "Plan actuel",
|
||
"manageBilling": "Gerer la facturation",
|
||
"dangerZone": "Zone dangereuse",
|
||
"deleteWorkspace": "Supprimer le workspace",
|
||
"deleteWarning": "Supprimer definitivement ce workspace et toutes ses donnees. Cette action est irreversible.",
|
||
"deletingWorkspace": "Suppression...",
|
||
"deleteConfirm": "Etes-vous sur de vouloir supprimer ce workspace? Cette action est irreversible.",
|
||
"updated": "Workspace mis a jour",
|
||
"failedUpdate": "Echec de la mise a jour du workspace",
|
||
"deleted": "Workspace supprime",
|
||
"failedDelete": "Echec de la suppression du workspace"
|
||
}
|
||
},
|
||
"projectSettings": {
|
||
"general": {
|
||
"title": "General",
|
||
"description": "Description",
|
||
"projectAvatar": "Avatar du projet",
|
||
"uploadAvatar": "Telecharger l'avatar",
|
||
"avatarFormat": "PNG, JPG, GIF ou WebP. Max 2Mo.",
|
||
"displayName": "Nom d'affichage",
|
||
"publicVisibility": "Visibilite publique",
|
||
"publicVisibilityDesc": "Permettre a tous de voir ce projet.",
|
||
"saveChanges": "Enregistrer les modifications",
|
||
"confirmTitle": "Confirmer les modifications du projet",
|
||
"confirmDescription": "Vous etes sur le point de mettre a jour les parametres suivants:",
|
||
"displayNameField": "Nom d'affichage",
|
||
"descriptionField": "Description",
|
||
"visibilityField": "Visibilite: {visibility}",
|
||
"publicWarning": "Rendre ce projet public permettra a chacun de voir son contenu.",
|
||
"confirmSave": "Confirmer et enregistrer",
|
||
"projectAvatarUpdated": "Avatar du projet mis a jour",
|
||
"failedUploadAvatar": "Echec du telechargement de l'avatar",
|
||
"fileSizeLimit": "La taille du fichier doit etre inferieure a 2Mo",
|
||
"projectSettingsUpdated": "Parametres du projet mis a jour",
|
||
"failedUpdateProject": "Echec de la mise a jour des parametres du projet"
|
||
},
|
||
"members": {
|
||
"title": "Membres",
|
||
"invite": "Inviter",
|
||
"searchMembers": "Rechercher des membres…",
|
||
"member": "membre",
|
||
"members": "membres",
|
||
"noMatchSearch": "Aucun membre ne correspond a votre recherche",
|
||
"noMembers": "Aucun membre trouve",
|
||
"clearSearch": "Effacer la recherche",
|
||
"user": "Utilisateur",
|
||
"role": "Role",
|
||
"joined": "Rejoint",
|
||
"actions": "Actions",
|
||
"inviteMemberTitle": "Inviter un membre",
|
||
"email": "E-mail",
|
||
"emailPlaceholder": "collegue@exemple.fr",
|
||
"cancel": "Annuler",
|
||
"sendInvite": "Envoyer l'invitation",
|
||
"sending": "Envoi…",
|
||
"removeMemberTitle": "Supprimer le membre",
|
||
"removeConfirm": "Etes-vous sur de vouloir supprimer {username} de ce projet?",
|
||
"removing": "Suppression…",
|
||
"remove": "Supprimer",
|
||
"invitationSent": "Invitation envoyee",
|
||
"failedSendInvitation": "Echec de l'envoi de l'invitation",
|
||
"memberRemoved": "Membre supprime",
|
||
"failedRemoveMember": "Echec de la suppression du membre",
|
||
"roleUpdated": "Role mis a jour",
|
||
"failedUpdateRole": "Echec de la mise a jour du role",
|
||
"emailRequired": "L'e-mail est requis",
|
||
"errorLoading": "Erreur:",
|
||
"failedLoadMembers": "Echec du chargement des membres"
|
||
},
|
||
"labels": {
|
||
"title": "Labels",
|
||
"description": "Description",
|
||
"editLabel": "Modifier le label",
|
||
"createLabel": "Creer un label",
|
||
"nameRequired": "Nom *",
|
||
"namePlaceholder": "Nom du label",
|
||
"color": "Couleur",
|
||
"descPlaceholder": "Decrivez ce label",
|
||
"cancel": "Annuler",
|
||
"updateLabel": "Mettre a jour le label",
|
||
"createLabelButton": "Creer le label",
|
||
"addLabel": "Ajouter un label",
|
||
"failedToLoad": "Echec du chargement des labels",
|
||
"noLabels": "Aucun label trouve. Creez votre premier label.",
|
||
"deleteLabelTitle": "Supprimer le label",
|
||
"deleteLabelConfirm": "Etes-vous sur de vouloir supprimer ce label? Cette action est irreversible.",
|
||
"delete": "Supprimer",
|
||
"labelCreated": "Label cree",
|
||
"labelUpdated": "Label mis a jour",
|
||
"labelDeleted": "Label supprime",
|
||
"failedCreateLabel": "Echec de la creation du label",
|
||
"failedUpdateLabel": "Echec de la mise a jour du label",
|
||
"failedDeleteLabel": "Echec de la suppression du label",
|
||
"nameRequiredError": "Le nom du label est requis"
|
||
},
|
||
"boards": {
|
||
"title": "Tableaux",
|
||
"newBoard": "Nouveau tableau",
|
||
"noBoards": "Pas encore de tableaux",
|
||
"noBoardsHint": "Creez un tableau pour organiser le travail de votre projet.",
|
||
"newBoardDialog": "Nouveau tableau",
|
||
"name": "Nom",
|
||
"namePlaceholder": "ex. Planification Sprint",
|
||
"description": "Description",
|
||
"descriptionPlaceholder": "Optionnel",
|
||
"cancel": "Annuler",
|
||
"createBoard": "Creer le tableau",
|
||
"updated": "Mis a jour le {date}",
|
||
"failedCreate": "Echec de la creation du tableau"
|
||
},
|
||
"billing": {
|
||
"currentBilling": "Facturation actuelle",
|
||
"description": "Quota, utilisation et solde du cycle actuel.",
|
||
"monthlyQuota": "Quota mensuel",
|
||
"currentBalance": "Solde actuel",
|
||
"currentUsage": "Utilisation actuelle",
|
||
"billingHistory": "Historique de facturation",
|
||
"billingHistoryDesc": "Enregistrements du flux de facturation du projet.",
|
||
"noRecords": "Pas encore d'enregistrements de facturation.",
|
||
"time": "Heure",
|
||
"reason": "Raison",
|
||
"amount": "Montant",
|
||
"currency": "Devise",
|
||
"type": "Type",
|
||
"charge": "Debit",
|
||
"credit": "Credit",
|
||
"showing": "Affichage de {start} a {end} sur {total} enregistrements",
|
||
"page": "Page {page} sur {totalPages}",
|
||
"failedToLoad": "Echec du chargement des informations de facturation."
|
||
},
|
||
"skills": {
|
||
"title": "Skills",
|
||
"subtitle": "Instructions d'agent pour ce projet",
|
||
"searchPlaceholder": "Rechercher des skills...",
|
||
"all": "Tout",
|
||
"manual": "Manuel",
|
||
"repo": "Depot",
|
||
"scanRepos": "Scanner les depots",
|
||
"addSkill": "Ajouter un skill",
|
||
"noSkills": "Aucun skill trouve",
|
||
"noSkillsHint": "Ajoutez des skills manuellement ou scannez les depots pour decouvrir les fichiers SKILL.md.",
|
||
"noMatch": "Aucun skill ne correspond a votre recherche ou filtre.",
|
||
"deleteSkill": "Supprimer le skill",
|
||
"deleteConfirm": "Etes-vous sur de vouloir supprimer \"{name}\"? Cette action est irreversible.",
|
||
"cancel": "Annuler",
|
||
"delete": "Supprimer",
|
||
"content": "Contenu",
|
||
"moreLines": "+{count} lignes supplementaires",
|
||
"copied": "Copie",
|
||
"copyContent": "Copier le contenu",
|
||
"scannedFromRepo": "Scanne depuis le depot",
|
||
"addedManually": "Ajoute manuellement",
|
||
"failedLoad": "Echec du chargement des skills",
|
||
"scanSuccess": "Depots scannes avec succes",
|
||
"scanFailed": "Echec du scan des depots",
|
||
"deleted": "\"{name}\" supprime",
|
||
"failedDelete": "Echec de la suppression du skill"
|
||
},
|
||
"webhook": {
|
||
"title": "Webhooks",
|
||
"description": "Configurez les webhooks pour recevoir des notifications sur les evenements de votre projet.",
|
||
"comingSoon": "Bientot disponible",
|
||
"notAvailable": "La configuration des webhooks n'est pas encore disponible."
|
||
},
|
||
"oauth": {
|
||
"title": "Application OAuth",
|
||
"description": "Creez et gerez des applications OAuth pour les integrations tierces.",
|
||
"comingSoon": "Bientot disponible",
|
||
"notAvailable": "La gestion des applications OAuth n'est pas encore disponible."
|
||
}
|
||
},
|
||
"shared": {
|
||
"projects": "Projets",
|
||
"loading": "Chargement...",
|
||
"error": "Erreur",
|
||
"success": "Succes",
|
||
"cancel": "Annuler",
|
||
"confirm": "Confirmer",
|
||
"delete": "Supprimer",
|
||
"edit": "Modifier",
|
||
"save": "Enregistrer",
|
||
"close": "Fermer",
|
||
"back": "Retour",
|
||
"next": "Suivant",
|
||
"previous": "Precedent",
|
||
"submit": "Soumettre",
|
||
"search": "Rechercher",
|
||
"filter": "Filtrer",
|
||
"clear": "Effacer",
|
||
"reset": "Reinitialiser",
|
||
"apply": "Appliquer",
|
||
"yes": "Oui",
|
||
"no": "Non",
|
||
"ok": "OK",
|
||
"retry": "Reessayer",
|
||
"refresh": "Actualiser",
|
||
"noData": "Pas de donnees",
|
||
"noResults": "Aucun resultat",
|
||
"loadingFailed": "Echec du chargement",
|
||
"operationFailed": "Operation echouee",
|
||
"operationSuccess": "Operation reussie"
|
||
},
|
||
"about": {
|
||
"title": "A propos de GitDataAI",
|
||
"subtitle": "Nous croyons que chaque action d'ingenierie devrait etre une commande versionnee — auditable, repeatable et approuvee par l'homme. Nous construisons la plateforme Command as Service pour l'ere des agents.",
|
||
"quote": "\"Chaque action est une commande. Chaque commande est versionnee et auditable.\"",
|
||
"mission": "GitDataAI a ete fondee pour apporter Command as Service a l'ere des agents — chaque decision d'agent versionnee, chaque flux de commandes auditable, chaque action humain-dans-la-boucle approuvee.",
|
||
"ourValues": "Nos valeurs",
|
||
"values": {
|
||
"transparency": {
|
||
"title": "Transparence",
|
||
"desc": "Chaque decision d'agent est journalisee, versionnee et auditable. Pas de boite noire."
|
||
},
|
||
"collaboration": {
|
||
"title": "Collaboration",
|
||
"desc": "Les humains et les agents sont des pairs. Aucun ne remplace l'autre — ensemble ils accomplissent plus."
|
||
},
|
||
"reliability": {
|
||
"title": "Fiabilite",
|
||
"desc": "Infrastructure de qualite production. Vos agents fonctionnent quand vous en avez besoin."
|
||
},
|
||
"extensibility": {
|
||
"title": "Extensibilite",
|
||
"desc": "Registre ouvert, API ouverte. Le reseau grandit grace aux contributions de la communaute."
|
||
}
|
||
},
|
||
"theTeam": "L'equipe",
|
||
"hiring": "Nous recrutons. Venez construire avec nous.",
|
||
"join": "Rejoindre GitDataAI",
|
||
"github": "GitHub"
|
||
},
|
||
"invitations": {
|
||
"title": "Mes invitations",
|
||
"pendingCount": "{count} invitation en attente",
|
||
"pendingCountPlural": "{count} invitations en attente",
|
||
"noPending": "Pas d'invitation en attente",
|
||
"noPendingHint": "Les invitations de projet et workspace apparaitront ici.",
|
||
"projectInvitation": "Invitation projet",
|
||
"workspaceInvitation": "Invitation workspace",
|
||
"invitedToJoin": "Vous avez ete invite a rejoindre {name}",
|
||
"invitedToWorkspace": "Vous avez ete invite a rejoindre le workspace {name}",
|
||
"by": "par {username}",
|
||
"accept": "Accepter",
|
||
"decline": "Refuser",
|
||
"acceptedProject": "Vous avez rejoint le projet: {name}",
|
||
"declinedInvitation": "Invitation a {name} refusee",
|
||
"acceptedWorkspace": "Vous avez rejoint le workspace",
|
||
"failedAccept": "Echec de l'acceptation de l'invitation",
|
||
"failedDecline": "Echec du refus de l'invitation"
|
||
},
|
||
"network": {
|
||
"title": "Le reseau GitDataAI",
|
||
"subtitle": "Un ecosysteme croissant d'agents, workspaces et skills collaborant via un flux de commandes unifie. Chaque action d'agent est une commande. Chaque commande est repeatable.",
|
||
"activeAgents": "Agents actifs",
|
||
"workspaces": "Workspaces",
|
||
"skillRuns": "Executions de skills",
|
||
"uptimeSla": "SLA de disponibilite",
|
||
"publicRooms": "Salons publics",
|
||
"live": "EN DIRECT",
|
||
"active": "Actif",
|
||
"agents": "{count} agents",
|
||
"participants": "{count}",
|
||
"privacyByDefault": "Prive par defaut",
|
||
"privacyDesc": "Tous les workspaces sont prives par defaut. Vous controlez qui voit vos agents, skills et historique de conversation. Les salons publics necessitent un opt-in explicite.",
|
||
"network": "Reseau",
|
||
"roomsLive": "{count} salons en direct",
|
||
"ended": "TERMINE",
|
||
"startYourOwnRoom": "Lancez votre propre salon"
|
||
},
|
||
"skills": {
|
||
"title": "Le registre de Skills",
|
||
"subtitle": "Comportements d'agent reutilisables et versionnes, conditionnes en skills — invoques par commande, deployes sur toute votre flotte d'agents.",
|
||
"searchPlaceholder": "Rechercher des skills...",
|
||
"categories": [
|
||
"Tout",
|
||
"Frontend",
|
||
"Backend",
|
||
"DevOps",
|
||
"Securite",
|
||
"Donnees",
|
||
"Tests"
|
||
],
|
||
"publishCTA": "Publiez votre propre skill et rejoignez le registre.",
|
||
"publishButton": "Publier un skill",
|
||
"runs": "{count} executions"
|
||
},
|
||
"solutions": {
|
||
"title": "Command as Service",
|
||
"subtitle": "Dans GitDataAI, chaque action est une commande de premiere classe. Les commandes sont versionnees, auditables et composables — votre workflow de developpement est votre API.",
|
||
"learnMore": "En savoir plus",
|
||
"coreConcept": "Concept central"
|
||
},
|
||
"notificationDrawer": {
|
||
"title": "Notifications",
|
||
"live": "En direct",
|
||
"markAllRead": "Tout marquer comme lu",
|
||
"noNotifications": "Pas encore de notifications",
|
||
"noNotificationsHint": "Vous verrez les mises a jour ici lorsqu'un evenement se produit.",
|
||
"viewAll": "Voir toutes les notifications",
|
||
"unread": "{count} non lues",
|
||
"notifications": "Notifications"
|
||
}
|
||
}
|