{ "common": { "database_not_found": "Données de base de données inexistantes !", "database_exists": "Les données de la base de données existent déjà !", "database_initialized": "Les données de la base de données ont été initialisées avec succès !", "command_owner_only": "Cette commande ne peut être utilisée que par le propriétaire du bot.", "command_server_only": "Cette commande doit être utilisée sur un serveur.", "private_message_not_available": "Cette commande n'est pas disponible en message privé.", "error_occurred": "Une erreur s'est produite !", "success": "Succès !", "failed": "Échec !", "none": "Aucune", "unknown": "Inconnu", "configure": "Configurer", "enable": "Activer", "disable": "Désactiver", "add": "Ajouter", "remove": "Supprimer", "list": "Liste", "status": "Statut", "channel": "Canal", "no_channel_selected": "Aucun canal sélectionné !", "channel_configured_success": "✅ Canal configuré avec succès !", "invalid_text_channel": "Veuillez fournir un canal textuel valide !", "invalid_channel_type": "Veuillez fournir un canal textuel valide !", "no_permission": "Vous n'avez pas la permission d'utiliser cette commande." }, "player": { "common": { "enabled": "✅ Activé", "disabled": "❌ Désactivé", "not_configured": "Non configuré", "channel_not_found": "Canal introuvable", "configure_channel": "Configurer le canal" }, "track_skipped": "Musique **{title}** de **{author}** passée !", "disconnect": "J'ai quitté le vocal !", "not_in_voice": "T'es pas dans un vocal, idiot !", "not_in_same_voice": "T'es pas dans mon vocal !", "no_queue": "Aucune file d'attente en cours, recherche une musique plutôt !", "no_current_track": "Aucune musique en cours, recherche en une plutôt !", "no_session": "Aucune session d'écoute en cours !", "no_track": "Aucune musique en cours de lecture !", "track_added": "🎵 **{title}** a été ajouté à la file d'attente !", "track_added_playlist": "🎵 **{count}** musiques ont été ajoutées à la file d'attente !", "invalid_search": "Aucun résultat trouvé pour votre recherche !", "paused_status": "Lecture mise en pause", "resumed_status": "Lecture reprise", "stopped_status": "Lecture arrêtée", "skipped": "Musique suivante", "previous": "Musique précédente", "shuffled": "File d'attente mélangée", "volume_max": "Le volume est déjà au maximum !", "volume_min": "Le volume est déjà au minimum !", "loop_off": "Répétition désactivée", "loop_track": "Répétition du titre activée", "loop_queue": "Répétition de la file d'attente activée", "loop_autoplay": "Lecture automatique activée", "no_lyrics_found": "Pas de paroles trouvées !", "no_audio_found": "Aucun fichier audio trouvé dans ce channel.", "choose_audio_file": "Choisissez un fichier audio :", "took_too_long": "T'as mis trop de temps à choisir !", "paused": "Musique mise en pause !", "resumed": "Musique reprise !", "stopped": "Musique arrêtée !", "volume_changed": "🔊 | Volume modifié à {volume}% !", "volume_changed_down": "🔉 | Volume modifié à {volume}% !", "previous_played": "Musique précédente jouée !", "uptime": "Uptime", "requested_by": "Demandé par {user}", "next_track": "Musique suivante", "no_next_track": "Aucune", "no_track_found": "Aucune musique trouvée pour **{query}** !", "music_restarted": "Relancement de la musique suite à mon redémarrage...", "now_playing": "Lecture de **{title}** de **{author}** !", "queue_empty": "File d'attente vide !", "leaving_empty_channel": "Je quitte le vocal car il est vide depuis trop longtemps.", "no_queue_search_instead": "Aucune file d'attente en cours, recherche une musique plutôt !", "no_track_playing": "Aucune musique en cours de lecture.", "now_playing_no_queue": "Lecture en cours : {track} \nAucune musique dans la file d'attente.", "now_playing_with_queue": "Lecture en cours : {track} \nFile d'attente actuelle : \n{tracks}", "loading_track": "Chargement de la musique **{title}** de **{author}** sur **{source}**...", "duration": "Durée", "source": "Source", "volume": "Volume", "progression": "Progression", "progression_paused": "Progression (en pause)", "loop": "Loop", "loop_modes": { "off": "Off", "track": "Titre", "queue": "File d'Attente", "autoplay": "Autoplay" }, "sources": { "spotify": "Spotify", "youtube": "Youtube", "unknown": "Inconnu" }, "disco": { "title": "🪩 Configuration du Module Disco", "description": "Le mode Disco met à jour automatiquement le panneau de lecture toutes les 3 secondes", "description_enabled": "Le mode Disco est activé ! Les effets visuels et sonores seront appliqués lors de la lecture de musique.", "description_disabled": "Le mode Disco est désactivé. Activez-le pour profiter des effets visuels et sonores lors de la lecture de musique.", "channel_not_configured": "Aucun canal configuré", "configure_channel_first": "❌ Impossible d'activer le mode Disco ! Veuillez d'abord configurer un canal avec le bouton **Configurer Canal**.", "effects_applied": "Les effets Disco seront appliqués dans {channel}.", "select_channel": "Veuillez sélectionner le canal où appliquer les effets Disco :", "channel_configured_success": "Canal Disco configuré avec succès ! Les effets seront appliqués dans **{channel}**." }, "queue": { "title": "🎵 File d'attente", "empty": "La file d'attente est vide", "current_track": "**En cours :** {track}", "next_tracks": "**Suivant :**", "track_entry": "{index}. {title} - {author}" } }, "twitch": { "common": { "enabled": "✅ Activé", "disabled": "❌ Désactivé", "not_configured": "Non configuré", "channel_not_found": "Canal introuvable", "configure_channel": "Configurer le canal" }, "title": "🎮 Configuration du Module Twitch", "module_disabled": "Le module Twitch est désactivé !", "module_disabled_activate": "Le module Twitch est désactivé, veuillez l'activer avec `/twitch enable` !", "channel_not_configured": "Aucun canal configuré", "streamers_count": "{count} configuré(s)", "no_streamers": "Aucun streamer configuré pour le moment", "streamer_not_found": "**{username}** n'est pas un nom d'utilisateur Twitch valide !", "user_not_found_id": "Utilisateur introuvable pour l'ID {id}", "streamer_already_added": "**{username}** est déjà ajouté comme streamer !", "streamer_not_in_list": "**{username}** n'est pas un streamer !", "streamer_added": "**{username}** (ID {id}) a été ajouté comme streamer !", "streamer_removed": "**{username}** a été supprimé de la liste des streamers !", "no_streamers_to_remove": "Aucun streamer à supprimer !", "notifications_channel_set": "Les notifications Twitch seront envoyées dans **{channel}** !", "configure_channel_first": "Veuillez d'abord configurer un canal avec le bouton **Configurer Canal** !", "select_notification_channel": "Veuillez sélectionner le canal où envoyer les notifications Twitch :", "select_notification_channel_placeholder": "Sélectionner un canal pour les notifications", "select_streamer_to_remove": "Sélectionnez le streamer à supprimer :", "select_streamer_prompt": "Sélectionnez le streamer à supprimer :", "user_not_found": "Utilisateur introuvable", "fetch_error": "Erreur de récupération", "no_streamers_list": "Aucun streamer n'est actuellement ajouté !", "streamer_removed_success": "✅ **{streamer}** a été supprimé avec succès de la liste des streamers !", "streamer_not_found_list": "Streamer introuvable !", "no_streamer_selected": "Aucun streamer sélectionné !", "add_streamer_command": "Pour ajouter un streamer, utilisez la commande `/twitch streamer add ` avec l'autocomplétion.\nVous pouvez également sélectionner un membre pour le mentionner dans les notifications.", "managed_by": "Géré par {bot}", "notifications_sent_to": "Les notifications Twitch seront envoyées dans {channel}.", "list": { "title": "📋 Liste des Streamers", "empty_description": "Aucun streamer configuré pour le moment", "discord_not_associated": "Non associé", "user_not_found": "Utilisateur introuvable", "fetch_error": "Erreur de récupération", "footer": "{count} streamer(s) configuré(s)" }, "notification": { "online": { "everyone": "Hey @everyone !\n{streamer} est en live sur **Twitch**, venez !", "everyone_with_mention": "Hey @everyone !\n<@{discordId}> est en live sur **Twitch**, venez !", "title_unknown": "Nom du live inconnu", "author": "🔴 {streamer} EST ACTUELLEMENT EN LIVE ! 🎥", "description": "Joue à {game} avec {viewers} viewers" }, "offline": { "everyone": "Re @everyone !\n{streamer} a terminé son live sur **Twitch** !", "everyone_with_mention": "Re @everyone !\n<@{discordId}> a terminé son live sur **Twitch** !", "author": "⚫ C'EST FINI, LE LIVE A DURÉ {duration} ! 📼", "duration_unknown": "JE SAIS PAS COMBIEN DE TEMPS" } }, "ready": { "no_streamers_configured": "Le module Twitch est activé mais aucun canal n'est configuré, veuillez utiliser `/twitch channel` !", "user_not_found": "Utilisateur avec l'ID {userId} introuvable, ignoré...", "stream_restoration": "Restauration de la surveillance pour {userName} (ID {userId}) - Stream en cours détecté", "monitoring_restored": "Surveillance restaurée avec succès pour {userName}", "message_not_found": "Message introuvable pour {userName}, nettoyage du messageId", "stream_offline_cleanup": "Stream hors ligne détecté pour {userName}, nettoyage du messageId", "cleanup_error": "Erreur lors du nettoyage du messageId pour {userId}" } }, "amp": { "module_disabled": "Le module AMP est désactivé, veuillez l'activer avec `/database edit guildAmp.enabled True` !", "host_not_configured": "L'hôte AMP n'est pas configuré, veuillez le configurer d'abord !", "login_required": "Tu dois te connecter avant d'effectuer une autre commande !", "logged_in": "Tu es connecté au panel sous **{username}** !", "instance_list": "Liste des {count} instances :", "running": "En cours", "port": "Port", "module": "Module", "hosts_found": "{count} hôte(s) trouvé(s) !", "success": "Ok !", "manage_success": "Ok !", "restart_success": "Ok !" }, "freebox": { "common": { "enabled": "✅ Activé", "disabled": "❌ Désactivé", "not_configured": "Non configuré", "module_enabled": "Le module est activé !", "module_disabled": "Le module est désactivé !", "configured": "✅ Configuré", "not_configured_error": "❌ Non configuré", "general_error": "Une erreur s'est produite lors de l'exécution de la commande !" }, "general": { "module_disabled": "Le module Freebox est désactivé, veuillez l'activer avec `/database edit guildFbx.enabled True` !", "host_not_set": "L'hôte Freebox n'est pas configuré, veuillez le configurer avec `/database edit guildFbx.host ` !", "version_not_set": "La version de l'API Freebox n'est pas configurée, veuillez la configurer avec `/database edit guildFbx.version ` !", "app_token_not_set": "Le token d'app Freebox n'est pas configuré, veuillez initialiser l'app avec `/freebox init` !", "incomplete_configuration": "Configuration Freebox incomplète ! Vérifiez que le module, l'hôte, la version et le token sont configurés.", "user_denied_access": "L'utilisateur a refusé l'accès de l'app à la Freebox.", "file_saved": "Fichier sauvegardé, vous pouvez maintenant interagir avec votre Freebox !", "no_file_sent": "Aucun fichier n'a été envoyé dans votre message !", "no_message_sent": "Aucun message n'a été envoyé avant la limite de temps !", "send_ca_file": "Veuillez envoyer un autre message avec le fichier CA attaché, vous avez une minute.", "invalid_action": "Action invalide !", "invalid_enabled_value": "Valeur d'activation invalide !" }, "auth": { "challenge_failed": "Échec de récupération du challenge !", "session_failed": "Échec de récupération de la session !", "session_token_failed": "Échec de récupération du token de session !", "track_id_failed": "Échec de récupération du track ID, veuillez réessayer plus tard." }, "api": { "version_failed": "Erreur lors de la récupération de la version de l'API : {error}", "connection_failed": "Échec de récupération des détails de connexion !", "connection_details": "Détails de connexion :\n{details}" }, "lcd": { "details": "Configuration LCD :\n{details}", "config_failed": "Échec de récupération de la configuration LCD !", "managed_by_other_bot": "Le contrôle des LEDs est géré par un autre bot sur ce serveur !", "leds_failed": "Échec du contrôle des LEDs !", "leds_success": "LEDs {status} avec succès !", "config_title": "💡 État LCD Freebox", "led_strip": "🌈 Bandeau LED", "led_strip_on": "✅ Allumé", "led_strip_off": "❌ Éteint", "brightness": "🔆 Luminosité", "orientation": "📱 Orientation", "orientation_portrait": "Portrait", "orientation_landscape": "Paysage", "auth_challenge_error": "❌ **Erreur d'authentification**\nImpossible d'obtenir le challenge", "auth_challenge_not_found": "❌ **Erreur d'authentification**\nChallenge introuvable", "auth_session_error": "❌ **Erreur d'authentification**\nImpossible de créer la session", "auth_token_not_found": "❌ **Erreur d'authentification**\nToken de session introuvable", "config_error": "❌ **Erreur LCD**\nImpossible de récupérer la configuration LCD", "unexpected_error": "❌ **Erreur**\nUne erreur inattendue s'est produite" }, "timer": { "auto": "⏰ Timer Automatique", "status": "**Statut du minuteur LED :**\n- État : {status}\n- Géré par : {managedBy}", "times_required": "Les heures du matin et du soir sont requises pour activer le minuteur !", "invalid_time_format": "Format d'heure invalide ! Utilisez le format HH:MM (ex: 08:00, 22:30)", "enabled": "✅ Minuteur LED activé !\n🌅 Allumage : {morningTime}\n🌙 Extinction : {nightTime}", "disabled": "❌ Minuteur LED désactivé !", "status_field": "**Statut:** {status}", "managed_by": "**Géré par:** {manager}", "morning": "**Heure matin:** `{time}`", "night": "**Heure soir:** `{time}`", "not_configured": "Non configuré", "no_manager": "Aucun" }, "status": { "title": "📊 Freebox Status", "config_section": "🔧 Configuration", "module_field": "**Module:** {status}", "host_field": "**Host:** {value}", "version_field": "**Version API:** {value}", "token_field": "**App Token:** {status}", "host_not_configured": "❌ Non configuré", "version_not_configured": "❌ Non configurée", "token_configured": "✅ Configuré", "token_not_configured": "❌ Non configuré", "timer_section": "💡 Timer LCD", "timer_enabled": "✅ Activé", "timer_disabled": "❌ Désactivé", "timer_no_manager": "Aucun", "timer_not_configured": "Non configuré" }, "test": { "connection_failed": "❌ Test de connexion échoué", "auth_challenge_failed": "❌ Échec du challenge d'authentification", "auth_challenge_not_found": "❌ Challenge d'authentification introuvable", "auth_session_failed": "❌ Échec de la session d'authentification", "auth_token_not_found": "❌ Token de session introuvable", "api_failed": "❌ Échec de l'appel API", "connection_success_title": "✅ Test de connexion réussi !", "api_field": "Version API", "api_version": "v{version}", "auth_field": "Authentification", "token_valid": "✅ Token valide", "connection_field": "État de la connexion", "connection_active": "✅ Connexion active", "connection_inactive": "❌ Connexion inactive", "connection_error": "❌ Erreur lors du test de connexion" }, "buttons": { "test_connection": "🔌 Tester la connexion", "lcd_status": "💡 Statut LCD", "refresh_status": "🔄 Actualiser le statut", "testing_connection": "🔌 Test de connexion en cours...", "connection_success": "✅ Connexion réussie !", "connection_test_failed": "❌ Échec du test de connexion", "connection_error": "Erreur de connexion : {error}", "lcd_status_title": "💡 Configuration LCD", "lcd_status_error": "❌ Échec de récupération du statut LCD", "lcd_status_error_details": "Erreur lors de la récupération du statut LCD : {error}", "status_refreshed": "🔄 Statut actualisé avec succès !", "status_test_connection": "Test Connexion", "status_lcd_status": "État LCD", "status_refresh": "Actualiser" }, "error": { "inval": "invalid request or parameters", "nodev": "no device found with this name/id", "noent": "no entity found with this name/id", "netdown": "network is down", "busy": "device is busy", "invalid_port": "invalid port", "insecure_password": "the password is too weak to enable remote access", "invalid_provider": "invalid ddns provider name", "invalid_next_hop": "invalid next hop address (should be a link local address)", "auth_required": "Invalid session token, or not session token sent", "invalid_token": "The app token you are trying to use is invalid or has been revoked", "pending_token": "The app token you are trying to use has not been validated by user yet", "insufficient_rights": "Your app permissions does not allow accessing this API", "denied_from_external_ip": "You are trying to get an app_token from a remote IP", "invalid_request": "Your request is invalid", "ratelimited": "Too many auth error have been made from your IP", "new_apps_denied": "New application token request has been disabled", "apps_denied": "API access from apps has been disabled", "internal_error": "Internal error", "no_panel": "No screen detected", "setup": "Unable to setup screen", "notsup": "Operation is not supported" } }, "boost": { "not_authorized": "Cette commande n'est autorisée que sur le serveur de Jujul Community !", "new_boost_title": "Nouveau boost de {username} !", "new_boost_description": "Merci à toi pour ce boost.\nGrâce à toi, on a atteint {count} boosts !", "check_channel": "Va voir dans <#{channelId}> !" }, "welcome": { "title": "Salut {username} !", "description": "Bienvenue sur le serveur de **Jujul** !\nNous sommes actuellement {memberCount} membres !\nN'hésite pas à aller lire le <#797471924367786004> et à aller te présenter dans <#837138238417141791> !\nSi tu as des questions,\nn'hésite pas à les poser dans le <#837110617315344444> !\nBon séjour parmi nous !" }, "ping": { "pinging": "Ping en cours...", "response": "Websocket heartbeat: {heartbeat}ms.\nRoundtrip latency: {latency}ms" }, "salonpostam": { "papa": { "not_your_father": "T'es pas mon père, dégage !", "no_dm": "Je ne peux pas rejoindre ton vocal en message privé, papa !", "leaving_voice": "Je quitte le vocal, papa !", "joining_voice": "Je rejoins ton vocal, papa !", "already_connected": "Je suis déjà dans ton vocal, papa !" }, "crack": { "multiple_games_found": "J'ai trouvé plusieurs jeux pour \"{query}\" ! {list}", "game_found": "Voici ce que j'ai trouvé pour \"{query}\".\nTu peux aussi cliquer sur [ce lien]({link}) pour pouvoir télécharger le jeu direct !", "no_games_found": "J'ai rien trouvé pour \"{query}\" !", "selection_timeout": "T'as mis trop de temps à choisir !" }, "spam": { "started": "Spam" }, "parle": { "not_in_voice": "Tu dois être dans un salon vocal !", "member_not_in_voice": "Cette personne n'est pas dans un salon vocal !", "not_same_channel": "Cette personne n'est pas dans le même salon que toi !", "will_speak_over": "Je vais parler par dessus cette personne, pendant tout le temps où elle parlera !" }, "update": { "loading": "Changement...", "members_updated": "{count} Gens Posés !" } }, "buttons": { "labels": { "previous": "⏮️", "play_pause": "▶️", "pause": "⏸️", "stop": "⏹️", "skip": "⏭️", "volume_down": "🔉", "volume_up": "🔊", "shuffle": "🔀", "loop": "🔁", "configure_channel": "Configurer Canal", "enable": "Activer", "disable": "Désactiver", "list": "Liste", "add": "Ajouter", "remove": "Supprimer" } }, "selectmenus": { "placeholders": { "select_channel_notifications": "Sélectionner un canal pour les notifications", "select_channel_disco": "Sélectionner un canal pour les effets Disco", "select_streamer_remove": "Sélectionner un streamer à supprimer" } }, "locale": { "updated": "✅ Langue du serveur mise à jour de **{oldLanguage}** vers **{newLanguage}** !" }, "database": { "owner_only": "Cette commande ne peut être utilisée que par le propriétaire du bot !", "server_only": "Cette commande doit être utilisée sur un serveur !", "info_title": "Informations de la Base de Données", "guild_info": "Serveur **{name}** (ID: {id})", "already_exists": "Les données de la base de données pour **{name}** existent déjà !", "initialized": "Les données de la base de données pour **{name}** ont été initialisées avec succès !", "updated": "Les données de la base de données pour **{name}** ont été mises à jour avec succès !\n**{key}**: {oldValue} -> {value}" }, "console": { "discordjs": { "ready": "[DiscordJS] Ready - Connecté à Discord ! Connecté en tant que {tag}", "commands_registered": "[DiscordJS] Enregistrement de {count} commandes...", "commands_registered_guild": "[DiscordJS] Enregistrement de {count} commandes pour {guild}...", "event_triggered": "[DiscordJS] Événement {event} déclenché", "guild_create": "[DiscordJS] GuildCreate - Rejoint \"{name}\" avec {count} membres", "guild_update": "[DiscordJS] GuildUpdate - Serveur {name} mis à jour", "guild_member_add": "[DiscordJS] GuildMemberAdd - Aucun canal trouvé avec l'id \"{channelId}\" !", "interaction_create": { "command_not_found": "[DiscordJS] InteractionCreate - Aucune ChatInputCommand correspondant à {command} trouvée.", "command_launched": "[DiscordJS] InteractionCreate - ChatInputCommand '{command}' lancée par {user}", "command_error": "[DiscordJS] InteractionCreate - Erreur lors de l'exécution de {command}", "autocomplete_not_found": "[DiscordJS] InteractionCreate - Aucune AutocompleteRun correspondant à {command} trouvée.", "autocomplete_launched": "[DiscordJS] InteractionCreate - AutocompleteRun '{command}' lancée par {user}", "autocomplete_error": "[DiscordJS] InteractionCreate - Erreur lors de l'autocomplétion de {command}", "button_not_found": "[DiscordJS] InteractionCreate - Aucun Button avec l'id {id} trouvé.", "button_clicked": "[DiscordJS] InteractionCreate - Button '{id}' cliqué par {user}", "button_error": "[DiscordJS] InteractionCreate - Erreur lors du clic sur {id}", "selectmenu_not_found": "[DiscordJS] InteractionCreate - Aucun SelectMenu avec l'id {id} trouvé.", "selectmenu_used": "[DiscordJS] InteractionCreate - SelectMenu '{id}' utilisé par {user}", "selectmenu_error": "[DiscordJS] InteractionCreate - Erreur lors de l'utilisation de {id}" }, "error": "[DiscordJS] Error - Une erreur s'est produite : {message}", "boost": { "no_member": "[DiscordJS] Boost - Aucun membre trouvé !", "not_in_guild": "[DiscordJS] Boost - Je ne suis pas sur le serveur !", "no_channel": "[DiscordJS] Boost - Aucun channel trouvé avec l'id \"{channelId}\" !", "no_boost_role": "[DiscordJS] Boost - Aucun rôle de boost trouvé !" }, "replay": { "no_data": "[DiscordJS] Replay - Aucune donnée de replay pour le bot {botId}", "no_text_channel_id": "[DiscordJS] Replay - Aucun textChannelId configuré pour le bot {botId}", "no_voice_channel_id": "[DiscordJS] Replay - Aucun voiceChannelId configuré pour le bot {botId}", "text_channel_not_found": "[DiscordJS] Replay - Aucun textChannel trouvé avec l'id {channelId} pour le bot {botId}", "voice_channel_not_found": "[DiscordJS] Replay - Aucun voiceChannel trouvé avec l'id {channelId} pour le bot {botId}" } }, "discord_player": { "extractor_loaded": "[Discord-Player] Ready - Extracteur {extractor} chargé", "event_triggered": "[Discord-Player] Événement {event} déclenché", "error": "[Discord-Player] Error - Événement d'erreur général du lecteur : {message}", "player_error": "[Discord-Player] PlayerError - Événement d'erreur du lecteur : {message}", "debug": "[Discord-Player] Debug - Événement de débogage du lecteur : {message}", "disco": { "channel_not_configured": "[Discord-Player] PlayerDisco - {guild} Le canal n'est pas configuré !", "channel_not_found": "[Discord-Player] PlayerDisco - {guild} Aucun canal trouvé avec l'id {channelId}", "general_error": "[Discord-Player] Disco - Erreur générale du module Disco" }, "progress_saving": { "missing_ids": "[Discord-Player] ProgressSaving - GuildId ou BotId manquant !", "start": "[Discord-Player] ProgressSaving - Démarrage de la sauvegarde pour le serveur {guildId} (bot {botId})", "stop": "[Discord-Player] ProgressSaving - Arrêt de la sauvegarde pour le serveur {guildId} (bot {botId})", "error": "[Discord-Player] ProgressSaving - Erreur lors de la sauvegarde pour le serveur {guildId} (bot {botId})", "database_not_exist": "[Discord-Player] ProgressSaving - Les données de base n'existent pas !" }, "replay": { "connect_error": "[Discord-Player] Replay - Erreur lors de la connexion au canal vocal", "play_error": "[Discord-Player] Replay - Erreur lors de la lecture de la piste" }, "play": { "connect_error": "[Discord-Player] Play - Erreur lors de la connexion au canal vocal", "execution_error": "[Discord-Player] Play - Erreur lors de l'exécution de la piste" } }, "mongoose": { "connecting": "[Mongoose] Connexion à MongoDB...", "connected": "[Mongoose] Connecté à MongoDB !", "disconnected": "[Mongoose] Déconnecté de MongoDB !", "error": "[Mongoose] Une erreur s'est produite avec la connexion à la base de données : {message}", "event_triggered": "[Mongoose] Événement {event} déclenché", "guild_init": "[Mongoose] Initialisation du profil de serveur pour {name} ({id})", "guild_create": "[Mongoose] GuildCreate - Données de base pour le nouveau serveur \"{name}\" initialisées avec succès !", "locale_fetch_error": "[Mongoose] Erreur lors de la récupération de la locale du serveur {guildId}" }, "twitch": { "starting_listener": "[Twitch] Démarrage du listener avec {adapter}...", "stream_online": "[Twitch] Stream de {streamer} (ID {id}) maintenant en ligne, envoi des messages Discord...", "stream_offline": "[Twitch] Stream de {streamer} (ID {id}) maintenant hors ligne, édition des messages Discord...", "processing_guild": "[Twitch] Traitement du serveur : {name} (ID: {id}) pour le streamer {streamer}", "notification_failed": "[Twitch] StreamWatching - {guild} Génération de notification échouée avec le statut : {status}", "no_db_data": "[Twitch] StreamWatching - {guild} Aucune donnée BD trouvée", "streamer_not_found": "[Twitch] StreamWatching - {guild} Streamer {streamer} non trouvé dans ce serveur", "message_exists": "[Twitch] StreamWatching - {guild} Message existe déjà pour {streamer}, ignoré", "sending_notification": "[Twitch] StreamWatching - {guild} Envoi de notification pour {streamer}", "message_sent": "[Twitch] StreamWatching - {guild} Message envoyé avec l'ID : {id}", "error_processing_guild": "[Twitch] Erreur lors du traitement du serveur {name}", "guild_failed": "[Twitch] Serveur {index} échoué :", "user_operational": "[Twitch] Utilisateur {name} (ID {id}) opérationnel", "listener_registered": "[Twitch] Listener \"{type}\" enregistré pour {name} (ID {id})", "listener_removed": "[Twitch] Listener supprimé pour {name} (ID {id})", "unsubscribed": "[Twitch] Désabonné de {type} pour {id}", "start_watching": "[Twitch] StreamWatching - Démarrage du visionnage de {streamer} (ID {id}) sur {guildId}", "stop_watching": "[Twitch] StreamWatching - Arrêt du visionnage de {streamer} (ID {id})", "embed_missing": "[Twitch] StreamWatching - {guild} Embed manquant", "error_editing_message": "[Twitch] StreamWatching - {guild} Erreur lors de l'édition du message pour {streamer} (ID {id})", "error_watching": "[Twitch] StreamWatching - Erreur lors du visionnage de {streamer} (ID {id}) sur {guildId}", "database_not_exist": "[Twitch] StreamWatching - {guild} Les données de base n'existent pas !", "module_disabled": "[Twitch] StreamWatching - {guild} Module Twitch non activé ou ID de canal manquant", "channel_not_found": "[Twitch] StreamWatching - {guild} Canal avec l'ID {channelId} non trouvé pour les notifications Twitch", "user_data_not_found": "[Twitch] StreamWatching - {guild} Données utilisateur non trouvées pour {streamer} (ID {id})", "stream_data_not_found": "[Twitch] StreamWatching - {guild} Données de stream non trouvées pour {streamer} (ID {id})", "message_id_not_found": "[Twitch] StreamWatching - {guild} ID de message non trouvé pour {streamer} (ID {id})", "user_fetch_error": "[Twitch] Erreur lors de la récupération de l'utilisateur pour l'ID {id}", "starting_listener_ngrok": "[Twitch] Démarrage du listener avec ngrok...", "listener_removal_error": "[Twitch] Erreur lors de la suppression du listener pour {streamerName}", "missing_credentials": "[Twitch] TWITCH_APP_ID ou TWITCH_APP_SECRET manquant dans les variables d'environnement !", "starting_listener_port": "[Twitch] Démarrage du listener avec le port {port}...", "streamer_already_processing": "[Twitch] StreamWatching - {{{guildName}}} Streamer {broadcasterName} déjà en cours de traitement, ignoré", "stop_watching_error": "[Twitch] Erreur lors de l'arrêt du watching pour {streamer} (ID {id}) sur {guildId}" }, "freebox": { "lcd_timer_restored": "Minuteurs restaurés avec succès pour {guild} !", "authorization_pending": "[Freebox] Autorisation en attente...", "timer_scheduled": "[Freebox] Timer programmé pour {guildId} - Allumage: {nextMorning}, Extinction: {nextNight}", "timers_cleaned": "[Freebox] Timers nettoyés pour {guildId}", "all_timers_cleaned": "[Freebox] Tous les timers ont été nettoyés", "missing_configuration": "[Freebox] Configuration manquante pour le serveur {guildId}", "challenge_error": "[Freebox] Erreur lors de la récupération du challenge pour {guildId}", "challenge_not_found": "[Freebox] Challenge introuvable pour {guildId}", "session_error": "[Freebox] Erreur lors de la création de la session pour {guildId}", "session_token_not_found": "[Freebox] Token de session introuvable pour {guildId}", "leds_control_error": "[Freebox] Erreur lors du contrôle des LEDs pour {guildId}", "leds_success": "[Freebox] LEDs {status} avec succès pour {guildId}", "leds_error": "[Freebox] Erreur lors du contrôle des LEDs pour {guildId}", "lcd_status_error": "[Freebox] Erreur lors de la récupération de l'état LCD", "test_connection_error": "[Freebox] Erreur lors du test de connexion" } } }