{
  "meta": {
    "language": "fr",
    "name": "Français",
    "version": "1.0.0"
  },
  "keys": {
    "theme.toggle.dark_active": "Thème: sombre actif (passer en clair)",
    "theme.toggle.light_active": "Thème: clair actif (passer en sombre)",
    "settings.language.label": "Langue",
    "settings.language.de": "Allemand",
    "settings.language.en": "Anglais",
    "settings.language.fr": "Français"
  },
  "literals": {
    "Filament Manager": "Filament Manager",
    "Dashboard": "Tableau de bord",
    "Live Uebersicht und Kennzahlen": "Vue en direct et indicateurs",
    "Lager": "Entrepôts",
    "Slot-Ansicht und Auslastung": "Vue des emplacements et utilisation",
    "Spulen": "Bobines",
    "Bestand und Wiegen": "Stock et pesée",
    "Wiegen": "Pesée",
    "Waagen, Flashen und Messungen": "Balances, flash et mesures",
    "Globale Filamente": "Filaments globaux",
    "Materialdatenbank": "Base de matériaux",
    "Filament Statistik": "Statistiques des filaments",
    "Hersteller, Farben und Score": "Fabricants, couleurs et score",
    "Label Designer": "Designer d'étiquettes",
    "Layout Editor und Presets": "Éditeur de mise en page et préréglages",
    "Wiki": "Wiki",
    "Hilfe, Dokumentation und Workflows": "Aide, documentation et workflows",
    "Einstellungen": "Paramètres",
    "Theme wechseln": "Changer le thème",
    "Dialog schliessen": "Fermer la boîte de dialogue",
    "Schliessen": "Fermer",
    "Keine laufende Aktion": "Aucune opération en cours",
    "Versionen": "Versions",
    "Pack Manager": "Gestionnaire de paquets",
    "Basis": "Général",
    "Hardware": "Matériel",
    "Tools": "Outils",
    "Daten": "Données",
    "Einstellungen Tabs": "Onglets des paramètres",
    "Einstellungen durchsuchen (z.B. MQTT, Backup, Bundle, Firmware)": "Rechercher dans les paramètres (ex. MQTT, sauvegarde, bundle, firmware)",
    "Suche aktiv nur in der aktuell geoeffneten Tab-Seite.": "La recherche est limitée à l'onglet actuellement ouvert.",
    "Basis und Netzwerk": "Général et réseau",
    "Alle Werte werden in der Datenbank gespeichert.": "Toutes les valeurs sont enregistrées dans la base de données.",
    "System": "Système",
    "Firmenname": "Nom de l'entreprise",
    "Standard Theme": "Thème par défaut",
    "Low Stock Grenze (g)": "Seuil de stock bas (g)",
    "Kritisch Grenze (g)": "Seuil critique (g)",
    "Demo-Waage Autostart": "Démarrage auto de la balance démo",
    "Demo-Waage Worker beim App-Start aktivieren": "Démarrer le worker de balance démo au lancement",
    "MQTT": "MQTT",
    "Host": "Hôte",
    "Port": "Port",
    "Base Topic": "Topic de base",
    "Username": "Nom d'utilisateur",
    "Password": "Mot de passe",
    "Basis speichern": "Enregistrer les paramètres généraux",
    "Hardware speichern": "Enregistrer le matériel",
    "ESP32, Lagergeraete und Controller": "ESP32, appareils d'entrepôt et contrôleurs",
    "Alle Geraete, Verbindungen und Standardwerte an einer Stelle.": "Tous les appareils, connexions et valeurs par défaut au même endroit.",
    "Waagen und Wiegen": "Balances et pesée",
    "Der komplette Nexus Scale Bereich wurde in die Hauptnavigation verlagert.": "Toute la zone Nexus Scale a été déplacée dans la navigation principale.",
    "Geraete anlegen, Verbindungen verwalten, Standard-Waage setzen und ESP32 Firmware flashen jetzt zentral unter /weighing.": "Créer des appareils, gérer les connexions, définir la balance par défaut et flasher le firmware ESP32 depuis /weighing.",
    "Bereich Wiegen oeffnen": "Ouvrir la zone de pesée",
    "Waagen Tools": "Outils des balances",
    "Trockner": "Sécheurs",
    "Trockner hinzufuegen": "Ajouter un sécheur",
    "Controller hinzufuegen": "Ajouter un contrôleur",
    "Name": "Nom",
    "Typ": "Type",
    "Endpoint": "Endpoint",
    "Topic": "Topic",
    "Ziel Temp / RH": "Temp / RH cible",
    "Aktiv": "Actif",
    "Aktion": "Action",
    "Service Tools und Diagnose": "Outils de service et diagnostic",
    "ESP32 Diagnose": "Diagnostic ESP32",
    "Ports, Toolchain und Board-Status auf einen Blick.": "Ports, toolchain et état de la carte en un coup d'œil.",
    "Diagnose aktualisieren": "Actualiser le diagnostic",
    "Wird geladen ...": "Chargement ...",
    "Tool Repair": "Réparation des outils",
    "Arduino CLI und Build-Abhaengigkeiten reparieren.": "Réparer Arduino CLI et les dépendances de build.",
    "Repair starten": "Démarrer la réparation",
    "Status pruefen": "Vérifier l'état",
    "Kein laufender Repair-Job.": "Aucune tâche de réparation en cours.",
    "Entwicklungs-Test Runner": "Runner de tests de développement",
    "Startet den automatischen Testlauf und zeigt Live-Logs aus der Entwicklungsumgebung.": "Lance les tests automatiques et affiche les logs en direct de l'environnement de développement.",
    "Tests starten": "Démarrer les tests",
    "Neu starten": "Redémarrer",
    "Status": "État",
    "Stop": "Arrêter",
    "Befehl:": "Commande :",
    "Noch kein Testlauf gestartet.": "Aucun test n'a encore été lancé.",
    "Dienstemanager (Demo-Waage)": "Gestionnaire de service (balance démo)",
    "Worker-Prozess fuer die Demo-Waage starten, stoppen und neu starten.": "Démarrer, arrêter et redémarrer le processus worker de la balance démo.",
    "Start": "Démarrer",
    "Neustart": "Redémarrage",
    "Datasheet Download Manager": "Gestionnaire de téléchargement des fiches",
    "Fehlende PDFs als Hintergrund-Job laden, pro Hersteller verfolgen und lokal sauber ablegen.": "Télécharger les PDF manquants en tâche de fond, par fabricant, et les stocker localement.",
    "Nur fehlende PDFs laden": "Télécharger uniquement les PDF manquants",
    "Laufenden Job ersetzen": "Remplacer la tâche en cours",
    "Noch kein Download-Job gestartet.": "Aucune tâche de téléchargement démarrée.",
    "Noch keine Hersteller-Auswertung vorhanden.": "Aucune analyse fabricant disponible.",
    "Keine Fehler protokolliert.": "Aucune erreur enregistrée.",
    "Crashlogs und Fehlerprotokoll": "Crash logs et journal des erreurs",
    "Aktualisieren": "Actualiser",
    "Alle loeschen": "Tout supprimer",
    "Server- und Clientfehler werden zentral protokolliert, damit Debugging reproduzierbar bleibt.": "Les erreurs serveur et client sont centralisées pour un débogage reproductible.",
    "App Tools Schnellzugriff": "Accès rapide aux outils de l'app",
    "Label Tool": "Outil d'étiquettes",
    "Datenpfade und Runtime": "Chemins de données et runtime",
    "Datenbank, PDFs, Logs und User-Settings liegen getrennt im Data Root und sind damit vom Programmcode entkoppelt.": "La base, les PDF, les logs et les réglages utilisateur sont séparés dans le data root.",
    "Backup und Import": "Sauvegarde et import",
    "Voll Backup Export": "Export de sauvegarde complète",
    "Exportiert die komplette App als JSON oder SQLite.": "Exporte l'application complète en JSON ou SQLite.",
    "JSON Full Export": "Export complet JSON",
    "SQLite Full Export": "Export complet SQLite",
    "Teil Export": "Export partiel",
    "Nur ausgewaehlte Komponenten als JSON oder SQLite exportieren.": "Exporter uniquement des composants sélectionnés en JSON ou SQLite.",
    "Format": "Format",
    "Teil Export starten": "Démarrer l'export partiel",
    "Backup Import": "Import de sauvegarde",
    "Datei": "Fichier",
    "Modus": "Mode",
    "Full Import": "Import complet",
    "Teil Import": "Import partiel",
    "Import starten": "Démarrer l'import",
    "Bugs: 0 offen | 0 wartend": "Bugs : 0 ouverts | 0 en file",
    "Ungueltiger JSON-Datenblock": "Bloc de donnees JSON invalide",
    "Bitte mindestens eine Komponente fuer den Teil-Export waehlen.": "Veuillez sélectionner au moins un composant pour l'export partiel.",
    "Bitte mindestens eine Komponente fuer den Teil-Import waehlen.": "Veuillez sélectionner au moins un composant pour l'import partiel.",
    "Backup importiert.": "Sauvegarde importée.",
    "Import fehlgeschlagen.": "Échec de l'import.",
    "Einstellungen gespeichert.": "Paramètres enregistrés.",
    "Einstellungen konnten nicht gespeichert werden.": "Impossible d'enregistrer les paramètres.",
    "Dialog": "Dialogue",
    "Datenblatt": "Fiche technique",
    "Name fuer die neue Waage:": "Nom de la nouvelle balance :"
  },
  "patterns": [
    {
      "pattern": "^Bugs: (\\d+) offen \\| (\\d+) geloest \\| Q(\\d+)$",
      "replace": "Bugs : $1 ouverts | $2 résolus | Q$3"
    },
    {
      "pattern": "^Bugs: (\\d+) offen \\| (\\d+) wartend$",
      "replace": "Bugs : $1 ouverts | $2 en file"
    },
    {
      "pattern": "^Version (.+)$",
      "replace": "Version $1"
    },
    {
      "pattern": "^Filter \"(.+)\" \\| sichtbar: (\\d+)/(\\d+)$",
      "replace": "Filtre \"$1\" | visible : $2/$3"
    },
    {
      "pattern": "^Bitte alle (\\d+) Rollen auf Lager verteilen\\. Offen: (\\d+)\\.$",
      "replace": "Veuillez répartir les $1 bobines dans les entrepôts. Restant : $2."
    },
    {
      "pattern": "^Waage \"(.+)\" wirklich entfernen\\?$",
      "replace": "Supprimer vraiment la balance \"$1\" ?"
    },
    {
      "pattern": "^(\\d+) ausgewaehlte Paketquelle\\(n\\) aus der lokalen DB entfernen\\?$",
      "replace": "Supprimer $1 source(s) de paquet selectionnee(s) de la base locale ?"
    },
    {
      "pattern": "^Leerspulenprofil \"(.+)\" loeschen\\?$",
      "replace": "Supprimer le profil de bobine vide \"$1\" ?"
    },
    {
      "pattern": "^(.+) gespeichert\\.$",
      "replace": "$1 enregistré."
    },
    {
      "pattern": "^(.+) geloescht\\.$",
      "replace": "$1 supprimé."
    },
    {
      "pattern": "^(.+) erstellt\\.$",
      "replace": "$1 créé."
    },
    {
      "pattern": "^(.+) aktualisiert\\.$",
      "replace": "$1 mis à jour."
    },
    {
      "pattern": "^(.+) gestartet\\.$",
      "replace": "$1 démarré."
    },
    {
      "pattern": "^(.+) gestoppt\\.$",
      "replace": "$1 arrêté."
    },
    {
      "pattern": "^(.+) geladen\\.$",
      "replace": "$1 chargé."
    }
  ]
}
