Files
homarr/packages/translation/src/lang/fr.json
T

8641 lines
327 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"init": {
"studio": {
"navigationLabel": "Sections d'intégration",
"back": "Précédent",
"buildBoard": "Construire mon tableau",
"common": {
"unknownError": "Quelque chose s'est mal passé. Vos choix sont toujours là; essayez à nouveau."
},
"claim": {
"checking": "Sécurisation de cette session d'intégration…",
"checkingTitle": "Préparation de la configuration sécurisée",
"lockedTitle": "L'installation est ouverte dans un autre navigateur",
"lockedDescription": "Continuez là ou attendez que sa session sécurisée en première exécution expire avant de réessayer.",
"signInTitle": "Connexion de l'administrateur requise",
"signInDescription": "Un administrateur existe déjà. Connectez-vous pour reprendre la configuration sans révéler les identifiants ou l'accès au service.",
"signIn": "Se connecter et reprendre",
"errorTitle": "L'installation n'a pas pu être sécurisée",
"errorDescription": "Recharger la page pour réessayer la session sécurisée de première exécution."
},
"navigation": {
"essentials": "Essentiels",
"discover": "Découvrir",
"connect": "Connecter",
"board": "Tableau",
"extend": "Étendre",
"review": "Aperçu"
},
"welcome": {
"title": "Bienvenue à la maison.",
"description": "Bienvenue sur Homarr v{version}. Nous vous guiderons à travers l'essentiel et vous aiderons à construire votre première planche.",
"start": "Commencer",
"restore": "Restaurer la sauvegarde",
"restoreTitle": "Restaurer à partir d'une sauvegarde",
"restoreDescription": "Une sauvegarde SQLite complète restaure les cartes, les personnes, les applications, les intégrations et les paramètres. Homarr le valide avant de remplacer quoi que ce soit.",
"errorTitle": "L'installation n'a pas pu démarrer",
"errorDescription": "Vos choix de configuration sont toujours ici. Essayez à nouveau, ou rechargez la page si cela continue."
},
"account": {
"title": "Créez votre administrateur",
"description": "Spécifiez les informations d'identification pour votre compte d'administrateur.",
"username": "Nom d'utilisateur de l'administrateur",
"passwordHint": "Seul le minimum de 8 caractères est requis. Les autres contrôles de résistance au mot de passe sont des suggestions.",
"create": "Créer un administrateur",
"errorTitle": "L'administrateur n'a pas pu être créé",
"recoveryTitle": "Compte administrateur créé",
"recoveryDescription": "La connexion automatique n'est pas terminée. Connectez-vous avec les identifiants d'administrateur que vous venez de créer pour continuer l'installation.",
"recoveryAction": "Connectez-vous et continuez",
"unknownError": "L'administrateur n'a pas pu être créé."
},
"externalGroup": {
"title": "Connecter votre groupe d'administrateur",
"description": "Utilisez le nom exact du groupe envoyé par LDAP ou OIDC. Les membres de ce groupe reçoivent un accès administrateur.",
"name": "Groupe administrateur externe",
"nameDescription": "Ceci est sensible à la casse et doit correspondre à votre fournisseur d'identité.",
"continue": "Enregistrer le groupe et continuer",
"errorTitle": "Le groupe n'a pas pu être enregistré",
"unknownError": "Le groupe administrateur n'a pas pu être enregistré."
},
"essentials": {
"title": "Commencer avec des valeurs par défaut familières",
"description": "Définissez la langue et l'apparence que tout le monde voit en premier, puis donnez à Homarr le modèle d'adresse utilisé par vos services.",
"language": "Langue par défaut",
"theme": "Thème par défaut",
"themeAuto": "Système",
"themeLight": "Clair",
"themeDark": "Sombre",
"serverOriginHelp": "Homarr utilise cette adresse pour préremplir les URL de service détectées. Vous pouvez toujours modifier chaque service individuellement.",
"serverDescription": "Ceci est un raccourci, pas une restriction. Chaque service détecté reste modifiable.",
"serverOrigin": "Domaine, IP ou chemin de proxy inversé",
"serverOriginDescription": "Exemples : home.lan, 192.168.1.10, ou https://home.example.com/services. Choisissez comment chaque service est ajouté ci-dessous.",
"analytics": "Partager des analyses de produits anonymes",
"analyticsDescription": "Aide Homarr à améliorer la fiabilité des fonctionnalités. Aucun identifiant de service ou contenu du tableau de bord ne sont envoyés."
},
"discover": {
"title": "Voir ce que cette installation peut réellement atteindre",
"description": "Homarr vérifie les capacités en place. Un socket Docker manquant ou un contexte Kubernetes ne bloque jamais une installation manuelle.",
"database": "Base de données",
"docker": "Docker et sockets compatibles",
"kubernetes": "Kubernetes",
"assistantWorkshop": "Assistant et atelier",
"found": "Intégrations {integrations} trouvées et applications supplémentaires {apps}",
"retryKubernetes": "Vérifiez à nouveau Kubernetes",
"retryWorkshop": "Revérifier l'atelier",
"unknownVersion": "version inconnue",
"kubernetesAvailable": "Connecté à Kubernetes {version}",
"kubernetesDisabled": "Non activé; continuer avec Docker ou les services manuels",
"kubernetesUnavailable": "Kubernetes est activé mais ne peut pas être atteint à partir de ce processus Homarr",
"workshopAvailable": "Atelier communautaire et services d'assistants hébergés sont accessibles",
"workshopUnavailable": "Des fournisseurs d'assistants locaux et personnalisés restent disponibles",
"partialTitle": "Certaines sources n'ont pas pu être analysées",
"partialDescription": "Les résultats des hôtes accessibles sont conservés. Vérifiez les autorisations de socket ou ajoutez les services manuellement dans la section suivante.",
"status": {
"checking": "Vérification de la disponibilité…",
"available": "Disponible",
"partial": "Partiellement disponible",
"empty": "Accessible, aucun service en cours",
"disabled": "Désactivé par la configuration du serveur",
"unavailable": "Indisponible dans ce processus Homarr"
}
},
"connect": {
"title": "Connectez ce qui rend le tableau utile",
"description": "Sélectionnez plusieurs services à la fois. Les étiquettes Docker prennent la priorité, les images correspondantes comblent les lacunes, et chaque URL et les informations d'identification restent vérifiables.",
"discoveredIntegrations": "Instances d'intégration détectées ({count})",
"detectedIntegrationLabel": "Importer {name}, détecté comme {kind}",
"detectedAppLabel": "Importer l'application détectée {name}",
"otherIntegrations": "Ajouter une autre intégration",
"configureIntegrations": "Configurer les intégrations",
"discoveredApps": "Applications détectées ({count})",
"appAddressRequired": "Ajouter une adresse pour {name}, ou la supprimer de la sélection.",
"empty": "Aucune intégration sélectionnée. Homarr va toujours créer un tableau de démarrage utile avec des widgets généraux.",
"dockerSource": "Docker",
"manualSource": "Manuelle",
"url": "URL du service",
"noCredentials": "Aucun mot de passe",
"noCredentialsDescription": "Cette intégration n'a pas besoin d'identifiants.",
"credentialMethod": "Méthode d'identification",
"getApiKey": "Ouvrir les paramètres de la clé API pour ce service",
"openGuide": "Ouvrir le guide de configuration d'Homarrr pour ce service",
"testConnection": "Tester la connexion",
"testSuccess": "Fonctions de connexion",
"testSuccessDescription": "Homarr connecté avec l'adresse actuelle et les identifiants.",
"testError": "Échec de la connexion",
"testErrorDescription": "Vérifiez l'adresse et les identifiants du service, puis réessayez.",
"needsConfiguration": "Configuration nécessaire",
"tested": "Connexion testée",
"testFailed": "Le test de connexion a échoué",
"incompleteConfirmation": "Les intégrations inachevées seront ignorées. Continuer sans ?"
},
"board": {
"title": "Formez la planche avant sa construction",
"description": "Homarr crée des mises en page mobiles et de base protégées, puis place des applications et des widgets compatibles à partir des services que vous avez sélectionnés.",
"target": "Tableau à configurer",
"targetDescription": "Choisissez exactement la carte existante que cette configuration devrait mettre à jour.",
"targetPlaceholder": "Sélectionnez un tableau",
"targetRequired": "Sélectionnez le tableau à configurer avant de continuer.",
"name": "Nom du tableau",
"nameDescription": "Utilisé dans l'URL du tableau; lettres, chiffres, tirets et tirets bas seulement.",
"nameRequired": "Entrez un nom de tableau avant de continuer.",
"primaryColor": "Couleur principale",
"secondaryColor": "Couleur secondaire",
"resetColors": "Réinitialiser les couleurs",
"radius": "Rayon d'angle du widget",
"radiusOptions": {
"xs": "Poignée",
"sm": "Discret",
"md": "Equilibré",
"lg": "Arrondi",
"xl": "Douce"
},
"columns": "Colonnes du tableau",
"columnsDescription": "Les colonnes définissent la grille horizontale utilisée pour la taille et la position des objets. 12 sont abondants pour la plupart des personnes.",
"columnCount": "{count, plural, one {# colonne} other {# colonnes}}",
"leftSidebar": "Left sidebar",
"rightSidebar": "Barre latérale droite",
"previewLabel": "Aperçu en direct de la mise en page du premier tableau"
},
"extend": {
"title": "Fonctionnalités avancées",
"tabsLabel": "Assistant, Atelier et Configuration MCP",
"assistant": "Assistant",
"workshop": "Atelier",
"assistantSetup": {
"loginTitle": "Connexion de l'administrateur requise",
"loginDescription": "Les clés du fournisseur et l'accès du modèle sont autorisés. Terminez l'installation, connectez-vous et Homarr ouvrira la configuration de l'Assistant directement.",
"loginAction": "Connectez-vous pour configurer l'Assistant"
},
"workshopSetup": {
"title": "Atelier Homarr",
"description": "Parcourez les Widgets Personnalisés de la Communauté, inspectez les capacités demandées, installez-les et publiez votre propre travail sans copier de code entre les serveurs.",
"available": "Disponible",
"checking": "Vérification de…",
"unavailable": "Unavailable",
"discoverTitle": "Découvrir",
"discoverDescription": "Trouvez des widgets construits pour de vrais workflows auto-hébergés.",
"installTitle": "Réviser et installer",
"installDescription": "Voir les métadonnées et la configuration avant d'ajouter quoi que ce soit.",
"publishTitle": "Partager",
"publishDescription": "Publier des widgets réutilisables dans la communauté.",
"browse": "Parcourir l'atelier"
},
"mcpSetup": {
"title": "MCP Homarr",
"description": "Connectez Claude, Codex ou un autre client MCP aux outils saisis par Homarr. Les clés API conservent un accès explicite et révocable.",
"endpoint": "Point de terminaison HTTP streamable",
"keyTitle": "Copier cette clé maintenant",
"keyDescription": "Pour des raisons de sécurité, Homarr ne peut plus afficher cette clé API.",
"copyKey": "Copier la clé API",
"createKey": "Créer une clé API MCP",
"errorTitle": "La clé MCP API n'a pas pu être créée",
"loginRequired": "Connectez-vous en tant qu'administrateur après l'installation pour créer une clé API.",
"configuration": "Configuration du client",
"copy": "Copier la configuration",
"copied": "Copié",
"advanced": "Ouvrir les outils MCP, les autorisations et les détails de configuration"
}
},
"review": {
"title": "Un tableau, construit autour de vos services",
"description": "Homarr teste les connexions non enregistrées, importe les applications sélectionnées, applique l'apparence et la mise en page, puis ouvre le tableau exact qu'il a configuré.",
"board": "Premier tableau",
"columns": "Colonnes du tableau",
"columnsValue": "{count, plural, one {# colonne} other {# colonnes}}",
"sidebars": "Barres latérales",
"sidebarsValue": "{count, plural, =0 {None} one {# sidebar} other {# sidebars}}",
"layouts": "Mises en page adaptatives",
"layoutsValue": "Mobile + Base",
"integrations": "Intégrations",
"integrationsValue": "{count, plural, =0 {Aucun sélectionné} one {# intégration} other {# intégrations}}",
"apps": "Tuiles de l'application",
"appsValue": "{count, plural, =0 {Les applications de démarrage seulement} one {# tuile d'application} other {# tuiles d'application}}",
"language": "Langue",
"theme": "Thème",
"themeAuto": "Préférences du système",
"themeLight": "Clair",
"themeDark": "Sombre",
"colors": "Couleurs du tableau",
"radius": "Rayon du widget",
"automaticTitle": "Ce qu'Homarr va créer",
"automaticDescription": "Des widgets, des icônes, des liens d'applications, des relations d'intégration et un placement réactif proviennent du catalogue Homarr partagé. Vous pourrez modifier chaque résultat plus tard.",
"dockerWarningTitle": "Certaines étiquettes Docker ont été modifiées lors de l'installation",
"dockerWarningDescription": "{count, plural, one {Le résultat sélectionné Docker n'a pas pu être appliqué car son service a changé, ciblé un autre tableau, ou son widget était incompatible} other {# Les résultats sélectionnés de Docker n'ont pas pu être appliqués parce que les services ont changé, ciblé un autre tableau, ou leurs widgets étaient incompatibles}}",
"errorTitle": "Le tableau n'a pas pu être construit",
"progress": {
"applying": "Tester les connexions et construire votre carte",
"done": "Votre tableau est prêt"
}
},
"finish": {
"title": "Votre premier tableau est prêt.",
"description": "Homarr a connecté les pièces que vous avez sélectionnées et gardé le reste éditable. Ouvrez maintenant le tableau; la visite courte dans le produit peut vous montrer le mode d'édition, les widgets, les mises en page et la recherche.",
"openBoard": "Ouvrir mon tableau",
"manageTitle": "Gérer",
"manageDescription": "Ajuster les applications, les intégrations, les tableaux, les utilisateurs et les paramètres du serveur.",
"workshopTitle": "Atelier",
"workshopDescription": "Découvrez et installez les Widgets Personnalisés de la communauté.",
"docsTitle": "Apprendre Homarr",
"docsDescription": "Lisez les guides axés sur les tableaux, les widgets, les intégrations et les outils."
}
}
},
"user": {
"name": "Utilisateur",
"page": {
"login": {
"title": "Connectez-vous à votre compte",
"subtitle": "Bon retour parmi nous ! Veuillez entrer vos identifiants"
},
"invite": {
"title": "Rejoignez Homarr",
"titleWithAppName": "Rejoindre {appName}",
"subtitle": "Bienvenue sur Homarr ! Veuillez créer votre compte",
"subtitleWithAppName": "Bienvenue sur {appName}! Veuillez créer votre compte",
"description": "Vous avez été invité par {username}"
}
},
"field": {
"email": {
"label": "Courriel",
"verified": "Vérifié"
},
"username": {
"label": "Nom d'utilisateur"
},
"password": {
"label": "Mot de passe",
"suggestionsTitle": "Suggestions de mot de passe",
"suggestion": {
"length": "Contient au moins 8 caractères",
"lowercase": "Inclut une lettre minuscule",
"uppercase": "Inclut une lettre majuscule",
"number": "Inclut un nombre",
"special": "Contient un symbole spécial"
}
},
"passwordConfirm": {
"label": "Confirmation du mot de passe"
},
"previousPassword": {
"label": "Ancien mot de passe"
},
"pingIconsEnabled": {
"label": "Utiliser les icônes pour les pings"
},
"byteUnitSystem": {
"label": "Unités de taille de données",
"description": "Choisir comment Homarr affiche les tailles d'octets et les taux d'octets. Les débits de bits utilisent toujours les unités décimales.",
"options": {
"binary": "Binaire",
"decimal": "Décimal"
}
},
"enableRightClickOnWidgets": {
"label": "Activer le clic droit sur les widgets",
"description": "Afficher le menu contextuel d'Homarr lorsque vous cliquez avec le bouton droit sur un widget. Désactiver pour utiliser le menu par défaut du navigateur (par exemple \"Ouvrir le lien dans un nouvel onglet\")."
},
"defaultSearchEngine": {
"label": "Moteur de recherche par défaut"
},
"openSearchInNewTab": {
"label": "Ouvrir les résultats de recherche dans un nouvel onglet"
},
"ddgBangs": {
"label": "Activer les bangs DuckDuckGo"
}
},
"error": {
"usernameTaken": "Nom d'utilisateur déjà utilisé"
},
"action": {
"login": {
"label": "Connexion",
"labelWith": "Se connecter avec {provider}",
"notification": {
"success": {
"title": "Connexion réussie",
"message": "Vous êtes maintenant connecté"
},
"error": {
"title": "Échec de la connexion",
"message": "Échec de la connexion"
}
},
"forgotPassword": {
"label": "Mot de passe oublié ?",
"description": "Un administrateur peut utiliser la commande suivante pour réinitialiser votre mot de passe :"
}
},
"register": {
"label": "Créer un compte",
"notification": {
"success": {
"title": "Compte créé",
"message": "Veuillez vous connecter pour continuer"
},
"error": {
"title": "Échec de la création du compte",
"message": "Votre compte n'a pas pu être créé"
}
}
},
"changePassword": {
"label": "Changer le mot de passe",
"notification": {
"success": {
"message": "Mot de passe modifié avec succès"
},
"error": {
"message": "Modification du mot de passe impossible"
}
}
},
"manageAvatar": {
"changeImage": {
"label": "Modifier l’image",
"notification": {
"success": {
"message": "L'image a été modifiée avec succès"
},
"error": {
"message": "Impossible de modifier l'image"
},
"toLarge": {
"title": "L'image est trop volumineuse",
"message": "La taille maximale de l'image est {size}"
}
}
},
"removeImage": {
"label": "Retirer l'image",
"confirm": "Êtes-vous sûr de vouloir retirer cette image ?",
"notification": {
"success": {
"message": "Image retirée avec succès"
},
"error": {
"message": "Impossible de retirer l'image"
}
}
}
},
"delete": {
"label": "Supprimer définitivement l'utilisateur",
"description": "Supprime cet utilisateur ainsi que ses préférences. Ne supprimera aucun tableau. L'utilisateur ne sera pas averti.",
"confirm": "Êtes-vous sûr de vouloir supprimer l'utilisateur {username} ainsi que ses préférences ?"
},
"select": {
"label": "Sélectionner l'utilisateur",
"notFound": "Aucun utilisateur trouvé"
}
}
},
"group": {
"name": "Groupe",
"search": "Trouver un groupe",
"field": {
"members": "Membres",
"homeBoard": {
"label": "Tableau d'accueil",
"description": "Seuls les tableaux accessibles au groupe peuvent être sélectionnés"
},
"mobileBoard": {
"label": "Tableau mobile",
"description": "Seuls les tableaux accessibles au groupe peuvent être sélectionnés"
}
},
"permission": {
"admin": {
"title": "Admin",
"item": {
"admin": {
"label": "Administrateur",
"description": "Les membres avec cette permission ont un accès complet à toutes les fonctionnalités et paramètres"
}
}
},
"custom-widget": {
"title": "Widgets personnalisés",
"item": {
"manage": {
"label": "Gérer les widgets personnalisés",
"description": "Permettre aux membres de créer, modifier et supprimer des définitions de widget personnalisées"
},
"secret-write": {
"label": "Configurer les secrets personnalisés des widgets",
"description": "Autoriser les membres et leurs clés API à définir des identifiants personnalisés de widget chiffrés"
}
}
},
"app": {
"title": "Applications",
"item": {
"create": {
"label": "Créer une app",
"description": "Autoriser les membres à créer des apps"
},
"use-all": {
"label": "Utiliser toutes les apps",
"description": "Autoriser les membres à ajouter des applications à leur tableau"
},
"modify-all": {
"label": "Modifier toutes les apps",
"description": "Autoriser les membres à modifier toutes les applications"
},
"full-all": {
"label": "Accès complet à l'application",
"description": "Autoriser les membres à gérer, utiliser et supprimer n'importe quelle application"
}
}
},
"board": {
"title": "Tableaux de bord",
"item": {
"create": {
"label": "Créer des tableaux",
"description": "Autoriser les membres à créer des tableaux"
},
"view-all": {
"label": "Voir tous les tableaux",
"description": "Autoriser les membres à voir tous les tableaux"
},
"modify-all": {
"label": "Modifier tous les tableaux",
"description": "Autoriser les membres à modifier tous les tableaux (n'inclut pas le contrôle d'accès et la zone de danger)"
},
"full-all": {
"label": "Accès complet au tableau",
"description": "Autoriser les membres à visualiser, modifier et supprimer tous les tableaux (y compris le contrôle d'accès et la zone de danger)"
}
}
},
"integration": {
"title": "Intégrations",
"item": {
"create": {
"label": "Créer des intégrations",
"description": "Autoriser les membres à créer des intégrations"
},
"use-all": {
"label": "Utiliser toutes les intégrations",
"description": "Autoriser les membres à ajouter des intégrations à leurs tableaux"
},
"interact-all": {
"label": "Interagir avec n'importe quelle intégration",
"description": "Autoriser les membres à interagir avec n'importe quelle intégration"
},
"full-all": {
"label": "Accès complet à l'intégration",
"description": "Autoriser les membres à gérer, utiliser et interagir avec n'importe quelle intégration"
}
}
},
"media": {
"title": "Médias",
"item": {
"upload": {
"label": "Téléverser des médias",
"description": "Autoriser les membres à téléverser des médias"
},
"view-all": {
"label": "Voir tous les médias",
"description": "Autoriser les membres à voir tous les médias"
},
"full-all": {
"label": "Accès complet aux médias",
"description": "Autoriser les membres à gérer et supprimer les médias"
}
}
},
"other": {
"title": "Autre",
"item": {
"view-logs": {
"label": "Voir les logs",
"description": "Autoriser les membres à voir les logs"
}
}
},
"search-engine": {
"title": "Moteurs de recherche",
"item": {
"create": {
"label": "Créer des moteurs de recherche",
"description": "Autoriser les membres à créer des moteurs de recherche"
},
"modify-all": {
"label": "Modifier tous les moteurs de recherche",
"description": "Autoriser les membres à modifier tous les moteurs de recherche"
},
"full-all": {
"label": "Accès complet au moteur de recherche",
"description": "Autoriser les membres à gérer et supprimer n'importe quel moteur de recherche"
}
}
},
"matrix": {
"none": "Pas d'accès",
"impliedHint": "Donne également : {permissions}",
"grantedViaAdmin": "Les administrateurs l'ont déjà. Réglez l'administrateur sur \"Aucun accès\" pour le configurer séparément.",
"preset": {
"label": "Préréglages",
"viewer": "Visionneuse",
"viewerDescription": "Lecture seule: afficher les tableaux et les médias, utiliser les applications et les intégrations qui existent déjà.",
"editor": "Editeur",
"editorDescription": "Gestion quotidienne : créer et éditer des tableaux, des applications, des intégrations et des moteurs de recherche.",
"admin": "Admin",
"adminDescription": "Accès illimité à toutes les fonctionnalités et paramètres, y compris la gestion des utilisateurs.",
"custom": "Personnalisé"
},
"effective": {
"title": "Autorisations effectives",
"description": "L'ensemble complet et dédoublé des actions que les membres de ce groupe peuvent effectuer, y compris les permissions accordées indirectement.",
"empty": "Aucune permission sélectionnée"
},
"noneDescription": "Les membres n'ont pas accès à cette zone.",
"level": {
"view": "Voir",
"use": "Utiliser",
"interact": "Interagir",
"modify": "Modifier",
"full": "Plein"
},
"capabilityIncluded": "Déjà inclus dans «{level}»"
}
},
"memberNotice": {
"mixed": "Certains membres proviennent de fournisseurs externes et ne peuvent pas être gérés ici",
"external": "Tous les membres proviennent de fournisseurs externes et ne peuvent pas être gérés ici"
},
"reservedNotice": {
"message": "Ce groupe est réservé pour l'utilisation du système et restreint certaines actions. <checkoutDocs></checkoutDocs>"
},
"action": {
"create": {
"label": "Nouveau groupe",
"notification": {
"success": {
"message": "Le groupe a été créé avec succès"
},
"error": {
"message": "Le groupe n'a pas pu être créé"
}
}
},
"transfer": {
"label": "Changer le propriétaire",
"description": "Transférer la propriété de ce groupe à un autre utilisateur.",
"confirm": "Êtes-vous sûr de vouloir transférer la propriété du groupe {name} à {username}?",
"notification": {
"success": {
"message": "Le groupe {group} a été transféré avec succès à {user}"
},
"error": {
"message": "Impossible de transférer la propriété"
}
}
},
"addMember": {
"label": "Ajouter un membre"
},
"removeMember": {
"label": "Retirer un membre",
"confirm": "Êtes-vous sûr de vouloir retirer {user} de ce groupe ?"
},
"delete": {
"label": "Supprimer le groupe",
"description": "Une fois que vous supprimez un groupe, il n'y a pas de retour en arrière possible. Soyez certain.",
"confirm": "Êtes-vous sûr de vouloir supprimer le groupe {name}?",
"notification": {
"success": {
"message": "Groupe {name} supprimé avec succès"
},
"error": {
"message": "Impossible de supprimer le groupe {name}"
}
}
},
"changePermissions": {
"notification": {
"success": {
"title": "Permissions sauvegardées",
"message": "Les permissions ont été sauvegardées avec succès"
},
"error": {
"title": "Permissions non sauvegardées",
"message": "Les permissions n'ont pas été sauvegardées"
}
}
},
"update": {
"notification": {
"success": {
"message": "Le groupe {name} a été enregistré avec succès"
},
"error": {
"message": "Impossible d'enregistrer le groupe {name}"
}
}
},
"select": {
"label": "Sélectionner un groupe",
"notFound": "Aucun groupe trouvé"
},
"settings": {
"board": {
"notification": {
"success": {
"title": "Paramètres enregistrés",
"message": "Paramètres du tableau enregistrés avec succès"
},
"error": {
"title": "Échec de l'enregistrement des paramètres",
"message": "Impossible d'enregistrer les paramètres du tableau"
}
}
}
},
"changePosition": {
"notification": {
"success": {
"message": "Position modifiée avec succès"
},
"error": {
"message": "Impossible de modifier la position"
}
}
}
},
"defaultGroup": {
"name": "Groupe par défaut",
"description": "{name} - Tous les utilisateurs connectés"
}
},
"app": {
"search": "Trouver une app",
"page": {
"list": {
"ariaLabel": "Applications configurées",
"noResults": {
"title": "Il n'y a pas encore d'apps",
"description": "Les applications sont des liens vers les services et les outils que vous voulez sur vos tableaux.",
"action": "Créer votre première app",
"filteredTitle": "Aucune application ne correspond à votre recherche",
"filteredDescription": "Aucune application ne correspond à «{search}». Essayez un autre nom ou une autre URL.",
"createOnlyTitle": "Vous pouvez seulement ajouter des applications",
"createOnlyDescription": "Vos autorisations vous permettent de créer des applications mais pas de naviguer dans celles existantes. Demandez à un administrateur d'accéder à la gestion des applications pour voir la liste complète."
}
},
"create": {
"title": "Nouvelle app",
"notification": {
"success": {
"message": "L'application a bien été créée"
},
"error": {
"message": "L'application n'a pas pu être créée"
}
}
},
"edit": {
"title": "Éditer l'application",
"notification": {
"success": {
"message": "L'application a été enregistrée avec succès"
},
"error": {
"message": "L'application n'a pas pu être enregistrée"
}
}
},
"delete": {
"title": "Supprimer l'app",
"message": "Êtes-vous sûr de vouloir supprimer l'app {name} ?",
"notification": {
"success": {
"message": "L'application a été supprimée avec succès"
},
"error": {
"message": "Impossible de supprimer l'application"
}
}
}
},
"field": {
"description": {
"label": "Description"
},
"useDifferentUrlForPing": {
"checkbox": {
"label": "Utiliser une URL différente pour le ping",
"description": "Utile si Homarr peut accéder directement à l'aide d'un nom d'hôte ou d'un réseau internes pour éviter l'utilisation de bande passante du FAI"
}
}
},
"action": {
"select": {
"label": "Sélectionner une app",
"notFound": "Aucune app trouvée",
"search": "Rechercher une application",
"noResults": "Pas de résultats",
"action": "Sélectionner {app}",
"title": "Sélectionner une application à ajouter à ce tableau",
"toggle": "Cliquez pour sélectionner",
"selected": "Sélectionnés",
"multiple": "Ajouter {count}",
"selectedCount": "{count, plural, one {# sélectionné} other {# sélectionné}}",
"appsSelected": "{count, plural, one {# app sélectionnée} other {# applications sélectionnées}}",
"selectMultiple": "Sélectionner plusieurs",
"cancelMultiple": "Quitter la sélection multiple",
"customApplication": "Application personnalisée",
"application": "Application"
},
"create": {
"title": "Créer une nouvelle application",
"description": "Créer une nouvelle application ",
"action": "Ouvrir la création de l'application"
}
}
},
"tips": {
"dismiss": "Rejeter l'astuce",
"multiSelectApps": "Astuce : Maintenez Ctrl / <unk> pour sélectionner plusieurs applications à la fois"
},
"customWidget": {
"secretEntry": {
"title": "Configurer la source de l'API",
"description": "Confirmez l'URL du serveur et entrez les identifiants. Les valeurs secrètes sont chiffrées par Homarr et jamais retournées à l'agent requérant.",
"loading": "Chargement de la requête sécurisée…",
"applying": "Application de cette configuration… Garder cette page ouverte.",
"saved": "Source de l'API configurée. Vous pouvez fermer cette page.",
"unavailable": "Demande indisponible",
"saveError": "Impossible de configurer la source de l'API",
"source": "Source de l'API : {name}",
"baseUrl": "URL du serveur",
"networkScope": "Accès au réseau",
"save": "Enregistrer la configuration de l'API",
"expires": "Cette demande unique expire à {time}."
},
"page": {
"list": {
"noResults": "Pas encore de widgets personnalisés. Créez votre premier widget!",
"noDescription": "Pas de description",
"enabled": "Activé",
"disabled": "Désactivé",
"disabledDescription": "Ce widget reste configuré mais ne sera chargé sur aucun tableau.",
"requestCount": "{count, plural, one {# demande} other {# demandes}}",
"invalidDefinition": "Définition non valide",
"migrationRequired": "Migration requise",
"migrationInstructions": "Ouvrir les actions pour copier ou exporter la définition originale de la v1 pour les loisirs manuels. Vous pouvez également utiliser l'invite de migration avec un LLM. Les placements existants de la carte fonctionnent après la migration.",
"missingCredentials": "{count, plural, one {Identification manquante} other {# identifiants manquants}}",
"missingCredentialsDescription": "{count, plural, one {Ce widget a encore besoin d'un identifiant.} other {Ce widget a encore besoin de # identifiants.}} Sélectionnez ce badge pour configurer l'URL et les valeurs chiffrées."
},
"create": {
"title": "Créer un widget personnalisé",
"subtitle": "Définissez une URL de l'API, l'authentification, et comment afficher les données de réponse."
},
"tabs": {
"ariaLabel": "Sections de widget personnalisées",
"installed": "Installé",
"workshop": "Atelier"
}
},
"action": {
"pasteImportHint": "Collez un widget JSON personnalisé complet avec Ctrl+V ou Command+V",
"delete": "Supprimer le widget personnalisé",
"deleteConfirm": "Êtes-vous sûr de vouloir supprimer \"{name}\" ? Cette action est irréversible.",
"export": "Exporter",
"duplicate": "Dupliquer",
"aiPrompt": "Design avec IA",
"copyAiPrompt": "Copier le prompt IA",
"enable": "Activer",
"disable": "Désactiver",
"menu": "Actions",
"downloadSkill": "Voir la compétence personnalisée du Widget",
"publishWorkshop": "Publier dans l'atelier",
"migrate": "Migrer le widget personnalisé",
"configureSources": "Configurer les sources",
"copyLegacyDefinition": "Copier le contenu du widget original",
"exportLegacyDefinition": "Exporter le contenu du widget original",
"copyMigrationPrompt": "Copier l'invite de migration LLM",
"pasteMigration": "Coller le widget migré",
"importMigration": "Importer un fichier JSON migré"
},
"sourceSetupDialog": {
"title": "Configurer les sources du widget",
"description": "Examinez où ce widget se connecte et ajoutez ou remplacez ses identifiants chiffrés.",
"credentialsRequired": "Les requêtes échoueront jusqu'à ce que les informations d'identification requises soient ajoutées.",
"save": "Enregistrer la configuration"
},
"field": {
"description": "Description"
},
"editor": {
"errorBoundary": {
"title": "Quelque chose s'est mal passé"
},
"action": {
"components": "Composants",
"format": "Formater",
"insertStarter": "Insert starter",
"redo": "Refaire",
"copied": "Copié",
"schema": "Schéma"
},
"reference": {
"minimal": "Exemple minimal",
"full": "Exemple complet"
},
"componentReference": {
"search": "Rechercher des composants",
"empty": "Aucun composant correspondant",
"count": "{count, number} composants disponibles"
},
"status": {
"errors": "{count, number} erreurs",
"warnings": "{count, number} avertissements",
"ready": "Aucun problème trouvé",
"position": "Ln {line, number}, Col {column, number}",
"characters": "{count, number} caractères",
"charactersWithLimit": "{count, number} / {limit, number}"
},
"diagnostics": {
"title": "Diagnostic du modèle",
"line": "Ligne {line, number}",
"ast": "{value}",
"bindingTypeConflict": "L'entrée \"{value}\" est partagée par des contrôles avec des types de valeurs incompatibles.",
"runtimeBindingTypeConflict": "L'entrée \"{value}\" est liée à la fois à {firstType} et à {secondType}.",
"dynamicRequestId": "Un identifiant de requête littéral est requis. Les identifiants dynamiques ne sont pas acceptés.",
"dynamicInputBinding": "Un nom d'entrée littéral est requis pour la liaison.",
"inlineRequestProps": "Les composants réseau acceptent requestId et les paramètres; les URL en ligne, la méthode, l'en-tête et les props corps sont bloqués.",
"invalidRequestManifest": "Les requêtes nommées doivent être une carte de requête valide. {value}",
"missingRequestId": "Ce composant réseau nécessite un identifiant de requête littéral.",
"templateEmpty": "Entrez un modèle JSX.",
"templateTooLong": "Le modèle dépasse la limite de 50 000 caractères.",
"unknownRequest": "Aucune requête nommée avec l'ID \"{value}\" n'existe."
}
},
"workbench": {
"configure": "Configurer",
"sectionNavigation": "Sections de widget personnalisées",
"widgetPreview": "Aperçu du widget",
"generalInformation": "Informations générales",
"invalidWidget": "Widget invalide",
"section": {
"general": "Général",
"sources": "Sources de l'API",
"requests": "Demandes",
"options": "Options",
"jsx": "JSX",
"preview": "Aperçu"
},
"status": {
"unsaved": "Modifications non enregistrées",
"invalid": "A besoin d'attention",
"ready": "Prêt"
},
"saveError": {
"title": "Widget n'a pas été sauvegardé",
"description": "Corrigez ces erreurs de validation et enregistrez à nouveau.",
"more": "+{count} autres erreurs sont affichées dans l'établi.",
"errors": "Erreurs de validation",
"copy": "Erreurs de copie",
"copied": "Erreurs copiées"
},
"action": {
"preview": "Test et aperçu",
"previewLoading": "Demandes de test"
},
"requests": {
"title": "Requêtes et actions nommées",
"label": "Demandes",
"description": "Les requêtes chargent les données; les actions ne s'exécutent qu'après l'interaction de l'utilisateur. Toute méthode HTTP est valide pour chaque type."
},
"options": {
"title": "Options du widget"
},
"builder": {
"advancedManifest": "Manifeste brut avancé",
"advancedJson": "Manifeste avancé JSON",
"manifestFilename": "widget.json",
"request": "Demander {count, number}",
"requestId": "ID de la requête",
"type": "Type de client de téléchargement",
"method": "Méthode",
"source": "Source de l'API",
"run": "Exécuter",
"runLoad": "Quand le widget se charge",
"runManual": "Depuis le sous-chargement",
"permission": "Permission",
"path": "Chemin d'accès",
"pathDescription": "Utilisez '{option:name}' pour les options du widget et '{param:name}' pour les valeurs d'invocation.",
"requestDetails": "Requête, corps et comportement",
"queryValues": "Valeurs de la requête",
"queryKey": "Clé de requête",
"queryKeyInvalid": "Utilisez un ID unique qui commence par une lettre et ne contient que des lettres, des chiffres, - ou _.",
"valueSource": "Source de valeur",
"literal": "Litérale",
"widgetOption": "Option de widget",
"invocationParameter": "Paramètre d'invocation",
"option": "Option",
"parameterName": "Nom du paramètre",
"value": "Valeur",
"removeQueryValue": "Supprimer la valeur de la requête",
"addQueryValue": "Ajouter la valeur de la requête",
"jsonBody": "Corps JSON",
"jsonBodyDescription": "Optionnel. Insérez les références $option et $param à n'importe quelle profondeur.",
"insertOptionReference": "Insérer une référence d'option",
"insertParameterReference": "Insérer la référence de paramètre",
"confirmation": "Message de confirmation",
"invalidation": "Rafraîchir après succès",
"invalidationDescription": "ID de requête séparés par des virgules",
"noAuth": "Envoyer sans authentification source",
"moveRequestUp": "Déplacer la requête vers le haut",
"moveRequestDown": "Déplacer la requête vers le bas",
"removeRequest": "Retirer la demande",
"addRequest": "Ajouter une demande",
"optionName": "Nom de l’option",
"label": "Étiquette",
"control": "Contrôle",
"description": "Description",
"default": "Par défaut",
"optionDetails": "Contraintes et choix dynamiques",
"minimum": "Minimum",
"maximum": "Maximum",
"step": "Étape",
"choiceLabel": "Étiquette de choix",
"choiceValue": "Valeur de choix",
"newChoice": "Nouveau choix",
"addChoice": "Ajouter un choix",
"removeChoice": "Supprimer le choix",
"choicesRequest": "Charger les choix depuis la requête",
"itemsPath": "Chemin des éléments",
"itemsPathPlaceholder": "Eléments (optionnel)",
"valuePath": "Chemin de la valeur",
"labelPath": "Chemin de l'étiquette",
"group": "Groupe",
"advancedOption": "Options avancées",
"moveOptionUp": "Déplacer l'option vers le haut",
"moveOptionDown": "Déplacer l'option vers le bas",
"removeOption": "Supprimer l'option",
"addOption": "Ajouter une option",
"invalidJson": "JSON invalide",
"invalidWidget": "Widget invalide"
},
"jsx": {
"title": "Modèle JSX",
"label": "Gabarit"
},
"sources": {
"title": "Sources et identifiants de l'API",
"newName": "API {count, number}",
"duplicateSourceId": "Les ID source de l'API doivent être uniques.",
"credentialRemoved": "Identification supprimée",
"credentialRemovedDescription": "La valeur enregistrée a été supprimée.",
"primary": "API Primaire",
"id": "ID source",
"name": "Nom de la tâche",
"baseUrl": "URL de base",
"baseUrlError": {
"invalid": "Entrez une URL complète.",
"protocol": "Utiliser une URL HTTP ou HTTPS.",
"credentials": "Supprimer le nom d'utilisateur et le mot de passe de cette URL. Configurer les identifiants ci-dessous à la place.",
"queryOrFragment": "Enlever la chaîne de requête ou le fragment de cette URL de base. Ajouter des valeurs de requête à une requête nommée."
},
"networkScope": "Accès au réseau",
"authentication": "Authentification",
"headerName": "Nom de l'en-tête",
"queryParameter": "Paramètre de requête",
"configured": "Configuré — entrez un remplacement",
"clear": "Clair",
"remove": "Supprimer la source et ses requêtes",
"advanced": "Avancé",
"add": "Ajouter une autre source API",
"sourceType": "Intégration",
"manualSource": "HTTP API",
"existingIntegration": "Intégration existante",
"integrationType": "Type d'intégration",
"selectIntegration": "Intégration configurée",
"noIntegrations": "Aucune intégration correspondante disponible",
"integrationUnavailable": "L'intégration sélectionnée n'est plus disponible. Sélectionnez une autre intégration.",
"integrationDescription": "Utilise l’URL d’intégration et les identifiants enregistrés. Les modifications s’appliquent automatiquement. Un accès complet à l’intégration est nécessaire pour exécuter les requêtes."
},
"ai": {
"title": "Créer ou réparer avec une IA",
"description": "Ajoutez d'abord une URL API docs si vous en avez une. Pour les correctifs, exécutez si possible. Copiez l'invite dans n'importe quelle AI; il peut demander des détails manquants. Collez son JSON final ici.",
"request": "Que doit faire ce widget ?",
"documentationUrl": "URL de la documentation de l'API (facultatif)",
"paste": "Coller",
"response": "Réponse IA",
"manualCopyDescription": "L'accès au presse-papier n'est pas disponible. Sélectionnez l'invite ci-dessous et copiez-le manuellement.",
"manualPasteDescription": "L'accès au presse-papiers n'est pas disponible ou la réponse copiée a besoin de correction. Collez la réponse JSON de l'IA ici.",
"selectAll": "Tout sélectionner",
"loadResponse": "Charger la réponse",
"loaded": "Widget chargé dans l'éditeur",
"invalidResponse": "Le presse-papier ne contient pas de widget v2 valide",
"invalidResponseDetail": "La réponse de l'IA est invalide : {message}"
},
"preview": {
"invalid": "Corriger les erreurs de validation pour prévisualiser ce widget.",
"fixtureError": "Erreur de prévisualisation",
"requestData": "Demander des données",
"status": {
"idle": "Les demandes n'ont pas été testées",
"loading": "Demandes de test",
"success": "Toutes les requêtes de chargement ont réussi",
"error": "Une ou plusieurs requêtes de chargement ont échoué"
},
"result": {
"loading": {
"title": "Test des requêtes API",
"description": "Homarr est en train de créer une session d'aperçu et de charger les données du widget."
},
"success": {
"title": "Aperçu prêt",
"description": "{succeeded, plural, =0 {Ce widget n'a pas de requêtes de chargement.} one {# demande de chargement réussie.} other {# demandes de chargement réussies.}} Ouvrez les données pour inspecter la réponse."
},
"error": {
"title": "Aperçu terminé avec des erreurs de demande",
"description": "{succeeded, number} réussi et {failed, number} Échec ouvert. Données ouvertes pour la réponse et les détails de l'erreur."
}
},
"instanceOptions": "Options de l'instance",
"liveActions": "Exécuter des actions contre l'API configurée",
"liveActionsDescription": "Désactivé est une simulation sûre. L'activation affecte le service réel.",
"noActions": "Aucune action définie.",
"containedFailures": "Les échecs d'exécution sont contenus dans ce widget. Les journaux de requête n'incluent jamais de valeurs secrètes.",
"validation": {
"title": "Validation",
"ready": "La définition du widget est valide."
},
"accessibility": {
"title": "Contrôles d'accessibilité",
"ready": "Aucune omission d'accessibilité commune détectée.",
"pending": "Les vérifications d'accessibilité seront exécutées lorsque la définition du widget sera valide.",
"imageAlt": "Ajouter le texte alt à chaque image, en utilisant un alt vide uniquement pour les images décoratives.",
"actionIconLabel": "Ajouter une étiquette aria ou un titre à chaque icône ActionIcon.",
"inputLabel": "Ajouter un libellé visible ou un nom accessible à chaque entrée."
},
"journal": "Journal des demandes édité",
"actionParameters": "Paramètres d'action (JSON)",
"invalidParameters": "Utilisez la chaîne déclarée, le nombre et les types de paramètres booléens.",
"runDestructive": "Exécuter une action destructive",
"runAction": "Exécuter l'action",
"deleteConfirmation": "Cette action d'aperçu modifie les données distantes à travers l'API configurée.",
"simulated": "Action simulée",
"httpStatus": "HTTP {status, number}",
"tab": {
"widget": "Widget",
"data": "Donnée",
"options": "Options",
"state": "État de la tâche",
"actions": "Contrôles",
"diagnostics": "Diagnostics"
},
"size": {
"compact": "Compact",
"standard": "Standard",
"wide": "Large"
},
"fixture": {
"live": "En direct",
"loading": "Chargement",
"empty": "Vide",
"error": "Erreur"
}
}
},
"preview": {
"request": {
"permission": {
"view": "Voir",
"modify": "Modifier",
"full": "Plein"
}
}
},
"notification": {
"created": "Widget \"{name}\" créé avec succès.",
"updated": "Widget \"{name}\" mis à jour avec succès.",
"deleted": "Widget \"{name}\" supprimé.",
"imported": "Widget importé avec succès.",
"migrated": "Ancien widget migré avec succès. Les placements existants de cartes utilisent maintenant la définition v2.",
"migrationError": "Impossible de migrer le widget existant. Assurez-vous que le fichier utilise le schéma homarr-custom-widget-v2.",
"legacyDefinitionCopied": "Le contenu original du widget a été copié. Les identifiants stockés ne sont pas inclus.",
"legacyDefinitionCopyError": "Impossible de copier le contenu du widget original.",
"migrationPromptCopied": "Une invite de migration a été copiée. Collez-la dans un LLM, copiez sa réponse JSON unique, puis choisissez Coller le widget migré ici.",
"migrationPromptCopyError": "Impossible de copier l'invite de migration.",
"sourcesConfigured": "Sources du widget et identifiants enregistrés.",
"sourceConfigurationError": "Impossible de configurer les sources du widget.",
"aiPromptCopiedWithCount": "L'invite IA a été copiée dans le presse-papiers ({count, number} caractères).",
"aiPromptCopyError": "Échec de la copie du prompt dans le presse-papiers. Votre navigateur peut ne pas prendre en charge cette fonctionnalité.",
"aiPromptSent": "Invitation envoyée. Vous pouvez continuer à éditer pendant que l'assistant fonctionne en arrière-plan.",
"updateError": "Impossible de mettre à jour le widget. Vos modifications n'ont pas été enregistrées.",
"importError": "Impossible d'importer le widget. Assurez-vous que le fichier est un export JSON de widget personnalisé valide.",
"exportError": "Impossible d'exporter le widget.",
"duplicated": "Widget \"{name}\" dupliqué.",
"duplicateError": "Impossible de dupliquer le widget.",
"toggleError": "Impossible de changer le statut du widget.",
"deleteError": "Impossible de supprimer le widget.",
"previewError": "Impossible de récupérer l'aperçu. Vérifiez l'URL et réessayez."
},
"importReview": {
"title": "Examiner l'import de widget personnalisé",
"description": "Vérifiez où ce widget se connecte et quel accès au tableau de bord est requis avant de l'importer.",
"migrationTitle": "Remplacement de la révision migrée v2",
"migrationDescription": "Revoir et confirmer cette définition générée de la v2. Confirmer atomiquement le remplacement de l'enregistrement v1 préservé tout en gardant les emplacements de tableau existants liés au même ID de widget.",
"fileLabel": "Choisir un fichier JSON de widget personnalisé",
"name": "Nom de la tâche",
"origin": "Origine de base",
"authentication": "Authentification",
"networkScope": "Portée du réseau",
"methods": "Méthodes HTTP",
"permissions": "Autorisations de tableau requises",
"sourceSetup": {
"title": "Configurer les sources de l'API",
"description": "Confirmez où ce widget se connecte et ajoute des identifiants. Les URL privées et de rebouclage sont spécifiques à votre installation d'Homarr.",
"suggestedUrl": "URL suggérée",
"confirmUrl": "Je confirme que l'URL de ce serveur est correcte pour mon installation d'Homarr",
"ready": "URL prête",
"needsUrl": "Confirmer l'URL",
"credentialsMissing": "Identifiants manquants",
"credentialsOptional": "Vous pouvez installer sans les identifiants et les configurer plus tard, mais les requêtes échoueront jusqu'à ce qu'elles soient ajoutées."
},
"actionWarning": {
"title": "Ce widget peut modifier les données distantes",
"description": "Examinez toutes les actions nommées, les identifiants hérités et la confirmation destructrice après l'importation. Les secrets ne sont pas inclus dans le fichier."
},
"cancel": "Annuler l'importation",
"confirm": "Importer le widget",
"confirmMigration": "Confirmer le remplacement v2"
},
"secret": {
"apiKey": "Clé API ou jeton",
"username": "Nom d'utilisateur",
"password": "Mot de passe",
"savedPlaceholder": "••••••• (sauvegardé, laisser vide pour garder)"
}
},
"workshop": {
"title": "Atelier",
"browseWorkshop": "Parcourir l'atelier",
"openCommunity": "Ouvrir un atelier",
"openOnWorkshop": "Ouvrir {title} sur le site de l'Atelier",
"back": "Retour à l'atelier",
"search": "Rechercher des widgets",
"searchCss": "Rechercher des thèmes CSS",
"sort": "Trier",
"sortTop": "Les mieux notés",
"sortNewest": "Plus récent",
"listAriaLabel": "Widgets de l'atelier",
"listAriaLabelCss": "Thèmes CSS de l'atelier",
"empty": "Aucun widget ne correspond à cette recherche.",
"emptyDescription": "Les widgets de la communauté publiés dans l'Atelier apparaissent ici.",
"emptyFilteredTitle": "Aucun widget ne correspond à cette recherche",
"emptyFilteredDescription": "Aucun widget d'atelier ne correspond à \"{search}\".",
"emptyCss": "Aucun thème CSS ne correspond à cette recherche.",
"unavailableTitle": "L'Atelier Homarr semble indisponible",
"unavailable": "Le service communautaire peut être temporairement désactivé. Réessayez dans un instant. Vos widgets installés ne sont pas affectés.",
"loadError": "Cette soumission n'a pas pu être chargée.",
"noDescription": "Pas de description",
"author": "par {name}",
"communityMember": "Membre de la communauté",
"outdated": "Mis à jour",
"outdatedWarning": "L'auteur a marqué cette soumission comme obsolète. Révisez-la soigneusement avant d'importer.",
"score": "Score : {count, number}",
"upvote": "Upvote",
"downvote": "Vote négatif",
"voteError": "Le vote n'a pas pu être sauvegardé.",
"signIn": "Se connecter avec GitHub",
"signInError": "La connexion à GitHub a échoué. Vérifiez que le fournisseur OAuth Workshop est configuré et que les popups sont autorisés.",
"signOut": "Se déconnecter",
"signInHint": "Connectez-vous pour voter ou faire un rapport. L'installation ne nécessite pas de compte Atelier.",
"securityNotice": "Les widgets Workshop peuvent appeler leurs sources API déclarées et effectuer des actions déclarées avec les identifiants que vous configurez localement. Les secrets ne sont jamais inclus.",
"securityNoticeCss": "Le CSS de la communauté peut modifier l'apparence et la convivialité d'un tableau. Revisez-le avant d'importer; rien n'est sauvegardé tant que vous n'enregistrez pas les paramètres du tableau.",
"install": "Installer",
"installReviewTitle": "Réviser avant l'installation",
"installError": "Ce widget ne peut pas être installé",
"installErrorDescription": "La soumission de l'atelier n'est pas un widget JSX v2 Personnalisé valide.",
"useCss": "Import CSS",
"importCss": "Importer CSS depuis un atelier",
"importCssConfirm": "Remplacer le CSS personnalisé actuel par \"{title}\" ? Rien n'est sauvegardé tant que vous n'enregistrez pas les paramètres du forum.",
"screenshotAlt": "Capture d'écran {title} {count, number}",
"screenshotViewer": "Visionneuse de capture d'écran {title}",
"screenshotsLabel": "Captures d'écran {title}",
"zoomScreenshot": "Voir la taille complète",
"previousScreenshot": "Capture d'écran précédente",
"nextScreenshot": "Prochaine capture d'écran",
"showScreenshotThumbnails": "Afficher les vignettes de la capture d'écran",
"hideScreenshotThumbnails": "Masquer les vignettes de la capture d'écran",
"closeScreenshotViewer": "Fermer la visionneuse de capture d'écran",
"technicalDetails": "Détails techniques",
"sourceCode": "Entrée d'atelier",
"export": "Exporter",
"report": "Rapporter",
"reportTitle": "Signaler la soumission",
"reportReason": "Raison",
"reportExplanation": "Que doivent savoir les modérateurs de l'Atelier?",
"reportSend": "Envoyer le rapport",
"reportSent": "Rapport envoyé",
"reportSentDescription": "Les modérateurs de l'atelier peuvent maintenant examiner cette soumission.",
"reportCount": "{count, plural, one {# rapport} other {# rapport}}",
"reportWarning": "{count, plural, one {Cette soumission a # rapport communautaire ouvert.} other {Cette soumission a # des rapports de la communauté ouverts.}} Il reste installable, mais vous devriez d'abord revoir son contenu.",
"reportVisibility": "Les détails du rapport ne sont visibles que pour les administrateurs de l'auteur et de l'atelier de cette soumission.",
"reportCategory": {
"outdated": "Dépassé ou ne fonctionne plus",
"malicious": "Malicieux",
"spam": "Spam",
"copyright": "Droit d'auteur",
"inappropriate": "Inapproprié",
"other": "Autre"
},
"publish": {
"title": "Publier dans l'atelier",
"introTitle": "Partager ce widget avec la communauté",
"introDescription": "Homarr exporte une copie sans identification du widget actuel. Ajouter des détails de liste clairs pour que les gens sachent ce qu'il fait avant de l'installer.",
"listingDetails": "Liste des ateliers",
"listingDetailsDescription": "Ces détails apparaissent publiquement aux côtés de la définition du widget exporté.",
"success": "Publié immédiatement. Les membres de la communauté peuvent maintenant installer et rapporter ce widget.",
"successTitle": "Votre widget est en direct",
"manageDescription": "Ouvrez la soumission pour mettre à jour sa liste, ses rapports d'évaluation, la marquer dépassée ou la supprimer. La gestion des soumissions est gérée directement sur le site Web de l'Atelier.",
"viewSubmission": "Voir et gérer la soumission",
"done": "Fait",
"signInHint": "Connectez-vous pour publier sous votre identité d’atelier.",
"titleField": "Titre",
"descriptionField": "Description",
"screenshots": "Captures d'écran",
"screenshotsDescription": "Jusqu'à cinq images PNG, JPEG ou WebP",
"screenshotsPlaceholder": "Choisir des captures d'écran",
"invalidScreenshot": "Utilisez des images PNG, JPEG ou WebP d'une taille inférieure à {maxSize} chacune.",
"privateSourceWarning": "Ce widget contient des URL source privées pour : {sources}. Remplacez les hôtes personnels ou les adresses IP par des espaces réservés avant de publier.",
"reviewSourcesTitle": "Examiner les URL de la source privée",
"privateSourceConfirmation": "J'ai passé en revue ces URL de source et elles n'exposent pas les détails de l'infrastructure privée",
"action": "Publier maintenant",
"publicationNote": "La publication est immédiate. Vous pouvez gérer la soumission par la suite sur l'atelier.",
"definitionChanged": "Le widget a été modifié lors de la préparation de la publication. Vérifiez à nouveau ses URL sources privées, puis réessayez.",
"error": "La publication a échoué"
}
},
"integration": {
"completion": {
"modalTitle": "Service prêt",
"title": "{name} est connecté",
"description": "La connexion a réussi son test. Choisissez ce qu'il faut afficher sur ce tableau ensuite.",
"connectionReady": "La connexion au service est prête",
"appReady": "Le raccourci de l'application est prêt",
"compatibleWidgets": "{count, plural, =0 {Aucun widget compatible} one {# widget compatible} other {# widgets compatibles}} disponible",
"chooseWidget": "Choisir un widget",
"recipes": {
"title": "Recommandé pour ce tableau",
"description": "Basé sur les services et widgets connectés déjà sur ce tableau.",
"newConnectionReason": "Maintenant disponible via {integration}",
"existingConnectionReason": "Fonctionne avec un service que vous avez déjà connecté",
"dismiss": "Rejeter les recommandations pour ce service sur ce tableau"
}
},
"page": {
"list": {
"ariaLabel": "Intégrations configurées",
"search": "Rechercher des intégrations",
"scopedNote": "Ne montrant que les intégrations que vous êtes autorisé à gérer.",
"noResults": {
"title": "Il n'y a pas encore d'intégrations",
"description": "Connectez un service pour utiliser ses données et actions dans les widgets d'Homarr.",
"action": "Créez votre première intégration",
"filteredTitle": "Aucune intégration ne correspond à votre recherche",
"filteredDescription": "Aucune intégration ne correspond à \"{search}\". Essayez un autre nom, type ou URL.",
"createOnlyTitle": "Vous pouvez uniquement ajouter des intégrations",
"createOnlyDescription": "Vos permissions vous permettent de créer des intégrations mais pas de gérer celles existantes. Demandez à un administrateur d'accéder à celles dont vous avez besoin."
}
},
"create": {
"title": "Nouvelle intégration {name}",
"notification": {
"success": {
"message": "L'intégration a été créée avec succès"
},
"error": {
"message": "L'intégration n'a pas pu être créée"
}
},
"app": {
"option": {
"existing": {
"title": "Existant",
"label": "Sélectionner une application existante"
},
"new": {
"title": "Nouveau",
"url": {
"label": "Lien de l'application",
"description": "Lien d'ouverture de l'application depuis le tableau de bord"
}
}
}
}
},
"edit": {
"title": "Modifier l'intégration {name}",
"notification": {
"success": {
"message": "L'intégration a été enregistrée avec succès"
},
"error": {
"message": "L'intégration n'a pas pu être enregistrée"
}
},
"app": {
"action": {
"add": "Lier une application",
"remove": "Délier",
"select": "Sélectionnez une application à lier"
}
}
},
"delete": {
"title": "Supprimer l'intégration",
"message": "Êtes-vous sûr(e) de vouloir supprimer l'intégration {name} ?",
"notification": {
"success": {
"message": "L'intégration a été supprimée avec succès"
},
"error": {
"message": "Impossible de supprimer l'intégration"
}
}
}
},
"field": {
"attemptSearchEngineCreation": {
"label": "Créer un moteur de recherche",
"description": "L'intégration \"{kind}\" peut être utilisée avec les moteurs de recherche. Cochez ceci pour configurer automatiquement le moteur de recherche."
},
"app": {
"sectionTitle": "Application liée"
},
"createApp": {
"label": "Créer une application",
"description": "Créer une application avec le même nom et l'icône que l'intégration. Laissez le champ de saisie ci-dessous vide pour créer l'application avec l'URL d'intégration."
},
"linkApp": {
"label": "Lier une application existante",
"description": "Connectez cette intégration à une application que vous pouvez déjà utiliser."
},
"appHref": {
"placeholder": "URL personnalisée de l'application"
},
"apiKeySettings": {
"label": "Obtenir la clé API"
}
},
"action": {
"create": "Nouvelle intégration"
},
"grid": {
"widgetCount": "{count, plural, one {# widget} other {# widgets}}",
"noWidgets": "Aucun widget",
"detected": "Détecté via Docker",
"connected": "{count, plural, one {# connecté} other {# connecté}}",
"tiedWidgets": "Widgets attachés",
"more": "+{count} de plus",
"loadError": "Les intégrations n'ont pas pu être chargées. Réessayez avant de créer une nouvelle connexion."
},
"category": {
"dnsHole": "DNS",
"mediaService": "Média",
"calendar": "Calendrier",
"mediaSearch": "Rechercher",
"mediaRelease": "Versions",
"mediaRequest": "Demandes",
"downloadClient": "Téléchargements",
"usenet": "Usenet",
"torrent": "Torrent",
"miscellaneous": "Divers",
"smartHomeServer": "Maison intelligente",
"indexerManager": "Indexeur",
"healthMonitoring": "Santé",
"search": "Rechercher",
"mediaTranscoding": "Transcodage",
"networkController": "Réseau",
"releasesProvider": "Versions",
"notifications": "Notifications",
"firewall": "Pare-feu",
"timetable": "Emploi du temps",
"photoService": "Photos",
"documents": "Documents",
"notes": "Notes",
"mediaMonitoring": "Supervision",
"speedtest": "Test de débit",
"analytics": "Statistiques",
"vpn": "VPN",
"mediaLibrary": "Bibliothèque de médias",
"uptimeMonitoring": "Surveillance des disponibilités",
"beszel": "Beszel",
"systemMonitoring": "Surveillance système",
"security": "Sécurité"
},
"testConnection": {
"action": {
"create": "Tester la connexion et créer",
"edit": "Tester la connexion et enregistrer"
},
"error": {
"common": {
"cause": {
"title": "Cause avec plus de détails"
}
},
"unknown": {
"title": "Erreur inconnue",
"description": "Une erreur inconnue s'est produite, ouvrez la cause ci-dessous pour voir plus de détails"
},
"parse": {
"title": "Erreur d'analyse",
"description": "La réponse n'a pas pu être analysée. Veuillez vérifier que l'URL pointe vers l'URL de base du service."
},
"authorization": {
"title": "Erreur d'autorisation",
"description": "La requête n'a pas été autorisée. Veuillez vérifier que les informations d'identification sont correctes et que vous les avez configurées avec suffisamment d'autorisations."
},
"statusCode": {
"title": "Erreur de réponse",
"description": "Réponse {statusCode} ({reason}) inattendue de <url></url>. Veuillez vérifier que l'URL pointe vers l'URL de base de l'intégration.",
"otherDescription": "Réponse {statusCode} inattendue de <url></url>reçue. Veuillez vérifier que l'URL pointe vers l'URL de base de l'intégration.",
"reason": {
"badRequest": "Requête incorrecte",
"notFound": "Non trouvé",
"tooManyRequests": "Trop de requêtes",
"internalServerError": "Erreur interne du serveur",
"serviceUnavailable": "Service indisponible",
"gatewayTimeout": "Délai d'attente de la passerelle dépassé"
}
},
"certificate": {
"title": "Erreur de certificat",
"description": {
"expired": "Le certificat a expiré.",
"notYetValid": "Le certificat n'est pas encore valide.",
"untrusted": "Le certificat n'est pas digne de confiance.",
"hostnameMismatch": "Le nom d'hôte du certificat ne correspond pas à l'URL."
},
"alert": {
"permission": {
"title": "Permissions insuffisantes",
"message": "Vous n'êtes pas autorisé à faire confiance ou télécharger des certificats. Veuillez contacter votre administrateur pour télécharger le certificat racine nécessaire."
},
"hostnameMismatch": {
"title": "Nom d'hôte incohérent",
"message": "Le nom d'hôte dans le certificat ne correspond pas au nom d'hôte auquel vous vous connectez. Cela pourrait indiquer un risque de sécurité, mais vous pouvez quand même choisir de faire confiance à ce certificat."
},
"extract": {
"title": "Échec de l'extraction de l'autorité de certification",
"message": "Seuls les certificats auto-signés sans chaîne peuvent être récupérés automatiquement. Si vous utilisez un certificat auto-signé, assurez-vous de télécharger le certificat CA manuellement. Vous pouvez trouver des instructions sur la façon de faire ceci <docsLink></docsLink>."
}
},
"action": {
"retry": {
"label": "Réessayer la création"
},
"trust": {
"label": "Faire confiance au certificat"
},
"upload": {
"label": "Télécharger le certificat"
}
},
"hostnameMismatch": {
"confirm": {
"title": "Faire confiant à l'incohérence du nom d'hôte",
"message": "Êtes-vous sûr de vouloir faire confiance ce certificat avec un nom d'hôte incohérent ?"
},
"notification": {
"success": {
"title": "Certificat approuvé",
"message": "Nom d'hôte ajouté à la liste de certificats de confiance"
},
"error": {
"title": "Impossible de faire confiance au certificat",
"message": "Le certificat avec un nom d'hôte incohérent n'a pas pu être approuvé"
}
}
},
"selfSigned": {
"confirm": {
"title": "Faire confiance au certificat auto-signé",
"message": "Êtes-vous sûr de vouloir faire confiance à ce certificat auto-signé ?"
},
"notification": {
"success": {
"title": "Certificat approuvé",
"message": "Certificat ajouté à la liste des certificats de confiance"
},
"error": {
"title": "Impossible de faire confiance au certificat",
"message": "Impossible d'ajouter le certificat à la liste des certificats de confiance"
}
}
},
"details": {
"title": "Détails",
"description": "Examinez les informations sur le certificat avant de décider de lui faire confiance.",
"content": {
"action": "Afficher le contenu",
"title": "Certificat PEM"
}
}
},
"request": {
"title": "Erreur dans la requête",
"description": {
"connection": {
"hostUnreachable": "Le serveur n'a pas pu être atteint. Cela signifie généralement que l'hôte est hors ligne ou injoignable depuis votre réseau.",
"networkUnreachable": "Le réseau est inaccessible. Veuillez vérifier votre connexion internet ou la configuration du réseau.",
"refused": "Le serveur a refusé la connexion. Il n'est peut-être pas en cours d'exécution ou rejette les requêtes sur le port spécifié.",
"reset": "La connexion a été fermée de façon inattendue par le serveur. Cela peut se produire si le serveur est instable ou redémarre."
},
"dns": {
"notFound": "L'adresse du serveur est introuvable. Veuillez vérifier l'URL pour les fautes de frappe ou les noms de domaine non valides.",
"timeout": "La recherche DNS a expiré. Il peut s'agir d'un problème temporaire, veuillez réessayer dans quelques instants.",
"noAnswer": "Le serveur DNS n'a pas renvoyé de réponse valide. Le domaine peut exister mais n'a pas d'enregistrements valides."
},
"timeout": {
"aborted": "La requête a été annulée avant qu'elle ne puisse être terminée. Cela peut être dû à une action de l'utilisateur ou à un délai d'expiration du système.",
"timeout": "La requête a pris trop de temps à être terminée et a été expirée. Vérifiez votre réseau ou réessayez plus tard."
}
}
}
},
"alertNotice": "Le bouton Enregistrer est activé une fois qu'une connexion est établie avec succès",
"notification": {
"success": {
"title": "Connexion réussie",
"message": "La connexion a été établie avec succès"
},
"invalidUrl": {
"title": "URL invalide",
"message": "L'URL est invalide"
},
"secretNotDefined": {
"title": "Identifiants manquants",
"message": "Tous les identifiants n'ont pas été fournis"
},
"invalidCredentials": {
"title": "Les identifiants sont invalides",
"message": "Les identifiants sont invalides"
},
"commonError": {
"title": "Échec de la connexion",
"message": "La connexion n'a pas pu être établie"
},
"badRequest": {
"title": "Requête incorrecte",
"message": "La requête a été mal formée"
},
"unauthorized": {
"title": "Non autorisé",
"message": "Identifiants probablement erronés"
},
"forbidden": {
"title": "Interdit",
"message": "Permissions probablement manquantes"
},
"notFound": {
"title": "Pas trouvé",
"message": "URL ou chemin d'accès probablement incorrect"
},
"internalServerError": {
"title": "Erreur interne du serveur",
"message": "Le serveur a rencontré une erreur"
},
"serviceUnavailable": {
"title": "Service indisponible",
"message": "Le serveur est actuellement indisponible"
},
"connectionAborted": {
"title": "Connexion interrompue",
"message": "La connexion a été interrompue"
},
"domainNotFound": {
"title": "Domaine introuvable",
"message": "Le domaine n'a pas pu être trouvé"
},
"connectionRefused": {
"title": "Connexion refusée",
"message": "La connexion a été refusée"
},
"invalidJson": {
"title": "JSON invalide",
"message": "La réponse n'était pas un JSON valide"
},
"wrongPath": {
"title": "Mauvais chemin d'accès",
"message": "Le chemin d'accès n'est probablement pas correct"
},
"tooManyRequests": {
"title": "Trop de requêtes en un temps donné",
"message": "Il y a eu trop de requêtes. Vous avez probablement été limité ou rejeté par le système cible"
}
}
},
"secrets": {
"title": "Secrets",
"lastUpdated": "Dernière mise à jour {date}",
"notSet": {
"label": "Aucune valeur définie",
"tooltip": "Le secret requis n'a pas encore été défini"
},
"secureNotice": "Ce secret ne peut pas être récupéré après la création",
"reset": {
"title": "Réinitialiser le secret",
"message": "Souhaitez-vous vraiment réinitialiser ce secret ?"
},
"noSecretsRequired": {
"segmentTitle": "Aucuns secrets",
"text": "Aucun secret requis pour cette intégration"
},
"kind": {
"username": {
"label": "Nom d'utilisateur",
"newLabel": "Nouveau nom d'utilisateur"
},
"apiKey": {
"label": "Clé API",
"newLabel": "Nouvelle clé API"
},
"password": {
"label": "Mot de passe",
"newLabel": "Nouveau mot de passe"
},
"tokenId": {
"label": "ID du jeton",
"newLabel": "Nouvel ID de jeton"
},
"realm": {
"label": "Domaine",
"newLabel": "Nouveau domaine"
},
"personalAccessToken": {
"label": "Jeton d'accès personnel",
"newLabel": "Nouveau jeton d'accès personnel"
},
"topic": {
"label": "Sujet",
"newLabel": "Nouveau sujet"
},
"url": {
"label": "Url",
"newLabel": "Nouvelle url"
},
"opnsenseApiKey": {
"label": "Clé API (Key)",
"newLabel": "Nouvelle clé API (Key)"
},
"opnsenseApiSecret": {
"label": "Clé API (secrète)",
"newLabel": "Nouvelle clé API (secrète)"
},
"patchmonApiKey": {
"label": "Clé API",
"newLabel": "Nouvelle clé API"
},
"patchmonApiSecret": {
"label": "Clé secrète d'API",
"newLabel": "Nouveau secret API"
},
"githubAppId": {
"label": "Identifiant de l'application",
"newLabel": "Nouvel Id de l'Application"
},
"githubInstallationId": {
"label": "Id d'installation",
"newLabel": "Nouvel ID d'installation"
},
"privateKey": {
"label": "Clé privée",
"newLabel": "Nouvelle clé privée"
},
"slug": {
"label": "Slug de la page de statut",
"newLabel": "Nouveau slug de page de statut"
},
"wazuhIndexerUrl": {
"label": "URL de l'indexeur",
"newLabel": "Nouvelle URL de l'indexeur"
},
"wazuhIndexerUsername": {
"label": "Nom d'utilisateur de l'indexeur",
"newLabel": "Nouveau nom d'utilisateur de l'indexeur"
},
"wazuhIndexerPassword": {
"label": "Mot de passe de l'indexeur",
"newLabel": "Nouveau mot de passe de l'indexeur"
},
"wazuhDashboardUrl": {
"label": "URL du tableau de bord (facultatif)",
"newLabel": "Nouvelle URL du tableau de bord"
}
}
},
"permission": {
"use": "Sélectionner les intégrations dans les éléments",
"interact": "Interagir avec les intégrations",
"full": "Accès intégral à l'intégration"
},
"llamacpp": {
"name": "llama.cpp",
"description": "Surveiller un serveur local llama.cpp : santé, modèle et paramètres de génération"
}
},
"media": {
"plural": "Médias",
"search": "Rechercher un média",
"field": {
"preview": "Aperçu",
"size": "Taille",
"creator": "Créateur",
"actions": "Contrôles"
},
"action": {
"upload": {
"label": "Téléverser un média",
"file": "Sélectionner un fichier",
"notification": {
"success": {
"message": "Le média a été téléversé avec succès"
},
"error": {
"message": "Le média n’a pas pu être téléversé"
}
}
},
"delete": {
"label": "Supprimer le média",
"description": "Êtes-vous sûr de vouloir supprimer le média <bName></bName>?",
"notification": {
"success": {
"message": "Le média a été supprimé avec succès"
},
"error": {
"message": "Le média n'a pas pu être supprimé"
}
}
},
"copy": {
"label": "Copier l'URL",
"labelNamed": "Copier l'URL pour {name}"
},
"open": {
"label": "Ouvrir le média",
"labelNamed": "Ouvrir {name}"
}
},
"noResults": {
"title": "Aucun média téléchargé"
}
},
"common": {
"success": "Succès",
"beta": "Bêta",
"error": "Erreur",
"action": {
"add": "Ajouter",
"apply": "Appliquer",
"backToOverview": "Retourner à l'aperçu",
"change": "Modifier",
"create": "Créer",
"createAnother": "Créer et recommencer",
"edit": "Modifier",
"import": "Importer",
"insert": "Insérer",
"remove": "Supprimer",
"save": "Sauvegarder",
"saveChanges": "Sauvegarder les modifications",
"cancel": "Annuler",
"delete": "Supprimer",
"discard": "Abandonner",
"close": "Fermer",
"confirm": "Confirmer",
"continue": "Continuer",
"previous": "Précédent",
"next": "Suivant",
"checkoutDocs": "Voir la documentation",
"checkLogs": "Vérifiez les logs pour plus de détails",
"tryAgain": "Réessayer",
"loading": "Chargement",
"show": "Afficher",
"hide": "Masquer",
"undo": "Annuler",
"editNamed": "Modifier {name}",
"deleteNamed": "Supprimer {name}",
"clearSearch": "Effacer la recherche",
"copy": "Copie",
"copied": "Copié",
"refresh": "Rafraîchir"
},
"pagination": {
"pageOf": "Page {page} sur {totalPages}"
},
"here": "ici",
"serviceUrlTemplate": {
"serverTitle": "Adresse du serveur habituelle",
"urlModeLabel": "Modèle d'adresse de service",
"hostPort": "Même hôte, ports différents",
"subdomain": "Un sous-domaine par service",
"path": "Un chemin par service"
},
"iconPicker": {
"label": "URL de l'icône ",
"description": "Recherchez dans la bibliothèque, collez une URL d'image, ou téléchargez un fichier.",
"header": "Rechercher les images {countIcons} par nom",
"headerLoading": "Rechercher des images par nom",
"clear": "Effacer l'image",
"uploadImage": "Charger une image",
"results": "Résultats de la recherche d'images",
"localImages": "Vos images",
"svgIcons": "Icônes SVG",
"otherImages": "Autres images",
"urlLoading": "Vérification de l'image…",
"urlReady": "L'image est prête à être utilisée",
"urlError": "Cette image n'a pas pu être chargée. Vérifiez l'URL et réessayez.",
"noResults": "Aucune icône ne correspond à \"{search}\".",
"error": "Impossible de charger les icônes."
},
"colorScheme": {
"options": {
"auto": "Auto",
"light": "Clair",
"dark": "Sombre"
}
},
"information": {
"min": "Min",
"max": "Max",
"hours": "Heures",
"minutes": "Minutes"
},
"notification": {
"create": {
"success": "Création réussie",
"error": "Échec de la création"
},
"delete": {
"success": "Suppression réussie",
"error": "Échec de la suppression"
},
"update": {
"success": "Modifications appliquées avec succès",
"error": "Impossible d'appliquer les changements"
},
"transfer": {
"success": "Transfert réussi",
"error": "Le transfert a échoué"
}
},
"multiSelect": {
"placeholder": "Choisissez une ou plusieurs valeurs"
},
"multiText": {
"placeholder": "Ajouter des valeurs supplémentaires",
"addLabel": "Ajouter {value}"
},
"select": {
"placeholder": "Choisir une valeur",
"badge": {
"recommended": "Recommandé"
}
},
"userAvatar": {
"menu": {
"open": "Ouvrir le menu du compte",
"management": "Administration",
"preferences": "Vos préférences",
"logout": "Se déconnecter",
"login": "Connexion",
"homeBoard": "Votre tableau de bord",
"updateAvailable": "{countUpdates} Mises à jour disponibles : {tag}",
"assistant": "Assistant",
"assistantThinking": "Penser",
"modifier": "Mod"
}
},
"dangerZone": "Zone de danger",
"noResults": "Aucun résultat trouvé",
"unsavedChanges": "Vous avez des modifications non enregistrées !",
"servers": "Serveurs",
"applications": "Applications",
"services": "Services",
"preview": {
"show": "Afficher l’aperçu",
"hide": "Masquer l'aperçu"
},
"zod": {
"errors": {
"default": "Ce champ est invalide",
"required": "Ce champ est requis",
"string": {
"startsWith": "Ce champ doit commencer par {startsWith}",
"endsWith": "Ce champ doit terminer par {endsWith}",
"includes": "Ce champ doit inclure {includes}",
"invalidEmail": "Ce champ doit être une adresse e-mail valide"
},
"tooSmall": {
"string": "Ce champ doit faire au moins {minimum} caractères",
"number": "Ce champ doit être supérieur ou égal à {minimum}"
},
"tooBig": {
"string": "Ce champ doit faire au plus {maximum} caractères",
"number": "Ce champ doit être inférieur ou égal à {maximum}"
},
"custom": {
"passwordsDoNotMatch": "Les mots de passe ne correspondent pas",
"passwordRequirements": "Le mot de passe ne respecte pas les exigences requises",
"boardAlreadyExists": "Un tableau avec ce nom existe déjà",
"invalidFileType": "Type de fichier invalide, {expected} attendu",
"invalidFileName": "Nom de fichier invalide",
"fileTooLarge": "Le fichier est trop volumineux, la taille maximale est {maxSize}",
"invalidConfiguration": "Configuration invalide",
"groupNameTaken": "Nom de groupe déjà utilisé"
}
}
},
"unit": {
"speed": {
"kilometersPerHour": "km/h",
"milesPerHour": "mph"
}
},
"widgetQuery": {
"loading": "Chargement des données du widget"
},
"total": "Total",
"filesystemUsage": "{count, plural, one {Affiche l'utilisation du # système de fichiers} other {Affiche l'utilisation de # systèmes de fichiers}}",
"field": {
"name": "Nom de la tâche"
},
"label": {
"new": "Nouveau"
},
"entity": {
"apps": "Apps",
"boards": "Tableaux de bord",
"certificates": "Certificats",
"customWidgets": "Widgets personnalisés",
"groups": "Groupes",
"integrations": "Intégrations",
"invites": "Invitations",
"logs": "Journaux",
"media": "Média",
"searchEngines": "Moteurs de recherche",
"tasks": "Tâches",
"users": "Utilisateurs"
}
},
"section": {
"option": {
"showLabel": {
"label": "Afficher le libellé",
"description": "Afficher le libellé du conteneur au-dessus de son contenu."
},
"collapsible": {
"label": "Permettre de réduire",
"description": "Laissez les spectateurs s'étendre et réduire ce conteneur."
},
"showOpenAll": {
"label": "Afficher l'action ouverte",
"description": "Afficher une action qui ouvre toutes les applications de ce conteneur dans de nouveaux onglets."
},
"scrollable": {
"label": "Défilement",
"description": "Gardez ce conteneur à sa taille définie et faites défiler son contenu au lieu de grandir pour les ajuster."
}
},
"action": {
"openAllInNewTabsFor": "Ouvrir toutes les applications dans {name} dans les onglets"
},
"openAllInNewTabs": {
"title": "Tout ouvrir dans des onglets",
"text": "Certains navigateurs peuvent bloquer l'ouverture en masse d'onglets pour des raisons de sécurité. Homarr n'a pas pu ouvrir toutes les fenêtres, car votre navigateur a bloqué cette action. Veuillez autoriser \"Ouvrir les fenêtres pop-ups\" et réessayer."
},
"container": {
"untitled": "Conteneur sans titre",
"action": {
"create": "Nouveau conteneur",
"remove": "Supprimer le conteneur",
"expand": "Agrandir",
"collapse": "Réduire"
},
"option": {
"title": {
"label": "Titre"
},
"customCssClasses": {
"label": "Classes Css personnalisées"
},
"borderColor": {
"label": "Couleur de la bordure"
}
},
"remove": {
"message": "Supprimer ce conteneur ? Son contenu se déplacera dans la zone environnante."
}
}
},
"item": {
"action": {
"edit": "Éditer l'élément",
"moveResize": "Déplacer / redimensionner l'élément",
"duplicate": "Dupliquer l'élément",
"remove": "Supprimer l'élément"
},
"menu": {
"label": {
"settings": "Paramètres",
"settingsFor": "Paramètres pour {name}",
"options": "Options",
"actions": "Actions"
},
"status": {
"success": "OK",
"error": "Erreur",
"loading": "Chargement",
"idle": "Inactif"
},
"notification": {
"saveError": {
"title": "Impossible d'enregistrer le widget",
"message": "Les modifications du widget ont été annulées"
}
}
},
"create": {
"title": "Choisissez un élément à ajouter",
"search": "Filtrer les éléments",
"addToBoard": "Ajouter au Tableau",
"addAtPosition": "Ajouter un élément ici",
"destination": {
"label": "Ajouter à",
"description": "Choisissez où le widget doit apparaître. Vous pouvez toujours le déplacer plus tard.",
"mainCanvas": "Toile principale",
"leftRail": "Rail gauche",
"rightRail": "Rail droit"
},
"connectionStatus": {
"ready": "Prêt",
"needsSetup": "Configuration nécessaire",
"noConnectionRequired": "Aucune connexion requise"
},
"customWidget": "Widget personnalisé",
"standalone": "Autonomie",
"missingIntegration": {
"title": "Connectez d'abord un service",
"noPermission": "Ce widget a besoin d'une connexion de service compatible. Demandez à un administrateur d'en connecter un, puis réessayez."
},
"notification": {
"success": {
"title": "Widget ajouté",
"message": "{name} a été ajouté à ce tableau.",
"relocatedMessage": "{name} a été ajouté à {destination} car la destination sélectionnée était indisponible."
},
"error": {
"title": "Impossible d'ajouter l'élément",
"message": "L'élément n'a pas pu être ajouté à ce tableau"
}
}
},
"selection": {
"summary": "{count, plural, one {# élément sélectionné} other {# éléments sélectionnés}}",
"selected": "{count, plural, one {# sélectionné} other {# sélectionné}}",
"copy": "Copie",
"copied": "{count, plural, one {# élément copié dans le presse-papiers} other {# éléments copiés dans le presse-papiers}}",
"copyError": "Les éléments sélectionnés n'ont pas pu être copiés. Votre navigateur peut ne pas autoriser l'accès au presse-papiers.",
"paste": "Coller",
"pasteShortcut": "Coller les éléments copiés ici (Ctrl / <unk> + V)",
"pasted": "{count, plural, one {# objet collé} other {# éléments collés}}",
"pasteError": "Le presse-papiers n'a pas pu être lu. Votre navigateur peut ne pas autoriser l'accès au presse-papiers.",
"pasteInvalid": "Le presse-papiers ne contient pas d'articles valides du PCB Homarr.",
"pasteUnavailable": "Les éléments copiés ne correspondent pas à ce tableau.",
"removed": "{count, plural, one {# objet supprimé} other {# objets retirés}}",
"move": "Déplacer",
"moveTo": "Déplacer les éléments sélectionnés",
"delete": "Supprimer",
"clear": "Effacer la sélection",
"clearShortcut": "Effacer la sélection (paysage)",
"saveErrorTitle": "Impossible de mettre à jour les éléments",
"saveErrorMessage": "Les modifications n'ont pas pu être enregistrées. Le tableau a été actualisé.",
"moveUnavailableTitle": "Impossible de déplacer les éléments sélectionnés",
"moveUnavailableMessage": "La destination n'a pas assez de place pour toute la sélection."
},
"moveResize": {
"title": "Déplacer / redimensionner l'élément",
"entryLabel": "{name}, colonne {column}, ligne {row}",
"target": {
"numbered": "{name}, destination {index}",
"located": "{name}, {location}, destination {index}"
},
"keyboard": {
"instructions": "Appuyez sur Entrée ou sur Espace pour démarrer l'édition du clavier. Utilisez les touches fléchées pour vous déplacer, Majuscule plus les touches fléchées pour redimensionner, et Échap pour arrêter.",
"started": "L'édition du clavier a commencé. Utilisez les touches fléchées pour se déplacer, Majuscule plus les touches fléchées pour redimensionner et Échap pour arrêter.",
"stopped": "L'édition du clavier a été arrêtée.",
"boundary": "Ce changement ne s'intègre pas dans cette section."
},
"field": {
"section": {
"label": "Section ou rail"
},
"width": {
"label": "Largeur",
"shortLabel": "SM"
},
"height": {
"label": "Hauteur",
"shortLabel": "H"
},
"xOffset": {
"label": "Décalage en X"
},
"yOffset": {
"label": "Décalage en Y"
}
}
},
"edit": {
"title": "Éditer l'élément",
"tab": {
"widget": "Éditer le widget",
"app": "Modifier l'application",
"integration": "Modifier l'intégration"
},
"app": {
"propagationNotice": "Les modifications apportées à cette application seront appliquées partout où elle est utilisée sur tous les tableaux de bord."
},
"integration": {
"action": "Modifier la connexion",
"description": "Tester ou réparer une connexion sélectionnée sans quitter ce widget.",
"editLabel": "Modifier l'intégration {name}",
"fullAccessRequired": "Accès complet requis",
"propagationNotice": "Les modifications apportées à cette intégration s'appliquent partout où elle est utilisée. La connexion est testée avant qu'elle ne soit enregistrée.",
"loading": "Chargement de l'intégration",
"loadError": "Cette intégration n'a pas pu être chargée. Réessayez avant de modifier ses paramètres de connexion."
},
"preview": {
"integrationRequired": "Choisissez une connexion pour prévisualiser ce widget.",
"size": "Taille du fichier"
},
"settings": {
"label": "Paramètres du widget"
},
"advancedOptions": {
"label": "Options avancées",
"title": "Options avancées de l'élément"
},
"field": {
"integrations": {
"label": "Intégrations",
"removeLabel": "Supprimer l'intégration {name}"
},
"title": {
"label": "Titre"
},
"customCssClasses": {
"label": "Classes CSS personnalisées"
},
"borderColor": {
"label": "Couleur de la bordure"
}
}
},
"remove": {
"message": "Êtes-vous sûr de vouloir supprimer cet élément ?"
},
"advancedFocus": {
"open": "Ouvrir la vue avancée",
"close": "Fermer la vue avancée",
"label": "Vue avancée {widget}"
}
},
"widget": {
"integrationSelect": {
"configureIntegrationFirst": "Connectez d'abord une intégration",
"placeholder": "Choisir une option"
},
"app": {
"name": "App",
"description": "Intègre une application dans le tableau.",
"option": {
"appId": {
"label": "Choisir une application"
},
"showTitle": {
"label": "Afficher le nom de l'application"
},
"pingEnabled": {
"label": "Activer la vérification du statut"
},
"layout": {
"option": {
"row-reverse": "Horizontal (inversé)",
"column-reverse": "Vertical (inversé)"
}
},
"descriptionDisplayMode": {
"label": "Mode d'affichage de la description",
"description": "Choisissez comment afficher la description de l'application",
"option": {
"normal": "Au sein du widget",
"tooltip": "Comme infobulle",
"hidden": "Masquer"
}
}
},
"error": {
"notFound": {
"label": "Aucune application",
"tooltip": "Vous n'avez aucune application valide sélectionnée"
}
}
},
"bookmarks": {
"name": "Signets",
"description": "Affiche les liens de plusieurs applications",
"option": {
"showTitle": {
"label": "Afficher le titre du widget"
},
"titleSize": {
"label": "Taille du titre du widget (px)"
},
"layout": {
"label": "Mise en page",
"option": {
"adaptive": {
"label": "Adaptatif"
},
"gridHorizontal": {
"label": "Grille horizontale"
},
"icons": {
"label": "Icônes"
}
}
},
"variant": {
"label": "Apparence",
"option": {
"soft": {
"label": "Douce"
},
"filled": {
"label": "Rempli"
},
"outline": {
"label": "Contour"
},
"plain": {
"label": "Plaine"
}
}
},
"spacing": {
"label": "Espacement de la carte",
"option": {
"xs": {
"label": "Très petit"
},
"sm": {
"label": "Petit"
},
"md": {
"label": "Moyen"
},
"lg": {
"label": "Grand"
},
"xl": {
"label": "Très grand"
}
}
},
"hideTitle": {
"label": "Cacher le titre"
},
"hideIcon": {
"label": "Masquer les icônes"
},
"hideHostname": {
"label": "Masquer les noms d'hôtes"
},
"withBorder": {
"label": "Afficher la bordure"
},
"grow": {
"label": "Développer les cartes pour remplir la ligne"
},
"customUrls": {
"label": "Liens personnalisés"
},
"items": {
"label": "Signets",
"remove": "Supprimer le favori",
"apps": {
"label": "Ajouter des signets",
"description": "Collez des URL ou trouvez des applications existantes. Faites glisser les signets ci-dessous pour les réorganiser.",
"placeholder": "Coller les URL ou rechercher des applications",
"addUrl": "Ajouter cette URL",
"hint": "Appuyez sur Entrée pour ajouter une URL. Collez des URL séparées par des virgules ou une URL par ligne pour en ajouter plusieurs."
}
}
},
"empty": "Ajouter une URL ou une application dans les paramètres du widget"
},
"archiveTeamWarrior": {
"name": "ArchiveTeam Warrior",
"description": "Suivre l'état d'ArchiveTeam Warrior, ses projets et les tâches d'archivage en cours.",
"option": {
"showBroadcastMessage": {
"label": "Afficher les messages de diffusion"
}
},
"noProjectSelected": "Aucun projet sélectionné",
"runnerStatus": "Exécuteur: {status}",
"projectId": "Projet: {id}",
"sessionReceived": "Session reçue : {value}",
"sessionSent": "Session envoyée : {value}",
"sessionId": "Session : {id}",
"startedAt": "A démarré {date}",
"emptyItems": "Aucune tâche active ou récente dans cet instantané",
"metric": {
"running": "Exécution",
"completed": "Fait",
"failed": "Échec",
"canceled": "Annulé",
"download": "Télécharger",
"upload": "Charger"
},
"status": {
"running": "Exécution",
"completed": "Complété",
"failed": "Échec",
"canceled": "Annulé",
"stopped": "Arrêté",
"idle": "Inactif",
"unknown": "Inconnu"
}
},
"wud": {
"name": "Qu'est ce que Docker",
"description": "Afficher combien de conteneurs surveillés ont des mises à jour disponibles.",
"title": "Qu'est ce que Docker",
"monitored": "Surveillé",
"updatesAvailable": "{count, plural, one {# mise à jour disponible} other {# mises à jour disponibles}}",
"updateAvailable": "Mise à jour disponible",
"openReleaseNotes": "Ouvrir les notes de version",
"option": {
"showRing": {
"label": "Afficher l'anneau de mise à jour"
},
"showUpdateList": {
"label": "Afficher la liste de mise à jour du conteneur",
"description": "Liste chaque conteneur surveillé qui a une mise à jour d'image disponible"
}
}
},
"dnsHoleSummary": {
"name": "Résumé du puit DNS",
"description": "Affiche le résumé de votre puit DNS",
"option": {
"usePiHoleColors": {
"label": "Utiliser les couleurs de Pi-Hole"
}
},
"error": {
"internalServerError": "Impossible de récupérer le résumé du puit DNS"
},
"data": {
"adsBlockedToday": "Bloqué aujourd'hui",
"adsBlockedTodayPercentage": "Bloqué aujourd'hui",
"dnsQueriesToday": "Requêtes aujourd'hui",
"domainsBeingBlocked": "Domaines sur la liste noire"
},
"domainsTooltip": "En raison de multiples intégrations, Homarr ne peut pas calculer le nombre exact de domaines bloqués",
"status": {
"enabled": "Activé",
"disabled": "Désactivé",
"unknown": "Inconnu"
}
},
"dnsHoleControls": {
"name": "Contrôles du puit DNS",
"description": "Contrôlez PiHole ou AdGuard depuis votre tableau de bord",
"option": {
"showToggleAllButtons": {
"label": "Afficher le bouton \"Afficher tout\""
}
},
"error": {
"internalServerError": "Impossible de contrôler le puit DNS",
"bulkActionsFailed": "{count, plural, one {# action a échoué} other {# actions ont échoué}}"
},
"controls": {
"enableAll": "Tout activer",
"disableAll": "Tout désactiver",
"setTimer": "Définir le minuteur",
"set": "Définir",
"enabled": "Activé",
"disabled": "Désactivé",
"processing": "Traitement en cours",
"disconnected": "Déconnecté",
"unlimited": "Laisser vide pour illimité"
}
},
"clock": {
"name": "Date et heure",
"description": "Affiche la date et l'heure courante.",
"option": {
"customTitleToggle": {
"label": "Affichage du titre/de la ville personnalisé",
"description": "Afficher un titre personnalisé ou le nom de la ville/pays en haut de l'horloge."
},
"is24HourFormat": {
"label": "Format 24 heures",
"description": "Utiliser le format 24 heures au lieu du format 12 heures"
},
"useCustomTimezone": {
"label": "Utiliser un fuseau horaire fixe"
},
"timezone": {
"label": "Fuseau Horaire",
"description": "Choisissez le fuseau horaire selon le standard IANA"
},
"showDate": {
"label": "Afficher la date"
},
"dateFormat": {
"label": "Format de la date",
"description": "À quoi devrait ressembler la date"
},
"customTimeFormat": {
"label": "Format de l'heure personnalisé",
"description": "Utiliser ISO 8601 pour formater l'heure (cela remplacera d'autres options)"
},
"showWeather": {
"label": "Afficher la météo",
"description": "Afficher une petite icône météo animée et la température dans le coin de la carte"
},
"isWeatherFormatFahrenheit": {
"label": "Utiliser les degrés Fahrenheit"
},
"animateWeatherIcon": {
"label": "Animer l'icône météo",
"description": "Animer l'icône météo. Désactivé par défaut et toujours désactivé lorsque des mouvements réduits sont demandés."
},
"colorWeatherByDayNight": {
"label": "Couleur de la météo par jour/nuit",
"description": "Teignez l'icône et la température de la météo avec une couleur de jour ou une couleur de nuit, en fonction de la date ou de la nuit à l'endroit choisi."
},
"dayWeatherColor": {
"label": "Couleur du jour"
},
"nightWeatherColor": {
"label": "Couleur de nuit"
},
"worldClockCities": {
"label": "Villes mondiales de l'horloge",
"description": "Ajoutez et commandez jusqu'à six villes pour une vue avancée."
}
},
"timezoneList": {
"timezone": "Fuseau Horaire",
"cityLabel": "Étiquette de ville",
"searchPlaceholder": "Rechercher des fuseaux horaires",
"noResults": "Aucun fuseau horaire trouvé",
"unsupportedOption": "Non pris en charge : {timeZone}",
"add": "Ajouter une ville",
"remove": "Retirer {city}",
"reorder": "Réordonner {city}",
"limit": "{count} des villes {maximum} configurées"
},
"worldClock": {
"primary": "Horloge principale",
"local": "Heure locale",
"today": "Aujourd'hui",
"tomorrow": "Demain",
"yesterday": "Hier",
"noSecondaryCities": "Ajoutez des villes dans les options de widget pour les comparer ici.",
"unsupportedPrimaryTitle": "Le fuseau horaire principal n'est pas disponible",
"unsupportedPrimary": "{timeZone} n'est pas pris en charge dans ce navigateur. Afficher l'UTC comme un repli clairement marqué.",
"unsupportedTimeZone": "Fuseau horaire non pris en charge : {timeZone}",
"accessibleTime": "{city} : {time}, {date}, {timeZone}",
"advancedLabel": "Horloge du monde avancée",
"cities": "Horloges du monde",
"cityCount": "{count} timezones",
"timeBarLabel": "Position 24 heures sur 24 pour {city}",
"dayProgress": "{percent}% écoulé · {hours}h {minutes}m restantes",
"phaseLegend": "Légende de l'heure",
"tick": {
"midnight": "00",
"morning": "06",
"noon": "12",
"evening": "18",
"end": "24"
},
"phaseRange": {
"night": "00–05 · 21–24",
"dawn": "05–08",
"day": "08–18",
"dusk": "18–21"
},
"phase": {
"night": "Nuit",
"dawn": "Aube",
"day": "Jour",
"dusk": "Crépuscule"
}
}
},
"airQuality": {
"name": "Qualité de l'air & UV",
"description": "Affiche la qualité de l'air, l'indice ultraviolet, les polluants et le pollen pour un emplacement.",
"option": {
"location": {
"label": "Emplacement de la qualité de l'air"
},
"aqiStandard": {
"label": "Norme AQI",
"options": {
"auto": "Automatique pour la locale",
"european": "AQI Européen",
"us": "AQI US"
}
},
"showUv": {
"label": "Afficher l'index UV"
},
"showPollutants": {
"label": "Afficher les concentrations de polluants"
},
"showPollen": {
"label": "Afficher les concentrations de pollen"
}
},
"category": {
"good": "Bon",
"fair": "Équitable",
"moderate": "Modérée",
"unhealthySensitive": "Malsain pour les groupes sensibles",
"unhealthy": "Dysfonctionnement",
"poor": "Mauvais",
"veryPoor": "Très pauvre",
"veryUnhealthy": "Très malsain",
"extremelyPoor": "Extrêmement pauvre",
"hazardous": "Dangereux",
"unknown": "Pas de lecture AQI"
},
"uv": {
"label": "Indice UV",
"category": {
"low": "Bas",
"moderate": "Modérée",
"high": "Élevé",
"veryHigh": "Très haut",
"extreme": "Extrême",
"unknown": "Pas de lecture"
}
},
"dominantPollutant": "Dominant pollutant",
"aqiLabel": "AQI",
"strongestPollen": "Pollen le plus haut",
"unit": {
"concentration": "{value} μg/m3",
"pollen": "{value} grains/m3"
},
"pollutant": {
"pm2_5": "PM2,5",
"pm10": "PM10",
"ozone": "Ozone",
"nitrogenDioxide": "Dioxyde d'azote",
"sulphurDioxide": "Sulphur dioxide",
"carbonMonoxide": "monoxyde de carbone"
},
"pollen": {
"alder": "Alder",
"birch": "Bouleau",
"grass": "Herbe",
"mugwort": "Mugwort",
"olive": "Olive",
"ragweed": "Ragoux"
},
"compact": {
"sixHourTrend": "Tendance AQI pour les six prochaines heures"
},
"advanced": {
"observedAt": "Mis à jour à {time}",
"next24Hours": "Prochaines 24 heures",
"pollutants": "Concentrations de polluants",
"pollen": "Concentrations de pollen",
"sevenDayForecast": "Prévisions maximales de 7 jours",
"aqiValue": "AQI {value}",
"uvValue": "UV {value}",
"uvShort": "UV {value}",
"noForecast": "Aucune donnée de prévision disponible"
}
},
"countdown": {
"name": "Compte à Rebours",
"description": "Trace les événements à venir et les anniversaires récurrents.",
"option": {
"events": {
"label": "Évènements",
"description": "Ajouter et commander jusqu'à 20 comptes à rebours uniques ou annuels. Les dates sont entrées dans le fuseau horaire sélectionné."
},
"showProgress": {
"label": "Afficher la progression"
},
"showSeconds": {
"label": "Afficher les secondes",
"description": "Garder les secondes visibles pour chaque événement à venir."
}
},
"dateTimeEventList": {
"newEvent": "Nouvel événement",
"add": "Ajouter un événement",
"remove": "Retirer {event}",
"reorder": "Réordonner {event}",
"eventLabel": "Étiquette de l'événement",
"timezone": "Fuseau Horaire",
"unsupportedOption": "Non pris en charge : {timeZone}",
"recurrence": "Répéter",
"recurrenceOption": {
"none": "Ne se répète pas",
"yearly": "Chaque année"
},
"target": "Date et heure de l'événement",
"trackProgress": "Suivre la progression depuis une date de début",
"start": "Date et heure de début d'avancement",
"confirmDateTime": "Confirmer la date et l'heure",
"limit": "{count} des événements {maximum} configurés"
},
"empty": {
"title": "Aucun compte à rebours pour le moment",
"description": "Ajouter un événement dans les options du widget pour commencer à compter."
},
"completed": "Complété",
"yearly": "Annuel",
"progress": "Progression de l'événement",
"upcoming": "À venir",
"completedEvents": "Événements terminés",
"invalid": {
"title": "Certains événements ne peuvent pas être affichés",
"description": "{count, plural, one {Un événement a une date non valide ou un fuseau horaire non pris en charge} other {# Les événements ont une date non valide ou un fuseau horaire non pris en charge}}",
"value": "Unavailable"
},
"alert": {
"notifications": "Notifications du navigateur",
"permissionDenied": "Les notifications sont bloquées dans ce navigateur.",
"reached": "Le compte à rebours a atteint sa cible."
}
},
"timer": {
"name": "Timer / Pomodoro",
"description": "Exécute une simple minuterie ou une séquence de Pomodoro configurable.",
"option": {
"mode": {
"label": "Mode",
"options": {
"timer": "Minuterie",
"pomodoro": "Pomodoro"
}
},
"timerMinutes": {
"label": "Minuterie minutes"
},
"focusMinutes": {
"label": "Minutes de mise au point"
},
"shortBreakMinutes": {
"label": "Minutes de pause courte"
},
"longBreakMinutes": {
"label": "Minutes de pause longue"
},
"sessionsBeforeLongBreak": {
"label": "Concentrez les sessions avant une pause longue"
},
"autoStartBreaks": {
"label": "Démarrer automatiquement les pauses"
},
"autoStartFocus": {
"label": "Démarrer automatiquement les sessions de focus"
}
},
"phase": {
"timer": "Minuterie",
"focus": "Concentration",
"shortBreak": "Petite pause",
"longBreak": "Pause longue"
},
"action": {
"start": "Début",
"pause": "Mettre en pause",
"reset": "Reset"
},
"attention": {
"timerComplete": "Timer complete",
"phaseReady": "{phase} prêt"
},
"progress": "Progression de la minuterie : {progress}%",
"compact": {
"completedFocus": "{count, plural, =0 {Aucune session de focus terminée} one {# session de focus terminée} other {# sessions de focus terminées}}"
},
"alert": {
"title": "Timer complete",
"completed": "{phase} terminé."
},
"advanced": {
"sequence": "Pomodoro sequence",
"focusSession": "Focus sur {session}",
"settings": "Paramètres permanents",
"settingsHint": "Utilisez le menu contextuel du widget pour modifier ces paramètres du forum.",
"localAlerts": "Alertes locales",
"notifications": "Notifications du navigateur",
"sound": "Sons de la minuterie",
"localAlertsHint": "Les sons de minuterie sont activés par défaut. Les sons et les notifications ne s'appliquent qu'à ce widget dans ce navigateur.",
"notificationsDenied": "Les notifications sont bloquées dans ce navigateur."
}
},
"minecraftServerStatus": {
"name": "Statut du serveur Minecraft",
"description": "Affiche le statut d'un serveur Minecraft",
"option": {
"domain": {
"label": "Adresse du serveur"
},
"isBedrockServer": {
"label": "Serveur Bedrock"
}
},
"status": {
"online": "En ligne",
"offline": "Hors ligne"
}
},
"timetable": {
"name": "Horaires",
"description": "Affiche les heures de départ pour une station",
"title": "Départs {station}",
"noStation": "Aucune station sélectionnée",
"option": {
"baseUrl": {
"label": "URL Search.ch",
"description": "Les URL personnalisées doivent être résolues à une adresse IP publique. Les hôtes privés et locaux sont rejetés."
},
"station": {
"label": "Station",
"placeholder": "Rechercher une station"
}
},
"error": {
"customSourceUnavailable": "La source du calendrier n'est pas disponible. Vérifiez que son URL correspond à une adresse IP publique.",
"stationSearch": "Impossible de rechercher des stations. Vérifiez l'URL personnalisée et l'accès au forum."
},
"warning": {
"stale": "L'horaire n'a pas pu être actualisé. Affichage des départs mis à jour pour la dernière fois à {time}.",
"staleCompact": "Données de l'histoire"
}
},
"notebook": {
"name": "Bloc-notes",
"description": "Un simple widget bloc-notes qui supporte le markdown",
"option": {
"showToolbar": {
"label": "Afficher la barre d'outils pour vous aider à écrire du markdown"
},
"allowReadOnlyCheck": {
"label": "Autoriser la coche des cases en mode lecture"
},
"content": {
"label": "Le contenu du bloc-notes"
}
},
"controls": {
"bold": "Gras",
"italic": "Italique",
"strikethrough": "Barrer",
"underline": "Souligner",
"colorText": "Colorer le texte",
"colorHighlight": "Surligner en couleur",
"code": "Code",
"clear": "Effacer la mise en forme",
"heading": "Titre {level}",
"align": "Aligner le texte : {position}",
"directionLtr": "Définir la direction du texte de gauche à droite",
"directionRtl": "Définir la direction du texte de droite à gauche",
"blockquote": "Citation",
"horizontalLine": "Ligne horizontale",
"details": "Afficher ou masquer la section repliable",
"expandDetails": "Déplier la section repliable",
"collapseDetails": "Replier la section repliable",
"bulletList": "Liste à puces",
"orderedList": "Liste numérotée",
"checkList": "Liste à coche",
"increaseIndent": "Augmenter l'Indentation",
"decreaseIndent": "Diminuer l'indentation",
"link": "Lien",
"unlink": "Supprimer le lien",
"image": "Intégrer une image",
"insertTable": "Insérer un tableau",
"insertTableSize": "Insérer un tableau de {columns} × {rows}",
"deleteTable": "Supprimer le tableau",
"colorCell": "Colorer la case",
"mergeCells": "Fusionner les cellules",
"splitCell": "Scinder la cellule",
"addColumnLeft": "Ajouter une colonne avant",
"addColumnRight": "Ajouter une colonne après",
"deleteColumn": "Supprimer la colonne",
"addRowTop": "Ajouter une ligne avant",
"addRowBelow": "Ajouter une ligne après",
"deleteRow": "Supprimer la ligne",
"toggleHeaderRow": "Activer ou désactiver la ligne d’en-tête",
"toggleHeaderColumn": "Activer ou désactiver la colonne d’en-tête"
},
"align": {
"left": "Gauche",
"center": "Centrer",
"right": "Droite"
},
"popover": {
"clearColor": "Enlever la couleur",
"source": "Source",
"widthPlaceholder": "Valeur en % ou en pixels",
"width": "Largeur",
"height": "Hauteur"
},
"placeholder": "Commencer à écrire vos notes",
"dismiss": {
"title": "Abandonner les modifications ?",
"message": "Vous avez des modifications non enregistrées dans votre bloc-notes. Êtes-vous sûr de vouloir les supprimer ?",
"action": {
"discard": "Ignorer les modifications",
"keepEditing": "Continuer les modifications"
}
},
"saveFailed": "Impossible d'enregistrer la note",
"documentStats": "{words, plural, one {# mot} other {# mots}} · {characters, plural, one {# caractère} other {# caractères}}"
},
"anchorNote": {
"name": "Note Anchor",
"description": "Affiche une note sélectionnée depuis Anchor",
"option": {
"noteId": {
"label": "Note"
},
"showUpdatedAt": {
"label": "Afficher la dernière mise à jour"
}
},
"empty": "Sélectionnez une note à afficher",
"emptyContent": "Cette note n'a pas de contenu",
"notFound": "Note introuvable",
"noNotes": "Aucune note trouvée",
"integrationRequired": "Sélectionnez d'abord une intégration Anchor",
"untitled": "Sans titre",
"readOnlyViewer": "Vous avez un accès en lecture seule à cette note. La modification est désactivée.",
"saveForbidden": "Vous n'êtes pas autorisé à modifier cette note.",
"saveFailed": "Impossible d'enregistrer cette note. Veuillez réessayer.",
"createdAt": "Créé le {date}",
"permission": {
"owner": "Propriétaire",
"editor": "Editeur",
"viewer": "Visionneuse"
},
"status": {
"pinned": "Épinglé",
"archived": "Archivé"
}
},
"iframe": {
"name": "iFrame",
"description": "Intégrer n'importe quel contenu à partir d'Internet. Certains sites Web peuvent restreindre l'accès.",
"option": {
"embedUrl": {
"label": "URL intégrée"
},
"allowFullScreen": {
"label": "Permettre le plein écran"
},
"allowTransparency": {
"label": "Autoriser la transparence"
},
"allowScrolling": {
"label": "Autoriser le défilement"
},
"allowPayment": {
"label": "Autoriser le paiement"
},
"allowAutoPlay": {
"label": "Autoriser la lecture automatique"
},
"allowMicrophone": {
"label": "Autoriser l'utilisation du microphone"
},
"allowCamera": {
"label": "Autoriser l'utilisation de la caméra"
},
"allowGeolocation": {
"label": "Autoriser la géolocalisation"
},
"allowModals": {
"label": "Autoriser les modales"
}
},
"error": {
"noUrl": "Aucune URL iFrame fournie",
"unsupportedProtocol": "L'URL fournie utilise un protocole non pris en charge. Veuillez utiliser l'un des ({supportedProtocols})",
"noBrowerSupport": "Votre navigateur internet ne prend pas en charge les iframes. Merci de le mettre à jour."
}
},
"smartHome-entityState": {
"name": "État de l'entité",
"description": "Affichez l'état d'une entité et optionnellement activez la",
"option": {
"entityId": {
"label": "ID de l’entité"
},
"displayName": {
"label": "Nom d'affichage"
},
"entityUnit": {
"label": "Unité d'Entité"
},
"clickable": {
"label": "Cliquable"
}
},
"state": {
"on": "Activé",
"off": "Désactivé",
"unavailable": "Unavailable",
"unknown": "Inconnu"
},
"advanced": {
"entityId": "ID de l'entité : {id}",
"lastChanged": "Changé {date}",
"attribute": {
"unit": "Unité",
"deviceClass": "Classe de l'appareil",
"icon": "Icône"
}
},
"error": {
"loadFailed": "Impossible de charger l'entité",
"toggleFailed": "Impossible de mettre à jour l'entité"
}
},
"smartHome-executeAutomation": {
"name": "Exécuter l'automatisation",
"description": "Déclencher une automatisation en un seul clic",
"option": {
"displayName": {
"label": "Nom d'affichage"
},
"automationId": {
"label": "ID de l'automatisation"
}
},
"spotlightAction": {
"run": "Exécuter {name}"
},
"advanced": {
"lastExecuted": "Dernière exécution à {time}",
"automationId": "ID de l'automatisation : {id}",
"ready": "Prêt à fonctionner",
"noPermission": "Pas de permission d'exécuter cette automatisation"
},
"status": {
"running": "Automatisation en cours d'exécution",
"success": "Automatisation terminée"
},
"error": {
"executeFailed": "Impossible d'exécuter l'automatisation"
}
},
"stockPrice": {
"name": "Cours des actions",
"description": "Affiche le cours des actions d'une entreprise",
"advanced": {
"currentPrice": "Prix actuel",
"previousClose": "Fermeture précédente",
"changePercentage": "Changer (%)",
"minimum": "Minimum",
"maximum": "Maximum"
},
"option": {
"stock": {
"label": "Symbole de l'action"
},
"timeRange": {
"label": "Intervalle de temps",
"option": {
"1d": {
"label": "1 jour"
},
"5d": {
"label": "5 jours"
},
"1mo": {
"label": "1 mois"
},
"3mo": {
"label": "3 mois"
},
"6mo": {
"label": "6 mois"
},
"ytd": {
"label": "Année courante"
},
"1y": {
"label": "1 an"
},
"2y": {
"label": "2 ans"
},
"5y": {
"label": "5 ans"
},
"10y": {
"label": "10 ans"
},
"max": {
"label": "Maximum"
}
}
},
"timeInterval": {
"label": "Intervalle de temps",
"option": {
"5m": {
"label": "5 minutes"
},
"15m": {
"label": "15 minutes"
},
"30m": {
"label": "30 minutes"
},
"1h": {
"label": "1 heure"
},
"1d": {
"label": "1 jour"
},
"5d": {
"label": "5 jours"
},
"1wk": {
"label": "1 semaine"
},
"1mo": {
"label": "1 mois"
}
}
},
"showDetails": {
"label": "Afficher les détails",
"description": "Afficher le nom, le changement et la plage de temps dans la vue compacte. Désactivez pour juste le symbole et le prix."
}
}
},
"calendar": {
"name": "Calendrier",
"description": "Afficher les événements de vos intégrations dans une vue calendrier pendant une certaine période de temps relative",
"duration": {
"allDay": "Tous les jours"
},
"option": {
"releaseType": {
"label": "Type de sortie Radarr",
"options": {
"inCinemas": "En salle",
"digitalRelease": "Sortie numérique",
"physicalRelease": "Sortie physique"
}
},
"filterPastMonths": {
"label": "À partir de"
},
"filterFutureMonths": {
"label": "Fini le"
},
"showUnmonitored": {
"label": "Afficher les messages non surveillés"
}
},
"advanced": {
"previousMonth": "Afficher le mois précédent",
"nextMonth": "Afficher le mois prochain",
"eventCount": "{count, plural, one {# événement} other {# événements}}",
"loading": "Chargement des événements du calendrier...",
"noEvents": "Aucun événement ce mois-ci"
}
},
"weather": {
"name": "Météo",
"description": "Affiche la météo actuelle d'un emplacement préconfiguré.",
"option": {
"isFormatFahrenheit": {
"label": "Température en Fahrenheit"
},
"disableTemperatureDecimals": {
"label": "Désactiver les décimales pour la température"
},
"animateIcons": {
"label": "Animer les icônes météo"
},
"showHumidity": {
"label": "Afficher l'humidité"
},
"showCurrentWindSpeed": {
"label": "Afficher la vitesse actuelle du vent"
},
"useImperialSpeed": {
"label": "Utiliser mph pour la vitesse du vent"
},
"showCity": {
"label": "Afficher la ville"
},
"hasForecast": {
"label": "Afficher les prévisions"
},
"forecastDayCount": {
"label": "Nombre de jours de prévisions",
"description": "Lorsque le widget n'est pas assez large, moins de jours sont affichés"
}
},
"currentWindSpeed": "{currentWindSpeed} {unit}",
"disabled": "Les données météo ne sont pas disponibles car les connexions sortantes sont désactivées",
"dailyForecast": {
"sunrise": "Lever du Soleil",
"sunset": "Coucher du soleil",
"maxWindSpeed": "Vitesse maximale du vent : {maxWindSpeed} {unit}",
"maxWindGusts": "Rafales de vent maximales : {maxWindGusts} {unit}",
"humidity": "Humidité : {humidity}%"
},
"kind": {
"clear": "Clair",
"mainlyClear": "Principalement clair",
"fog": "Brouillard",
"drizzle": "Bruine",
"freezingDrizzle": "Bruine glacée",
"rain": "Pluie",
"freezingRain": "Pluie verglaçante",
"snowFall": "Chute de neige",
"snowGrains": "Neige en grains",
"rainShowers": "Averses de pluie",
"snowShowers": "Averses de neige",
"thunderstorm": "Orage",
"thunderstormWithHail": "Orage avec grêle",
"unknown": "Inconnu"
},
"details": "Afficher les détails météo",
"detailsFor": "Afficher les détails de la météo pour {date}",
"advanced": {
"forecast": "Prévisions de 7 jours",
"hourlyForecast": "Prochaines 24 heures",
"day": "Jour",
"time": "Date et heure",
"conditions": "Condition",
"temperature": "Température",
"feelsLike": "Se sent comme {temperature}",
"feelsLikeLabel": "Se sent comme",
"feelsLikeRange": "Se sent comme : {maximum} / {minimum}",
"highLow": "Haut {maximum} · faible {minimum}",
"observedAt": "Mis à jour à {time}",
"humidity": "Humidité",
"averageHumidity": "Humidité moyenne: {humidity}%",
"currentHumidity": "Humidité actuelle",
"wind": "Vent / rafales ({unit})",
"currentWind": "Vent actuel / rafales",
"windValue": "{speed} / {gusts} {unit}",
"windDetail": "Vent max / Goutes : {speed} / {gusts} {unit}",
"nextHourPrecipitation": "Précipitation de l'heure prochaine",
"precipitationChance": "Probabilité des précipitations",
"precipitationValue": "{probability}% · {amount} mm",
"precipitationDetail": "Précipitation : {probability}% · {amount} mm",
"todayUv": "Indice UV max du jour",
"uvIndex": "Indice max des UV : {value}",
"daylight": "Lumière du jour : {duration}",
"hourlyTooltip": "Se sent comme {feelsLike}{temperatureUnit} · {amount} mm · {humidity}% humidité · {speed} {speedUnit} vent",
"hourlyTooltipWithoutHumidity": "Se sent comme {feelsLike}{temperatureUnit} · {amount} mm · {speed} {speedUnit} vent",
"detailLabel": {
"feelsLike": "Se sent comme",
"precipitation": "Précipitations",
"humidity": "Humidité moyenne",
"wind": "Vent / rafales max",
"uv": "Indice UV max",
"daylight": "Daylight"
},
"sun": "Lever / coucher du soleil",
"noForecast": "Aucune donnée de prévision disponible"
}
},
"indexerManager": {
"name": "Statut du gestionnaire d’indexeur",
"description": "État de vos indexeurs",
"option": {
"openIndexerSiteInNewTab": {
"label": "Ouvrir le site de l'indexeur dans un nouvel onglet"
}
},
"title": "Gestionnaire d’indexeur",
"testAll": "Tout tester",
"status": {
"healthy": "Sain",
"unhealthy": "Dysfonctionnement",
"disabled": "Désactivé",
"unknown": "Santé indisponible"
},
"error": {
"internalServerError": "Impossible de récupérer le statut des indexeurs",
"testAll": "Le test d'indexation a échoué. Veuillez réessayer."
}
},
"healthMonitoring": {
"name": "Surveillance de l'état du système",
"description": "Affiche des informations sur l'état et la santé de votre (vos) système(s).",
"tab": {
"system": "Système",
"cluster": "Cluster"
},
"option": {
"fahrenheit": {
"label": "Température du processeur en Fahrenheit"
},
"cpu": {
"label": "Afficher les infos du processeur"
},
"memory": {
"label": "Afficher les infos de la mémoire"
},
"gpu": {
"label": "Afficher les infos du GPU"
},
"showUptime": {
"label": "Afficher le temps de disponibilité"
},
"fileSystem": {
"label": "Afficher les infos sur le système de fichiers"
},
"defaultTab": {
"label": "Onglet par défaut"
},
"visibleClusterSections": {
"label": "Sections visibles de cluster"
},
"sectionIndicatorRequirement": {
"label": "Exigence de l'indicateur de section"
}
},
"popover": {
"information": "Information",
"processor": "Processeur : {cpuModelName}",
"memory": "Mémoire : {memory}",
"memoryAvailable": "Disponible : {memoryAvailable} ({percent}%)",
"version": "Version : {version}",
"uptime": "Disponibilité : {months} Mois, {days} Jours, {hours} Heures, {minutes} Minutes",
"loadAverage": "Charge moyenne :",
"minute": "1 minute",
"minutes": "{count} minutes",
"used": "Utilisé",
"available": "Disponible",
"lastSeen": "Dernière mise à jour de statut : {lastSeen}",
"updatesAvailable": "{count, plural, one {# mise à jour disponible} other {# mises à jour disponibles}}",
"rebootRequired": "Redémarrage nécessaire",
"rebootNotRequired": "Pas de redémarrage nécessaire"
},
"smartStatus": {
"attributesWithinThresholds": "SMART: attributs à l'intérieur des seuils",
"attributesFailed": "SMART: {attributes} a échoué",
"noCriticalWarning": "SMART: pas d'avertissement signalé par SSD",
"criticalWarning": "SMART: avertissement critique signalé par SSD"
},
"gauge": {
"cpuUsage": "Utilisation du processeur",
"cpuTemperature": "Température du processeur",
"memoryUsage": "Utilisation de la mémoire",
"gpuUsage": "Utilisation du GPU {name}"
},
"error": {
"internalServerError": "Impossible de récupérer l'état de santé"
},
"cluster": {
"resource": {
"node": {
"name": "Nœuds"
},
"qemu": {
"name": "VMs"
},
"lxc": {
"name": "LXCs"
},
"storage": {
"name": "Stockage"
}
},
"popover": {
"rightSection": {
"node": "Noeud",
"vmId": "VM ID",
"plugin": "Plugin"
},
"detail": {
"cpu": "Coeurs",
"memory": "Mémoire",
"storage": "Stockage",
"uptime": "Disponible",
"haState": "État HA",
"storageType": {
"local": "Stockage local",
"shared": "Stockage partagé"
}
}
},
"table": {
"header": {
"name": "Nom",
"node": "Noeud"
}
}
}
},
"dockerContainers": {
"name": "Statistiques de Docker",
"description": "Statistiques de vos conteneurs (Ce widget ne peut être ajouté qu'avec les privilèges d'administrateur)",
"option": {
"endpointIds": {
"label": "Environnements Docker",
"description": "Laisser vide pour afficher les conteneurs de tous les environnements Docker",
"placeholder": "Tous les environnements Docker"
},
"containerFilter": {
"label": "Conteneurs à filtrer"
},
"filterIsWhitelist": {
"label": "Filtrer en tant que liste blanche"
},
"defaultSort": {
"option": {
"name": "Nom",
"state": "État",
"cpuUsage": "Utilisation du CPU",
"memoryUsage": "Utilisation mémoire"
}
}
},
"error": {
"internalServerError": "Impossible de récupérer les statistiques des conteneurs",
"endpointsUnavailable": "Les points de terminaison Docker sont indisponibles",
"layoutSaveTitle": "Disposition du tableau non sauvegardée",
"layoutSaveMessage": "Impossible d'enregistrer la mise en page du tableau Docker. Essayez à nouveau de déplacer ou de redimensionner la colonne."
},
"empty": {
"noContainers": "Aucun conteneur trouvé"
}
},
"coolify": {
"description": "Aperçu de votre instance Coolify avec les serveurs et les applications",
"option": {
"showServers": {
"label": "Afficher les serveurs"
},
"showApplications": {
"label": "Afficher les applications"
},
"showServices": {
"label": "Afficher les services"
}
},
"empty": {
"servers": "Aucun serveur trouvé",
"applications": "Aucune application trouvée",
"services": "Aucun service trouvé"
},
"footer": {
"updated": "Mis à jour {when}"
},
"error": {
"noIntegration": "Aucune intégration de Coolify configurée",
"internalServerError": "Impossible de récupérer les données de Coolify"
},
"server": {
"buildServer": "Version",
"resourceCounts": "{applications, plural, one {# app} other {# apps}} / {services, plural, one {# service} other {# services}}",
"reachability": "Accessibilité",
"usability": "Usabilité"
},
"source": {
"url": "Source: {url}",
"unavailable": "{source}: unavailable"
},
"instances": {
"title": "Instances"
},
"action": {
"openResource": "Ouvrir {name}",
"openLogs": "Ouvrir les logs {name}",
"showIp": "Afficher l'adresse IP",
"hideIp": "Cacher l'adresse IP"
},
"status": {
"running": "Exécution",
"stopped": "Arrêté",
"exited": "Quitté",
"starting": "Démarrage",
"restarting": "Redémarrage en cours",
"unknown": "Inconnu",
"online": "En ligne",
"offline": "Hors ligne",
"reachable": "Accessible",
"unreachable": "Injoignable",
"usable": "Utilisable",
"unusable": "Inutilisable"
}
},
"vpn": {
"name": "VPN",
"description": "Aperçu de vos connexions VPN",
"serviceUnavailable": "VPN indisponible",
"status": {
"running": "Exécution",
"notRunning": "Ne pas exécuter",
"unavailable": "Unavailable",
"vpn": "VPN: {status}"
}
},
"ups": {
"name": "UPS",
"description": "Surveiller l'état de vos périphériques UPS via un serveur NUT",
"option": {
"showBattery": {
"label": "Afficher la batterie"
},
"showLoad": {
"label": "Afficher la charge"
},
"showVoltage": {
"label": "Afficher la tension"
}
},
"status": {
"online": "En ligne",
"onBattery": "Sur batterie",
"lowBattery": "Batterie faible",
"charging": "Chargement",
"unknown": "Inconnu"
},
"field": {
"runtime": "Runtime",
"load": "Charger",
"input": "Entrée",
"output": "Sortie",
"batteryVoltage": "Tension batterie",
"power": "Électricité",
"temperature": "Température",
"manufacturer": "Fabricant",
"model": "Modélisation",
"serial": "Série"
},
"error": {
"internalServerError": "Impossible de récupérer les données UPS"
}
},
"tracearr": {
"description": "Surveillance avancée du serveur multimédia avec des données détaillées de flux et de transcodage",
"option": {
"showStreams": {
"label": "Afficher les flux actifs"
},
"showStats": {
"label": "Afficher le résumé des statistiques"
},
"showRecentActivity": {
"label": "Afficher l'activité récente"
},
"showViolations": {
"label": "Afficher les violations"
}
},
"stats": {
"activeStreams": "Flux actif",
"totalUsers": "Utilisateurs totaux",
"transcodes": "Transcodages",
"bandwidth": "Bande passante"
},
"streams": {
"empty": "Aucun flux actif",
"user": "Utilisateur",
"media": "Média",
"state": "État",
"quality": "Qualité",
"device": "Appareil",
"progress": "Progression",
"videoDecision": {
"directPlay": "Lecture directe",
"transcode": "Transcodage",
"directStream": "Flux direct"
}
},
"recentActivity": {
"title": "Activité récente",
"empty": "Aucune activité récente",
"watched": "Regardé",
"partial": "Partiel"
},
"violations": {
"title": "Violations",
"empty": "Aucune violation récente",
"rule": "Règle",
"user": "Utilisateur"
},
"noSectionsEnabled": "Aucune section activée",
"error": {
"noIntegration": "Aucune intégration Tracearr configurée",
"internalServerError": "Impossible de récupérer les données de Tracearr"
}
},
"umami": {
"name": "Statistiques Umami",
"description": "Affiche les statistiques des visiteurs de votre instance Umami Analytics",
"visitors": "visiteurs",
"active": "actif",
"pageviews": "pages vues",
"visits": "visites",
"bounceRate": "rebond",
"avgDuration": "moy",
"option": {
"websiteId": {
"label": "Site Web",
"description": "Sélectionnez un site web suivi par votre instance Umami",
"placeholder": "Sélectionnez un site",
"loading": "Chargement des sites Web...",
"noWebsites": "Aucun site web trouvé",
"configureIntegrationFirst": "Connectez d'abord une intégration Umami"
},
"timeFrame": {
"label": "Intervalle de temps",
"description": "La période d'affichage des données du visiteur pour",
"option": {
"today": "Aujourd'hui",
"24h": "Dernières 24 heures",
"7d": "7 derniers jours",
"30d": "30 derniers jours",
"month": "Ce mois",
"lastMonth": "Le mois dernier"
}
},
"eventName": {
"label": "Evénement",
"description": "Afficher le total des occurrences d'un événement spécifique",
"placeholder": "Sélectionner un événement",
"none": "Aucun événement"
},
"chartType": {
"label": "Type de graphique",
"description": "Style d'affichage du graphique",
"option": {
"bar": "Graphique à barres",
"sparkline": "Graphique sparkline"
}
},
"chartStyle": {
"label": "Style de graphique",
"description": "Comment afficher la série d'événements dans le graphique",
"option": {
"grouped": "Côte à côte",
"overlay": "Superposition (sous-ensemble)"
}
},
"viewMode": {
"label": "Vue",
"description": "Quoi afficher dans le corps du widget",
"option": {
"chart": "Graphique",
"events": "Graphique des événements",
"topPages": "Pages principales",
"topReferrers": "Référents principaux"
}
},
"eventNames": {
"label": "Événements",
"description": "Sélectionnez un ou plusieurs événements à afficher dans le graphique",
"placeholder": "Sélectionner les événements..."
},
"topCount": {
"label": "Éléments à afficher",
"description": "Nombre d'éléments principaux à afficher (max 500)"
},
"events": {
"loading": "Chargement des événements...",
"noEvents": "Aucun événement trouvé",
"configureWebsiteFirst": "Sélectionnez d'abord un site web pour charger des événements"
}
},
"event": {
"label": "événements"
},
"events": {
"selectPrompt": "Sélectionnez les événements à afficher"
},
"error": {
"noIntegration": "Aucune intégration Umami configurée",
"noWebsite": "Aucun site web configuré",
"noData": "Aucune donnée disponible",
"internalServerError": "Impossible de récupérer les données Umami"
},
"top": {
"direct": "Directe"
}
},
"common": {
"location": {
"query": "Ville / Code Postal",
"latitude": "Latitude",
"longitude": "Longitude",
"disabledTooltip": "Veuillez saisir une ville ou un code postal",
"unknownLocation": "Lieu inconnu",
"search": "Rechercher",
"table": {
"header": {
"city": "Ville",
"country": "Pays",
"coordinates": "Coordonnées",
"population": "Population"
},
"action": {
"select": "Sélectionnez {city}, {countryCode}"
},
"population": {
"fallback": "Inconnu"
}
}
},
"integration": {
"noData": "Aucune intégration trouvée",
"description": "Cliquez sur <here></here> pour créer une nouvelle intégration",
"manage": "Gérer les intégrations"
},
"app": {
"noData": "Aucune application trouvée",
"description": "Cliquez sur <here></here> pour créer une nouvelle application",
"quickCreate": "Créer une application à la volée"
},
"error": {
"noIntegration": "Aucune intégration sélectionnée",
"noData": "Aucune donnée d’interaction disponible"
},
"integrationDisconnected": "Aucune donnée disponible, toutes les intégrations sont déconnectées",
"updatedAt": "Mis à jour {date}",
"title": {
"label": "Titre"
},
"openInNewTab": {
"label": "Ouvrir dans un nouvel onglet"
},
"showTitle": {
"label": "Afficher le titre"
},
"weatherLocation": {
"label": "Lieu de la météo"
},
"layout": {
"label": "Mise en page",
"option": {
"horizontal": "Horizontale",
"vertical": "Vertical",
"grid": "Grille"
}
},
"select": {
"loading": "Chargement...",
"loadError": "Impossible de charger les options"
},
"dateFormat": {
"label": "Format de la date",
"description": "À quoi devrait ressembler la date"
},
"visibleStorageVolumes": {
"label": "Volumes de stockage visibles",
"description": "Uniquement disponible lorsque chaque intégration sélectionnée est OpenMediaVault ou Synology. Laisser vide pour afficher tous les volumes de stockage détectés.",
"placeholder": "Sélectionnez les volumes de stockage"
},
"tableOptions": {
"columns": {
"label": "Colonnes à afficher"
},
"columnOrder": {
"label": "Ordre des colonnes"
},
"columnWidths": {
"label": "Largeur des colonnes"
},
"enableRowSorting": {
"label": "Activer le tri des éléments"
},
"defaultSort": {
"label": "Colonne de tri par défaut"
},
"invertSorting": {
"label": "Inverser le tri"
}
}
},
"video": {
"name": "Flux vidéo",
"description": "Intègre un flux vidéo ou une vidéo provenant d'une caméra ou d'un site web",
"option": {
"feedUrl": {
"label": "URL du flux"
},
"hasAutoPlay": {
"label": "Lecture automatique",
"description": "La lecture automatique ne fonctionne que si elle est mise en sourdine en raison des restrictions du navigateur"
},
"isMuted": {
"label": "Muet"
},
"hasControls": {
"label": "Afficher les contrôles"
}
},
"error": {
"noUrl": "Aucune URL de vidéo fournie",
"forYoutubeUseIframe": "Pour les vidéos YouTube, utilisez l'option iFrame"
}
},
"mediaServer": {
"name": "Flux du serveur multimédia actuel",
"description": "Afficher les flux en cours sur vos serveurs de multimédia",
"option": {
"showOnlyPlaying": {
"label": "Afficher seulement les médias en cours de lecture",
"description": "Désactiver cette option ne fonctionnera pas pour Plex"
},
"showBitrate": {
"label": "Afficher le débit",
"description": "Afficher le débit binaire de lecture actuel à côté de la position"
},
"showLocation": {
"label": "Afficher la localisation",
"description": "Indiquez si le flux se trouve sur votre réseau local (LAN) ou sur votre réseau étendu (WAN)"
}
},
"footer": {
"streams": "",
"totalBitrate": "Total : {bitrate}"
},
"items": {
"currentlyPlaying": "En cours de lecture",
"user": "Utilisateur",
"name": "Nom",
"id": "Id",
"status": "Statut",
"directPlay": "Lecture directe",
"directStream": "Flux direct",
"transcodeVideo": "Transcodage vidéo",
"transcodeAudio": "Transcodage audio",
"transcoding": "Transcodage",
"paused": "En pause",
"remaining": "{minutes} min restantes",
"seasonEpisode": "S{season} E{episode}",
"metadata": {
"title": "Statistiques détaillées",
"video": {
"title": "Vidéo",
"resolution": "Résolution"
},
"audio": {
"title": "Audio",
"channelCount": "Canaux audio",
"codec": "Codec audio"
},
"transcoding": {
"title": "Transcodage",
"container": "Conteneur",
"resolution": "Résolution",
"target": "Codec cible"
}
},
"unknownUser": "Utilisateur inconnu"
},
"summary": {
"sessions": "{count, plural, one {# session} other {# sessions}}",
"playing": "{count} en cours de lecture",
"transcoding": "Transcodage {count}"
}
},
"paperlessNgx": {
"description": "Aperçu de votre archive de documents Paperless-ngx",
"documentsTotal": "Nombre total de documents",
"documentsInbox": "Boîte de réception",
"correspondents": "Correspondants",
"tags": "Tags",
"documentTypes": "Types de documents",
"inboxRatio": "Ratio de la boîte de réception",
"inbox": "boîte de réception",
"total": "total",
"option": {
"showInboxRatio": {
"label": "Afficher le ratio de la boîte de réception",
"description": "Afficher le rapport inbox/total des documents dans la section Héros"
},
"showInboxRing": {
"label": "Afficher l'anneau de la boîte de réception",
"description": "Afficher un anneau de progression à côté du ratio de la boîte de réception"
},
"showDocumentsTotal": {
"label": "Afficher le total des documents",
"description": "Afficher le nombre total de documents dans votre archive"
},
"showDocumentsInbox": {
"label": "Afficher le compteur de la boîte de réception",
"description": "Afficher le nombre de documents non traités dans la boîte de réception"
},
"showCorrespondents": {
"label": "Afficher les correspondants",
"description": "Afficher le nombre total de correspondants"
},
"showTags": {
"label": "Afficher les tags",
"description": "Afficher le nombre total de tags"
},
"showDocumentTypes": {
"label": "Afficher les types de documents",
"description": "Afficher le nombre total de types de documents"
}
},
"error": {
"internalServerError": "Échec de la récupération des données Paperless-ngx"
}
},
"patchmon": {
"description": "Aperçu de l'état des correctifs des hôtes depuis PatchMon",
"title": "Statistiques PatchMon",
"totalHosts": "Total des hôtes",
"hostsNeedingUpdates": "Mises à jour requises",
"securityUpdates": "Mises à jour de sécurité",
"upToDateHosts": "Hôtes à jour",
"hostsWithSecurityUpdates": "Hôtes avec mises à jour de sécurité",
"recentUpdates24h": "Mises à jour (24h)",
"totalOutdatedPackages": "Paquets obsolètes",
"totalRepos": "Dépôts",
"osDistribution": "Répartition des OS",
"compliance": "Conformité des correctifs",
"complianceRatio": "{upToDate} / {total}",
"lastUpdated": "Mis à jour {time}",
"option": {
"showTotalHosts": {
"label": "Afficher le nombre total d'hôtes",
"description": "Afficher le nombre total d'hôtes surveillés"
},
"showHostsNeedingUpdates": {
"label": "Afficher les hôtes ayant besoin de mises à jour",
"description": "Afficher les hôtes avec au moins un paquet obsolète"
},
"showSecurityUpdates": {
"label": "Afficher les mises à jour de sécurité",
"description": "Afficher le nombre total de mises à jour de sécurité disponibles"
},
"showUpToDateHosts": {
"label": "Afficher les hôtes à jour",
"description": "Afficher les hôtes avec aucun paquet obsolète"
},
"showHostsWithSecurityUpdates": {
"label": "Afficher les hôtes avec les mises à jour de sécurité",
"description": "Afficher les hôtes nécessitant des correctifs de sécurité"
},
"showRecentUpdates24h": {
"label": "Afficher les mises à jour récentes (24h)",
"description": "Afficher le nombre de mises à jour appliquées au cours des dernières 24 heures"
},
"showTotalOutdatedPackages": {
"label": "Afficher les paquets obsolètes",
"description": "Afficher le nombre total de paquets obsolètes sur tous les hôtes"
},
"showTotalRepos": {
"label": "Afficher les dépôts",
"description": "Afficher le nombre de dépôts actifs en cours de surveillance"
},
"enableThresholdColors": {
"label": "Activer les couleurs de seuil",
"description": ""
},
"useCustomThresholds": {
"label": "Seuils avancés",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": "Pourcentage du total des hôtes"
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "Nécessite le mode de mise à jour de seuil",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": ""
},
"securityUpdatesCriticalAt": {
"label": "Seuil critique de mise à jour de sécurité"
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": ""
},
"showOsDistribution": {
"label": "Afficher la répartition des OS",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "Top 3",
"5": "Top 5",
"10": "Top 10",
"all": "Tout"
}
},
"showOsVersion": {
"label": "Afficher la version de l'OS",
"description": "Ajouter la version de l'OS à chaque étiquette de distribution lorsque disponible"
},
"showComplianceHero": {
"label": "Afficher la jauge de conformité",
"description": ""
},
"osDisplayMode": {
"label": "Mode d'affichage de l'OS",
"description": "Choisir comment afficher la répartition des systèmes d'exploitation",
"option": {
"bars": "Barres horizontales",
"donut": "Graphique en anneau"
}
},
"threshold": {
"warningAt": {
"description": "Entrez le jaune lorsque la valeur atteint ce seuil"
},
"criticalAt": {
"description": "Entrez rouge lorsque la valeur atteint ce seuil"
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"description": "",
"episodes": "Épisodes manquants",
"movies": "Films manquants",
"providers": "Problèmes de fournisseurs",
"status": "",
"announcements": "Annonces",
"option": {
"showMissingEpisodes": {
"label": "Afficher les épisodes manquants",
"description": "Afficher le nombre d'épisodes avec les sous-titres manquants"
},
"showMissingMovies": {
"label": "Afficher les films manquants",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Statistiques du serveur Immich",
"description": "Informations sur votre instance Immich",
"option": {
"showUsers": {
"label": "Afficher les utilisateurs",
"description": "Afficher le nombre d'utilisateurs de l'instance"
},
"showPhotos": {
"label": "Afficher les photos",
"description": "Afficher le nombre de photos de l'instance"
},
"showVideos": {
"label": "Afficher les vidéos",
"description": "Afficher le nombre de vidéos de l'instance"
},
"showStorage": {
"label": "Affiche le stockage",
"description": "Afficher le stockage total utilisé"
}
},
"users": "Utilisateurs",
"photos": "Photos",
"videos": "Vidéos",
"storage": "Stockage utilisé",
"albumLimit": "Les plus grands albums (jusqu'à {count} affiché)"
},
"immich-albumCarousel": {
"name": "Album Immich",
"allPhotos": "",
"option": {
"albumId": {
"label": "Identifiant de l'album",
"description": "C'est l'identifiant unique qui correspond à l'album Immich. Vous pouvez le trouver en ouvrant un album et copiant l'identifiant unique depuis l'URL, par exemple 'a21aca09-9f05-47dc-b1a1-7b53c547226e'."
},
"rotationIntervalSeconds": {
"label": "Intervalle en secondes",
"description": "Rotation entre les images de l'album chaque X secondes. Doit être entre 1 et 3600."
},
"showPhotoInfo": {
"label": "Afficher les informations de la photo",
"description": "Afficher la date et l'index de la photo en bas du diaporama"
},
"randomizePhotos": {
"label": "",
"description": ""
}
},
"description": "Diaporama de photos dans votre album Immich",
"noPhotos": "Aucune photo dans cet album",
"albumPhoto": "Photo de l'album",
"actions": {
"previousPhoto": "Photo précédente",
"nextPhoto": "Photo suivante",
"pauseSlideshow": "Pause slideshow",
"resumeSlideshow": "Reprendre le diaporama",
"toggleSlideshow": "Mettre en pause ou reprendre le diaporama",
"photo": "Photo {number}"
}
},
"downloads": {
"name": "Client de téléchargement",
"description": "Vous permet de visualiser et de gérer vos téléchargements à partir de clients Torrent et Usenet.",
"option": {
"showCompletedUsenet": {
"label": "Afficher les entrées de Usenet marquées comme terminées"
},
"showCompletedTorrent": {
"label": "Afficher les entrées Torrent marquées comme terminées"
},
"showCompletedHttp": {
"label": "Afficher les entrées diverses marquées comme terminées"
},
"includeArchivedHistory": {
"label": "Inclure l'historique SABnzbd archivé",
"description": "Afficher les jobs déplacés vers les archives."
},
"historyWindowDays": {
"label": "Fenêtre de l'historique archivé (jours)",
"description": "Limiter l'historique de SABnzbd terminé à ce nombre de jours. Augmentez la limite d'élément pour afficher plus de résultats."
},
"activeTorrentThreshold": {
"label": "Masquer les Torrents terminés sous ce seuil"
},
"categoryFilter": {
"label": "Catégories/étiquettes à filtrer"
},
"filterIsWhitelist": {
"label": "Filtrer en tant que liste blanche"
},
"applyFilterToRatio": {
"label": "Utiliser le filtre pour calculer le ratio"
},
"limitPerIntegration": {
"label": "Limiter les éléments par intégration",
"description": "Cela limitera le nombre d'éléments affichés par intégration, pas globalement"
}
},
"errors": {
"noColumns": "Sélectionner les colonnes dans les éléments",
"noCommunications": "Impossible de charger les données à partir de l'intégration",
"noItems": "Aucun téléchargement trouvé",
"actionFailed": "Action échouée",
"actionFailedMessage": "Cette action n'a pas pu être complétée. Veuillez ressayer."
},
"items": {
"actions": {
"columnTitle": "Contrôles"
},
"added": {
"columnTitle": "Ajouté",
"detailsTitle": "Date d’ajout"
},
"category": {
"columnTitle": "Extras",
"detailsTitle": "Catégories (Ou informations supplémentaires)"
},
"downSpeed": {
"columnTitle": "Descendant",
"detailsTitle": "Vitesse de téléchargement"
},
"index": {
"columnTitle": "#",
"detailsTitle": "Index actuel au sein du client"
},
"id": {
"columnTitle": "Id",
"detailsTitle": "Id"
},
"integration": {
"columnTitle": "Intégration"
},
"name": {
"columnTitle": "Nom de la tâche"
},
"progress": {
"columnTitle": "Progrès",
"detailsTitle": "Progression du téléchargement"
},
"ratio": {
"columnTitle": "Ratio",
"detailsTitle": "Ratio de Torrent (reçu/envoyé)"
},
"received": {
"columnTitle": "Total reçu",
"detailsTitle": "Total reçu"
},
"sent": {
"columnTitle": "Total envoyé",
"detailsTitle": "Total envoyé"
},
"size": {
"columnTitle": "Taille du fichier",
"detailsTitle": "Taille totale de la sélection/des fichiers"
},
"state": {
"columnTitle": "État",
"detailsTitle": "État de la tâche"
},
"time": {
"columnTitle": "Heure de finition",
"detailsTitle": "Temps écoulé depuis/à l'achèvement",
"eta": ""
},
"type": {
"columnTitle": "Type",
"detailsTitle": "Type de client de téléchargement"
},
"upSpeed": {
"columnTitle": "Montant",
"detailsTitle": "Vitesse d'envoi"
}
},
"states": {
"downloading": "Téléchargement en cours",
"queued": "En file d’attente",
"paused": "En pause",
"completed": "Complété",
"failed": "Échec",
"processing": "Traitement en cours",
"leeching": "En téléchargement",
"stalled": "Bloqué",
"unknown": "Inconnu",
"seeding": "En partage"
},
"actions": {
"clients": {
"modalTitle": "Liste des clients de téléchargement",
"pause": "Mettre en pause tous les clients/éléments",
"resume": "Reprendre tous les clients/éléments"
},
"client": {
"pause": "Mettre en pause le client",
"resume": "Reprendre le client"
},
"item": {
"pause": "Mettre en pause l'élément",
"resume": "Reprendre l'élément",
"delete": {
"title": "Supprimer l'élément",
"modalTitle": "Êtes-vous sûr de vouloir supprimer cette tâche ?",
"entry": "Supprimer l'entrée",
"entryAndFiles": "Supprimer l'entrée et le(s) fichier(s)"
}
}
},
"globalRatio": "Ratio global",
"contextMenu": {
"copyName": "",
"copyId": "",
"clearFilters": ""
},
"footer": {
"filter": ""
},
"stats": {
"show": "",
"hide": "",
"overallProgress": "",
"totalSize": "",
"clients": ""
},
"disconnected": ""
},
"mediaReleases": {
"name": "Sorties récentes",
"description": "Afficher les médias récemment ajoutés ou les publications à venir de différentes intégrations",
"option": {
"layout": {
"label": "Mise en page",
"option": {
"backdrop": {
"label": "Arrière-plan"
},
"poster": {
"label": "Affiche"
}
}
},
"showDescriptionTooltip": {
"label": "Afficher l'info-bulle de description"
},
"showType": {
"label": "Afficher le badge du type de média"
},
"showSource": {
"label": "Afficher l'intégration de la source"
}
},
"length": {
"duration": "{length}min"
}
},
"mediaRequests-requestList": {
"name": "Liste des demandes de médias",
"description": "Voir la liste de toutes les demandes de médias de votre instance Overseerr ou Jellyseerr",
"empty": {
"title": "Aucune demande de média pour le moment",
"description": "Recherchez un film ou une série pour lancer une demande."
},
"option": {
"linksTargetNewTab": {
"label": "Ouvrir les liens dans un nouvel onglet"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
"approve": "Approuver la demande",
"approving": "Approbation de la demande...",
"decline": "Refuser la demande"
},
"availability": {
"unknown": "Inconnu",
"pending": "En attente",
"processing": "Traitement en cours",
"requested": "En attente",
"partiallyAvailable": "Partiel",
"available": "Disponible",
"blacklisted": "Sur la liste noire",
"deleted": "Supprimé"
},
"status": {
"pending": "En attente",
"approved": "Approuvé",
"declined": "Refusé",
"failed": "Échec",
"completed": "Complété"
},
"unknown": "Inconnu",
"toBeDetermined": "À déterminer"
},
"mediaRequests-requestStats": {
"name": "Statistiques des demandes de médias",
"description": "Statistiques sur vos demandes de médias",
"empty": {
"title": "Aucune activité de demande pour l'instant",
"description": "Les statistiques apparaîtront après la première demande de média."
},
"titles": {
"stats": {
"main": "Stats des médias",
"approved": "Déjà approuvé",
"pending": "En attente de validation",
"processing": "En cours de traitement",
"declined": "Déjà refusé",
"available": "Déjà disponible",
"tv": "Demandes de séries TV",
"movie": "Demandes de films"
},
"users": {
"main": "Principaux utilisateurs",
"requests": "Demandes"
}
}
},
"mediaTranscoding": {
"name": "Transcodage des médias",
"description": "Statistiques, file d’attente actuelle et statut du travailleur de votre transcodage média",
"option": {
"defaultView": {
"label": "Affichage par défaut"
},
"queuePageSize": {
"label": "Taille de la page de file d'attente"
}
},
"tab": {
"workers": "Travailleurs",
"queue": "File d'attente",
"statistics": "Statistiques"
},
"currentIndex": "{start} - {end} sur {total}",
"healthCheck": {
"queued": "En file d’attente",
"status": {
"healthy": "Sain",
"unhealthy": "Dysfonctionnement"
}
},
"panel": {
"statistics": {
"filesCount": "Fichiers",
"savedSpace": "Espace libéré",
"videoCodecs": "Codecs",
"videoContainers": "Conteneurs",
"videoResolutions": "Résolutions"
},
"workers": {
"table": {
"eta": "Temps Restant",
"progress": "Progrès"
}
},
"queue": {
"table": {
"size": "Taille"
}
},
"common": {
"empty": "Vide",
"file": "Fichier",
"healthCheck": "Contrôle de santé",
"transcode": "Transcodeur",
"transcodes": "Transcodages",
"healthChecks": "Bilans de santé"
}
}
},
"mediaMissing": {
"name": "",
"description": "Montre les films, épisodes et livres manquants et en attente de {radarr}, {sonarr} et {bindery}",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": "Afficher les éléments en attente"
},
"pageSize": {
"label": "Éléments par page"
}
},
"tab": {
"missing": "",
"queued": "En file d’attente"
},
"type": {
"movie": "Film",
"episode": "Épisode",
"book": "Réserver"
},
"empty": {
"missing": "Aucun élément manquant",
"queued": "Aucun élément en file d'attente",
"noTabsEnabled": "Activer au moins un onglet dans les paramètres du widget"
},
"timeLeft": "Temps restant"
},
"rssFeed": {
"name": "Flux RSS",
"description": "Surveiller et afficher un ou plusieurs flux RSS, ATOM ou JSON génériques",
"option": {
"feedUrls": {
"label": "URLs du flux"
},
"enableRtl": {
"label": "Activer le RTL"
},
"textLinesClamp": {
"label": "Raccourci de ligne de description"
},
"maximumAmountPosts": {
"label": "Nombre maximum de publications"
},
"hideDescription": {
"label": "Masquer la description"
},
"showPosterImage": {
"label": "Afficher l'image de l'affiche"
}
},
"error": {
"allFeedsFailed": "Impossible de charger les flux RSS. Vérifiez les URL du flux et réessayez."
},
"warning": {
"partial": "{count, plural, one {# Le flux RSS n'a pas pu être chargé} other {# Les fils RSS n'ont pas pu être chargés}}",
"stale": "Les flux RSS n'ont pas pu être actualisés. Affichage des entrées précédemment chargées."
}
},
"releases": {
"name": "Versions",
"description": "Affiche une liste de la version courante des référentiels donnés avec la version regex donnée.",
"option": {
"newReleaseWithin": {
"label": "Nouvelle version dans",
"description": "Exemple d'utilisation : 1w (1 semaine), 10M (10 mois). Type d'unité acceptée h (heures), d (jours), w (semaines), M (mois), y (années). Laisser vide pour ne pas mettre en évidence les nouvelles versions."
},
"staleReleaseWithin": {
"label": "Version obsolète dans",
"description": "Exemple d'utilisation : 1w (1 semaine), 10M (10 mois). Type d'unité acceptée h (heures), d (jours), w (semaines), M (mois), y (années). Laisser vide pour ne pas mettre en évidence les versions obsolètes."
},
"showOnlyHighlighted": {
"label": "Afficher uniquement les surbrillances",
"description": "Afficher uniquement les nouvelles versions ou les versions obsolètes. Comme pour les versions ci-dessus."
},
"showDetails": {
"label": "Afficher les détails"
},
"showOnlyIcon": {
"label": "Afficher uniquement l'icône"
},
"topReleases": {
"label": "Meilleures sorties",
"description": "Le nombre maximum de dernières versions à afficher. Zéro signifie aucune limite."
},
"repositories": {
"label": "Dépôts",
"addRepository": {
"label": "Ajouter un dépôt"
},
"importRepositories": {
"label": "Importer depuis docker",
"loading": "Chargement des images docker",
"noImagesFound": "Aucune image docker trouvée",
"listFoundImages": "Liste des images trouvées",
"listAlreadyImportedImages": "Liste des images déjà importées",
"allImagesAlreadyImported": "Toutes les images déjà importées",
"onlyAdminCanImport": "Seuls les administrateurs peuvent importer depuis docker",
"selectAll": "Tout sélectionner",
"deselectAll": "Tout désélectionner"
},
"provider": {
"label": "Fournisseur"
},
"providerUrl": {
"label": "URL du fournisseur"
},
"identifier": {
"label": "Identifiant",
"placeholder": "Nom ou Propriétaire / Nom"
},
"name": {
"label": "Nom"
},
"versionFilter": {
"label": "Filtre de versions",
"prefix": {
"label": "Préfixe"
},
"precision": {
"label": "Précision",
"options": {
"none": "Aucun"
}
},
"suffix": {
"label": "Suffixe"
},
"regex": {
"label": "Expression Régulière"
}
},
"editForm": {
"title": "Modifier le dépôt"
},
"importForm": {
"title": "Importer depuis Docker"
},
"example": {
"label": "Exemple"
},
"invalid": "Définition de dépôt invalide, veuillez vérifier les valeurs",
"noProvider": {
"label": "Aucun fournisseur",
"tooltip": "Le fournisseur n'a pas pu être analysé, veuillez le définir manuellement après l'importation des images"
},
"tokens": {
"label": "Tokens du fournisseur",
"token": "Token",
"configured": "Token configuré",
"notConfigured": "Aucun token défini"
}
}
},
"not-found": "Non trouvé",
"pre-release": "Pré-publication",
"archived": "Archivé",
"forked": "Forké",
"starsCount": "Étoiles",
"forksCount": "Forks",
"issuesCount": "Problèmes ouverts",
"markViewed": "Marquer comme vu(s)",
"openProjectPage": "Ouvrir la page du projet",
"openReleasePage": "Ouvrir la page de publication",
"releaseDescription": "Description de la publication",
"projectDescription": "Description du projet",
"created": "Créé le",
"error": {
"label": "Erreur",
"messages": {
"invalidIdentifier": "Identifiant non valide",
"noMatchingVersion": "Aucune version correspondante trouvée",
"noReleasesFound": "Aucune publication trouvée",
"noProviderSelected": "Aucun fournisseur sélectionné",
"noProviderResponse": "Aucune réponse du fournisseur",
"unexpected": "Erreur de fournisseur inattendue"
}
},
"expandDetails": "Afficher les détails pour {name}",
"collapseDetails": "Masquer les détails pour {name}"
},
"networkControllerSummary": {
"advanced": {
"updated": "Mis à jour",
"metric": {
"latency": "Latence",
"ping": "Ping",
"uptime": "Disponible",
"users": "Utilisateurs",
"guests": "Invités"
}
},
"card": {
"vpn": {
"countConnected": "{count, plural, one {# connecté} other {# connecté}}",
"label": "VPN"
},
"wan": "WAN",
"web": "Web",
"wifi": "Wi-Fi",
"lan": "LAN"
},
"error": {
"unknownContentOption": "Option de contenu inconnue pour le widget de résumé du contrôleur réseau : "
},
"name": "Résumé du contrôleur réseau",
"description": "Affiche le résumé d'un contrôleur réseau (comme le contrôleur UniFi)"
},
"networkControllerStatus": {
"card": {
"variants": {
"wired": {
"name": "Filaire"
},
"wifi": {
"name": "Wi-Fi"
}
},
"users": {
"label": "Utilisateurs"
},
"guests": {
"label": "Invités"
}
},
"option": {
"content": {
"option": {
"wifi": {
"label": "Wi-Fi"
},
"wired": {
"label": "Filaire"
}
},
"label": "Contenu du Widget"
}
},
"error": {
"unknownContentOption": "Option de contenu inconnue pour le widget d'état du réseau : "
},
"name": "État du réseau",
"description": "Afficher les périphériques connectés sur un réseau"
},
"networkController": {
"error": {
"internalServerError": "Impossible de récupérer le résumé du contrôleur réseau"
}
},
"firewall": {
"name": "Surveillance du pare-feu",
"description": "Affiche un résumé des pare-feu",
"tab": {
"system": "Système",
"interfaces": "Interfaces"
},
"error": {
"internalServerError": "Impossible d'obtenir les données depuis le pare-feu"
},
"option": {
"interfaces": "Interfaces réseau à afficher"
},
"widget": {
"fwname": "Nom",
"version": "Version",
"versiontitle": "Versions",
"cputitle": "Utilisation du CPU",
"memorytitle": "Utilisation de la mémoire",
"memory": "Mémoire",
"interfaces": {
"name": "nom",
"trans": "Transmis",
"recv": "Reçus",
"title": "Interfaces réseau"
}
},
"empty": {
"noInterfaces": "Aucune donnée d'interface réseau pour le moment"
},
"versionUnknown": "Version inconnue",
"metricAccessible": "{metric} : {value} %, {status}",
"status": {
"normal": "Normale",
"warning": "Avertissement",
"critical": "Critique"
}
},
"notifications": {
"name": "Notifications",
"description": "Afficher l'historique des notifications à partir d'une intégration",
"noItems": "Aucune notification à afficher.",
"option": {
"hideLogos": {
"label": "Masquer les logos"
},
"messageFormat": {
"label": "Format du message",
"option": {
"auto": "Automatique",
"plain": "Texte brut",
"markdown": "Markdown",
"html": "HTML"
}
}
},
"openService": "Ouvrir le service de notification",
"deleteNotification": "Supprimer la notification de Gotify",
"deleteFailed": "Impossible de supprimer la notification",
"deleteFailedMessage": "La notification n'a pas pu être supprimée. Veuillez réessayer."
},
"speedtestTracker": {
"name": "Suivi de test de vitesse",
"description": "Affiche les résultats des tests de vitesse depuis votre instance Speedtest Tracker.",
"option": {
"showLatestResult": {
"label": "Afficher le dernier résultat"
},
"showStats": {
"label": "Afficher les moyennes"
},
"showRecentResults": {
"label": "Afficher le dernier résultat"
},
"showPingGraph": {
"label": "Afficher le graphique de ping"
}
},
"latestResult": "Dernier résultat",
"averages": "Moyennes",
"tests": "{count, plural, one {test} other {tests}}",
"recentResults": "Résultats récents",
"recentResultsSpeed": "Vitesse",
"recentResultsPing": "Ping",
"download": "Téléchargement",
"upload": "Téléversement",
"ping": "Ping",
"status": "État",
"avgDownload": "Téléchargement moyen",
"avgUpload": "Téléversement moyen",
"avgPing": "Ping moyen",
"healthy": "Sain",
"unhealthy": "Dysfonctionnement",
"ok": "OK",
"fail": "Échec",
"noSectionsEnabled": "Activez au moins une section dans les options du widget.",
"error": {
"internalServerError": "Impossible de récupérer les données du test de vitesse"
}
},
"uptimeKuma": {
"description": "",
"option": {
"showAverageUptime": {
"label": "",
"description": ""
},
"showUptimeRing": {
"label": "",
"description": ""
},
"showTotalMonitors": {
"label": "",
"description": "Afficher le nombre total de moniteurs configurés"
},
"showUpCount": {
"label": "",
"description": ""
},
"showDownCount": {
"label": "",
"description": ""
},
"showPausedCount": {
"label": "",
"description": ""
}
},
"averageUptime": "Temps de disponibilité moyen (24h)",
"stats": {
"totalMonitors": "Nombre total de moniteurs",
"upCount": "",
"downCount": "",
"pausedCount": ""
},
"error": {
"internalServerError": "Impossible de récupérer les données de disponibilité"
},
"status": {
"up": "Total envoyé",
"down": "Vitesse de téléchargement",
"paused": "En pause"
}
},
"traefik": {
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
},
"resourceType": {
"router": "Routeur",
"service": "Service",
"middleware": "Middleware"
},
"resourceStatus": {
"enabled": "Activé",
"disabled": "Désactivé",
"warning": "Avertissement",
"error": "Erreur",
"unknown": "Inconnu"
},
"failedEndpoint": "Échec: {endpoint}"
},
"audioStats": {
"name": "Statistiques audio",
"description": "",
"option": {
"showArtists": {
"label": "Afficher l'artiste",
"description": "Afficher le nombre total d'artistes dans votre bibliothèque musicale (Navidrome)"
},
"showAlbums": {
"label": "Afficher l'album",
"description": "Afficher le nombre total d'albums dans votre bibliothèque musicale (Navidrome)"
},
"showSongs": {
"label": "Afficher les titres",
"description": ""
},
"showLibraryCount": {
"label": "",
"description": ""
},
"showAudiobooks": {
"label": "",
"description": ""
},
"showPodcasts": {
"label": "",
"description": ""
},
"showListeningTime": {
"label": "",
"description": ""
},
"showActiveSessions": {
"label": "",
"description": ""
},
"compactMode": {
"label": "",
"description": ""
}
},
"artists": "",
"albums": "",
"songs": "",
"libraryCount": "",
"audiobooks": "",
"podcasts": "",
"listeningTime": "",
"activeSessions": "",
"error": {
"internalServerError": ""
}
},
"systemResources": {
"name": "Ressources du système",
"description": "CPU, Mémoire, Disque et autre utilisation matérielle de votre système",
"option": {
"hasShadow": {
"label": "Activer l'ombrage des cartes"
},
"visibleCharts": {
"label": "Graphiques visibles",
"description": "Sélectionnez les graphiques à afficher.",
"option": {
"memory": "Mémoire",
"network": "Réseau"
}
},
"labelDisplayMode": {
"label": "Mode d'affichage de l'étiquette",
"option": {
"textWithIcon": "Afficher le texte avec l'icône",
"text": "Afficher uniquement le texte",
"icon": "Afficher uniquement l'icône",
"hidden": "Masquer l'étiquette"
}
}
},
"card": {
"memory": "RAM",
"network": "NET",
"up": "UP",
"down": "HORS SERVICE",
"memoryTooltip": "{used} / {available} ({percent}%)"
}
},
"systemDisks": {
"name": "Disques système",
"description": "Utilisation du disque de votre système",
"option": {
"showTemperatureIfAvailable": {
"label": "Afficher la température si disponible"
},
"displayMode": {
"label": "Mode d'affichage",
"option": {
"percentage": {
"label": "Pourcentage (ex : 76%)"
},
"absolute": {
"label": "Valeurs absolues"
},
"free": {
"label": "Pourcentage d'espace libre (ex. : 24 % libre)"
}
}
},
"showBackgroundBar": {
"label": "Afficher la barre d'utilisation en arrière-plan"
}
},
"status": {
"unhealthy": "Dysfonctionnement",
"smart": "SMART",
"free": "{percentage}% gratuit"
}
},
"customApi": {
"name": "Widget personnalisé",
"description": "Renvoie une définition JSX personnalisée configurée.",
"customJsx": {
"noTemplate": "Aucun modèle JSX n'est configuré.",
"templateWarnings": "Avertissements du modèle {count}:",
"requestIdRequired": "Ce contrôle réseau nécessite un nom requestId.",
"unsavedPreview": "Exécutez le test initial de requête dans l'éditeur avant de tester les requêtes nommées.",
"invalidParams": "Les paramètres de requête ne sont pas valides.",
"loading": "Chargement de la requête...",
"loadRequest": "Demande de chargement",
"requestFailed": "La demande a échoué.",
"retry": "Demande de nouvelle tentative",
"actionCompleted": "Action terminée avec succès.",
"actionSimulated": "Action simulée; aucune demande n'a été envoyée.",
"actionsDisabledEditMode": "Les actions sont désactivées lorsque le tableau est en mode édition.",
"widgetItemUnavailable": "Cet élément du widget n'est pas disponible.",
"toggle": "Activer/désactiver",
"copied": "Copié",
"confirmDelete": "Confirmer cette action destructrice."
},
"option": {
"definitionId": {
"label": "Widget personnalisé"
},
"refreshInterval": {
"label": "",
"description": ""
}
},
"noDefinition": "",
"definitionNotFound": "Widget personnalisé indisponible",
"migrationRequired": "Ce widget personnalisé hérité est préservé, mais il doit être migré vers JSX personnalisé v2 depuis Gérer les widgets personnalisés avant de pouvoir fonctionner.",
"manageMigration": "Ouvrir Gérer les widgets personnalisés",
"contactAdmin": "Contactez un administrateur.",
"configurationNeedsRepair": "Les options de ce widget ont changé. Modifiez le widget pour réparer sa configuration.",
"removeFromBoard": "Retirer du tableau",
"editModePending": "Enregistrez le tableau pour charger ce widget.",
"picker": {
"group": "Widgets JSX personnalisés",
"empty": "Aucun widget personnalisé trouvé",
"preview": "Aperçu",
"sources": "{count, plural, one {# source} other {# sources}}",
"requests": "{count, plural, one {# demande} other {# demandes}}",
"migrationRequired": "Migration requise",
"migrationDescription": "Ce widget v1 placé ne peut pas encore être exécuté. Copiez son invite reproduite vers un LLM, puis collez la seule réponse JSON dans Homarr.",
"manageMigration": "Ouvrir Gérer les widgets personnalisés",
"contactAdmin": "Contactez un administrateur."
},
"configuration": {
"needsAttention": "La configuration nécessite une attention : {message}",
"advancedOptions": "Options avancées",
"invalidJson": "JSON invalide"
}
},
"beszelSystemTable": {
"name": "Systèmes Beszel (Tableau)",
"description": "Vue en tableau de tous les systèmes surveillés par Beszel avec colonnes triables et indicateurs d'état",
"option": {
"sortBy": {
"label": "Trier par"
},
"sortDirection": {
"label": "Direction du tri"
}
},
"error": {
"layoutSaveTitle": "",
"layoutSaveMessage": ""
}
},
"beszelSystemGrid": {
"name": "",
"description": ""
},
"beszelAlerts": {
"name": "",
"description": "",
"option": {
"showHistory": {
"label": ""
},
"maxHistoryItems": {
"label": ""
}
},
"empty": "",
"history": "Historique",
"resolved": "Résolu",
"alertDescription": {
"statusDuration": "Descendre pour {minutes} min",
"threshold": "Dépasse {value} sur {minutes} min"
},
"status": {
"triggered": "Déclenché",
"ok": ""
}
},
"beszelSystemStats": {
"name": "",
"description": "Graphiques de séries temporelles pour les métriques CPU, mémoire, disque, réseau, GPU et conteneur Docker",
"option": {
"systemId": {
"label": "",
"description": ""
},
"timePeriod": {
"label": ""
},
"showCpu": {
"label": ""
},
"showMemory": {
"label": ""
},
"showDisk": {
"label": ""
},
"showDiskIO": {
"label": ""
},
"showNetwork": {
"label": ""
},
"showGpuUsage": {
"label": "Afficher le graphique d'utilisation du GPU"
},
"showGpuMemory": {
"label": "Afficher le graphique mémoire GPU"
},
"showGpuPower": {
"label": "Afficher le graphique de puissance GPU"
},
"showDockerCpu": {
"label": ""
},
"showDockerMemory": {
"label": ""
},
"showDockerNetwork": {
"label": ""
}
},
"selectSystem": "",
"empty": {
"noSystems": ""
},
"error": {
"liveConnectionFailed": "",
"switchToHistorical": "",
"systemNotFound": "",
"selectionSaveTitle": "Impossible d'enregistrer la sélection",
"selectionSaveMessage": "La sélection de la période ou du système n'a pas pu être enregistrée. Veuillez réessayer."
},
"chart": {
"cpu": {
"title": "",
"subtitle": "Utilisation moyenne du CPU à l'échelle du système"
},
"memory": {
"title": "Utilisation Mémoire",
"subtitle": "Utilisation précise au moment enregistré",
"series": "",
"cache": ""
},
"disk": {
"title": "",
"subtitle": "Utilisation par système de fichiers",
"series": ""
},
"diskIO": {
"title": "",
"subtitle": "Débit du système de fichiers root",
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "Utilisation du disque par système de fichiers",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
"sent": "",
"recv": ""
},
"gpuUsage": {
"title": "Utilisation du GPU",
"subtitle": "Utilisation par GPU"
},
"gpuMemory": {
"title": "Mémoire GPU",
"subtitle": "VRAM utilisée par le GPU"
},
"gpuPower": {
"title": "Puissance GPU",
"subtitle": "Alimentation par GPU"
},
"dockerCpu": {
"title": "",
"subtitle": ""
},
"dockerMemory": {
"title": "",
"subtitle": ""
},
"dockerNetwork": {
"title": "",
"subtitle": ""
}
},
"period": {
"live": "En direct",
"oneHour": "1h",
"twelveHours": "12h",
"oneDay": "24h",
"oneWeek": "1 mois",
"thirtyDays": "30j"
}
},
"assistant": {
"name": "Assistant",
"description": "Ayez une conversation assistante complète directement sur votre plateau.",
"unavailable": {
"title": "Assistant indisponible",
"description": "Connectez-vous et demandez à un administrateur de configurer l'Assistant à partir du panneau de gestion."
},
"compact": {
"title": "Assistant",
"description": "Redimensionner ce widget pour discuter ici, ou ouvrir la conversation complète.",
"open": "Ouvrir l'assistant",
"openTitle": "Assistant ouvert dans le panneau latéral",
"openDescription": "La conversation reste dans une seule surface active.",
"returnToWidget": "Renvoyer la conversation à ce widget",
"otherWidgetTitle": "Assistant actif dans un autre widget",
"otherWidgetDescription": "Une seule surface de conversation reste active à la fois.",
"useHere": "Utiliser l'assistant dans ce widget"
}
},
"beszel": {
"error": {
"internalServerError": "Impossible de se connecter à Beszel. Vérifiez vos paramètres d'intégration."
},
"empty": {
"noSystems": "Aucun système trouvé"
},
"options": {
"statusFilter": {
"label": "Filtre de statut"
},
"showCpu": {
"label": "Afficher le CPU"
},
"showMemory": {
"label": "Afficher la mémoire"
},
"showDisk": {
"label": "Afficher le disque"
},
"showGpu": {
"label": "Afficher le GPU"
},
"showLoadAvg": {
"label": "Afficher la moyenne de charge"
},
"showNet": {
"label": "Afficher le réseau"
},
"showTemp": {
"label": "Afficher la température"
},
"showBattery": {
"label": "Afficher la batterie"
},
"showServices": {
"label": "Afficher les services"
},
"showUptime": {
"label": "Afficher le temps de disponibilité"
},
"showAgent": {
"label": "Afficher la version de l'agent"
}
},
"metric": {
"system": "Système",
"source": "Intégration",
"hostname": "Nom d'Hôte",
"cpuModel": "Modèle de CPU",
"cores": "Coeurs",
"memoryTotal": "Mémoire totale",
"memory": "Mémoire",
"disk": "Disque",
"loadAvg": "Charge Moyenne",
"net": "NT",
"temp": "Temp",
"battery": "Chauve-souris",
"uptime": "Disponible",
"agent": "Agent"
}
},
"llamacpp": {
"name": "llama.cpp",
"description": "Montrez la santé, le modèle chargé et la vitesse de génération de votre serveur local llama.cpp.",
"title": "llama.cpp",
"status": {
"unhealthy": "Malsain ({status})"
},
"idle": "Inactif",
"speedTooltip": {
"current": "Vitesse de génération actuelle",
"average": "Vitesse de génération moyenne depuis le démarrage",
"request": "Vitesse moyenne depuis le démarrage de cette requête"
},
"busy": "{count, plural, one {# demande en cours d'exécution} other {# requêtes en cours}}",
"modelInfo": {
"context": "Contexte",
"size": "Taille du fichier",
"parameters": "Paramètres",
"model": "Modélisation",
"quantization": "Quantification"
},
"stats": {
"tokensProcessed": "Jetons traités",
"contextUsage": "Contexte / Utilisation KV",
"cacheHitRate": "Taux de réussite du cache",
"tokensGenerated": "Jetons générés"
},
"error": {
"unreachable": "le serveur llama n'est pas joignable"
},
"unit": {
"speed": "{value} (s)",
"parameters": "{value}B",
"none": "—",
"speedShort": "/s"
},
"option": {
"showTitle": {
"label": "Afficher le titre"
},
"showModelInfo": {
"label": "Afficher les informations du modèle"
},
"showContextUsage": {
"label": "Afficher l'utilisation du contexte"
},
"showCacheHitRate": {
"label": "Afficher le taux de réussite de la cache"
},
"showSpeedStats": {
"label": "Afficher les statistiques de vitesse"
},
"showRequests": {
"label": "Afficher la charge de la requête"
},
"showTokenStats": {
"label": "Afficher les totaux de jetons"
},
"showSpeculative": {
"label": "Afficher le décodage spéculatif"
}
},
"advanced": {
"promptSpeed": "Vitesse de poussée",
"avgSpeed": "Génération moyenne",
"requests": "Demandes",
"deferred": "Retardé",
"slots": "Emplacements {processing}/{total} occupés",
"speculative": "Décodage spéculatif",
"avgPrompt": "Invitation moy",
"specDrafts": "Brouillons de spécification",
"specAccepted": "Caractéristiques acceptées",
"specDraftTokens": "Caractéristiques des jetons brouillons"
}
},
"stats": {
"name": "Statistiques",
"description": "Combinez les statistiques de vos intégrations dans un seul widget configurable.",
"configure": "Configurer les métriques",
"refresh": "Rafraîchir les statistiques",
"empty": "Ouvrez les paramètres du widget, sélectionnez les intégrations, puis ajoutez des métriques.",
"editorHelp": "Ajouter des métriques à partir des intégrations sélectionnées pour ce widget. Les modifications sont enregistrées avec votre tableau de bord.",
"source": "Intégration",
"metric": "Métrique",
"noMetrics": "Aucune statistique disponible pour cette intégration",
"add": "Ajouter une métrique",
"label": "Étiquette personnalisée",
"hidden": "Masquer",
"compact": "Numéros compacts",
"moveUp": "Monter",
"moveDown": "Descendre",
"remove": "Supprimer la métrique",
"loading": "Chargement de…",
"unavailable": "Unavailable",
"refreshFailed": "Échec de l'actualisation — affichage des données enregistrées",
"stale": "Données enregistrées - actualiser pour mettre à jour",
"table": {
"value": "Valeur",
"status": "Statut"
},
"option": {
"table": {
"label": "Vue tableau"
},
"rows": {
"label": "Lignes compactes"
},
"showIcon": {
"label": "Afficher l'icône source"
},
"spacing": {
"label": "Espacement",
"option": {
"xs": {
"label": "Compact"
},
"sm": {
"label": "Confortable"
},
"md": {
"label": "Spacieux"
}
}
},
"entries": {
"label": "Métriques"
},
"plain": {
"label": "Retirer les fonds de la carte"
}
},
"fetchFailed": "Impossible de récupérer les statistiques",
"viewOptions": "Personnaliser cette vue",
"moreMetrics": "{count} de plus en vue avancée",
"localHelp": "La mise en page, le formatage et la visibilité ne s'appliquent qu'à cette vue. Les paramètres du tableau partagé restent les mêmes.",
"plain": "Retirer les fonds de la carte",
"resetView": "Réinitialiser la vue",
"allHidden": "Toutes les métriques sont masquées dans cette vue. Utilisez Personnaliser cette vue pour les restaurer."
},
"wazuh": {
"target": {
"api": "API serveur Wazuh",
"indexer": "Indexeur Wazuh",
"wazuh": "Wazuh"
},
"severity": {
"low": "Bas",
"medium": "Moyen",
"high": "Élevé",
"critical": "Critique"
},
"error": {
"unauthorized": {
"title": "{target} a rejeté les identifiants",
"description": "Vérifiez le nom d'utilisateur et le mot de passe enregistrés sur l'intégration Wazuh. L'API serveur (port 55000) et l'indexeur (port 9200) utilisent des utilisateurs séparés."
},
"certificate": {
"title": "Le certificat {target} n'est pas fiable",
"description": "Wazuh utilise un certificat auto-signé par défaut. Exécutez \"Tester la connexion\" sur l'intégration et faites confiance au certificat, ou ajoutez votre AC dans Réglages → Certificats."
},
"unreachable": {
"title": "Impossible d'atteindre {target}",
"description": "L'hôte a refusé ou abandonné la connexion. Vérifiez l'URL, le port et le pare-feu. L'indexeur n'écoute que sur localhost dans une installation par défaut du tout-en-un."
},
"timeout": {
"title": "Délai d’attente dépassé pour {target}",
"description": "Aucune réponse dans les 15 secondes. Le service peut être surchargé ou l'adresse peut être incorrecte."
},
"status": {
"title": "{target} a renvoyé une erreur",
"description": "La requête a échoué avec le statut HTTP {status}."
},
"invalidResponse": {
"title": "Réponse inattendue de {target}",
"description": "Vérifiez que l'URL pointe vers l'API ou l'indexeur du serveur Wazuh et non vers le tableau de bord."
},
"indexerRequired": {
"title": "Identifiants de l'indexeur Wazuh requis",
"description": "Les alertes, les vulnérabilités et les événements d'intégrité des fichiers sont lus à partir de l'indexeur Wazuh. Ajoutez une URL d'indexeur, un nom d'utilisateur et un mot de passe à l'intégration."
},
"unknown": {
"title": "Impossible de charger les données depuis {target}",
"description": "Consultez les logs d'Homarr pour plus de détails."
}
},
"range": {
"1h": "1h",
"24h": "24h",
"7d": "7j",
"30d": "30j"
},
"levelTooltip": "Niveau de règle {level} ({severity})"
},
"wazuhAgents": {
"name": "Agents Wazuh",
"description": "Liste des agents Wazuh triés avec statut, OS, version et dernier entretien",
"option": {
"statusFilter": {
"label": "Afficher les agents"
},
"sortBy": {
"label": "Trier par"
},
"showVersion": {
"label": "Afficher la colonne de version Wazuh"
},
"showGroups": {
"label": "Afficher la colonne des groupes"
}
},
"title": "Agents",
"total": "Les agents {count}",
"status": {
"active": "Actif",
"disconnected": "Déconnecté",
"neverConnected": "Jamais connecté",
"pending": "En attente"
},
"statusLabel": {
"active": "Actif",
"disconnected": "Déconnecté",
"never_connected": "Jamais connecté",
"pending": "En attente",
"unknown": "Inconnu"
},
"live": "En direct",
"snapshot": "Instantané {age} vieux",
"snapshotHint": "Lisez depuis le tableau de bord Wazuh un instantané d'agent (surveillance de wazuh) pris sur {time}. Ajoutez les identifiants API du serveur pour les données en direct.",
"staleSnapshot": "L'instantané de l'agent de {time} est obsolète. Vérifiez que la tâche de surveillance du tableau de bord Wazuh est en cours d'exécution, ou ajoutez les identifiants API du serveur.",
"noDisconnected": "Tous les agents sont connectés",
"empty": "Aucun agent ne correspond à ce filtre",
"column": {
"status": "Statut",
"name": "Nom de la tâche",
"ip": "IP",
"os": "OS",
"version": "Version",
"lastKeepAlive": "Garder en vie",
"groups": "Groupes"
},
"outdated": "Plus ancienne que la dernière version de l'agent ({version})"
},
"wazuhAlerts": {
"name": "Fil d'alerte Wazuh",
"description": "Alertes Wazuh récentes avec niveau, techniques MITRE ATT&CK, agent et IP source",
"option": {
"minLevel": {
"label": "Niveau de règle minimum",
"description": "Niveaux Wazuh : 0-6 bas, 7-11 médium, 12-14 hauts, 15+ critique"
},
"hours": {
"label": "Fenêtre de temps (heures)"
},
"limit": {
"label": "Nombre d'alertes"
},
"showMitre": {
"label": "Show MITRE ATT&CK techniques"
},
"showAgent": {
"label": "Afficher l'agent"
},
"showSourceIp": {
"label": "Afficher l'IP source"
},
"showRuleId": {
"label": "Afficher l'ID de la règle"
}
},
"title": "Alertes · niveau {level}+ · {hours}h",
"empty": "Aucune alerte à ce niveau. Tous silencieux.",
"rule": "Règle {id}",
"openInDashboard": "Ouvrir cette alerte dans le tableau de bord Wazuh"
},
"wazuhSummary": {
"name": "Sévérité d'alerte Wazuh",
"description": "Incidence de la gravité de l'alerte avec une tendance par rapport à la période précédente",
"option": {
"range": {
"label": "Intervalle de temps"
},
"showTrend": {
"label": "Afficher la tendance par rapport à la période précédente"
},
"showFooter": {
"label": "Afficher le pied de page"
}
},
"title": "Sévérité de l'alerte · {range}",
"alerts": "alertes",
"none": "Aucune alerte",
"trend": {
"new": "nouveau",
"tooltip": "Période précédente : {previous}"
},
"previous": "{range}précédent : {count}",
"maxLevel": "Niveau max {level}",
"health": "Santé de l'indexeur : {status}",
"manager": "Manager {version}"
},
"wazuhTimeline": {
"name": "Wazuh alerts timeline",
"description": "Graphique empilé des alertes Wazuh au fil du temps par gravité",
"option": {
"range": {
"label": "Intervalle de temps"
},
"interval": {
"label": "Intervalle"
},
"chartType": {
"label": "Type de graphique"
},
"yScale": {
"label": "Échelle de l'axe Y",
"description": "La racine carrée garde les alertes élevées et critiques visibles à côté de milliers de bas"
},
"minLevel": {
"label": "Niveau de règle minimum"
},
"showLegend": {
"label": "Afficher la légende avec les totaux"
}
},
"title": "Chronologie des alertes · {range}",
"total": "Alertes {count}",
"interval": "par {interval}"
},
"wazuhTopList": {
"name": "Top liste Wazuh",
"description": "Règles principales, agents, adresses IP source ou techniques MITRE ATT&CK par nombre d'alertes",
"option": {
"kind": {
"label": "Rang"
},
"range": {
"label": "Intervalle de temps"
},
"limit": {
"label": "Nombre d'entrées"
},
"minLevel": {
"label": "Niveau de règle minimum"
},
"showBars": {
"label": "Afficher les barres"
}
},
"title": {
"rules": "Top règles · {range}",
"agents": "Top des agents · {range}",
"sourceIps": "IP les plus sources · {range}",
"mitreTactics": "tactiques MITRE · {range}",
"mitreTechniques": "MITRE techniques · {range}"
},
"empty": {
"rules": "Aucune alerte durant cette période",
"agents": "Aucune alerte durant cette période",
"sourceIps": "Aucune alerte avec une IP source pendant cette période",
"mitreTactics": "Aucune alerte associée à MITRE ATT&CK pendant cette période",
"mitreTechniques": "Aucune alerte associée à MITRE ATT&CK pendant cette période"
},
"totalTooltip": "Alertes correspondantes à {count}",
"private": "LAN",
"public": "Public",
"agents": "Vu sur les agents {count}",
"others": "{count} alertes supplémentaires dans les autres entrées"
},
"wazuhVulnerabilities": {
"name": "Vulnérabilités Wazuh",
"description": "La vulnérabilité compte, les meilleurs CVE et les agents les plus vulnérables",
"option": {
"cveOrder": {
"label": "Classer les CVEs par"
},
"minSeverity": {
"label": "Sévérité CVE"
},
"cveLimit": {
"label": "Nombre de CVE"
},
"agentLimit": {
"label": "Nombre d'agents"
},
"showAgents": {
"label": "Afficher les agents les plus vulnérables"
}
},
"title": "Vulnérabilités",
"topCves": "Meilleurs CVE",
"score": "Score",
"agentsShort": "Agents",
"topAgents": "Les agents les plus vulnérables",
"criticalHigh": "Crit / Haut",
"totalTooltip": "Résultats {count} sur les agents {agents}",
"affected": "Les agents {count}",
"empty": "Aucune vulnérabilité détectée",
"distribution": "Répartition de la gravité. Les résultats {unscored} sans score ne sont pas affichés.",
"worst": "Pire: {id} ({score}) sur les agents {agents}"
},
"wazuhFim": {
"name": "Intégrité du fichier Wazuh",
"description": "Événements récents de surveillance de l'intégrité des fichiers (syscheck)",
"option": {
"range": {
"label": "Intervalle de temps"
},
"event": {
"label": "Évènements"
},
"limit": {
"label": "Nombre d'événements"
},
"includeRegistry": {
"label": "Inclure les événements du registre Windows"
}
},
"title": "Intégrité du fichier · {range}",
"event": {
"added": "Date d’ajout",
"modified": "Modifié",
"deleted": "Supprimé",
"unknown": "Modifié"
},
"empty": "Aucun événement d'intégrité de fichier pendant cette période",
"user": "par {user}",
"registry": "Registre"
},
"wazuhAuthFailures": {
"name": "Échec d'authentification Wazuh",
"description": "Connexions échouées et alertes de force brute par agent avec des lignes d'étincelles horaires",
"option": {
"hours": {
"label": "Fenêtre de temps (heures)"
},
"limit": {
"label": "Nombre d'agents"
},
"showSourceIps": {
"label": "Afficher les meilleures adresses IP source"
}
},
"title": "Échec d'authentification · {hours}h",
"seriesTooltip": "Tous les agents au cours de la dernière {hours}h",
"peak": "Pic {count}/seau",
"empty": "Aucune connexion échouée dans cette période",
"failed": "Connexion échouée",
"failedHint": "Échec d'authentification unique (sshd, PAM, connexion Windows, utilisateurs invalides)",
"bruteForce": "Force brute",
"bruteForceHint": "Règles de force brute corrélées (échecs multiples en une courte période, MITRE T1110)",
"sourceIps": "IP source",
"ipTooltip": "{ip} : {count} échecs",
"bruteForceCount": "Force brute {count}"
}
},
"widgetPreview": {
"toggle": {
"enabled": "Mode édition activé",
"disabled": "Mode édition désactivé"
},
"dimensions": {
"title": "Modifier les dimensions"
}
},
"board": {
"emptyState": {
"title": "Construisez votre première vue",
"description": "Ajoutez un widget ou une application, ou connectez un service et utilisez ses données sur ce tableau.",
"addWidget": "Ajouter un widget",
"addApp": "Ajouter une application",
"connectService": "Connecter le service"
},
"setupChecklist": {
"title": "Rendre ce tableau utile",
"description": "Récupérez où vous vous êtes arrêté. Progression suit le contenu déjà sur ce tableau.",
"collapse": "Réduire la liste de contrôle de configuration",
"dismiss": "Rejeter la liste de contrôle de configuration",
"resume": "Poursuivre la configuration ({completed}/{total})",
"progress": "Progression de la configuration du tableau",
"step": {
"content": {
"label": "Ajouter un contenu utile",
"description": "Choisissez un widget et configurez-le avant de le placer."
},
"app": {
"label": "Épingler une application",
"description": "Gardez un service ou un outil en un clic loin de ce tableau."
},
"service": {
"label": "Connecter un service",
"description": "Débloquer les données et actions en direct pour les widgets compatibles.",
"permissionDescription": "Un administrateur peut connecter un service pour déverrouiller les données en direct.",
"action": "Connecter"
}
}
},
"action": {
"addContent": "Ajouter un contenu de tableau",
"settings": "Paramètres du tableau",
"switch": "Changer de carte",
"switcher": {
"title": "Changer de carte",
"search": {
"empty": "Aucun tableau ne correspond à \"{search}\"."
},
"results": "Tableaux disponibles",
"preview": "Aperçu de {name} avec {count} éléments",
"currentHidden": "Tableau actuel: {name}",
"keyboard": {
"navigate": "Navigate",
"open": "Ouvert",
"instructions": "Tapez pour filtrer les tableaux. Utilisez les flèches pour vous déplacer à travers les résultats et entrez pour ouvrir un tableau."
},
"empty": {
"title": "Aucun autre tableau",
"description": "Il n'y a aucun autre tableau auquel vous pouvez accéder."
},
"error": "Les tableaux n'ont pas pu être chargés."
},
"create": {
"availability": {
"checking": "Vérification de la disponibilité…",
"available": "{name} est disponible"
},
"notification": {
"success": {
"title": "Tableau créé",
"message": "Le tableau {name} a été créé"
},
"error": {
"title": "Impossible de créer le tableau",
"message": "La carte {name} n'a pas pu être créée"
}
}
},
"duplicate": {
"title": "Dupliquer le tableau",
"message": "Cela va dupliquer le tableau {name} avec tout son contenu. Si les widgets référencent des intégrations, que vous n'êtes pas autorisé à utiliser, ils seront supprimés.",
"notification": {
"success": {
"title": "Tableau dupliqué",
"message": "Le tableau a été dupliqué avec succès"
},
"error": {
"title": "Impossible de dupliquer le tableau",
"message": "Le tableau n'a pas pu être dupliqué"
}
}
},
"edit": {
"enter": "Modifier le tableau",
"save": "Enregistrer le tableau",
"exit": "Quitter le mode édition",
"notification": {
"success": {
"message": "Le tableau a été enregistré avec succès"
},
"error": {
"message": "Le tableau n'a pas pu être enregistré"
},
"loadError": {
"title": "Impossible de démarrer l'édition",
"message": "L'éditeur du tableau de bord n'a pas pu être chargé. Votre tableau de bord est toujours disponible en mode vue."
}
},
"confirmLeave": {
"title": "Modifications non enregistrées",
"message": "Vous avez des modifications non enregistrées, êtes-vous sûr(e) de vouloir quitter ?"
}
},
"quickCreateApp": {
"modal": {
"title": "Créer une application à la volée",
"createAndUse": "Créer et utiliser"
}
}
},
"landmark": {
"canvas": "Tableau de bord",
"leftRail": "Rail du tableau de bord gauche",
"rightRail": "Rail du tableau de bord droit",
"items": "Éléments du tableau de bord"
},
"field": {
"pageTitle": {
"label": "Titre de la page"
},
"metaTitle": {
"label": "Titre META"
},
"logoImageUrl": {
"label": "URL du logo"
},
"faviconImageUrl": {
"label": "URL du Favicon"
},
"backgroundImageUrl": {
"label": "URL de l'arrière-plan",
"placeholder": "Commencez à taper pour rechercher des images locales",
"group": {
"your": "Vos images",
"other": "Autres images"
}
},
"backgroundImageAttachment": {
"label": "Pièce jointe de l'image d'arrière-plan",
"option": {
"fixed": {
"label": "Fixe",
"description": "L'arrière-plan reste dans la même position."
},
"scroll": {
"label": "Défilement",
"description": "Défilement de l'arrière-plan avec votre souris."
}
}
},
"backgroundImageRepeat": {
"label": "Répétition de l'image d'arrière-plan",
"option": {
"repeat": {
"label": "Répéter",
"description": "L'image est répétée autant que nécessaire pour couvrir toute la surface de l'image de fond."
},
"no-repeat": {
"label": "Pas de répétition",
"description": "L'image n'est pas répétée et peut ne pas remplir l'espace entier."
},
"repeat-x": {
"label": "Répéter X",
"description": "Identique à 'Répéter' mais uniquement sur l'axe horizontal."
},
"repeat-y": {
"label": "Répéter Y",
"description": "Identique à 'Répéter' mais uniquement sur l'axe vertical."
}
}
},
"backgroundImageSize": {
"label": "Taille de l'image d'arrière-plan",
"option": {
"cover": {
"label": "Couvrir",
"description": "Mise à l'échelle de l'image aussi petite que possible pour couvrir toute la fenêtre en recadrant l'espace excessif."
},
"contain": {
"label": "Contenu",
"description": "Mise à l'échelle de l'image aussi grande que possible dans son conteneur sans recadrer ou étirer l'image."
}
}
},
"primaryColor": {
"label": "Couleur principale",
"locked": "Votre administrateur conserve la couleur de la marque de l'instance sur chaque tableau."
},
"secondaryColor": {
"label": "Couleur secondaire"
},
"opacity": {
"label": "Transparence"
},
"iconColor": {
"label": "Couleur de l'icône"
},
"clearColor": {
"label": "Enlever la couleur"
},
"customCss": {
"label": "CSS personnalisé pour ce tableau",
"description": "De plus, personnalisez votre tableau de bord à l'aide de CSS, recommandé uniquement pour les utilisateurs expérimentés",
"customClassesAlert": {
"title": "Classes personnalisées",
"description": "Vous pouvez ajouter des classes personnalisées aux éléments de votre tableau dans les options avancées de chaque élément et les utiliser dans le CSS personnalisé ci-dessus."
}
},
"disableStatus": {
"label": "Désactiver le statut de l'application",
"description": "Désactive la vérification du statut de toutes les applications de ce tableau"
},
"columnCount": {
"label": "Nombre de colonnes"
},
"itemRadius": {
"label": "Rayon de l'élément",
"description": "Modifier l'arrondi des tuiles sur votre tableau",
"option": {
"xs": "Très petit",
"sm": "Petit",
"md": "Moyen",
"lg": "Grand",
"xl": "Très grand"
}
},
"isPublic": {
"label": "Public",
"description": "Les tableaux publics sont accessibles à tous, même sans compte."
}
},
"content": {
"metaTitle": "Tableau {boardName}"
},
"setting": {
"title": "Paramètres du tableau {boardName}",
"section": {
"general": {
"title": "Général",
"unrecognizedLink": "Le lien fourni n'est pas reconnu et ne sera pas prévisualisé, il pourrait encore fonctionner."
},
"layout": {
"title": "Mise en page",
"responsive": {
"title": "Mises en page adaptatives",
"description": "Chaque mise en page conserve ses propres positions et tailles de widget. Mobile et Base sont toujours disponibles; ajoutez des mises en page personnalisées à n'importe quel point d'arrêt supplémentaire.",
"action": {
"add": "Ajouter une mise en page"
}
},
"role": {
"mobile": "Mobile",
"base": "Base",
"custom": "Personnalisé"
},
"custom": {
"defaultName": "Mise en page personnalisée"
},
"mobile": {
"breakpointDescription": "Mobile est toujours utilisé à partir de 0px jusqu'au point d'arrêt de la mise en page suivant."
},
"preview": {
"columns": "colonnes",
"empty": "Cette mise en page est vide",
"dynamicSection": "Section dynamique",
"editorWidthLabel": "{layoutName} · {width}px"
},
"reset": {
"action": "Remise à zéro depuis la base",
"confirm": {
"title": "Reset {layoutName}?",
"message": "Ceci remplace toutes les positions et tailles enregistrées dans cette mise en page par une nouvelle mise en page générée à partir de la Base. Cela ne peut pas être annulé."
}
},
"edit": {
"action": "Modifier la mise en page",
"saveAndEdit": "Enregistrer et éditer",
"save": "Enregistrer la mise en page",
"cancel": {
"action": "Annuler l'édition de la mise en page",
"title": "Annuler les modifications de la mise en page ?",
"message": "Vos modifications non enregistrées de cette mise en page seront ignorées."
}
}
},
"background": {
"title": "Fond"
},
"appearance": {
"title": "Apparence"
},
"customCss": {
"title": "CSS personnalisé"
},
"behavior": {
"title": "Comportement"
},
"access": {
"title": "Contrôle d'accès",
"permission": {
"item": {
"view": {
"label": "Voir le tableau de bord"
},
"modify": {
"label": "Modifier le tableau"
},
"full": {
"label": "Accès complet"
}
}
}
},
"dangerZone": {
"title": "Zone de danger",
"action": {
"rename": {
"label": "Renommer le tableau",
"description": "Modifier le nom cassera tous les liens vers ce tableau.",
"button": "Modifier le nom"
},
"visibility": {
"label": "Modifier la visibilité du tableau",
"description": {
"public": "Ce tableau est actuellement public.",
"private": "Ce tableau est actuellement privé."
},
"button": {
"public": "Rendre privé",
"private": "Rendre public"
},
"confirm": {
"public": {
"title": "Rendre le tableau privé",
"description": "Êtes-vous sûr de vouloir rendre ce tableau privé ? Cela masquera le tableau du public. Les liens pour les utilisateurs invités seront cassés."
},
"private": {
"title": "Rendre le tableau public",
"description": "Êtes-vous sûr de vouloir rendre ce tableau public ? Cela rendra le tableau accessible à tout le monde."
}
}
},
"delete": {
"description": "Une fois que vous supprimez un tableau, il n'y a pas de retour en arrière. Soyez certain de votre choix.",
"confirm": {
"title": "Supprimer le tableau de bord",
"description": "Êtes-vous sûr de vouloir supprimer ce tableau ? Cela supprimera définitivement le tableau et tout son contenu."
}
}
}
}
}
},
"error": {
"noBoard": {
"title": "Bienvenue sur Homarr",
"description": "Un tableau de bord moderne et élégant qui met toutes vos applications et services à portée de main.",
"link": "Créez votre premier tableau",
"notice": "Pour que cette page disparaisse, créez un tableau et définissez-le en tant que tableau d'accueil"
},
"notFound": {
"title": "Tableau introuvable",
"description": "Le tableau spécifié est soit introuvable, soit vous n'avez pas accès à celui-ci.",
"link": "Voir tous les tableaux",
"notice": "Vérifiez le lien ou contactez un administrateur si vous pensez qu'il devrait être accessible"
},
"homeBoard": {
"title": "Pas de tableau d'accueil",
"admin": {
"description": "Vous n'avez pas encore défini de tableau d'accueil pour le serveur.",
"link": "Configurer le tableau d'accueil à l'échelle du serveur",
"notice": "Pour faire disparaître cette page pour tous les utilisateurs, définissez un tableau d'accueil pour le serveur"
},
"user": {
"description": "Vous n'avez pas encore défini de tableau d'accueil.",
"link": "Configurez votre tableau d'accueil",
"notice": "Pour que cette page disparaisse, spécifiez le tableau d'accueil dans vos préférences"
},
"anonymous": {
"description": "L'administrateur du serveur n'a pas encore défini de tableau d'accueil.",
"link": "Voir les tableaux publics",
"notice": "Pour faire disparaître cette page, demandez à l'administrateur du serveur de définir un tableau d'accueil pour le serveur"
}
}
}
},
"layout": {
"field": {
"columnCount": {
"label": "Nombre de colonnes"
},
"breakpoint": {
"label": "Point de rupture",
"description": "La mise en page sera utilisée sur tous les écrans plus grands que ce point de rupture jusqu'au point de rupture suivant."
},
"gutters": {
"label": "Barres latérales fixes",
"description": "Réservez jusqu'à trois colonnes du tableau de bord de chaque côté. Le reste de la toile se recharge automatiquement.",
"left": {
"label": "Left sidebar",
"description": "Garder cette zone visible pendant que le tableau de bord fait défiler.",
"thumbLabel": "Left sidebar width"
},
"right": {
"label": "Barre latérale droite",
"description": "Garder cette zone visible pendant que le tableau de bord fait défiler.",
"thumbLabel": "Largeur de la barre latérale droite"
},
"width": {
"label": "Largeur dans les colonnes"
},
"preview": {
"label": "Aperçu de la mise en page du tableau de bord"
}
}
}
},
"management": {
"metaTitle": "Administration",
"notFound": {
"title": "Non trouvé",
"text": "Impossible de trouver la ressource demandée",
"backToHome": "Retour à la page d'accueil de la gestion"
},
"error": {
"title": "",
"text": "",
"digest": ""
},
"navbar": {
"items": {
"home": "Accueil",
"users": {
"items": {
"manage": "Gérer"
}
},
"tools": {
"label": "Outils",
"items": {
"docker": "Docker",
"kubernetes": "Kubernetes",
"api": "API",
"backup": "Sauvegarde"
}
},
"settings": "Paramètres",
"help": {
"label": "Aide",
"items": {
"documentation": "Documentation",
"submitIssue": "Signaler un problème",
"discord": "Communauté Discord",
"sourceCode": "Code source"
}
},
"about": "À propos",
"assistant": "Assistant"
}
},
"page": {
"home": {
"statisticLabel": {
"boards": "Tableaux de bord",
"resources": "Ressources",
"authentication": "Authentification",
"authorization": "Autorisation"
},
"heroBanner": {
"title": "Bienvenue sur votre",
"subtitle": "Tableau {app}"
}
},
"board": {
"title": "Vos tableaux de bord",
"action": {
"new": {
"label": "Nouveau tableau"
},
"open": {
"label": "Ouvrir le tableau"
},
"settings": {
"label": "Paramètres"
},
"setHomeBoard": {
"label": "Définir comme votre tableau d'accueil",
"badge": {
"label": "Accueil",
"tooltip": "Ce tableau s'affichera comme votre tableau d'accueil"
}
},
"setMobileHomeBoard": {
"label": "Définir comme votre tableau mobile",
"badge": {
"label": "Mobile",
"tooltip": "Ce tableau s'affichera comme votre tableau mobile"
}
},
"delete": {
"confirm": {
"description": "Êtes-vous sûr de vouloir supprimer le tableau {name} ?"
}
}
},
"visibility": {
"public": "Ce tableau est public",
"private": "Ce tableau est privé"
},
"preview": {
"label": "Aperçu de la mise en page pour {name}, avec {count} éléments",
"unknownCreator": "Créateur inconnu"
},
"noResults": {
"title": "Aucun tableau de bord pour l'instant",
"description": "Créez un tableau pour organiser vos applications et widgets en un seul endroit."
}
},
"media": {
"includeFromAllUsers": "Inclure les médias de tous les utilisateurs"
},
"user": {
"fieldsDisabledExternalProvider": "Certains champs sont désactivés car ils sont gérés par un fournisseur d'authentification externe.",
"setting": {
"general": {
"title": "Général",
"header": {
"title": "Studio d'en-tête",
"badge": "Personnels",
"description": "Faites glisser les commandes n'importe où dans la rangée. Restez fixe à gauche, au centre et à droite pendant que les contrôles se déplacent autour d'eux.",
"device": {
"desktop": "Bureau",
"mobile": "Mobile"
},
"zones": {
"left": "Gauche",
"center": "Centrer",
"right": "Droite"
},
"action": {
"hide": "Cacher l'en-tête",
"show": "Afficher l'en-tête",
"configure": "Déplacer ou configurer {item}",
"remove": "Retirer {item}",
"dropIntoZone": "Déplacer dans la section {zone}"
},
"preview": {
"board": "Aperçu du tableau de bord pour {name}",
"empty": "Aucune disposition du tableau de bord n'est disponible"
},
"available": {
"title": "Commandes disponibles",
"description": "Ajoutez une commande, puis faites glisser son bouton complet dans la position ci-dessus.",
"requiredAlways": "Ce contrôle est nécessaire, mais vous pouvez le déplacer n'importe où dans l'en-tête.",
"allAdded": "Chaque contrôle intégré est déjà dans votre en-tête.",
"add": "Ajouter {item}",
"boardShortcut": "Raccourci de la carte",
"chooseBoard": "Choisir un tableau"
},
"configuration": {
"description": "Ce contrôle reste la même taille que dans l'en-tête en direct.",
"searchDisplay": {
"input": "Barre de recherche",
"icon": "Icône uniquement"
},
"logoDisplay": {
"logo": "Logo uniquement",
"logoAndText": "Logo + texte"
}
},
"items": {
"logo": "Logo",
"search": "Rechercher",
"home": "Tableau de bord",
"boardSwitcher": "Tableaux de bord",
"assistant": "Assistant",
"docker": "Docker",
"boardEdit": "Modifier le tableau",
"boardSettings": "Paramètres du tableau",
"settings": "Vos paramètres",
"themeToggle": "Basculer le thème",
"user": "Compte client",
"boardUnavailable": "Tableau indisponible"
}
},
"item": {
"language": "Langue et région",
"board": {
"title": "Tableau d'accueil",
"type": {
"general": "Général",
"mobile": "Mobile"
}
},
"search": "Rechercher",
"firstDayOfWeek": "Premier jour de la semaine",
"accessibility": "Accessibilité",
"onboardingTours": {
"title": "Visites guidées d'intégration",
"description": "Réinitialiser les visites guidées pour les revoir lors de votre prochaine visite dans la zone de gestion ou le tableau de bord.",
"reset": "Réinitialiser les visites guidées",
"resetSuccess": {
"title": "Visites réinitialisées",
"message": "Les visites guidées s'afficheront à nouveau lors de votre prochaine visite"
},
"status": {
"completed": "Complété",
"notStarted": "Non commencé"
},
"name": {
"management": "Administration",
"dashboard": "Tableau de bord"
}
}
}
},
"security": {
"title": "Sécurité"
}
},
"list": {
"metaTitle": "Gérer les utilisateurs"
},
"edit": {
"metaTitle": "Modifier l'utilisateur {username}"
},
"create": {
"metaTitle": "Créer un utilisateur",
"title": "Créer un nouvel utilisateur",
"step": {
"personalInformation": {
"label": "Informations personnelles"
},
"security": {
"label": "Sécurité"
},
"groups": {
"label": "Groupes",
"title": "Sélectionnez tous les groupes dont l'utilisateur doit être membre",
"description": "Le groupe {everyoneGroup} est assigné à tous les utilisateurs et ne peut pas être supprimé."
},
"review": {
"label": "Aperçu"
},
"completed": {
"title": "Utilisateur créé"
},
"error": {
"title": "La création de l'utilisateur a échoué"
}
},
"action": {
"createAnother": "Créer un autre utilisateur",
"back": "Retourner à la liste des utilisateurs"
}
},
"invite": {
"title": "Gérer les invitations des utilisateurs",
"action": {
"new": {
"title": "Nouvelle invitation",
"description": "Après expiration, une invitation ne sera plus valide et le destinataire de cette invitation ne pourra pas créer un compte."
},
"copy": {
"title": "Copier l'invitation",
"description": "Votre invitation a été générée. Après avoir fermé cette fenêtre, <b>vous ne pourrez plus copier ce lien</b>. Si vous ne souhaitez plus inviter cette personne, vous pouvez supprimer l'invitation à tout moment.",
"link": "Lien d'invitation",
"button": "Copier et fermer"
},
"delete": {
"title": "Supprimer une invitation",
"description": "Êtes-vous sûr de vouloir supprimer cette invitation ? Les utilisateurs avec ce lien ne pourront plus créer un compte avec ce dernier."
}
},
"field": {
"creator": {
"label": "Créateur"
},
"expirationDate": {
"label": "Date d'expiration"
},
"token": {
"label": "Jeton"
}
}
}
},
"group": {
"back": "Retourner à la liste des groupes",
"setting": {
"general": {
"title": "Général",
"owner": "Propriétaire",
"ownerOfGroup": "Propriétaire de ce groupe",
"ownerOfGroupDeleted": "Le propriétaire de ce groupe a été supprimé. Il n'a actuellement aucun propriétaire."
},
"setting": {
"title": "Paramètres",
"alert": "Les paramètres du groupe sont priorisés par l'ordre des groupes dans la liste. Les paramètres du haut remplacent les paramètres du bas."
},
"members": {
"title": "Membres",
"search": "Trouver un membre",
"notFound": "Aucun membre n'a été trouvé"
},
"permissions": {
"title": "Permissions"
}
}
},
"settings": {
"title": "Paramètres",
"notification": {
"success": {
"message": "Paramètres enregistrés avec succès"
}
},
"section": {
"analyticsDocumentation": "Voir exactement quelles données d'analyse Homarr collecte",
"analytics": {
"title": "Statistiques",
"general": {
"title": "Envoyer des statistiques anonymes",
"text": "Homarr enverra des statistiques anonymes en utilisant le logiciel open source Umami. Il ne recueille jamais aucune information personnelle et est donc entièrement conforme au RGPD & CCPA. Nous vous encourageons à activer les statistiques parce qu'elles aident notre équipe open source à identifier les problèmes et à prioriser notre backlog."
}
},
"crawlingAndIndexing": {
"title": "Collecte et indexation",
"warning": "Activer ou désactiver n'importe quel paramètre ici aura un impact considérable sur la façon dont les moteurs de recherche indexeront et exploreront votre page. N'importe quel paramètre est une requête et il appartient au collecteur d'appliquer ces paramètres. Toute modification peut prendre jusqu'à plusieurs jours ou semaines pour être appliquée. Certains paramètres peuvent être spécifiques au moteur de recherche.",
"noIndex": {
"title": "Ne pas indexer",
"text": "Ne pas indexer le site sur les moteurs de recherche et ne l'afficher dans aucun résultat de recherche"
},
"noFollow": {
"title": "Ne pas suivre",
"text": "Ne suivre aucun lien lors de l'indexation. La désactivation de cette option conduira les collecteurs à suivre tous les liens sur Homarr."
},
"noTranslate": {
"title": "Pas de traduction",
"text": "Quand la langue du site est susceptible de ne pas être celle que l'utilisateur est susceptible de vouloir lire, Google affichera un lien de traduction dans les résultats de la recherche"
},
"noSiteLinksSearchBox": {
"title": "Pas de zone de recherche de liens du site",
"text": "Google va construire une boîte de recherche avec les liens explorés avec d'autres liens directs. Activer cette option demandera à Google de désactiver cette boite."
}
},
"board": {
"homeBoard": {
"label": "Tableau de bord global",
"mobileLabel": "Tableau de bord mobile global",
"description": "Seuls les tableaux publics sont disponibles pour la sélection"
},
"status": {
"title": "État de l'application",
"enableStatusByDefault": {
"label": "Activer l'état par défaut",
"description": "Lors de l'ajout d'un élément application, le statut sera activé par défaut"
},
"forceDisableStatus": {
"label": "Forcer la désactivation de l'état",
"description": "Le statut des applications sera désactivé pour tous les utilisateurs et ne peut pas être activé"
}
}
},
"user": {
"enableGravatar": {
"label": "Activer Gravatar",
"description": "Revient aux avatars des utilisateurs de Libravatar/Gravatar quand aucun avatar personnalisé n'est défini et qu'un e-mail est configuré"
}
},
"search": {
"title": "Rechercher",
"defaultSearchEngine": {
"label": "Moteur de recherche global par défaut",
"description": "Les moteurs de recherche d'intégration ne peuvent pas être sélectionnés ici"
}
},
"appearance": {
"title": "Apparence",
"defaultColorScheme": {
"label": "Schéma de couleurs par défaut"
}
},
"branding": {
"title": "Image de marque Instance",
"groups": {
"identity": "Identité",
"appearance": "Apparence",
"customCss": "Custom CSS",
"authentication": "Authentification"
},
"identity": {
"description": "Le logo de l'application est la marque plus grande utilisée dans l'application, sur les pages de connexion, et pour les applications installées. L'icône du navigateur (favicon) est le petit carré utilisé dans les onglets et les signets; lorsqu'il est vide, il revient au logo de l'application."
},
"appName": {
"label": "Nom de l'application"
},
"greeting": {
"label": "Accueil personnalisé"
},
"logo": {
"label": "Logo de l'application",
"placeholder": "/fr/logo/logo.png"
},
"favicon": {
"label": "Icône du navigateur (favicon)",
"placeholder": "Utilise le logo de l'application"
},
"primaryColor": {
"label": "Couleur principale"
},
"secondaryColor": {
"label": "accent secondaire"
},
"lockPrimaryColor": {
"label": "Garder cette couleur sur chaque tableau",
"description": "Empêche les couleurs du tableau de remplacer l'accent."
},
"signInBackground": {
"label": "Fond d'authentification",
"placeholder": "https://example.com/background.jpg"
},
"signInOverlay": {
"label": "Superposition d'arrière-plan"
},
"defaultRadius": {
"label": "Style de coin",
"options": {
"xs": "Poignée",
"sm": "Discret",
"md": "Equilibré",
"lg": "Arrondi",
"xl": "Douce"
}
},
"customCss": {
"label": "CSS global personnalisé",
"description": "Appliqué à chaque page. Le CSS personnalisé du tableau peut le remplacer."
},
"authVisibility": {
"description": "Choisissez ce qui apparaît sur chaque page d'authentification.",
"appName": "Nom de l'application",
"logo": "Logo de l'application",
"greeting": "Salutation"
},
"summary": {
"title": "Branding actuel",
"cornerStyle": "Style de coin",
"palette": "Palette",
"backgroundConfigured": "Arrière-plan personnalisé · {overlay}% superposition",
"backgroundDefault": "Arrière-plan par défaut",
"greetingConfigured": "Accueil personnalisé",
"greetingDefault": "Salutation par défaut",
"boardColorLocked": "Couleur du tableau verrouillé",
"boardColorFlexible": "Couleurs autorisées",
"appName": "Nom de la tâche",
"logo": "Logo",
"greeting": "Salutation",
"on": "Activé",
"off": "Désactivé"
}
},
"culture": {
"title": "Culture",
"defaultLocale": {
"label": "Langue par défaut"
}
},
"assistant": {
"loading": "Chargement de la configuration de l'assistant",
"title": "Assistant",
"description": "Connectez un point de terminaison de modèle compatible OpenAI pour l'assistant d'instance.",
"security": {
"description": "Les clés API et les valeurs d'en-tête supplémentaires sont chiffrées dans la base de données Homarr. Elles ne sont jamais retournées aux navigateurs. Les requêtes de modèles sont envoyées depuis le serveur Homarr directement au point de terminaison configuré."
},
"overview": {
"connectionReady": "Connexion prête",
"unsavedChanges": "Modifications non enregistrées",
"setupRequired": "Configuration requise",
"disabled": "Désactivé",
"noModel": "Aucun modèle sélectionné"
},
"connection": {
"endpointTitle": "Fournisseur et point de terminaison",
"description": "Choisissez un préréglage ou connectez n'importe quel service qui implémente l'API OpenAI Chat Completions.",
"save": "Enregistrer la connexion fournisseur"
},
"credentials": {
"title": "Identifiants",
"description": "Ajoutez les secrets dont ce point de terminaison a besoin. Les valeurs stockées restent chiffrées et ne peuvent pas être lues.",
"required": "Clé requise",
"optional": "Clé optionnelle",
"workshop": "Connexion GitHub par utilisateur"
},
"provider": {
"title": "Fournisseur",
"groups": {
"free": "Libre avec Homarr",
"hosted": "Fournisseurs hébergés",
"local": "Fournisseurs locaux",
"custom": "Personnalisé"
},
"options": {
"homarr": {
"description": "Un nombre limité d'utilisations d'Assistant est gratuit chaque jour, payé par l'équipe Homarr. Connectez-vous à l'Atelier Communautaire pour utiliser votre autorisation."
},
"openrouter": {
"description": "Routage de modèles hébergés avec un grand catalogue de modèles fonctionnant avec des outils."
},
"openai": {
"description": "Complétions de chat OpenAI via le point de terminaison officiel de l'API."
},
"anthropic": {
"description": "Le point de terminaison de compatibilité OpenAI SDK de Claude à travers Anthropic."
},
"google-gemini": {
"description": "Gemini via le point de terminaison API compatible OpenAI de Google."
},
"xai": {
"description": "Modèles Grok à travers l'API compatible OpenAI de xAI."
},
"groq": {
"description": "Inférence hébergée rapidement via l'API compatible OpenAI de Groq."
},
"mistral": {
"description": "Modèles Mistral à travers l’API officielle."
},
"deepseek": {
"description": "Les modèles DeepSeek à travers son API compatible OpenAI."
},
"together": {
"description": "Hébergé des modèles ouverts à travers l'API compatible OpenAI de Ensemble."
},
"ollama": {
"description": "Un serveur Ollama local ou réseau utilisant son API compatible OpenAI."
},
"lm-studio": {
"description": "Un serveur local LM Studio avec compatibilité OpenAI activée."
},
"llama-cpp": {
"description": "Un serveur local ou réseau llama.cpp utilisant son API compatible OpenAI."
},
"custom": {
"label": "Point de terminaison personnalisé",
"description": "Tout autre point de terminaison compatible avec les complétions de chat OpenAI."
}
},
"homarrAuth": {
"title": "Des utilisations quotidiennes gratuites sont incluses",
"description": "Aucune clé API n'est nécessaire. L'équipe d'Homarr couvre un nombre limité d'utilisations pour vous chaque jour. Connectez-vous à l'Atelier Communautaire pour garder votre allocation séparée."
}
},
"baseUrl": {
"title": "URL de base de l'API",
"description": "Inclure le préfixe de l'API, généralement /v1. Dans les conteneurs, localhost fait référence au conteneur Homarr."
},
"apiKey": {
"title": "Clé API",
"required": "Requis par ce fournisseur. La valeur est chiffrée et en lecture seule.",
"optional": "Optionnel pour les terminaux locaux. Laissez vide lorsque le service ne nécessite pas d'authentification au porteur.",
"placeholder": "Entrez une clé API",
"savedTitle": "Clé API chiffrée enregistrée",
"savedDescription": "Homarr peut utiliser cette clé, mais elle ne peut pas afficher ou récupérer sa valeur.",
"remove": "Supprimer la clé API enregistrée",
"removeFlow": {
"title": "Supprimer la clé API enregistrée ?",
"description": "Ce fournisseur nécessite une clé API. La retirer peut arrêter la découverte du modèle et les réponses de l'assistant jusqu'à ce qu'une autre clé soit enregistrée.",
"optionalDescription": "Le point de terminaison cessera de recevoir l'authentification du porteur après la suppression de cette clé. Confirmez qu'il accepte les requêtes non authentifiées ou utilise un autre en-tête stocké.",
"cancel": "Garder la clé enregistrée",
"confirm": "Supprimer la clé API"
}
},
"headers": {
"title": "En-têtes de requête supplémentaires",
"description": "En-têtes d'authentification ou de routage optionnels. Les valeurs d'en-tête sont chiffrées et en écriture seule.",
"add": "Ajouter un en-tête",
"name": "Nom de l'en-tête",
"value": "Valeur de l'en-tête",
"valuePlaceholder": "Valeur de routage ou de secret",
"remove": "Supprimer l'en-tête",
"configured": "Des en-têtes chiffrés supplémentaires sont configurés. L'ajout d'en-têtes remplace l'ensemble complet stocké.",
"empty": "Aucun en-tête supplémentaire n'est stocké pour ce fournisseur.",
"savedBadge": "En-têtes enregistrés",
"pendingRemoval": "Suppression en attente",
"clear": "Supprimer les en-têtes stockés lors de la sauvegarde",
"keep": "Garder les en-têtes stockés"
},
"model": {
"title": "Modélisation",
"description": "Sélectionnez un modèle découvert ou entrez un identifiant exact du modèle de terminaison.",
"placeholder": "ID du modèle",
"refresh": "Rafraîchir les modèles",
"chooseModel": "Choisissez le modèle utilisé pour les nouvelles conversations.",
"discoveryPath": "Chemin de découverte du modèle",
"discoveryPathDescription": "Ajouté à l'URL de base de l'API. Laisser vide pour désactiver la découverte et utiliser un ID de modèle manuel.",
"manual": "Entrez un ID de modèle manuellement ou enregistrez la connexion pour découvrir les modèles.",
"manualFallback": "La découverte n'est pas disponible. Vous pouvez toujours entrer un ID de modèle manuellement.",
"saveConnectionFirst": "Enregistrez la connexion du fournisseur avant de choisir un modèle.",
"discovering": "Actualisation des modèles disponibles auprès de ce fournisseur…",
"discovered": "{count, plural, one {Modèle # découvert. Le support des outils dépend du point de terminaison et du modèle sélectionnés.} other {Les # modèles découverts. Le support des outils dépend du point de terminaison et du modèle sélectionnés.}}",
"discoveryFailed": "La découverte du modèle n'est pas terminée",
"context": "Fenêtre de contexte {count}",
"toolsConfirmed": "Outils annoncés",
"toolsUnknown": "Vérifier le support de l'outil"
},
"serverTools": {
"title": "Outils serveur",
"webSearch": {
"label": "Recherche sur le Web",
"description": "Autoriser le modèle à rechercher sur le Web en direct via OpenRouter lorsqu'une requête nécessite des informations actuelles. L'utilisation de la recherche est facturée séparément par OpenRouter.",
"proxyDescription": "Envoyer l'outil de recherche web d'OpenRouter à cet endroit. Activer cette option uniquement lorsque le point de terminaison personnalisé redirige le format des outils de serveur OpenRouter, comme un proxy de routeur Homarr.",
"limit": "Le modèle décide quand effectuer une recherche, avec une limite de 3 recherches et 5 résultats par recherche pour chaque requête."
}
},
"enabled": {
"label": "Activer l'Assistant",
"description": "Affiche l'assistant à tous les utilisateurs connectés. Les autorisations existantes d'Homarr s'appliquent toujours à chaque appel d'outil interne."
},
"save": "Enregistrer l'assistant",
"notification": {
"connectionSaved": {
"title": "Connexion fournisseur enregistrée",
"message": "Le point de terminaison et les identifiants chiffrés sont prêts pour la sélection du modèle.",
"credentialsCleared": "Le point de terminaison a changé, les identifiants précédents ont été effacés. Ajoutez des identifiants pour la nouvelle destination si nécessaire."
},
"saved": {
"title": "Paramètres de l'assistant enregistrés",
"message": "Le nouveau modèle et les paramètres de disponibilité sont actifs."
},
"error": {
"title": "Les paramètres de l'assistant n'ont pas pu être sauvegardés"
}
}
}
}
},
"tool": {
"tasks": {
"status": {
"idle": "Inactif",
"running": "En cours",
"error": "Erreur",
"disabled": "Désactivé"
},
"job": {
"iconsUpdater": {
"label": "Mise à jour des icônes"
},
"analytics": {
"label": "Statistiques"
},
"ping": {
"label": "Pings"
}
},
"action": {
"run": "Exécuter {name} maintenant",
"enable": "Activer {name}",
"disable": "Désactiver {name}"
},
"interval": {
"seconds": "Chaque {interval, plural, one {}=1 {seconde} other {# secondes}}",
"minutes": "Chaque {interval, plural, one {}=1 {minute} other {# minutes}}",
"hours": "Chaque {interval, plural, one {}=1 {heure} other {# heures}}",
"midnight": "Chaque jour à minuit",
"weeklyMonday": "Chaque semaine le lundi",
"update": {
"success": {
"message": "Intervalle mis à jour avec succès"
},
"error": {
"message": "L'intervalle de mise à jour a échoué"
}
}
},
"field": {
"interval": {
"label": "Intervalle de planification"
},
"lastExecution": {
"label": "Dernière exécution"
},
"actions": {
"label": "Actions"
}
},
"table": {
"search": "Rechercher des tâches {count}..."
},
"refresh": {
"success": {
"message": "Tâches actualisées avec succès"
},
"error": {
"message": "Échec de l'actualisation des tâches"
}
},
"trigger": {
"success": {
"message": "Tâche déclenchée avec succès"
},
"error": {
"message": "Échec du déclenchement de la tâche"
}
},
"enable": {
"success": {
"message": "Tâche activée avec succès"
}
},
"disable": {
"success": {
"message": "Tâche désactivée avec succès"
}
},
"toggle": {
"error": {
"message": "Impossible de basculer le statut de la tâche"
}
}
},
"api": {
"modal": {
"createApiToken": {
"title": "Jeton API créé",
"description": "Le jeton API a été créé. Attention, ce jeton est chiffré dans la base de données et ne sera plus jamais transféré à vous. Si vous perdez ce jeton, vous ne pourrez plus récupérer ce jeton spécifique.",
"button": "Copier et fermer"
}
},
"tab": {
"documentation": {
"label": "Documentation"
},
"apiKey": {
"label": "Authentification",
"title": "Clés API",
"button": {
"createApiToken": "Créer un jeton API"
},
"modal": {
"delete": {
"title": "Supprimer le jeton API",
"text": "Ceci supprimera définitivement le jeton API. Les clients API utilisant ce jeton ne peuvent plus s'authentifier et effectuer des requêtes API. Cette action ne peut pas être annulée."
}
},
"table": {
"header": {
"createdBy": "Créé par",
"actions": "Actions"
}
}
},
"mcp": {
"label": "",
"title": "",
"subtitle": "",
"description": "",
"noApiKey": "",
"createApiKeyButton": "",
"endpoint": {
"title": ""
},
"authentication": {
"title": "",
"intro": "",
"apiKey": {
"title": "",
"description": ""
},
"oauth": {
"title": "",
"description": "",
"hint": ""
},
"permissions": ""
},
"clientConfig": {
"title": "",
"streamableHttp": {
"recommended": "",
"title": "",
"worksWith": "",
"addToConfig": "",
"cursor": "",
"claudeDesktop": "",
"claudeCode": "",
"vsCodeCopilot": "",
"replaceHint": ""
},
"stdio": {
"title": "",
"description": ""
}
},
"testConnection": {
"title": "",
"description": "",
"hint": ""
},
"availableTools": {
"title": "",
"description": "",
"filteredDescription": "Outils correspondants {count} dans les catégories étendues.",
"search": "Outils de recherche",
"noResults": {
"title": "Aucun outil ne correspond à cette recherche",
"description": "Aucun outil MCP ne correspond à \"{search}\". Essayez un espace de noms, un nom d'outil ou une description."
}
}
}
}
},
"backup": {
"title": "Sauvegarde complète de la base de données",
"metaTitle": "Sauvegarde et restauration",
"export": {
"title": "Exporter la base de données",
"description": "Téléchargez une sauvegarde complète de votre base de données SQLite incluant tous les paramètres, utilisateurs, tableaux de bord et secrets d'intégration chiffrés. La sauvegarde est regroupée dans un fichier ZIP avec la clé de chiffrement et les métadonnées.",
"button": "Télécharger la sauvegarde",
"error": "Échec de l'exportation",
"confirm": {
"title": "Exportation de données sensibles",
"warningTitle": "Cette exportation contient l'intégralité de votre base de données.",
"warningBody": "La sauvegarde comprend tous les utilisateurs, les secrets d'intégration (chiffrés), les clés API, les configurations de tableaux de bord et les données d'application. Stockez le fichier exporté en lieu sûr et ne le partagez pas.",
"submit": "Exporter la base de données"
}
},
"import": {
"title": "Restaurer la base de données",
"description": "Téléversez une sauvegarde ZIP précédemment exportée pour restaurer votre base de données. Cela remplacera l'intégralité de votre base de données. Si la sauvegarde a été créée avec une clé de chiffrement différente, les secrets seront automatiquement rechiffrés."
},
"restore": {
"dropzone": {
"title": "Déposez votre fichier ZIP de sauvegarde ici",
"description": "Accepte les fichiers .zip d'une sauvegarde SQLite Homarr (max 256 Mo)"
},
"analyzing": "Analyse de la sauvegarde...",
"changeFile": "Changer le fichier",
"continueToRestore": "Continuer vers la restauration",
"analysisError": "Erreur d'analyse",
"preview": {
"title": "Contenu de la sauvegarde",
"exported": "Exporté le {date}",
"entity": "Entité",
"count": "Nombre",
"entities": {
"item": "Widgets"
},
"migrationsApplied": "{count} migration appliquée",
"migrationsAppliedPlural": "{count} migrations appliquées",
"migrationsOlderVersion": "Cette sauvegarde provient d'une version plus ancienne de Homarr. {count} migration de schéma a été appliquée pour la mettre à jour.",
"migrationsOlderVersionPlural": "Cette sauvegarde provient d'une version plus ancienne de Homarr. {count} migrations de schéma ont été appliquées pour la mettre à jour.",
"migrationsUpToDate": "Le schéma de base de données est à jour ({count} migrations appliquées)",
"migrationsPending": "{count} en attente"
},
"migration": {
"title": "Application des migrations ({current}/{total})",
"migrationLabel": "Migration {index}"
},
"confirm": {
"title": "Action destructive",
"warningTitle": "Cela remplacera définitivement l'intégralité de votre base de données.",
"warningBody": "Tous les tableaux, utilisateurs, applications, intégrations, paramètres et sessions actuels seront perdus. Cette action est irréversible. L'application redémarrera après la restauration.",
"submit": "Restaurer la base de données"
},
"progress": {
"title": "Restauration de la base de données...",
"restarting": "Redémarrage du serveur",
"relogin": "Restauration de la base de données invalidée de votre session actuelle. Homarr vous enverra la connexion lorsque le serveur sera prêt."
},
"complete": {
"title": "Restauration terminée",
"message": "La base de données a été restaurée avec succès. Le serveur redémarre — veuillez rafraîchir la page dans quelques secondes.",
"button": "Connectez-vous maintenant"
},
"timeout": {
"title": "Le serveur n'est pas revenu en ligne",
"message": "La restauration de la base de données est terminée, mais Homarr n'est plus prêt. Réessayez la vérification de connexion ou actualisez cette page manuellement."
},
"failed": {
"title": "Échec de la restauration"
},
"invalidMissingMetadata": "Sauvegarde invalide : metadata.json manquant",
"invalidMissingDb": "Sauvegarde invalide : db.sqlite manquant",
"analyzeError": "Échec de l'analyse de la sauvegarde"
},
"confirm": {
"typePrompt": "Tapez \"{phrase}\" pour continuer"
}
}
},
"about": {
"version": "Version {version}",
"text": "Homarr est un projet open source axé sur la communauté qui est maintenu par des volontaires. Grâce à ces personnes, Homarr est un projet en pleine expansion depuis 2021. Notre équipe travaille à distance depuis plusieurs pays différents sur Homarr, dans leur temps libre et sans aucune compensation.",
"accordion": {
"contributors": {
"title": "Contributeur/trices",
"subtitle": "{count} mainteneurs de code & de Homarr"
},
"translators": {
"title": "Traducteurs",
"subtitle": "{count} ont contribué à des traductions dans de nombreuses langues"
},
"sponsors": {
"title": "Commanditaires",
"subtitle": "{count} soutiens financiers pour le projet"
},
"libraries": {
"title": "Bibliothèques",
"subtitle": "{count} utilisés dans le Code d'Homarr"
},
"hotkeys": {
"title": "Raccourcis clavier",
"subtitle": "Raccourcis clavier pour améliorer votre flux de travail",
"field": {
"shortcut": "Raccourci",
"action": "Action"
},
"action": {
"toggleBoardEdit": "Activer/désactiver le mode d'édition du tableau",
"toggleColorScheme": "Basculer en mode clair/sombre",
"saveNotebook": "Enregistrer le bloc-notes (uniquement à l'intérieur du widget notebook)",
"openSpotlight": "Ouvrir la recherche",
"openSpotlightApps": "Ouvrir la recherche d'application",
"openSpotlightAssistant": "Ouvrir le mode Assistant",
"openSpotlightPreferences": "Ouvrir le mode de préférences",
"openAssistant": "Ouvrir l'assistant"
},
"note": "Astuce : Mod correspond à la touche Ctrl ou ⌘ sur macOS"
}
}
}
}
},
"docker": {
"title": "Conteneurs",
"reconciliation": {
"title": "Configuration assistée de Docker",
"suggestions": "{count, plural, =0 {Aucune suggestion} one {# suggestion} other {# suggestions}}",
"attention": "{count} a besoin d'attention",
"endpointUnavailable": "Certains services n'ont pas pu être vérifiés car ces terminaux ne sont pas disponibles : {names}",
"empty": "Aucun service Docker visible n'a été trouvé.",
"emptyFilter": "Aucun service ne correspond à cette vue.",
"ambiguous": "Plus d'un élément existant pourrait correspondre à ce service. Homarr n'en choisira pas un automatiquement.",
"filter": {
"attention": "A besoin d'attention",
"represented": "Déjà configuré",
"all": "Tout"
},
"state": {
"newRecognized": "Prêt à se connecter",
"newApp": "Nouveau service",
"represented": "Déjà représenté",
"linked": "Lié",
"moved": "Adresse modifiée"
},
"url": {
"manual": "Entrez une adresse manuellement"
},
"health": {
"layer": {
"docker": "Docker",
"integrationConfiguration": "Intégration",
"authentication": "Authentification",
"apiRequest": "API",
"appRepresentation": "Application",
"widgetConfiguration": "Widget",
"widgetQuery": "Requête de widget"
},
"status": {
"available": "Disponible",
"configured": "Configuré",
"linked": "Lié",
"missing": "Manquant",
"changed": "Modifié",
"unused": "Non utilisé",
"notApplicable": "Non applicable",
"notObserved": "Non observé"
}
},
"action": {
"review": "Aperçu",
"dismiss": "Refuser",
"restoreDismissed": "Restauration rejetée ({count})",
"setupIntegration": "Mettre en place l'intégration",
"reviewIntegration": "Revoir l'intégration",
"viewRepresentation": "Voir la configuration"
},
"loadError": {
"title": "L'assistant de configuration de Docker n'a pas pu être chargé",
"message": "Les informations du service Docker sont indisponibles. Réessayez sans quitter cette page."
}
},
"table": {
"updated": "Mis à jour {when}",
"refresh": {
"lastUpdated": ""
},
"search": "Rechercher dans {count} conteneurs",
"selected": "{selectCount} sur {totalCount} conteneurs sélectionnés",
"footer": "Total des conteneurs {count}",
"totalCpu": "",
"totalMemory": ""
},
"field": {
"state": {
"label": "État",
"option": {
"created": "Créé",
"running": "Exécution",
"paused": "En pause",
"restarting": "Redémarrage en cours",
"exited": "Quitté",
"removing": "Suppression en cours",
"dead": "Mort"
}
},
"stats": {
"memory": {
"label": "Mémoire"
}
},
"containerImage": {
"label": "Image"
},
"ports": {
"label": "Ports"
},
"host": {
"label": "Hôte"
}
},
"action": {
"title": "Actions",
"logs": {
"label": "Voir les journaux",
"page": {
"title": "Journaux de {name}"
}
},
"start": {
"label": "Début",
"notification": {
"success": {
"title": "Conteneurs démarrés",
"message": "Les conteneurs ont été démarrés avec succès"
},
"error": {
"title": "Conteneurs non démarrés",
"message": "Les conteneurs n'ont pas pu être démarrés"
}
}
},
"stop": {
"label": "Stop",
"notification": {
"success": {
"title": "Conteneurs arrêtés",
"message": "Les conteneurs ont été arrêtés avec succès"
},
"error": {
"title": "Conteneurs non arrêtés",
"message": "Les conteneurs n'ont pas pu être arrêtés"
}
}
},
"restart": {
"label": "Redémarrer",
"notification": {
"success": {
"title": "Conteneurs redémarrés",
"message": "Les conteneurs ont été redémarrés avec succès"
},
"error": {
"title": "Conteneurs non redémarrés",
"message": "Les conteneurs n'ont pas pu être redémarrés"
}
}
},
"remove": {
"confirm": "",
"confirmation": {
"title": "{count, plural, one {Enlever # conteneur?} other {Enlever # conteneurs?}}",
"message": "{count, plural, one {Cela enlève # conteneur en permanence: {names}} other {Cela enlève définitivement # conteneurs: {names}}}"
},
"notification": {
"success": {
"title": "Conteneurs supprimés",
"message": "Les conteneurs ont été supprimés avec succès"
},
"error": {
"title": "Conteneurs non supprimés",
"message": "Les conteneurs n'ont pas pu être supprimés"
}
}
},
"result": {
"failure": {
"title": "Certaines actions du conteneur ont échoué",
"message": "{total, plural, one {{failed} of # action failed : {names}} other {{failed} of # actions failed : {names}}}"
}
},
"refresh": {
"notification": {
"success": {
"title": "Conteneurs actualisés",
"message": "Vous visualisez maintenant les données les plus récentes"
},
"error": {
"title": "Conteneurs non actualisés",
"message": "Une erreur s'est produite lors de l'actualisation des conteneurs"
}
}
},
"addToHomarr": {
"label": "Ajouter à Homarr",
"notification": {
"success": {
"title": "Ajouté à Homarr",
"message": "Les applications sélectionnées ont été ajoutées à Homarr"
},
"error": {
"title": "Impossible d'ajouter à Homarr",
"message": "Les applications sélectionnées n'ont pas pu être ajoutées à Homarr"
}
},
"modal": {
"title": "Ajouter des conteneurs Docker à Homarr"
}
}
},
"error": {
"internalServerError": "Impossible de récupérer les conteneurs Docker",
"endpointUnavailable": "{count, plural, one {# Point de terminaison Docker indisponible : {names}} other {# Points de terminaison Docker indisponibles : {names}}}",
"noColumns": ""
}
},
"kubernetes": {
"context": {
"label": "Contexte Kubernetes",
"loadError": {
"title": "Les contextes Kubernetes n'ont pas pu être chargés",
"message": "Les informations de contexte sont indisponibles. Réessayez sans quitter cette page."
},
"status": {
"available": "Disponible",
"degraded": "Metrics unavailable",
"unavailable": "Unavailable"
},
"unavailable": "Ce contexte Kubernetes ne peut pas être atteint. Sélectionnez un autre contexte ou vérifiez ses identifiants et son extrémité.",
"metricsUnavailable": "Ce contexte est joignable, mais Metrics Server n'est pas disponible. L'inventaire reste disponible sans utilisation du CPU en direct et de la mémoire."
},
"cluster": {
"title": "Tableau de bord du cluster",
"label": "Cluster",
"providers": "Fournisseurs",
"version": "Version",
"capacity": {
"title": "Capacité",
"metricsUnavailable": "Le serveur Metrics n'est pas disponible. L'inventaire et la capacité réservée restent visibles, mais l'utilisation du CPU et de la mémoire ne peuvent pas être affichées.",
"resource": {
"reserved": "Réservé",
"used": "Utilisé"
}
},
"resources": {
"title": "Ressources",
"nodes": "Nœuds",
"namespaces": "Espaces de noms",
"ingresses": "Routes",
"services": "Services",
"pods": "Pods",
"configmaps": "ConfigMaps",
"secrets": "Secrets",
"volumes": "Volumes"
}
},
"nodes": {
"field": {
"metricsUnavailable": "Unavailable",
"kubernetesVersion": {
"label": "Version de Kubernetes"
}
},
"table": {
"search": "Rechercher dans {count} nœuds"
}
},
"namespaces": {
"table": {
"search": "Rechercher dans {count} espaces de noms"
}
},
"ingresses": {
"field": {
"className": {
"label": "Nom de la classe"
},
"rulesAndPaths": {
"label": "Règles & chemins"
}
},
"table": {
"search": "Rechercher dans {count} ingresses"
}
},
"services": {
"field": {
"ports": {
"label": "Ports"
},
"targetPorts": {
"label": "Ports cibles"
},
"clusterIP": {
"label": "IP du cluster"
}
},
"table": {
"search": "Rechercher dans {count} services"
}
},
"pods": {
"field": {
"image": {
"label": "Image"
},
"applicationType": {
"label": "Type d'Application"
}
},
"table": {
"search": "Rechercher dans {count} pods"
}
},
"secrets": {
"table": {
"search": "Rechercher dans {count} secrets"
}
},
"configmaps": {
"table": {
"search": "Rechercher dans {count} configMaps"
}
},
"volumes": {
"field": {
"accessModes": {
"label": "Modes d'accès"
},
"storage": {
"label": "Stockage"
},
"storageClassName": {
"label": "Nom de la classe de stockage"
},
"volumeMode": {
"label": "Mode du volume"
},
"volumeName": {
"label": "Nom du volume"
}
},
"table": {
"search": "Rechercher dans {count} volumes"
}
},
"error": {
"internalServerError": "Impossible de récupérer les données de Kubernetes"
},
"field": {
"name": {
"label": "Nom de la tâche"
},
"namespace": {
"label": "Espace de noms"
},
"creationTimestamp": {
"label": "Créé le"
},
"state": {
"label": "État de la tâche"
},
"status": {
"label": "Statut"
},
"type": {
"label": "Type de client de téléchargement"
},
"architecture": {
"label": "Architecture"
}
}
},
"permission": {
"title": "Permissions",
"userSelect": {
"title": "Ajouter une permission utilisateur"
},
"groupSelect": {
"title": "Ajouter une permission de groupe"
},
"tab": {
"user": "Utilisateurs",
"group": "Groupes",
"inherited": "Groupes hérités"
},
"field": {
"user": {
"label": "Utilisateur"
},
"group": {
"label": "Groupe"
},
"permission": {
"label": "Permission"
}
},
"action": {
"saveUser": "Enregistrer la permission utilisateur",
"saveGroup": "Enregistrer la permission du groupe"
}
},
"navigationStructure": {
"manage": {
"label": "Gérer",
"custom-widgets": {
"edit": {
"flow": {
"label": ""
}
},
"workshop": {
"label": "Atelier"
},
"publish": {
"label": "Publier dans l'atelier"
}
},
"users": {
"general": "Général",
"security": "Sécurité"
},
"tools": {
"label": "Outils",
"kubernetes": {
"nodes": {
"label": "Nœuds"
},
"namespaces": {
"label": "Espaces de noms"
},
"ingresses": {
"label": "Routes"
},
"services": {
"label": "Services"
},
"pods": {
"label": "Pods"
},
"configmaps": {
"label": "ConfigMaps"
},
"secrets": {
"label": "Secrets"
},
"volumes": {
"label": "Volumes"
}
},
"certificates": {
"hostnames": {
"label": "Noms d'hôtes"
}
}
},
"settings": {
"label": "Paramètres"
},
"about": {
"label": "À propos"
},
"assistant": {
"label": "Assistant"
}
}
},
"search": {
"placeholder": "Rechercher quelque chose",
"nothingFound": "Aucun résultat",
"modePicker": {
"search": {
"label": "Rechercher",
"placeholder": "Rechercher des applications, des tableaux, des pages, des commandes et des préférences"
},
"apps": {
"label": "Apps",
"placeholder": "Rechercher des applications, des tableaux et des intégrations"
},
"command": {
"label": "Commandes",
"placeholder": "Rechercher des actions et des commandes"
},
"preferences": {
"label": "Préférences",
"placeholder": "Rechercher et modifier les préférences"
},
"assistant": {
"label": "Assistant",
"placeholder": "Demander à l'assistant"
},
"external": {
"label": "Web",
"placeholder": "Rechercher avec un moteur de recherche externe"
},
"media": {
"label": "Média",
"placeholder": "Rechercher un film ou une série",
"fallback": "Rechercher dans les médias \"{query}\""
},
"userGroup": {
"label": "Personnes",
"placeholder": "Rechercher des utilisateurs et des groupes"
},
"continueWith": "Continuer avec",
"dialogAriaLabel": "Menu de commande {mode}",
"navigationLabel": "Modes de recherche",
"modeAriaLabel": "Mode {mode}",
"resultsAriaLabel": "Résultats {mode}",
"footer": {
"navigate": "Navigate",
"open": "Ouvert",
"close": "Fermer"
}
},
"error": {
"fetch": "Une erreur s'est produite lors de la récupération des données"
},
"mode": {
"appIntegrationBoard": {
"help": "Rechercher des applications, des intégrations ou des tableaux",
"group": {
"app": {
"children": {
"action": {
"open": {
"label": "Ouvrir l'url de l'application"
},
"edit": {
"label": "Modifier l'application"
}
},
"detail": {
"title": "Sélectionnez une action pour l'application"
}
}
},
"board": {
"children": {
"action": {
"open": {
"label": "Ouvrir le tableau"
},
"homeBoard": {
"label": "Définir comme votre tableau d'accueil"
},
"mobileBoard": {
"label": "Définir comme votre tableau mobile"
},
"settings": {
"label": "Ouvrir les paramètres"
}
},
"detail": {
"title": "Sélectionnez une action pour le tableau"
}
}
}
}
},
"command": {
"help": "Activer le mode commande",
"group": {
"localCommand": {
"title": "Commandes locales"
},
"globalCommand": {
"title": "Commandes globales",
"option": {
"colorScheme": {
"auto": "Basculer le mode d'apparence",
"light": "Activer le mode clair",
"dark": "Activer le mode sombre"
},
"language": {
"label": "Changer la langue",
"children": {
"detail": {
"title": "Sélectionnez votre langue de préférence"
}
}
},
"newBoard": {
"label": "Créer un nouveau tableau"
},
"newApp": {
"label": "Créer une nouvelle application"
},
"newIntegration": {
"label": "Créer une nouvelle intégration",
"children": {
"detail": {
"title": "Sélectionnez le type d'intégration que vous souhaitez créer"
}
}
},
"newUser": {
"label": "Créer un nouvel utilisateur"
},
"newInvite": {
"label": "Créer une nouvelle invitation"
},
"newGroup": {
"label": "Créer un nouveau groupe"
}
}
},
"preferences": {
"title": "Préférences",
"children": {
"detail": {
"title": "Sélectionnez une préférence à modifier",
"backHint": "Appuyez sur Retour arrière ou utilisez le bouton retour pour revenir en arrière",
"backAction": "Retour"
}
},
"notification": {
"error": {
"message": "Impossible de mettre à jour la préférence"
}
},
"option": {
"preferences": {
"label": "Ouvrir les préférences"
},
"boolean": {
"enabled": "Activé",
"disabled": "Désactivé"
},
"board": {
"none": "Aucun",
"unavailable": "Actuellement sélectionné (indisponible)"
},
"searchEngine": {
"none": "Aucun",
"unavailable": "Actuellement sélectionné (indisponible)"
},
"colorScheme": {
"label": "Thème de couleurs",
"children": {
"detail": {
"title": "Sélectionnez votre thème de couleurs"
}
}
},
"locale": {
"label": "Langue",
"children": {
"detail": {
"title": "Sélectionnez votre langue préférée"
}
}
},
"defaultSearchEngineId": {
"children": {
"detail": {
"title": "Sélectionnez votre moteur de recherche par défaut"
}
}
},
"openSearchInNewTab": {
"children": {
"detail": {
"title": "Ouvrir les résultats de recherche dans un nouvel onglet"
}
}
},
"ddgBangs": {
"children": {
"detail": {
"title": "Activer les bangs DuckDuckGo"
}
}
},
"firstDayOfWeek": {
"label": "Premier jour de la semaine",
"children": {
"detail": {
"title": "Sélectionnez le premier jour de la semaine"
}
}
},
"byteUnitSystem": {
"children": {
"detail": {
"title": "Sélectionnez vos unités de taille de données"
}
}
},
"homeBoardId": {
"label": "Tableau de bord d'accueil",
"children": {
"detail": {
"title": "Sélectionnez votre tableau de bord d'accueil"
}
}
},
"mobileHomeBoardId": {
"label": "Tableau de bord d'accueil mobile",
"children": {
"detail": {
"title": "Sélectionnez votre tableau de bord d'accueil mobile"
}
}
},
"pingIconsEnabled": {
"children": {
"detail": {
"title": "Utiliser les icônes pour les pings"
}
}
},
"enableRightClickOnWidgets": {
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": "Ouvrir la page complète des préférences"
}
}
}
}
},
"media": {
"help": "Rechercher des films ou séries à demander",
"requestMovie": "Demander un film",
"requestSeries": "Demander une série",
"openIn": "Ouvrir dans {kind}",
"group": {
"title": "Films et séries"
},
"action": {
"search": {
"label": "Rechercher des films ou séries",
"description": "Commencez à taper pour rechercher vos intégrations de demande de médias",
"disabled": {
"noIntegration": "Ajoutez une intégration Overseerr, Jellyseerr ou Seerr pour activer la recherche de médias.",
"signInRequired": "Connectez-vous pour rechercher des intégrations de demandes multimédia.",
"scoped": "Ce widget n'a pas d'intégration de demande de médias accessible."
}
}
},
"availability": {
"available": "Disponible",
"partiallyAvailable": "Partiel",
"processing": "Traitement en cours",
"requested": "Demandé",
"pending": "Demandé"
}
},
"external": {
"help": "Utiliser un moteur de recherche externe",
"group": {
"searchEngine": {
"tipDdgBangs": "Astuce : Vous pouvez également utiliser ici n'importe quel bang DuckDuckGo, par ex. !quelquechose",
"bang": {
"searchWithQuery": "Rechercher \"{query}\" avec {label}",
"pressEnterToOpen": "Appuyez sur Entrée pour ouvrir",
"engineSelected": "{label} sélectionné (!{bang})",
"typeQueryToContinue": "Tapez votre requête de recherche pour continuer",
"emptyBangHint": "Tapez un bang, par ex. !yt, puis appuyez sur Espace pour sélectionner"
},
"children": {
"action": {
"search": {
"label": "Rechercher avec {name}"
}
},
"detail": {
"title": "Sélectionnez une action pour le moteur de recherche"
},
"searchResults": {
"title": "Sélectionnez un résultat de recherche pour les actions"
}
},
"option": {
"google": {
"name": "Google",
"description": "Rechercher sur le Web avec Google"
},
"bing": {
"name": "Bing",
"description": "Rechercher sur le web avec Bing"
},
"duckduckgo": {
"name": "DuckDuckGo",
"description": "Rechercher sur le web avec DuckDuckGo"
},
"torrent": {
"name": "Torrents",
"description": "Rechercher des torrents sur torrentdownloads.pro"
},
"youTube": {
"name": "YouTube",
"description": "Cherchez une vidéo sur YouTube"
}
}
}
}
},
"help": {
"group": {
"mode": {
"title": "Modes"
}
}
},
"home": {
"group": {
"search": {
"title": "Rechercher",
"option": {
"other": {
"label": "Rechercher avec un autre moteur de recherche"
},
"no-engines": {
"label": "Aucun moteur de recherche configuré",
"descriptionCreate": "Ajouter un moteur de recherche à partir du menu de commandes",
"descriptionUnavailable": "Demandez à un administrateur de configurer un moteur de recherche"
},
"search": {
"label": "Rechercher «{query}» avec {name}"
},
"from-integration": {
"description": "Commence à taper pour chercher"
}
}
},
"local": {
"title": "Résultats locaux"
}
}
},
"page": {
"help": "Rechercher des pages",
"group": {
"page": {
"title": "Pages",
"option": {
"manageHome": {
"label": "Gérer la page d'accueil"
},
"manageBoard": {
"label": "Gérer les tableaux"
},
"manageApp": {
"label": "Gérer les applications"
},
"manageIntegration": {
"label": "Gérer les intégrations"
},
"manageSearchEngine": {
"label": "Gérer les moteurs de recherche"
},
"manageMedia": {
"label": "Gérer les médias"
},
"manageUser": {
"label": "Gérer les utilisateurs"
},
"manageInvite": {
"label": "Gérer les invitations"
},
"manageGroup": {
"label": "Gérer les groupes"
},
"manageDocker": {
"label": "Gérer Docker"
},
"manageApi": {
"label": "Gérer l'API"
},
"manageLog": {
"label": "Voir les journaux"
},
"manageTask": {
"label": "Gérer les Tâches"
},
"manageSettings": {
"label": "Paramètres généraux"
},
"about": {
"label": "À propos"
},
"homeBoard": {
"label": "Tableau de bord"
},
"preferences": {
"label": "Vos préférences"
}
}
}
}
},
"userGroup": {
"help": "Rechercher des utilisateurs ou des groupes",
"group": {
"user": {
"children": {
"action": {
"detail": {
"label": "Afficher les détails de l’utilisateur"
}
},
"detail": {
"title": "Sélectionnez une action pour l'utilisateur"
}
}
},
"group": {
"children": {
"action": {
"detail": {
"label": "Afficher les détails du groupe"
},
"manageMember": {
"label": "Gérer les membres"
},
"managePermission": {
"label": "Gérer les permissions"
}
},
"detail": {
"title": "Sélectionnez une action pour le groupe"
}
}
}
}
}
},
"engine": {
"search": "Trouver un moteur de recherche",
"field": {
"short": {
"label": "Court"
},
"urlTemplate": {
"label": "Modèle de recherche d'URL"
},
"description": {
"label": "Description"
}
},
"page": {
"list": {
"ariaLabel": "Moteurs de recherche configurés",
"noResults": {
"title": "Il n'y a pas encore de moteur de recherche",
"description": "Les moteurs de recherche permettent à Spotlight d'envoyer une requête à un site ou à un service connecté.",
"action": "Créez votre premier moteur de recherche",
"filteredTitle": "Aucun moteur de recherche ne correspond à votre recherche",
"filteredDescription": "Aucun moteur de recherche ne correspond à \"{search}\". Essayez un autre nom ou une autre URL."
},
"interactive": "Interactif, utilise une intégration",
"type": {
"generic": "Modèle d'URL",
"fromIntegration": "Intégration"
}
},
"create": {
"title": "Nouveau moteur de recherche",
"notification": {
"success": {
"title": "Moteur de recherche créé",
"message": "Le moteur de recherche a été créé avec succès"
},
"error": {
"title": "Moteur de recherche non créé",
"message": "Le moteur de recherche n'a pas pu être créé"
}
}
},
"edit": {
"title": "Modifier un moteur de recherche",
"notification": {
"success": {
"message": "Le moteur de recherche a été enregistré avec succès"
},
"error": {
"message": "Le moteur de recherche n'a pas pu être enregistré"
}
},
"configControl": "Configuration",
"searchEngineType": {
"generic": "Générique",
"fromIntegration": "À partir de l'intégration"
}
},
"delete": {
"title": "Supprimer le moteur de recherche",
"message": "Êtes-vous sûr(e) de vouloir supprimer le moteur de recherche {name}?",
"notification": {
"success": {
"title": "Moteur de recherche supprimé",
"message": "Le moteur de recherche a été supprimé avec succès"
},
"error": {
"title": "Moteur de recherche non supprimé",
"message": "Le moteur de recherche n'a pas pu être supprimé"
}
}
}
},
"media": {
"request": {
"modal": {
"title": "Demander \"{name}\"",
"table": {
"header": {
"season": "Saison",
"episodes": "Épisodes",
"status": "État"
},
"status": {
"requested": "Demandé"
}
},
"button": {
"send": "Envoyer la demande"
}
}
}
}
}
},
"certificate": {
"field": {
"hostname": {
"label": "Nom d'Hôte"
},
"subject": {
"label": "Sujet"
},
"issuer": {
"label": "Émetteur"
},
"validFrom": {
"label": "Valable à partir du"
},
"validTo": {
"label": "Valable jusqu'au"
},
"serialNumber": {
"label": "Numéro de série"
},
"fingerprint": {
"label": "Empreinte"
}
},
"page": {
"list": {
"title": "Certificats de confiance",
"description": "Utilisé par Homarr pour demander les données des intégrations.",
"noResults": {
"title": "Il n'y a pas encore de certificats"
},
"invalid": {
"title": "Certificat invalide",
"description": "Impossible d'analyser le certificat"
},
"expires": "Expire le {when}",
"toHostnames": "Noms d'hôtes de confiance"
},
"hostnames": {
"title": "Noms d'hôtes de certificat de confiance",
"description": "Certains certificats ne permettent pas au domaine spécifique que Homarr utilise pour les demander, à cause de cela, tous les noms d'hôtes de confiance avec leurs vignettes de certificat sont utilisés pour contourner ces restrictions.",
"noResults": {
"title": "Il n'y a pas encore de noms d'hôtes"
},
"toCertificates": "Certificats"
}
},
"action": {
"create": {
"label": "Ajouter un certificat",
"notification": {
"success": {
"title": "Certificat ajouté",
"message": "Le certificat a été ajouté avec succès"
},
"error": {
"title": "Impossible d'ajouter le certificat",
"message": "Le certificat n'a pas pu être ajouté"
}
}
},
"remove": {
"label": "Supprimer le certificat",
"confirm": "Êtes-vous sûr de vouloir supprimer le certificat ?",
"notification": {
"success": {
"title": "Certificat supprimé",
"message": "Le certificat a été supprimé avec succès"
},
"error": {
"title": "Certificat non supprimé",
"message": "Le certificat n'a pas pu être supprimé"
}
}
},
"removeHostname": {
"label": "Supprimer le nom d'hôte de confiance",
"confirm": "Êtes-vous sûr de vouloir supprimer ce nom d'hôte de confiance ? Cela peut empêcher certaines intégrations de fonctionner.",
"notification": {
"success": {
"title": "Nom d'hôte supprimé",
"message": "Le nom d'hôte a été supprimé avec succès"
},
"error": {
"title": "Nom d'hôte non supprimé",
"message": "Le nom d'hôte n'a pas pu être supprimé"
}
}
}
}
},
"log": {
"context": {
"widgetError": "Widget a signalé une erreur à ce moment-là",
"expiredWidgetError": "Les logs autour de cette erreur de widget ne sont plus conservés"
},
"level": {
"option": {
"debug": "Débogage",
"info": "Information",
"warn": "Avertissement",
"error": "Erreur"
}
}
},
"onboardingTour": {
"learnMore": "Lire la documentation",
"prev": "Retour",
"done": "Terminé",
"skip": "Passer la visite",
"manage": {
"welcome": {
"title": "Bienvenue sur Homarr !",
"description": "Ceci est votre centre de contrôle. De là, vous gérez les tableaux de bord, les applications, les intégrations, les utilisateurs et les paramètres du serveur. Faisons une visite de chaque section."
},
"boardsList": {
"title": "Vos tableaux de bord",
"description": "Voici tous vos tableaux de bord. Chaque tableau a sa propre disposition, son arrière-plan et ses paramètres d'accès. Vous pouvez voir qui a créé chacun et s'il est public ou privé."
},
"boardsCreate": {
"title": "Créer un tableau de bord",
"description": "Cliquez ici pour créer un nouveau tableau de bord ou en importer un depuis une installation Homarr précédente. Chaque tableau obtient sa propre URL que vous pouvez partager."
},
"appsList": {
"title": "Vos applications",
"description": "Ce sont toutes les applications que vous avez ajoutées — des liens vers vos services auto-hébergés. Chaque application a une icône, une vérification de santé optionnelle et un badge d'état sur le tableau de bord."
},
"appsCreate": {
"title": "Ajouter une application",
"description": "Enregistrez un nouveau service ici. Donnez-lui un nom, une URL et une icône — il apparaîtra comme une tuile sur vos tableaux avec une surveillance de l'état en direct."
},
"integrationsList": {
"title": "Vos intégrations",
"description": "Ce sont les services connectés à Homarr — Sonarr, Radarr, Plex, Jellyfin et plus de 50 autres. Toutes les informations d'identification sont chiffrées."
},
"integrationsCreate": {
"title": "Ajouter une intégration",
"description": "Connectez un nouveau service ici. Choisissez le type, entrez l'URL et la clé API — Homarr valide la connexion avant d'enregistrer."
},
"usersList": {
"title": "Vos utilisateurs",
"description": "Voyez tous ceux qui ont accès. Organisez les utilisateurs en groupes et contrôlez qui peut voir ou modifier chaque tableau."
},
"usersCreate": {
"title": "Créer un utilisateur",
"description": "Ajoutez un nouveau compte utilisateur ici. Vous pouvez également utiliser des liens d'invitation pour une intégration facile. C'est la fin de la visite — vous êtes prêt !"
}
},
"board": {
"welcome": {
"title": "Ceci est votre tableau de bord",
"description": "Un tableau de bord par glisser-déposer où vous organisez les applications et les widgets. Appuyez sur Ctrl+K à tout moment pour rechercher des applications, des tableaux et des actions."
},
"editMode": {
"title": "Mode édition",
"description": "Cliquez ici pour entrer en mode édition. Vous pourrez ensuite ajouter des widgets, des applications et des sections — faites glisser pour repositionner, redimensionnez avec la poignée d'angle. Cliquez à nouveau pour enregistrer vos modifications."
},
"settings": {
"title": "Paramètres du tableau de bord",
"description": "Modifiez le nom, les colonnes, l'arrière-plan, les couleurs de ce tableau et qui peut y accéder. Chaque tableau peut être public ou privé."
},
"switcher": {
"title": "Changer de tableau de bord",
"description": "Passez d'un tableau à l'autre. Créez des tableaux de bord distincts pour différents usages — médias, réseau, par utilisateur, ou tout ce que vous voulez."
},
"userMenu": {
"title": "Votre profil",
"description": "Changez votre thème de couleurs, votre langue, votre tableau d'accueil et vos préférences. Vous pouvez également accéder à la zone de gestion depuis ici."
}
}
},
"metadata": {
"description": "Un tableau de bord auto-hébergé pour la pile *arr et votre maison entière. Intègre avec plus de 50 services, des widgets en temps réel, pas de fichiers de configuration.",
"dashboardTitle": "Tableau de bord {appName}"
},
"assistant": {
"title": "Assistant",
"open": "Ouvrir l'assistant",
"close": "Fermer l'assistant",
"minimize": "Réduire l'assistant",
"spotlight": "Demander à l'assistant",
"spotlightDescription": "Tapez et envoyez une invite sans quitter le menu de commande.",
"spotlightPrompt": {
"title": "Demander à l'assistant",
"description": "Tapez une invite ci-dessus. Entrée l'envoie en arrière-plan.",
"send": "Envoyer l'invite",
"empty": "Tapez une invite ci-dessus"
},
"unavailable": {
"checking": "Vérification de la disponibilité de l'assistant…",
"error": "La disponibilité de l'assistant n'a pas pu être vérifiée. Veuillez réessayer.",
"notConfigured": "Un administrateur doit d'abord configurer et activer l'assistant.",
"signIn": "Connectez-vous pour utiliser l'Assistant."
},
"newConversation": "Nouvelle conversation",
"conversations": "Conversations",
"conversationActions": "Actions de conversation",
"searchConversations": "Rechercher des conversations",
"noMatchingConversations": "Aucune conversation correspondante",
"moreActions": "Plus d'actions de réponse",
"renameConversation": {
"action": "Renommer",
"label": "Nom de la conversation",
"save": "Enregistrer le nom",
"failedTitle": "La conversation n'a pas pu être renommée",
"failedDescription": "Homarr n'a pas pu renommer cette conversation. Réessayez."
},
"deleteConversation": {
"title": "Supprimer la conversation ?",
"description": "«{title}» et ses messages seront supprimés définitivement.",
"failedTitle": "La conversation n'a pas pu être supprimée",
"failedDescription": "Homarr n'a pas pu supprimer cette conversation. Réessayez."
},
"closeHistory": "Fermer l'historique de la conversation",
"openHistory": "Ouvrir l'historique des conversations",
"emptyTitle": "Que puis-je aider ?",
"emptyDescription": "Demandez à propos de votre installation d'Homarr, inspectez les données de l'instance en direct, ou approuvez les actions lorsque vous voulez que je fasse un changement.",
"suggestions": {
"health": {
"label": "Vérifier la santé du service",
"prompt": "Vérifiez mes intégrations et résumez tout ce qui a besoin d'attention."
},
"explore": {
"label": "Explorer mon Homarr",
"prompt": "Montrez-moi ce que je peux voir et gérer dans cette instance Homarr."
},
"media": {
"label": "Trouver les médias à demander",
"prompt": "Aidez-moi à trouver un film ou une série à demander."
},
"style": {
"label": "Améliorer un tableau de bord",
"prompt": "Aidez-moi à améliorer l'apparence d'un tableau ou un CSS personnalisé. Montrez-moi d'abord mes tableaux, puis préservez mes paramètres actuels pendant que nous faisons le changement."
},
"designWidget": {
"label": "Concevoir un widget",
"prompt": "Créer et installer un widget personnalisé pour "
}
},
"composerPlaceholder": "Demander à l'assistant…",
"runtime": {
"model": "Modélisation",
"searchModels": "Rechercher des modèles",
"noModels": "Aucun modèle disponible",
"otherModels": "Autres modèles",
"imageInput": "Accepte la saisie de l'image",
"thinking": "Mode de pensée",
"reasoning": {
"auto": "Auto",
"none": "Désactivé",
"minimal": "Minimal",
"low": "Bas",
"medium": "Moyen",
"high": "Élevé"
}
},
"providerQuota": {
"title": "Fournisseur Homarr",
"communityWorkshop": "Atelier communautaire",
"dailyAllowance": "Requêtes journalières",
"remainingLabel": "{remaining} requêtes de fournisseur Homarr restantes sur {limit}",
"loading": "Chargement de l'allocation du fournisseur Homarr",
"signInRequired": "Connexion à l'atelier requise pour le fournisseur Homarr",
"signInDescription": "Connectez-vous avec GitHub via l'Atelier Communautaire pour recevoir votre allocation journalière séparée.",
"exhaustedDescription": "Votre autorisation de fournisseur Homarr est utilisée pour aujourd'hui. Elle se réinitialise à minuit UTC.",
"unavailableDescription": "Connectez-vous à l'Atelier ou attendez que votre allocation de fournisseur Homarr soit réinitialisée.",
"signIn": "Se connecter avec GitHub",
"signInError": "La connexion à GitHub a échoué. Réessayez dans un instant.",
"loadError": "L'autorisation de fournisseur Homarr n'a pas pu être chargée.",
"reset": "Réinitialise {relative} à <time></time>",
"toolCalls": "Chaque demande de modèle et chaque appel d'outil complété utilise une demande.",
"retry": "Recharger l'allocation",
"level": {
"ok": "OK",
"warning": "Avertissement",
"bad": "Bas",
"dead": "Utilisé"
}
},
"stop": "Arrêter la réponse",
"send": "Envoyer un message",
"copy": "Copier la réponse",
"copyMessage": "Copier le message",
"editMessage": "Modifier le message",
"updateMessage": "Message de mise à jour",
"regenerate": "Régénérer la réponse",
"helpful": "Utile",
"notHelpful": "Non utile",
"readAloud": "Lire la réponse à haute voix",
"stopReading": "Arrêter la lecture de la réponse",
"feedbackError": "Votre commentaire n'a pas pu être enregistré. Veuillez réessayer.",
"exportMarkdown": "Exporter en tant que Markdown",
"exportConversation": {
"action": "Exporter la conversation en tant que Markdown",
"failedTitle": "La conversation n'a pas pu être exportée",
"failedDescription": "Homarr n'a pas pu charger cette conversation. Réessayez."
},
"reasoning": "Penser",
"previousResponse": "Réponse précédente",
"nextResponse": "Réponse suivante",
"removeAttachment": "Supprimer la pièce jointe",
"downloadFile": "Télécharger {name}",
"attachedImage": "Image attachée",
"externalImageBlocked": "Image externe bloquée pour confidentialité",
"image": {
"loading": "Chargement de l'image",
"failed": "Cette image n'a pas pu être chargée.",
"retry": "Réessayez l'image"
},
"quoteSelection": "Devis",
"dismissQuote": "Supprimer le devis",
"attachments": {
"add": "Joindre une image ou un document",
"errorTitle": "La pièce jointe n'a pas pu être ajoutée",
"imageUnsupported": "Le modèle sélectionné ne prend pas en charge l'entrée de l'image."
},
"mentions": {
"menu": "Ajouter un contexte Homarr",
"context": "Contexte",
"app": "Apps",
"integration": "Intégrations",
"board": "Tableaux de bord",
"widget": "Widgets",
"tools": "Outils disponibles"
},
"markdown": {
"diagram": "Schéma",
"renderingDiagram": "Rendu du diagramme…",
"diagramUnavailable": "Ce diagramme n'a pas pu être affiché."
},
"commands": {
"menu": "Commandes de l'assistant",
"health": "Préparer un test de santé de service",
"explore": "Préparer un aperçu de cette instance d'Homarr",
"media": "Préparer une recherche de média",
"style": "Préparer une apparence de tableau ou un changement CSS personnalisé",
"designWidget": "Préparez une construction de Widget personnalisé à une seule invite"
},
"usage": {
"tokens": "jetons",
"contextWindow": "Fenêtre de contexte",
"requestDetails": "Détails de la demande",
"used": "Dernière étape",
"remaining": "Restant",
"capacity": "Capacité",
"input": "Entrée",
"output": "Sortie",
"cached": "Entrée mise en cache",
"cacheWrite": "Écriture du cache",
"reasoning": "Raisonnement",
"inputShort": "dans",
"outputShort": "Sortie",
"cachedShort": "mis en cache",
"reasoningShort": "raisonnement",
"firstOutput": "Première sortie",
"homarrTiming": "Homarr observé",
"endToEnd": "De bout en bout",
"observedThroughput": "débit observé",
"providerTiming": "Fournisseur signalé",
"loadingProviderDetails": "Chargement des détails de génération…",
"providerDetailsPending": "OpenRouter est toujours en train de traiter certains détails de génération. Réouvrez-le pour réessayer.",
"providerLatency": "latence du fournisseur",
"generationTime": "Temps de génération",
"moderationLatency": "Modération",
"providerThroughput": "débit du fournisseur",
"fallbacks": "Rétro-retour",
"fallbackLatency": "latence de repli",
"cacheDiscount": "Remise sur le cache",
"normalizedTokens": "Entrée / sortie normalisée OpenRouter",
"byok": "Au revoir",
"cost": "Coûts",
"reported": "Signalé par le fournisseur",
"estimated": "Estimé à partir de la tarification du modèle",
"upstreamCost": "Inférence amont",
"webSearches": "Recherches Web",
"finishReason": "Raison de la fin",
"notReported": "Non signalé",
"agentSteps": "Étapes de l'agent",
"step": "Étape {number}",
"generation": "Générer"
},
"toolInput": "Entrée",
"toolOutput": "Sortie",
"toolActivity": {
"iconSearch": "Recherche d'icônes «{query}»",
"iconBrowse": "Parcourir les icônes disponibles"
},
"toolNavigation": {
"openPreview": "Ouvrir l'aperçu",
"openWidget": "Ouvrir le widget"
},
"webSearch": {
"title": "Recherche sur le Web",
"completed": "OpenRouter a recherché cette réponse sur le web en direct.",
"searches": "{count, plural, one {# recherche} other {# recherche}}",
"sources": "{count, plural, one {# source} other {# sources}}"
},
"responseError": {
"title": "L'assistant n'a pas pu terminer",
"description": "Réessayez. Si le problème persiste, demandez à un administrateur de vérifier le point de terminaison du modèle configuré."
},
"toolPreparationError": {
"title": "Cette demande n'a pas pu être préparée",
"description": "Le modèle s'est arrêté avant de fournir des détails complets. Réessayez la réponse ou décrivez la demande à nouveau. Aucune modification n'a été faite."
},
"busy": {
"title": "L'assistant fonctionne déjà",
"description": "Attendez la réponse en cours ou ouvrez-la pour arrêter l'exécution."
},
"pendingAction": {
"answerTitle": "Réponse nécessaire",
"answerFallback": "Choisissez une réponse pour continuer",
"formTitle": "Vérifier les détails de l'application",
"boardFormTitle": "Examiner les modifications du tableau",
"review": "Aperçu",
"sendBlocked": "Résoudre la demande en attente avant l'envoi"
},
"activity": {
"thinking": "L'assistant pense",
"working": "Travailler sur votre invite",
"ready": "Réponse prête",
"completed": "Ouvrir la réponse",
"approval": "Approbation nécessaire",
"failed": "L'assistant a besoin d'attention",
"expand": "Ouvrir la réponse de l'assistant",
"dismiss": "Rejeter l'activité de l'assistant"
},
"scrollToLatest": "Défiler vers la dernière fois",
"refresh": {
"action": "Rafraîchir la vue actuelle",
"working": "Rafraîchissement de la vue actuelle",
"completeTitle": "Vue actualisée",
"completeDescription": "Les données d'Homarr visibles ont été rechargées.",
"failedTitle": "La vue n'a pas pu être actualisée",
"failedDescription": "La modification peut encore être enregistrée. Réessayez l'action de rafraîchissement."
},
"askUser": {
"preparing": "Préparation de la question",
"answered": "Votre réponse",
"other": "Autre",
"otherLabel": "Votre réponse",
"otherPlaceholder": "Tapez une autre réponse…",
"submit": "Envoyer la réponse",
"cancelOther": "Annuler une autre réponse",
"optionKind": {
"affirmative": "Confirmer",
"negative": "Refuser",
"alternative": "Option",
"custom": "Personnalisé"
}
},
"configureApp": {
"title": "Vérifier les détails de l'application",
"description": "Choisissez une icône locale et ajustez quoi que ce soit avant l'approbation de création de l'assistant.",
"preparing": "Préparation des détails de l'application",
"continue": "Utiliser ces détails",
"ready": "Détails de l'application prêts",
"automaticContinue": "Utiliser automatiquement ces détails de l'application"
},
"configureBoardSettings": {
"title": "Examiner les modifications du tableau",
"loading": "Chargement des paramètres du tableau actuel",
"loadErrorTitle": "Les paramètres de la carte n'ont pas pu être chargés",
"loadErrorDescription": "Le tableau peut ne plus exister, ou vous n'avez pas la permission de le modifier.",
"proposedCount": "Champs {count} proposés par l'assistant",
"changeCount": "{count} modifications prêtes",
"ready": "Changements de tableau prêts",
"cancelled": "Paramètres du tableau actuel conservés",
"noChanges": "Aucun paramètre ne changera",
"keepCurrent": "Garder les paramètres actuels",
"continue": "Continuer à approuver",
"automaticContinue": "Accepter automatiquement les modifications proposées au tableau",
"resetAll": "Réinitialiser toutes les modifications",
"tabs": {
"css": "Custom CSS",
"appearance": "Apparence",
"background": "Fond",
"general": "Général"
},
"cssDescription": "Modifier la feuille de style complète. Les règles existantes sont conservées à moins qu'elles ne soient supprimées ici.",
"cssCharacters": "{count} de 16384 caractères",
"copyCss": "Copy CSS",
"copied": "Copié",
"restoreCss": "Restore current CSS",
"remoteCssTitle": "Ce CSS charge une ressource distante",
"remoteCssDescription": "Les feuilles de style et les URL distantes importées communiquent avec un autre serveur lorsque le tableau se charge. Révisez-les avant de continuer."
},
"configureWidget": {
"title": "Widget de revue",
"preparing": "Préparation des paramètres du widget",
"review": "Examiner le widget et les intégrations",
"ready": "Configuration du widget prête",
"cancelled": "Widget n'a pas été ajouté",
"automaticContinue": "Accepter automatiquement la configuration du widget proposée",
"definitionLoadErrorTitle": "Les paramètres du widget n'ont pas pu être chargés",
"definitionLoadErrorDescription": "Homarr n'a pas pu charger les paramètres de ce widget. Réessayez.",
"loadErrorTitle": "Les intégrations n'ont pas pu être chargées",
"loadErrorDescription": "Homarr n'a pas pu charger les intégrations disponibles pour ce widget.",
"noIntegrationTitle": "Une intégration compatible est nécessaire",
"noIntegrationDescription": "Configurer une intégration prise en charge par ce widget avant de l'ajouter au tableau de bord.",
"connectIntegration": "Connecter le service",
"manageIntegrations": "Gérer les intégrations",
"skip": "Ne pas ajouter",
"errorTitle": "Les paramètres du widget n'ont pas pu être préparés",
"errorDescription": "Le modèle n'a pas fourni de configuration complète du widget. Aucun widget n'a été ajouté."
},
"approvalRequired": "Approbation requise",
"complete": "Complete",
"denied": "Refusé",
"failed": "Échec",
"working": "Travailler",
"approvalDescription": "Examinez ce changement avant qu'il ne s'exécute.",
"approveAndRun": "Approuver et exécuter",
"deny": "Refuser",
"autoApproval": {
"label": "Approbations automatiques",
"composerLabel": "Approuver pour moi",
"title": "Approbations automatiques",
"description": "Préparer automatiquement les formulaires et approuver les modifications protégées pour cette conversation. Les questions attendent toujours votre réponse, et vos autorisations Homarr s'appliquent. Cela s'éteint lorsque vous changez de conversation.",
"enable": "Activer pour cette conversation",
"disable": "Désactiver les approbations automatiques",
"enabled": "Les approbations automatiques sont activées",
"approving": "Approbation automatique"
}
}
}