diff --git a/web/public/locales/fr/common.json b/web/public/locales/fr/common.json index d49150bd9..ebec9c47f 100644 --- a/web/public/locales/fr/common.json +++ b/web/public/locales/fr/common.json @@ -189,7 +189,8 @@ "id": "Bahasa Indonesia (Indonésien)", "ur": "اردو (Ourdou)", "hr": "Hrvatski (Croate)", - "bs": "Bosanski (Bosnien)" + "bs": "Bosanski (Bosnien)", + "zhHant": "繁體中文 (chinois traditionnel)" }, "appearance": "Apparence", "darkMode": { diff --git a/web/public/locales/fr/components/dialog.json b/web/public/locales/fr/components/dialog.json index 7e0dda6aa..4e0fa8843 100644 --- a/web/public/locales/fr/components/dialog.json +++ b/web/public/locales/fr/components/dialog.json @@ -36,6 +36,9 @@ "ask_an": "Cet objet est-il un(e) {{label}} ?", "ask_a": "Cet objet est-il un(e) {{label}} ?", "ask_full": "Cet objet est-il un(e) {{translatedLabel}}  ?" + }, + "toast": { + "error": "Impossible d'envoyer à Frigate+. Merci de vérifier votre réseau puis de réessayer." } } }, @@ -68,7 +71,15 @@ }, "success": "Exportation démarrée avec succès. Consultez le fichier sur la page des exportations.", "view": "Vue", - "queued": "Exportation en attente. Consultez la progression sur la page des exportations." + "queued": "Exportation en attente. Consultez la progression sur la page des exportations.", + "batchSuccess_one": "Un export démarré. Ouverture du dossier en cours.", + "batchSuccess_many": "{{count}} exports démarrés. Ouverture du dossier en cours.", + "batchSuccess_other": "{{count}} exports démarrés. Ouverture du dossier en cours.", + "batchPartial": "{{successful}} exports ont démarré sur un total de : {{total}}. Échecs : {{failedCameras}}", + "batchFailed": "Échec du démarrage de {{total}} exports. Échecs : {{failedCameras}}", + "batchQueuedSuccess_one": "Un export rajouté au traitement. Ouverture du dossier en cours.", + "batchQueuedSuccess_many": "{{count}} exports rajoutés au traitement. Ouverture du dossier en cours.", + "batchQueuedSuccess_other": "{{count}} exports rajoutés au traitement. Ouverture du dossier en cours." }, "select": "Sélectionner", "name": { @@ -107,7 +118,14 @@ "queueingButton": "Mise en file d'attente des exports...", "exportButton_one": "Exporter {{count}} caméra", "exportButton_many": "Exporter {{count}} caméras", - "exportButton_other": "Exporter {{count}} caméras" + "exportButton_other": "Exporter {{count}} caméras", + "searchOrSelectGroup": "Chercher ou sélectionner un groupe de caméras...", + "selectAll": "Sélectionner toutes les cameras", + "clearSelection": "Effacer la sélection", + "selectWithActivity": "Caméras avec des objets suivis", + "selectGroup": "Sélectionner un groupe", + "noMatchingCameras": "Aucune caméra ne correspond à votre recherche", + "selectedCount": "{{selected}} / {{total}} sélectionnées" }, "multi": { "title_one": "Export {{count}} revue", diff --git a/web/public/locales/fr/views/motionSearch.json b/web/public/locales/fr/views/motionSearch.json index 5f47e9942..0c99cad0c 100644 --- a/web/public/locales/fr/views/motionSearch.json +++ b/web/public/locales/fr/views/motionSearch.json @@ -26,7 +26,9 @@ "points_many": "{{count}} points", "points_other": "{{count}} points", "undo": "Annuler le dernier point", - "reset": "Réinitialiser le polygone" + "reset": "Réinitialiser le polygone", + "drawMode": "Dessiner", + "moveMode": "Déplacer" }, "motionHeatmapLabel": "Carte thermique des mouvements", "dialog": { @@ -36,6 +38,14 @@ }, "timeRange": { "title": "Plage de recherche", - "start": "Plage de recherche" + "start": "Début de la plage de recherche", + "end": "Fin de la plage de recherche" + }, + "settings": { + "title": "Paramètres de recherche", + "parallelMode": "Mode parallèle", + "parallelModeDesc": "Scanner plusieurs plages d'enregistrement simultanément (plus rapide ; nécessite plus de ressources de décodage)", + "threshold": "Seuil de sensitivité", + "thresholdDesc": "Des valeurs basses détectent de plus petits changements (1-255)" } } diff --git a/web/public/locales/fr/views/system.json b/web/public/locales/fr/views/system.json index 74394a324..3c4577c21 100644 --- a/web/public/locales/fr/views/system.json +++ b/web/public/locales/fr/views/system.json @@ -112,7 +112,7 @@ }, "gpuTemperature": "Température du GPU", "npuTemperature": "Température du NPU", - "gpuCompute": "Calcul / Encodage GPU" + "gpuCompute": "Calcul GPU / Encodage" }, "otherProcesses": { "title": "Autres processus", @@ -122,7 +122,7 @@ "go2rtc": "go2rtc", "recording": "enregistrement", "review_segment": "Segment d'activité", - "embeddings": "embeddings", + "embeddings": "intégrations", "audio_detector": "détecteur audio" } } @@ -173,7 +173,22 @@ "error": "Erreur : {{error}}", "codec": "Codec :", "video": "Vidéo :", - "aspectRatio": "rapport d'aspect" + "aspectRatio": "rapport d'aspect", + "keyframes": { + "title": "Analyse par image clef", + "analyzing": "Analyse des images clefs... {{seconds}} secondes restantes", + "stillAnalyzing": "Analyse des images clefs toujours en cours ...", + "recordStream": "Flux d'enregistrement :", + "keyframeCount": "Images clefs observées :", + "observedDuration": "Durée observée :", + "gap": "Écart en images clefs (min / moy / max) :", + "segmentLength": "Durée du segment d'enregistrement :", + "ok": "Images clefs chaque ~{{seconds}}s, convient à l'enregistrement et au visionnement.", + "warning": "Images clefs fragmentées ou variables (plus grand écart d'environ {{seconds}}s), vraisemblablement un codec intelligent (H.264+/H.265+), non-recommendé.", + "error": "L'écart en images clefs (~{{seconds}}) dépasse la longueur du segment d'enregistrement ({{segmentTime}}). Certains segments n'ont peut-être pas de clef, ce qui corrompt la lecture. Désactiver le codec intelligent/+ sur la caméra ou raccourcir son intervalle en images clefs.", + "unknown": "Impossible de déterminer l'espacement en images clefs.", + "recordDisabled": "L'enregistrement est désactivé pour cette caméra." + } }, "framesAndDetections": "Images / Détections", "label": { @@ -196,7 +211,7 @@ "overview": "Vue d'ensemble", "toast": { "success": { - "copyToClipboard": "Données de la sonde copiées dans le presse-papiers" + "copyToClipboard": "Données de la sonde copiées dans le presse-papiers." }, "error": { "unableToProbeCamera": "Impossible d'interroger la caméra : {{errorMessage}}" @@ -212,6 +227,9 @@ "expectedFps": "IPS attendues", "reconnectsLastHour": "Reconnexions (dernière heure)", "stallsLastHour": "Baisses de qualité (dernière heure)" + }, + "noCameras": { + "title": "Aucune caméra trouvée" } }, "lastRefreshed": "Dernier rafraichissement : ",