{ "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": { "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" }, "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" }, "tabs": { "cookies": "Se connecter avec des cookies", "custom_command": "Commande personnalisée", "proxy": "Proxy", "language": "Langue" }, "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 de cookies ont été effacés" }, "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}" }, "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é" }, "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}" }, "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": "🔄", "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", "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}", "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}" }, "main_ui": { "url_placeholder": "Entrer l'URL de la vidéo ou de la playlist YouTube", "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": "Analyse (0%)... Préparation de la requête", "analyzing_extracting_basic": "Analyse (15%)... Extraction des informations de base", "analyzing_extracting_detailed": "Analyse (30%)... Extraction des informations détaillées", "analyzing_processing_video": "Analyse (45%)... Traitement des données vidéo", "analyzing_processing_formats": "Analyse (60%)... Traitement des formats", "analyzing_loading_thumbnail": "Analyse (75%)... Chargement de la miniature", "analyzing_processing_subtitles": "Analyse (85%)... Traitement des sous-titres", "analyzing_updating_table": "Analyse (95%)... Mise à jour du tableau des formats", "analysis_complete": "Analyse terminée !", "analyzing_extracting_ytdlp": "Analyse (30%)... Extraction d'informations avec l'exécutable yt-dlp", "analyzing_processing_data": "Analyse (60%)... Traitement des données", "analyzing_processing_formats_ytdlp": "Analyse (75%)... Traitement des formats", "analyzing_loading_thumbnail_ytdlp": "Analyse (85%)... Chargement de la miniature", "analyzing_processing_subtitles_ytdlp": "Analyse (90%)... 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é" }, "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..." }, "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}" }, "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" }, "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" }, "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", "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é" } }