Files
bot_Tamiseur/src/locales/fr.json
Zachary Guénot e714e94f85
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 3m43s
Fix duplicate streamWatching, locale guild et console log/error
2025-06-11 02:50:58 +02:00

558 lines
32 KiB
JSON

{
"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 <username>` 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 <host>` !",
"version_not_set": "La version de l'API Freebox n'est pas configurée, veuillez la configurer avec `/database edit guildFbx.version <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"
}
}
}