From e09a95921e11a9959db3bbcdbf8b1174d63e132b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 4 Apr 2026 14:57:49 +0200 Subject: [PATCH] Translated using Weblate (French) Currently translated at 100.0% (2 of 2 strings) Translated using Weblate (French) Currently translated at 93.1% (54 of 58 strings) Translated using Weblate (French) Currently translated at 92.0% (23 of 25 strings) Translated using Weblate (French) Currently translated at 100.0% (22 of 22 strings) Translated using Weblate (French) Currently translated at 4.3% (34 of 790 strings) Translated using Weblate (French) Currently translated at 69.1% (728 of 1053 strings) Translated using Weblate (French) Currently translated at 98.2% (169 of 172 strings) Translated using Weblate (French) Currently translated at 100.0% (99 of 99 strings) Translated using Weblate (French) Currently translated at 96.0% (24 of 25 strings) Translated using Weblate (French) Currently translated at 97.0% (228 of 235 strings) Translated using Weblate (French) Currently translated at 94.5% (122 of 129 strings) Translated using Weblate (French) Currently translated at 70.5% (724 of 1026 strings) Translated using Weblate (French) Currently translated at 69.9% (718 of 1026 strings) Translated using Weblate (French) Currently translated at 100.0% (122 of 122 strings) Translated using Weblate (French) Currently translated at 100.0% (22 of 22 strings) Translated using Weblate (French) Currently translated at 97.6% (168 of 172 strings) Translated using Weblate (French) Currently translated at 88.0% (22 of 25 strings) Translated using Weblate (French) Currently translated at 88.3% (152 of 172 strings) Translated using Weblate (French) Currently translated at 48.0% (12 of 25 strings) Translated using Weblate (French) Currently translated at 3.8% (30 of 788 strings) Translated using Weblate (French) Currently translated at 59.0% (13 of 22 strings) Translated using Weblate (French) Currently translated at 87.7% (151 of 172 strings) Translated using Weblate (French) Currently translated at 96.5% (227 of 235 strings) Translated using Weblate (French) Currently translated at 100.0% (98 of 98 strings) Translated using Weblate (French) Currently translated at 69.3% (43 of 62 strings) Translated using Weblate (French) Currently translated at 54.5% (12 of 22 strings) Translated using Weblate (French) Currently translated at 69.8% (715 of 1024 strings) Translated using Weblate (French) Currently translated at 100.0% (23 of 23 strings) Translated using Weblate (French) Currently translated at 3.6% (29 of 788 strings) Translated using Weblate (French) Currently translated at 40.0% (10 of 25 strings) Translated using Weblate (French) Currently translated at 98.3% (120 of 122 strings) Translated using Weblate (French) Currently translated at 2.5% (28 of 1111 strings) Co-authored-by: Anonymous Co-authored-by: Hosted Weblate Co-authored-by: N D Co-authored-by: Riton Du Boulon Co-authored-by: alorente Co-authored-by: shdw Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fr/ Translation: Frigate NVR/Config - Global Translation: Frigate NVR/Config - Groups Translation: Frigate NVR/Config - Validation Translation: Frigate NVR/common Translation: Frigate NVR/components-icons Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-events Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-live Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/fr/common.json | 5 +- web/public/locales/fr/components/icons.json | 4 +- web/public/locales/fr/config/global.json | 34 +++++++++++-- web/public/locales/fr/config/groups.json | 48 ++++++++++++++++++- web/public/locales/fr/config/validation.json | 25 +++++++++- .../locales/fr/views/classificationModel.json | 14 ++++-- web/public/locales/fr/views/events.json | 4 +- web/public/locales/fr/views/exports.json | 4 +- web/public/locales/fr/views/faceLibrary.json | 2 +- web/public/locales/fr/views/live.json | 7 ++- web/public/locales/fr/views/settings.json | 29 ++++++++--- web/public/locales/fr/views/system.json | 27 +++++++++++ 12 files changed, 174 insertions(+), 29 deletions(-) diff --git a/web/public/locales/fr/common.json b/web/public/locales/fr/common.json index ab8f4177b..2ba13dd18 100644 --- a/web/public/locales/fr/common.json +++ b/web/public/locales/fr/common.json @@ -102,7 +102,7 @@ "close": "Fermer", "copy": "Copier", "back": "Retour", - "history": "Chronologie", + "history": "Historique", "pictureInPicture": "Image dans l'image", "twoWayTalk": "Conversation bidirectionnelle", "off": "OFF", @@ -243,7 +243,8 @@ "uiPlayground": "Bac à sable de l'interface", "faceLibrary": "Bibliothèque de visages", "languages": "Langues", - "classification": "Classification" + "classification": "Classification", + "profiles": "Profils" }, "toast": { "save": { diff --git a/web/public/locales/fr/components/icons.json b/web/public/locales/fr/components/icons.json index fd5f1f8f6..f713f2f52 100644 --- a/web/public/locales/fr/components/icons.json +++ b/web/public/locales/fr/components/icons.json @@ -1,8 +1,8 @@ { "iconPicker": { "search": { - "placeholder": "Rechercher une icône" + "placeholder": "Rechercher une icône…" }, - "selectIcon": "Sélectionnez une icône." + "selectIcon": "Sélectionnez une icône" } } diff --git a/web/public/locales/fr/config/global.json b/web/public/locales/fr/config/global.json index 58cd06664..b3dd9d23f 100644 --- a/web/public/locales/fr/config/global.json +++ b/web/public/locales/fr/config/global.json @@ -16,11 +16,11 @@ "description": "Contrôle la verbosité par défaut des journaux et les exceptions de niveau par composant.", "default": { "label": "Niveau de journalisation", - "description": "Verbosité de l'ensemble des journaux par défaut (débogage, information, avertissement, erreur)" + "description": "Verbosité de l'ensemble des journaux par défaut (débogage, information, avertissement, erreur)." }, "logs": { "label": "Niveau de journalisation par processus", - "description": "Outrepasser le niveau de journalisation par composant pour augmenter ou diminuer la verbosité pour des modules spécifiques" + "description": "Personnaliser le niveau de journalisation par composant pour augmenter ou diminuer la verbosité pour des modules spécifiques." } }, "auth": { @@ -29,7 +29,7 @@ "label": "Activer l'authentification", "description": "Active l'authentification native de l'interface de Frigate." }, - "description": "Authentification et réglages en rapport avec la session incluant les options concernant les cookies et limite de taux.", + "description": "Paramètres d'authentification et de session, y compris les options relatives aux cookies et à la limitation du débit.", "reset_admin_password": { "label": "réinitialiser le mot de passe administrateur", "description": "Si vrai, réinitialise le mot de passe utilisateur administrateur au démarrage et écrit le nouveau mot de passe dans les journaux." @@ -48,10 +48,34 @@ }, "refresh_time": { "label": "Fenêtre de rafraichissement de session", - "description": "Lorsqu'une session est à moins de ce nombre de secondes de son expiration, actualisez là pour lui redonner sa durée complète." + "description": "Lorsqu'une session est à moins de ce nombre de secondes d'expirer, rétablissez-la à sa durée entière." }, "failed_login_rate_limit": { - "label": "Limite de connexions échouées" + "label": "Limite de connexions échouées", + "description": "Règles limitant la fréquence des tentatives ratées d'authentification afin de réduire les attaques de type \"brute-force\"." + }, + "trusted_proxies": { + "label": "Mandataire de confiance", + "description": "Liste des IP de mandataire de confiance quand il faut déterminer l'IP pour limiter le taux." + }, + "hash_iterations": { + "label": "Itérations de hachage", + "description": "Nombre d'itérations PBKDF2-SHA256 à utiliser quand les mots de passe utilisateur sont hachés." + }, + "roles": { + "label": "Correspondance des rôles", + "description": "Correspondance de rôles vers la liste des caméras. Une liste vide donne l'accès totale à toutes les caméras pour ce rôle." + }, + "admin_first_time_login": { + "label": "Drapeau admin première fois", + "description": "Si activé, l'interface peut afficher un lien d'aide sur la page d'identification des utilisateurs indiquant comment se connecter après une réinitialisation du mot de passe administrateur. " + } + }, + "database": { + "label": "Base de donnée", + "description": "Réglages concernant la base de donnée SQLite utilisé par Frigate pour stocker les objets suivis et enregistrer les métadonnées.", + "path": { + "label": "Chemin vers la base de donnée" } } } diff --git a/web/public/locales/fr/config/groups.json b/web/public/locales/fr/config/groups.json index 2178bea8a..2d1e6c039 100644 --- a/web/public/locales/fr/config/groups.json +++ b/web/public/locales/fr/config/groups.json @@ -1,7 +1,7 @@ { "audio": { "global": { - "detection": "Détection globale", + "detection": "Détection générale", "sensitivity": "Sensibilité globale" }, "cameras": { @@ -23,7 +23,51 @@ "algorithm": "Algorithme global" }, "cameras": { - "sensitivity": "Sensibilité" + "sensitivity": "Sensibilité", + "algorithm": "Algorithme" + } + }, + "snapshots": { + "global": { + "display": "Affichage Global" + }, + "cameras": { + "display": "Affichage" + } + }, + "detect": { + "global": { + "resolution": "Résolution globale", + "tracking": "Suivi global" + }, + "cameras": { + "resolution": "Résolution", + "tracking": "Suivi" + } + }, + "objects": { + "global": { + "tracking": "Suivi Global", + "filtering": "Filtrage Global" + }, + "cameras": { + "tracking": "Suivi", + "filtering": "Filtrage" + } + }, + "record": { + "global": { + "retention": "Rétention Globale", + "events": "Événements globaux" + }, + "cameras": { + "retention": "Rétention", + "events": "Événements" + } + }, + "ffmpeg": { + "cameras": { + "cameraFfmpeg": "Arguments FFmpeg spécifiques aux caméras" } } } diff --git a/web/public/locales/fr/config/validation.json b/web/public/locales/fr/config/validation.json index 64891267a..aa4acd887 100644 --- a/web/public/locales/fr/config/validation.json +++ b/web/public/locales/fr/config/validation.json @@ -1,5 +1,5 @@ { - "minimum": "Doit être au minimum {{limit}}", + "minimum": "Doit être au moins de {{limit}}", "maximum": "Ne doit pas dépasser {{limit}}", "exclusiveMinimum": "Doit être supérieur à {{limit}}", "exclusiveMaximum": "Doit être inférieur à {{limit}}", @@ -7,5 +7,26 @@ "maxLength": "Doit contenir au maximum {{limit}} caractère(s)", "minItems": "Doit contenir au moins {{limit}} élément(s)", "maxItems": "Doit contenir au maximum {{limit}} élément(s)", - "pattern": "Format incorrect" + "pattern": "Format incorrect", + "required": "Ce champ est requis", + "type": "Type de valeur incorrect", + "enum": "Doit être une des valeurs autorisées", + "const": "La valeur ne correspond pas à la constante attendu", + "uniqueItems": "Tous les éléments doivent être uniques", + "format": "Format invalide", + "additionalProperties": "Une propriété inconnue est interdite", + "oneOf": "Doit correspondre exactement à un des schémas autorisés", + "anyOf": "Doit correspondre à au moins un des schémas autorisés", + "proxy": { + "header_map": { + "roleHeaderRequired": "L'entête de rôle est nécessaire quand la cartographie des rôles est configurée." + } + }, + "ffmpeg": { + "inputs": { + "rolesUnique": "Chaque rôle ne peut être assigné qu'à un flux d'entrée.", + "detectRequired": "Au moins un flux d'entrée doit être assigné au rôle 'detect' (détection).", + "hwaccelDetectOnly": "Seulement le flux d'entrée avec le rôle de détection peut définir des arguments pour l'accélération matérielle." + } + } } diff --git a/web/public/locales/fr/views/classificationModel.json b/web/public/locales/fr/views/classificationModel.json index 0926f4cd6..df090b3cc 100644 --- a/web/public/locales/fr/views/classificationModel.json +++ b/web/public/locales/fr/views/classificationModel.json @@ -12,8 +12,12 @@ }, "toast": { "success": { - "deletedCategory": "Classe supprimée", - "deletedImage": "Images supprimées", + "deletedCategory_one": "{{count}} classe supprimée", + "deletedCategory_many": "{{count}} classes supprimées", + "deletedCategory_other": "{{count}} classes supprimées", + "deletedImage_one": "{{count}} image supprimée", + "deletedImage_many": "{{count}} images supprimées", + "deletedImage_other": "{{count}} images supprimées", "categorizedImage": "Image classifiée avec succès", "trainedModel": "Modèle entraîné avec succès.", "trainingModel": "L'entraînement du modèle a démarré avec succès.", @@ -21,7 +25,8 @@ "deletedModel_many": "{{count}} modèles supprimés avec succès", "deletedModel_other": "{{count}} modèles supprimés avec succès", "updatedModel": "Configuration du modèle mise à jour avec succès", - "renamedCategory": "Classe renommée en {{name}} avec succès" + "renamedCategory": "Classe renommée en {{name}} avec succès", + "reclassifiedImage": "Image reclassifiée avec succès" }, "error": { "deleteImageFailed": "Échec de la suppression : {{errorMessage}}", @@ -31,7 +36,8 @@ "deleteModelFailed": "Impossible de supprimer le modèle : {{errorMessage}}", "updateModelFailed": "Impossible de mettre à jour le modèle : {{errorMessage}}", "renameCategoryFailed": "Impossible de renommer la classe : {{errorMessage}}", - "trainingFailedToStart": "Impossible de démarrer l'entraînement du modèle : {{errorMessage}}" + "trainingFailedToStart": "Impossible de démarrer l'entraînement du modèle : {{errorMessage}}", + "reclassifyFailed": "Échec de reclassification de l'image : {{errorMessage}}" } }, "deleteCategory": { diff --git a/web/public/locales/fr/views/events.json b/web/public/locales/fr/views/events.json index 6baaf9b93..e5fb25113 100644 --- a/web/public/locales/fr/views/events.json +++ b/web/public/locales/fr/views/events.json @@ -15,7 +15,9 @@ "description": "Les activités ne peuvent être générées pour une caméra que si l'enregistrement est activé pour celle-ci." } }, - "timeline": "Chronologie", + "timeline": { + "label": "Chronologie" + }, "events": { "label": "Événements", "aria": "Sélectionner les événements", diff --git a/web/public/locales/fr/views/exports.json b/web/public/locales/fr/views/exports.json index fae8186f3..9e26a27e5 100644 --- a/web/public/locales/fr/views/exports.json +++ b/web/public/locales/fr/views/exports.json @@ -2,7 +2,9 @@ "documentTitle": "Exports - Frigate", "search": "Rechercher", "noExports": "Aucune exportation trouvée", - "deleteExport": "Supprimer l'exportation", + "deleteExport": { + "label": "Supprimer l'exportation" + }, "deleteExport.desc": "Êtes-vous sûr de vouloir supprimer {{exportName}} ?", "editExport": { "title": "Renommer l'exportation", diff --git a/web/public/locales/fr/views/faceLibrary.json b/web/public/locales/fr/views/faceLibrary.json index 4389786cd..83138d7ec 100644 --- a/web/public/locales/fr/views/faceLibrary.json +++ b/web/public/locales/fr/views/faceLibrary.json @@ -1,7 +1,7 @@ { "description": { "addFace": "Ajoutez une nouvelle collection à la bibliothèque de visages en téléversant votre première image.", - "placeholder": "Saisissez un nom pour cette collection.", + "placeholder": "Saisissez un nom pour cette collection", "invalidName": "Nom invalide. Les noms ne peuvent contenir que des lettres, des chiffres, des espaces, des apostrophes, des traits de soulignement et des tirets.", "nameCannotContainHash": "Le nom ne peut pas contenir le caractère #." }, diff --git a/web/public/locales/fr/views/live.json b/web/public/locales/fr/views/live.json index 935a96bc6..fc9d6f3a4 100644 --- a/web/public/locales/fr/views/live.json +++ b/web/public/locales/fr/views/live.json @@ -1,5 +1,7 @@ { - "documentTitle": "Direct - Frigate", + "documentTitle": { + "default": "Direct - Frigate" + }, "lowBandwidthMode": "Mode bande passante faible", "documentTitle.withCamera": "{{camera}} - Direct - Frigate", "twoWayTalk": { @@ -15,7 +17,8 @@ "clickMove": { "label": "Cliquez dans le cadre pour centrer la caméra", "enable": "Activer le clic pour déplacer", - "disable": "Désactiver le clic pour déplacer" + "disable": "Désactiver le clic pour déplacer", + "enableWithZoom": "Activer le clic pour déplacer / faire glisser vers le zoom" }, "left": { "label": "Déplacer la caméra PTZ vers la gauche" diff --git a/web/public/locales/fr/views/settings.json b/web/public/locales/fr/views/settings.json index 635e46fcc..c9b3ccb87 100644 --- a/web/public/locales/fr/views/settings.json +++ b/web/public/locales/fr/views/settings.json @@ -5,7 +5,7 @@ "camera": "Paramètres des caméras - Frigate", "classification": "Paramètres de classification - Frigate", "motionTuner": "Réglage de la détection de mouvement - Frigate", - "general": "Paramètres du profil - Frigate", + "general": "Paramètres de l'interface - Frigate", "masksAndZones": "Éditeur de masques et de zones - Frigate", "object": "Débogage - Frigate", "frigatePlus": "Paramètres Frigate+ - Frigate", @@ -15,7 +15,8 @@ "cameraReview": "Paramètres des activités caméra - Frigate", "globalConfig": "Configuration globale - Frigate", "cameraConfig": "Configuration de la caméra - Frigate", - "maintenance": "Maintenance - Frigate" + "maintenance": "Maintenance - Frigate", + "profiles": "Profils - Frigate" }, "menu": { "ui": "Interface utilisateur", @@ -86,7 +87,9 @@ "cameraUi": "Interface de la caméra", "cameraTimestampStyle": "Style d'horodatage", "cameraMqtt": "MQTT de la caméra", - "maintenance": "Maintenance" + "maintenance": "Maintenance", + "uiSettings": "Paramètres IU", + "profiles": "Profils" }, "dialog": { "unsavedChanges": { @@ -99,7 +102,7 @@ "noCamera": "Aucune caméra" }, "general": { - "title": "Paramètres du profil", + "title": "Paramètres d'interface", "liveDashboard": { "title": "Tableau de bord en direct", "automaticLiveView": { @@ -222,14 +225,14 @@ "title": "Paramètres Frigate+", "snapshotConfig": { "documentation": "Lire la documentation", - "desc": "La soumission à Frigate+ nécessite à la fois que les instantanés et les instantanés clean_copy soient activés dans votre configuration.", + "desc": "La soumission à Frigate+ nécessite que les instantanés soient activés dans votre configuration.", "title": "Configuration des instantanés", "table": { "snapshots": "Instantanés", "camera": "Caméra", "cleanCopySnapshots": "Instantanés clean_copy" }, - "cleanCopyWarning": "Certaines caméras ont des instantanés activés, mais la copie propre est désactivée. Vous devez activer clean_copy dans votre configuration d'instantanés pour pouvoir envoyer les images de ces caméras à Frigate+." + "cleanCopyWarning": "Certaines caméras ont les instantanés désactivés" }, "modelInfo": { "baseModel": "Modèle de base", @@ -568,7 +571,7 @@ } }, "restart_required": "Redémarrage requis (masques/zones changés)", - "objectMaskLabel": "Masque d'objet {{number}} ({{label}})", + "objectMaskLabel": "Masque d'objet {{number}}", "motionMaskLabel": "Masque de mouvement {{number}}" }, "motionDetectionTuner": { @@ -1390,5 +1393,17 @@ "label": "Nouvelle valeur", "reset": "Réinitialiser" } + }, + "button": { + "overriddenBaseConfigTooltip": "Le profil {{profile}} remplace les paramètres de configuration dans cette section", + "overriddenGlobalTooltip": "Cette caméra remplace les paramètres de la configuration globale dans cette section", + "overriddenGlobal": "Remplacé (Global)", + "overriddenBaseConfig": "Remplacée (Configuration de base)" + }, + "maintenance": { + "title": "Maintenance", + "sync": { + "title": "Synchronisation du Média" + } } } diff --git a/web/public/locales/fr/views/system.json b/web/public/locales/fr/views/system.json index 0963b0f7b..f29b87170 100644 --- a/web/public/locales/fr/views/system.json +++ b/web/public/locales/fr/views/system.json @@ -34,6 +34,33 @@ "fetchingLogsFailed": "Erreur lors de la récupération des logs : {{errorMessage}}", "whileStreamingLogs": "Erreur lors de la diffusion des logs : {{errorMessage}}" } + }, + "websocket": { + "label": "Messages", + "pause": "Pause", + "resume": "Reprendre", + "clear": "Effacer", + "filter": { + "all": "Tous les sujets", + "topics": "Sujets", + "events": "Évènements", + "reviews": "Revues", + "classification": "Classification", + "face_recognition": "Reconnaissance Faciale", + "lpr": "LAPI", + "camera_activity": "Activités de la caméra", + "system": "Système", + "camera": "Caméra", + "all_cameras": "Toutes les caméras", + "cameras_count_one": "{{count}} Caméra", + "cameras_count_other": "{{count}} Caméras" + }, + "empty": "Aucun message capturé jusque là", + "count_one": "{{count}} message", + "count_other": "{{count}} messages", + "expanded": { + "payload": "Charge utile" + } } }, "general": {