{"translations":{"app":{"name":"Yubbit"},"site":{"nav":{"markets":"Marchés","futures":"Futures","earn":"Gagner","fees":"Frais","about":"À propos","support":"Support","listing":"Lister votre token","trade":"Trader","blog":"Blog","announcements":"Annonces","rewards":"Récompenses","tasks":"Tâches et récompenses","academy":"Académie","menu":"Menu","closeMenu":"Fermer le menu","affiliate":"Programme d’affiliation","api":"API","referral":"Parrainage","new":"NOUVEAU"},"hero":{"badge":"Spot & Futures · Marchés Yubbit","stat1":"Volume 24 h","stat2":"Actifs","stat3":"Frais","title":"Votre parcours crypto commence ici","subtitle":"Tradez en toute sécurité sur Yubbit avec des dépôts rapides, des frais bas et des outils professionnels. Tarification transparente, accès 24/7.","cta":"Créer un compte gratuit","users":"Approuvé par plus de 10 000 traders","livePrices":"Prix en direct"},"features":{"title":"Pourquoi Yubbit ?","secure":{"title":"Infrastructure sécurisée","desc":"La vérification KYC et les sessions chiffrées protègent votre compte."},"easy":{"title":"Trading rapide","desc":"Achat et vente instantanés, ordres limités et interface claire — sans encombrement."},"global":{"title":"Spot & Futures","desc":"Une seule plateforme pour le spot et les dérivés. Anglais et arabe pris en charge."}},"cta":{"title":"Entrez dans la crypto avec Yubbit","desc":"Ouvrez un compte en quelques minutes et explorez des marchés conçus pour les traders modernes."},"markets":{"desc":"Marchés en direct Yubbit — consultez les prix sans vous inscrire."},"blog":{"seoDescription":"Blog Yubbit — actualités crypto, guides et mises à jour de la plateforme.","subtitle":"Actualités, guides et conseils du monde crypto","badge":"Blog Yubbit","readMore":"Lire la suite →","empty":"Aucun article de blog pour le moment.","notFound":"Article introuvable","back":"← Blog"},"announcements":{"seoDescription":"Annonces Yubbit — mises à jour de la plateforme, campagnes et informations importantes.","subtitle":"Mises à jour de la plateforme, campagnes et informations importantes","badge":"Annonces","readMore":"Voir les détails →","empty":"Aucune annonce pour le moment.","notFound":"Annonce introuvable","back":"← Annonces"},"academy":{"seoDescription":"Académie Yubbit — apprenez le trading crypto, les graphiques et la gestion des risques.","subtitle":"Guides éducatifs pour les traders de tous niveaux","badge":"Académie Yubbit","readMore":"En savoir plus →","empty":"Aucune leçon d'académie pour le moment.","notFound":"Leçon introuvable","back":"← Académie"},"futures":{"seoTitle":"Trading Futures — Yubbit","seoDescription":"Tradez des futures sur Yubbit avec effet de levier. Long/short, marge isolée, TP/SL et effet de levier jusqu'à 500x.","badge":"Dérivés","title":"Trading Futures avec effet de levier","subtitle":"Ouvrez des positions longues et courtes, gérez le risque avec la marge isolée. TP/SL, protection contre la liquidation et graphiques professionnels — tout dans un seul panneau.","features":[{"icon":"📈","title":"Effet de levier jusqu'à 500x","desc":"Le levier maximal par coin est défini par l'administration — dimensionnez vos positions selon votre stratégie."},{"icon":"↕️","title":"Long & Short","desc":"Saisissez les opportunités sur les marchés haussiers et baissiers. La marge isolée limite le risque."},{"icon":"🎯","title":"Ordres TP / SL","desc":"Définissez à l'avance vos niveaux de take profit et stop loss. Les positions sont surveillées 24/7 en arrière-plan."},{"icon":"📊","title":"Graphiques TradingView","desc":"Graphiques en chandeliers professionnels, prix en direct et carnet de profondeur pour des décisions éclairées."},{"icon":"⚡","title":"Liquidation en temps réel","desc":"Consultez votre prix de liquidation en direct. Le moteur vérifie les positions toutes les 3 secondes."},{"icon":"🔒","title":"Séparé du Spot","desc":"Le solde Futures utilise une marge isolée. Spot et futures dans un seul portefeuille, avec une gestion du risque séparée."}],"ctaTitle":"Commencez à trader les futures","ctaSubtitle":"Inscrivez-vous, complétez le KYC et ouvrez votre première position futures BTCUSDT.","ctaRegister":"Créer un compte gratuit","ctaTrade":"Trader les Futures","topPairs":"Meilleures paires Futures","topPairsDesc":"Contrats perpétuels avec le plus grand volume sur 24 h sur Yubbit","viewAll":"Voir tous les marchés","tradeNow":"Trader maintenant","volume24h":"Vol. 24 h"},"earn":{"seoTitle":"Earn & Rendement — Yubbit","seoDescription":"Gagnez un revenu passif sur vos cryptos avec Yubbit Earn. Programmes de staking flexibles et fixes.","badge":"Revenu passif","title":"Earn — Faites fructifier votre crypto","subtitle":"Stakez USDT et d'autres actifs, gagnez un APY quotidien. Retirez à tout moment sur les programmes flexibles ; collectez les récompenses à maturité sur les programmes fixes.","features":[{"icon":"💰","title":"Stake flexible","desc":"Intérêts accumulés quotidiennement. Désengagez à tout moment et recevez instantanément vos gains dans votre portefeuille."},{"icon":"🔐","title":"Stake fixe","desc":"Verrouillez pour une durée définie. APY plus élevé à maturité — une sortie anticipée annule les récompenses."},{"icon":"📊","title":"APY transparent","desc":"L'APY de chaque programme est géré dans l'administration. Suivez vos gains en temps réel."},{"icon":"🛡️","title":"Verrouillage sécurisé","desc":"Les montants stakés sont conservés comme solde verrouillé. Le désengagement renvoie les fonds dans votre portefeuille."},{"icon":"⏱️","title":"Accumulation horaire","desc":"Les programmes flexibles accumulent des intérêts chaque heure et se composent quotidiennement."},{"icon":"🎁","title":"Programmes de campagne","desc":"Rejoignez des campagnes Earn spéciales créées par l'administration."}],"stepsTitle":"Comment gagner","steps":[{"step":"01","title":"Créer un compte","desc":"Inscrivez-vous et complétez la vérification KYC."},{"step":"02","title":"Déposer des fonds","desc":"Ajoutez USDT ou des actifs pris en charge à votre portefeuille."},{"step":"03","title":"Choisir un programme","desc":"Choisissez un programme Earn flexible ou fixe."},{"step":"04","title":"Collecter les récompenses","desc":"Retirez les gains quotidiens ou les récompenses à maturité vers votre portefeuille."}],"ctaTitle":"Commencez à gagner aujourd'hui","ctaSubtitle":"Allez dans Wallet → Yield pour voir les programmes actifs et staker maintenant.","ctaRegister":"S'inscrire","ctaYield":"Aller à Yield","activeOffers":"Programmes Earn actifs","activeOffersDesc":"Stakez vos actifs et gagnez un APY compétitif","joinNow":"Rejoindre maintenant","card":{"fixed":"Fixe","apy":"{{apy}} % de rendement annuel","lockDays":"Blocage de {{days}} jours","flexibleUnstake":"Flexible · retrait à tout moment","minAmount":"Min. {{amount}} {{asset}}"}},"cms":{"pageNotFound":"Page introuvable","backHome":"Retour à l'accueil","legalBadge":"Légal","imagePlaceholder":"Ajouter l'URL de l'image","email":"E-mail","phone":"Téléphone"},"home":{"seoTitle":"{{siteName}} — Acheter et vendre des cryptos en toute sécurité","seoDescription":"{{siteName}} — Plateforme de trading crypto spot et futures. Frais bas, graphiques TradingView, ordres limités.","realTime":"Yubbit · Temps réel","allMarkets":"Tous les marchés →","howItWorks":"Comment ça marche","liveMarkets":"Marchés en direct","welcomeBonus":"Bonus de bienvenue","welcomeBonusDesc":"Inscrivez-vous et commencez à trader immédiatement.","getStarted":"Commencer","faq":"Questions fréquentes","viewAll":"Voir tout →","exploreMarkets":"Explorer les marchés"},"about":{"p1":"Yubbit rend le trading crypto accessible grâce à une interface moderne et une infrastructure robuste.","p2":"Nous fournissons des données de marché en temps réel, des graphiques professionnels et une structure de frais transparente.","l1":"Trading spot et futures","l2":"Méthodes de dépôt flexibles","l3":"Plateforme adaptée aux mobiles"},"fees":{"type":"Type","rate":"Taux","spot":"Trading spot","deposit":"Dépôt","withdraw":"Retrait","free":"Gratuit","network":"Frais réseau applicables","liveBadge":"Frais de plateforme en direct","heroTitle":"Des frais simples et transparents","heroSubtitle":"Un tarif publié pour le spot et les futures — synchronisé automatiquement depuis les paramètres d’administration. Aucune mauvaise surprise au paiement.","heroSubtitleWithHolding":"Un tarif de trading publié pour le spot et les futures, plus de faibles frais de détention sur les positions futures ouvertes — le tout synchronisé en direct depuis nos paramètres.","currentTradingFee":"Frais de trading actuels","tradingFeeScope":"Achat/vente spot · Ouverture de position futures","holdingFeeLabel":"Frais de détention futures","holdingFeeMeta":"Toutes les {{hours}} h · Long et short · Fonctionnement ↓","getStarted":"Commencer","autoUpdateNote":"Les taux de frais sont mis à jour automatiquement lorsque nos paramètres changent.","viewInTrade":"Voir les frais dans l’écran de trading →","holding":{"intro":"Les positions ouvertes sur les contrats à terme paient <b>{{rate}}%</b> de leur taille toutes les <b>{{hours}} heures</b>. La taille de la position correspond à la quantité × le prix de référence actuel.","chargedTitle":"Prélevés toutes les {{hours}} heures","chargeAtHourly":"À chaque heure pile (UTC).","chargeAtEveryHours":"Toutes les {{hours}} heures pile (UTC).","chargeAtTimes":"À {{times}} UTC.","chargedText":"Seules les positions ouvertes à ce moment-là paient — une position ouverte après un prélèvement paiera au suivant.","sameSidesTitle":"Même tarif pour les positions longues et courtes","sameSidesText":"Il s’agit de frais de détention, et non de financement : les deux côtés paient le même tarif, quelle que soit la direction du marché.","marginTitle":"Prélevés sur la marge de la position","marginText":"Les frais sont déduits de la marge de la position, ce qui rapproche légèrement le prix de liquidation. Ajoutez de la marge à tout moment pour l’éloigner à nouveau.","exampleTitle":"Exemple","exampleText":"Une position de 1,000 USDT (par exemple, une marge de 100 USDT avec un effet de levier de 10x) paie <b>{{example}} USDT</b> toutes les {{hours}} heures — <b>{{perDay}} USDT</b> par jour tant qu’elle reste ouverte. Un effet de levier plus élevé signifie que les mêmes frais représentent une part plus importante de votre marge."}},"support":{"q1":{"q":"Comment déposer ?","a":"Wallet → Deposit → choisissez une méthode → soumettez. Le solde se met à jour après approbation par l'administration."},"q2":{"q":"Pourquoi le KYC est-il requis ?","a":"Pour la conformité et la sécurité avant de trader."},"q3":{"q":"D'où viennent les prix ?","a":"Flux de prix en temps réel des marchés Yubbit."},"contact":"Contactez-nous :"},"footer":{"tagline":"Échange crypto facile","slogan":"Entrez dans l'avenir de la finance avec confiance.","description":"Yubbit rend l'investissement crypto accessible avec le trading spot et futures, une infrastructure de portefeuille sécurisée et des frais bas. Outils professionnels, tarification transparente et accès aux marchés 24/7 — tout sur une seule plateforme.","product":"Produit","account":"Compte","company":"Entreprise","legal":"Légal","terms":"Conditions d'utilisation","privacy":"Politique de confidentialité","riskLink":"Déclaration des risques","h1":{"title":"Spot & Futures","desc":"Trading instantané sur spot et dérivés depuis un seul compte."},"h2":{"title":"Infrastructure sécurisée","desc":"Vérification KYC et gestion des sessions chiffrées."},"h3":{"title":"Frais bas","desc":"Tarification transparente : les frais de trading et le spread sont affichés avant chaque ordre."},"risk":"Le trading d'actifs crypto comporte des risques importants. Prenez vos décisions d'investissement avec prudence.","rights":"Tous droits réservés.","dna":{"market":"Marché de l’IA","arena":"Arène de l’IA","create":"Entraînez votre IA","how":"Comment ça marche","mine":"Mes IA"}},"affiliate":{"seoTitle":"Programme d’agence affiliée","seoDescription":"Devenez partenaire agence de {{site}} : gagnez des commissions sur les transactions de votre communauté, suivez votre réseau de parrainage depuis un espace partenaire dédié et lancez vos propres campagnes.","badge":"Programme d’agence affiliée","title":"Faites de votre communauté un partenaire","subtitle":"Devenez partenaire agence officiel de {{site}}. Gagnez les mêmes commissions que dans notre programme de parrainage, suivez l’ensemble de votre réseau depuis un espace partenaire dédié et lancez des campagnes pour les traders que vous nous amenez.","rateLabel":"de commission sur les frais de trading de vos filleuls","ctaApply":"Activer mon compte agence","ctaPanel":"Ouvrir l’espace partenaire","ctaRegister":"Créer un compte","ctaLogin":"Se connecter","guestHint":"Inscrivez-vous ou connectez-vous pour postuler. Cela ne prend que quelques minutes.","statusPending":"Votre candidature est en cours d’examen. Nous vous informerons dès qu’elle sera approuvée.","statusRejected":"Votre précédente candidature n’a pas été approuvée.","statusSuspended":"Votre compte agence est suspendu. Veuillez contacter l’assistance.","reasonLabel":"Motif","ctaReapply":"Postuler à nouveau","ctaSupport":"Contacter l’assistance","disabled":"Le programme d’agence affiliée n’accepte pas de nouvelles candidatures pour le moment.","featuresTitle":"Tout ce dont une agence a besoin","stepsTitle":"Comment ça marche","whoTitle":"À qui s’adresse ce programme ?","faqTitle":"Questions fréquentes","ctaTitle":"Prêt à vous associer à {{site}} ?","ctaSubtitle":"Postulez dès maintenant et commencez à développer votre agence.","referralBannerTitle":"Vous gérez une communauté ?","referralBannerDesc":"Devenez partenaire agence : profitez d’un espace partenaire dédié, de votre arbre de parrainage et de vos propres campagnes.","referralBannerCta":"Découvrir le programme agence","features":[{"title":"Même commission, plus d’outils","desc":"Votre agence perçoit exactement la même commission que dans le programme de parrainage, créditée en USDT au fil des transactions de vos filleuls."},{"title":"Tableau de bord partenaire dédié","desc":"Un tableau de bord professionnel regroupant vos revenus, vos performances quotidiennes et toutes les métriques clés."},{"title":"Votre réseau de parrainage","desc":"Consultez l’ensemble de votre réseau : vos filleuls directs et les personnes qu’ils invitent, ainsi que l’activité de chaque membre."},{"title":"Analyses de trading","desc":"Suivez les transactions au comptant et les contrats à terme de vos filleuls, notamment leur effet de levier et la commission générée par chaque transaction."},{"title":"Vos propres campagnes","desc":"Lancez des campagnes sur le volume de trading et des missions, chacune avec une page privée à partager avec votre communauté."},{"title":"L’équité dès la conception","desc":"Des contrôles automatiques de rentabilité garantissent la viabilité de chaque campagne et le versement des récompenses comme promis."}],"steps":[{"title":"Postuler","desc":"Parlez-nous de votre marque, de vos canaux et de votre audience."},{"title":"Signer le contrat","desc":"Consultez et signez le contrat de partenariat en ligne."},{"title":"Obtenir l’approbation","desc":"Notre équipe examine votre candidature, généralement sous quelques jours ouvrés."},{"title":"Grandir ensemble","desc":"Partagez votre lien, lancez des campagnes et suivez tout depuis votre espace partenaire."}],"who":["Influenceurs crypto et créateurs de contenu","Communautés de trading sur Telegram et Discord","Formateurs et académies de trading","Courtiers introducteurs et agences marketing"],"faq":[{"q":"En quoi le programme d’agence diffère-t-il du programme de parrainage ?","a":"Les commissions fonctionnent de la même manière et au même taux. En tant qu’agence, vous bénéficiez également du panneau partenaire, de votre réseau de parrainage, des analyses de trading et de vos propres campagnes."},{"q":"Qui finance les récompenses des campagnes ?","a":"Les récompenses des campagnes sont financées par {{site}}. Chaque campagne est vérifiée automatiquement afin que les récompenses restent dans une proportion durable des frais de trading qu’elle génère."},{"q":"Tout le monde peut-il participer à mes campagnes ?","a":"Les pages de campagne sont accessibles via des liens privés que vous partagez. Seuls les utilisateurs inscrits avec votre code de parrainage peuvent participer et gagner des récompenses."},{"q":"Combien de temps prend l’approbation ?","a":"En général, quelques jours ouvrés. Vous recevrez une notification dès que votre demande aura été examinée."},{"q":"Dois-je vérifier mon identité ?","a":"Nous pouvons demander aux agences de vérifier leur identité. Les comptes vérifiés sont examinés plus rapidement."}]},"affiliateCampaign":{"hostedBy":"Organisé par {{brand}}","typeVolume":"Campagne de volume de trading","typeTasks":"Campagne de missions","status":{"scheduled":"Bientôt disponible","live":"En cours","paused":"En pause","ended":"Terminée","stopped":"Clôturée","budget_exhausted":"Récompenses épuisées"},"startsAt":"Débute le {{date}}","endsAt":"Se termine le {{date}}","endedAt":"Terminée le {{date}}","countdownStart":"Débute dans","countdownEnd":"Se termine dans","units":{"d":"j","h":"h","m":"min"},"market":{"all":"spot et futures","spot":"spot","futures":"contrats à terme"},"tiersTitle":"Paliers de récompense","tiersHint":"Tradez pendant la campagne et recevez une récompense à chaque palier atteint. Le volume {{market}} est pris en compte.","tierVolume":"Trader {{volume}}","tierReward":"{{reward}} USDT","tasksTitle":"Tâches","tasksHint":"Accomplissez des tâches pendant la campagne pour gagner des points à dépenser sur le Marché des points.","task":{"volume":"Trader un volume de {{volume}} sur {{market}}","deposit":"Déposer au moins {{amount}} USDT","first_trade":"Effectuer une transaction","kyc":"Vérifier votre identité"},"points":"{{points}} pts","pool":"Pool de récompenses","poolLeft":"Il reste {{left}} sur {{budget}} USDT","participants":"Participants","guestTitle":"Rejoignez la communauté de {{brand}} pour participer","guestDesc":"Cette campagne est réservée aux membres inscrits avec l’invitation de {{brand}}.","ctaSignup":"S’inscrire avec cette invitation","ctaLogin":"Se connecter","notEligible":"Cette campagne est réservée aux membres invités par {{brand}}.","host":"Voici la page de votre campagne. Partagez ce lien avec votre communauté.","join":"Participer à la campagne","joining":"Participation…","joinedTitle":"Vous participez !","closed":"Cette campagne n’accepte plus de participants.","progressTitle":"Votre progression","state":{"done":"Récompense reçue","progress":"En cours","waiting_fees":"Débloquée en continuant à trader","budget":"Pool de récompenses épuisé","closed":"Indisponible"},"waitingHint":"Les récompenses sont versées lorsque les frais de trading payés pendant la campagne les couvrent. Continuez à trader pour les débloquer.","earned":"Valeur gagnée à ce jour : {{value}} USDT","rulesTitle":"Règles","notFound":"Campagne introuvable","notFoundDesc":"Le lien est peut-être incorrect ou la campagne a été supprimée.","unavailable":"Cette campagne n’est pas disponible pour le moment.","toHome":"Aller à la page d’accueil","copyLink":"Copier le lien","copied":"Copié","joinError":"Impossible de rejoindre la campagne. Veuillez réessayer.","rules":["Seules les transactions effectuées entre le début et la fin de la campagne sont prises en compte.","Le volume correspond à la valeur totale de vos transactions au comptant et de vos ouvertures et clôtures de positions à terme.","Chaque récompense est versée une seule fois par participant, automatiquement, en quelques minutes.","Les récompenses en USDT sont créditées sur votre portefeuille au comptant ; les points sont ajoutés à votre solde du Marché des points.","Les récompenses dépendent du montant restant dans la cagnotte et des règles d’utilisation équitable de la plateforme."],"marketLink":"Marché des récompenses de {{brand}}","marketLinkDesc":"Échangez vos points contre des récompenses de cette communauté."},"api":{"seoTitle":"API publique — données de marché","seoDescription":"API gratuite de données de marché de Yubbit : prix, chandeliers, carnet d’ordres et paires cotées. Aucune clé requise.","badge":"Développeurs","title":"API publique de données de marché","subtitle":"Prix, chandeliers, carnet d’ordres et liste des paires. Sans inscription ni clé, et gratuite.","quickStart":"Démarrage rapide","baseUrl":"URL de base","auth":"Authentification","authValue":"Non requise","rateLimit":"Limite de requêtes","perMinute":"minute","firstCall":"Votre premier appel","copy":"Copier","copied":"Copié","tryTitle":"Essayez maintenant","tryDesc":"Le point de terminaison ci-dessous est actif : saisissez un symbole pour voir la réponse réelle.","tryButton":"Envoyer la requête","endpoints":"Points de terminaison","param":"Paramètre","paramRequired":"Obligatoire","paramDesc":"Description","yes":"oui","no":"non","response":"Exemple de réponse","errorsTitle":"Erreurs","errorsDesc":"Les erreurs renvoient un corps JSON accompagné du code d’état HTTP.","notesTitle":"À savoir","endpointsInfo":{"ping":"Vérification de l’état du service.","time":"Horloge du serveur, pour la signature ou la vérification des écarts.","assets":"Toutes les paires de trading listées avec leurs métadonnées.","markets":"Cours en direct et statistiques sur 24 h pour chaque paire.","ticker":"Cours en direct d’une paire.","klines":"Bougies OHLCV.","orderbook":"Instantané du carnet d’ordres. Les bids vont du meilleur prix (le plus élevé) au plus bas, les asks du meilleur prix (le plus bas) au plus élevé ; chaque niveau est [prix, quantité]. best_ask / best_bid correspondent aux prix d’exécution d’un achat / d’une vente au marché.","tickerOne":"Prix en temps réel d’une paire. Sans symbole, cet endpoint renvoie toutes les paires spot au format CoinMarketCap (voir la section spot).","klinesSeconds":"Bougies OHLCV, de la plus ancienne à la plus récente. open_time correspond à l’heure d’ouverture de la bougie en secondes Unix, et non en millisecondes.","summary":"Vue d’ensemble sur 24 heures de toutes les paires spot (résumé CoinMarketCap). lowest_ask et highest_bid sont les meilleurs prix du carnet d’ordres, auxquels un achat ou une vente au marché est exécuté.","assetsCurrencies":"Toutes les devises négociées sur le marché spot, indexées par symbole (CoinMarketCap A1). Les champs facultatifs ne sont présents que si Yubbit dispose des données : name, can_withdraw (false pendant la maintenance), min_withdraw (USDT uniquement), maker_fee, taker_fee et contractAddress.","tickerAll":"Dernier prix et volume sur 24 heures de toutes les paires spot, indexés par BASE_QUOTE (CoinMarketCap A2). isFrozen vaut 1 lorsque le trading est suspendu pour maintenance, sinon 0.","orderbookPair":"Carnet d’ordres de niveau 2 pour une paire (CoinMarketCap A3). Chaque niveau est au format [prix, quantité].","trades":"Transactions spot exécutées pour une paire au cours des dernières 24 heures, de la plus récente à la plus ancienne (CoinMarketCap A4). type indique le côté taker : buy signifie qu’une offre de vente a été prise, sell qu’une offre d’achat a été prise.","contracts":"Tous les contrats perpétuels avec leur prix, leur volume sur 24 heures, le meilleur bid et ask, l’intérêt ouvert, les frais et les spécifications du contrat (CoinMarketCap B1, avec les champs B2 inclus).","contractSpecs":"Spécifications du contrat par ticker_id (CoinMarketCap B2). Les contrats sont linéaires (Vanilla) : un contrat équivaut à une unité de la devise de base, cotée et réglée dans la devise de cotation.","orderbookContract":"Carnet d’ordres d’un contrat perpétuel (CoinMarketCap B3). Accepte les mêmes paramètres de profondeur et de niveau que le carnet d’ordres spot.","tradesSource":"Transactions au comptant récentes pour une paire au cours des dernières 24 heures."},"paramsInfo":{"symbol":"Symbole de la paire.","type":"spot ou futures.","typeOrBoth":"spot ou futures. Omettre pour les deux.","typeDefaultSpot":"spot ou futures. spot par défaut.","interval":"1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w. 1h par défaut.","klinesLimit":"1–1000. 168 par défaut.","orderbookLimit":"Niveaux par côté, 1–50. 20 par défaut.","symbolAny":"Paire : BTC_USDT, BTC-USDT, BTC/USDT, BTCUSDT ou BTC-PERPUSDT.","typeAuto":"spot ou futures. Par défaut : spot si la paire dispose d’un marché spot, sinon futures.","tickerAllType":"À omettre pour les paires spot. futures renvoie les contrats perpétuels indexés par ticker_id.","marketPair":"Paire dans le chemin : BTC_USDT, BTC-USDT, BTC%2FUSDT ou BTCUSDT.","marketPairSpot":"Paire spot dans le chemin, par exemple BTC_USDT.","tickerId":"ticker_id du contrat perpétuel dans le chemin, par exemple BTC-PERPUSDT.","depth":"Nombre de niveaux sur les deux côtés. 0 ou omis renvoie le carnet complet (100 par côté) ; 100 renvoie 50 bids et 50 asks.","level":"1 renvoie uniquement le meilleur bid et ask. 2 (par défaut) renvoie les niveaux classés par meilleur prix. 3 renvoie le même résultat que 2, car le carnet ne détaille pas les ordres individuels."},"exampleValue":"p. ex. {{example}}","notes":["Cette API est en lecture seule. Elle n’expose aucune donnée de compte, de solde ou d’ordre et ne permet pas de passer des ordres.","La limite de débit s’applique par adresse IP. La dépasser renvoie une erreur 429 avec un en-tête Retry-After.","Les points de terminaison restent rétrocompatibles ; toute modification incompatible serait publiée sous la version /api/v2."],"groups":{"general":"Données de marché","generalDesc":"Format propre à Yubbit : prix en temps réel, bougies et carnet d’ordres pour une paire ou pour toutes les paires.","spot":"Spot : format CoinMarketCap","spotDesc":"Endpoints du marché spot conformes aux spécifications de référencement des plateformes d’échange de CoinMarketCap : résumé, actifs, ticker, carnet d’ordres et transactions.","derivatives":"Dérivés : format CoinMarketCap","derivativesDesc":"Contrats perpétuels au format dérivés de CoinMarketCap : contrats, spécifications des contrats et carnet d’ordres."},"pairNotationTitle":"Notation des paires","pairNotationDesc":"Tous les endpoints acceptent une paire dans l’une de ces notations. Les endpoints au format CoinMarketCap renvoient les paires spot sous la forme BASE_QUOTE et les contrats perpétuels sous la forme d’un ticker_id, par exemple BTC-PERPUSDT.","pairNotationType":"Les marchés spot et perpétuels peuvent partager un symbole, comme BTCUSDT. Si type est omis, le marché spot est utilisé s’il existe, sinon le marché perpétuel. Un ticker_id contenant -PERP sélectionne toujours le marché perpétuel.","pairNotationSlash":"Dans un chemin d’URL, écrivez BTC/USDT sous la forme BTC%2FUSDT ou en deux segments, par exemple /orderbook/BTC/USDT.","fundingTitle":"Taux de financement et frais de détention","fundingNone":"Les contrats perpétuels Yubbit n’impliquent aucun paiement de financement entre positions longues et courtes ; funding_rate et next_funding_rate valent donc toujours \"0\".","fundingHoldingFee":"À la place, les positions ouvertes paient des frais de détention à des heures UTC fixes, par exemple à 00:00, 08:00 et 16:00, à intervalles de 8 heures. Les positions longues et courtes paient le même taux, calculé sur la valeur notionnelle de la position. /contracts indique ces frais avec holding_fee_enabled, holding_fee_rate (par intervalle, sous forme de fraction : 0.0001 = 0.01 % ; 0 lorsque les frais sont désactivés), holding_fee_interval_hours et next_holding_fee_timestamp.","fundingTimestamp":"next_funding_rate_timestamp correspond à l’heure des prochains frais de détention, car il s’agit du seul prélèvement périodique appliqué à une position.","cmcNotesTitle":"Détails au format CoinMarketCap","cmcNotes":["Les prix et les volumes proviennent de la même source que /markets : chaque endpoint renvoie donc les mêmes chiffres. Les volumes couvrent les dernières 24 heures dans la devise de cotation ; base_volume correspond à quote_volume divisé par le dernier prix.","Les formats numériques suivent les exemples de CoinMarketCap : /summary renvoie des nombres JSON, tandis que /assets, /ticker sans symbole, les carnets d’ordres, /trades et /contracts renvoient les décimales sous forme de chaînes. Les horodatages sont des entiers exprimés en millisecondes Unix.","Dans les carnets d’ordres, les offres d’achat sont strictement décroissantes et les offres de vente strictement croissantes, avec un niveau par prix. depth compte les deux côtés : depth=100 renvoie 50 offres d’achat et 50 offres de vente, tandis que 0 ou l’absence de depth renvoie le carnet complet, soit 100 niveaux par côté.","/trades lists Yubbit's executed spot trades from the last 24 hours, newest first, up to 50,000 per pair. It never includes account, user or fee data.","open_interest correspond à la taille combinée de toutes les positions ouvertes, exprimée dans la devise de base ; open_interest_usd correspond à cette taille multipliée par le dernier prix. index_price est le prix de référence utilisé pour valoriser les positions.","maker_fee et taker_fee sont des fractions (0.001 = 0.1 %). Sur les contrats perpétuels, les frais sont prélevés sur la valeur notionnelle à l’ouverture d’une position ; la clôture d’une position est gratuite.","Les endpoints couvrant toutes les paires sont mis en cache pendant 5 secondes maximum et les carnets d’ordres sont actualisés toutes les 2 secondes : les interroger plus souvent renvoie donc les mêmes données. Envoyez Accept-Encoding: gzip pour recevoir des réponses compressées.","Les paires qui n’ont pas encore de prix en temps réel sont exclues des endpoints au format CoinMarketCap."],"notesV2":["Yubbit.com peut réduire les débits de données si nécessaire.","Cette API est en lecture seule. Elle n’expose aucune donnée de compte, de solde ou d’ordre et ne peut pas passer d’ordres.","La limite de débit s’applique par adresse IP. La dépasser renvoie une erreur 429 avec un en-tête Retry-After.","Les points de terminaison restent rétrocompatibles ; toute modification incompatible serait publiée sous une nouvelle version, telle que /api/v2."],"cmcNotesV2":["Les prix et les volumes proviennent de la même source que /markets : chaque endpoint renvoie donc les mêmes chiffres. Les volumes couvrent les dernières 24 heures dans la devise de cotation ; base_volume correspond à quote_volume divisé par le dernier prix.","Les formats numériques suivent les exemples de CoinMarketCap : /summary renvoie des nombres JSON, tandis que /assets, /ticker sans symbole, les carnets d’ordres, /trades et /contracts renvoient les décimales sous forme de chaînes. Les horodatages sont des entiers exprimés en millisecondes Unix.","Dans les carnets d’ordres, les offres d’achat sont strictement décroissantes et les offres de vente strictement croissantes, avec un niveau par prix. depth compte les deux côtés : depth=100 renvoie 50 offres d’achat et 50 offres de vente, et 0 ou l’absence de depth renvoie le carnet complet, soit 100 niveaux par côté.","/trades lists the latest trades of the market's price source from the last 24 hours, newest first.","open_interest correspond à la taille combinée de toutes les positions ouvertes, exprimée dans la devise de base ; open_interest_usd correspond à cette taille multipliée par le dernier prix. index_price est le prix de référence utilisé pour valoriser les positions.","maker_fee et taker_fee sont des fractions (0.001 = 0.1 %). Sur les contrats perpétuels, les frais sont prélevés sur la valeur notionnelle à l’ouverture d’une position ; la clôture d’une position est gratuite.","Les endpoints couvrant toutes les paires sont mis en cache pendant 5 secondes maximum et les carnets d’ordres sont actualisés toutes les 2 secondes : interroger plus souvent renvoie donc les mêmes données. Envoyez Accept-Encoding: gzip pour recevoir des réponses compressées.","Les paires qui n’ont pas encore de prix en temps réel sont exclues des endpoints au format CoinMarketCap."]},"referral":{"percentValue":"{{value}} %","seoTitle":"Programme de parrainage — invitez des amis et gagnez des récompenses","seoDescription":"Gagnez une part des frais de trading payés par chaque personne que vous invitez. L’inscription est gratuite et vos gains n’expirent jamais.","badge":"Programme de parrainage","title":"Invitez un ami et gagnez sur chacune de ses transactions","subtitle":"Partagez votre lien. Chaque fois qu’une personne que vous avez invitée effectue une transaction, une partie des frais qu’elle paie est instantanément créditée sur votre portefeuille.","rateLabel":"Votre part des frais de trading","rateLabelCustom":"Votre taux personnalisé","customRateHint":"Ce taux a été défini spécialement pour votre compte.","disabled":"Le programme de parrainage est actuellement fermé. Nous vous informerons ici de sa réouverture.","yourLink":"Votre lien d’invitation","yourCode":"Votre code de parrainage","copyLink":"Copier le lien","copied":"Copié","share":"Partager","shareText":"Tradez sur {{site}} et je gagne {{percent}} % de vos frais. Voici mon lien d’inscription :","statInvited":"Personnes invitées","statEarned":"Total gagné","statRate":"Votre taux","ctaRegister":"Créer un compte gratuit","ctaLogin":"Se connecter","ctaProfile":"Espace parrainage dans mon profil","ctaFees":"Voir les frais","ctaTitle":"Commencez à partager votre lien dès aujourd’hui","ctaSubtitle":"Aucune limite d’invitations et vos gains n’expirent jamais. Vous continuez à gagner tant que vos filleuls continuent de trader.","stepsTitle":"Comment ça marche","calcTitle":"Combien pourrais-je gagner ?","calcDesc":"Choisissez le nombre de personnes que vous inviterez et le volume de trading mensuel de chacune.","calcFriends":"Personnes invitées","calcVolume":"Volume mensuel par personne","calcResult":"Gains mensuels estimés","calcFormula":"Volume × frais de trading de {{fee}} % × part de parrainage de {{rate}} %. Estimation sans garantie.","recentTitle":"Vos gains récents","colUser":"Utilisateur invité","colDate":"Date","colEarned":"Gains","faqTitle":"Questions fréquentes","steps":[{"step":"ÉTAPE 1","title":"Obtenez votre lien","desc":"Ouvrez un compte et votre lien de parrainage personnel est prêt immédiatement."},{"step":"ÉTAPE 2","title":"Partagez-le","desc":"Envoyez-le à vos amis, publiez-le dans votre communauté ou partagez-le sur les réseaux sociaux."},{"step":"ÉTAPE 3","title":"Gagnez","desc":"Chaque transaction qu’ils effectuent vous rapporte votre part directement dans votre portefeuille en USDT."}],"perks":[{"title":"Paiement instantané","desc":"Votre commission est versée dès que la transaction est exécutée — pas besoin d’attendre le jour du versement."},{"title":"Sans expiration","desc":"Vous continuez à gagner tant que les personnes que vous avez invitées continuent de trader."},{"title":"Invitations illimitées","desc":"Invitez autant de personnes que vous le souhaitez : il n’y a aucune limite."},{"title":"Suivi transparent","desc":"Consultez à tout moment le nombre de personnes que vous avez invitées et le montant exact de vos gains."}],"faq":[{"q":"Quand serai-je payé ?","a":"Dès que la transaction d’une personne que vous avez invitée est exécutée, votre part est créditée sur votre portefeuille en USDT. Vous recevez également une notification."},{"q":"Qui puis-je inviter ?","a":"Toute personne qui n’a pas encore de compte. Le lien lui est définitivement associé dès qu’elle s’inscrit via celui-ci."},{"q":"Puis-je m’inviter moi-même ?","a":"Non. Les auto-parrainages et le gonflement du nombre d’invitations avec de faux comptes annulent les gains s’ils sont détectés."},{"q":"Puis-je retirer mes gains ?","a":"Oui — les gains de parrainage sont ajoutés à votre solde et sont soumis aux règles de retrait habituelles."},{"q":"Mon taux peut-il changer ?","a":"Le taux général peut être modifié au fil du temps. Si un taux personnalisé est défini pour votre compte, cette page l’affiche."}]},"listing":{"seoTitle":"Listing de tokens | Yubbit","seoDescription":"Demandez le listing de votre token sur Yubbit. Envoyez un e-mail à {{email}}","badge":"Listing de tokens","title":"Faites lister votre projet sur Yubbit","subtitle":"Présentez votre projet aux traders actifs sur les marchés spot et futures. Postulez par e-mail — notre équipe dédiée aux listings étudie chaque projet."},"affiliateMarket":{"badge":"Marché des récompenses","title":"Marché des récompenses de {{brand}}","subtitle":"Échangez vos points Yubbit contre des récompenses de {{brand}}. Les récompenses en USDT sont créditées instantanément sur votre portefeuille ; les autres récompenses sont remises par l’hôte de la communauté.","guestTitle":"Rejoignez la communauté de {{brand}} pour échanger vos points contre des récompenses","guestDesc":"Ce marché est réservé aux membres inscrits via l’invitation de {{brand}}.","hostNotice":"Voici un aperçu de votre marché. Partagez ce lien avec votre communauté.","notEligible":"Seuls les membres invités par {{brand}} peuvent échanger leurs points ici.","earnMore":"Gagner plus de points","rewardsTitle":"Récompenses","rewardsHint":"Choisissez une récompense de {{brand}} et échangez-la contre vos points.","empty":"{{brand}} n’a pas encore ajouté de récompenses. Revenez bientôt.","typeUsdt":"Récompense en USDT","typeCustom":"Remise par {{brand}}","amountUsdt":"{{amount}} USDT","stockLeft":"{{count}} restantes","loginToRedeem":"Connectez-vous pour échanger vos points","needMore":"Il vous manque {{points}} points","ordersTitle":"Mes commandes","ordersEmpty":"Vous n’avez encore échangé aucune récompense ici.","orderStatus":{"fulfilled":"Remise","pending":"En attente","cancelled":"Annulée"},"pointsReturned":"Vos points vous ont été rendus.","pendingHint":"{{brand}} vous contactera pour vous remettre cette récompense.","noteFrom":"Message de {{brand}} :","howTitle":"Comment ça marche","how1":"Gagnez des points en accomplissant des tâches et en participant à des campagnes sur Yubbit.","how2":"Choisissez une récompense ici et échangez-la contre vos points.","how3":"Les récompenses en USDT sont créditées instantanément sur votre portefeuille. Les autres récompenses sont livrées par {{brand}}.","earnTitle":"Besoin de plus de points ?","earnDesc":"Accomplissez des tâches et participez à des campagnes pour gagner des points, puis revenez les échanger ici.","confirmTitle":"Confirmer l’échange","cost":"Coût","balanceAfter":"Solde après l’échange","confirmUsdt":"Les USDT seront crédités sur votre portefeuille dès confirmation.","confirmCustom":"{{brand}} livrera cette récompense. Vos points sont débités maintenant et vous seront rendus si la commande est annulée.","contactLabel":"Comment {{brand}} peut-il vous contacter ?","contactPlaceholder":"Nom d’utilisateur Telegram, e-mail ou téléphone","contactHint":"Ces informations sont uniquement partagées avec {{brand}} pour la livraison de votre récompense.","confirmCta":"Échanger contre {{points}} pts","redeeming":"Échange en cours…","redeemError":"Impossible d’échanger cette récompense. Veuillez réessayer.","successTitle":"Récompense échangée","successUsdt":"{{amount}} USDT ont été crédités sur votre portefeuille.","successCustom":"Commande passée — {{brand}} vous contactera.","toWallet":"Accéder au portefeuille","notFound":"Marché introuvable","notFoundDesc":"Le lien est peut-être incorrect ou ce marché a été supprimé."},"notFound":{"title":"Page introuvable","desc":"La page que vous recherchez n’existe pas ou a été déplacée.","home":"Aller à la page d’accueil"},"contentError":{"title":"Nous n’avons pas pu charger cette page","desc":"Il s’agit généralement d’un problème temporaire de connexion ou de serveur. Veuillez réessayer."},"posts":{"related":"Articles associés","tradeTitle":"Tradez les cryptomonnaies de cet article","trade":"Trader {{pair}}","feeNote":"Sur Yubbit, vous payez des frais de trading fixes — il n’y a pas de niveaux maker/taker.","feeNoteLink":"Voir les frais actuels","page":"Page {{page}}"}},"nav":{"markets":"Marchés","trade":"Trader","wallet":"Portefeuille","orders":"Ordres","profile":"Profil","admin":"Admin","dna":"ADN Yubbit"},"auth":{"login":"Se connecter","register":"S'inscrire","logout":"Se déconnecter","email":"E-mail","password":"Mot de passe","name":"Nom complet","noAccount":"Vous n'avez pas de compte ?","hasAccount":"Vous avez déjà un compte ?","welcome":"Bienvenue sur Yubbit","guestBrowse":"Parcourez sans vous connecter. Connectez-vous pour trader.","loginToTrade":"Connectez-vous pour trader","referralCode":"Code de parrainage (facultatif)","referralCodeApplied":"Code de parrainage : {{code}}","referralCodePlaceholder":"YB0001ABC","phone":"Téléphone","phonePlaceholder":"555 123 4567","countrySearch":"Rechercher un pays ou un indicatif…","verify":{"invalidLink":"Lien invalide","verifying":"Vérification de l'e-mail...","verified":"E-mail vérifié","verifiedDesc":"Vous pouvez maintenant trader.","goToApp":"Aller à l'application","failed":"Échec de la vérification","goToProfile":"Aller au profil"},"loginOtpTitle":"Code de vérification e-mail","loginOtpSent":"Nous avons envoyé un code à 6 chiffres à {{email}}","loginOtpCode":"Code de vérification","loginOtpVerify":"Vérifier et se connecter","verifyEmailTitle":"Vérification e-mail","verifyEmailDesc":"Saisissez le code à 6 chiffres envoyé à {{email}}. Vous ne pouvez pas vous connecter tant qu'il n'est pas vérifié.","verifyEmailSubmit":"Vérifier","verifyEmailResend":"Renvoyer le code","verifyEmailResent":"Nouveau code envoyé","selectCountryCode":"Sélectionner","countryCodeRequired":"Sélectionnez votre indicatif de pays.","promoBanners":"Promotions","promoBannerGoTo":"Afficher la bannière {{n}} sur {{total}}","forgotPassword":"Mot de passe oublié ?","forgotTitle":"Réinitialiser votre mot de passe","forgotHint":"Saisissez l’adresse e-mail de votre compte et nous vous enverrons un lien pour définir un nouveau mot de passe.","forgotSubmit":"Envoyer le lien de réinitialisation","forgotSent":"Si un compte existe pour {{email}}, un lien de réinitialisation vous sera envoyé. Il est valable 30 minutes — vérifiez aussi vos courriers indésirables.","forgotRetry":"Utiliser une autre adresse e-mail","backToLogin":"Retour à la connexion","resetTitle":"Définir un nouveau mot de passe","newPassword":"Nouveau mot de passe","confirmPassword":"Confirmer le nouveau mot de passe","passwordMin":"Au moins 6 caractères","passwordMismatch":"Les mots de passe ne correspondent pas","resetSubmit":"Mettre à jour le mot de passe","resetDone":"Votre mot de passe a été mis à jour. Connectez-vous avec votre nouveau mot de passe — vous avez été déconnecté de vos autres appareils."},"markets":{"title":"Marchés","search":"Rechercher une crypto","pair":"Paire","price":"Prix","change":"Variation 24 h","sortName":"Nom (A-Z)","sortPrice":"Prix","sortChange":"Variation 24 h","sortNew":"Nouveau","noResults":"Aucun résultat trouvé.","liveBadge":"Prix en direct","spot":"Spot","futures":"Futures","selectPair":"Sélectionner le marché","seoDescription":"Marchés crypto en direct Yubbit. Prix spot et futures, variation 24 h et volume.","sortBy":"Trier par {{column}}","views":{"all":"Tout","new":"Nouvelles cotations","gainers":"Plus fortes hausses","losers":"Plus fortes baisses","volume":"Volumes les plus élevés"},"categories":{"all":"Toutes les cryptomonnaies","label":"Catégories"},"changeShort":"Variation sur 24 h (%)"},"trade":{"buy":"Acheter","sell":"Vendre","amount":"Montant","quantity":"Quantité","available":"Disponible","fee":"Frais","pnl":"PnL","estReceive":"Vous recevrez","total":"Total","chart":"Graphique","fastChart":"Rapide","market":"Marché","limit":"Limite","stopLimit":"Stop-Limite","limitPrice":"Prix limite","stopPrice":"Prix stop","placeOrder":"Passer un ordre","openOrders":"Ordres ouverts","orderHistory":"Historique des ordres","tradeHistory":"Transactions","cancel":"Annuler","date":"Date","unitPrice":"Prix unitaire","filledAt":"Exécuté","noTrades":"Aucun trade pour le moment","noOpenOrders":"Aucun ordre ouvert","noOrderHistory":"Aucun historique d'ordres","limitOrders":"Ordres limités","quantityShort":"Qté","status":"Statut","orderBook":"Carnet d'ordres","spread":"Écart","price":"Prix","balanceUsage":"Utilisation du solde","maxUsable":"max {{amount}} {{asset}}","feeFromAmount":"déduit du montant","volume24h":"Volume 24 h","info":"Infos","order":"Ordre","noCoinInfo":"Aucune information disponible pour cet actif pour le moment.","newsFeed":"Actualités","viewAllNews":"Toutes les actualités","seoDescription":"Tradez des cryptos sur Yubbit avec graphiques en direct, carnet d'ordres et frais bas.","chartLoadFailed":"Impossible de charger les données du graphique.","chartRetrying":"nouvelle tentative…","chartEntry":"Entrée","chartLiq":"Liquidation","chartTp":"Prise de profit","chartSl":"Stop-loss","myOrderHere":"Votre ordre à ce niveau","pageHeading":"Cours en direct et trading"},"futures":{"long":"Long","short":"Short","leverage":"Levier","maxLeverage":"Max {{max}}x","margin":"Marge","notional":"Taille de position","estFee":"Frais estimés","liqPrice":"Prix de liq.","quantity":"Quantité","takeProfit":"Prendre profit (TP)","stopLoss":"Stop loss (SL)","openPosition":"Ouvrir une position","openPositions":"Positions ouvertes","useMaxMargin":"Utiliser la marge max","maxMarginHint":"max {{amount}} USDT frais inclus","entry":"Entrée","mark":"Mark","close":"Fermer","closeLong":"Fermer Long","closeShort":"Fermer Short","editTpSl":"Modifier TP/SL","trade":"Écran de trading","currentPair":"Actuel","openPairTrade":"Ouvrir {{asset}} futures →","tpSlPricePlaceholder":"Prix","tpEstProfit":"Est. profit : {{amount}} USDT","slEstLoss":"Est. perte : {{amount}} USDT","positions":"Positions","positionHistory":"Historique","noOpenPositions":"Aucune position ouverte","noPositionHistory":"Aucune position fermée pour l'instant","sharePnl":"Partager PnL","sharePreparing":"Préparation de la carte de partage…","shareFailed":"Impossible de créer la carte de partage","openOrders":"Ordres à terme ouverts","placeLimitOrder":"Passer un ordre limite","placeStopLimitOrder":"Passer un ordre stop-limite","awaitingTrigger":"en attente de déclenchement","addMargin":"Ajouter une marge","addMarginHint":"Ajouter une marge réduit l'effet de levier et éloigne le prix de liquidation.","addMarginPlaceholder":"Montant (USDT)","addMarginConfirm":"Ajouter une marge","partialClose":"Fermeture partielle","partialCloseHint":"Fermer une partie de la position par montant de marge. Le reste reste ouvert.","partialClosePlaceholder":"Montant de fermeture (USDT)","partialCloseConfirm":"Fermer partiellement","closeAll":"Tout fermer","partialCloseLong":"Fermeture partielle long","partialCloseShort":"Fermeture partielle short","effectiveLev":"effectif","shareCard":{"title":"Partager PnL","futures":"Futures","invite":"Rejoignez avec mon code","referral":"Parrainage","closed":"Position fermée","disclaimer":"Pas un conseil financier. Les performances passées ne garantissent pas les résultats futurs.","download":"Télécharger l'image","copyLink":"Copier le lien d'invitation"},"holdingFee":"Frais de détention","holdingFeePer":"{{amount}} USDT / {{hours}}h","holdingFeeHint":"Frais de détention : {{rate}} % de la taille de la position toutes les {{hours}}h (UTC), pour les positions longues et courtes. Ils sont déduits de la marge, rapprochant ainsi le prix de liquidation.","nextHoldingFeeIn":"Prochain prélèvement dans","holdingFeePaid":"Frais de détention payés","nextHoldingFee":"Prochains frais de détention"},"earn":{"title":"Rendement","programs":"Programmes","myStakes":"Mes stakes","noPrograms":"Aucun programme de rendement actif","noStakes":"Aucun stake actif","subscribe":"Souscrire","getAsset":"Obtenir {{asset}}","flexible":"Flexible","fixedDays":"Fixe {{days}} jours","amount":"Montant","lock":"Verrouiller","unstake":"Désengager","claim":"Réclamer les récompenses","redeemEarly":"Racheter tôt","pendingReward":"Récompense en attente","daysLeft":"{{days}} jours restants","earlyExitWarning":"Une sortie anticipée annule les récompenses","earlyExitConfirm":"Une sortie anticipée annule vos récompenses. Continuer ?","claimHint":"Principal + récompenses retournés","flexibleDesc":"APY quotidien {{apy}}% — retrait à tout moment","fixedDesc":"Verrouillage {{days}} jours — APY {{apy}}% à maturité"},"wallet":{"title":"Portefeuille","total":"Solde total","available":"Disponible","inYield":"En rendement","yieldRewards":"Récompenses de rendement en attente","deposit":"Dépôt","withdraw":"Retrait","transfer":"Transfert","assets":"Actifs","history":"Historique","transactions":"Transactions","transactionsTitle":"Historique des transactions","transactionsSubtitle":"{{count}} entrées de registre — 50 par page","transactionsEmpty":"Aucune transaction pour le moment.","txDate":"Date","txType":"Type","txAsset":"Actif","txAmount":"Variation","txNote":"Note","balanceBefore":"Solde avant","balanceAfter":"Solde après","inFutures":"Dans les futures","change24h":"24 h","hideSmall":"Masquer les petits soldes ({{count}})"},"ledger":{"type":{"credit":"Crédit","debit":"Débit","deposit":"Dépôt","withdrawLock":"Blocage de retrait","withdrawRefund":"Remboursement de retrait","adminAdjust":"Ajustement de solde","bonus":"Bonus","tradeBuy":"Achat spot","tradeSell":"Vente spot","orderBuy":"Exécution achat limite","orderSell":"Exécution vente limite","futuresOpen":"Ouverture futures","futuresClose":"Clôture futures","futuresLiquidation":"Liquidation futures","referral":"Commission de parrainage","points":"Points","pointsRedeem":"Échange de points","taskReward":"Récompense de tâche","earnReward":"Récompense Earn","campaignReward":"Récompense de campagne","bonusLocked":"Bonus verrouillé","bonusForfeit":"Bonus récupéré","bonusExpired":"Bonus expiré","futuresPartialClose":"Fermeture partielle des futures","futuresAddMargin":"Ajout de marge futures"}},"deposit":{"title":"Dépôt","method":"Sélectionner une méthode","amount":"Montant","reference":"Référence / Note","instructions":"Instructions","account":"Détails du compte","submit":"Soumettre la demande","pending":"En attente","approved":"Approuvé","rejected":"Rejeté","min":"Min","max":"Max","rateInfo":"Sera crédité après approbation :","creditPreview":"Sera crédité sur votre compte après approbation","transactionFailed":"Transaction échouée","credited":"+ {{amount}} {{asset}} crédité","directDeposit":"1:1 — le dépôt {{currency}} est ajouté au même montant en {{asset}}","exchangeRate":"Taux : {{units}} {{currency}} = 1 {{asset}}","nowpayments":{"tab":"Crypto (NOWPayments)","desc":"Payez avec n'importe quelle cryptomonnaie prise en charge. Votre solde est crédité automatiquement après confirmation.","coin":"Payer avec","amountUsd":"Valeur du dépôt (USD)","amountHint":"Minimum ~1 $. Vous enverrez l'équivalent dans la crypto sélectionnée.","continue":"Obtenir l'adresse de dépôt","sendTitle":"Envoyer exactement","address":"Adresse de dépôt","status":"Statut","waitHint":"Envoyez le montant exact à l'adresse ci-dessus. Le solde se met à jour automatiquement lorsque le paiement est confirmé.","newDeposit":"Nouveau dépôt crypto","creditAs":"Crédité en {{asset}}","loadFailed":"Impossible de charger les cryptomonnaies","createFailed":"Impossible de créer le paiement","searchCoin":"Rechercher une crypto (BTC, ETH, USDT…)","network":"Réseau","noCoin":"Aucune crypto correspondante","selected":"Sélectionné","copyAmount":"Copier le montant","amountCoin":"Montant du dépôt ({{asset}})","minAmount":"Minimum : {{amount}} {{asset}}","invalidAmount":"Entrez un montant valide"},"manual":{"tab":"Banque / Manuel","none":"Aucune méthode de dépôt manuel configurée."},"feeDeduction":"Frais : {{fee}} {{currency}} déduits (dépôt net : {{net}} {{currency}})","card":{"tab":"Carte","desc":"Achetez des USDT avec votre carte via Guardarian. Les USDT sont envoyés sur Ethereum (ERC-20) et crédités automatiquement après confirmation sur la chaîne.","amountLabel":"Montant","continue":"Continuer avec la carte","widgetTitle":"Complétez le paiement par carte","widgetHint":"Payez par carte sur Guardarian. Les USDT seront envoyés à votre adresse de dépôt sur Ethereum (ERC-20).","destination":"Adresse de dépôt (Ethereum ERC-20)","networkHint":"Recevez des USDT uniquement sur Ethereum (ERC-20) — pas sur Arbitrum ou d'autres réseaux.","waitHint":"Le solde se met à jour automatiquement lorsque les USDT arrivent sur Ethereum (généralement quelques minutes).","newDeposit":"Nouveau dépôt par carte","invalidAmount":"Entrez un montant valide dans la plage autorisée","createFailed":"Impossible de démarrer le dépôt par carte","widgetFailed":"Le widget de paiement n'a pas pu être chargé","notConfigured":"Les dépôts par carte ne sont pas encore configurés. Générez une phrase mnémotechnique dans Admin → Paramètres.","invalidMnemonic":"La phrase mnémotechnique de dépôt par carte est invalide. Utilisez une phrase BIP-39 valide de 12 mots.","mnemonicHint":"Admin → Paramètres → Dépôt par carte : cliquez sur Générer et enregistrez la phrase mnémotechnique en toute sécurité.","methodNotFound":"Aucune méthode de dépôt par carte active dans l'admin. Ajoutez une méthode de dépôt avec type = carte.","emailRequired":"Vérifiez votre email avant de déposer","loadingWidget":"Chargement du formulaire de paiement…","guardarianHintUser":"Payez par carte via Guardarian dans un nouvel onglet. Copiez votre adresse de dépôt Ethereum, puis collez-la sur Guardarian.","copyAddress":"Copier l'adresse","copied":"Copié","copyFailed":"Impossible de copier l'adresse","openGuardarian":"Ouvrir Guardarian","newTabHint":"Guardarian s'ouvre dans un nouvel onglet. Pas de clé API ou d'inscription partenaire requise.","stepCopy":"Copiez votre adresse de dépôt unique ci-dessous.","stepOpen":"Cliquez sur Ouvrir Guardarian et complétez le paiement par carte dans le nouvel onglet.","stepPaste":"Sur Guardarian, choisissez USDT (ERC-20) sur Ethereum et collez votre adresse de dépôt."},"paymentCodeHint":"Après soumission, vous recevrez un code de paiement unique. Écrivez ce code dans la description de votre virement bancaire pour que nous puissions associer votre paiement.","paymentCodeTitle":"Votre code de paiement","paymentCodeUse":"Mettez ce code dans la description / champ de référence du virement bancaire.","paymentCodeLabel":"Code de paiement","copyCode":"Copier le code","statuses":{"pending":"En attente","completed":"Terminé","expired":"Expiré","waiting":"En attente du paiement","confirming":"Confirmation en cours","confirmed":"Confirmé","sending":"Envoi en cours","partially_paid":"Partiellement payé","finished":"Terminé","failed":"Échec","refunded":"Remboursé"}},"withdraw":{"title":"Retrait","asset":"Actif","address":"Adresse","network":"Réseau","submit":"Soumettre le retrait","available":"Disponible au retrait","availableShort":"disponible","max":"Max","locked":"Verrouillé dans les ordres","noBalance":"Aucun solde retirable","historyTitle":"Vos retraits","txLabel":"ID de transaction","rejectReason":"Raison du rejet","status":{"pending":"En attente","approved":"Envoyé","rejected":"Rejeté"},"confirmTitle":"Vérifiez votre retrait","confirmHint":"Les retraits envoyés à une mauvaise adresse ou sur un mauvais réseau ne peuvent pas être annulés.","confirmSubmit":"Confirmer le retrait","memo":"Mémo / tag (facultatif)","destinationTag":"Tag de destination (facultatif)","memoHint":"Si vous envoyez des fonds vers une plateforme d’échange, saisissez le mémo/tag qu’elle vous fournit. Sans cela, les fonds risquent de ne pas arriver sur votre compte."},"kyc":{"status":"Statut","submit":"Soumettre la demande","approvedMessage":"Votre KYC est approuvé","required":"Approbation KYC requise pour trader","none":"Non soumis","pending":"En cours d'examen","approved":"Approuvé","rejected":"Rejeté","apply":"Soumettre une demande KYC","submitFailed":"Envoi impossible. Vérifiez les informations et réessayez.","didit":{"title":"Vérification d’identité rapide","desc":"Vérifiez votre identité avec votre téléphone en quelques secondes — sans téléverser de document ni attendre une vérification.","start":"Vérifier mon identité maintenant","lastSession":"Votre dernière tentative de vérification : {{status}}","failed":"La vérification ne peut pas démarrer pour le moment. Réessayez bientôt ; si le problème persiste, contactez notre équipe d’assistance.","onlyPath":"La vérification s’effectue via cette étape. En cas de problème, contactez notre équipe d’assistance."}},"profile":{"title":"Profil","kycLabel":"KYC","security":"Sécurité","language":"Langue","notifications":"Notifications","emailStatus":"E-mail","emailVerified":"Vérifié ✓","emailNotVerified":"Non vérifié","sendVerificationEmail":"Envoyer l'e-mail de vérification","verificationSent":"E-mail de vérification envoyé ✓","smtpNotConfigured":"SMTP non configuré (Admin → Settings)","sendFailed":"Impossible d'envoyer","inviteFriends":"Inviter des amis","inviteDesc":"Gagnez une part des commissions de trading des utilisateurs qui s'inscrivent avec votre lien d'invitation.","inviteDescWithRate":"Gagnez {{percent}}% de chaque frais de trading des utilisateurs qui s'inscrivent avec votre lien d'invitation.","commissionShareTitle":"Votre part de commission","commissionShareDesc":"Sur les frais de trading spot et futures de vos filleuls","referralDisabled":"Le programme de parrainage est actuellement désactivé.","referralCode":"Votre code de parrainage","invited":"Invités","usdtEarned":"USDT gagnés","recentEarnings":"Gains récents","referralLoadFailed":"Impossible de charger les informations de parrainage.","referralUnavailable":"Informations de parrainage indisponibles","apiOutdated":"API obsolète — affichage de votre code de parrainage. Redémarrez le serveur.","retry":"Réessayer","phone":"Téléphone","changePassword":"Changer le mot de passe","currentPassword":"Mot de passe actuel","newPassword":"Nouveau mot de passe","updatePassword":"Mettre à jour le mot de passe","passwordUpdated":"Mot de passe mis à jour","changeEmail":"Changer l'e-mail","changeEmailHint":"Vous devrez vérifier votre nouvelle adresse e-mail.","newEmail":"Nouvel e-mail","confirmWithPassword":"Confirmer avec le mot de passe","updateEmail":"Mettre à jour l'e-mail","emailUpdated":"E-mail mis à jour — vérifiez votre boîte de réception","changePhone":"Changer le téléphone","updatePhone":"Mettre à jour le téléphone","phoneUpdated":"Numéro de téléphone mis à jour","loginOtpTitle":"Vérification e-mail de connexion","loginOtpDesc":"Lorsqu'elle est activée, un code à 6 chiffres est envoyé à votre e-mail à chaque connexion.","loginOtpStatus":"Statut","loginOtpEnable":"Activer","loginOtpDisable":"Désactiver","loginOtpEnabled":"Vérification de connexion activée","loginOtpDisabled":"Vérification de connexion désactivée","loginOtpNeedPassword":"Entrez votre mot de passe pour modifier ce paramètre","viewAllNotifications":"Voir tout","appearance":"Apparence","lightTheme":"Clair","darkTheme":"Sombre","appearanceDesc":"Thème de l’application. Le mode système suit le réglage de votre appareil.","theme":{"light":"Clair","dark":"Sombre","system":"Système"},"digestTitle":"Analyse quotidienne du marché","digestDesc":"Recevez chaque matin dans votre boîte de réception notre analyse des paires que nous suivons.","deleteAccount":{"open":"Supprimer le compte","title":"Supprimer votre compte","intro":"La suppression de votre compte est définitive. Votre adresse e-mail, votre nom et votre numéro de téléphone seront supprimés, et vous serez déconnecté de tous vos appareils.","retain":"Les données de trading, de transaction et de vérification d’identité (KYC) sont conservées uniquement pendant la durée requise par la loi.","blockedTitle":"Avant de pouvoir supprimer votre compte :","blockers":{"OPEN_POSITIONS":"Fermez vos positions à terme ouvertes ({{count}}).","OPEN_ORDERS":"Annulez vos ordres ouverts ({{count}}).","PENDING_TRANSFERS":"Attendez la fin de vos dépôts ou retraits en attente ({{count}}).","ACTIVE_PRODUCTS":"Terminez vos placements Yield actifs, vos abonnements Yubbit DNA ou vos modèles publiés ({{count}}).","HAS_BALANCE":"Retirez d’abord votre solde ({{amount}} USDT disponibles au retrait)."},"forfeitBonus":"Les fonds bonus bloqués ({{amount}} USDT) et les soldes inférieurs à 1 USDT seront perdus.","forfeitDust":"Tout solde restant inférieur à 1 USDT sera perdu.","understand":"Je comprends que mon compte sera supprimé définitivement et que cette action est irréversible.","confirm":"Supprimer mon compte","done":"Votre compte a été supprimé et vous avez été déconnecté. Merci d’avoir utilisé Yubbit."}},"notifications":{"empty":"Aucune notification pour le moment","welcome_bonus":{"title":"Bienvenue","body":"Bonus de bienvenue de {{bonus}} USDT ajouté."},"referral_signup":{"title":"Nouveau parrainage","body":"{{email}} s'est inscrit avec votre code d'invitation."},"email_verified":{"title":"E-mail vérifié","body":"Votre adresse e-mail a été vérifiée."},"password_changed":{"title":"Mot de passe mis à jour","body":"Le mot de passe de votre compte a été modifié."},"email_changed":{"title":"E-mail mis à jour","body":"Nouvelle adresse : {{email}} — veuillez vérifier."},"phone_changed":{"title":"Téléphone mis à jour","body":"Nouveau numéro : {{phone}}"},"deposit_requested":{"title":"Demande de dépôt","body":"Votre demande de dépôt de {{amount}} {{currency}} a été reçue."},"withdraw_requested":{"title":"Demande de retrait","body":"Votre retrait de {{amount}} {{asset}} est en cours de traitement."},"deposit_approved":{"title":"Dépôt approuvé","body":"{{amount}} {{asset}} crédité sur votre compte."},"deposit_rejected":{"title":"Dépôt rejeté","body":"Votre demande de dépôt a été rejetée."},"withdraw_rejected":{"title":"Retrait rejeté","body":"Votre retrait a été rejeté ; solde remboursé."},"withdraw_completed":{"title":"Retrait terminé","body":"Votre retrait de {{amount}} {{asset}} a été envoyé."},"balance_adjusted":{"title":"Solde mis à jour","body":"{{amount}} {{asset}}"},"kyc_approved":{"title":"KYC approuvé","body":"Vérification d'identité terminée. Vous pouvez trader maintenant."},"kyc_rejected":{"title":"KYC rejeté","body":"Votre demande KYC a été rejetée."},"kyc_submitted":{"title":"KYC soumis","body":"Votre demande est en cours d'examen."},"order_filled":{"title":"Ordre exécuté","body":"{{side}} {{asset}} @ ${{price}}"},"referral_earned":{"title":"Gains de parrainage","body":"{{amount}} USDT de commission de parrainage ajoutés."},"futures_opened":{"title":"Position futures ouverte","body":"{{side}} {{asset}} · levier {{leverage}}x · marge {{margin}} USDT"},"futures_closed":{"title":"Position clôturée","body":"{{asset}} {{side}} · PNL : {{pnl}} USDT"},"futures_liquidated":{"title":"Liquidé","body":"Votre position {{asset}} {{side}} a été liquidée."},"futures_tp":{"title":"Take profit atteint","body":"{{asset}} · PNL : {{pnl}} USDT"},"futures_sl":{"title":"Stop loss atteint","body":"{{asset}} · PNL : {{pnl}} USDT"},"earn_staked":{"title":"Rendement staké","body":"{{amount}} {{asset}} verrouillé ({{type}})"},"earn_redeemed":{"title":"Rendement racheté","body":"{{amount}} {{asset}} + {{reward}} de récompense"},"earn_early_exit":{"title":"Sortie anticipée","body":"{{amount}} {{asset}} retourné — aucune récompense"},"earn_accrual":{"title":"Rendement quotidien","body":"+{{amount}} {{asset}} accumulé"},"task_completed":{"title":"Tâche terminée","body":"\"{{title}}\" terminée. +{{points}} points gagnés."},"points_redeemed":{"title":"Récompense échangée","body":"\"{{title}}\" échangée contre {{points}} points."},"reasonLabel":"Raison","txLabel":"ID de transaction","bonus_granted":{"title":"Bonus accordé","body":"{{amount}} {{asset}} de bonus non retirable a été ajouté à votre compte. Complétez les exigences pour retirer votre profit."},"bonus_unlocked":{"title":"Bonus débloqué","body":"{{amount}} {{asset}} de bonus est maintenant retirable."},"bonus_forfeited":{"title":"Bonus annulé","body":"{{amount}} {{asset}} de bonus a été récupéré de votre compte."},"bonus_expired":{"title":"Bonus expiré","body":"{{amount}} {{asset}} de bonus a expiré et a été récupéré."},"futures_order_filled":{"title":"Ordre futures exécuté","body":"{{side}} {{asset}} @ {{price}}"},"futures_margin_added":{"title":"Marge ajoutée","body":"+{{amount}} USDT à la position {{asset}} (marge totale {{margin}} USDT)"},"futures_liquidation_warning":{"title":"Avertissement de liquidation","body":"Votre position {{asset}} est à {{percent}}% de la liquidation. Ajoutez de la marge ou réduisez la taille."},"affiliate_approved":{"title":"Compte d’agence approuvé","body":"Votre demande d’agence pour {{brand}} a été approuvée. Votre espace partenaire est prêt."},"affiliate_rejected":{"title":"Demande d’agence non approuvée","body":"Votre demande d’agence n’a pas été approuvée."},"affiliate_suspended":{"title":"Compte d’agence suspendu","body":"Votre compte d’agence a été suspendu. {{note}}"},"affiliate_reward_usdt":{"title":"Récompense de campagne","body":"Vous avez gagné {{amount}} {{asset}} dans « {{title}} »."},"affiliate_reward_points":{"title":"Récompense de campagne","body":"Vous avez gagné {{points}} points dans « {{title}} »."},"dna_trade_opened":{"title":"DNA a ouvert une position","body":"{{model}} : {{side}} {{symbol}} · {{leverage}}x · marge de {{margin}} USDT"},"dna_trade_closed":{"title":"DNA a clôturé une position","body":"{{model}} : {{symbol}} {{side}} · PNL {{pnl}} USDT"},"dna_profit_share":{"title":"Vous avez gagné une part des bénéfices","body":"Une part des bénéfices de {{amount}} USDT provenant de votre abonné à {{model}} a été ajoutée à votre portefeuille."},"dna_stopped":{"title":"Abonnement DNA arrêté","body":"{{model}} s’est arrêté ; {{amount}} USDT ont été envoyés dans votre portefeuille."},"dna_subscribed":{"title":"Abonnement démarré","body":"{{model}} trade désormais {{amount}} USDT pour vous."},"dna_new_subscriber":{"title":"Nouvel abonné","body":"Un nouvel abonné a rejoint {{model}}."},"dna_renewed":{"title":"Abonnement renouvelé","body":"Les frais mensuels de {{model}} ({{amount}} USDT) ont été prélevés."},"dna_payment_failed":{"title":"Échec du paiement","body":"Les frais mensuels de {{model}} ({{amount}} USDT) n’ont pas pu être prélevés. Ajoutez des fonds dans les {{days}} jours, sinon l’abonnement sera arrêté."},"dna_creator_lapsed":{"title":"Votre forfait créateur a pris fin","body":"Vos modèles ont été retirés de la marketplace ; cela n’affecte pas les abonnés existants."},"dna_model_suspended":{"title":"Votre modèle a été suspendu","body":"{{model}} : {{reason}}"},"dna_model_deleted":{"title":"Un modèle que vous suiviez a été supprimé","body":"{{model}} a été supprimé par son créateur. Les positions ouvertes sont clôturées et votre solde est reversé dans votre portefeuille."},"dna_model_deleted_refund":{"title":"Un modèle que vous suiviez a été supprimé","body":"{{model}} a été supprimé par son créateur. Les positions ouvertes sont clôturées, votre solde est reversé dans votre portefeuille et {{refund}} USDT de frais d’abonnement non utilisés vous ont été remboursés."},"affiliate_market_fulfilled":{"title":"Récompense livrée","body":"Votre récompense « {{title}} » a été livrée."},"affiliate_market_cancelled":{"title":"Commande de récompense annulée","body":"Votre commande « {{title}} » a été annulée et {{points}} points vous ont été rendus."},"affiliate_market_order":{"title":"Nouvelle commande sur le marché","body":"Un utilisateur a commandé « {{title}} » sur votre marché de points. Livrez la récompense depuis votre espace partenaire."}},"admin":{"dashboard":"Tableau de bord","users":"Utilisateurs","deposits":"Dépôts","withdrawals":"Retraits","methods":"Méthodes de paiement","settings":"Paramètres","trades":"Transactions","approve":"Approuver","reject":"Rejeter","addMethod":"Ajouter une méthode","branding":"Branding","coins":"Pièces","languages":"Langues","kycSettings":"Champs KYC","panel":"Panneau Admin","backToSite":"Retour au site","closeMenu":"Fermer le menu","menu":"Menu","groups":{"general":"Général","users":"Utilisateurs","finance":"Finance","markets":"Marchés","cms":"Contenu & CMS","marketing":"Marketing","system":"Système"},"nav":{"kycQueue":"Demandes KYC","revenue":"Revenus","risk":"Risque / Exposition","earn":"Earn / Rendement","landingPages":"Constructeur LP","campaigns":"Constructeur de campagnes","tasks":"Tâches & Points","pages":"Constructeur de pages","homepage":"Page d'accueil","blog":"Blog","announcements":"Annonces","academy":"Académie","autoContent":"Contenu IA","analytics":"Analytique","mailTemplates":"Modèles d'e-mail","seo":"Paramètres SEO","bonuses":"Bonus bloqué","push":"Notifications Push"},"usersHint":"Cliquez sur un utilisateur pour voir les soldes, l'historique et ajuster les fonds.","searchUsers":"Rechercher nom, e-mail, téléphone…","colName":"Nom","colActions":"Actions","lastLogin":"Dernière connexion","noUsers":"Aucun utilisateur trouvé","viewUser":"Voir","registered":"Inscrit","loginOtp":"OTP de connexion","referredBy":"Parrainé par","noBalances":"Aucun solde pour le moment","adjustBalance":"Ajuster le solde","adjustBalanceHint":"Positif ajoute, négatif soustrait. Tout actif.","amountPlusMinus":"Montant (+ / −)","noteOptional":"Note (facultatif)","applyBalance":"Appliquer","balanceUpdated":"Solde mis à jour","openFutures":"Positions futures ouvertes","loginHistory":"Historique de connexion","noLoginLogs":"Aucun enregistrement de connexion pour le moment","ledgerHistory":"Registre / transactions","tradeHistory":"Historique de trading","date":"Date","riskTitle":"Risque de conservation / Exposition","riskHint":"Total des avoirs en coins de tous les utilisateurs — utilisez pour les décisions de couverture.","riskUpdated":"Mis à jour","totalExposure":"Exposition totale","withBalance":"avec solde","assetCount":"Actifs détenus","custodyAssets":"en conservation","asset":"Actif","totalCustody":"Conservation totale","staked":"Staké (Earn)","holders":"Détenteurs","futuresNet":"Qté nette futures","exposureBar":"Part","noExposure":"Aucun solde utilisateur pour le moment","riskDisclaimer":"Les valeurs en USD sont des estimations basées sur les prix de marché en direct. Les soldes verrouillés incluent les ordres ouverts. La quantité nette futures montre l'exposition long moins short par actif.","balanceAdd":"Ajouter","balanceSubtract":"Soustraire","balanceAsset":"Type de solde","balanceAmount":"Montant","balanceCurrent":"Actuel","balanceAll":"Tout","balanceAfter":"Après ajustement","balanceInsufficient":"Solde insuffisant — impossible de soustraire autant.","balanceNoteHint":"Visible dans l'historique des transactions de l'utilisateur.","kyc":{"setPending":"Mettre en attente","reviewHint":"Les décisions peuvent être modifiées ; l'utilisateur est informé.","title":"Soumission KYC","noSubmission":"Cet utilisateur n'a pas encore soumis de KYC.","submittedAt":"Soumis","processedAt":"Traité","documents":"Documents","approve":"Approuver","reject":"Rejeter","rejectReason":"Raison du rejet"},"bonus":{"title":"Bonus non retirable","hint":"Le bonus est crédité sur le solde et peut être échangé, mais les retraits restent bloqués jusqu'à ce que les conditions soient remplies.","grantTitle":"Accorder un nouveau bonus","grantButton":"Accorder le bonus","granted":"Bonus accordé","amount":"Montant","label":"Étiquette","expiryDays":"Valable pour (jours, 0 = pas d'expiration)","releaseMode":"Lorsque les conditions sont remplies","releaseKeepLocked":"Garder le bonus bloqué, libérer uniquement le profit","releaseUnlock":"Libérer le bonus aussi","stillLocked":"Toujours bloqué","unlock":"Débloquer","forfeit":"Annuler / récupérer","forfeitPartial":"Partiellement récupéré. Le reste de {{amount}} est engagé dans des positions ouvertes et sera collecté une fois fermées.","status":{"active":"Actif","unlocked":"Libéré","consumed":"Consommé","forfeited":"Annulé","expired":"Expiré"},"requirement":{"email_verified":"Vérification de l'email","kyc":"Approbation KYC","deposit":"Dépôt","trade_volume":"Volume de trading","days":"Période d'attente"}},"accountStatus":"Statut du compte","active":"Actif","banned":"Banni","banReason":"Raison du bannissement","banManagement":"Gestion des bannissements","banReasonPlaceholder":"Raison du bannissement affichée à l'utilisateur lors de la connexion","banUser":"Bannir l'utilisateur","unbanUser":"Débannir l'utilisateur","banApplied":"Utilisateur banni","unbanApplied":"Utilisateur débanni"},"tasks":{"title":"Tâches & Récompenses","subtitle":"Complétez des tâches, gagnez des points, échangez des récompenses.","badge":"Récompenses","yourPoints":"Vos points","howTitle":"Comment ça marche","howDesc":"Complétez des tâches et les points sont crédités automatiquement.","step1":{"title":"Choisissez une tâche","desc":"Parcourez les tâches actives"},"step2":{"title":"Complétez-la","desc":"Tradez, déposez ou invitez"},"step3":{"title":"Échangez","desc":"Dépensez des points dans le marché"},"listTitle":"Tâches","loginRequired":"Connectez-vous pour voir vos tâches.","completed":"Terminé","autoCheck":"Vérifié automatiquement","goToLink":"Aller à la tâche","linkRewarded":"Tâche terminée, points attribués !","volumeProgress":"Volume {{symbol}} : {{current}} / {{required}} USDT","misconfigured":"Tâche mal configurée (admin : définissez le symbole et le volume minimum)","inviteLinkLabel":"Votre lien d'invitation","inviteLinkUnavailable":"Impossible de charger le lien d'invitation. Essayez depuis Profil.","invitedSoFar":"{{count}} utilisateurs se sont inscrits avec votre code","marketTitle":"Marché des points","points":"pts","redeem":"Échanger","redeemSuccess":"Récompense réclamée !","shipName":"Nom complet","shipPhone":"Téléphone","shipAddress":"Adresse de livraison","heroBadge":"Missions & Récompenses","liveRewards":"Récompenses en direct","completeToEarn":"Complétez pour gagner des points","yourProgress":"Votre progression","totalPoints":"Total des points gagnés","missionsCompleted":"{{done}} / {{total}} missions","banner":{"upcoming":"Bientôt disponible","live":"En cours","startsIn":"Commence dans","endsIn":"Se termine dans","startsAt":"Commence le {{date}}","endsAt":"Se termine le {{date}}","units":{"d":"Jours","h":"Heures","m":"Min","s":"s"}},"daily":"Quotidien","completedToday":"Terminé pour aujourd’hui · revenez demain"},"errors":{"INVALID_CREDENTIALS":"E-mail ou mot de passe invalide","EMAIL_EXISTS":"E-mail déjà enregistré","INVALID_INPUT":"Entrée invalide (mot de passe min. 6 caractères)","INVALID_PRICE":"Prix limite invalide","INVALID_STOP_PRICE":"Prix stop invalide","INSUFFICIENT_BALANCE":"Solde insuffisant","KYC_REQUIRED":"Complétez d'abord le KYC","UNAUTHORIZED":"Veuillez vous connecter","MAINTENANCE":"Mode maintenance actif","NETWORK_ERROR":"Impossible de joindre le serveur. Lancez npm run dev dans le terminal.","SERVER_ERROR":"Erreur serveur. Veuillez réessayer.","REQUEST_FAILED":"Échec de la demande","COIN_NOT_SUPPORTED":"Cette crypto n'est pas prise en charge","ORDER_FAILED":"Impossible de passer l'ordre","ORDERS_TABLE_MISSING":"Table des ordres manquante — redémarrez l'API","API_NOT_FOUND":"Endpoint API introuvable — redémarrez le serveur","INVALID_ORDER_TYPE":"Type d'ordre invalide","EMAIL_NOT_VERIFIED":"Vérifiez votre e-mail (Profil → e-mail de vérification)","SMTP_NOT_CONFIGURED":"Service e-mail non configuré","EMAIL_SEND_FAILED":"Impossible d'envoyer l'e-mail","INVALID_PHONE":"Saisissez un numéro de téléphone valide","PHONE_EXISTS":"Ce numéro de téléphone est déjà enregistré","FUTURES_USE_MARGIN":"Utilisez les futures avec effet de levier pour trader ce marché","INVALID_LEVERAGE":"Levier invalide","INVALID_TAKE_PROFIT":"Prix take profit invalide","INVALID_STOP_LOSS":"Prix stop loss invalide","POSITION_NOT_OPEN":"La position n'est pas ouverte","FUTURES_FAILED":"Échec du trade futures","PRICE_UNAVAILABLE":"Prix indisponible","BELOW_MIN_AMOUNT":"Montant inférieur au minimum","ABOVE_MAX_AMOUNT":"Montant supérieur au maximum","PROGRAM_NOT_FOUND":"Programme introuvable","STAKE_NOT_ACTIVE":"Le stake n'est pas actif","EARN_FAILED":"Échec de l'opération de rendement","INVALID_OTP":"Code de vérification invalide","OTP_EXPIRED":"Code de vérification expiré — reconnectez-vous","INSUFFICIENT_POINTS":"Points insuffisants","OUT_OF_STOCK":"Rupture de stock","generic":"Une erreur est survenue","BONUS_PROFIT_LOCKED":"Ce montant inclut votre profit. Pour l'instant, vous pouvez seulement retirer votre solde déposé.","BONUS_CONDITIONS_NOT_MET":"Vous ne pouvez pas retirer avant de remplir les conditions du bonus.","BONUS_LOCKED_AMOUNT":"Ce montant inclut un bonus verrouillé. Vous pouvez seulement retirer votre profit.","BONUS_PRICE_UNAVAILABLE":"Les données de prix sont temporairement indisponibles. Veuillez réessayer dans quelques minutes.","BONUS_NOT_ACTIVE":"Ce bonus est déjà fermé.","BONUS_GRANT_FAILED":"Impossible d'accorder le bonus.","INVALID_AMOUNT":"Montant invalide.","MIN_WITHDRAW":"En dessous du montant minimum de retrait.","PUSH_SUBSCRIBE_FAILED":"Échec de l'abonnement push — réessayez ou contactez le support","CLOSE_AMOUNT_TOO_SMALL":"Le montant de clôture doit être d'au moins 1 USDT","ACCOUNT_BANNED":"Votre compte est banni","TRADE_FAILED":"La transaction n’a pas pu être effectuée. Veuillez réessayer.","INVALID_CURRENCY":"Le dépôt de cette cryptomonnaie ou sur ce réseau est impossible. Veuillez en choisir un autre.","NOWPAYMENTS_DISABLED":"Les dépôts en cryptomonnaies sont temporairement indisponibles.","NOWPAYMENTS_API_ERROR":"Le prestataire de paiement n’a pas répondu. Veuillez réessayer dans quelques instants.","NOWPAYMENTS_CREATE_FAILED":"L’adresse de dépôt n’a pas pu être créée. Veuillez réessayer dans quelques instants.","INVALID_MEMO":"Mémo / tag invalide. Pour XRP, utilisez uniquement le tag de destination numérique.","RATE_LIMITED":"Trop de tentatives. Veuillez patienter quelques minutes avant de réessayer.","OTP_TOO_MANY_ATTEMPTS":"Trop de codes erronés. Demandez un nouveau code et réessayez.","MARGIN_TOO_SMALL":"La marge minimale est de 1 USDT","INVALID_RATE":"Le taux doit être compris entre 0 et 100.","REQUEST_IN_PROGRESS":"Votre demande précédente est toujours en cours de traitement. Veuillez patienter un instant.","IDEMPOTENCY_KEY_REUSED":"Cette demande a déjà été envoyée avec des détails différents. Veuillez réessayer.","INVALID_IDEMPOTENCY_KEY":"Demande invalide. Veuillez actualiser la page et réessayer.","RESET_LINK_INVALID":"Ce lien de réinitialisation est invalide ou a expiré. Demandez-en un nouveau.","SESSION_EXPIRED":"Votre session a expiré. Veuillez vous reconnecter.","ACCOUNT_DELETE_BLOCKED":"Certains éléments nécessitent votre attention avant la suppression du compte.","ADMIN_ACCOUNT_DELETE":"Les comptes administrateur ne peuvent pas être supprimés depuis l’application.","NOT_ELIGIBLE":"Cette offre est réservée aux membres de cette communauté.","CONTACT_REQUIRED":"Indiquez comment vous contacter pour que la récompense puisse être livrée.","ITEM_UNAVAILABLE":"Cette récompense n’est pas disponible pour le moment.","MARKET_UNAVAILABLE":"Ce marché n’est pas disponible pour le moment."},"pwa":{"installTitle":"Installer l'application {{name}}","installDesc":"Ajoutez {{name}} à votre écran d'accueil pour un accès rapide — tradez comme avec une application native en un clic.","install":"Installer","later":"Pas maintenant","iosHint":"Sur iPhone : touchez Partager (□↑) dans Safari, puis \"Ajouter à l'écran d'accueil\".","iosHintAppPage":"Important : ouvrez d'abord l'application Trade (/app) dans Safari, puis ajoutez-la à l'écran d'accueil — sinon le raccourci ouvre la page d'accueil du site.","iosHowTo":"Comment ajouter","openApp":"Ouvrir l'application","storeTitle":"Téléchargez l’application {{name}}","storeDesc":"Téléchargez notre application pour trader plus rapidement, recevoir des notifications instantanées et vous connecter en toute sécurité.","appStore":"Télécharger dans l’App Store","googlePlay":"Disponible sur Google Play","iosStepsTitle":"Ajoutez à votre écran d’accueil en 3 étapes","iosStep1":"Appuyez sur le bouton Partager — en bas de l’écran dans Safari ou en haut à droite dans Chrome.","iosStep2":"Faites défiler le menu vers le bas et appuyez sur « Ajouter à l’écran d’accueil ».","iosStep3":"Appuyez sur « Ajouter » en haut à droite. L’icône de l’application apparaît sur votre écran d’accueil.","androidStepsTitle":"Ajoutez à votre écran d’accueil","androidStep1":"Ouvrez le menu de votre navigateur (⋮ en haut à droite).","androidStep2":"Appuyez sur « Installer l’application » ou « Ajouter à l’écran d’accueil ».","gotIt":"Compris"},"common":{"loading":"Chargement...","save":"Enregistrer","cancel":"Annuler","confirm":"Confirmer","back":"Retour","copy":"Copier","copied":"Copié","live":"EN DIRECT","optional":"facultatif","noResults":"Aucun résultat trouvé.","previous":"Précédent","next":"Suivant","pageOf":"Page {{page}} sur {{total}}","on":"Activé","off":"Désactivé","language":"Langue","loadFailed":"Chargement impossible. Vérifiez votre connexion.","close":"Fermer","retry":"Réessayer","ok":"OK"},"bonus":{"profitLockedTitle":"Votre profit dépend des exigences du bonus","profitLockedDesc":"Vous pouvez retirer votre propre solde déposé à tout moment. Le bonus lui-même n'est pas retirable ; pour retirer votre profit de trading, complétez les étapes ci-dessous.","ownFunds":"Votre propre solde","alwaysWithdrawable":"toujours retirable","lockedTotal":"Verrouillé","bonusPlusProfit":"bonus + profit","notWithdrawable":"non retirable","lockedBonus":"Bonus verrouillé","profitOnlyHint":"seul le profit est retirable","blockedTitle":"Verrouillage du bonus actif","blockedDesc":"Votre compte détient un bonus non retirable. Le bonus lui-même ne peut jamais être retiré ; complétez les étapes ci-dessous pour retirer votre profit.","blockedButton":"Exigences non remplies","stepsTitle":"Pour retirer votre profit","lockedAmountLine":"{{amount}} {{asset}} de bonus reste verrouillé.","done":"Terminé","notDone":"En attente","days":"jours","requirement":{"email_verified":"Vérification de l'email","kyc":"Approbation KYC","deposit":"Dépôt","trade_volume":"Volume de trading","days":"Période d'attente"},"cta":{"verifyEmail":"Vérifier","kyc":"Commencer KYC","deposit":"Déposer","trade":"Trader"}},"push":{"profileTitle":"Notifications push","profileDesc":"Recevez des alertes pour les transactions, liquidations, dépôts et plus.","unsupported":"Les notifications push ne sont pas prises en charge par ce navigateur.","status":"Statut","enable":"Activer les notifications","disable":"Désactiver","sendTest":"Envoyer un test","testSent":"Notification de test envoyée","promptTitle":"Activer les notifications push","promptSubtitle":"Restez informé des transactions & alertes","promptDesc":"Recevez des alertes instantanées pour les exécutions d'ordres, avertissements de liquidation, dépôts et plus.","later":"Plus tard"},"deleteAccountPage":{"seoTitle":"Supprimer votre compte · Yubbit","title":"Supprimer votre compte Yubbit","intro":"Vous pouvez supprimer définitivement votre compte Yubbit et vos données personnelles à tout moment, dans l’application Yubbit ou sur le site web.","stepsTitle":"Comment supprimer votre compte","openProfile":"Accéder au profil","beforeTitle":"Avant de supprimer votre compte","emailTitle":"Vous n’arrivez pas à vous connecter ?","emailText":"Écrivez-nous depuis l’adresse e-mail associée à votre compte et demandez sa suppression. Nous vérifierons que la demande vient bien de vous, puis supprimerons le compte :","deletedTitle":"Données supprimées","keptTitle":"Données conservées","privacyLink":"Lire notre politique de confidentialité","steps":["Connectez-vous à Yubbit dans l’application ou sur yubbit.com/app.","Ouvrez Profil.","Faites défiler jusqu’en bas et appuyez sur Supprimer le compte.","Saisissez votre mot de passe et confirmez. Votre compte sera supprimé immédiatement."],"before":["Fermez vos positions futures ouvertes et annulez vos ordres ouverts.","Retirez votre solde. Les montants inférieurs à 1 USDT et les bonus bloqués ne peuvent pas être retirés et seront perdus.","Attendez que les dépôts et retraits en attente soient terminés.","Arrêtez vos produits Earn actifs et vos abonnements Yubbit DNA, puis dépubliez vos modèles DNA.","L’écran de suppression du compte indique tout ce qu’il reste à faire."],"deleted":["Votre nom, votre adresse e-mail et votre numéro de téléphone","Votre mot de passe, vos sessions actives et vos codes de connexion","Vos préférences de notification et d’e-mail","L’accès au compte, de façon permanente"],"kept":["Historique des transactions, dépôts et retraits","Historique des vérifications d’identité (KYC)","Ces données sont conservées uniquement pendant la durée exigée par les lois contre le blanchiment d’argent et les lois financières.","Les transactions sur la blockchain sont publiques et ne peuvent pas être supprimées."]},"insights":{"about":"À propos de {{asset}}","news":{"title":"Actualités sur {{asset}}","marketTitle":"Actualités des marchés","count":"{{count}} articles","fallback":"Aucun article sur {{asset}} au cours des 14 derniers jours — affichage des actualités générales sur les cryptos.","error":"Impossible de charger les actualités.","empty":"Aucune actualité pour le moment.","showMore":"{{count}} articles supplémentaires","showLess":"Afficher moins","attribution":"Les articles proviennent des flux RSS des éditeurs ; appuyez sur un titre pour le lire sur la source d’origine."},"ai":{"title":"Analyse IA","subtitle":"Choisissez un horizon, obtenez un plan","cardTitle":"Analyse IA de {{asset}}","cardDesc":"Choisissez votre horizon : l’IA détaille les points d’entrée, le stop et les objectifs.","cardCta":"Analyser","pickTitle":"Quel est votre horizon de trading ?","pickHint":"L’analyse est calculée à partir de données réelles de chandeliers : tendance, momentum, volatilité, supports et résistances. Ceci ne constitue pas un conseil en investissement.","candles":"Chandeliers {{interval}}","horizons":{"scalp":{"title":"Scalping","hold":"Minutes – 2 heures"},"intraday":{"title":"Intrajournalier","hold":"Quelques heures – 1 jour"},"swing":{"title":"Swing","hold":"2 – 10 jours"},"position":{"title":"Long terme","hold":"Semaines – mois"}},"loading1":"Lecture des bougies {{interval}}","loading2":"Calcul des indicateurs","loading3":"Recherche des supports et résistances","loading4":"Élaboration du plan de trading","bias":{"long":"LONG","short":"SHORT","wait":"ATTENDRE"},"confidence":"Confiance","trendMeter":"Force de la tendance","strongDown":"Forte baisse","neutral":"Neutre","strongUp":"Forte hausse","levelsTitle":"Plan de trading","triggersTitle":"Niveaux à surveiller","now":"Prix actuel","entryZone":"Zone d’entrée","tp1":"Objectif 1 (clôturer la moitié)","tp2":"Objectif 2","stopLoss":"Stop loss","liquidation":"Liquidation ({{lev}}x)","triggerLong":"Clôture au-dessus → configuration longue","triggerShort":"Clôture en dessous → configuration courte","triggerSupport":"Support clé","riskReward":"Risque / rendement","risk":"Risque","reward":"Rendement","leverage":"Effet de levier suggéré","leverageHint":"Le stop coûte ~25 % de la marge","margin":"Marge","marginHint":"Part de votre solde","positionSize":"Taille de position","positionSizeHint":"Part de votre solde à utiliser pour acheter","stopDistance":"Distance du stop","riskPerTrade":"Risque par trade","riskPerTradeHint":"Montant perdu si le stop est déclenché","stepsTitle":"Plan étape par étape","invalidation":"Invalidé par","signalsTitle":"Signaux","trend":"Tendance","up":"Hausse","down":"Baisse","sideways":"Latéral","cross_bullish":"Croisement haussier","cross_bearish":"Croisement baissier","positive":"Positif","negative":"Négatif","volatility":"Volatilité (ATR)","vsNormal":"{{x}}x la normale","volume":"Volume","vsAverage":"vs moyenne sur 20 bougies","rangePosition":"Position dans la fourchette","higherTf":"UT supérieure ({{interval}})","reasonsTitle":"Pourquoi ce plan ?","bullCount":"{{count}} en faveur","bearCount":"{{count}} contre","risksTitle":"Attention","applyPlan":"Envoyer le plan au formulaire d’ordre ({{side}})","byModel":"Rédigé par l’IA ({{model}})","computed":"Calculé à partir des indicateurs","generatedAt":"au {{time}}","disclaimer":"Cette analyse ne constitue pas un conseil en investissement. Les marchés crypto sont très volatils ; ne tradez qu’avec de l’argent que vous pouvez vous permettre de perdre.","retry":"Réessayer","errors":{"RATE_LIMITED":"Trop d’analyses demandées. Réessayez dans quelques minutes.","NOT_ENOUGH_DATA":"L’historique des cours de cette cryptomonnaie est encore insuffisant.","COIN_NOT_SUPPORTED":"Cette paire n’est pas prise en charge pour l’analyse.","AI_ANALYSIS_DISABLED":"L’analyse par IA est désactivée pour le moment.","ANALYSIS_FAILED":"L’analyse n’a pas pu être préparée. Veuillez réessayer bientôt.","NETWORK_ERROR":"Erreur de connexion. Vérifiez votre connexion Internet."},"applyPlanSpot":"Envoyer le plan au formulaire d’achat","targetReturn":"Rendement cible 2","targetReturnHint":"De l’entrée à la cible 2"},"codes":{"headline_long":"Configuration haussière : acheter le repli","headline_short":"Configuration baissière : vendre le rebond","headline_wait":"Aucun avantage clair — attendre un niveau déclencheur","headline_wait_bearish_spot":"La tendance baissière se poursuit — il est trop tôt pour acheter au comptant","trend_up":"Tendance haussière : la moyenne rapide (EMA20) est au-dessus de la moyenne lente (EMA50), et le cours est au-dessus des deux.","trend_down":"Tendance baissière : l’EMA20 est sous l’EMA50 et le cours est sous les moyennes.","trend_flat":"Les moyennes sont presque plates — aucune tendance claire.","above_ema200":"Le cours est au-dessus de la moyenne à long terme (EMA200).","below_ema200":"Le cours est sous la moyenne à long terme (EMA200).","rsi_overbought":"RSI {{rsi}} : suracheté — une pause à court terme est possible.","rsi_oversold":"RSI {{rsi}} : survendu — un rebond de soulagement est possible.","rsi_bullish":"RSI {{rsi}} : le momentum favorise les acheteurs.","rsi_bearish":"RSI {{rsi}} : le momentum favorise les vendeurs.","rsi_neutral":"RSI {{rsi}} : le momentum est équilibré.","macd_bull_cross":"Le MACD croise à la hausse : le momentum s’oriente à la hausse.","macd_bear_cross":"Le MACD croise à la baisse : le momentum s’oriente à la baisse.","macd_positive":"Le MACD est en territoire positif.","macd_negative":"Le MACD est en territoire négatif.","htf_up":"La tendance de l’unité de temps supérieure ({{interval}}) est haussière.","htf_down":"La tendance de l’unité de temps supérieure ({{interval}}) est baissière.","htf_flat":"L’unité de temps supérieure ({{interval}}) évolue latéralement.","volume_high":"Le volume est {{ratio}}x supérieur à la moyenne : le mouvement suscite de l’intérêt.","volatility_high":"La volatilité est {{ratio}}x supérieure à la normale ; les stops sont plus facilement déclenchés.","htf_conflict":"L’unité de temps supérieure ({{interval}}) indique la direction opposée : la configuration est plus risquée.","rsi_extreme_long":"Acheter après une forte hausse (RSI {{rsi}}) : un repli pourrait d’abord survenir.","rsi_extreme_short":"Vendre après une forte baisse (RSI {{rsi}}) : un rebond pourrait d’abord survenir.","low_volume":"Le volume est faible ({{ratio}}x la moyenne) : le mouvement pourrait manquer de suivi.","near_resistance":"Une résistance à {{level}} se trouve avant l’objectif ; elle doit d’abord être franchie.","near_support":"Un support à {{level}} se trouve avant l’objectif ; il doit d’abord être franchi.","spot_no_short":"Vous ne pouvez pas vendre à découvert sur le marché spot ; réduire la position est la seule protection contre une baisse.","general_risk":"Une nouvelle inattendue ou un mouvement brusque peut compromettre tout plan : ne tradez jamais sans stop.","step_entry_long":"Placez un ordre d’achat à cours limité entre {{low}} et {{high}}.","step_entry_short":"Placez un ordre de vente à découvert à cours limité entre {{low}} et {{high}}.","step_stop":"Stop loss : {{sl}} ({{pct}}% par rapport au prix d’entrée).","step_leverage":"Effet de levier maximal : {{leverage}}x ; marge d’environ {{margin}}% de votre solde.","step_size":"Position : environ {{size}}% de votre solde (un stop coûte 1% de votre solde).","step_tp1":"Objectif 1 : {{tp1}} — clôturez la moitié de la position (risque/rendement 1:{{rr}}).","step_tp2":"Objectif 2 : {{tp2}} — clôturez le reste (1:{{rr}}).","step_trail":"Une fois l’objectif 1 atteint, déplacez le stop au prix d’entrée pour éviter que le trade ne devienne perdant.","step_wait_long":"Une clôture de bougie au-dessus de {{level}} ouvre une configuration longue.","step_wait_short":"Une clôture de bougie en dessous de {{level}} ouvre une configuration courte.","step_wait_spot":"Si le support à {{level}} cède, ne vous précipitez pas pour acheter : attendez que le prix se stabilise.","step_wait_recheck":"Actualisez l’analyse à la clôture de nouvelles bougies {{interval}}.","inv_long":"Une clôture sous {{level}} invalide cette idée.","inv_short":"Une clôture au-dessus de {{level}} invalide cette idée.","inv_wait":"N’ouvrez pas de position tant qu’aucun des niveaux de déclenchement n’a été franchi."}},"dna":{"promo":"Entraînez votre propre trader IA, faites-le concourir et gagnez grâce aux abonnés","actions":{"long":"Acheter (Long)","short":"Vendre (Short)","wait":"Attendre","hold":"Conserver","add":"Ajouter","reduce":"Réduire","close":"Fermer"},"status":{"draft":"Brouillon","published":"En ligne","paused":"En pause","suspended":"Suspendu","active":"Actif","past_due":"Paiement en retard","stopped":"Arrêté","stopping":"Arrêt en cours","deleted":"Supprimé"},"archetypes":{"trend_follower":"Suiveur de tendance","dip_hunter":"Chasseur de creux","breakout_trader":"Trader de cassures","patient_sniper":"Sniper patient","risk_taker":"Amateur de risque","balanced":"Équilibré"},"archetypeText":{"trend_follower":"N’entre pas en position sans direction claire ; suit la tendance et évite de la contrer.","dip_hunter":"Voit les fortes baisses et les marchés survendus comme des occasions ; achète quand la foule a peur.","breakout_trader":"Attend que des niveaux clés soient franchis, puis entre rapidement en position.","patient_sniper":"Attend la plupart du temps et n’agit que lorsque les configurations sont très nettes.","risk_taker":"Utilise un effet de levier élevé et prend de grosses positions ; les gains comme les pertes peuvent être importants.","balanced":"N’est pas attaché à un seul style ; analyse différents signaux selon la situation."},"traits":{"trend_following":"Tendance","dip_buying":"Achat sur repli","breakout":"Cassure","patience":"Patience","loss_cutting":"Coupe des pertes","profit_taking":"Prise de bénéfices","risk_appetite":"Appétit pour le risque"},"features":{"trend":"tendance","momentum":"momentum","rsi":"RSI","range_pos":"position dans la fourchette","volatility":"volatilité","volume":"volume","dip":"baisse depuis le plus haut","rally":"hausse depuis le plus bas","breakout":"cassures","ema_dist":"distance par rapport à l’EMA50"},"signals":{"trend":"Tendance","momentum":"Momentum","volatility":"Volatilité","volume":"Volume","pnl":"Position"},"conditions":{"rsi_below":"RSI < {{value}}","rsi_above":"RSI > {{value}}","trend_up":"Tendance haussière (EMA20 {{value}} % au-dessus de l’EMA50)","trend_down":"Tendance baissière (EMA20 {{value}} % en dessous de l’EMA50)","momentum_above":"Variation sur 10 bougies > {{value}}%","momentum_below":"Variation sur 10 bougies < {{value}}%","breakout_up":"Dépasse le plus haut des 20 dernières bougies","breakout_down":"Passe sous le plus bas des 20 dernières bougies","volume_spike":"Volume supérieur à {{value}}x la moyenne","volatility_below":"Volatilité (ATR) < {{value}}%","volatility_above":"Volatilité (ATR) > {{value}}%","dip_from_high":"Au moins {{value}}% sous le plus haut","near_range_low":"Position dans la fourchette de 50 bougies < {{value}}%","near_range_high":"Position dans la fourchette de 50 bougies > {{value}}%","above_ema50":"Prix vs EMA50 > {{value}}%","below_ema50":"Prix vs EMA50 < {{value}}%","profit_above":"Profit de la position > {{value}}%","loss_below":"Perte de la position supérieure à {{value}}%","held_over":"Ouverte depuis plus de {{value}} bougies","short_rsi_below":"RSI inférieur à","short_rsi_above":"RSI supérieur à","short_trend_up":"Tendance haussière","short_trend_down":"Tendance baissière","short_momentum_above":"Momentum fort","short_momentum_below":"Momentum faible","short_breakout_up":"Cassure haussière","short_breakout_down":"Cassure baissière","short_volume_spike":"Pic de volume","short_volatility_below":"Marché calme","short_volatility_above":"Marché agité","short_dip_from_high":"Baisse depuis le plus haut","short_near_range_low":"Près du bas de la fourchette","short_near_range_high":"Près du haut de la fourchette","short_above_ema50":"Au-dessus de l’EMA50","short_below_ema50":"Sous EMA50","short_profit_above":"En profit","short_loss_below":"En perte","short_held_over":"Position longue détenue"},"tags":{"trend_up":"Tendance haussière","trend_down":"Tendance baissière","oversold":"Survendu","overbought":"Suracheté","breakout":"Cassure","support":"Au support","resistance":"À la résistance","volume":"Pic de volume","too_volatile":"Trop volatil","unclear":"Indéterminé","take_profit":"Prendre les bénéfices","cut_loss":"Limiter les pertes","let_it_run":"Laisser courir","trend_intact":"Tendance intacte","trend_broken":"Tendance rompue","trade_history":"Trade réel"},"chart":{"now":"Maintenant","entry":"Entrée"},"card":{"official":"Officiel","officialHint":"Créé et géré par Yubbit","by":"par {{name}}","return30":"Rendement sur 30 jours","returnAll":"Depuis le lancement","rules":"Basé sur des règles","subscribers_one":"{{count}} abonné","subscribers_other":"{{count}} abonnés","subscribers":"{{count}} abonnés","open":"Voir"},"pricing":{"free":"Gratuit","monthly":"{{fee}} USDT/mois","profit":"{{pct}} % de partage des profits"},"metrics":{"return30":"30 jours (virtuel en temps réel)","returnAll":"Depuis le lancement","maxDd":"Perte maximale","winRate":"Taux de réussite","fidelity":"Correspondance du style","backtest":"Backtest","liveVirtual":"prix réels, compte virtuel","since":"depuis le {{date}}","trades":"{{count}} transactions","samples":"à partir de {{count}} exemples d’entraînement","vsHold":"achat-conservation : {{v}}"},"filters":{"all":"Tout","free":"Gratuit","subscription":"Frais mensuels","profit":"Partage des profits uniquement","search":"Rechercher des modèles"},"sort":{"return30":"Rendement sur 30 jours","return7":"Rendement sur 7 jours","returnAll":"Rendement total","drawdown":"Risque le plus faible","fidelity":"Correspondance du style","subscribers":"Plus d’abonnés","newest":"Plus récent"},"common":{"yes":"Oui","no":"Non","retry":"Réessayer","save":"Enregistrer"},"closeReasons":{"model":"Fermé par le modèle","reduce":"Réduit par le modèle","stop_loss":"Stop loss","take_profit":"Prise de profit","liquidation":"Liquidation","stop":"Abonnement arrêté","admin":"Fermé par un administrateur"},"stopReasons":{"user":"à votre demande","loss_limit":"car la limite de perte a été atteinte","payment":"car les frais mensuels n’ont pas pu être payés","admin":"par un administrateur","model_deleted":"car son créateur a supprimé le modèle"},"feeKinds":{"subscription":"Abonnement mensuel","profit_share":"Part des bénéfices","creator_plan":"Offre créateur","refund":"Remboursement (modèle supprimé)"},"why":{"byRule":"La règle n°{{n}} s’est déclenchée","byStyle":"Style appris · biais de {{conf}} %","byDefault":"Aucun signal clair — valeur par défaut","now":"maintenant {{v}}","similar":"Décisions les plus similaires du créateur","realTrade":"Transaction réelle du créateur","shortBlocked":"Le modèle penchait pour une position courte, mais cette option est désactivée : il a donc attendu."},"demo":{"personaA":"Emma","personaB":"Kai","style_trend":"Suiveur de tendance — n’entre pas sans direction claire","style_dip":"Chasseur de creux — achète les baisses, vend l’euphorie","step1":"Mêmes graphiques, décisions différentes ({{count}} exemples)","step2":"Un nouveau graphique : que font les deux IA ?","reveal":"Voir ce qui s’est passé","another":"Un autre scénario","revealText":"Voici le graphique {{symbol}} {{interval}} ({{date}}). Les 24 bougies suivantes :","aiOf":"IA de {{name}}","because":"Pourquoi ?","similarTo":"Dans une situation similaire : « {{reason}} »","fidelity":"L’IA de {{name}} prend la même décision que {{name}} dans {{pct}} % des exemples d’entraînement.","footnote":"La démo utilise le véritable moteur sur des graphiques historiques réels. Les décisions des deux traders reposent sur deux styles d’exemple simples ; votre IA apprend de vos décisions.","unavailable":"La démo n’a pas pu être préparée pour le moment — réessayez bientôt.","reasons":{"a_trend_up":"Tendance haussière confirmée par le momentum — j’entre","a_trend_down":"Tendance baissière nette — je vends à découvert","a_too_wild":"Trop volatil, mon stop n’aurait aucun sens — j’attends","a_no_trend":"Pas de direction claire — j’attends","b_oversold":"Survente / forte baisse — occasion d’achat","b_overbought":"Euphorie au sommet — je vends","b_no_extreme":"Rien d’extrême — j’attends"}},"landing":{"seoTitle":"Yubbit DNA — Entraînez votre propre trader IA","seoDesc":"Des traders IA personnalisés qui apprennent votre style de décision, rivalisent sur un marché virtuel et génèrent des revenus grâce aux abonnés.","badge":"NOUVEAU · Yubbit DNA","title1":"Entraînez votre propre","title2":"trader IA.","subtitle":"Observez les graphiques et répondez : achèteriez-vous, attendriez-vous ou clôtureriez-vous la position ? Yubbit DNA apprend votre style de décision et le transforme en une IA personnalisée avec un nom, un profil et des performances mesurables.","ctaCreate":"Créer votre IA","ctaExplore":"Explorer les modèles","statModels":"modèles actifs","statSubs":"abonnés actifs","statBest":"meilleur résultat sur 30 jours","floatSim":"{{pct}} % de similarité","floatNoTrend":"pas de tendance","floatFidelity":"Correspondance de style {{pct}}%","howTitle":"Comment ça marche","howSubtitle":"Quatre étapes pour créer un trader qui pense comme vous et travaille 24 h/24.","how":{"decide":{"title":"Prenez des décisions","text":"Sur des graphiques historiques anonymisés, choisissez acheter / attendre / vendre — ou conserver / renforcer / réduire / clôturer si vous avez une position — et expliquez pourquoi."},"dna":{"title":"Obtenez votre ADN","text":"Le système modélise votre style : les signaux que vous surveillez, votre patience et votre façon de limiter les pertes. Avec votre autorisation, vos transactions réelles sont également prises en compte."},"compete":{"title":"Affrontez les autres sur un marché virtuel","text":"Votre IA trade sur un compte virtuel aux prix réels et affronte d'autres IA sur les mêmes graphiques ; ses performances sont mesurées en toute transparence."},"earn":{"title":"Gagnez grâce aux abonnés","text":"Publiez votre modèle et fixez un abonnement mensuel, une part des bénéfices, ou les deux. Les abonnés choisissent le montant à allouer et votre IA le trade automatiquement."}},"ways":{"scenario":"Entraînement par scénarios","rules":"Règles par glisser-déposer","chat":"Discutez avec l'IA","history":"Historique des transactions sur autorisation"},"demoBadge":"DÉMO EN DIRECT","demoTitle":"Deux traders, un graphique","demoSubtitle":"Deux personnes prennent des décisions différentes sur les mêmes graphiques. Après quelques exemples, leurs deux IA réagissent différemment à un nouveau graphique — et expliquent pourquoi.","marketTitle":"Marketplace d'IA","marketSubtitle":"Chaque modèle est un produit : performances, risque et style affichés en toute transparence. Abonnez-vous à un modèle et choisissez le montant qu'il trade.","arenaCta":"Comparer dans l'arène","noMatch":"Aucun modèle ne correspond à votre recherche","emptyTitle":"Soyez le premier à publier un trader IA","emptyText":"La marketplace vient d'ouvrir. Entraînez et publiez votre modèle dès maintenant pour attirer les premiers abonnés.","leaderTitle":"Classement","leaderPeriod":"30 derniers jours · rendement virtuel en direct","twoTitle":"Deux questions, deux mesures","twoSubtitle":"Reproduire le style d'un trader et élaborer une stratégie gagnante sont deux choses différentes. Yubbit DNA les mesure et les présente séparément.","fidelityTitle":"Correspondance de style","fidelityQ":"L'IA prend-elle des décisions comme son créateur ?","fidelityText":"Chaque exemple d’entraînement est mis de côté à tour de rôle, puis nous vérifions si le modèle prend la même décision que son créateur. Une forte concordance signifie que l’IA a assimilé votre style — pas qu’elle sera rentable.","perfTitle":"Performance","perfQ":"Ces décisions sont-elles rentables ?","perfText":"Le backtest exécute le même moteur sur une période récente qui n’a jamais servi à l’entraînement. Le véritable test est la performance virtuelle en direct : dès son lancement, le modèle négocie aux prix réels, d’une manière qui ne peut pas être ajustée aux données passées.","earnTitle":"Faites travailler votre IA pour vous","earnSubtitle":"Publiez votre modèle et choisissez comment gagner de l’argent. Tout est transparent : les abonnés savent ce qu’ils paient.","earnSub":"Frais mensuels : vous les fixez (jusqu’à {{max}} USDT). Yubbit conserve {{cut}}% des revenus d’abonnement ; le reste est versé instantanément dans votre portefeuille.","earnProfit":"Part des bénéfices : jusqu’à {{max}}% des bénéfices de l’abonné. Yubbit conserve {{cut}}% de cette part ; le reste vous revient.","earnMix":"Utilisez les deux options, une seule, ou publiez un modèle gratuit.","earnHwm":"La part des bénéfices n’est prélevée que lorsque le compte de l’abonné atteint un nouveau sommet ; un abonné qui récupère ses pertes ne paie pas deux fois.","creatorFee":"Forfait de création et d’exécution de l’IA : {{fee}} USDT par mois.","calcTitle":"Calculateur de revenus mensuels","calcSubs":"Abonnés","calcFee":"Frais mensuels","calcResult":"Revenu mensuel estimé","calcNote":"Après la commission de {{cut}}% de Yubbit ; hors part des bénéfices.","faqTitle":"FAQ","faq":{"money":{"q":"Où se trouve mon argent ?","a":"Le montant que vous allouez est transféré de votre portefeuille vers un compte DNA distinct. Le modèle ne négocie qu’avec ce montant et ne peut pas toucher au reste de votre portefeuille. Vous pouvez retirer à tout moment le solde disponible (non engagé dans des positions)."},"loss":{"q":"Que se passe-t-il si l’IA perd de l’argent ?","a":"Les transactions crypto peuvent entraîner des pertes ; vous pouvez perdre la totalité du montant alloué. Chaque transaction est assortie du stop loss du modèle, et vous définissez une limite de perte pour l’abonnement : si le compte atteint ce niveau, le modèle s’arrête et le solde restant est reversé dans votre portefeuille."},"exit":{"q":"Quand puis-je arrêter ?","a":"À tout moment. Lorsque vous arrêtez, les positions ouvertes sont clôturées au prix du marché et le solde restant est reversé dans votre portefeuille. Les frais mensuels déjà payés ne sont pas remboursés."},"share":{"q":"Comment la part des bénéfices est-elle calculée ?","a":"La part des bénéfices est prélevée uniquement sur les gains qui dépassent le précédent sommet du compte (high-water mark). Vous ne payez pas à nouveau pendant la récupération d’une perte. Yubbit conserve {{cut}}% de cette part et le reste revient au créateur."},"copy":{"q":"D’autres personnes peuvent-elles voir mes règles ?","a":"Vos règles complètes ne sont visibles que par vous et vos abonnés. La marketplace affiche votre profil DNA, vos performances et des exemples de décisions publiés avec un décalage de quelques bougies."},"advice":{"q":"S’agit-il de conseils en investissement ?","a":"Non. Yubbit DNA est un outil qui exécute des modèles de décision créés par les utilisateurs ; aucun modèle ne garantit de bénéfices. Les performances passées et virtuelles ne préjugent pas des résultats futurs."}},"finalTitle":"Transformez votre style en DNA","finalText":"Prenez 20 décisions, testez votre IA, publiez-la. Elle s’occupe du reste.","disclaimer":"Le trading de crypto-actifs comporte des risques élevés. Les modèles Yubbit DNA ne constituent pas des conseils en investissement ; les performances virtuelles et passées ne garantissent pas les résultats futurs. Un abonné peut perdre la totalité du montant alloué."},"model":{"notFound":"Modèle introuvable","backToMarket":"Retour à la marketplace","edit":"Modifier dans le studio","manage":"Gérer mon abonnement","subscribe":"S’abonner","chart_live":"Virtuel en direct","chart_backtest":"Backtest","liveHint":"Depuis le lancement, aux prix réels sur un compte virtuel","backtestHint":"Dernières {{bars}} bougies ({{interval}}), non vues pendant l’entraînement","liveEmpty":"Le modèle vient d’être lancé ; les premiers points de capital apparaîtront dans quelques heures.","profile":"Profil DNA","attention":"Signaux les plus surveillés","decisionMix":"Répartition des décisions (entraînement)","riskTitle":"Paramètres de risque","rulesTitle":"Règles ({{count}})","rulesHidden":"L’ensemble des règles est visible par les abonnés.","noRules":"Ce modèle n’utilise aucune règle ; il décide uniquement selon son style appris.","about":"À propos","tradesTitle":"Transactions récentes (compte virtuel)","noTrades":"Aucune transaction clôturée pour le moment.","whyOpen":"Pourquoi cette ouverture","whyClose":"Pourquoi cette clôture","decisionsTitle":"Décisions et motifs","decisionsHint":"Les signaux en direct sont réservés aux abonnés ; ils sont affichés ici avec quelques bougies de retard.","disclaimer":"Les performances virtuelles en direct sont calculées à partir des transactions effectuées par le modèle depuis son lancement, avec un solde virtuel de {{start}} aux prix réels, frais de trading et spread inclus. Le backtest est une simulation réalisée avec le même moteur sur une période récente non utilisée pour l’entraînement. Les performances passées ne garantissent pas les résultats futurs ; les abonnés tradent avec de l’argent réel et peuvent le perdre.","officialBacktest":"Pour les bots automatiques de Yubbit, cette période de backtest a également servi à choisir la stratégie ; les résultats peuvent donc sembler meilleurs que les résultats futurs. Les performances en direct sont une mesure plus équitable.","runOwn":"Lancer avec mes fonds","manageOwn":"Mon abonnement"},"risk":{"title":"Paramètres de risque","leverage":"Effet de levier","size":"Par trade","stop":"Stop loss","tp":"Prise de profit","maxPos":"Positions max.","short":"Positions courtes ?","size_pct_label":"Part du solde par trade","leverage_label":"Effet de levier","stop_loss_pct_label":"Stop loss (variation du prix)","take_profit_pct_label":"Take profit (0 = aucun)","max_positions_label":"Nombre max. de positions ouvertes","allow_short_label":"Peut ouvrir des positions courtes","hint":"À {{lev}}x, une variation défavorable de {{sl}}% clôture la position — soit environ {{loss}}% du solde par trade."},"rules":{"if":"SI","and":"ET","when_flat":"Aucune position","when_position":"En position","groups":{"momentum":"Momentum","trend":"Tendance","price":"Action des prix","market":"État du marché","position":"Position","actions":"Actions"},"paletteHint":"Faites glisser des blocs sur une règle à droite, ou sélectionnez une règle puis touchez un bloc.","dropCondition":"déposer une condition","dragToReorder":"Faites glisser pour réorganiser","delete":"Supprimer","addFlat":"Ajouter une règle d'entrée","addPosition":"Ajouter une règle de position","emptyTitle":"Aucune règle pour l’instant","emptyText":"Les règles définissent des préférences strictes (ex. : « toujours acheter quand le RSI est inférieur à 25 »). Si aucune règle ne s’applique, votre style appris décide.","needCondition":"Cette règle doit comporter au moins une condition ; les règles vides ne sont pas enregistrées.","orderHint":"Les règles sont évaluées de haut en bas ; la première correspondance l’emporte. Les règles de position sont conçues pour les positions longues et automatiquement inversées pour les positions courtes.","positionOnly":"Cette condition ne fonctionne que dans les règles de position.","duplicate":"Cette condition a déjà été ajoutée.","maxConditions":"Une règle peut comporter au maximum 5 conditions.","maxRules":"12 règles maximum.","selectFirst":"Sélectionnez d’abord une règle.","flatActionsOnly":"Les règles d’entrée peuvent uniquement acheter, vendre ou attendre.","positionActionsOnly":"Les règles de position peuvent uniquement conserver, renforcer, réduire ou clôturer.","moveUp":"Déplacer vers le haut","moveDown":"Déplacer vers le bas","removeCondition":"Supprimer la condition"},"train":{"progress":"{{count}} / {{min}} exemples","fidelity":"Correspondance du style","needMore":"nécessite au moins 10 exemples","questionFlat":"Que feriez-vous sur ce graphique ?","questionPosition":"Que feriez-vous avec cette position longue ?","openLong":"Ouvrir une position longue · {{pnl}}% · {{held}} bougies","anonymous":"La crypto et la date sont masquées pour ne pas influencer votre choix ; le prix est ramené à 100.","actions":{"long":"J’achèterais","wait":"J’attendrais","short":"Je vendrais","hold":"Je conserverais","add":"Je renforcerais","reduce":"Je réduirais","close":"Je clôturerais"},"confidence":"À quel point êtes-vous sûr(e) ?","conf1":"Pas sûr(e)","conf2":"Sûr","conf3":"Très sûr","reasonPlaceholder":"Pourquoi ? (facultatif) — ex. « tendance haussière, mais RSI élevé ; j’attendrais un repli »","reasonHint":"Vos raisons sont affichées aux abonnés lorsque l’IA explique ses décisions.","submit":"Enregistrer ma décision","revealed":"Voici le graphique {{symbol}} {{interval}} ({{date}}). Au cours des 24 bougies suivantes :","noRightAnswer":"Il n’y a pas de bonne réponse : l’objectif est d’apprendre votre style. Les performances sont mesurées séparément.","matched":"Votre IA a pensé comme vous","learning":"Votre IA a pensé différemment — elle apprend de cet exemple","aiWouldSay":"Sans voir cet exemple, votre IA dirait :","firstSamples":"Premiers exemples — votre IA n’en a pas encore vu assez pour faire des prédictions.","next":"Graphique suivant"},"chat":{"welcomeTitle":"Décrivez votre style, l’IA le transforme en règles","welcomeText":"Expliquez-lui comment vous tradez ; l’assistant vous pose des questions et rédige des règles et des paramètres de risque. Vous examinez la proposition avant de l’appliquer.","starters":{"s1":"Je suis les tendances et je vends à découvert les tendances baissières","s2":"J’achète lors de fortes baisses","s3":"J’attends les cassures accompagnées de volume","s4":"Pas de levier, je coupe vite mes pertes"},"placeholder":"Décrivez votre style…","send":"Envoyer","proposal":"Configuration proposée","apply":"Appliquer à mon modèle","applied":"Appliqué","riskLine":"Levier {{lev}}x · {{size}}% par trade · stop {{sl}}% · objectif {{tp}}%","howTitle":"Comment ça marche ?","howText":"L’assistant précise votre style en vous posant des questions et propose des règles. Les règles appliquées peuvent être modifiées dans l’onglet Règles. Lorsqu’aucune règle ne se déclenche, le style appris pendant l’entraînement prend le relais — l’idéal est d’utiliser les deux ensemble."},"test":{"title":"Backtest","subtitle":"Le modèle fonctionne exactement comme le moteur en direct sur des bougies récentes qu’il n’a jamais vues pendant l’entraînement (frais et spread inclus).","run":"Lancer le test","rerun":"Relancer","running":"En cours…","stale":"Les règles ou les paramètres de risque ont changé depuis le dernier test ; relancez-le.","return":"Rendement","benchmark":"Achat-conservation","trades":"Transactions","profitFactor":"Facteur de profit","coin":"Crypto","period":"{{from}} – {{to}} · {{bars}} bougies ({{interval}}) · sur le marché {{exposure}}% du temps","honesty":"Les backtests s’appuient sur le passé et peuvent être surajustés. La véritable validation repose sur les performances virtuelles en direct après le lancement.","previewTitle":"Testez sur un graphique inédit","previewText":"Que fait votre IA sur un graphique aléatoire qu’elle n’a jamais vu pendant l’entraînement — et pourquoi ?","previewCta":"Graphique aléatoire","after":"ensuite :","yourAi":"Décision de votre IA :"},"publish":{"checklist":"Liste de vérification du lancement","checkTraining":"Au moins {{min}} exemples d’entraînement ou une règle (actuellement {{count}})","checkSymbols":"Au moins une crypto à trader","checkTagline":"Une courte accroche (onglet Profil)","checkBacktest":"Backtest effectué","checkPlan":"Offre Créateur ({{fee}} USDT/mois)","publish":"Publier","pause":"Mettre en pause","resume":"Reprendre","suspended":"Ce modèle a été suspendu par un administrateur.","note":"Une fois publié, votre modèle commence à trader avec un solde virtuel de 10,000 USDT aux prix réels ; ses performances en direct sur la marketplace sont calculées à partir de là. La mise en pause empêche l’ouverture de nouvelles positions ; les positions ouvertes continuent d’être gérées.","pricing":"Tarification","monthlyFee":"Frais mensuels (USDT)","monthlyHint":"0 = gratuit. Jusqu’à {{max}}. Yubbit conserve {{cut}}%.","profitShare":"Part des bénéfices (%)","profitHint":"0 = aucune. Jusqu’à {{max}}%. Yubbit conserve {{cut}}% de la part.","youGet":"Vous recevez {{sub}} USDT par abonné et par mois ; avec le partage des profits, vous conservez {{share}} % des nouveaux profits de chaque abonné.","savePricing":"Enregistrer les tarifs","pricingNote":"Les changements de prix s’appliquent aux nouveaux abonnés ; les abonnés existants conservent le prix auquel ils se sont inscrits."},"profile":{"name":"Nom du modèle","tagline":"Accroche","taglineHint":"Affichée sur la carte de la marketplace (90 caractères max.).","description":"Description","alias":"Nom du créateur","aliasHint":"Laissez vide pour afficher votre nom abrégé.","avatar":"Avatar","color":"Couleur","symbols":"Cryptos tradées ({{max}} max.)","symbolsHint":"Uniquement les cryptos avec un marché de contrats à terme.","interval":"Intervalle de décision","intervalHint":"Le modèle prend une décision à chaque clôture de bougie. Mettez-le en pause pour modifier ce paramètre lorsqu’il est actif."},"studio":{"back":"Mes modèles","tabs":{"train":"Entraîner","rules":"Règles","chat":"Chat IA","test":"Tester","publish":"Publier","profile":"Profil"},"stats":"{{samples}} exemples ({{flat}} entrée · {{position}} position) · {{rules}} règles","viewPublic":"Voir dans la marketplace","saved":"Enregistré","saveRules":"Enregistrer les règles","saveProfile":"Enregistrer le profil","publishDone":"Votre modèle est en ligne !","pauseDone":"Modèle mis en pause.","resumeDone":"Le modèle est de nouveau en ligne.","yourDna":"Votre ADN","dnaEmpty":"Prenez quelques décisions pour voir apparaître votre profil ADN ici.","history":"Mes exemples","useHistory":"Utiliser mon historique de trading","historyHint":"Avec votre autorisation, vos trades futures des 40 derniers jours (ouvertures et clôtures) sont ajoutés comme exemples. Leur révocation les supprime.","historyOn":"{{count}} trades réels ajoutés.","historyOff":"Exemples de l’historique de trading supprimés.","noSamples":"Aucun exemple pour le moment.","fromTrade":"Trade réel","footer":"Rendement virtuel en direct : {{v}}"},"hub":{"title":"Mon espace ADN","subtitle":"Les IA que vous suivez, les modèles que vous entraînez et vos gains au même endroit.","create":"Créer une IA","market":"Place de marché","tabs":{"subs":"Abonnements","models":"Mes modèles","earnings":"Gains"},"noSubs":"Vous ne suivez encore aucune IA","noSubsText":"Choisissez un modèle sur la marketplace, définissez le montant qu’il peut trader et laissez-le trader pour vous.","realized":"réalisé","allocated":"Alloué","free":"Disponible","openPositions":"Positions ouvertes","planActive":"Votre forfait créateur est actif (jusqu’au {{date}})","planNeeded":"La publication nécessite un forfait créateur ({{fee}} USDT/mois)","planText":"Sans forfait, vous pouvez créer et entraîner {{drafts}} modèle(s) brouillon.","planBuy":"Commencer pour {{fee}} USDT","noModels":"Aucun modèle pour le moment","noModelsText":"Commencez par 20 décisions ; laissez votre IA apprendre votre style, testez-la, puis publiez-la.","openStudio":"Studio","samples":"Exemples","subscribers":"Abonnés","earnTotal":"Total gagné","earn30":"30 derniers jours","earnSubs":"Revenus des abonnements","earnProfit":"Revenus du partage des profits","count":"{{count}} paiements","earnNote":"Vous avez {{subs}} abonnés actifs. Vos gains sont versés directement dans votre portefeuille USDT.","noEarnings":"Aucun gain pour le moment.","createTitle":"Nouveau trader IA","createText":"Donnez-lui un nom ; vous pouvez commencer l’entraînement immédiatement.","namePlaceholder":"p. ex. Aigle patient","createCta":"Créer et entraîner"},"subscribe":{"title":"S’abonner","loginFirst":"Connectez-vous ou créez un compte pour vous abonner.","liveOff":"Le trading automatique en direct est actuellement désactivé ; réessayez plus tard.","amount":"Quel montant cette IA doit-elle trader ?","available":"Portefeuille : {{amount}} USDT","max":"Max.","min":"Au moins {{min}} USDT.","tooMuch":"Montant supérieur au solde de votre portefeuille (frais mensuels inclus).","amountHint":"Ce montant est transféré de votre portefeuille vers un compte DNA séparé. L’IA ne trade qu’avec ce montant, en ouvrant et fermant automatiquement des positions selon ses propres décisions. Vous pouvez retirer à tout moment la partie disponible.","maxLoss":"Limite de perte","maxLossHint":"Si le compte perd plus de {{amount}} USDT ({{pct}} %), l’IA s’arrête et le reste est reversé dans votre portefeuille.","noLossLimit":"Aucune limite de perte — l’IA peut utiliser la totalité du montant alloué.","feeNow":"Frais mensuels (maintenant)","profitShare":"Partage des profits","perTrade":"Marge par trade","stopLoss":"Perte par trade en cas de stop","total":"Déduit de votre portefeuille","hwmHint":"La part des bénéfices n’est prélevée que sur les gains qui portent le compte à un nouveau plus haut.","accept":"Je comprends que le trading automatisé peut entraîner des pertes, que les performances passées et virtuelles ne garantissent pas les résultats futurs et que je peux perdre la totalité du montant alloué.","confirm":"S’abonner avec {{amount}} USDT","doneTitle":"Vous êtes abonné !","doneText":"Votre IA commencera à prendre des décisions avec {{amount}} USDT dès la clôture de la prochaine bougie.","goToSub":"Accéder à mon abonnement","goKyc":"Vérifier mon identité","goDeposit":"Déposer","needDeposit":"Vous devez avoir au moins {{min}} USDT dans votre portefeuille pour vous abonner.","ownTitle":"Exécuter votre propre modèle","ownNote":"C’est votre modèle : pas de frais mensuels ni de part des bénéfices, uniquement les frais de trading habituels. Il n’est pas comptabilisé dans le nombre public d’abonnés."},"sub":{"back":"Mon espace DNA","since":"depuis le {{date}}","equity":"Valeur du compte","topup":"Ajouter","withdraw":"Retirer","stop":"Arrêter","pastDue":"Les frais mensuels ({{fee}} USDT) n’ont pas pu être prélevés. L’IA n’ouvre plus de nouvelles positions ; ajoutez des USDT à votre portefeuille dans les 3 jours, sinon l’abonnement sera arrêté.","stoppingText":"Arrêt en cours : les positions ouvertes sont en train d’être clôturées, puis le solde sera transféré vers votre portefeuille.","stoppedText":"L’abonnement a été arrêté {{reason}} ; le solde a été transféré vers votre portefeuille.","principal":"Montant alloué","free":"Solde disponible","inPositions":"{{v}} USDT en positions","realized":"Bénéfices réalisés","trades":"{{count}} trades · {{wins}} gagnants","paidFees":"Frais payés","feesBreakdown":"part des bénéfices {{share}} · trading {{trading}}","equityChart":"Valeur du compte","openTitle":"Positions ouvertes ({{count}})","noOpen":"Aucune position ouverte pour le moment ; l’IA attend une opportunité.","entry":"Entrée","mark":"Actuel","margin":"Marge","tp":"Objectif","lossHint":"L’IA s’arrête si la valeur du compte passe sous {{amount}} USDT.","renews":"Renouvellement le {{date}}","hwm":"Niveau de profit maximal : {{v}} USDT","historyTitle":"Historique des trades","feesTitle":"Frais","modal":{"topup":{"title":"Ajouter des fonds","text":"Transfère des USDT de votre portefeuille vers le compte DNA ; l’IA les utilisera lors de ses prochains trades.","cta":"Ajouter"},"withdraw":{"title":"Retirer le solde disponible","text":"Vous pouvez retirer jusqu’à {{free}} USDT non engagés dans des positions.","cta":"Retirer vers le portefeuille"},"stop":{"title":"Arrêter l’abonnement","text":"{{open}} position(s) ouverte(s) seront clôturées au prix du marché et le solde restant sera envoyé vers votre portefeuille. Les frais mensuels déjà payés ne sont pas remboursés.","cta":"Arrêter et retirer"}}},"arena":{"seoTitle":"Arène Yubbit DNA","title":"Arène","subtitle":"Deux IA sur le même graphique, qu’aucune n’a vu pendant son entraînement. Que fait chacune, et pourquoi ?","notEnough":"L’arène nécessite au moins deux modèles actifs.","scenario":"Graphique partagé","footnote":"Le graphique est un extrait historique qui n’a servi à l’entraînement d’aucun des deux modèles ; révélez-le pour voir qui avait raison — même si un seul graphique ne prouve rien."},"errors":{"TERMS_CHANGED":"Le créateur a modifié les frais ou le partage des profits. Consultez les nouvelles conditions et réessayez.","DNA_FAILED":"Une erreur s’est produite. Réessayez dans quelques instants.","DNA_DISABLED":"Yubbit DNA est actuellement désactivé.","LIVE_DISABLED":"Le trading automatique en direct est actuellement désactivé.","KYC_REQUIRED":"La vérification d’identité est requise pour le trading automatique avec de l’argent réel.","EMAIL_NOT_VERIFIED":"Veuillez d’abord vérifier votre adresse e-mail.","CREATOR_PLAN_REQUIRED":"Cela nécessite un forfait créateur.","OPENAI_NOT_CONFIGURED":"Le chat IA n’est pas disponible pour le moment.","NOT_FOUND":"Introuvable.","TERMS_REQUIRED":"Acceptez la déclaration de risque pour continuer.","MODEL_NOT_AVAILABLE":"Ce modèle n’accepte pas d’abonnés pour le moment.","ALLOCATION_TOO_LOW":"Le montant est inférieur au minimum.","ALLOCATION_TOO_HIGH":"Le montant dépasse le maximum.","ALREADY_SUBSCRIBED":"Vous êtes déjà abonné à ce modèle.","INSUFFICIENT_BALANCE":"Solde USDT insuffisant dans votre portefeuille.","SUBSCRIPTION_STOPPED":"L’abonnement a été arrêté.","INVALID_AMOUNT":"Saisissez un montant valide.","INSUFFICIENT_FREE_BALANCE":"Solde disponible insuffisant ; la marge des positions ne peut pas être retirée.","NAME_REQUIRED":"Saisissez un nom d’au moins 2 caractères.","MODEL_LIMIT":"Vous avez atteint la limite de modèles.","INVALID_INTERVAL":"Intervalle de décision invalide.","PAUSE_TO_EDIT":"Mettez d’abord le modèle en pause pour modifier ce paramètre.","SYMBOLS_REQUIRED":"Sélectionnez au moins une cryptomonnaie.","SCENARIO_NOT_FOUND":"Scénario introuvable.","INVALID_DECISION":"Décision invalide.","ALREADY_ANSWERED":"Vous avez déjà répondu pour ce graphique.","NOT_ENOUGH_TRAINING":"La publication nécessite davantage d’exemples d’entraînement ou au moins une règle.","BACKTEST_REQUIRED":"Effectuez un backtest avant de publier.","TAGLINE_REQUIRED":"Rédigez une courte accroche dans l’onglet Profil.","MODEL_SUSPENDED":"Le modèle est suspendu.","NOT_PUBLISHED":"Le modèle n’est pas en ligne.","NOT_PAUSED":"Le modèle n’est pas en pause.","NO_SCENARIOS":"Les scénarios sont en cours de préparation — réessayez bientôt.","EMPTY_MESSAGE":"Rédigez un message.","CHAT_LIMIT":"Vous avez atteint la limite de chat du jour.","BACKTEST_NO_DATA":"Données de prix insuffisantes pour les cryptomonnaies sélectionnées.","DEMO_UNAVAILABLE":"La démo n’est pas disponible pour le moment.","ARENA_UNAVAILABLE":"L’arène n’est pas disponible pour le moment.","NETWORK_ERROR":"Erreur de connexion.","UNAUTHORIZED":"Votre session a expiré ; reconnectez-vous.","RATE_LIMITED":"Trop de requêtes ; ralentissez un peu.","COIN_NOT_FOUND":"Cryptomonnaie introuvable.","PRICE_UNAVAILABLE":"Prix indisponible pour le moment ; réessayez bientôt.","POSITIONS_STILL_OPEN":"Les positions sont en cours de clôture ; cela sera bientôt terminé.","CHAT_UNAVAILABLE":"L’assistant IA n’a pas pu répondre pour le moment. Réessayez dans un instant.","REFUND_BALANCE_REQUIRED":"Votre portefeuille ne contient pas assez de USDT pour rembourser les frais inutilisés des abonnés.","MODEL_DELETED":"Ce modèle a été supprimé.","BONUS_FUNDS_LOCKED":"Les bonus bloqués ne peuvent pas être utilisés dans Yubbit DNA. Vous ne pouvez allouer que des fonds que vous pourriez retirer."},"delete":{"title":"Supprimer le modèle","draftText":"Ce brouillon, ses réponses d’entraînement et son chat IA seront définitivement supprimés.","stopsTrading":"Il sera immédiatement retiré de la marketplace et cessera de trader. Son compte virtuel sera clôturé.","ownSub":"Votre propre abonnement prendra fin : les positions ouvertes seront clôturées au prix du marché et le solde sera reversé dans votre portefeuille.","subscribers":"Les abonnements de {{count}} abonnés prendront fin : leurs positions ouvertes seront clôturées au prix du marché et leurs soldes seront reversés dans leurs portefeuilles.","subscribers_one":"L’abonnement de {{count}} abonné prendra fin : ses positions ouvertes seront clôturées au prix du marché et son solde sera reversé dans son portefeuille.","subscribers_other":"Les abonnements de {{count}} abonnés prendront fin : leurs positions ouvertes seront clôturées au prix du marché et leurs soldes seront reversés dans leurs portefeuilles.","refund":"Les abonnés récupéreront les jours non utilisés des frais de ce mois : {{total}} au total, dont {{you}} provenant de votre portefeuille (votre part des frais).","keepRecords":"Les réponses d’entraînement et le chat IA seront supprimés. Les historiques de trading et de paiement seront conservés à des fins comptables.","suspended":"Ce modèle est suspendu par Yubbit et ne peut pas être supprimé pendant l’examen en cours.","shortOfFunds":"Vous devez avoir {{need}} dans votre portefeuille pour effectuer les remboursements (vous avez {{have}}). Ajoutez des fonds d’abord.","typeName":"Saisissez le nom du modèle ({{name}}) pour confirmer","confirm":"Supprimer définitivement","zone":"Supprimer","zoneDraft":"Supprime ce brouillon et ses données d’entraînement.","zonePublished":"Arrête le modèle, clôture ses abonnements et rembourse les frais inutilisés."}},"adminUi":{"users":{"statTotal":"Nombre total d’utilisateurs","statNew7d":"7 derniers jours","statKycApproved":"KYC approuvé","statKycPending":"KYC en attente","statBanned":"Bannis","searchPlaceholder":"Rechercher par nom, e-mail, téléphone ou ID","kycAll":"Tous les statuts KYC","kycApproved":"Approuvé","kycPending":"En attente","kycRejected":"Rejeté","kycNone":"Non soumis","statusAll":"Tous les statuts","statusActive":"Actif","statusBanned":"Banni","verifiedAll":"Tous les états de l’e-mail","verifiedYes":"E-mail vérifié","verifiedNo":"E-mail non vérifié","sortNewest":"Plus récent","sortOldest":"Plus ancien","sortLastLogin":"Dernière connexion","sortName":"Nom","clearFilters":"Effacer les filtres","resultCount":"{{count}} résultats","colStatus":"Statut","colJoined":"Inscription","unverified":"e-mail non vérifié","pageRange":"{{from}}–{{to}} sur {{total}}"},"digest":{"title":"Analyse quotidienne du marché par IA","subtitle":"Chaque matin, les paires sélectionnées sont analysées et les résultats sont envoyés par e-mail aux clients. L’analyse est générée une fois par jour et par niveau, et non une fois par utilisateur.","enable":"Activer l’e-mail d’analyse quotidienne","enableHint":"Lorsque cette option est désactivée, la planification ne s’exécute jamais. Les utilisateurs peuvent aussi la désactiver pour leur compte.","hour":"Heure d’envoi","hourHint":"En UTC. Le fuseau horaire du serveur n’a pas d’importance.","recipients":"Destinataires","unsubscribed":"Désabonnés","lastRun":"Dernière exécution","todaySent":"Envoyés aujourd’hui","pairsTitle":"Paires à analyser","pairsHint":"Cliquez pour sélectionner. Si aucune paire n’est sélectionnée, les 5 principales cryptos par volume sont utilisées. Chaque niveau utilise jusqu’à sa propre limite de paires dans cette liste.","pairsEmpty":"Aucune sélection — les 5 principales cryptos par volume seront utilisées.","tiersTitle":"Niveaux de volume","tiersHint":"Le niveau d’un utilisateur dépend de son volume de trading sur les 30 derniers jours et détermine le type d’analyse reçu. Le niveau le plus élevé dont le seuil est atteint s’applique.","tierName":"Niveau","tierMinVolume":"Volume min. (USD)","tierType":"Type d’analyse","tierMaxPairs":"Paires","addTier":"Ajouter un niveau","saveFailed":"Enregistrement impossible.","runTitle":"Exécuter manuellement","runHint":"La simulation génère l’analyse sans rien envoyer. Le test vous est envoyé uniquement. L’envoi immédiat est destiné à tout le monde.","dryRun":"Simuler","sendTest":"M’envoyer un test","runNow":"Envoyer maintenant","dryRunOk":"Analyse générée ({{reports}}), {{pairs}} paires. Aucun e-mail envoyé.","runOk":"{{sent}} envoyés, {{skipped}} ignorés, {{failed}} échecs.","recentReports":"Rapports générés","preview":"aperçu","history":"Historique des envois","date":"Date","sent":"Envoyés","failed":"Échec"},"audit":{"title":"Journal d’audit et conservation","subtitle":"Qui a modifié quoi, et quand, pour chaque mouvement de fonds et décision d’identité. Les enregistrements sont en ajout uniquement : ils ne peuvent être ni modifiés ni supprimés depuis le panneau.","retentionTitle":"Conservation des enregistrements","retentionSubtitle":"Les enregistrements de transactions et d’identité sont conservés pendant au moins {{years}} ans ; la suppression basée sur le temps est bloquée pour ces tables.","retentionYears":"{{years}} ans","table":"Tableau","recordCount":"Enregistrements","oldest":"Le plus ancien","newest":"Le plus récent","protectedHint":"Ces tables sont protégées dans le code : toute tâche de nettoyage qui tente d’en supprimer les anciennes lignes échoue.","allActions":"Toutes les actions","searchPlaceholder":"Rechercher un e-mail, une note ou une cible","exportCsv":"Télécharger le CSV","when":"Date","action":"Action","actor":"Auteur","target":"Cible","detail":"Détails","hide":"Masquer","before":"Avant","after":"Après","empty":"Aucun enregistrement ne correspond à ce filtre.","totalRecords":"{{count}} enregistrements au total"},"native":{"title":"Paires de trading natives","subtitle":"Faites évoluer le prix de vos propres jetons cotés — ceux sans marché externe — à l’aide de plans.","noCoins":"Aucune cryptomonnaie avec une source de prix native pour le moment. Ajoutez-en une dans Cryptomonnaies et définissez sa source de prix sur « native ».","currentPrice":"Prix actuel","planCount":"Forfaits","plans":"Plans de prix","addPlan":"Ajouter un plan","newPlan":"Nouveau plan","editPlan":"Modifier le plan","noPlans":"Aucun plan — aucun prix ne peut être généré.","chainHint":"Les plans s’enchaînent dans le temps. Une fois la date cible d’un plan passée, le prix reste au niveau cible ; le plan suivant reprend à partir de son propre prix de départ.","period":"Période","startPrice":"Prix de départ","targetPrice":"Prix cible","startAt":"Début","targetAt":"Date cible","targetAtHint":"Date à laquelle le prix doit atteindre la cible.","curve":"Courbe","curveHint":"Façon dont le prix évolue vers la cible.","volatility":"Volatilité (%)","volatilityHint":"Amplitude du bruit superposé à la courbe. 0 = ligne droite.","dailyVolume":"Volume quotidien (USD)","dailyVolumeHint":"Affiché dans les listes de marché. Valeur fictive, utilisée pour le tri.","preview":"Aperçu de la courbe des prix","quick1d":"1 jour","quick1w":"1 semaine","quick1m":"1 mois","quick3m":"3 mois","curves":{"linear":"Linéaire","ease_in":"Accélération progressive","ease_out":"Décélération progressive","ease_in_out":"Fluide"}},"withdrawals":{"subtitle":"Traitez les demandes de retrait et consultez l’historique.","statPending":"En attente","statApproved":"Approuvés","statRejected":"Rejetés","statPendingAmount":"Montant en attente","searchPlaceholder":"Rechercher par e-mail, ID, adresse ou TX","clearFilters":"Effacer les filtres","noReason":"aucun motif indiqué","processedAt":"Traité","pageRange":"{{from}}–{{to}} sur {{total}}","title":"Demandes de retrait","filter":{"pending":"En attente","all":"Tout"},"status":{"pending":"En attente","approved":"Approuvé","rejected":"Rejeté"},"empty":"Aucun résultat.","approve":"Approuver","reject":"Rejeter","confirmApprove":"Approuver et envoyer","confirmReject":"Rejeter et rembourser","txHashLabel":"Hash de transaction (TX)","txHashHint":"Identifiant du transfert on-chain. L’utilisateur le voit dans son historique de retraits et sa notification.","rejectNoteLabel":"Motif du rejet","rejectNotePlaceholder":"Ex. : l’adresse du portefeuille ne correspond pas au réseau.","rejectNoteHint":"Affiché à l’utilisateur dans la notification et l’historique des retraits. Le montant est remboursé.","memo":"Mémo / tag"},"risk":{"tab":{"assets":"Exposition aux actifs","users":"Utilisateurs"},"searchPlaceholder":"Rechercher par e-mail ou nom","onlyWithBalance":"Utilisateurs avec un solde uniquement","userCount":"{{count}} utilisateurs","noUsers":"Aucun résultat.","colBalance":"Solde (USDT)","colNetPnl":"PNL net","colRealized":"PNL réalisé","colUnrealized":"PNL latent","colDeposits":"Dépôts","colWithdrawals":"Retraits","colPositions":"Pos. ouvertes","banned":"banni","unpriced":"actif sans prix","unpricedHint":"Cet utilisateur détient un actif dont le prix est inconnu — le solde peut être sous-estimé.","pnlExplainer":"PNL net = (solde actuel + retraits) − dépôts − bonus accordés. Une valeur positive signifie que l’utilisateur est gagnant face à la plateforme. Le PNL réalisé ne couvre que les trades à terme clôturés ; le PNL latent correspond au résultat en temps réel des positions ouvertes."},"bonuses":{"title":"Bonus bloqué","subtitle":"Accordez un bonus non retirable — seuls les profits deviennent retirables une fois les conditions remplies.","signupTitle":"Bonus d’inscription (automatique)","signupHint":"Lorsque cette option est activée, chaque nouvelle inscription reçoit automatiquement ce bonus.","signupEnabled":"Activer le bonus d’inscription","amount":"Montant","bonusTitle":"Libellé du bonus","releaseMode":"Une fois les conditions remplies","releaseKeepLocked":"Garder le bonus bloqué (profits uniquement)","releaseUnlock":"Débloquer aussi le bonus","releaseKeepLockedHint":"Le montant initial du bonus reste bloqué indéfiniment ; l’utilisateur ne peut retirer que les profits.","releaseUnlockHint":"Une fois les conditions remplies, le montant initial du bonus devient également retirable.","expiryDays":"Valable pendant (jours)","expiryHint":"0 = aucune expiration. Si les conditions ne sont pas remplies à l’expiration, le bonus est récupéré.","conditionsTitle":"Conditions de retrait des profits","conditionsHint":"Une valeur de 0 signifie que la condition correspondante n’est pas vérifiée.","minDeposit":"Dépôt total min. (USDT)","minVolume":"Volume de trading min. (USDT)","volumeMultiplier":"Multiplicateur de volume (bonus ×)","volumeMultiplierHint":"Ex. : 5 → nécessite un volume égal à 5× le bonus.","minDays":"Délai d’attente min. (jours)","effectiveVolume":"Volume effectif requis : {{amount}} USDT","listTitle":"Bonus accordés","empty":"Aucun enregistrement.","user":"Utilisateur","stillLocked":"Toujours bloqué","progress":"Progression","stepsDone":"étapes effectuées","noConditions":"Aucune condition requise","unlock":"Débloquer","forfeit":"Annuler / récupérer","forfeitPartial":"Récupération partielle. Les {{amount}} USDT restants sont immobilisés dans des positions ouvertes et seront récupérés automatiquement à leur clôture.","searchPlaceholder":"Rechercher par e-mail ou nom","status":{"active":"Actif","unlocked":"Débloqué","consumed":"Consommé (perdu en trading)","forfeited":"Annulé","expired":"Expiré"},"source":{"admin":"Admin","signup":"Bonus d'inscription"},"requirement":{"email_verified":"Vérification de l'e-mail","kyc":"Validation KYC","deposit":"Dépôt","trade_volume":"Volume de trading","days":"Période d'attente"},"stats":{"activeGrants":"Bonus actifs","lockedTotal":"Total bloqué","grantedTotal":"Total accordé","unlockedTotal":"Débloqué","consumedTotal":"Consommé","reclaimedTotal":"Total récupéré"}},"common":{"all":"Tout","actions":"Actions","save":"Enregistrer","savePublish":"Enregistrer et publier","cancel":"Annuler","delete":"Supprimer","edit":"Modifier","add":"Ajouter","remove":"Retirer","close":"Fermer","show":"Afficher","hide":"Masquer","title":"Titre","description":"Description","slug":"Slug","type":"Type","points":"Points","repeat":"Répéter","active":"Actif","status":"Statut","user":"Utilisateur","reward":"Récompense","asset":"Actif","amount":"Montant","symbol":"Symbole","minVolumeUsd":"Volume min. (USD)","minAmount":"Montant min.","stockUnlimited":"Stock (vide = illimité)","saved":"Enregistré","savedOk":"Enregistré avec succès","saveFailed":"Échec de l’enregistrement","slugRequired":"Le slug et le titre sont obligatoires","slugExists":"Ce slug est déjà utilisé","required":"Obligatoire","published":"Publié","draft":"Brouillon","editContent":"Modifier le contenu","addItem":"Ajouter un élément","loading":"Chargement...","copy":"Copier","yes":"Oui","no":"Non","confirmReset":"Charger le contenu par défaut ? Le texte actuel sera remplacé.","confirmResetLayout":"Charger le contenu et la mise en page par défaut ? Le texte actuel sera remplacé.","symbolExample":"Symbole (ex. BTCUSDT)","symbolHint":"Les transactions sont enregistrées sous BTCUSDT dans la base de données.","volumeSymbolRequired":"Le symbole est obligatoire (ex. BTCUSDT)","volumeMinRequired":"Le volume min. en USD doit être supérieur à 0","saveError":"Erreur d’enregistrement","view":"Afficher","author":"Auteur","excerpt":"Extrait","seoTitle":"Titre SEO","seoDescription":"Description SEO","coverImage":"Image de couverture","content":"Contenu","summary":"Résumé","ogPreview":"Image d’aperçu du partage","ogPreviewWhatsApp":"Image d’aperçu du partage (WhatsApp)","ogHint":"Si ce champ est vide, l’image de couverture sera utilisée.","ogHintSocial":"Image d’aperçu du partage (WhatsApp / réseaux sociaux)","newItem":"Nouveau","addPlus":"+ Ajouter","saving":"Enregistrement…","uploading":"Téléversement…","upload":"Téléverser","on":"Activé","off":"Désactivé","inactive":"Inactif","activate":"Activer","deactivate":"Désactiver","makeDefault":"Définir par défaut","defaultBadge":"par défaut","activeBadge":"actif","passiveBadge":"passif","confirmDelete":"Supprimer ?","error":"Erreur","test":"Tester","preview":"Aperçu","order":"Ordre","url":"URL","email":"E-mail","phone":"Téléphone","address":"Adresse","bodyText":"Texte du corps","label":"Libellé","question":"Question","answer":"Réponse","value":"Valeur","general":"Général","appearance":"Apparence","name":"Nom","optional":"facultatif","approve":"Approuver","reject":"Rejeter","note":"Remarque","open":"Ouvert","closed":"Fermé","icon":"Icône","savedTranslating":"Enregistré. Les autres langues sont en cours de traduction en arrière-plan (généralement en moins d’une minute)."},"tasks":{"pageTitle":"Tâches et marché des points","types":{"daily_login":"Connexion quotidienne","invite_friend":"Inviter un ami","volume_symbol":"Volume de l’actif (USD)","deposit_asset":"Déposer un actif","link_visit":"Visiter le lien","kyc_approved":"KYC approuvée","first_trade":"Première transaction"},"repeatOnce":"Une fois","repeatDaily":"Quotidien","minInvites":"Invitations min.","heroTitle":"Titre principal","heroSubtitle":"Sous-titre principal","tasksEnabled":"Système de tâches activé","addTask":"Ajouter une tâche","linkUrl":"URL du lien de la tâche","linkUrlRequired":"Une URL valide est requise (http/https)","linkButtonText":"Texte du bouton (facultatif)","linkButtonDefault":"Accéder au lien de la tâche","addReward":"Ajouter une récompense","cryptoCredit":"Crypto (créditée sur le portefeuille)","physical":"Physique (livraison manuelle)","fulfill":"Marquer comme exécuté","settingsSaved":"Paramètres enregistrés","rewardImage":{"label":"Image (facultative)","hint":"Photo au format paysage affichée sur la carte de récompense. Elle est automatiquement recadrée au format 16:9 ; 1 200 × 675 px est idéal. JPG, PNG ou WebP.","choose":"Ajouter une image","change":"Modifier l’image","remove":"Supprimer","tooLarge":"Cette image est trop volumineuse. Choisissez un fichier plus petit.","unreadable":"Impossible de lire cette image. Utilisez un fichier JPG, PNG ou WebP.","invalid":"Utilisez une image JPG, PNG ou WebP."},"rewardSaveFailed":"Impossible d’enregistrer la récompense. Réessayez.","tabs":{"tasks":"Tâches","rewards":"Récompenses","redemptions":"Échanges","settings":"Paramètres"}},"homepage":{"title":"Éditeur de la page d’accueil","subtitle":"Ajoutez des sections, modifiez le texte dans chaque langue active, réorganisez et publiez.","templates":"Modèles de section","defaultContent":"Contenu par défaut","noLanguages":"Aucune langue active sur le site. Activez-en au moins une dans Admin → Langues.","editContent":"Modifier le contenu","saved":"Page d’accueil enregistrée","pageOrder":"Ordre et contenu de la page ({{count}})","langTabsRequired":"Une langue active sur le site est requise pour afficher les onglets de langue.","noSections":"Aucune section pour le moment. Ajoutez un modèle ci-dessus.","addPlus":"+ Ajouter"},"homeEditor":{"liveLabel":"Libellé du panneau en direct","mainTitle":"Titre principal","subtitle":"Sous-titre","subtitleShort":"Texte du sous-titre","badge":"Badge","ctaText":"Texte du CTA","ctaLink":"Lien du CTA","primaryButtonText":"Texte du bouton principal","primaryButtonLink":"Lien du bouton principal","secondaryText":"Texte du bouton secondaire","secondaryLink":"Lien du bouton secondaire","sectionTitle":"Titre de la section","longSubtitle":"Sous-titre (description longue)","stepNo":"N° d’étape","coinLimit":"Nombre de cryptos à afficher","noFields":"Aucun champ modifiable pour cette section.","stat1Label":"Libellé de la 1re statistique","stat2Label":"Libellé de la 2e statistique","stat3Label":"Libellé de la 3e statistique","statsAutoHint":"Les valeurs sont calculées automatiquement (volume, nombre de cryptos, taux de commission).","buttonText":"Texte du bouton","buttonLink":"Lien du bouton","addItemPlus":"+ Ajouter un élément","icon":"Icône"},"cmsEditor":{"title":"Titre","body":"Corps du texte","sectionTitle":"Titre de section","value":"Valeur","imageUrl":"URL de l’image","formTitle":"Titre du formulaire","defaultFeature":"Fonctionnalité","defaultTitle":"Titre","defaultDesc":"Description","compareHeaders":"Fonctionnalité,Yubbit,Autre","badgeOptional":"Badge (facultatif)","subtitle":"Texte du sous-titre","buttonText":"Texte du bouton","buttonLink":"Lien du bouton","imagePosition":"Position de l’image","left":"Gauche","right":"Droite","spacerSize":"Taille de l’espace","small":"Petit","medium":"Moyen","large":"Grand","fixedReferralCode":"Code de parrainage fixe (facultatif)","showReferralField":"Afficher le champ de parrainage (si aucun code fixe)","noEditor":"Aucun éditeur pour cette section.","newQuestion":"Nouvelle question","answerDefault":"Réponse","labelDefault":"Libellé","templates":"Modèles de section","pageSections":"Sections de la page ({{count}})","emptyBuilder":"Ajoutez des sections ci-dessus pour créer votre page.","addItemPlus":"+ Ajouter un élément","bodyText":"Texte du corps"},"posts":{"slugPlaceholderBlog":"slug-de-l-article","newPost":"Nouvel article","editPost":"Modifier l’article","postsCount":"Articles ({{count}})","newLesson":"Nouvelle leçon","editLesson":"Modifier la leçon","lessonsCount":"Leçons ({{count}})","newAnnouncement":"Nouvelle annonce","editAnnouncement":"Modifier l’annonce","announcementsCount":"Annonces ({{count}})"},"blog":{"title":"Gestion du blog","newPostBtn":"+ Nouvel article"},"academy":{"title":"Gestion de l’académie","newLessonBtn":"+ Nouvelle leçon"},"announcements":{"title":"Gestion des annonces","newBtn":"+ Nouvelle annonce"},"analytics":{"title":"Analytics et Tag Manager","subtitle":"Ajoutez ici Google Analytics, Tag Manager et des scripts personnalisés. Les modifications s’appliquent à tout le site.","saved":"Paramètres Analytics enregistrés","gaId":"ID de mesure Google Analytics","gtmId":"ID du conteneur Google Tag Manager","headScripts":"Scripts d’en-tête (HTML)","bodyScripts":"Scripts du corps (HTML)"},"languages":{"translatingRound":"Traduction… tour {{round}}/{{rounds}}, {{done}}/{{total}}","fullyTranslatedWithAccepted":"Entièrement traduit ({{count}} termes conservés tels quels)","sameAsEnglish":"{{count}} chaînes laissées en anglais","retranslateContent":"Traduire le contenu du site","retranslateContentHint":"Retraduit les sections de la page d’accueil, le CMS et les pages de destination pour cette langue. Corrige les sections restées en anglais.","contentTranslating":"Traduction du contenu du site… cela peut prendre quelques minutes.","contentTranslated":"Contenu du site traduit ({{cms}} pages mises à jour).","autoTranslate":"Traduire avec OpenAI","autoTranslateHint":"Lorsque vous ajoutez une langue, les chaînes de l’interface sont automatiquement traduites avec OpenAI (en arrière-plan, cela peut prendre quelques minutes). Relancez « Traduire avec OpenAI » pour les clés qui n’ont pas été traduites. La clé OpenAI est définie dans Paramètres > Contenu automatique.","translating":"Traduction… {{done}}/{{total}}","translateStarted":"Traduction lancée pour {{code}} — en cours en arrière-plan.","retranslate":"Tout retraduire","retranslateHint":"Retraduit toutes les clés ; les traductions existantes seront remplacées.","editManually":"Modifier manuellement","missingKeys":"{{count}}/{{total}} manquantes","fullyTranslated":"Entièrement traduit","coverageHint":"Part du dictionnaire de l’interface qui est traduite.","title":"Gestion des langues","subtitle":"Langues du site public (actuellement anglais et العربية). Les onglets des sections de la page d’accueil et le sélecteur de langue du site suivent les langues activées ici. La langue du panneau d’administration est distincte (TR/EN — fichiers intégrés).","invalidJson":"JSON invalide","defaultSet":"{{code}} défini comme langue par défaut","loadEnTemplate":"Charger le modèle EN dans le formulaire","downloadEnTemplate":"Télécharger le modèle EN (.json)","builtinHint":"Langues de base intégrées : en.json, ar.json. L’option Traduire ouvre le JSON fusionné (intégré + base de données). Le JSON enregistré est stocké dans la base de données et appliqué au site public après actualisation.","editLang":"Modifier : {{code}}","newLang":"Nouvelle langue","codePlaceholder":"Code (de, fr)","namePlaceholder":"Nom (Deutsch)","noRecords":"Aucune langue enregistrée — redémarrez le serveur ou ajoutez-en une ci-dessous.","siteLanguages":"Langues du site ({{count}})","translate":"Traduire","addLanguage":"Ajouter une langue","savedRetranslating":"Enregistré. Les {{count}} textes anglais modifiés sont en cours de retraduction dans les autres langues en arrière-plan."},"settings":{"holdingFeeTitle":"Frais de détention des contrats à terme","holdingFeeEnabled":"Statut","holdingFeeOn":"Activés — des frais sont prélevés","holdingFeeOff":"Désactivés","holdingFeeRate":"Taux (par période, % de la taille de la position)","holdingFeeInterval":"Intervalle de prélèvement","holdingFeeIntervalOption":"Toutes les {{hours}} heures","holdingFeeHint":"Prélevés sur les positions longues et courtes — il ne s’agit pas de frais de financement. À chaque début de période UTC (toutes les 8 h : 00:00, 08:00, 16:00), ils sont déduits de la marge des positions ouvertes à cet instant ; le prix de liquidation se rapproche et la position peut être liquidée. L’activation ne prélève jamais de frais pour les périodes passées ; le premier prélèvement a lieu au prochain début de période. Informez les utilisateurs avant l’activation.","holdingFeeExample":"Exemple : une position à effet de levier 10x avec une marge de 100 USDT (taille de 1 000 USDT) paie {{fee}} USDT par période.","depositAlertEnabled":"E-mail d’alerte de dépôt","depositAlertEmail":"Adresse du destinataire de l’alerte","depositAlertHint":"Envoie une notification à cette adresse à chaque crédit d’un dépôt automatique en crypto ou par carte. Laissez vide pour désactiver.","subtitle":"Paramètres généraux, de parrainage et d’e-mail","saved":"Paramètres enregistrés","referralProgram":"Programme de parrainage","referralHint":"Pourcentage des commissions de trading reversé au parrain en USDT (20 % par défaut).","nowpaymentsTitle":"NOWPayments (dépôts en crypto)","nowpaymentsDesc":"Dépôts automatiques en crypto pour toutes les monnaies prises en charge. Les méthodes manuelles par virement bancaire restent disponibles séparément.","ipnHint":"Créez un secret IPN dans le panneau NOWPayments et collez-le ci-dessus. Ne publiez jamais la clé API sur GitHub.","nowpaymentsOk":"Connexion à NOWPayments OK ({{count}} monnaies)","testFailed":"Échec du test","testingNow":"Test en cours…","nowpaymentsTest":"Tester la connexion à NOWPayments","testEmailRequired":"Saisissez une adresse e-mail pour le test","testEmailSent":"E-mail de test envoyé ({{to}}) — {{provider}}","emailNotConfigured":"E-mail non configuré{{detail}}","emailTestFailed":"Échec du test d’e-mail{{detail}}","emailTestUnreachable":"Échec du test d’e-mail — serveur inaccessible","errorWithCode":"Erreur ({{code}}){{detail}}","emailProvider":"Fournisseur d’e-mail","resendFrom":"Expéditeur Resend (de)","smtpEnabled":"SMTP activé","notificationEmail":"E-mail de notification","emailVerificationRequired":"Vérification de l’e-mail requise","resendRailwayHint":"Recommandé sur Railway : Resend utilise une API HTTPS — aucun blocage des ports SMTP. Obtenez une clé API sur resend.com. onboarding@resend.dev fonctionne pour les tests.","resendFromExample":"Exemple de resend_from : Yubbit <onboarding@resend.dev> ou e-mail d’un domaine vérifié","smtpRailwayHint":"Le SMTP ne fonctionne généralement pas sur Railway. Utilisez Resend en production.","testEmailPlaceholder":"Adresse e-mail de test (obligatoire)","sending":"Envoi…","emailTest":"Test d’e-mail","saving":"Enregistrement…","pageTitle":"Paramètres","emailSection":"E-mail","socialMedia":"Réseaux sociaux","socialHint":"Laissez vide pour masquer l’icône dans le pied de page. Une URL complète est recommandée (https://...).","cardDepositTitle":"Dépôt par carte (Guardarian / Ethereum)","cardDepositDesc":"Génère des adresses Ethereum uniques pour chaque dépôt par carte. Les utilisateurs paient sur guardarian.com et saisissent l’adresse manuellement. Ajoutez une méthode de dépôt active de type = card dans Méthodes de dépôt.","cardDepositGenerate":"Générer une phrase mnémonique","cardDepositRegenerate":"En générer une nouvelle (remplacer)","cardDepositGenerating":"Génération…","cardDepositGenerated":"Phrase mnémonique générée et enregistrée. Copiez-la maintenant dans un endroit sûr.","cardDepositGenerateFailed":"Impossible de générer la phrase mnémonique","cardDepositReplaceConfirm":"Remplacer la phrase mnémonique existante ? Les anciennes adresses de dépôt ne seront plus dérivées de la nouvelle phrase.","cardDepositSaveWarning":"Enregistrez ces 12 mots hors ligne. Toute personne disposant de cette phrase contrôle tous les fonds des dépôts par carte.","cardDepositCopy":"Copier la phrase mnémonique","cardDepositCopied":"Copié","cardDepositMnemonicManual":"Phrase mnémonique (modification manuelle)","cardDepositMnemonicPlaceholder":"12 mots séparés par des espaces","cardDepositMnemonicHint":"Utilisez Générer ou collez une phrase BIP-39 valide. Espaces uniquement — pas de virgules.","cardDepositStatusMissing":"Phrase mnémonique non définie","cardDepositStatusOk":"Phrase mnémonique valide ({{count}} mots)","cardDepositStatusInvalid":"Phrase mnémonique invalide ({{count}} mots)","cardDepositMethodActive":"Méthode de paiement par carte active","cardDepositMethodMissing":"Aucune méthode de paiement par carte active","etherscanApiKey":"Clé API Etherscan","etherscanApiKeyHint":"Pour le crédit automatique après réception de USDT sur Ethereum. Clé gratuite sur etherscan.io (la même clé fonctionne sur toutes les chaînes).","guardarianHint":"Les paiements par carte utilisent Guardarian (guardarian.com/buy-crypto). Aucune clé API requise — les utilisateurs copient l’adresse de dépôt et la collent sur Guardarian. Les USDT doivent arriver sur Ethereum (ERC-20)."},"kyc":{"didit":{"testButton":"Tester la connexion","testHint":"Envoie une véritable demande de session à Didit et affiche la réponse reçue. Rien n’est montré aux utilisateurs.","testOk":"La connexion fonctionne — Didit a ouvert une session.","testFail":"Didit n’a pas pu ouvrir de session.","testUnreachable":"Impossible de joindre le serveur.","testMismatchHint":"Cause la plus fréquente : la clé API et l’ID de workflow appartiennent à des applications Didit différentes. Dans Didit, les environnements live et sandbox sont des applications entièrement distinctes — chacune possède sa propre clé et ses propres workflows. L’ID de workflow doit provenir de la même application que la variable DIDIT_API_KEY sur le serveur.","title":"Vérification KYC automatique Didit","subtitle":"Les utilisateurs peuvent vérifier leur identité eux-mêmes via Didit. L’approbation manuelle reste disponible.","ready":"Prêt à l’emploi","notReady":"Configuration incomplète","apiKeyEnv":"Clé API (DIDIT_API_KEY)","webhookSecretEnv":"Secret du webhook (DIDIT_WEBHOOK_SECRET)","secretsHint":"Ces deux valeurs sont lues uniquement depuis les variables d’environnement du serveur — elles ne sont jamais saisies ici, stockées dans la base de données ni envoyées au navigateur.","enable":"Activer la vérification Didit","enableHint":"Lorsque cette option est activée, les utilisateurs ne voient que le bouton « Vérifier mon identité maintenant » — le formulaire manuel de documents leur est inaccessible. Vous pouvez toujours approuver manuellement n’importe quel utilisateur depuis le panneau.","autoApprove":"Approuver directement le KYC lorsque Didit l’approuve","autoApproveHint":"Désactivez cette option pour que les demandes approuvées par Didit arrivent dans la file d’attente en attente de votre examen.","workflowId":"ID de workflow","workflowIdHint":"L’identifiant du parcours de vérification dans votre tableau de bord Didit. Ce n’est pas un secret.","baseUrl":"URL de base de l’API","baseUrlHint":"Adresse de base de Didit. Vous n’avez généralement pas besoin de la modifier.","webhookUrl":"URL du webhook à saisir dans le tableau de bord Didit","webhookUrlHint":"Les décisions sont envoyées ici et leur signature est vérifiée. C’est la source de vérité, pas la page vers laquelle l’utilisateur est redirigé.","saveFailed":"Enregistrement impossible."},"fieldsTitle":"Paramètres des champs KYC","fieldsSubtitle":"Gérez les informations demandées aux utilisateurs.","fieldKeyPlaceholder":"field_key (ex. national_id)","labelPlaceholder":"Libellé (pièce d’identité nationale)","addField":"Ajouter un champ"},"kycQueue":{"setPending":"Définir comme en attente","clickToEnlarge":"Cliquer pour agrandir","enlarge":"Agrandir","imageFailed":"Échec du chargement de l’image","reset":"Réinitialiser","download":"Télécharger","totalRecords":"{{count}} demandes","documents":"Documents ({{count}})","filter":{"pending":"En attente","approved":"Approuvées","rejected":"Rejetées","all":"Toutes"},"title":"Approbations KYC","noRecords":"Aucun enregistrement.","rejectReason":"Motif du rejet","reject":"Rejeter","approve":"Approuver"},"pwa":{"title":"PWA / Application mobile","subtitle":"Paramètres d’ajout à l’écran d’accueil, d’icône de l’application et de fenêtre d’installation.","saved":"Paramètres PWA enregistrés","iconMaxSize":"L’icône doit faire au maximum 5 Mo","fileReadError":"Impossible de lire le fichier","iconUploaded":"Icône {{size}}×{{size}} importée","uploadFailed":"Échec de l’importation","pwaEnabled":"PWA activée","installPopup":"Fenêtre d’installation (une fois par jour)","appName":"Nom de l’application","shortName":"Nom court (écran d’accueil)","themeColor":"Couleur du thème","backgroundColor":"Couleur d’arrière-plan","startUrl":"URL de démarrage","popupTitle":"Titre de la fenêtre (vide = valeur par défaut)","popupMessage":"Message de la fenêtre (vide = valeur par défaut)","themeColorPlaceholder":"Si vide, la couleur de marque est utilisée","emptySiteName":"Vide = nom du site","pwaOffHint":"Lorsque la PWA est désactivée, le service worker est supprimé et la fenêtre d’installation ne s’affiche pas.","icon192":"Icône de l’application 192×192","icon512":"Icône de l’application 512×512","iphoneHint":"PNG requis pour iPhone (SVG non pris en charge). Importez des images 192×192 et 512×512. L’utilisateur doit être sur /app avant de sélectionner « Ajouter à l’écran d’accueil ».","popupTextTitle":"Texte de la fenêtre d’installation","popupHint":"Affiché au maximum une fois par jour sur mobile. Sur Android/Chrome, le bouton Télécharger lance l’installation native. Sur iOS, les instructions Safari → Partager → Ajouter à l’écran d’accueil s’affichent.","twaTitle":"TWA Google Play","twaSubtitle":"Trusted Web Activity Android — l’application du Play Store ouvre votre site de production en plein écran.","twaPackageName":"Nom du package Android","twaFingerprints":"Empreintes de certificat SHA-256","twaFingerprintsPlaceholder":"AA:BB:CC:...\nUne empreinte par ligne (depuis Bubblewrap ou la Play Console)","twaHint":"Après avoir créé l’AAB avec Bubblewrap, collez ici le résultat de npm run twa:fingerprint. Si vous utilisez la signature d’application Play, ajoutez également l’empreinte du certificat de signature de l’application depuis la Play Console. Voir twa/README.md","storeTitle":"Applications mobiles","storeHint":"Lorsqu’un lien vers une boutique est renseigné, les utilisateurs connectés sur ce type d’appareil voient « Télécharger l’application » (lien vers la boutique) au lieu de « Ajouter à l’écran d’accueil ». Laissez ce champ vide pour conserver l’invite d’ajout à l’écran d’accueil. Cette invite ne s’affiche jamais dans l’application elle-même.","iosStoreUrl":"Lien App Store (iPhone / iPad)","androidStoreUrl":"Lien Google Play (Android)"},"methods":{"sectionBasic":"Généralités","sectionConversion":"Devise et conversion","sectionLimits":"Limites et frais","sectionDisplay":"Affichage","nameLabel":"Nom de la méthode","nameHint":"Affiché à l’utilisateur sur l’écran de dépôt. Ex. : « Virement bancaire (TRY) ».","typeLabel":"Type de méthode","type":{"bank":"bank — Virement bancaire","crypto":"crypto — Adresse de portefeuille crypto","ewallet":"ewallet — Portefeuille électronique","card":"card — Achat par carte (Guardarian)"},"typeHint":{"bank":"L’utilisateur effectue un virement vers votre IBAN ; vous l’approuvez manuellement depuis les dépôts.","crypto":"L’utilisateur envoie les fonds à l’adresse de portefeuille fournie ; vous les approuvez manuellement.","ewallet":"Paiement par portefeuille électronique ; l’approbation reste manuelle.","card":"Achat par carte via le widget Guardarian. Le taux est fixé à 1 et aucun code de paiement n’est utilisé."},"currencyLabel":"Devise utilisée par l’utilisateur pour payer","currencyHint":"Ce que l’utilisateur débourse. Les limites minimales et maximales ainsi que les frais fixes sont dans cette devise.","creditAssetLabel":"Actif crédité sur son portefeuille","creditAssetHint":"Ce qui est crédité sur son portefeuille après approbation. Généralement en USDT.","rateLabel":"Taux : combien de {{currency}} pour 1 {{asset}}","rateFieldHint":"Ex. : 48 signifie 48 {{currency}} = 1 {{asset}}. Le montant déposé est divisé par ce nombre.","sameAssetNote":"La devise payée et l’actif crédité sont identiques ({{asset}}) ; aucun taux ne s’applique — le crédit est effectué au taux de 1:1.","minLabel":"Dépôt minimum ({{currency}})","maxLabel":"Dépôt maximum ({{currency}})","limitHint":"Limite par transaction, dans la devise déposée.","feeFixedLabel":"Frais fixes ({{currency}})","feeFixedHint":"Montant fixe déduit de chaque dépôt. Laissez 0 pour ne pas appliquer de frais.","feePercentLabel":"Frais en pourcentage (%)","feePercentHint":"Pourcentage du montant déposé. S’ajoute aux frais fixes.","sortOrderLabel":"Ordre de tri","sortOrderHint":"Un nombre plus petit apparaît en premier sur l’écran de dépôt.","calcTitle":"Aperçu du calcul","calcSample":"Si l’utilisateur dépose :","calcGross":"Déposé","calcFee":"Frais","calcNet":"Après frais","calcRate":"Divisé par le taux","calcCredit":"Crédité sur le portefeuille","calcBelowMin":"Inférieur au dépôt minimum — l’utilisateur ne peut pas déposer ce montant.","calcAboveMax":"Supérieur au dépôt maximum — l’utilisateur ne peut pas déposer ce montant.","rateHint":"Taux : X unités [currency] = 1 [credit_asset]. Ex. : 1 pour USDT, 32 pour TRY (32 TRY = 1 USDT).","usdtTemplate":"Modèle USDT","tryTemplate":"Modèle TRY","namePlaceholder":"Nom","depositCurrency":"Devise déposée (TRY, USDT...)","creditAsset":"Actif crédité sur le compte","ratePlaceholder":"Taux : nombre d’unités = 1 crédit (USDT=1, TRY=32)","instructionsLabel":"Instructions (HTML + CSS)","htmlHint":"HTML + CSS intégré : paragraphe, liste, tableau, lien, image, couleur, gras, etc. Les scripts ne s’exécutent pas.","accountDetails":"Coordonnées du compte (HTML ou texte brut)","accountPlaceholder":"IBAN / adresse de portefeuille ou tableau HTML","previewDeposit":"Aperçu : dépôt de 100 {{currency}} → {{amount}} {{asset}}","pageTitle":"Méthodes de dépôt","feeFixedPlaceholder":"Frais fixes (dans la devise de dépôt)","feePercentPlaceholder":"Frais % (du montant du dépôt)","sortOrder":"Ordre de tri","generateReferenceCode":"Générer un code de paiement pour le libellé du virement","generateReferenceCodeHint":"Lorsque cette option est activée, chaque demande de dépôt reçoit un code unique (ex. : YB-A3K9X2). L’utilisateur doit l’indiquer dans le libellé du virement ; vous verrez le même code dans les dépôts.","codeBadge":"Code de paiement","rateShort":"taux : {{units}} = 1 {{asset}}","cryptoHint":"Les dépôts en USDT peuvent utiliser NOWPayments (Paramètres). Les méthodes manuelles sont destinées aux virements bancaires et autres moyens similaires.","saved":"Méthode enregistrée","deleted":"Méthode supprimée","deactivatedInstead":"La méthode a déjà reçu des dépôts — elle a été désactivée au lieu d’être supprimée.","pendingDepositsBlockDelete":"Suppression impossible : des demandes de dépôt sont en attente. Approuvez-les ou rejetez-les d’abord, ou désactivez la méthode.","deleteFailed":"Impossible de supprimer la méthode"},"coins":{"listSearch":"Rechercher des cryptos (symbole ou nom)","listEmpty":"Aucune crypto ne correspond à ce filtre.","filteredCount":"{{count}} correspondance(s)","pageRange":"{{from}}–{{to}} sur {{total}}","priceNative":"Native (notre propre jeton)","title":"Gestion des cryptos","intro":"Recherchez et ajoutez des cryptos Binance au comptant et à terme. Les jetons d’actions (Tesla, Apple, etc.) sont généralement cotés sur les marchés à terme sous des symboles comme TSLAUSDT.","gateGuideTitle":"Guide Gate.io / MEXC","gateGuideIntro":"Pour les cryptos absentes de Binance (ex. : BERT/USDT sur Gate) :","gateStep1":"Sélectionnez Gate.io ou MEXC comme source","gateStep2":"Marché : au comptant (BERT au comptant, pas à terme)","gateStep3":"Recherchez : BERT → ajoutez sous BERTUSDT","gateStep4":"Ajout manuel : Symbole=BERTUSDT, Base=BERT, Source du prix=Gate","gateStep5":"La crypto doit être active — les cryptos inactives n’apparaissent pas sur les marchés","gateStep6":"Après l’ajout, vérifiez le prix en direct avec le test de prix","teslaTitle":"Tesla / jetons d’actions","teslaHint":"Les jetons d’actions comme TSLAUSDT ne sont peut-être pas encore répertoriés dans l’API Binance. Vous pouvez tout de même les ajouter manuellement (Symbole : TSLAUSDT, Base : TSLA, Marché : à terme). Le symbole doit être actif sur Binance pour afficher son prix.","teslaIconHint":"Les actions comme TSLA ne sont pas sur le CDN → importez un PNG via l’icône d’importation après l’ajout","searchPlaceholder":"TSLA, BTC, ETH... (pour Tesla : TSLA ou TESLA)","searching":"Recherche en cours...","noResults":"Aucun résultat. Essayez le marché à terme avec TSLA ou TESLA, ou ajoutez manuellement.","displayNamePlaceholder":"Nom affiché (Tesla)","maxLeveragePlaceholder":"Effet de levier max. (500)","teslaExample":"Exemple de contrat à terme Tesla : Symbole=TSLAUSDT, Base=TSLA, Marché=à terme","refreshNetworks":"Mettre à jour tous les réseaux des cryptos avec l’IA","refreshingNetworks":"Recherche des réseaux…","networkLabel":"Réseau","updateNetworks":"Mettre à jour les réseaux","uploadIcon":"Téléverser l’icône","deactivated":"Désactivé","activated":"Activé","aiInfoFailed":"Impossible de créer les infos IA — vérifiez les paramètres OpenAI","errors":{"COIN_EXISTS":"Cette cryptomonnaie est déjà répertoriée (même marché).","BINANCE_UNAVAILABLE":"API Binance indisponible. Essayez l’ajout manuel.","EXCHANGE_UNAVAILABLE":"API de la plateforme indisponible. Vérifiez la source et le symbole.","INVALID_INPUT":"Saisie invalide.","NETWORK_ERROR":"Erreur de connexion. L’API est-elle en cours d’exécution ?","PRICE_UNAVAILABLE":"Impossible d’obtenir le prix — vérifiez la source, le symbole et le type de marché."},"addedWithIcon":"{{symbol}} ({{market}}) ajouté — téléversez l’icône via Icône si elle manque","symbolRequired":"Symbole requis (ex. TSLAUSDT)","addFailed":"Ajout impossible","priceOk":"{{symbol}} : ${{price}} ({{source}})","priceFailed":"Impossible d’obtenir le prix de {{symbol}}{{detail}}","iconUploaded":"Icône de {{symbol}} téléversée","invalidImage":"Utilisez PNG/JPG/WebP/SVG","uploadError":"Erreur de téléversement","iconUploadFailed":"Échec du téléversement de l’icône : {{hint}}","networksUpdated":"Réseaux de {{updated}} cryptomonnaies mis à jour{{failed}}","networksFailed":"Impossible de mettre à jour les réseaux — vérifiez les paramètres OpenAI","networksCount":"{{asset}} : {{count}} réseaux","networksAssetFailed":"Réseaux de {{asset}} indisponibles — vérifiez les paramètres OpenAI","gateGuideSuffix":"):","bertFill":"BERT (Gate spot) → remplir le formulaire","teslaCdnHint":"Icône automatique : CDN cryptocurrency-icons (BTC, ETH, etc.)","addFromExchange":"Ajouter depuis une plateforme","alreadyListed":"Répertorié","manualAdd":"Ajout manuel","coinsCount":"Cryptos ({{count}})","spreadTitle":"Paramètres du spread","spreadHint":"Le spread total en % est réparti équitablement : prix d’achat = cours moyen + la moitié, prix de vente = cours moyen − la moitié. Exemple : spread de 1 % → achat +0,5 %, vente −0,5 %. S’applique au carnet d’ordres et à l’exécution des transactions.","spreadPercent":"Écart %","spreadAllMarkets":"Tous les marchés","spreadApplyAll":"Appliquer à tous","spreadBulkApplied":"Spread défini à {{value}} % ({{market}})","spreadBulkFailed":"Impossible de mettre à jour le spread","spreadLabel":"Écart","spreadSet":"Spread de {{symbol}} : {{value}} %","priceTest":"Test du prix","priceBinance":"Prix Binance","priceMexc":"Prix MEXC","priceGate":"Prix Gate","priceGecko":"GeckoTerminal (DEX)","geckoAddTitle":"Ajouter un token DEX (GeckoTerminal)","geckoHint":"Pour les tokens non répertoriés sur Binance/Gate/MEXC. Adresse du contrat + chaîne. Graphique rapide uniquement — pas de TradingView.","geckoNetwork":"Chaîne","geckoAddress":"Adresse du contrat du token","geckoLookup":"Rechercher","geckoAdd":"Ajouter le token","geckoLookupFailed":"Token introuvable sur GeckoTerminal ou aucune pool de liquidité","geckoEnterAddress":"Saisissez l’adresse du contrat","geckoFound":"Trouvé : {{name}} · ${{price}}","confirmDeleteCoin":"Supprimer {{symbol}} ?","infoSaved":"Informations de {{symbol}} enregistrées","sourceUpdated":"Source de {{symbol}} → {{source}}","maxLeverageSet":"Levier max. de {{symbol}} : {{value}}x","addedSimple":"{{symbol}} ajouté","aiWrite":"Rédiger avec l’IA","volumeTitle":"Affichage du volume sur 24 h","volumeHint":"Divise le volume sur 24 h affiché pour chaque coin dont le prix provient d’une source externe (Binance, Gate, MEXC, CoinGecko, pools DEX), sur l’ensemble du site, l’écran de trading, l’API publique et le récapitulatif des marchés. Les coins natifs conservent le volume défini dans leur plan de prix. 1 = afficher le volume source tel quel.","volumeDivisor":"Diviser par","volumeExample":"Actif : ÷{{divisor}} — un coin avec un volume source de 1 000 000 $ affiche {{shown}} $.","volumeOff":"Désactivé : le volume source est affiché tel quel.","volumeDivisorSaved":"Diviseur de volume enregistré : ÷{{value}}. S’applique en quelques secondes.","volumeDivisorInvalid":"Saisissez un nombre supérieur ou égal à 1.","volumeDivisorFailed":"Impossible d’enregistrer le diviseur de volume."},"branding":{"subtitle":"Gérez le logo, le favicon et les couleurs du thème.","savedBranding":"Enregistré — logo et couleurs mis à jour sur le site","logoRemoveFailed":"Impossible de supprimer le logo","logoMaxSize":"Le logo ne doit pas dépasser 5 Mo","lightLogoUploaded":"Logo clair (en-tête sombre) importé","darkLogoUploaded":"Logo sombre (en-tête clair) importé","serverNoResponse":"Le serveur ne répond pas — redémarrez l’API dans le terminal : npm run dev","apiDown":"API inactive — démarrez le serveur avec npm run dev","invalidImage":"Utilisez un fichier PNG, JPG, WebP ou SVG","oldApi":"Ancienne version de l’API — redémarrez avec npm run dev","sessionExpired":"Session expirée — reconnectez-vous","unknownError":"Erreur inconnue","logoUploadFailed":"Échec de l’importation du logo : {{hint}}","faviconMaxSize":"Le favicon ne doit pas dépasser 2 Mo","faviconUploaded":"Favicon importé","faviconUploadFailed":"Échec de l’importation du favicon : {{code}}","faviconRemoveFailed":"Impossible de supprimer le favicon","noLogo":"Aucun logo","chooseLogo":"Choisir un logo","lightLogoLabel":"Logo clair (couleurs claires)","lightLogoHint":"Page d’accueil et en-tête sombre du site — version blanche/claire","darkLogoLabel":"Logo sombre (en couleur)","darkLogoHint":"Application et administration — fond clair/blanc","faviconHint":"Icône de l’onglet du navigateur — PNG ou WebP recommandé (48×48+). Google Search utilise le PNG ; le SVG peut afficher le Y par défaut jusqu’à la prochaine exploration.","faviconGoogleHint":"Pour les résultats Google Search, importez un PNG carré (au moins 48×48). Demandez une nouvelle indexation dans Search Console après modification.","defaultFavicon":"Par défaut","chooseFavicon":"Choisir un favicon","siteName":"Nom du site","siteNameHint":"Pour le SEO et les titres de page ; non affiché dans l’en-tête.","pageTitle":"Image de marque et couleurs"},"autoContent":{"title":"Automatisation du contenu par IA","subtitle":"Générez automatiquement des articles de blog et des cours avec OpenAI. Les images de couverture sont créées avec DALL-E.","openaiSettings":"Paramètres OpenAI","textModel":"Modèle de texte","imageModel":"Modèle d’image","autoPublish":"Publication automatique","blogAuto":"Publication automatique du blog","academyAuto":"Publication automatique de l’académie","everyHours":"Toutes les N heures","lastRun":"Dernière exécution","saveSchedule":"Enregistrer le calendrier","manualCreate":"Création manuelle","topicOptional":"Sujet (facultatif)","topicPlaceholder":"Ex. : explication du halving de Bitcoin","generatingBlog":"Génération...","createBlog":"Créer un article de blog","createAcademy":"Créer un cours pour l’académie","compressCovers":"Compresser les images de couverture","compressHint":"Convertit les images de couverture du blog et de l’académie au format WebP (1280 px max.). Les nouvelles images IA sont compressées automatiquement ; utilisez ce bouton pour les fichiers volumineux existants.","compressing":"Compression...","compressBtn":"Compresser les images existantes","missingCovers":"Images de couverture manquantes","missingCoversHint":"Crée des images de couverture avec DALL-E pour les articles de blog et les cours de l’académie qui n’en ont pas (clé OpenAI requise).","generatingImages":"Génération des images...","backfillBtn":"Créer les images manquantes","postCreated":"Publication {{type}} créée : {{title}}","createFailed":"Création impossible","compressResult":"{{compressed}} images compressées, {{skipped}} ignorées, {{failed}} erreurs","compressFailed":"Échec de la compression","coversAdded":"Images de couverture ajoutées à {{count}} publications","imagesFailed":"Impossible de créer les images","settingsSaved":"Paramètres enregistrés"},"pages":{"title":"Créateur de pages","subtitle":"Créez vos propres pages avec des modèles de sections ou modifiez le HTML.","newPage":"+ Nouvelle page","editPage":"Modifier la page","newPageTitle":"Nouvelle page","sectionBuilder":"Créateur de sections","slugUrl":"Slug (URL)","slugPlaceholder":"a-propos","slugPath":"/p/{{slug}}","pageType":"Type","customPage":"Page personnalisée","infoPage":"Informations","legalPage":"Mentions légales","fullCanvasPage":"Pleine page (sans en-tête ni pied de page)","footerOrder":"Ordre dans le pied de page","htmlContent":"Contenu (HTML)","showInFooter":"Afficher dans le pied de page","pagesCount":"Pages ({{count}})","saved":"Page enregistrée","builderBadge":"Créateur"},"landing":{"title":"Créateur de pages d’atterrissage","subtitle":"Les pages d’atterrissage sont publiées sur yubbit.com/lp/slug.","newLp":"+ Nouvelle page d’atterrissage","slugUrl":"Slug (URL)","slugPlaceholder":"campagne-crypto","slugPath":"/lp/{{slug}}","metaTitle":"Titre méta","metaDescription":"Méta-description","ogImageUrl":"URL de l’image OG","confirmDelete":"Supprimer ?","tableTitle":"Titre","tableUrl":"URL","publishedCheck":"Publié"},"campaigns":{"title":"Créateur de campagnes","subtitle":"Campagnes de parrainage, de volume, de dépôt et de trading.","addCampaign":"+ Campagne","campaignType":"Type de campagne","rewardAsset":"Actif de récompense","rewardAmount":"Montant de la récompense","maxPerUser":"Max. par utilisateur (0 = illimité)","passive":"(inactif)","types":{"referral_bonus":"Bonus de parrainage ($/personne)","referral_signup":"Palier de parrainage (X invitations)","referral_deposit":"Dépôt du filleul → bonus du parrain","volume_milestone":"Objectif de volume (USD)","pair_trade":"Trader sur une paire spécifique","deposit_bonus":"Bonus de dépôt"},"referralBonusHint":"La récompense est versée lorsque le KYC du filleul et du parrain est approuvé. Une fois par ami (5 amis = 5× la récompense). Max. = 0, illimité.","minReferrals":"Parrainages min.","rewardEach":"Récompense par invitation","minVolumeUsd":"Volume min. (USD)","symbolsComma":"Symboles (séparés par des virgules, vide = tous)","minTrades":"Nombre min. de trades"},"revenue":{"holdingFees":"Frais de détention","holdingFeeCount":"{{count}} prélèvements","holding":"Détention","netFormula":"Commission + frais de détention − parrainage","title":"Suivi des revenus","subtitle":"Commissions + frais de détention − versements de parrainage = revenus nets de la plateforme. Commission : {{fee}}% · Part de parrainage : {{ref}}% (sur les commissions de trading)","period24h":"24 heures","period7d":"7 jours","period30d":"30 jours","periodAll":"Tout","loadFailed":"Impossible de charger les données de revenus.","grossCommission":"Commissions brutes","referralPayouts":"Versements de parrainage","netRevenue":"Revenus nets de la plateforme","tradeVolume":"Volume de trading","totalNotional":"Notionnel total en USDT","daily14":"14 derniers jours (par jour)","date":"Date","volume":"Volume","gross":"Brut","referral":"Parrainage","net":"Net","noTrades":"Aucun trade pour le moment","bySymbol":"Commissions par symbole","noData":"Aucune donnée","tradesCount":"{{count}} transactions","volumeShort":"volume","recentTrades":"Trades récents (détail des commissions)","side":"Sens"},"earn":{"subscribersSummary_one":"{{count}} abonné actif · total de {{total}} {{asset}}","daysLeftShort_one":"{{count}} jour restant","subscribersSummary":"{{count}} abonnés actifs · total de {{total}} {{asset}}","showSubscribers":"Afficher les abonnés","hideSubscribers":"Masquer les abonnés","noSubscribers":"Aucun abonné actif dans ce plan.","subscriber":"Utilisateur","stakeAmount":"Montant investi","stakeReward":"Récompense accumulée","stakeStarted":"Début","stakeTerm":"Durée","flexibleTerm":"Flexible","maturedTerm":"À échéance","daysLeftShort":"{{count}} jours restants","title":"Earn / Rendement","subtitle":"Créez des campagnes de rendement par crypto. Flexible : rendement quotidien, retrait à tout moment. Fixe : durée déterminée — aucun rendement en cas de retrait anticipé.","assetApyRequired":"Crypto et APY requis","campaignCreated":"Campagne créée","confirmDelete":"Supprimer cette campagne Earn ?","deleted":"Supprimée","hasStakes":"Des placements sont actifs, suppression impossible","deleteFailed":"Échec de la suppression","newCampaign":"Nouvelle campagne","assetPlaceholder":"Crypto (USDT, BTC)","titlePlaceholder":"Titre","apyPlaceholder":"APY % (annuel)","termDays":"Durée (jours)","minAmount":"Montant min.","maxOptional":"Max. (facultatif)","create":"Créer","campaignsCount":"Campagnes ({{count}})","passive":"Passif","days":"jours","deactivate":"Désactiver","activate":"Activer","noCampaigns":"Aucune campagne pour le moment","fieldAsset":"Actif","fieldAssetHint":"Le coin que les utilisateurs déposent (USDT, BTC…)","fieldTitle":"Titre (facultatif)","fieldTitleHint":"Le nom de la cryptomonnaie s’affiche si ce champ est laissé vide","fieldType":"Type de plan","typeFlexible":"Flexible","typeFixed":"À durée fixe","typeFlexibleHint":"Les intérêts sont cumulés quotidiennement ; les utilisateurs peuvent retirer leurs fonds à tout moment","typeFixedHint":"Les fonds restent bloqués pendant la durée prévue ; aucun intérêt n’est versé en cas de retrait anticipé","fieldApy":"Rendement annuel (APY %)","fieldApyHint":"Saisissez 5 pour un rendement annuel de 5 %","fieldTerm":"Durée (jours)","fieldTermHint":"Nombre de jours pendant lesquels les fonds restent bloqués","fieldMin":"Dépôt min. ({{asset}})","fieldMinHint":"Montant minimal par souscription","fieldMax":"Dépôt max. ({{asset}})","fieldMaxHint":"Montant maximal par souscription ; laissez vide pour ne pas définir de limite","unlimited":"Sans limite"},"mailTemplates":{"title":"Modèles d’e-mail","subtitle":"Modifiez le contenu des e-mails de notification et système. Le logo, l’en-tête et le pied de page proviennent du cadre de marque partagé de chaque e-mail ; rédigez uniquement le contenu ici. Variables : {{vars}}. Blocs de code et de bouton : {{blocks}}.","saved":"Modèle enregistré","confirmReset":"Charger le contenu du modèle par défaut ?","resetOk":"Contenu par défaut chargé","resetFailed":"Échec de la réinitialisation","testEmailRequired":"Saisissez une adresse e-mail de test","testSent":"E-mail de test envoyé : {{email}}","smtpNotConfigured":"SMTP non configuré (Paramètres → SMTP)","testFailed":"Échec de l’envoi du test","testEmailLabel":"Adresse e-mail de test","templateName":"Nom du modèle","emailSubject":"Objet de l’e-mail","adminNote":"Description (note admin)","htmlContent":"Contenu HTML","activeHint":"Actif (e-mails non envoyés si désactivé)","sendTest":"Envoyer un test","resetDefault":"Rétablir les valeurs par défaut","system":"Système","notifications":"Notifications"},"pushAdmin":{"title":"Notifications push","subtitle":"Envoyez des notifications push manuelles, modifiez les modèles d’événements et configurez les règles d’automatisation.","tabs":{"send":"Envoyer","templates":"Modèles","rules":"Règles d’automatisation"},"sendToUser":"Envoyer à l’utilisateur","userId":"ID utilisateur","pushTitle":"Titre","pushBody":"Corps du message","pushUrl":"URL du lien (facultatif)","send":"Envoyer","broadcast":"Envoyer à tous","subscribedUsers":"Utilisateurs abonnés","searchUser":"Rechercher par e-mail ou ID","templateSaved":"Modèle enregistré","templateVars":"Variables : {{asset}}, {{side}}, {{price}}, {{amount}}, {{pnl}}, {{percent}}, {{symbol}}","enabled":"Activé","fillTitleBody":"Le titre et le corps sont obligatoires","sent":"Envoyés : {{sent}}, échecs : {{failed}}","sentWithErrors":"Envoyés : {{sent}}, échecs : {{failed}} — {{hint}}","vapidMismatch":"Abonnement expiré ou clé VAPID incompatible. Demandez à l’utilisateur de désactiver puis de réactiver les notifications push dans Profil.","search":"Rechercher","vapidStatus":"Configuration VAPID","vapidKey":"Clé publique","vapidSource":"Source de la clé","vapidEnv":"variables d’environnement","vapidSubs":"Abonnements actifs","vapidEnvHint":"Définissez les variables d’environnement VAPID_PUBLIC_KEY et VAPID_PRIVATE_KEY en production pour conserver les clés lors des déploiements.","resetVapid":"Réinitialiser les clés VAPID","confirmResetVapid":"Réinitialiser les clés VAPID et supprimer tous les abonnements push ? Les utilisateurs devront réactiver les notifications push dans Profil.","vapidReset":"Clés VAPID réinitialisées. Nouvelle clé publique : {{key}}. Tous les utilisateurs doivent réactiver les notifications push.","newRule":"Nouvelle règle d’automatisation","ruleName":"Nom de la règle","targetPrice":"Prix cible","createRule":"Créer la règle","ruleSaved":"Règle créée","confirmDeleteRule":"Supprimer cette règle ?"},"deposits":{"title":"Dépôts","subtitle":"Approuvez ou rejetez les demandes de dépôt entrantes et consultez l’historique.","statPending":"En attente","statApproved":"Approuvés","statRejected":"Rejetés","statCredited":"Total crédité","approvedTab":"Approuvés","rejectedTab":"Rejetés","clearFilters":"Effacer les filtres","rejectedReason":"Motif du rejet","noReason":"aucun motif indiqué","processedAt":"Traité","rejectNotePlaceholder":"p. ex. reçu illisible, montant incorrect","rejectNoteHint":"Cette note est affichée à l’utilisateur dans sa notification.","pageRange":"{{from}}–{{to}} sur {{total}}","request":"Demande","willCredit":"Sera crédité après approbation","credited":"Crédité","paymentCode":"Code de paiement","userNote":"Note de l’utilisateur","feeNote":"Frais déduits : {{fee}} {{currency}}","pendingTab":"En attente","allTab":"Tout","empty":"Aucun dépôt dans ce filtre.","rejectNote":"Note de rejet (facultative)","searchPlaceholder":"Rechercher un e-mail, un ID, un code de paiement…","searchCryptoPlaceholder":"Rechercher un e-mail, un ID de paiement, une cryptomonnaie, une adresse…","manualTab":"Manuel","cryptoTab":"Crypto (NOWPayments)","cryptoHint":"Les dépôts en crypto sont crédités automatiquement une fois le paiement confirmé. Aucune approbation manuelle n’est nécessaire.","markExpired":"Marquer comme expiré","expireConfirm":"Marquer ce dépôt impayé comme expiré ?","paymentId":"ID de paiement","payAmount":"Payer","payAddress":"Adresse"},"crm":{"earnDaysLeft_one":"{{count}} jour restant","earnTitle":"Investissements Earn (rendement)","earnEmpty":"Aucun investissement Earn actif.","earnProgram":"Programme","earnAmount":"Montant investi","earnReward":"Récompense accumulée","earnStarted":"Début","earnTerm":"Durée","earnFlexible":"Flexible (sans durée)","earnMatured":"Arrivé à échéance","earnDaysLeft":"{{count}} jours restants","openOrders":"Ordres ouverts","noOpenOrders":"Aucun ordre ouvert.","orderMarket":"Marché","orderType":"Type","orderPrice":"Prix","orderAmount":"Montant","referralTitle":"Parrainages","referralInvited":"Personnes invitées","referralEarned":"Commissions gagnées","referralRate":"Taux de commission","referralInvitedList":"Personnes invitées par eux","referralRecent":"Commissions récentes","referralMore":"+{{count}} de plus","referralNone":"N'a encore invité personne.","nav":"CRM","title":"CRM","subtitle":"Suivi des clients, attribution, notes et rappels","settings":"Paramètres CRM","settingsSubtitle":"Statuts, utilisateurs CRM et autorisations","searchPlaceholder":"Rechercher un e-mail, un nom, un téléphone…","sortBy":"Trier","orderDesc":"Décroissant","orderAsc":"Croissant","allStatuses":"Tous les statuts","allStaff":"Tous les utilisateurs CRM","unassigned":"Non attribué","allKyc":"Tous les statuts KYC","kycApproved":"Approuvé","kycPending":"En attente","kycNone":"Aucun","kycRejected":"Rejeté","reminderDue":"Rappels à traiter","selectedCount":"{{count}} clients sélectionnés","selectAllPage":"Tout sélectionner sur cette page","selectAllMatching":"Sélectionner les {{count}} clients correspondant aux filtres","allMatchingSelected":"Les {{count}} clients correspondants sont sélectionnés","clearSelection":"Effacer la sélection","removeAssignment":"Retirer l’attribution","bulkAssign":"Attribution groupée","updated":"Mis à jour","noCustomers":"Aucun client trouvé","colCustomer":"Client","colStatus":"Statut","colKyc":"KYC","colCrm":"CRM","colDeposit":"Dépôt","colVolume":"Volume","colRevenue":"Revenus","colRegistered":"Inscription","colLastTrade":"Dernière transaction","colUpdated":"Mis à jour","backToCrm":"← CRM","phone":"Téléphone","registered":"Inscrit le","lastLogin":"Dernière connexion","totalDeposit":"Dépôt total","tradeVolume":"Volume de transactions","revenueFee":"Revenus (frais)","lastTrade":"Dernière transaction","crmAssignment":"Attribution CRM","saved":"Enregistré","balances":"Soldes","openFutures":"Contrats à terme ouverts","recentTrades":"Transactions récentes","notes":"Notes","notePlaceholder":"Note client…","addNote":"Ajouter une note","reminders":"Rappels","remindersOpen":"{{count}} en cours","reminderTitle":"Titre","reminderNote":"Note","addReminder":"Ajouter un rappel","reminderDefault":"Rappel","markDone":"Terminer","markUndone":"Annuler","fullAdminProfile":"Profil administrateur complet →","date":"Date","side":"Sens","entry":"Entrée","mark":"Cours de référence","margin":"Marge","pnl":"P&L","buy":"Acheter","sell":"Vendre","customerStatuses":"Statuts des clients","statusAutoHint":"Les clients dont le KYC est approuvé passent automatiquement à « KYC vérifié » ; le volume de trading les fait passer automatiquement à « Trader » (les statuts manuels sont conservés).","statusLabel":"Libellé","statusColor":"Couleur","statusPreview":"Aperçu","statusSlug":"Identifiant","statusAuto":"Automatique","statusActive":"Actif","newStatusName":"Nom du nouveau statut","newStatusSlug":"identifiant (facultatif)","addStatus":"Ajouter un statut","crmUsers":"Utilisateurs CRM","colName":"Nom","colEmail":"E-mail","colCustomers":"Clients","colState":"État","active":"Actif","inactive":"Inactif","staffEmail":"E-mail","staffPassword":"Mot de passe (6 caractères min.)","staffName":"Nom","addStaff":"Ajouter un utilisateur CRM","staffCreated":"Utilisateur créé","permissions":"Autorisations","selectStaff":"Sélectionner un utilisateur CRM","permEditStatus":"Modifier le statut","permAddNotes":"Ajouter des notes","permReminders":"Rappels","permFinancials":"Voir les données financières","permAssign":"Attribuer des clients","permBulkAssign":"Attribution groupée","savePermissions":"Enregistrer les autorisations","sortRegistered":"Inscription","sortLastTrade":"Dernière transaction","sortUpdated":"Mis à jour","sortDeposit":"Dépôt","sortVolume":"Volume","sortRevenue":"Revenus","sortName":"Nom","sortStatus":"Statut","emailTemplates":"Modèles d’e-mails CRM","emailTemplatesHint":"Modèles que le personnel CRM peut envoyer aux clients. Variables : {{vars}}","emailTemplateName":"Nom du modèle","emailSubject":"Objet","emailBody":"Contenu HTML","emailDescription":"Note d’administration","addEmailTemplate":"Ajouter un modèle","editEmailTemplate":"Modifier le modèle","emailTemplateSaved":"Modèle enregistré","sendEmail":"Envoyer un e-mail","selectEmailTemplate":"Sélectionner un modèle","emailSent":"E-mail envoyé : {{name}}","emailSendFailed":"Échec de l’envoi de l’e-mail","noCustomerEmail":"Le client n’a pas d’adresse e-mail","emailNotConfigured":"Le service de messagerie n’est pas configuré","emailTemplateActive":"Actif (les modèles inactifs sont masqués pour le personnel CRM)","bulkImport":"Importation groupée d’utilisateurs (CSV)","bulkImportHint":"Importez des clients avec les mêmes champs que lors de l’inscription. Mot de passe par défaut pour tous : yubbit123","bulkImportColumns":"Colonnes : email, name, phone_country_code, phone_number, referral_code (facultatif)","downloadCsvTemplate":"Télécharger le modèle CSV","selectCsvFile":"Sélectionner un fichier CSV","assignImportedTo":"Attribuer tous les utilisateurs importés à un utilisateur CRM (facultatif)","importUsers":"Importer des utilisateurs","importResult":"Créés : {{created}} · Ignorés : {{skipped}} · Lignes au total : {{total}}","importErrors":"Erreurs d’importation","importErrorEmail":"Ligne {{row}} — {{email}} : {{error}}","importDone":"Importation terminée","importNoFile":"Sélectionnez d’abord un fichier CSV","importErrInvalidEmail":"Adresse e-mail invalide","importErrInvalidPhone":"Numéro de téléphone invalide","importErrEmailExists":"Cette adresse e-mail existe déjà","importErrPhoneExists":"Ce numéro de téléphone est déjà utilisé","importErrDuplicate":"Enregistrement en double","importErrInsertFailed":"Échec de l’insertion","importErrMissingEmailColumn":"Le CSV doit contenir une colonne email"},"news":{"title":"Actualités et analyses IA","subtitle":"L’onglet Infos de la page de trading : actualités sur les cryptomonnaies (RSS) et paramètres d’analyse IA.","loadError":"Impossible de charger les données.","saved":"Enregistré.","added":"Source ajoutée ; récupération des actualités en cours.","aiTitle":"Analyse IA","aiDesc":"L’utilisateur choisit un horizon ; le point d’entrée, le stop et les objectifs sont calculés à partir de chandeliers réels, et le modèle se contente de les décrire.","openaiOn":"OpenAI connecté","openaiOff":"Aucune clé OpenAI","openaiOffHint":"Aucune clé OpenAI n’est définie. L’analyse fonctionne quand même, mais affiche un texte prédéfini. Vous pouvez ajouter la clé dans la page Paramètres.","aiEnabled":"Analyse IA activée","aiModel":"Modèle (vide = modèle par défaut)","aiHourly":"Limite d’appels IA par heure","aiHourlyHint":"Une fois la limite atteinte, l’analyse continue avec un texte prédéfini pour maîtriser les coûts.","statTotal":"Total des actualités (14 jours)","stat24h":"Dernières 24 heures","statMatched":"Associées à une cryptomonnaie","sourcesTitle":"Sources RSS","refreshNow":"Récupérer maintenant","refreshing":"Récupération…","refreshed":"{{added}} nouvelles actualités ajoutées. Sources en échec : {{failed}}.","colSource":"Source","colStatus":"Statut","colLast":"Dernière récupération","col24h":"24 h","colTotal":"Total","colActive":"Actif","statusOk":"Fonctionnelle","statusError":"Erreur","statusNever":"Pas encore récupérée","confirmDelete":"Supprimer {{name}} et ses actualités ?","addTitle":"Ajouter une source","addHint":"Saisissez l’URL d’un flux RSS ou Atom. Utilisez « Tester » pour prévisualiser les premières actualités avant de l’ajouter.","name":"Nom de la source","test":"Tester","testing":"Test en cours…","add":"Ajouter","noCoinMatch":"Aucune cryptomonnaie correspondante","errors":{"INVALID_URL":"Saisissez une URL http(s) valide.","NAME_REQUIRED":"Le nom de la source est obligatoire.","SOURCE_EXISTS":"Cette source a déjà été ajoutée.","FEED_EMPTY":"Aucun article trouvé dans le flux.","FEED_UNREACHABLE":"Impossible d’accéder au flux","NOT_FOUND":"Source introuvable.","FEED_TOO_LARGE":"Le flux est trop volumineux.","generic":"Échec de l’action."}},"dna":{"bots":{"trades":"{{n}} transactions","title":"Bots automatiques","intro":"Ajoute des bots basés sur des règles à la marketplace en un clic. Chaque candidat est testé sur deux périodes historiques distinctes (frais et spread inclus) ; seuls ceux qui respectent les seuils de qualité ci-dessous sur les deux périodes sont publiés, à un prix aléatoire ou gratuitement. Aucun chiffre n’est inventé ; les performances réelles commencent à la publication du bot.","warning":"Un bon backtest ne garantit pas de bons résultats à l’avenir. Selon nos mesures, environ 34 % des candidats ayant passé la première période étaient encore rentables sur la deuxième, contre environ 29 % des candidats non filtrés. Les cartes de la marketplace mettent en avant les performances réelles, et tout bot qui perd de l’argent en conditions réelles est automatiquement retiré de la marketplace selon la limite ci-dessous.","count":"Combien de bots ?","generate":"Créer des bots","limit":"{{n}} bots actuellement. Maximum {{max}} au total et {{per}} par exécution.","running":"En cours : {{tried}} candidats testés, {{created}}/{{target}} bots ajoutés…","done":"{{created}}/{{target}} bots ajoutés ({{tried}} candidats testés).","short":"Impossible d’atteindre le nombre demandé : peu de stratégies passent actuellement les deux périodes. Réessayez ou assouplissez légèrement les seuils de qualité.","failed":"Génération interrompue : {{error}}","rejected":"Rejetés","reasons":{"low_return":"rendement faible","few_trades":"trop peu de transactions","drawdown":"drawdown élevé","profit_factor":"ratio de profit faible","not_confirmed":"échec à la deuxième période","no_data":"aucune donnée de prix"},"settingsTitle":"Paramètres des bots","settingsHint":"Ne concerne que les bots créés à partir de maintenant (sauf le nom du créateur et le retrait automatique).","groups":{"identity":"Apparence","pricing":"Tarification","quality":"Qualité et risque"},"settings":{"dna_bot_creator_name":"Nom du créateur","dna_bot_creator_name_hint":"Affiché sous la forme « par… » sur la marketplace. Le modifier met également à jour les bots existants.","dna_bot_free_pct":"Part des bots gratuits (%)","dna_bot_free_pct_hint":"Chaque bot est gratuit avec cette probabilité.","dna_bot_fee_min":"Frais mensuels minimum (USDT)","dna_bot_fee_min_hint":"Les bots payants reçoivent un prix aléatoire dans cette fourchette (ex. : 9.99).","dna_bot_fee_max":"Frais mensuels maximum (USDT)","dna_bot_fee_max_hint":"0 = aucun frais mensuel pour les bots.","dna_bot_profit_min":"Part des bénéfices minimum (%)","dna_bot_profit_min_hint":"Prélevée uniquement sur les bénéfices dépassant le précédent sommet.","dna_bot_profit_max":"Part des bénéfices maximum (%)","dna_bot_profit_max_hint":"0 = aucune part des bénéfices. Les bots payants ont aléatoirement des frais mensuels uniquement, une part des bénéfices uniquement ou les deux.","dna_bot_max_leverage":"Effet de levier maximum","dna_bot_max_leverage_hint":"Les bots utilisent un effet de levier aléatoire entre 2x et cette valeur, sans jamais dépasser la limite globale de DNA.","dna_bot_min_return_pct":"Rendement minimum du backtest (%)","dna_bot_min_return_pct_hint":"Requis sur les deux périodes.","dna_bot_max_drawdown_pct":"Drawdown maximum (%)","dna_bot_max_drawdown_pct_hint":"Baisse maximale autorisée depuis un sommet sur les deux périodes.","dna_bot_min_trades":"Nombre minimum de trades (par période)","dna_bot_min_trades_hint":"Un rendement obtenu avec très peu de trades peut être dû à la chance.","dna_bot_min_profit_factor":"Facteur de profit minimum","dna_bot_min_profit_factor_hint":"Bénéfice brut / perte brute. 1.2 = 1.2 USDT gagnés pour chaque 1 USDT perdu.","dna_bot_unlist_below_pct":"Retirer après une perte en réel (%)","dna_bot_unlist_below_pct_hint":"Si le rendement virtuel en réel depuis le lancement passe sous zéro de cette valeur, le bot est retiré de la marketplace ; les abonnés existants ne sont pas concernés. 0 = désactivé."},"cols":{"bot":"Bot","status":"Statut","backtest":"Backtest (période récente)","selection":"Période de sélection","live":"En direct (depuis le lancement)","subs":"Abonnés","price":"Prix (USDT/mois / % de profit)"},"btLine":"{{sign}}{{r}}% · baisse maximale {{dd}}% · {{n}} transactions","pct":"{{sign}}{{v}}%","savePrice":"Enregistrer","priceSaved":"Prix de {{name}} mis à jour. Les abonnés actuels conservent leur ancien prix.","remove":"Supprimer","removeConfirm":"Supprimer {{name}} ? Ses {{subs}} abonnés sont arrêtés ; leurs fonds et les jours non utilisés des frais de ce mois leur sont remboursés.","removed":"{{name}} supprimé. Remboursé : {{refund}} USDT.","autoUnlisted":"retiré de la marketplace après une perte en direct","empty":"Aucun bot pour le moment. Créez-en ci-dessus."},"subtitle":"Marketplace de traders IA personnels : paramètres, partage des revenus, modèles et abonnements.","tabs":{"bots":"Bots","overview":"Vue d’ensemble","settings":"Paramètres","models":"Modèles","subs":"Abonnements","revenue":"Revenus"},"status":{"draft":"Brouillon","published":"En direct","paused":"En pause","suspended":"Suspendu","active":"Actif","past_due":"Paiement dû","stopped":"Arrêté","stopping":"Arrêt en cours","deleted":"Supprimé"},"stopReasons":{"user":"utilisateur","loss_limit":"limite de pertes","payment":"paiement","admin":"administrateur","model_deleted":"modèle supprimé"},"kinds":{"subscription":"Part des abonnements","profit_share":"Part des bénéfices","creator_plan":"Offres créateur","refund":"Remboursements (modèles supprimés)"},"groups":{"general":"Général","generalHint":"Active ou désactive la fonctionnalité et le trading automatique en direct.","revenue":"Parts des revenus","revenueHint":"Part de Yubbit sur les frais d’abonnement et les bénéfices, ainsi que l’offre créateur.","limits":"Limites","limitsHint":"Limites pour les créateurs et les abonnés.","ai":"IA","aiHint":"Création de modèles en discutant avec l’IA et narration de l’arène."},"settings":{"dna_enabled":"Yubbit DNA activé","dna_live_enabled":"Trading automatique en direct (avec de l’argent réel)","dna_platform_sub_cut_pct":"Part de Yubbit sur les frais mensuels (%)","dna_platform_profit_cut_pct":"Part de Yubbit sur les bénéfices (%)","dna_creator_fee_usdt":"Offre créateur (USDT par mois)","dna_creator_free_drafts":"Modèles brouillons gratuits","dna_max_monthly_fee_usdt":"Frais mensuels maximum fixés par un créateur","dna_max_profit_share_pct":"Part des bénéfices maximale fixée par un créateur (%)","dna_min_allocation_usdt":"Allocation minimale (USDT)","dna_max_allocation_usdt":"Allocation maximale (USDT)","dna_max_leverage":"Effet de levier maximal","dna_max_models_per_user":"Nombre maximal de modèles par utilisateur","dna_min_samples_to_publish":"Nombre minimal d’exemples d’entraînement pour publier","dna_model_start_balance":"Solde virtuel initial du modèle (USDT)","dna_chat_model":"Modèle d’IA pour le chat et la narration","dna_enabled_hint":"Désactivé, la marketplace et le studio sont indisponibles ; les positions ouvertes restent gérées.","dna_live_enabled_hint":"Désactivé, aucun nouvel abonnement ni aucune nouvelle position en direct ; les positions ouvertes continuent de se clôturer via les stops, les objectifs et les décisions du modèle.","dna_platform_sub_cut_pct_hint":"Cette part de chaque frais mensuel revient à Yubbit ; le reste revient au créateur.","dna_platform_profit_cut_pct_hint":"Cette part de chaque frais de partage des profits revient à Yubbit ; le reste revient au créateur.","dna_creator_fee_usdt_hint":"Frais de création et d’exécution des IA. 0 = gratuit. La totalité revient à Yubbit.","dna_creator_free_drafts_hint":"Avec un forfait créateur payant, nombre de modèles qu’un utilisateur peut créer et entraîner sans forfait.","dna_max_monthly_fee_usdt_hint":"USDT.","dna_max_profit_share_pct_hint":"Sur les profits de l’abonné.","dna_min_allocation_usdt_hint":"Un abonnement doit commencer avec au moins ce montant.","dna_max_allocation_usdt_hint":"Plafond par abonnement, recharges comprises.","dna_max_leverage_hint":"Levier maximal des modèles (la limite propre à chaque coin s’applique également).","dna_min_samples_to_publish_hint":"Les modèles avec des règles peuvent être publiés sans satisfaire à l’exigence d’exemples.","dna_model_start_balance_hint":"Les performances en direct de la marketplace virtuelle sont mesurées sur ce solde.","dna_chat_model_hint":"Laissez vide pour utiliser le modèle OpenAI par défaut."},"aum":"Actifs en direct sous gestion","aumSub":"disponible {{cash}} · en position {{margin}}","openLive":"Positions en direct ouvertes","principal":"Alloué par les abonnés","realized":"Profits réalisés des abonnés","realizedSub":"après frais, avant partage des profits","modelsBy":"Modèles · {{status}}","subsBy":"Abonnements · {{status}}","scenarios":"Scénarios d’entraînement","revenueTitle":"Revenus de Yubbit (depuis le début)","last30":"30 derniers jours : {{v}}","generateScenarios":"Générer des scénarios","scenariosAdded":"{{added}} scénarios ajoutés (total : {{total}}).","closeAll":"Clôturer toutes les positions DNA en direct","closeAllHint":"Urgence : les positions ouvertes des abonnés sont clôturées au prix du marché ; les abonnements continuent.","closeAllPrompt":"Toutes les positions DNA actives seront clôturées au marché. Saisissez le motif :","closeAllDone":"{{closed}} positions clôturées, {{failed}} échecs.","liveOffBanner":"Le trading automatique en direct est désactivé : aucun nouvel abonnement ni aucune nouvelle position en direct ne sera ouvert.","search":"Rechercher un modèle, un e-mail ou un slug","allStatuses":"Tous les statuts","empty":"Aucun enregistrement.","unlisted":"masqué de la marketplace","free":"Gratuit","perMonth":"{{v}} USDT/mois","profitShort":"{{v}} % de partage des profits","cols":{"model":"Modèle","owner":"Créateur","status":"Statut","samples":"Exemples","fidelity":"Correspondance","return30":"30 j","subs":"Abonnements","pricing":"Tarification","user":"Utilisateur","principal":"Alloué","balance":"Disponible","inPositions":"En position","realized":"Réalisé","shared":"Part des profits versée"},"suspend":"Suspendre","unsuspend":"Réactiver","unlist":"Retirer de la marketplace","list":"Publier sur la marketplace","stop":"Arrêter","suspendPrompt":"{{name}} sera suspendu (retiré de la marketplace, aucune nouvelle position). Motif affiché au créateur :","stopPrompt":"L’abonnement de {{email}} à {{model}} va être arrêté ; les positions seront clôturées et le solde sera reversé dans son portefeuille. Motif :","stopped":"Abonnement arrêté, {{amount}} USDT reversés.","stopPending":"Arrêt lancé ; les positions sans prix seront clôturées sous peu.","days":"{{d}} jours","revSub":"brut {{gross}} · créateurs {{creator}} · {{n}} prélèvements","dailyTitle":"Revenus quotidiens de Yubbit","topCreators":"Créateurs les mieux rémunérés","platformShort":"Yubbit","recentFees":"Activité récente des frais","saved":"Enregistré.","errors":{"BOT_JOB_RUNNING":"Une exécution de bot est déjà en cours.","BOT_LIMIT":"Limite de bots atteinte. Supprimez d’abord des bots.","NO_FUTURES_COINS":"Aucune cryptomonnaie active de contrats à terme cotée sur Binance n’est disponible pour les bots.","MARKET_DATA_UNAVAILABLE":"Impossible de charger les cours historiques depuis Binance. Réessayez sous peu.","DNA_DISABLED":"Yubbit DNA est désactivé.","REFUND_BALANCE_REQUIRED":"Le compte du bot n’a pas un solde suffisant pour les remboursements.","MODEL_SUSPENDED":"Un modèle suspendu ne peut pas être supprimé ; réactivez-le d’abord.","generic":"Échec de l’action.","NOT_FOUND":"Introuvable.","FORBIDDEN":"Vous n’avez pas l’autorisation.","MODEL_DELETED":"Le créateur a supprimé ce modèle."}},"aiModels":{"recommended":"recommandé","stronger":"plus puissant","hint":"Également utilisé pour l’analyse IA, le chat DNA et le résumé du marché, sauf si un modèle distinct y est défini."},"affiliates":{"nav":"Agences","title":"Agences partenaires","subtitle":"Approuvez les demandes des agences et gérez les agences et leurs campagnes. Les agences perçoivent les mêmes commissions que dans le programme de parrainage ; modifiez le taux de commission d’un utilisateur depuis sa page de détails.","tabs":{"applications":"Demandes et agences","campaigns":"Campagnes des agences","settings":"Paramètres et contrat"},"status":{"all":"Toutes","pending":"En attente","approved":"Approuvées","rejected":"Rejetées","suspended":"Suspendues"},"searchPlaceholder":"E-mail, marque ou ID utilisateur","col":{"brand":"Marque","user":"Utilisateur","referrals":"Parrainages","commission":"Commission","rate":"Taux","campaigns":"Campagnes","status":"Statut","applied":"Date de candidature"},"review":"Examiner","empty":"Aucun enregistrement.","noteRequired":"Rédigez une courte note pour rejeter ou suspendre.","actionFailed":"Échec de l’action.","detail":{"title":"Demande d’agence","contact":"Contact","channels":"Canaux","audience":"Audience","promotion":"Plan de promotion","experience":"Expérience précédente","contract":"Contrat","signedBy":"Signé par","version":"Version","signedAt":"Signé le","viewContract":"Afficher le contrat signé","hideContract":"Masquer le contrat","userDetail":"Détails de l’utilisateur","rateHint":"Le taux de commission est identique à celui du programme de parrainage. Définissez un taux individuel à partir du taux de parrainage sur la page de détails de l’utilisateur.","custom":"personnalisé","emailVerified":"E-mail vérifié","emailUnverified":"E-mail non vérifié","lastNote":"Dernière note","note":"Note (obligatoire pour rejeter ou suspendre ; visible par l’utilisateur)","fields":{"full_name":"Nom complet","country":"Pays","phone":"Téléphone","website":"Site web","audience_size":"Taille de l’audience","audience_regions":"Régions","languages":"Langues"}},"actions":{"approve":"Approuver","reject":"Rejeter","suspend":"Suspendre","reactivate":"Réactiver","close":"Fermer"},"confirm":{"approve":"Approuver cet utilisateur en tant qu’agence ? Il aura accès au panneau partenaire.","reject":"Rejeter cette candidature ? L’utilisateur verra votre note et pourra postuler à nouveau.","suspend":"Suspendre cette agence ? L’accès au panneau sera fermé et les campagnes actives seront arrêtées.","reactivate":"Réactiver cette agence ? Les campagnes arrêtées ne reprendront pas automatiquement."},"campaigns":{"col":{"campaign":"Campagne","agency":"Agence","type":"Type","status":"Statut","period":"Période","budget":"Payé / budget","participants":"Participants (récompensés)"},"typeVolume":"Volume","typeTasks":"Tâches / points","stop":"Arrêter","resume":"Reprendre","stopPrompt":"Motif de l’arrêt (affiché dans le panneau partenaire) :","filter":{"all":"Toutes","running":"En cours","paused":"En pause","stopped":"Arrêtée","ended":"Terminée"},"status":{"scheduled":"Programmée","live":"En cours","paused":"En pause","ended":"Terminée","stopped":"Arrêtée","budget_exhausted":"Budget épuisé"},"byYubbit":"Par Yubbit","end":"Terminer","endConfirm":"Terminer cette campagne maintenant ?","deleteConfirm":"Supprimer définitivement cette campagne ? Cette action est irréversible.","hasParticipants":"Quelqu’un a déjà rejoint cette campagne, elle ne peut donc pas être supprimée. Terminez-la plutôt.","alreadyEnded":"Cette campagne est déjà terminée."},"settings":{"program":"Programme","enabled":"Programme d’agence d’affiliation activé","enabledHint":"Lorsqu’il est désactivé, aucune nouvelle candidature n’est acceptée et le panneau partenaire ainsi que les versements des campagnes sont suspendus. Les commissions de parrainage ne sont pas affectées.","profitability":"Rentabilité et budget","profitabilityHint":"Les récompenses des campagnes d’agence sont versées par la plateforme d’échange. Une récompense ne peut pas dépasser la part ci-dessous des frais de trading payés par le participant après déduction de la commission de l’agence ; cette limite est vérifiée lors de la configuration et du versement.","share":"Part maximale des frais nets attribuée à la récompense (%)","shareHint":"50 → une récompense ne peut pas dépasser la moitié des frais nets générés par le participant.","maxBudget":"Budget maximal par campagne (USDT)","monthly":"Limite mensuelle des récompenses par agence (USDT)","maxDays":"Durée maximale d’une campagne (jours)","maxActive":"Nombre maximal de campagnes simultanées par agence","pointValue":"Valeur minimale en USDT d’un point","pointValueHint":"Si le meilleur taux du marché des points est supérieur, il est utilisé. Valeur actuellement appliquée : {{value}} USDT","contract":"Contrat d’agence (anglais)","contractHint":"Les candidats lisent et signent ce texte. L’enregistrement incrémente la version ; les contrats déjà signés ne changent pas. {{site_name}}, {{site_url}} et {{support_email}} sont renseignés automatiquement.","version":"Version {{version}}","isDefault":"texte par défaut","reset":"Rétablir le texte par défaut","resetConfirm":"Rétablir le texte par défaut de l’accord ? La version augmentera.","save":"Enregistrer les paramètres","saveContract":"Enregistrer l’accord","saved":"Enregistré.","invalid":"Valeur invalide. Vérifiez les champs."},"limits":{"title":"Limites","hint":"Dérogations applicables uniquement à cette agence. Laissez un champ vide pour utiliser le paramètre global. Les campagnes créées par Yubbit ne sont pas soumises aux limites de budget, mensuelles, de durée et de campagnes actives ; la part de récompense reste applicable.","defaultHint":"Par défaut : {{value}}","marketEnabled":"Marché de points activé","marketEnabledHint":"Désactivé, le marché de points de l’agence est fermé : les utilisateurs ne peuvent ni le voir ni y échanger leurs points.","save":"Enregistrer les limites"},"market":{"title":"Marché de points","enabled":"Activé","disabled":"Désactivé","stats":{"orders":"Commandes","pending":"En attente","usdtPaid":"USDT payés","points":"Points dépensés"},"col":{"item":"Article","usdt":"USDT","stock":"Action"},"type":{"usdt":"USDT","custom":"Personnalisé"},"unlimited":"Illimité","empty":"Cette agence n’a pas encore d’articles sur le marché."},"agencyCampaigns":{"title":"Campagnes","new":"Nouvelle campagne pour cette agence","hint":"Les campagnes créées ici sont marquées « Par Yubbit » : aucune limite de budget, l’agence peut les partager, mais pas les modifier.","empty":"Aucune campagne pour le moment.","more":"Affichage des {{count}} dernières sur {{total}}. Voir toutes les campagnes dans l’onglet Campagnes d’agence."},"campaignEditor":{"missingAgent":"Choisissez d’abord une agence : ouvrez une agence approuvée sous Candidatures et agences, puis sélectionnez « Nouvelle campagne pour cette agence »."}},"referrals":{"range":{"today":"Aujourd’hui","d7":"7 j","d30":"30 j","d90":"90 j","max":"Max.","custom":"Personnalisé","from":"Du","to":"Au","total":"Commission sur la période","columnPeriod":"Commission sur la période"},"kyc":{"approved":"Vérifié","pending":"KYC en attente","none":"Non vérifié"},"nav":"Arborescence de parrainage","title":"Arborescence de parrainage","subtitle":"Suivez chaque relation de parrainage : qui a invité qui, le montant des commissions gagnées par chaque parrain et ses filleuls. Recherchez un utilisateur pour voir sa chaîne de parrainage.","summary":{"referredUsers":"Utilisateurs parrainés","referrers":"Parrains","commissionTotal":"Commissions totales","commission30d":"Commissions sur 30 j","agents":"Agences approuvées","globalRate":"Taux global"},"searchPlaceholder":"Rechercher par e-mail, nom, code de parrainage ou ID","sort":{"refs":"Parrainages","commission":"Commission","recent":"Plus récents"},"col":{"user":"Utilisateur","code":"Code","refs":"Parrainages","commission":"Commission","rate":"Taux","agent":"Agence"},"custom":"personnalisé","agentBadge":"Agence","view":"Voir l’arborescence","empty":"Aucun résultat.","detail":{"upline":"Parrain","noUpline":"Aucun parrain (utilisateur racine).","levels":"Niveaux de filleuls","level":"Niveau {{n}}","commission":"Commissions perçues","last30":"30 derniers jours","tree":"Filleuls","userDetail":"Détails de l’utilisateur","close":"Fermer"},"tree":{"user":"Utilisateur","joined":"Inscription","volume30d":"Volume sur 30 j","volumeTotal":"Volume total","commission":"Commission pour la sélection","positions":"Pos. ouvertes","lastTrade":"Dernière transaction","children":"{{count}} filleuls","loadMore":"Charger plus","empty":"Aucun filleul.","never":"Jamais","loading":"Chargement…","error":"Impossible de charger."}},"banners":{"title":"Bannières","subtitle":"Bannières de campagne qui défilent au-dessus du formulaire sur la page d’inscription. S’il y a plusieurs bannières actives, elles changent toutes les 5 secondes.","add":"Ajouter une bannière","newTitle":"Nouvelle bannière","editTitle":"Modifier la bannière","image":"Image","noImage":"Aucune image sélectionnée","chooseImage":"Choisir une image","changeImage":"Changer l’image","imageHint":"Taille recommandée : 1200×500 px (12:5). PNG, JPG ou WebP, jusqu’à 3 MB. Les bords sont recadrés si le ratio diffère.","link":"Lien (facultatif)","linkHint":"Chemin du site (p. ex. /earn) ou URL complète (https://…). Laissez vide pour une bannière non cliquable. Les liens externes s’ouvrent dans un nouvel onglet.","alt":"Texte alternatif (lecteurs d’écran et en cas d’échec du chargement de l’image)","language":"Langue","allLanguages":"Toutes les langues","order":"Ordre (du plus petit au plus grand)","startsAt":"Début (facultatif)","endsAt":"Fin (facultatif)","scheduleHint":"Les horaires sont indiqués dans votre fuseau horaire local. Laissez vide pour commencer maintenant et ne jamais expirer.","active":"Actif","saved":"Bannière enregistrée.","deleted":"Bannière supprimée.","confirmDelete":"Supprimer cette bannière ?","imageRequired":"Choisissez une image.","tooLarge":"L’image doit faire 3 MB ou moins.","loadFailed":"Impossible de charger les bannières.","listTitle":"Bannières ({{count}})","empty":"Aucune bannière pour le moment. La première bannière active que vous ajoutez s’affichera sur la page d’inscription.","noLink":"Aucun lien","status":{"active":"En ligne","inactive":"Inactif","scheduled":"Programmé","expired":"Expiré"},"errors":{"INVALID_IMAGE":"Impossible de lire l’image.","IMAGE_REQUIRED":"Choisissez une image.","NOT_FOUND":"Bannière introuvable."}}}}}