diff --git a/project.inlang.json b/project.inlang.json index 9122f183..243d5659 100644 --- a/project.inlang.json +++ b/project.inlang.json @@ -1,25 +1,16 @@ { - "$schema": "https://inlang.com/schema/project-settings", - "sourceLanguageTag": "en", - "languageTags": [ - "ca", - "en", - "it", - "pt-BR", - "pt-PT" - ], - "modules": [ - "https://cdn.jsdelivr.net/npm/@inlang/plugin-json@4/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@1/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-identical-pattern@1/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@1/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@1/dist/index.js" - ], - "plugin.inlang.json": { - "pathPattern": "./src/localize/languages/{languageTag}.json", - "variableReferencePattern": [ - "{", - "}" - ] - } + "$schema": "https://inlang.com/schema/project-settings", + "sourceLanguageTag": "en", + "languageTags": ["ca", "en", "fr", "it", "pt-BR", "pt-PT"], + "modules": [ + "https://cdn.jsdelivr.net/npm/@inlang/plugin-json@4/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@1/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-identical-pattern@1/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@1/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@1/dist/index.js" + ], + "plugin.inlang.json": { + "pathPattern": "./src/localize/languages/{languageTag}.json", + "variableReferencePattern": ["{", "}"] + } } diff --git a/project.inlang/project_id b/project.inlang/project_id new file mode 100644 index 00000000..df02d4b8 --- /dev/null +++ b/project.inlang/project_id @@ -0,0 +1 @@ +d140b5c2bbb618a6441e874d987530122309f246beb56c7cc7db10099528a75b diff --git a/src/localize/languages/ca.json b/src/localize/languages/ca.json index a71d1545..20f72390 100644 --- a/src/localize/languages/ca.json +++ b/src/localize/languages/ca.json @@ -11,9 +11,6 @@ "cameras": { "camera_entity": "Entitat de càmera", "capabilities": { - "disable": "", - "disable_except": "", - "editor_label": "", "capabilities": { "clips": "", "favorite-events": "", @@ -25,7 +22,10 @@ "seek": "", "snapshots": "", "substream": "" - } + }, + "disable": "", + "disable_except": "", + "editor_label": "" }, "cast": { "dashboard": { @@ -75,11 +75,14 @@ "go2rtc": { "editor_label": "Opcions de go2rtc", "modes": { - "editor_label": "Modes de go2rtc" + "editor_label": "Modes de go2rtc", + "mjpeg": "", + "mp4": "", + "mse": "", + "webrtc": "" }, "stream": "nom del flux de go2rtc" }, - "hide": "Amaga la càmera de la interfície d'usuari", "icon": "Icona d'aquesta càmera (detecció automàtica des de l'entitat)", "id": "Identificador únic per a aquesta càmera en aquesta targeta", "image": { @@ -93,8 +96,10 @@ }, "live_providers": { "auto": "Automàtic", + "go2rtc": "", "ha": "Transmissió de vídeo de Home Assistant (és a dir, HLS, LL-HLS, WebRTC mitjançant HA)", "image": "Imatges de Home Assistant", + "jsmpeg": "", "webrtc-card": "Targeta WebRTC (és a dir, la targeta WebRTC d'AlexxIT)" }, "motioneye": { @@ -358,6 +363,7 @@ "mute": "Silenciar / Activar el so", "play": "Reproduir / Pausa", "priority": "Prioritat", + "ptz": "", "recordings": "Enregistraments", "screenshot": "Captura de pantalla", "snapshots": "Imatges instantànies", @@ -540,7 +546,6 @@ "no_supported_camera": "", "no_supported_cameras": "", "reconnecting": "Reconnectant", - "timeline_no_cameras": "No hi ha càmeres Frigate per mostrar a la línia de temps", "too_many_automations": "Hi ha massa trucades d'automatització imbricades, comproveu la vostra configuració per veure si hi ha bucles", "troubleshooting": "Comproveu la resolució de problemes", "unknown": "Error desconegut", diff --git a/src/localize/languages/en.json b/src/localize/languages/en.json index 6d4bfa88..d3bb0d23 100644 --- a/src/localize/languages/en.json +++ b/src/localize/languages/en.json @@ -11,9 +11,6 @@ "cameras": { "camera_entity": "Camera Entity", "capabilities": { - "disable": "Disable", - "disable_except": "Disable except", - "editor_label": "Camera capabilities", "capabilities": { "clips": "Clips", "favorite-events": "Favorite Events", @@ -25,7 +22,10 @@ "seek": "Seeking", "snapshots": "Snapshots", "substream": "Substream" - } + }, + "disable": "Disable", + "disable_except": "Disable except", + "editor_label": "Camera capabilities" }, "cast": { "dashboard": { @@ -83,7 +83,6 @@ }, "stream": "go2rtc stream name" }, - "hide": "Hide camera from UI", "icon": "Icon for this camera (Autodetected from entity)", "id": "Unique id for this camera in this card", "image": { diff --git a/src/localize/languages/fr.json b/src/localize/languages/fr.json new file mode 100644 index 00000000..041ed7eb --- /dev/null +++ b/src/localize/languages/fr.json @@ -0,0 +1,617 @@ +{ + "common": { + "frigate_card": "Carte Frigate", + "frigate_card_description": "Une carte Lovelace à utiliser avec Frigate", + "live": "En direct", + "no_media": "Aucun média à afficher", + "recordings": "Enregistrements", + "version": "Version" + }, + "config": { + "cameras": { + "camera_entity": "Entité caméra", + "capabilities": { + "capabilities": { + "clips": "", + "favorite-events": "", + "favorite-recordings": "", + "live": "", + "menu": "", + "ptz": "", + "recordings": "", + "seek": "", + "snapshots": "", + "substream": "" + }, + "disable": "", + "disable_except": "", + "editor_label": "" + }, + "cast": { + "dashboard": { + "dashboard_path": "", + "view_path": "" + }, + "editor_label": "", + "method": "", + "methods": { + "dashboard": "", + "standard": "" + } + }, + "dependencies": { + "all_cameras": "Afficher les événements pour toutes les caméras avec cette caméra", + "cameras": "Afficher les événements pour des caméras spécifiques avec cette caméra", + "editor_label": "Options de dépendance" + }, + "dimensions": { + "aspect_ratio": "", + "editor_label": "", + "layout": { + "editor_label": "", + "fit": "Adatta al layout", + "fits": { + "contain": "Il supporto è contenuto/in cassetta delle lettere", + "cover": "Il supporto si espande proporzionalmente per coprire la scheda", + "fill": "Il supporto viene allungato per riempire la scheda" + }, + "position": { + "x": "Percentuale di posizionamento orizzontale", + "y": "Percentuale di posizionamento verticale" + } + } + }, + "engines": { + "editor_label": "Options du moteur de caméra" + }, + "frigate": { + "camera_name": "Nom de la caméra de la frégate (détecté automatiquement par l'entité)", + "client_id": "ID client Frigate (pour plus 1 d'un serveur Frigate)", + "editor_label": "Options de Frigate", + "labels": "Étiquettes de Frigate/filtres d'objets", + "url": "URL du serveur Frigate", + "zones": "Zones Frigate" + }, + "go2rtc": { + "editor_label": "Options go2rtc", + "modes": { + "editor_label": "Modes go2rtc", + "mjpeg": "Motion JPEG (MJPEG)", + "mp4": "MPEG-4 (MP4)", + "mse": "Extensions de sources multimédias (MSE)", + "webrtc": "Web Real-Time Communication (WebRTC)" + }, + "stream": "nom du flux go2rtc" + }, + "icon": "Icône pour cette caméra (auto-détectée par l'entité)", + "id": "ID unique pour cette caméra dans cette carte", + "image": { + "editor_label": "Options d'images", + "refresh_seconds": "Nombre de secondes après lesquelles actualiser l'image en direct (0=jamais)", + "url": "URL de l'image à utiliser à la place de l'instantané de l'entité de la caméra" + }, + "live_provider": "Fournisseur de visualisation en direct pour cette caméra", + "live_provider_options": { + "editor_label": "Options du fournisseur en direct" + }, + "live_providers": { + "auto": "Automatique", + "go2rtc": "go2rtc", + "ha": "Flux vidéo Home Assistant (c'est-à-dire HLS, LL-HLS, WebRTC via HA)", + "image": "Images d'Home Assistant", + "jsmpeg": "JSMpeg", + "webrtc-card": "Carte WebRTC (c.-⁠à-⁠d. La cartte WebRTC d'AlexxIT)" + }, + "motioneye": { + "editor_label": "Options de MotionEye", + "images": { + "directory_pattern": "Modèle de répertoire d'images", + "file_pattern": "Modèle de fichier images" + }, + "movies": { + "directory_pattern": "Modèle de répertoire de films", + "file_pattern": "Modèle de fichier de films" + }, + "url": "URL de l’interface MotionEye" + }, + "title": "Titre de cette caméra (détection automatique à partir de l'entité)", + "triggers": { + "editor_label": "Modèle de répertoire des films", + "entities": "Déclencheur à partir d'autres entités", + "events": { + "clips": "", + "editor_label": "", + "events": "", + "snapshots": "" + }, + "motion": "Déclenchement par détection automatique du capteur de mouvement", + "occupancy": "Déclenchement par détection automatique du capteur de présence" + }, + "webrtc_card": { + "editor_label": "Options de la carte WebRTC", + "entity": "Entité de caméra de carte WebRTC (pas une caméra de Frigate)", + "url": "URL de la caméra de la carte WebRTC" + } + }, + "common": { + "controls": { + "builtin": "Commandes vidéo intégrées", + "filter": { + "editor_label": "Filtre multimédia", + "mode": "Mode de filtre", + "modes": { + "left": "Filtre média dans un menu à gauche", + "none": "Pas de filtre média", + "right": "Filtre média dans un menu à droite" + } + }, + "next_previous": { + "editor_label": "Suivant et précédent", + "size": "Taille des contrôles suivant et précédent en pixels", + "style": "Style de contrôle suivant et précédent", + "styles": { + "chevrons": "Chevrons", + "icons": "Icônes", + "none": "Aucun", + "thumbnails": "Miniatures" + } + }, + "thumbnails": { + "editor_label": "Miniatures", + "events_media_type": "S'il faut afficher des vignettes de clips ou des instantanés", + "events_media_types": { + "clips": "Miniatures de clips", + "snapshots": "Miniatures d'instantanés" + }, + "media_type": "", + "media_types": { + "events": "", + "recordings": "" + }, + "mode": "Mode vignettes", + "modes": { + "above": "Miniatures ci-dessus", + "below": "Miniatures ci-dessous", + "left": "Miniatures dans un menu à gauche", + "none": "Aucune vignette", + "right": "Miniatures dans un menu à droite" + }, + "show_details": "Afficher les détails avec des vignettes", + "show_download_control": "Afficher le contrôle de téléchargement sur les vignettes", + "show_favorite_control": "Afficher le contrôle favori sur les vignettes", + "show_timeline_control": "Afficher le contrôle de la chronologie sur les vignettes", + "size": "Taille des vignettes en pixels" + }, + "timeline": { + "editor_label": "Mini-chronologie", + "mode": "Mode", + "modes": { + "above": "Au-dessus", + "below": "En dessous", + "none": "Aucun" + }, + "pan_mode": "", + "pan_modes": { + "pan": "", + "seek": "", + "seek-in-camera": "", + "seek-in-media": "" + } + }, + "title": { + "duration_seconds": "Secondes pour afficher le titre de la fenêtre contextuelle (0 = toujours)", + "editor_label": "Contrôles de titre contextuel", + "mode": "Mode d'affichage du titre contextuel", + "modes": { + "none": "Pas d'affichage du titre", + "popup-bottom-left": "Popup en bas à gauche", + "popup-bottom-right": "Popup en bas à droite", + "popup-top-left": "Popup en haut à gauche", + "popup-top-right": "Popup en haut à droite" + } + } + }, + "display": { + "editor_label": "", + "grid_columns": "", + "grid_max_columns": "", + "grid_selected_width_factor": "", + "mode": "" + }, + "media_action_conditions": { + "all": "Toutes les opportunités", + "hidden": "Sur le navigateur/onglet masqué", + "microphone_mute": "", + "microphone_unmute": "", + "never": "Jamais", + "selected": "Sur sélection", + "unselected": "Lors de la désélection", + "visible": "Sur la visibilité du navigateur/onglet" + }, + "timeline": { + "clustering_threshold": "Le nombre d'événements pour lesquels ils sont regroupés (0 = pas de clustering)", + "events_media_type": "Les médias affichés par la chronologie", + "events_media_types": { + "all": "Tous types de médias", + "clips": "Extraits", + "snapshots": "Instantanés" + }, + "show_recordings": "Afficher les enregistrements", + "style": "Style de chronologie", + "styles": { + "ribbon": "Événements sur un seul ruban", + "stack": "Événements empilés et groupés" + }, + "window_seconds": "La durée par défaut de la vue chronologique en secondes" + } + }, + "dimensions": { + "aspect_ratio": "Format d'image par défaut (par exemple '16:9')", + "aspect_ratio_mode": "Mode rapport hauteur/largeur", + "aspect_ratio_modes": { + "dynamic": "Le rapport hauteur/largeur s'adapte au média", + "static": "Rapport hauteur/largeur statique", + "unconstrained": "Rapport hauteur/largeur sans contrainte" + }, + "max_height": "Hauteur maximale de la carte en unités CSS (par exemple '100vh')", + "min_height": "Hauteur minimale de la carte en unités CSS (par exemple « 100 px »)" + }, + "image": { + "mode": "Mode d'affichage des images", + "modes": { + "camera": "Instantané de la caméra Home Assistant de l'entité caméra", + "screensaver": "Logo Frigate intégré", + "url": "Image arbitraire spécifiée par URL" + }, + "refresh_seconds": "Nombre de secondes après lesquelles actualiser (0=jamais)", + "url": "URL d'image statique pour l'affichage de l'image", + "zoomable": "L'image peut être zoomée/panoramique" + }, + "live": { + "auto_mute": "Couper automatiquement le son des caméras en direct", + "auto_pause": "Mettre automatiquement en pause les caméras en direct", + "auto_play": "Lire automatiquement les caméras en direct", + "auto_unmute": "Activer automatiquement le son des caméras en direct", + "controls": { + "editor_label": "Contrôles en direct", + "ptz": { + "editor_label": "", + "hide_home": "", + "hide_pan_tilt": "", + "hide_zoom": "", + "mode": "", + "modes": { + "off": "", + "on": "" + }, + "orientation": "", + "orientations": { + "horizontal": "", + "vertical": "" + }, + "position": "", + "positions": { + "bottom-left": "", + "bottom-right": "", + "top-left": "", + "top-right": "" + } + } + }, + "draggable": "La vue des caméras en direct peut être glissée/glissée", + "lazy_load": "Les caméras en direct sont chargeés en différé", + "lazy_unload": "Les caméras en direct sont déchargés en différé", + "microphone": { + "always_connected": "Gardez toujours le microphone connecté", + "disconnect_seconds": "Secondes après quoi déconnecter le microphone (0=jamais)", + "editor_label": "Microphone", + "enabled": "Microphone activé", + "mute_after_microphone_mute_seconds": "" + }, + "preload": "Précharger la vue en direct en arrière-plan", + "show_image_during_load": "Afficher une image fixe pendant le chargement du flux en direct", + "transition_effect": "Effet de transition de caméra en direct", + "zoomable": "Les caméras en direct peuvent être zoomées/panoramiques" + }, + "media_viewer": { + "auto_mute": "Couper automatiquement le son des médias", + "auto_pause": "Mettre automatiquement en pause les médias", + "auto_play": "Lire automatiquement les médias", + "auto_unmute": "Activer automatiquement le son des médias", + "controls": { + "editor_label": "Commandes de la visionneuse multimédia" + }, + "draggable": "La visionneuse multimédia peut être glissée/glissée", + "lazy_load": "Les médias Media Viewer sont chargés paresseusement dans le carrousel", + "snapshot_click_plays_clip": "Cliquer sur un instantané lit un clip associé", + "transition_effect": "Effet de transition de la visionneuse multimédia", + "transition_effects": { + "none": "Pas de transition", + "slide": "Transition de diapositive" + }, + "zoomable": "La visionneuse multimédia peut être zoomée/panoramique" + }, + "menu": { + "alignment": "Alignement des menus", + "alignments": { + "bottom": "Aligné vers le bas", + "left": "Aligné à gauche", + "right": "Aligné à droite", + "top": "Aligné vers le haut" + }, + "button_size": "Taille du bouton de menu en pixels", + "buttons": { + "alignment": "Alignement des boutons", + "alignments": { + "matching": "Faire correspondre l'alignement du menu", + "opposing": "S'opposer à l'alignement des menus" + }, + "camera_ui": "Interface utilisateur de la caméra", + "cameras": "Appareils photo", + "clips": "Extraits", + "display_mode": "", + "download": "Télécharger", + "enabled": "Bouton activé", + "expand": "Développer", + "frigate": "Menu Frégate / Vue par défaut", + "fullscreen": "Plein écran", + "icon": "Icône", + "image": "Image", + "live": "En direct", + "media_player": "Envoyer au lecteur multimédia", + "microphone": "Microphone", + "mute": "Désactiver/Réactiver le son", + "play": "Jouer / Pause", + "priority": "Priorité", + "ptz": "", + "recordings": "Enregistrements", + "screenshot": "Capture d'écran", + "snapshots": "Instantanés", + "substreams": "Sous-flux", + "timeline": "Chronologie", + "type": "Type de bouton", + "types": { + "momentary": "Momentané", + "toggle": "Basculer" + } + }, + "position": "Emplacement des menus", + "positions": { + "bottom": "Positionné en bas", + "left": "Positionné à gauche", + "right": "Positionné à droite", + "top": "Positionné en haut" + }, + "style": "Style de menu", + "styles": { + "hidden": "Menu caché", + "hover": "Menu survolé", + "hover-card": "Menu survolé (à l'échelle de la carte)", + "none": "Pas de menu", + "outside": "Menu extérieur", + "overlay": "Menu superposé" + } + }, + "overrides": { + "info": "Cette configuration de carte comporte des remplacements spécifiés manuellement et configurés qui peuvent remplacer les valeurs affichées dans l'éditeur visuel. Veuillez consulter l'éditeur de code pour afficher/modifier ces remplacements." + }, + "performance": { + "features": { + "animated_progress_indicator": "Indicateur de progression animé", + "editor_label": "Options de fonctionnalités", + "media_chunk_size": "Taille du morceau de média" + }, + "profile": "Profil de performances", + "profiles": { + "high": "Performances élevées", + "low": "Performances faibles" + }, + "style": { + "border_radius": "Courbes", + "box_shadow": "Ombres", + "editor_label": "Options de style" + }, + "warning": "Cette carte est en mode profil bas, les paramètres par défaut ont donc été modifiés pour optimiser les performances." + }, + "view": { + "camera_select": "Afficher les caméras nouvellement sélectionnées", + "dark_mode": "Mode sombre", + "dark_modes": { + "auto": "Automatique", + "off": "Désactivé", + "on": "Activé" + }, + "default": "Vue par défaut", + "interaction_seconds": "", + "reset_after_interaction": "", + "triggers": { + "actions": { + "editor_label": "", + "interaction_mode": "", + "interaction_modes": { + "active": "", + "all": "", + "inactive": "" + }, + "trigger": "", + "triggers": { + "default": "", + "live": "", + "media": "", + "none": "" + }, + "untrigger": "", + "untriggers": { + "default": "", + "none": "" + } + }, + "editor_label": "", + "filter_selected_camera": "", + "show_trigger_status": "Afficher la bordure clignotante lors du déclenchement", + "untrigger_seconds": "Quelques secondes après le changement d'état inactif pour débloquer" + }, + "update_cycle_camera": "Parcourez les caméras lorsque la vue par défaut est mise à jour", + "update_force": "Forcer les mises à jour de la carte (ignorer l'interaction de l'utilisateur)", + "update_seconds": "Actualiser la vue par défaut toutes les X secondes (0=jamais)", + "views": { + "clip": "Clip le plus récent", + "clips": "Galerie de clips", + "current": "Vue actuelle", + "image": "Image statique", + "live": "Vue en direct", + "recording": "Enregistrement le plus récent", + "recordings": "Galerie d'enregistrements", + "snapshot": "Instantané le plus récent", + "snapshots": "Galerie d'instantanés", + "timeline": "Vue chronologique" + } + } + }, + "display_modes": { + "grid": "", + "single": "" + }, + "editor": { + "add_new_camera": "Ajouter une nouvelle caméra", + "button": "Bouton", + "camera": "Caméra", + "cameras": "Appareils photo", + "cameras_secondary": "Quelles caméras afficher sur cette carte", + "delete": "Supprimer", + "dimensions": "Dimensions", + "dimensions_secondary": "Options de dimensions et de forme", + "image": "Image", + "image_secondary": "Options d'affichage d'image statique", + "live": "En direct", + "live_secondary": "Options d'affichage de la caméra en direct", + "media_gallery": "Galerie des médias", + "media_gallery_secondary": "Options de la galerie multimédia", + "media_viewer": "Visionneuse de médias", + "media_viewer_secondary": "Visionneuse de médias statiques (clips, instantanés ou enregistrements)", + "menu": "Menu", + "menu_secondary": "Options d'apparence et de convivialité du menu", + "move_down": "Descendre", + "move_up": "Déplacer vers le haut", + "overrides": "Les remplacements sont actifs", + "overrides_secondary": "Remplacements de configuration dynamique détectés", + "performance": "Performance", + "performance_secondary": "Options de performances de la carte", + "timeline": "Chronologie", + "timeline_secondary": "Options de chronologie des événements", + "upgrade": "Mise à niveau", + "upgrade_available": "Une mise à niveau automatique de la configuration de la carte est disponible", + "view": "Voir", + "view_secondary": "Ce que la carte doit montrer et comment la montrer" + }, + "elements": { + "ptz": { + "down": "Bas", + "home": "Origine", + "left": "Gauche", + "right": "Droite", + "up": "Haut", + "zoom_in": "Zoomer", + "zoom_out": "Dézoomer" + } + }, + "error": { + "awaiting_live": "", + "could_not_render_elements": "Impossible de restituer les éléments de l'image", + "could_not_resolve": "", + "diagnostics": "Diagnostic de la carte. Veuillez enlever les informations confidentielles avant de les partager", + "download_no_media": "Aucun média à télécharger", + "download_sign_failed": "Impossible de signer l'URL du média à télécharger", + "duplicate_camera_id": "ID de caméra Frigate en double pour la caméra suivante, utilisez le paramètre « ID » pour identifier de manière unique les caméras", + "empty_response": "Réponse vide reçue de Home Assistant pour la demande", + "failed_response": "Échec de la réponse de Home Assistant à la demande", + "failed_retain": "Impossible de conserver l'événement", + "failed_sign": "Impossible de signer l'URL de Home Assistant", + "image_load_error": "L'image n'a pas pu être chargée", + "invalid_configuration": "Configuration invalide", + "invalid_configuration_no_hint": "Aucune indication de localisation disponible (type incorrect ou manquant ?)", + "invalid_elements_config": "Configuration des éléments d'image invalide", + "invalid_response": "Réponse non valide reçue de Home Assistant pour la demande", + "jsmpeg_no_player": "Impossible de démarrer le lecteur JSMPEG", + "live_camera_no_endpoint": "Impossible d'obtenir le point de terminaison de la caméra pour ce fournisseur en direct (configuration incomplète ?)", + "live_camera_not_found": "L'entité caméra configurée n'a pas été trouvée", + "live_camera_unavailable": "Caméra indisponible", + "no_camera_engine": "Impossible de déterminer le moteur approprié pour la caméra", + "no_camera_entity": "Impossible de trouver l'entité de caméra", + "no_camera_entity_for_triggers": "Une entité caméra est requise pour détecter automatiquement les déclencheurs", + "no_camera_id": "Impossible de déterminer l'identifiant de la caméra suivante. Il faudra peut-être définir le paramètre « ID » manuellement", + "no_camera_name": "Impossible de déterminer le nom de la caméra Frigate pour la caméra (ou l'une de ses dépendances). Veuillez spécifier soit « camera_entity » soit « camera_name ».", + "no_dashboard_or_view": "", + "no_live_camera": "Le paramètre camera_entity doit être défini et valide pour ce fournisseur en direct", + "no_supported_camera": "", + "no_supported_cameras": "", + "reconnecting": "Reconnexion", + "too_many_automations": "Trop d'appels d'automatisation imbriqués, veuillez vérifier votre configuration pour les boucles", + "troubleshooting": "Vérifier le dépannage", + "unknown": "Erreur inconnue", + "upgrade_available": "Une mise à niveau automatisée de la configuration de la carte est disponible, veuillez visiter l'éditeur visuel de la carte", + "webrtc_card_reported_error": "La carte WebRTC a signalé une erreur", + "webrtc_card_waiting": "En attente du chargement de la carte WebRTC..." + }, + "event": { + "camera": "Caméra", + "duration": "Durée", + "in_progress": "En cours", + "score": "Score", + "seek": "Chercher", + "start": "Commencer", + "tag": "Étiqueter", + "what": "Quoi", + "where": "Où" + }, + "media_filter": { + "all": "Tous", + "camera": "Caméra", + "favorite": "Préféré", + "media_type": "Type de support", + "media_types": { + "clips": "Extraits", + "recordings": "Enregistrements", + "snapshots": "Instantanés" + }, + "not_favorite": "Pas favori", + "select_camera": "Sélectionnez une caméra...", + "select_favorite": "Sélectionnez un favori...", + "select_media_type": "Sélectionnez le type de média...", + "select_tag": "Sélectionnez la balise...", + "select_what": "Sélectionnez quoi...", + "select_when": "Sélectionnez quand...", + "select_where": "Sélectionnez où...", + "tag": "Étiqueter", + "what": "Quoi", + "when": "Quand", + "whens": { + "custom": "", + "past_month": "Mois passé", + "past_week": "La semaine dernière", + "today": "Aujourd'hui", + "yesterday": "Hier" + }, + "where": "Où" + }, + "media_viewer": { + "unseekable": "" + }, + "recording": { + "camera": "Caméra", + "duration": "Durée", + "events": "Événements", + "in_progress": "En cours", + "seek": "Chercher", + "start": "Commencer" + }, + "thumbnail": { + "download": "Télécharger des médias", + "no_thumbnail": "Aucune vignette disponible", + "retain_indefinitely": "Les médias seront conservés indéfiniment", + "timeline": "Voir les médias dans la chronologie" + }, + "timeline": { + "select_date": "Choisir une date" + } +} diff --git a/src/localize/languages/it.json b/src/localize/languages/it.json index 6af6a999..7acdea38 100644 --- a/src/localize/languages/it.json +++ b/src/localize/languages/it.json @@ -11,9 +11,6 @@ "cameras": { "camera_entity": "Entità della telecamera", "capabilities": { - "disable": "", - "disable_except": "", - "editor_label": "", "capabilities": { "clips": "", "favorite-events": "", @@ -25,7 +22,10 @@ "seek": "", "snapshots": "", "substream": "" - } + }, + "disable": "", + "disable_except": "", + "editor_label": "" }, "cast": { "dashboard": { @@ -48,6 +48,7 @@ "aspect_ratio": "", "editor_label": "", "layout": { + "editor_label": "", "fit": "Adatta al layout", "fits": { "contain": "Il supporto è contenuto/in cassetta delle lettere", @@ -82,7 +83,6 @@ }, "stream": "nome del flusso go2rtc" }, - "hide": "Nascondi la videocamera dall'interfaccia utente", "icon": "Icona per questa telecamera (Autoidentificato dall'entità)", "id": "ID univoco per questa telecamera in questa carta", "image": { @@ -323,6 +323,7 @@ }, "draggable": "Il visualizzatore multimediale può essere trascinato oppure può scorrere", "lazy_load": "Il media Viewer viene caricato pigramente nel carosello", + "snapshot_click_plays_clip": "", "transition_effect": "Effetto di transizione del visualizzatore multimediale", "transition_effects": { "none": "Nessuna transizione", @@ -358,10 +359,12 @@ "image": "Immagine", "live": "Abitare", "media_player": "Invia a Media Player", + "microphone": "", "mute": "", "play": "", "priority": "Priorità", "ptz": "", + "recordings": "", "screenshot": "", "snapshots": "Istantanee", "substreams": "Flusso/i secondario/i", @@ -383,6 +386,7 @@ "styles": { "hidden": "Menu nascosto", "hover": "Menu al passaggio del mouse", + "hover-card": "", "none": "Nessun menu", "outside": "Menu esterno", "overlay": "Menu di overlay" @@ -456,6 +460,8 @@ "current": "Vista corrente", "image": "Immagine statica", "live": "Dal vivo", + "recording": "", + "recordings": "", "snapshot": "Snapshot più recente", "snapshots": "Galleria delle istantanee", "timeline": "Vista della timeline" @@ -489,6 +495,8 @@ "move_up": "Sposta verso l'alto", "overrides": "La sovrascrittura è attiva", "overrides_secondary": "Rilevate sovrascritture della configurazione dinamica", + "performance": "", + "performance_secondary": "", "timeline": "Timeline", "timeline_secondary": "Opzioni della timeline degli eventi", "upgrade": "Aggiornamento", @@ -538,7 +546,6 @@ "no_supported_camera": "", "no_supported_cameras": "", "reconnecting": "Riconnessione", - "timeline_no_cameras": "Nessuna telecamera damostrare in Frigate nella timeline", "too_many_automations": "", "troubleshooting": "Controllare la risoluzione dei problemi", "unknown": "Errore sconosciuto", @@ -553,6 +560,7 @@ "score": "Punteggio", "seek": "Cercare", "start": "Avvia", + "tag": "", "what": "Che cosa", "where": "Dove" }, @@ -570,6 +578,7 @@ "select_camera": "Seleziona fotocamera...", "select_favorite": "Seleziona preferito...", "select_media_type": "Seleziona il tipo di supporto...", + "select_tag": "", "select_what": "Seleziona cosa...", "select_when": "Seleziona quando...", "select_where": "Seleziona dove...", @@ -597,6 +606,7 @@ "start": "Inizio" }, "thumbnail": { + "download": "", "no_thumbnail": "Nessuna miniatura disponibile", "retain_indefinitely": "L'evento sarà mantenuto indefinitamente", "timeline": "Vedi evento nella timeline" diff --git a/src/localize/languages/pt-BR.json b/src/localize/languages/pt-BR.json index bec02933..8e566333 100644 --- a/src/localize/languages/pt-BR.json +++ b/src/localize/languages/pt-BR.json @@ -11,9 +11,6 @@ "cameras": { "camera_entity": "Entidade da Câmera", "capabilities": { - "disable": "", - "disable_except": "", - "editor_label": "", "capabilities": { "clips": "", "favorite-events": "", @@ -25,7 +22,10 @@ "seek": "", "snapshots": "", "substream": "" - } + }, + "disable": "", + "disable_except": "", + "editor_label": "" }, "cast": { "dashboard": { @@ -48,6 +48,7 @@ "aspect_ratio": "", "editor_label": "", "layout": { + "editor_label": "", "fit": "Ajuste de layout", "fits": { "contain": "A mídia é contida no cartão", @@ -82,7 +83,6 @@ }, "stream": "Nome do stream do go2rtc" }, - "hide": "Ocultar câmera da interface do usuário", "icon": "Ícone para esta câmera (detectado automaticamente pela entidade)", "id": "ID exclusivo para esta câmera nesse cartão", "image": { @@ -359,6 +359,7 @@ "image": "Imagem", "live": "Ao vivo", "media_player": "Enviar para o reprodutor de mídia", + "microphone": "", "mute": "", "play": "", "priority": "Prioridade", @@ -545,7 +546,6 @@ "no_supported_camera": "", "no_supported_cameras": "", "reconnecting": "Reconectando", - "timeline_no_cameras": "Nenhuma câmera do Frigate para mostrar na linha do tempo", "too_many_automations": "", "troubleshooting": "Verifique a solução de problemas", "unknown": "Erro desconhecido", diff --git a/src/localize/languages/pt-PT.json b/src/localize/languages/pt-PT.json index 36460227..e153b660 100644 --- a/src/localize/languages/pt-PT.json +++ b/src/localize/languages/pt-PT.json @@ -11,9 +11,6 @@ "cameras": { "camera_entity": "Entidade da Câmera", "capabilities": { - "disable": "", - "disable_except": "", - "editor_label": "", "capabilities": { "clips": "", "favorite-events": "", @@ -25,7 +22,10 @@ "seek": "", "snapshots": "", "substream": "" - } + }, + "disable": "", + "disable_except": "", + "editor_label": "" }, "cast": { "dashboard": { @@ -48,6 +48,7 @@ "aspect_ratio": "", "editor_label": "", "layout": { + "editor_label": "", "fit": "Fit", "fits": { "contain": "Conter", @@ -82,7 +83,6 @@ }, "stream": "Stream" }, - "hide": "Esconder", "icon": "Ícone para esta câmera (detectado automaticamente pela entidade)", "id": "ID exclusivo para esta câmera nesse cartão", "image": { @@ -237,6 +237,11 @@ "snapshots": "Instantâneos" }, "show_recordings": "Mostrar gravações", + "style": "", + "styles": { + "ribbon": "", + "stack": "" + }, "window_seconds": "A duração padrão da visualização da linha do tempo em segundos" } }, @@ -247,7 +252,9 @@ "dynamic": "A proporção se ajusta à mídia", "static": "Proporção estática", "unconstrained": "Proporção irrestrita" - } + }, + "max_height": "", + "min_height": "" }, "image": { "mode": "Modo de visualização de imagem", @@ -316,6 +323,7 @@ }, "draggable": "Visualizador de eventos pode ser arrastado/deslizado", "lazy_load": "A mídia do Visualizador de eventos é carregada lentamente no carrossel", + "snapshot_click_plays_clip": "", "transition_effect": "Efeito de transição do Visualizador de eventos", "transition_effects": { "none": "Sem transição", @@ -351,10 +359,12 @@ "image": "Imagem", "live": "Ao vivo", "media_player": "Enviar para o reprodutor de mídia", + "microphone": "", "mute": "", "play": "", "priority": "Prioridade", "ptz": "", + "recordings": "", "screenshot": "", "snapshots": "Instantâneos", "substreams": "substreams", @@ -376,6 +386,7 @@ "styles": { "hidden": "Menu oculto", "hover": "Menu suspenso", + "hover-card": "", "none": "Sem menu", "outside": "Menu externo", "overlay": "Menu sobreposto" @@ -449,6 +460,8 @@ "current": "Visualização atual", "image": "Imagem estática", "live": "Visualização ao vivo", + "recording": "", + "recordings": "", "snapshot": "Snapshot mais recente", "snapshots": "Galeria de Snapshots", "timeline": "Visualização da linha do tempo" @@ -482,6 +495,8 @@ "move_up": "Subir", "overrides": "As substituições estão ativas", "overrides_secondary": "Substituições de configuração dinâmica detectadas", + "performance": "", + "performance_secondary": "", "timeline": "Linha do tempo", "timeline_secondary": "Opções do evento da linha do tempo", "upgrade": "Actualização", @@ -531,7 +546,6 @@ "no_supported_camera": "", "no_supported_cameras": "", "reconnecting": "A voltar a ligar", - "timeline_no_cameras": "Nenhuma câmera do Frigate para mostrar na linha do tempo", "too_many_automations": "", "troubleshooting": "Verifique a solução de problemas", "unknown": "Erro desconhecido", @@ -546,6 +560,7 @@ "score": "Pontuação", "seek": "Procurar", "start": "Início", + "tag": "", "what": "O quê", "where": "Onde" }, @@ -563,9 +578,11 @@ "select_camera": "Seleciona a camara", "select_favorite": "Seleciona o favorito", "select_media_type": "Seleciona o tipo de media", + "select_tag": "", "select_what": "Seleciona", "select_when": "Seleciona quando", "select_where": "Seleciona onde", + "tag": "", "what": "O que", "when": "Quando", "whens": { @@ -589,6 +606,7 @@ "start": "Começar" }, "thumbnail": { + "download": "", "no_thumbnail": "Nenhuma miniatura disponível", "retain_indefinitely": "Evento será retido por tempo indeterminado", "timeline": "Ver evento na linha do tempo" diff --git a/src/localize/localize.ts b/src/localize/localize.ts index efefeae5..76b8361a 100644 --- a/src/localize/localize.ts +++ b/src/localize/localize.ts @@ -62,6 +62,8 @@ export const loadLanguages = async (hass: HomeAssistant): Promise => { languages[lang] = await import('./languages/pt-PT.json'); } else if (lang === 'pt_BR') { languages[lang] = await import('./languages/pt-BR.json'); + } else if (lang === 'fr') { + languages[lang] = await import('./languages/fr.json'); } if (lang) {