✨ feat(locales): Add multiple languages
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"actions": "actions",
|
||||
"announcementList": "Liste des annonces",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"confirmDelete": "Êtes-vous sûr de vouloir supprimer ?",
|
||||
"content": "Contenu",
|
||||
"create": "Créer",
|
||||
"createAnnouncement": "Créer une annonce",
|
||||
"createSuccess": "Création réussie",
|
||||
"delete": "Supprimer",
|
||||
"deleteDescription": "Une fois supprimées, les données ne pourront pas être récupérées. Veuillez procéder avec prudence.",
|
||||
"deleteSuccess": "Suppression réussie",
|
||||
"edit": "Éditer",
|
||||
"editAnnouncement": "Modifier l'annonce",
|
||||
"enable": "Activer",
|
||||
"form": {
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"content": "Contenu",
|
||||
"contentPlaceholder": "Veuillez entrer le contenu de l'annonce (Markdown pris en charge)",
|
||||
"title": "Titre",
|
||||
"titlePlaceholder": "Veuillez entrer"
|
||||
},
|
||||
"hide": "Masquer",
|
||||
"show": "afficher",
|
||||
"title": "Titre",
|
||||
"updateSuccess": "Mise à jour réussie",
|
||||
"updatedAt": "Mis à jour à"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"check": {
|
||||
"checking": "Vérification en cours...",
|
||||
"continue": "Continuer",
|
||||
"description": "Veuillez entrer votre adresse e-mail pour continuer à vous connecter ou à vous inscrire.",
|
||||
"email": "Veuillez entrer une adresse e-mail valide.",
|
||||
"title": "Connexion/Inscription",
|
||||
"whitelist": "Le domaine de l'e-mail n'est pas sur la liste blanche autorisée."
|
||||
},
|
||||
"login": {
|
||||
"description": "Veuillez entrer vos informations de compte pour vous connecter.",
|
||||
"forgotPassword": "Mot de passe oublié ?",
|
||||
"success": "Connexion réussie !",
|
||||
"switchAccount": "S'inscrire/Changer de compte",
|
||||
"title": "Connexion"
|
||||
},
|
||||
"logout": "Se déconnecter",
|
||||
"orWithEmail": "ou utiliser l'e-mail",
|
||||
"register": {
|
||||
"description": "Créez un nouveau compte, remplissez vos informations pour vous inscrire.",
|
||||
"existingAccount": "Vous avez déjà un compte ?",
|
||||
"get": "Obtenir",
|
||||
"invite": "Code d'invitation",
|
||||
"message": "#### Cher utilisateur,\n\nMerci pour votre intérêt et votre soutien. En raison d'un ajustement de notre stratégie opérationnelle, nous avons fermé la fonction d'inscription pour les nouveaux utilisateurs. Pendant cette période, l'utilisation par les utilisateurs existants ne sera pas affectée.\n\nNous nous engageons à vous offrir un meilleur service et une meilleure expérience, c'est pourquoi nous procéderons à une optimisation complète du système et à une mise à niveau des fonctionnalités pendant la fermeture des inscriptions. À l'avenir, nous vous accueillerons avec un contenu et des services de meilleure qualité.\n\nVeuillez suivre notre site web et nos plateformes de médias sociaux pour obtenir les dernières nouvelles et notifications. Merci pour votre compréhension et votre soutien.\n\nSi vous avez des questions ou avez besoin d'aide, n'hésitez pas à contacter notre équipe de service client.\n\n**Merci encore pour votre soutien et votre compréhension.**",
|
||||
"passwordMismatch": "Les mots de passe saisis ne correspondent pas",
|
||||
"success": "Inscription réussie, vous êtes maintenant connecté automatiquement !",
|
||||
"switchToLogin": "Connexion/Réinitialiser l'email",
|
||||
"title": "Inscription"
|
||||
},
|
||||
"reset": {
|
||||
"description": "Veuillez entrer votre adresse e-mail pour réinitialiser votre mot de passe.",
|
||||
"existingAccount": "Vous avez déjà un compte ?",
|
||||
"get": "Obtenir",
|
||||
"success": "Réinitialisation du mot de passe réussie, vous êtes automatiquement connecté !",
|
||||
"switchToLogin": "Connexion/Inscription",
|
||||
"title": "Réinitialiser le mot de passe"
|
||||
},
|
||||
"tos": "Conditions de service"
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"billing": {
|
||||
"description": "Soutenir aide PPanel à continuer de publier des mises à jour !",
|
||||
"title": "Sponsors"
|
||||
},
|
||||
"empty": [
|
||||
"Imaginez ici un contenu plein de merveilles ! Pour l'instant, il faut se contenter de l'imaginer…",
|
||||
"Cette zone a mystérieusement disparu, nous essayons de la faire revenir !",
|
||||
"Oups, rien ne s'est passé… vous pouvez y ajouter quelque chose vous-même !",
|
||||
"C'est comme découvrir une scène vide lors d'un concert… pourquoi ne pas monter et performer ?",
|
||||
"Vous avez trouvé une terre vierge ! Pourquoi ne pas y construire une maison ?",
|
||||
"Rien ici pour l'instant, mais la créativité commence ici !",
|
||||
"Il n'y a rien… mais ne vous inquiétez pas, ce n'est que le début !",
|
||||
"Un grand surprise était prévue ici, mais elle s'est échappée !",
|
||||
"Rien pour l'instant, comme un placard à snacks vidé.",
|
||||
"Cet espace vide attend son protagoniste pour entrer en scène !"
|
||||
],
|
||||
"request": {
|
||||
"10001": "La requête n'a pas encore abouti, veuillez réessayer plus tard ou vérifier vos critères.",
|
||||
"10002": "L'opération de mise à jour a échoué, veuillez réessayer plus tard.",
|
||||
"10003": "Impossible de compléter l'opération d'insertion pour le moment, veuillez réessayer plus tard.",
|
||||
"10004": "L'opération de suppression n'a pas pu être complétée, veuillez réessayer plus tard.",
|
||||
"20001": "Les informations de cet utilisateur existent déjà, veuillez modifier les informations et réessayer.",
|
||||
"20002": "Utilisateur non trouvé, veuillez vérifier les informations et réessayer.",
|
||||
"20003": "Le mot de passe que vous avez saisi est incorrect, veuillez le ressaisir.",
|
||||
"20004": "Cet utilisateur a été désactivé, si vous avez des questions, veuillez contacter le service client.",
|
||||
"20005": "Solde insuffisant, veuillez recharger et réessayer.",
|
||||
"20006": "La fonction d'inscription est temporairement indisponible, veuillez réessayer plus tard.",
|
||||
"30001": "Ce nœud existe déjà, veuillez ne pas l'ajouter à nouveau.",
|
||||
"30002": "Nœud non trouvé, veuillez vérifier et réessayer.",
|
||||
"30003": "Le groupe existe déjà, veuillez essayer un autre nom.",
|
||||
"30004": "Groupe non trouvé, veuillez vérifier les informations et réessayer.",
|
||||
"30005": "Le groupe contient encore des éléments, veuillez le vider et réessayer.",
|
||||
"400": "Les paramètres de la requête sont incorrects, veuillez vérifier et soumettre à nouveau.",
|
||||
"40002": "Aucun jeton valide trouvé, veuillez vous connecter et réessayer.",
|
||||
"40003": "Le jeton actuel est invalide, veuillez en obtenir un nouveau et réessayer.",
|
||||
"40004": "Le jeton a expiré, veuillez vous reconnecter.",
|
||||
"40005": "Vous n'avez pas la permission d'accéder, si vous avez des questions, veuillez contacter l'administrateur.",
|
||||
"401": "Les requêtes sont trop fréquentes, veuillez réessayer plus tard.",
|
||||
"500": "Le serveur a rencontré un problème, veuillez réessayer plus tard.",
|
||||
"50001": "Informations sur le coupon introuvables, veuillez vérifier et réessayer.",
|
||||
"50002": "Ce coupon a déjà été utilisé, il ne peut pas être réutilisé.",
|
||||
"60001": "L'abonnement a expiré, veuillez le renouveler avant de l'utiliser.",
|
||||
"60002": "Impossible d'utiliser cet abonnement pour le moment, veuillez réessayer plus tard.",
|
||||
"70001": "Le code de vérification est incorrect, veuillez le ressaisir.",
|
||||
"80001": "La tâche n'a pas été ajoutée avec succès à la file d'attente, veuillez réessayer plus tard.",
|
||||
"90001": "Veuillez désactiver le mode DEBUG et réessayer.",
|
||||
"undefined": "Une erreur système est survenue, veuillez réessayer plus tard."
|
||||
},
|
||||
"table": {
|
||||
"actions": "Actions",
|
||||
"asc": "Ascendant",
|
||||
"desc": "Descendant",
|
||||
"hide": "Cacher",
|
||||
"pageInfo": "Page {current} sur {total}",
|
||||
"rowsPerPage": "Lignes par page",
|
||||
"selectedItems": "{total} lignes sélectionnées"
|
||||
},
|
||||
"unlimited": "illimité"
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"actions": "actions",
|
||||
"amount": "Montant",
|
||||
"cancel": "Annuler",
|
||||
"code": "code",
|
||||
"confirm": "Confirmer",
|
||||
"confirmDelete": "Êtes-vous sûr de vouloir supprimer ?",
|
||||
"count": "quantité",
|
||||
"couponList": "Liste des coupons",
|
||||
"create": "Créer",
|
||||
"createCoupon": "Créer un coupon",
|
||||
"createSuccess": "Création réussie",
|
||||
"delete": "Supprimer",
|
||||
"deleteSuccess": "Suppression réussie",
|
||||
"deleteWarning": "Une fois supprimées, les données ne pourront pas être récupérées. Veuillez procéder avec prudence.",
|
||||
"discount": "remise",
|
||||
"edit": "Éditer",
|
||||
"editCoupon": "Modifier le coupon",
|
||||
"enable": "Activer",
|
||||
"form": {
|
||||
"amountDiscount": "Remise en montant",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"count": "Nombre maximal d'utilisations",
|
||||
"countPlaceholder": "Nombre maximal d'utilisations (laisser vide pour illimité)",
|
||||
"customCouponCode": "Code promo personnalisé",
|
||||
"customCouponCodePlaceholder": "Code promo personnalisé (laisser vide pour générer automatiquement)",
|
||||
"enterCouponName": "Veuillez entrer le nom du coupon",
|
||||
"enterValue": "Veuillez entrer la valeur",
|
||||
"expireTime": "Date d'expiration",
|
||||
"name": "Nom",
|
||||
"percentageDiscount": "Remise en pourcentage",
|
||||
"selectServer": "Veuillez sélectionner un abonnement",
|
||||
"selectTime": "Sélectionner l'heure",
|
||||
"specifiedServer": "Abonnement spécifié",
|
||||
"startTime": "Date de début",
|
||||
"type": "Type de coupon",
|
||||
"userLimit": "Nombre maximal d'utilisations par utilisateur",
|
||||
"userLimitPlaceholder": "Nombre maximal d'utilisations par utilisateur (laisser vide pour illimité)"
|
||||
},
|
||||
"name": "Nom",
|
||||
"percentage": "pourcentage",
|
||||
"remainingTimes": "Restant",
|
||||
"subscribe": "S'abonner",
|
||||
"type": "Type",
|
||||
"unlimited": "illimité",
|
||||
"updateSuccess": "Mise à jour réussie",
|
||||
"usedTimes": "Nombre d'utilisations",
|
||||
"validityPeriod": "Période de validité"
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"DocumentList": "Liste des documents",
|
||||
"actions": "Actions",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"confirmDelete": "Êtes-vous sûr de vouloir supprimer ?",
|
||||
"create": "Créer",
|
||||
"createDocument": "Créer un document",
|
||||
"createSuccess": "Création réussie",
|
||||
"delete": "Supprimer",
|
||||
"deleteDescription": "Une fois supprimées, les données ne pourront pas être récupérées. Veuillez procéder avec prudence.",
|
||||
"deleteSuccess": "Suppression réussie",
|
||||
"edit": "Éditer",
|
||||
"editDocument": "Modifier le document",
|
||||
"form": {
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"content": "Contenu",
|
||||
"tags": "Catégories",
|
||||
"tagsPlaceholder": "Veuillez utiliser la touche Entrée ou une virgule (,) pour séparer et entrer plusieurs catégories",
|
||||
"title": "Titre",
|
||||
"titlePlaceholder": "Veuillez entrer"
|
||||
},
|
||||
"show": "Afficher",
|
||||
"tags": "Catégories",
|
||||
"title": "Titre",
|
||||
"updateSuccess": "Mise à jour réussie",
|
||||
"updatedAt": "Mis à jour à"
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"email": "e-mail",
|
||||
"month": "Ce mois-ci",
|
||||
"monthDownloadTraffic": "Trafic de téléchargement ce mois-ci",
|
||||
"monthUploadTraffic": "Trafic de téléchargement ce mois-ci",
|
||||
"newPurchase": "Nouvel achat",
|
||||
"nodeTraffic": "Trafic du nœud",
|
||||
"nodes": "nœuds",
|
||||
"offlineNodeCount": "Nombre de nœuds hors ligne",
|
||||
"onlineIPCount": "Nombre d'IP en ligne",
|
||||
"onlineNodeCount": "Nombre de nœuds en ligne",
|
||||
"pendingTickets": "Tickets en attente",
|
||||
"register": "S'inscrire",
|
||||
"repurchase": "Rachat",
|
||||
"revenueTitle": "Statistiques des revenus",
|
||||
"selectTypePlaceholder": "Sélectionner le type",
|
||||
"statisticsTitle": "Statistiques",
|
||||
"today": "aujourd'hui",
|
||||
"todayDownloadTraffic": "Trafic de téléchargement d'aujourd'hui",
|
||||
"todayUploadTraffic": "Trafic de téléchargement d'aujourd'hui",
|
||||
"total": "Total",
|
||||
"totalIncome": "Revenu total",
|
||||
"trafficRank": "Classement du trafic",
|
||||
"type": "Type",
|
||||
"userTitle": "Statistiques de l'utilisateur",
|
||||
"userTraffic": "Trafic utilisateur",
|
||||
"users": "utilisateurs",
|
||||
"yesterday": "hier"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"cs-CZ": "Tchèque",
|
||||
"de-DE": "Allemand",
|
||||
"en-US": "anglais",
|
||||
"es-ES": "Espagnol",
|
||||
"es-MX": "Espagnol (Mexique)",
|
||||
"fi-FI": "finnois",
|
||||
"fr-FR": "français",
|
||||
"hi-IN": "hindi",
|
||||
"hu-HU": "Hongrois",
|
||||
"ja-JP": "Japonais",
|
||||
"ko-KR": "coréen",
|
||||
"no-NO": "Norvégien",
|
||||
"pl-PL": "Polonais",
|
||||
"pt-BR": "portugais (Brésil)",
|
||||
"ro-RO": "Roumain",
|
||||
"ru-RU": "Russe",
|
||||
"th-TH": "thaïlandais",
|
||||
"tr-TR": "turc",
|
||||
"uk-UA": "Ukrainien",
|
||||
"vi-VN": "Vietnamien",
|
||||
"zh-CN": "français (France)",
|
||||
"zh-TW": "chinois (traditionnel)"
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"Announcement Management": "Gestion des annonces",
|
||||
"Coupon Management": "Gestion des coupons",
|
||||
"Dashboard": "Tableau de bord",
|
||||
"Document Management": "Gestion des documents",
|
||||
"Finance": "Finance",
|
||||
"Order Management": "Gestion des commandes",
|
||||
"Payment Config": "Configuration de paiement",
|
||||
"Server": "Serveur",
|
||||
"Server Management": "Gestion des services",
|
||||
"Settings": "Paramètres",
|
||||
"Subscribe Management": "Gestion des abonnements",
|
||||
"System Config": "Configuration du système",
|
||||
"System Tool": "Outil Système",
|
||||
"Ticket Management": "Gestion des billets",
|
||||
"User": "Utilisateur",
|
||||
"User Management": "Gestion des utilisateurs"
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"amount": "Montant",
|
||||
"couponDiscount": "Remise de coupon",
|
||||
"discount": "Montant de la remise",
|
||||
"failed": "Échec",
|
||||
"feeAmount": "Frais",
|
||||
"method": "Méthode de paiement",
|
||||
"methods": {
|
||||
"alipay_f2f": "Alipay (face à face)",
|
||||
"balance": "Solde",
|
||||
"epay": "Epay",
|
||||
"stripe_alipay": "Stripe (Alipay)",
|
||||
"stripe_wechat_pay": "Stripe (WeChat)"
|
||||
},
|
||||
"orderNumber": "Numéro de commande",
|
||||
"status": {
|
||||
"0": "Statut",
|
||||
"1": "En attente de paiement",
|
||||
"2": "Payé",
|
||||
"3": "Annulé",
|
||||
"4": "Fermé",
|
||||
"5": "Terminé"
|
||||
},
|
||||
"subscribe": "S'abonner",
|
||||
"subscribePrice": "Prix d'abonnement",
|
||||
"total": "Total",
|
||||
"tradeNo": "Numéro de transaction",
|
||||
"type": {
|
||||
"0": "Type",
|
||||
"1": "Nouvel achat",
|
||||
"2": "Renouvellement",
|
||||
"3": "Réinitialiser le trafic",
|
||||
"4": "Recharger"
|
||||
},
|
||||
"updateTime": "Heure de mise à jour",
|
||||
"user": "utilisateur"
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"aliPay": "Paiement par Alipay",
|
||||
"alipayf2f": {
|
||||
"appId": "ID de l'application Alipay",
|
||||
"invoiceName": "Nom personnalisé du produit",
|
||||
"invoiceNameDescription": "S'affichera sur la facture Alipay",
|
||||
"privateKey": "Clé privée Alipay",
|
||||
"publicKey": "Clé publique Alipay",
|
||||
"sandbox": "Mode bac à sable",
|
||||
"sandboxDescription": "Activez le mode bac à sable pour tester le paiement"
|
||||
},
|
||||
"enable": "Activer",
|
||||
"enableDescription": "Activer ce mode de paiement",
|
||||
"epay": {
|
||||
"key": "CLÉ",
|
||||
"pid": "PID",
|
||||
"url": "URL"
|
||||
},
|
||||
"feeMode": "Mode de facturation",
|
||||
"feeModeDescription": "Mode de facturation des frais supplémentaires",
|
||||
"feeModeItems": ["Pas de frais", "Pourcentage", "Montant fixe", "Les deux ci-dessus"],
|
||||
"feePercent": "Pourcentage de frais (optionnel)",
|
||||
"feePercentDescription": "Ajouter des frais au montant de la commande",
|
||||
"fixedFee": "Frais fixes (optionnel)",
|
||||
"fixedFeeDescription": "Ajouter des frais fixes au montant de la commande",
|
||||
"iconUrl": "URL de l'icône (facultatif)",
|
||||
"iconUrlDescription": "Utilisé pour l'affichage frontal",
|
||||
"inputPlaceholder": "Veuillez entrer",
|
||||
"key": "CLÉ",
|
||||
"notifyUrl": "Domaine de notification personnalisé (facultatif)",
|
||||
"notifyUrlDescription": "Les notifications de la passerelle seront envoyées à ce domaine",
|
||||
"payForRecommendations": "Payer pour les recommandations",
|
||||
"pid": "PID",
|
||||
"saveSuccess": "Enregistrement réussi",
|
||||
"showName": "Afficher le nom",
|
||||
"showNameDescription": "Utilisé pour l'affichage frontal",
|
||||
"stripe": {
|
||||
"publicKey": "CLÉ PUBLIQUE",
|
||||
"secretKey": "CLÉ SECRÈTE",
|
||||
"webhookSecret": "SIGNATURE DE CLÉ WEBHOOK"
|
||||
},
|
||||
"url": "URL",
|
||||
"wechatPay": "Paiement WeChat"
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"group": {
|
||||
"actions": "Actions",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"confirmDelete": "Êtes-vous sûr de vouloir supprimer ?",
|
||||
"create": "Créer",
|
||||
"createNodeGroup": "Créer un groupe de nœuds",
|
||||
"createdSuccessfully": "Création réussie",
|
||||
"delete": "Supprimer",
|
||||
"deleteWarning": "Les données ne pourront pas être récupérées après suppression, veuillez procéder avec prudence.",
|
||||
"deletedSuccessfully": "Suppression réussie",
|
||||
"description": "Description",
|
||||
"edit": "Éditer",
|
||||
"editNodeGroup": "Éditer le groupe de nœuds",
|
||||
"form": {
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"description": "Description",
|
||||
"name": "Nom"
|
||||
},
|
||||
"name": "Nom",
|
||||
"title": "Liste des groupes de nœuds",
|
||||
"updatedAt": "Mis à jour à"
|
||||
},
|
||||
"node": {
|
||||
"abnormal": "Anormal",
|
||||
"actions": "Actions",
|
||||
"address": "Adresse",
|
||||
"all": "Tout",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"confirmDelete": "Êtes-vous sûr de vouloir supprimer ?",
|
||||
"create": "Créer",
|
||||
"createNode": "Créer un nœud",
|
||||
"createSuccess": "Création réussie",
|
||||
"delete": "Supprimer",
|
||||
"deleteSuccess": "Suppression réussie",
|
||||
"deleteWarning": "Après suppression, les données ne pourront pas être récupérées. Veuillez procéder avec prudence.",
|
||||
"disk": "Disque",
|
||||
"edit": "Éditer",
|
||||
"editNode": "Éditer le nœud",
|
||||
"enable": "Activer",
|
||||
"form": {
|
||||
"allowInsecure": "Autoriser l'insécurité",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"edit": "Éditer",
|
||||
"editSecurity": "Éditer la configuration de sécurité",
|
||||
"enableRelay": "Activer le relais",
|
||||
"enableTLS": "Activer TLS",
|
||||
"encryptionMethod": "Méthode de cryptage",
|
||||
"flow": "Algorithme de contrôle de flux",
|
||||
"hopInterval": "Intervalle de saut",
|
||||
"hopPorts": "Ports de saut",
|
||||
"hopPortsPlaceholder": "Séparer plusieurs ports par des virgules",
|
||||
"name": "Nom",
|
||||
"nodeGroupId": "ID du groupe de nœuds",
|
||||
"obfsPassword": "Mot de passe d'obfuscation",
|
||||
"obfsPasswordPlaceholder": "Laisser vide pour ne pas obfusquer",
|
||||
"path": "Chemin",
|
||||
"pleaseSelect": "Veuillez sélectionner",
|
||||
"port": "Port de service",
|
||||
"protocol": "Protocole",
|
||||
"relayHost": "Adresse de relais",
|
||||
"relayPort": "Port de relais",
|
||||
"remarks": "Remarques",
|
||||
"security": "Sécurité",
|
||||
"securityConfig": "Configuration de sécurité",
|
||||
"security_config": {
|
||||
"fingerprint": "Empreinte digitale",
|
||||
"privateKey": "Clé privée",
|
||||
"privateKeyPlaceholder": "Laisser vide pour générer automatiquement",
|
||||
"publicKey": "Clé publique",
|
||||
"publicKeyPlaceholder": "Laisser vide pour générer automatiquement",
|
||||
"serverAddress": "Adresse du serveur",
|
||||
"serverAddressPlaceholder": "Adresse cible REALITY, par défaut utilise SNI",
|
||||
"serverName": "Nom du serveur (SNI)",
|
||||
"serverNamePlaceholder": "Obligatoire pour REALITY, doit correspondre à l'arrière-plan",
|
||||
"serverPort": "Port du serveur",
|
||||
"serverPortPlaceholder": "Port cible REALITY, par défaut 443",
|
||||
"shortId": "Identifiant court",
|
||||
"shortIdPlaceholder": "Laisser vide pour générer automatiquement",
|
||||
"sni": "Indication de nom de serveur (SNI)"
|
||||
},
|
||||
"selectEncryptionMethod": "Sélectionner la méthode de cryptage",
|
||||
"selectNodeGroup": "Sélectionner le groupe de nœuds",
|
||||
"selectProtocol": "Sélectionner le protocole",
|
||||
"serverAddr": "Adresse du serveur",
|
||||
"serverName": "Nom du service",
|
||||
"speedLimit": "Limite de vitesse",
|
||||
"speedLimitPlaceholder": "Illimité",
|
||||
"trafficRatio": "Taux de trafic",
|
||||
"transport": "Protocole de transport",
|
||||
"transportConfig": "Configuration du protocole de transport",
|
||||
"transportHost": "Adresse du service de transport",
|
||||
"transportPath": "Chemin de transport",
|
||||
"transportServerName": "Nom du service de transport"
|
||||
},
|
||||
"lastUpdated": "Dernière mise à jour",
|
||||
"memory": "Mémoire",
|
||||
"name": "Nom",
|
||||
"node": "Nœud",
|
||||
"nodeGroup": "Groupe de nœuds",
|
||||
"normal": "Normal",
|
||||
"onlineCount": "Nombre d'utilisateurs en ligne",
|
||||
"onlineUsers": "Utilisateurs en ligne",
|
||||
"rate": "Taux",
|
||||
"relay": "Relais",
|
||||
"serverAddr": "Adresse du serveur",
|
||||
"speedLimit": "Limite de vitesse",
|
||||
"status": "Statut",
|
||||
"trafficRatio": "Taux de trafic",
|
||||
"type": "Type",
|
||||
"updateSuccess": "Mise à jour réussie",
|
||||
"updatedAt": "Date de mise à jour"
|
||||
},
|
||||
"tabs": {
|
||||
"node": "Nœud",
|
||||
"nodeGroup": "Groupe de nœuds"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"actions": "actions",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"confirmDelete": "Êtes-vous sûr de vouloir supprimer ?",
|
||||
"create": "Créer",
|
||||
"createSubscribe": "Créer un abonnement",
|
||||
"createSuccess": "Création réussie",
|
||||
"delete": "Supprimer",
|
||||
"deleteSuccess": "Suppression réussie",
|
||||
"deleteWarning": "Une fois supprimées, les données ne peuvent pas être récupérées. Veuillez procéder avec prudence.",
|
||||
"deviceLimit": "Nombre d'appareils",
|
||||
"edit": "Éditer",
|
||||
"editSubscribe": "Modifier l'abonnement",
|
||||
"form": {
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"description": "Description",
|
||||
"deviceLimit": "Limite d'appareils",
|
||||
"discount": "Remise",
|
||||
"discountDescription": "Remise basée sur le prix unitaire",
|
||||
"discountMonths": "mois",
|
||||
"discountPercent": "Pourcentage de remise",
|
||||
"discount_price": "Prix remisé",
|
||||
"duration": "Durée (mois)",
|
||||
"inventory": "Stock",
|
||||
"name": "Nom",
|
||||
"noLimit": "Illimité",
|
||||
"quota": "Quantité d'achat limitée",
|
||||
"replacement": "Prix de réinitialisation (par fois)",
|
||||
"selectSubscribeGroup": "Veuillez sélectionner un groupe d'abonnement",
|
||||
"server": "Serveur",
|
||||
"serverGroup": "Groupe de serveurs",
|
||||
"speedLimit": "Limite de vitesse (Mbps)",
|
||||
"subscribeGroup": "Groupe d'abonnement",
|
||||
"traffic": "Trafic",
|
||||
"unit_price": "Prix mensuel unitaire"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Actions",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"confirmDelete": "Êtes-vous sûr de vouloir supprimer ?",
|
||||
"create": "Créer",
|
||||
"createSubscribeGroup": "Créer un groupe d'abonnement",
|
||||
"createSuccess": "Création réussie",
|
||||
"delete": "Supprimer",
|
||||
"deleteSuccess": "Suppression réussie",
|
||||
"deleteWarning": "Les données ne peuvent pas être récupérées après suppression, veuillez procéder avec prudence.",
|
||||
"description": "Description",
|
||||
"edit": "Éditer",
|
||||
"editSubscribeGroup": "Éditer le groupe d'abonnement",
|
||||
"form": {
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"description": "Description",
|
||||
"name": "Nom"
|
||||
},
|
||||
"name": "Nom",
|
||||
"title": "Liste des groupes d'abonnement",
|
||||
"updateSuccess": "Mise à jour réussie",
|
||||
"updatedAt": "Date de mise à jour"
|
||||
},
|
||||
"inventory": "inventaire",
|
||||
"name": "Nom",
|
||||
"quota": "Limite d'achat/par fois",
|
||||
"replacement": "Réinitialiser le prix/par fois",
|
||||
"sell": "Vente",
|
||||
"show": "Afficher sur la page d'accueil",
|
||||
"subscribe": "S'abonner",
|
||||
"subscribeGroup": "S'abonner au groupe",
|
||||
"tabs": {
|
||||
"subscribe": "S'abonner",
|
||||
"subscribeGroup": "Groupe d'abonnement"
|
||||
},
|
||||
"traffic": "trafic",
|
||||
"unitPrice": "Prix/mois",
|
||||
"updateSuccess": "Mise à jour réussie"
|
||||
}
|
||||
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"currency": {
|
||||
"accessKey": "Clé d'accès",
|
||||
"accessKeyDescription": "Clé API de taux de change fournie gratuitement par https://exchangerate.host",
|
||||
"currencySymbol": "Symbole monétaire",
|
||||
"currencySymbolDescription": "Utilisé uniquement pour l'affichage, toute modification entraînera un changement de toutes les unités monétaires dans le système",
|
||||
"currencyUnit": "Unité monétaire",
|
||||
"currencyUnitDescription": "Utilisé uniquement pour l'affichage, toute modification entraînera un changement de toutes les unités monétaires dans le système",
|
||||
"saveSuccess": "Enregistrement réussi"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Modèle de notification d'expiration",
|
||||
"expiration_email_templateDescription": "Les variables {after}.nomDeVariable{before} dans le modèle seront remplacées par des données réelles, veuillez vous assurer de conserver ces variables.",
|
||||
"inputPlaceholder": "Veuillez entrer le contenu...",
|
||||
"maintenance_email_template": "Modèle de notification de maintenance",
|
||||
"maintenance_email_templateDescription": "Les variables {after}.nomDeVariable{before} dans le modèle seront remplacées par des données réelles, veuillez vous assurer de conserver ces variables.",
|
||||
"saveSuccess": "La configuration a été enregistrée avec succès.",
|
||||
"sendFailure": "L'envoi de l'e-mail de test a échoué, veuillez vérifier la configuration.",
|
||||
"sendSuccess": "L'e-mail de test a été envoyé avec succès.",
|
||||
"sendTestEmail": "Envoyer un e-mail de test",
|
||||
"sendTestEmailDescription": "Envoyez un e-mail de test pour vérifier si la configuration est correcte.",
|
||||
"senderAddress": "Adresse de l'expéditeur",
|
||||
"senderAddressDescription": "Adresse e-mail par défaut utilisée pour envoyer des e-mails.",
|
||||
"smtpAccount": "Compte SMTP",
|
||||
"smtpAccountDescription": "Compte e-mail utilisé pour l'authentification.",
|
||||
"smtpEncryptionMethod": "Méthode de chiffrement SMTP",
|
||||
"smtpEncryptionMethodDescription": "Choisissez si vous souhaitez activer le chiffrement SSL/TLS.",
|
||||
"smtpPassword": "Mot de passe SMTP",
|
||||
"smtpPasswordDescription": "Mot de passe pour ce compte SMTP.",
|
||||
"smtpServerAddress": "Adresse du serveur SMTP",
|
||||
"smtpServerAddressDescription": "Spécifiez l'adresse du serveur utilisée pour envoyer des e-mails.",
|
||||
"smtpServerPort": "Port du serveur SMTP",
|
||||
"smtpServerPortDescription": "Spécifiez le numéro de port pour se connecter au serveur SMTP.",
|
||||
"verify_email_template": "Modèle d'e-mail de vérification",
|
||||
"verify_email_templateDescription": "Les variables {after}.nomDeVariable{before} dans le modèle seront remplacées par des données réelles, veuillez vous assurer de conserver ces variables."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Commission uniquement sur le premier achat",
|
||||
"commissionFirstTimeOnlyDescription": "Une fois activé, la commission est générée uniquement lors du premier paiement de l'invité. Vous pouvez configurer chaque utilisateur individuellement dans la gestion des utilisateurs.",
|
||||
"enableForcedInvite": "Activer l'invitation forcée",
|
||||
"enableForcedInviteDescription": "Une fois activé, seuls les utilisateurs invités peuvent s'inscrire.",
|
||||
"inputPlaceholder": "Veuillez entrer",
|
||||
"inviteCommissionPercentage": "Pourcentage de commission d'invitation",
|
||||
"inviteCommissionPercentageDescription": "Pourcentage de commission global par défaut, vous pouvez configurer un pourcentage individuel dans la gestion des utilisateurs.",
|
||||
"saveSuccess": "Enregistrement réussi"
|
||||
},
|
||||
"node": {
|
||||
"communicationKey": "Clé de communication",
|
||||
"communicationKeyDescription": "Clé pour la communication du nœud, afin de garantir que les données ne soient pas interceptées par d'autres",
|
||||
"inputPlaceholder": "Veuillez entrer",
|
||||
"nodePullInterval": "Intervalle de récupération du nœud",
|
||||
"nodePullIntervalDescription": "Fréquence à laquelle le nœud récupère les données du panneau (en secondes)",
|
||||
"nodePushInterval": "Intervalle de poussée du nœud",
|
||||
"nodePushIntervalDescription": "Fréquence à laquelle le nœud pousse les données vers le panneau",
|
||||
"saveSuccess": "Enregistrement réussi"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "Liste blanche des suffixes d'email",
|
||||
"emailSuffixWhitelistDescription": "Une fois activé, seuls les emails avec les suffixes de la liste pourront s'inscrire",
|
||||
"emailVerification": "Vérification de l'email",
|
||||
"emailVerificationDescription": "Une fois activé, les utilisateurs devront vérifier leur email",
|
||||
"ipRegistrationLimit": "Limite d'inscription par IP",
|
||||
"ipRegistrationLimitDescription": "Une fois activé, les IP répondant aux critères seront limitées pour l'inscription. Veuillez noter que la détermination de l'IP peut poser problème en raison du CDN ou du proxy frontal",
|
||||
"penaltyTime": "Temps de pénalité (minutes)",
|
||||
"penaltyTimeDescription": "L'utilisateur doit attendre que le temps de pénalité soit écoulé pour s'inscrire à nouveau",
|
||||
"registrationLimitCount": "Compteur de limite d'inscription",
|
||||
"registrationLimitCountDescription": "Active la pénalité après avoir atteint la limite d'inscription",
|
||||
"saveSuccess": "Enregistrement réussi",
|
||||
"stopNewUserRegistration": "Arrêter l'inscription de nouveaux utilisateurs",
|
||||
"stopNewUserRegistrationDescription": "Une fois activé, personne ne pourra s'inscrire",
|
||||
"trialRegistration": "Inscription d'essai",
|
||||
"trialRegistrationDescription": "Activez l'inscription d'essai, veuillez d'abord modifier le forfait et la durée d'essai",
|
||||
"whitelistSuffixes": "Suffixes de la liste blanche",
|
||||
"whitelistSuffixesDescription": "Utilisé pour la vérification des emails d'inscription, un par ligne",
|
||||
"whitelistSuffixesPlaceholder": "Veuillez entrer les suffixes d'email, un par ligne"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "Utilisé pour afficher l'emplacement où le LOGO doit être montré",
|
||||
"logoPlaceholder": "Veuillez entrer l'URL du LOGO, ne pas terminer par '/'",
|
||||
"saveSuccess": "Enregistrement réussi",
|
||||
"siteDesc": "Description du site",
|
||||
"siteDescDescription": "Utilisé pour afficher l'emplacement où la description du site doit être montrée",
|
||||
"siteDescPlaceholder": "Veuillez entrer la description du site",
|
||||
"siteDomain": "Domaine du site",
|
||||
"siteDomainDescription": "L'adresse de domaine actuelle du site, par exemple pour les e-mails",
|
||||
"siteDomainPlaceholder": "Veuillez entrer l'adresse du domaine, un domaine par ligne",
|
||||
"siteName": "Nom du site",
|
||||
"siteNameDescription": "Utilisé pour afficher l'emplacement où le nom du site doit être montré",
|
||||
"siteNamePlaceholder": "Veuillez entrer le nom du site"
|
||||
},
|
||||
"subscription": {
|
||||
"add": "Ajouter",
|
||||
"app": "Application",
|
||||
"appDescription": "Configurez l'adresse de téléchargement de l'application et les règles d'importation, n'oubliez pas de sauvegarder après modification",
|
||||
"appDownloadURL": "Adresse de téléchargement de l'application",
|
||||
"appIcon": "Icône de l'application",
|
||||
"appName": "Nom de l'application",
|
||||
"delete": "Supprimer",
|
||||
"reset": "Réinitialiser",
|
||||
"save": "Enregistrer",
|
||||
"saveSuccess": "Enregistrement réussi",
|
||||
"singleSubscriptionMode": "Mode d'abonnement unique",
|
||||
"singleSubscriptionModeDescription": "Une fois activé, tous les forfaits des utilisateurs seront convertis en solde",
|
||||
"subscriptionDomain": "Domaine d'abonnement",
|
||||
"subscriptionDomainDescription": "Utilisé pour l'abonnement, laissez vide pour utiliser le domaine du site",
|
||||
"subscriptionDomainPlaceholder": "Veuillez entrer le domaine d'abonnement, un domaine par ligne",
|
||||
"subscriptionPath": "Chemin d'abonnement",
|
||||
"subscriptionPathDescription": "Utilisé pour l'abonnement, veuillez redémarrer le système après modification pour garantir une performance optimale",
|
||||
"subscriptionPathPlaceholder": "Veuillez entrer",
|
||||
"subscriptionProtocol": "Protocole d'abonnement",
|
||||
"wildcardResolution": "Résolution de joker",
|
||||
"wildcardResolutionDescription": "Utilisé pour l'abonnement"
|
||||
},
|
||||
"tabs": {
|
||||
"currency": "Devise",
|
||||
"email": "E-mail",
|
||||
"invite": "Inviter",
|
||||
"node": "Nœud",
|
||||
"register": "S'inscrire",
|
||||
"site": "Site",
|
||||
"subscription": "Abonnement",
|
||||
"telegram": "Telegram",
|
||||
"tos": "Conditions de service",
|
||||
"verify": "Vérifier"
|
||||
},
|
||||
"telegram": {
|
||||
"botToken": "Jeton du robot",
|
||||
"botTokenDescription": "Veuillez entrer le jeton fourni par Botfather",
|
||||
"enableBotNotifications": "Activer les notifications du robot",
|
||||
"enableBotNotificationsDescription": "Une fois activé, le robot enverra des notifications de base aux administrateurs et utilisateurs liés à Telegram",
|
||||
"groupURL": "URL du groupe",
|
||||
"groupURLDescription": "Une fois rempli, il sera affiché ou utilisé là où nécessaire sur le côté utilisateur",
|
||||
"inputPlaceholderBotToken": "0000000000:xxxxxxxxx_xxxxxxxxxxxxxxx",
|
||||
"inputPlaceholderGroupURL": "https://t.me/xxxxxx",
|
||||
"saveSuccess": "Enregistrement réussi"
|
||||
},
|
||||
"tos": {
|
||||
"saveSuccess": "Enregistrement réussi",
|
||||
"title": "Conditions de service"
|
||||
},
|
||||
"verify": {
|
||||
"inputPlaceholder": "Veuillez entrer",
|
||||
"loginVerificationCode": "Code de vérification de connexion",
|
||||
"loginVerificationCodeDescription": "Vérification humaine lors de la connexion",
|
||||
"registrationVerificationCode": "Code de vérification d'inscription",
|
||||
"registrationVerificationCodeDescription": "Vérification humaine lors de l'inscription",
|
||||
"resetPasswordVerificationCode": "Code de vérification de réinitialisation du mot de passe",
|
||||
"resetPasswordVerificationCodeDescription": "Vérification humaine lors de la réinitialisation du mot de passe",
|
||||
"saveSuccess": "Enregistrement réussi",
|
||||
"turnstileSecret": "Clé secrète Turnstile",
|
||||
"turnstileSecretDescription": "Clé secrète Turnstile fournie par Cloudflare",
|
||||
"turnstileSiteKey": "Clé de site Turnstile",
|
||||
"turnstileSiteKeyDescription": "Clé de site Turnstile fournie par Cloudflare"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"actions": "Actions",
|
||||
"cancel": "Annuler",
|
||||
"check": "Vérifier",
|
||||
"close": "fermer",
|
||||
"closeSuccess": "Fermeture réussie",
|
||||
"closeWarning": "Une fois fermé, ce ticket ne pourra plus être modifié. Veuillez procéder avec prudence.",
|
||||
"confirm": "Confirmer",
|
||||
"confirmClose": "Êtes-vous sûr de vouloir fermer ?",
|
||||
"createdAt": "Date de création",
|
||||
"inputPlaceholder": "Veuillez entrer votre question, nous vous répondrons dès que possible.",
|
||||
"open": "ouvrir",
|
||||
"reply": "réponse",
|
||||
"status": ["Statut", "À suivre", "En attente de réponse", "Traité", "Fermé"],
|
||||
"ticketList": "Liste des tickets",
|
||||
"title": "Titre",
|
||||
"updatedAt": "Mis à jour à",
|
||||
"user": "utilisateur"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"caller": "Appelant",
|
||||
"cancel": "Annuler",
|
||||
"confirmReboot": "Confirmer le redémarrage",
|
||||
"confirmSystemReboot": "Confirmer le redémarrage du système",
|
||||
"confirmSystemUpgrade": "Confirmer la mise à niveau du système",
|
||||
"confirmUpgrade": "Confirmer la mise à niveau",
|
||||
"currentVersion": "Version actuelle du système :",
|
||||
"errors": "Erreurs",
|
||||
"ip": "IP",
|
||||
"lastUpdated": "Dernière mise à jour :",
|
||||
"none": "Aucun",
|
||||
"query": "Requête",
|
||||
"rebootDescription": "Êtes-vous sûr de vouloir redémarrer le système ? Cette opération entraînera une interruption temporaire du service.",
|
||||
"rebooting": "Redémarrage du système...",
|
||||
"refreshLogs": "Rafraîchir les journaux",
|
||||
"request": "Demande",
|
||||
"status": "Statut",
|
||||
"systemLogs": "Journaux système",
|
||||
"systemReboot": "Redémarrage du système",
|
||||
"systemServices": "Services système",
|
||||
"systemUpgrade": "Mise à niveau du système",
|
||||
"upgradeDescription": "Êtes-vous sûr de vouloir effectuer la mise à niveau du système ? Cette opération peut prendre quelques minutes, pendant lesquelles le système peut ne pas répondre.",
|
||||
"userAgent": "Agent utilisateur",
|
||||
"viewLogsAndManage": "Afficher les journaux système, effectuer des mises à niveau et redémarrer le système"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"actions": "actions",
|
||||
"balance": "Solde",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"confirmDelete": "Êtes-vous sûr de vouloir supprimer ?",
|
||||
"create": "Créer",
|
||||
"createSuccess": "Création réussie",
|
||||
"createUser": "Créer un utilisateur",
|
||||
"createdAt": "Date d'inscription",
|
||||
"delete": "Supprimer",
|
||||
"deleteDescription": "Une fois supprimées, les données ne peuvent pas être récupérées. Veuillez procéder avec prudence.",
|
||||
"deleteSuccess": "Suppression réussie",
|
||||
"edit": "Éditer",
|
||||
"editUser": "Modifier l'utilisateur",
|
||||
"email": "e-mail",
|
||||
"enable": "Activer",
|
||||
"form": {
|
||||
"balance": "Solde",
|
||||
"balancePlaceholder": "Solde",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"invalidEmailFormat": "Format d'e-mail invalide",
|
||||
"inviteCode": "Code d'invitation",
|
||||
"inviteCodePlaceholder": "Veuillez entrer le code d'invitation (laissez vide pour générer automatiquement)",
|
||||
"manager": "Administrateur",
|
||||
"password": "Mot de passe",
|
||||
"passwordPlaceholder": "Veuillez entrer un nouveau mot de passe (peut être laissé vide)",
|
||||
"refererId": "ID du parrain",
|
||||
"refererIdPlaceholder": "Veuillez entrer l'ID du parrain",
|
||||
"userEmail": "E-mail de l'utilisateur",
|
||||
"userEmailPlaceholder": "Veuillez entrer l'e-mail de l'utilisateur"
|
||||
},
|
||||
"referer": "Référent",
|
||||
"updateSuccess": "Mise à jour réussie",
|
||||
"userList": "Liste des utilisateurs",
|
||||
"userName": "Adresse e-mail de l'utilisateur"
|
||||
}
|
||||
Reference in New Issue
Block a user