{ "language": { "display_name": "Français (French)", "select_language": "Sélectionner la langue :", "current_language": "Langue actuelle : {language}", "restart_required": "Les modifications de langue prendront effet après le redémarrage de l'application.", "english": "Anglais", "spanish": "Espagnol", "portuguese": "Portugais", "russian": "Russe", "chinese": "Chinois", "german": "Allemand", "french": "Français", "hindi": "Hindi", "indonesian": "Indonésien", "turkish": "Turc", "polish": "Polonais", "italian": "Italien", "arabic": "Arabe", "japanese": "Japonais", "help_text": "Sélectionnez votre langue préférée pour l'interface.", "restart_notice": "Le changement de langue prendra effet après le redémarrage de l'application." }, "app": { "title": "YTSage", "version": "v{version}", "ready": "Prêt" }, "formats": { "show_formats": "Afficher les formats :", "video_format": "Format vidéo :", "audio_format": "Format audio :", "no_formats": "Aucun format disponible", "loading": "Chargement des formats...", "select": "Sélectionner", "quality": "Qualité", "extension": "Extension", "resolution": "Résolution", "file_size": "Taille du fichier", "codec": "Codec", "audio": "Audio", "fps": "IPS", "hdr": "HDR", "will_merge_audio": "L'audio sera fusionné", "has_audio": "✓ Contient de l'audio", "audio_only": "Audio uniquement", "best_4k": "Meilleure (4K)", "best_2k": "Meilleure (2K)", "high_1080p": "Haute (1080p)", "high_720p": "Haute (720p)", "medium_480p": "Moyenne (480p)", "low_quality": "Qualité faible", "best_audio": "Meilleur audio", "high_audio": "Audio élevé", "medium_audio": "Audio moyen", "low_audio": "Audio faible", "audio_only_resolution": "Audio uniquement" }, "buttons": { "reset": "Réinitialiser", "download": "Télécharger", "pause": "Pause", "resume": "Reprendre", "cancel": "Annuler", "browse": "Parcourir", "clear": "Effacer", "ok": "OK", "apply": "Appliquer", "close": "Fermer", "run_command": "Exécuter la commande", "custom_command_help": "Aide", "about": "À propos", "analyze": "Analyser", "paste_url": "Coller l'URL", "select_videos": "Sélectionner les vidéos...", "video": "Vidéo", "audio_only": "Audio uniquement", "custom_options": "Options personnalisées", "trim_video": "Découper la vidéo", "download_settings": "Paramètres de téléchargement", "update": "Mettre à jour yt-dlp", "select_defaults": "Sélectionner par défaut", "select_all": "Tout sélectionner", "deselect_all": "Tout désélectionner", "open_folder": "Ouvrir l'emplacement du dossier", "history": "Historique", "save_playlist": "Enregistrer la playlist sous" }, "dialogs": { "custom_options": "Options personnalisées", "settings": "Paramètres", "select_folder": "Sélectionner le dossier de téléchargement", "sponsorblock_categories": "Catégories SponsorBlock", "sponsorblock_description": "Choisissez les types de segments vidéo à supprimer automatiquement pendant le téléchargement.\nSponsorBlock utilise des données soumises par la communauté pour identifier ces segments.", "select_subtitles": "Sélectionner les sous-titres", "filter_languages_placeholder": "Filtrer les langues (ex: en, fr)...", "no_subtitles_available": "Aucun sous-titre disponible", "matching": "correspondant", "ytdlp_log_title": "Journal yt-dlp", "filter_playlist_placeholder": "Filtrer les vidéos..." }, "tabs": { "cookies": "Se connecter avec des cookies", "custom_command": "Commande personnalisée", "proxy": "Proxy", "language": "Langue", "updater": "Mise à jour" }, "cookies": { "help_text": "Choisissez comment fournir les cookies pour l'authentification.\nCeci permet de télécharger des vidéos privées et des fichiers audio de haute qualité.", "cookie_source": "Source des cookies", "use_cookie_file": "Utiliser un fichier de cookies", "extract_from_browser": "Extraire du navigateur", "recommended": "Recommandé", "cookie_file": "Fichier de cookies", "cookie_file_placeholder": "Chemin vers le fichier cookies.txt...", "browser_selection": "Sélection du navigateur", "browser_help": "Sélectionnez le navigateur depuis lequel extraire les cookies :", "browser_label": "Navigateur :", "profile_label": "Profil :", "profile_placeholder": "Par défaut", "browser_extract_message": "Les cookies du navigateur seront extraits lors de l'application", "file_selected_message": "Fichier de cookies sélectionné - Cliquez sur OK pour appliquer", "select_file_title": "Sélectionner le fichier de cookies", "file_filter": "Fichiers de cookies (*.txt *.lwp)", "file_selected_title": "Fichier de cookies appliqué", "file_applied_message": "Fichier de cookies appliqué : {path}", "browser_selected_title": "Cookies du navigateur appliqués", "browser_applied_message": "Les cookies du navigateur seront extraits de : {browser}", "cleared_title": "Cookies effacés", "cleared_message": "Les paramètres des cookies ont été effacés", "active_browser": "✓ Actifs : cookies du navigateur ({browser})", "active_file": "✓ Actif : fichier cookies ({file})", "none_active": "○ Aucun cookie actif", "remember_settings": "Mémoriser les paramètres des cookies au prochain démarrage" }, "custom_command": { "help_text": "Entrez votre commande yt-dlp personnalisée ci-dessous. L'URL actuelle sera automatiquement ajoutée.

Pour la liste complète des options et exemples d'utilisation cliquez ici pour voir la documentation officielle yt-dlp.

Note : Le chemin de téléchargement et le modèle de nom de fichier sont gérés automatiquement.", "input_label": "Arguments yt-dlp :", "input_placeholder": "Entrez les arguments yt-dlp ici...\n\nEx : --extract-audio --audio-format mp3", "output_label": "Sortie de la commande :", "output_placeholder": "La sortie de la commande apparaîtra ici...", "command_placeholder": "Entrer une commande yt-dlp personnalisée...", "command_help": "Espaces réservés disponibles :\n{url} - URL de la vidéo\n{output} - Dossier de sortie\n\nExemple : --write-info-json --write-thumbnail", "full_command": "🔧 Commande complète : {command}", "command_success": "✅ Commande personnalisée exécutée avec succès !", "command_failed": "❌ Commande échouée avec le code de sortie {code}", "command_error": "❌ Erreur lors de l'exécution de la commande personnalisée : {error}", "error_no_url": "❌ Erreur : aucune URL fournie. Veuillez saisir une URL dans la fenêtre principale.", "error_no_command": "❌ Erreur : aucune commande fournie. Veuillez saisir des arguments yt-dlp.", "executing": "🚀 Exécution de la commande yt-dlp personnalisée", "url_label": "📍 URL : {url}", "args_label": "⚙️ Arguments : {command}", "download_path_label": "📁 Chemin de téléchargement : {path}", "separator": "==================================================" }, "proxy": { "help_text": "Configurer les paramètres proxy pour les téléchargements. Laisser vide pour une connexion directe.", "main_proxy": "Proxy principal", "main_proxy_help": "Serveur proxy principal pour tous les téléchargements. Prend en charge les protocoles HTTP/HTTPS et SOCKS5.", "proxy_url_label": "URL du proxy :", "proxy_url_placeholder": "http://proxy:port ou socks5://proxy:port", "proxy_examples": "Exemples :\n• HTTP : http://proxy.example.com:8080\n• SOCKS5 : socks5://proxy.example.com:1080", "geo_proxy": "Proxy de contournement géographique", "geo_proxy_help": "Proxy secondaire spécialement pour contourner les restrictions géographiques.", "geo_proxy_url_label": "URL du proxy de contournement géographique :", "geo_proxy_url_placeholder": "http://geo-proxy:port", "clear_main_proxy": "Effacer le proxy principal", "clear_geo_proxy": "Effacer le proxy géographique", "proxy_url": "URL du proxy", "proxy_placeholder": "http://proxy:port ou socks5://proxy:port", "geo_bypass": "Proxy de contournement géographique (pour les restrictions géographiques)", "geo_bypass_placeholder": "http://proxy:port pour contourner le géo-blocage", "invalid_main_url": "Format d'URL de proxy principal invalide", "invalid_geo_url": "Format d'URL de proxy géographique invalide", "main_configured": "Proxy principal configuré", "geo_configured": "Proxy géographique configuré", "set_title": "Proxy défini", "set_message": "Proxy principal défini et enregistré : {proxy}", "geo_set_title": "Proxy géo défini", "geo_set_message": "Proxy de vérification géographique défini et enregistré : {proxy}", "cleared_title": "Paramètres proxy effacés", "cleared_message": "Tous les paramètres proxy ont été effacés et enregistrés.", "saved_main": "Proxy principal enregistré : {proxy}", "saved_geo": "Proxy géo enregistré : {proxy}" }, "download": { "preparing": "Préparation du téléchargement...", "starting": "🚀 Démarrage du téléchargement...", "fetching_info": "🔍 Récupération des informations vidéo...", "preparing_streams": "🎯 Préparation des flux vidéo...", "downloading_audio": "⏬ Téléchargement audio...", "downloading_video": "⏬ Téléchargement vidéo...", "downloading_subtitle": "⏬ Téléchargement des sous-titres...", "downloading": "⏬ Téléchargement...", "completed": "✅ Téléchargement terminé !", "video_completed": "✅ Téléchargement vidéo terminé !", "audio_completed": "✅ Téléchargement audio terminé !", "subtitle_completed": "✅ Téléchargement des sous-titres terminé !", "completed_cleaning": "✅ Téléchargement terminé ! Nettoyage...", "cancelled": "Téléchargement annulé", "processing_playlist": "📋 Traitement des données de la playlist...", "paused": "Téléchargement en pause", "resumed": "Téléchargement repris", "merging_formats": "✨ Post-traitement : Fusion des formats...", "removing_sponsor_segments": "✨ Post-traitement : Suppression des segments sponsorisés...", "speed": "Vitesse", "eta": "Temps restant", "please_enter_url": "Veuillez d'abord entrer une URL.", "please_set_path": "Veuillez d'abord définir un chemin de téléchargement.", "please_enter_url_and_path": "Veuillez entrer une URL et définir un chemin de téléchargement.", "please_select_format": "Veuillez d'abord sélectionner un format.", "downloading_fallback": "⚡ Téléchargement..." }, "update": { "title": "Mettre à jour yt-dlp", "checking": "Vérification des mises à jour...", "update_available": "Mise à jour disponible !\nVersion actuelle : {current}\nDernière version : {latest}", "up_to_date": "yt-dlp est à jour (Version {version})", "could_not_determine": "Impossible de déterminer les versions.", "error_comparing": "Erreur lors de la comparaison des versions : {error}", "update_available_failed": "Mise à jour disponible ! (Comparaison échouée)\nActuelle : {current}\nDernière : {latest}", "updating": "Mise à jour...", "initializing": "🚀 Initialisation du processus de mise à jour...", "checking_current": "🔍 Vérification de l'installation actuelle...", "found_at": "📍 yt-dlp trouvé à : {path}", "error_getting_path": "❌ Erreur lors de la récupération du chemin yt-dlp : {error}", "updating_binary": "📦 Mise à jour du binaire yt-dlp géré par l'application...", "update_failed": "❌ Échec de la mise à jour yt-dlp. Veuillez réessayer ou vérifier votre connexion Internet.", "binary_updated": "✅ Binaire mis à jour avec succès !", "update_failed_stderr": "❌ Échec de la mise à jour yt-dlp : {error}", "update_timeout": "❌ Délai d'attente de la mise à jour yt-dlp dépassé.", "unexpected_error": "❌ Erreur inattendue lors de la mise à jour : {error}", "already_up_to_date": "✅ yt-dlp est déjà à jour !", "update_success": "✅ yt-dlp a été mis à jour avec succès !", "already_latest": "yt-dlp est à jour (version {version})", "network_error": "❌ Erreur réseau pendant la mise à jour : {error}", "general_error": "❌ La mise à jour a échoué : {error}", "update_in_progress_title": "Mise à jour en cours", "update_in_progress_message": "yt-dlp est en cours de mise à jour. Veuillez patienter un instant." }, "about": { "title": "À propos de YTSage", "version": "Version {version}", "description": "Téléchargeur YouTube moderne avec une interface PySide6 propre.", "author": "Par : {author}", "github": "GitHub : {repo}", "system_info": "Informations système", "loading": "🔄 Chargement des informations système...", "refresh": "🔄", "open_logs": "📂 Journaux", "logs_tooltip": "Ouvrir le dossier des journaux d'application", "refreshing": "🔄 Actualisation...", "refresh_failed": "Échec de l'actualisation", "refresh_failed_message": "Impossible d'actualiser les informations de version.", "detected": "✓ Détecté", "missing": "✗ Manquant", "not_available": "Non disponible" }, "time_range": { "title": "Découper la vidéo", "time_range_group": "Plage horaire", "start_time": "Heure de début (HH:MM:SS)", "end_time": "Heure de fin (HH:MM:SS)", "start_placeholder": "00:00:00", "end_placeholder": "00:00:00", "start_time_placeholder": "Heure de début (HH:MM:SS)", "end_time_placeholder": "Heure de fin (HH:MM:SS)", "force_keyframes": "Forcer les images clés aux points de coupe", "help_text": "Définissez les heures de début et de fin pour découper la vidéo.\nLaissez vide pour télécharger la vidéo complète.", "invalid_format": "Format d'heure invalide. Utilisez le format HH:MM:SS.", "start_after_end": "L'heure de début ne peut pas être après l'heure de fin." }, "settings": { "title": "Paramètres de téléchargement", "download_path": "Chemin de téléchargement", "browse": "Parcourir...", "speed_limit": "Limite de vitesse", "speed_limit_placeholder": "Aucune", "generic_mode": "Mode générique", "enable_generic_mode": "Activer le mode générique (prise en charge des sites non-YouTube)", "generic_mode_help": "Permet le téléchargement depuis Dailymotion, CBC Gem et d'autres sites pris en charge par yt-dlp.", "auto_update_ytdlp": "Mise à jour automatique de yt-dlp", "enable_auto_updates": "Activer les mises à jour automatiques de yt-dlp", "update_frequency": "Fréquence de mise à jour :", "check_startup": "Vérifier à chaque démarrage (minimum 1 heure entre les vérifications)", "check_daily": "Vérifier quotidiennement", "check_weekly": "Vérifier hebdomadairement", "check_updates_now": "Mettre à jour yt-dlp", "update_check_title": "Vérification de mise à jour", "could_not_determine_version": "Impossible de déterminer la version actuelle de yt-dlp.", "update_available_dialog": "Mise à jour disponible !\n\nActuelle : {current}\nDernière : {latest}\n\nCliquez sur OK pour continuer la mise à jour.", "up_to_date_dialog": "yt-dlp est à jour !\n\nVersion actuelle : {version}", "error_checking_updates": "Erreur lors de la vérification des mises à jour : {error}", "settings_saved_title": "Paramètres sauvegardés", "settings_saved_message": "Les paramètres de mise à jour automatique ont été sauvegardés avec succès !", "error_title": "Erreur", "failed_save_settings": "Échec de la sauvegarde des paramètres de mise à jour automatique.", "error_saving_settings": "Erreur lors de la sauvegarde des paramètres de mise à jour automatique : {error}", "ytdlp_channel": "Canal de version yt-dlp", "ytdlp_channel_stable": "Stable (Versions testées)", "ytdlp_channel_nightly": "Nightly (Mises à jour quotidiennes, recommandé par yt-dlp)", "ytdlp_channel_description": "Choisissez entre les versions stables et nightly. Les versions nightly sont mises à jour quotidiennement avec les dernières corrections et fonctionnalités. Vous pouvez changer de canal à tout moment.", "ytdlp_switching_channel": "Passage au canal {channel}...", "ytdlp_channel_switched": "✅ Passage réussi au canal {channel} !", "ytdlp_channel_switch_failed": "❌ Échec du changement de canal : {error}", "ytdlp_current_channel": "Canal actuel : {channel}", "app_updates_title": "Mises à jour YTSage", "check_app_updates": "Vérifier les mises à jour YTSage au démarrage", "check_beta_updates": "Recevoir les mises à jour bêta", "auto_update_title": "Paramètres de mise à jour automatique", "auto_update_header": "🔄 Paramètres de mise à jour automatique", "auto_update_description": "Configurez les mises à jour automatiques pour yt-dlp afin de vous assurer d'avoir toujours les dernières fonctionnalités et corrections de bogues.", "current_status": "État actuel", "current_version_label": "Version actuelle de yt-dlp : Vérification...", "last_check_label": "Dernière vérification de mise à jour : Jamais", "next_check_label": "Prochaine vérification : Basée sur les paramètres", "manual_check_button": "🔍 Vérifier les mises à jour maintenant", "update_frequency_group": "Fréquence de mise à jour", "save_settings": "Sauvegarder les paramètres", "settings_saved_successfully": "✅ Paramètres sauvegardés avec succès !", "error_saving": "❌ Erreur lors de la sauvegarde des paramètres : {error}", "output_format_settings": "Paramètres du format de sortie", "force_output_format": "Forcer le format de sortie lors de la fusion", "preferred_format": "Format préféré :", "force_format_help": "Lorsqu'activé, les vidéos fusionnées seront converties vers votre format préféré. Désactivez pour laisser yt-dlp décider automatiquement.", "format_mp4": "MP4 (Plus compatible)", "format_webm": "WebM (Moderne, ouvert)", "format_mkv": "MKV (Riche en fonctionnalités)", "audio_format_settings": "Paramètres du format audio", "force_audio_format": "Forcer le format audio pour les téléchargements audio uniquement", "audio_normalization": "Normalisation audio (EBU R128)", "audio_normalization_help": "Lorsqu'il est activé, les pistes audio seront normalisées. Remarque : Cela nécessite un réencodage, un format audio spécifique (comme MP3 ou M4A) doit donc être forcé.", "preferred_audio_format": "Format audio préféré :", "force_audio_format_help": "Lorsqu'activé, les téléchargements audio uniquement seront convertis dans votre format préféré. Cela s'applique uniquement lors du téléchargement de formats audio.", "audio_format_best": "Meilleur (Pas de conversion)", "audio_format_aac": "AAC (Bon pour l'édition)", "audio_format_mp3": "MP3 (Universel)", "audio_format_flac": "FLAC (Sans perte)", "audio_format_wav": "WAV (Non compressé)", "audio_format_opus": "Opus (Efficace)", "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (Ouvert)", "filename_format": "Format du nom de fichier", "filename_format_help": "Variables disponibles : %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. La syntaxe standard des modèles de sortie yt-dlp est prise en charge.", "tab_general": "Général", "tab_format": "Format", "tab_file": "Fichier", "concurrent_fragments": "Connexions simultanées", "concurrent_fragments_help": "Nombre de connexions par téléchargement. Des valeurs plus élevées contournent le bridage mais peuvent entraîner des blocages temporaires si elles sont trop élevées. Par défaut : 1.", "defaults_settings": "Paramètres de sélection par défaut", "default_video_quality": "Résolution vidéo par défaut (hauteur) :", "default_subtitle_language": "Langue(s) des sous-titres par défaut :", "defaults_help": "Définissez votre hauteur de vidéo préférée et les langues des sous-titres (séparées par des virgules). Elles seront sélectionnées automatiquement si elles sont disponibles." }, "main_ui": { "url_placeholder": "Entrer l'URL de la vidéo ou de la playlist YouTube", "url_placeholder_generic": "Entrez l'URL d'une vidéo ou d'une playlist depuis n'importe quel site pris en charge", "merge_subtitles": "Fusionner les sous-titres", "save_thumbnail": "Sauvegarder la miniature", "save_description": "Sauvegarder la description", "embed_chapters": "Intégrer les chapitres", "subtitles_selected": "{count} sélectionné(s)", "all_selected": "Tous sélectionnés", "select_videos_all": "Sélectionner les vidéos... (Tous sélectionnés)", "please_enter_url": "Veuillez d'abord entrer une URL", "error_title": "Erreur", "cookie_file_selected_title": "Fichier de cookies sélectionné", "cookie_file_selected_message": "Fichier de cookies sélectionné : {path}", "browser_cookies_selected_title": "Cookies de navigateur sélectionnés", "browser_cookies_selected_message": "Les cookies du navigateur seront extraits depuis : {browser}", "error_no_format_info": "Erreur : Aucune information de format disponible.", "error_extract_info": "Erreur : Impossible d'extraire les informations de base de la vidéo. Veuillez vérifier votre lien.", "analyzing_preparing": "Préparation de la requête...", "analyzing_extracting_basic": "Extraction des informations de base...", "analyzing_extracting_detailed": "Extraction des informations détaillées...", "analyzing_processing_video": "Traitement des données vidéo...", "analyzing_processing_formats": "Traitement des formats...", "analyzing_loading_thumbnail": "Chargement de la miniature...", "analyzing_processing_subtitles": "Traitement des sous-titres...", "analyzing_updating_table": "Mise à jour du tableau des formats...", "analysis_complete": "Analyse terminée !", "analyzing_extracting_ytdlp": "Extraction d'informations...", "analyzing_fetching_first_video": "Récupération des formats pour la première vidéo...", "analyzing_processing_data": "Traitement des données...", "analyzing_processing_formats_ytdlp": "Traitement des formats...", "analyzing_loading_thumbnail_ytdlp": "Chargement de la miniature...", "analyzing_processing_subtitles_ytdlp": "Traitement des sous-titres...", "select_subtitles": "Sélectionner les sous-titres...", "sponsorblock_categories": "Catégories SponsorBlock...", "invalid_url_or_enter": "URL invalide ou veuillez entrer une URL.", "zero_selected": "0 sélectionné", "analyze_first_tooltip": "Veuillez d'abord analyser la vidéo", "audio_mode_disabled": "Non disponible en mode audio uniquement", "select_subtitles_first": "Veuillez d'abord sélectionner les sous-titres", "settings_tooltip": "Chemin actuel : {path}\nLimite de vitesse : {speed_limit}", "speed_limit_none": "Aucune", "open_folder_error": "Impossible d’ouvrir le dossier : {error}", "time_range_set": "Section définie : {section}" }, "sponsorblock": { "sponsor": "Sponsor", "sponsor_desc": "Publicité payante, recommandations payantes et publicité directe", "selfpromo": "Auto-promotion non payante", "selfpromo_desc": "Publicité non payante pour le contenu propre du créateur", "interaction": "Rappel d'interaction", "interaction_desc": "Les spectateurs sont invités à aimer, s'abonner ou suivre sur les réseaux sociaux", "intro": "Intro", "intro_desc": "Introduction de la vidéo qui peut être ignorée", "outro": "Outro/Cartes de fin", "outro_desc": "Crédits ou fin de la vidéo", "preview": "Aperçu/Récapitulatif", "preview_desc": "Bref récapitulatif des vidéos précédentes ou aperçu du contenu à venir", "music_offtopic": "Section hors-musique", "music_offtopic_desc": "Uniquement pour les vidéos musicales. Marque les sections non-musicales", "filler": "Digression de remplissage", "filler_desc": "Scènes de diversion ajoutées uniquement comme remplissage ou pour l'humour" }, "video_info": { "channel": "Chaîne", "views": "👁 Vues", "likes": "👍 J'aime", "upload_date": "📅 Date de mise en ligne", "duration": "⏱ Durée", "unknown_channel": "Chaîne inconnue", "unknown_date": "Date inconnue", "unknown_title": "Titre inconnu" }, "command": { "running": "En cours...", "run_command": "Exécuter la commande" }, "selection": { "none_selected": "0 sélectionné", "one_selected": "1 catégorie sélectionnée", "count_selected": "{count} sélectionné(s)" }, "status": { "ready": "Prêt", "file_exists": "⚠️ Le fichier existe déjà", "video_file_exists": "⚠️ Le fichier vidéo existe déjà", "audio_file_exists": "⚠️ Le fichier audio existe déjà", "subtitle_file_exists": "⚠️ Le fichier de sous-titres existe déjà", "cancelling": "Annulation du téléchargement...", "thumbnail_saved": "✅ Miniature enregistrée : {filename}", "thumbnail_error": "❌ Erreur de miniature : {error}", "thumbnail_no_image": "Aucune miniature disponible à enregistrer" }, "errors": { "playlist_no_videos": "Erreur : La playlist ne contient aucune vidéo valide.", "playlist_no_url": "Erreur : Impossible d'obtenir l'URL de la première vidéo de la playlist.", "ytdlp_not_found": "Erreur : Exécutable yt-dlp introuvable. Veuillez d'abord installer yt-dlp.", "ytdlp_not_found_path": "Erreur : Exécutable yt-dlp introuvable. Cela pourrait être dû à une installation incorrecte ou à un problème de PATH.", "no_data_returned": "Erreur : Aucune donnée renvoyée par yt-dlp", "no_format_info": "Erreur : Aucune information de format disponible.", "analysis_timeout": "Erreur : Délai d'analyse dépassé. Veuillez réessayer.", "invalid_speed_limit": "❌ Erreur : Valeur de limite de vitesse invalide définie dans les paramètres.", "ytdlp_failed": "Erreur : yt-dlp a échoué : {error}", "parse_failed": "Erreur : Échec de l'analyse de la sortie yt-dlp : {error}", "analysis_failed": "Erreur : Échec de l'analyse : {error}", "generic_error": "Erreur : {error}", "download_failed_return_code_conflict": "Téléchargement échoué avec le code de retour {return_code}. Cela peut être dû à un conflit entre plusieurs installations de yt-dlp. Essayez de désinstaller toute version installée au niveau du système (par ex. via snap ou apt) puis redémarrez l’application.", "download_failed_return_code": "Téléchargement échoué avec le code de retour {return_code}", "direct_command_error": "Erreur dans la commande directe : {error}", "private_video": "Cette vidéo pourrait être privée. Veuillez utiliser des cookies depuis les options personnalisées." }, "update_dialog": { "title": "Mise à jour disponible", "new_version_available": "Une nouvelle version de YTSage est disponible !", "current_version_label": "Version actuelle :", "latest_version_label": "Dernière version :", "changelog": "Journal des modifications", "download_update": "Télécharger la mise à jour", "remind_later": "Me le rappeler plus tard" }, "playlist": { "unknown": "Playlist inconnue", "total_videos": "Total des vidéos : {count}", "display_format": "Playlist : {title} | {count} vidéos", "select_videos_title": "Sélectionner les Vidéos de la Playlist", "save_as": "Enregistrer la playlist sous", "save_success_title": "Succès", "saved_successfully": "Playlist enregistrée avec succès.", "save_error_title": "Erreur d'enregistrement", "no_videos_to_save": "Aucune vidéo de la playlist n'a été récupérée !", "save_error_msg": "Échec de l'enregistrement de la playlist." }, "subtitle_selection": { "count_selected": "{count} sélectionné(s)" }, "file_exists_dialog": { "title": "Le fichier existe déjà", "message": "Le fichier existe déjà :\n{filename}", "info": "Cette vidéo a déjà été téléchargée." }, "auto_update": { "last_check_never": "Dernière vérification : Jamais", "last_check": "Dernière vérification : {time}", "next_check_disabled": "Prochaine vérification : Désactivée", "next_check_startup": "Prochaine vérification : Au démarrage", "next_check_overdue": "Prochaine vérification : Maintenant (en retard)", "next_check": "Prochaine vérification : {time}", "next_check_error": "Prochaine vérification : Erreur de calcul", "checking": "🔄 Vérification...", "check_now": "🔍 Vérifier les mises à jour maintenant", "current_version": "Version actuelle de yt-dlp : {version}" }, "url_validation": { "empty_url": "L'URL ne peut pas être vide", "invalid_format": "Format d'URL invalide", "invalid_scheme": "L'URL doit commencer par http:// ou https://", "missing_domain": "URL invalide : nom de domaine manquant", "unsupported_platform": "YTSage ne prend en charge que les URLs YouTube et YouTube Music.\nLe domaine '{domain}' n'est pas pris en charge.", "invalid_youtu_be": "URL youtu.be invalide : ID de vidéo manquant" }, "ytdlp_errors": { "private_video": "Ceci est une vidéo privée. Vous pouvez la télécharger en vous connectant à votre compte avec des cookies.\nAllez dans 'Options Personnalisées' → 'Se connecter avec des Cookies' → 'Extraire les cookies du navigateur' pour vous authentifier.", "age_restricted": "Cette vidéo est soumise à une restriction d'âge. Vous devez être connecté pour y accéder.\nUtilisez 'Options Personnalisées' → 'Se connecter avec des Cookies' pour vous authentifier avec votre compte.", "geo_blocked": "Cette vidéo n'est pas disponible dans votre région (géo-bloquée).\nVous pourriez avoir besoin d'utiliser un VPN ou la vidéo pourrait être restreinte dans votre pays.", "video_unavailable": "Cette vidéo a été supprimée ou n'est plus disponible.\nLa vidéo a peut-être été supprimée par l'uploader ou retirée en raison de violations de politique.", "live_stream": "Ceci est un flux en direct qui ne peut pas être téléchargé pendant qu'il est actif.\nAttendez la fin du flux, puis essayez de télécharger la version archivée.", "playlist_error": "Impossible d'accéder à cette playlist. Elle peut être privée, supprimée ou vide.\nVérifiez si la playlist existe et est accessible publiquement.", "network_error": "Erreur de connexion réseau. Veuillez vérifier votre connexion Internet et réessayer.\nSi le problème persiste, le serveur vidéo pourrait être temporairement indisponible.", "invalid_url": "URL invalide ou non prise en charge. Veuillez vérifier le lien et réessayer.\nAssurez-vous d'utiliser une URL YouTube, Vimeo ou autre plateforme prise en charge valide.", "premium_content": "Ce contenu nécessite YouTube Premium ou l'adhésion à la chaîne.\nVous devez être connecté avec un compte ayant accès à ce contenu.", "copyright_blocked": "Cette vidéo est bloquée en raison de réclamations pour droits d'auteur.\nLe propriétaire du contenu a restreint l'accès à cette vidéo.", "extraction_failed": "Échec de l'extraction des informations vidéo. Cela pourrait être un problème temporaire.\nVeuillez réessayer dans quelques minutes ou vérifier si le lien vidéo est correct.", "generic_error": "Impossible d'extraire les informations vidéo. Veuillez vérifier votre lien.\nDétails techniques : {error}" }, "history": { "title": "Historique des Téléchargements", "clear_all": "Tout Effacer", "clear_confirm_title": "Effacer l'Historique?", "clear_confirm_message": "Êtes-vous sûr? Cela ne peut pas être annulé.", "no_history": "Pas encore d'historique", "no_history_description": "Vos téléchargements apparaîtront ici", "loading": "Chargement de l’historique...", "search_placeholder": "Rechercher...", "open_location": "Ouvrir l'Emplacement", "redownload": "Télécharger à Nouveau", "remove": "Supprimer", "file_not_found": "Fichier non trouvé", "file_not_found_message": "Le fichier a été déplacé ou supprimé:\n{path}", "downloaded_on": "Téléchargé: {date}", "file_size": "Taille: {size}", "audio_download": "Audio", "video_download": "Vidéo", "remove_confirm_title": "Supprimer?", "remove_confirm_message": "Supprimer de l'historique?\n\n{title}", "item_removed": "Supprimé", "history_cleared": "Historique effacé", "entries_count": "{count} téléchargements", "one_entry": "1 téléchargement", "redownload_confirm_title": "Télécharger à Nouveau?", "redownload_confirm_message": "Télécharger à nouveau?\n\n{title}", "redownload_started": "Téléchargement démarré", "no_url_error": "Aucune URL trouvée dans l’entrée d’historique", "redownload_failed": "Impossible de relancer le téléchargement : {error}" }, "ffmpeg": { "installation_title": "Installation de FFmpeg", "installation_message": "YTSage a besoin de FFmpeg pour traiter les vidéos.\n\nChoisissez une option d’installation ci‑dessous :", "install_button": "Installer FFmpeg", "manual_guide": "Guide manuel", "installation_failed": "L’installation de FFmpeg a rencontré un problème.", "already_installed": "FFmpeg est déjà installé !", "installation_complete": "Installation terminée. Vous pouvez fermer cette boîte de dialogue et continuer à utiliser YTSage.", "installing": "Installation de FFmpeg... Veuillez patienter", "install_success": "FFmpeg a été installé avec succès !", "installation_complete_close": "Installation terminée. Vous pouvez maintenant fermer cette boîte de dialogue et continuer à utiliser YTSage.", "try_manual": "Veuillez essayer d’utiliser le guide d’installation manuel à la place." }, "ytdlp_setup": { "required_title": "Configuration de yt-dlp requise", "description": "YTSage nécessite yt-dlp pour télécharger des vidéos.

yt-dlp est introuvable dans le répertoire local de l’application. YTSage doit configurer yt-dlp pour votre système {os_name}.

Veuillez choisir une option ci‑dessous :", "option_auto": "Télécharger automatiquement (recommandé)", "option_manual": "Sélectionner le chemin manuellement", "setup_button": "Configurer yt-dlp", "downloading": "Téléchargement de yt-dlp...", "success": "yt-dlp a été installé avec succès !", "error": "Erreur : {error}", "download_failed_title": "Téléchargement échoué", "download_failed_message": "Échec du téléchargement de yt-dlp : {error}", "select_executable_title": "Sélectionner l’exécutable yt-dlp", "copied_to": "yt-dlp copié avec succès vers {path}", "setup_error_title": "Erreur de configuration", "copy_error": "Erreur lors de la copie de yt-dlp dans le répertoire de l’application : {error}", "invalid_executable_title": "Exécutable invalide", "invalid_executable_message": "Le fichier sélectionné ne semble pas être un exécutable yt-dlp valide.", "verify_error": "Erreur lors de la vérification de l’exécutable yt-dlp : {error}", "setup_failed_title": "Configuration échouée", "setup_failed_message": "La configuration de yt-dlp a échoué. Certaines fonctionnalités peuvent ne pas fonctionner correctement.", "success_dialog_title": "Configuration de yt-dlp", "success_dialog_message": "yt-dlp a été configuré avec succès à l’emplacement :\n{path}", "file_filter_windows": "Fichiers exécutables (*.exe)", "file_filter_all": "Tous les fichiers (*)" }, "ffmpeg_updater": { "title": "Vérificateur de Version FFmpeg", "current_version": "Version Actuelle:", "latest_version": "Dernière Version:", "status_up_to_date": "✓ À jour", "status_update_available": "⚠ Mise à jour disponible", "status_not_installed": "✗ Non installé", "status_idle": "Cliquez sur 'Vérifier la Version' pour commencer", "status_checking": "🔄 Vérification de la version...", "check_updates": "Vérifier la Version", "check_failed": "Échec de la vérification de la version. Vérifiez votre connexion Internet.", "description": "Vérifiez votre version de FFmpeg et comparez-la avec la dernière version disponible.", "guide_info": " Pour installer ou mettre à jour FFmpeg, cliquez ici pour consulter notre guide d'installation complet." }, "deno": { "setup_required": "Configuration de Deno requise", "setup_description": "YTSage nécessite Deno pour exécuter certaines fonctionnalités.

Deno n'a pas été trouvé dans le répertoire local de l'application. YTSage doit configurer Deno pour votre système {os_name}.

Cliquez sur 'Configurer Deno' pour télécharger et installer automatiquement.", "setup_button": "Configurer Deno", "downloading": "Téléchargement de Deno...", "extracting": "Extraction de Deno...", "verifying": "Vérification de Deno...", "success": "Deno a été installé avec succès !", "download_failed": "Échec du téléchargement", "download_error": "Échec du téléchargement de Deno : {error}", "verification_failed": "Échec de la vérification SHA256. Le fichier téléchargé peut être corrompu ou altéré.", "setup_failed": "Échec de la configuration de Deno. Certaines fonctionnalités peuvent ne pas fonctionner correctement.", "setup_error": "Erreur de configuration" }, "deno_updater": { "title": "Vérificateur et Mise à Jour de Version Deno", "description": "Vérifiez votre version de Deno et mettez à jour vers la dernière version.", "current_version": "Version Actuelle :", "latest_version": "Dernière Version :", "status_idle": "Cliquez sur 'Vérifier les Mises à Jour' pour commencer", "status_checking": "🔄 Vérification des mises à jour...", "status_up_to_date": "✓ À jour", "status_update_available": "⚠ Mise à jour disponible", "status_not_installed": "✗ Non installé", "check_updates": "Vérifier les Mises à Jour", "update_now": "Mettre à Jour Deno", "updating": "🔄 Mise à jour de Deno...", "update_success": "✅ Deno a été mis à jour avec succès !", "update_failed": "❌ Échec de la mise à jour : {error}", "check_failed": "Échec de la vérification des mises à jour. Veuillez vérifier votre connexion Internet." } }