feat(ui): redesign model square pricing page

This commit is contained in:
CaIon
2026-04-30 16:29:32 +08:00
parent 5f86839c7e
commit d2b30dfc95
34 changed files with 2468 additions and 767 deletions
+29 -2
View File
@@ -485,6 +485,7 @@
"Broadcast a global banner to users. Markdown is supported.": "Diffuser une bannière globale aux utilisateurs. Le Markdown est pris en charge.",
"Broadcast short system notices on the dashboard": "Diffuser de courtes notifications système sur le tableau de bord",
"Browse and compare": "Parcourir et comparer",
"Discover curated AI models, compare pricing and capabilities, and choose the right model for every scenario.": "Découvrez une sélection de modèles IA, comparez les tarifs et les capacités, et choisissez le modèle adapté à chaque scénario.",
"Budget tokens = max tokens × ratio. Accepts a decimal between 0.002 and 1. Recommended to keep aligned with upstream billing.": "Jetons budgétaires = jetons max × ratio. Accepte un nombre décimal entre 0,002 et 1. Il est recommandé de rester aligné avec la facturation en amont.",
"Budget tokens = max tokens × ratio. Accepts a decimal between 0.1 and 1.": "Jetons budgétaires = jetons max × ratio. Accepte un nombre décimal entre 0,1 et 1.",
"Budget Tokens Ratio": "Ratio de jetons budgétaires",
@@ -527,6 +528,7 @@
"Cancelled": "Annulé",
"Cancelled at": "Annulé le",
"Capture a reusable bundle of models, tags, or endpoints.": "Capturez un ensemble réutilisable de modèles, d'étiquettes ou de points de terminaison.",
"Card view": "Vue cartes",
"Category Name": "Nom de la catégorie",
"Category name is required": "Le nom de la catégorie est requis",
"Category name must be less than 50 characters": "Le nom de la catégorie doit contenir moins de 50 caractères",
@@ -600,8 +602,8 @@
"Choose how to filter domains": "Choisissez comment filtrer les domaines",
"Choose how to filter IP addresses": "Choisissez comment filtrer les adresses IP",
"Choose the bundle type and define the items inside it.": "Choisissez le type de bundle et définissez les éléments qu'il contient.",
"Choose where to fetch upstream metadata.": "Choisissez où récupérer les métadonnées amont.",
"Choose the default charts, range, and time granularity for model analytics.": "Choisissez les graphiques, la plage et la granularité temporelle par défaut pour l'analyse des modèles.",
"Choose where to fetch upstream metadata.": "Choisissez où récupérer les métadonnées amont.",
"Choose which charts are selected by default when opening model analytics.": "Choisissez les graphiques sélectionnés par défaut à l'ouverture de l'analyse des modèles.",
"Classic (Legacy Frontend)": "Classique (Ancien frontend)",
"Claude": "Claude",
@@ -676,6 +678,9 @@
"Common Logs": "Journaux courants",
"Common ports include 25, 465, and 587": "Les ports courants incluent 25, 465 et 587",
"Common User": "Utilisateur commun",
"Community driven, self-hosted, and extensible": "Piloté par la communauté, auto-hébergé et extensible",
"compatible API routes": "routes API compatibles",
"Compatible API routes for common AI application workflows": "Routes API compatibles pour les workflows courants des applications d'IA",
"Complete API documentation with multi-language SDK support": "Documentation API complète avec support SDK multilingue",
"Complete Order": "Compléter la commande",
"Complete these steps to finish the initial installation.": "Suivez ces étapes pour terminer l'installation initiale.",
@@ -769,6 +774,7 @@
"Confirm your identity with Two-factor Authentication before registering a Passkey.": "Confirmez votre identité avec lauthentification à deux facteurs avant denregistrer une Passkey.",
"Conflict": "Conflit",
"Connect": "Connecter",
"Connect through OpenAI, Claude, Gemini, and other compatible API routes": "Connectez-vous via OpenAI, Claude, Gemini et d'autres routes API compatibles",
"Connected to io.net service normally.": "Connexion au service io.net réussie.",
"Connection error": "Erreur de connexion",
"Connection failed": "Connexion échouée",
@@ -1003,6 +1009,7 @@
"Demo site mode": "Mode site de démonstration",
"Demo Site Mode": "Mode Site de démonstration",
"Demote": "Rétrograder",
"Deploy your own gateway and start routing requests through your configured upstream services.": "Déployez votre propre passerelle et commencez à router les requêtes via vos services en amont configurés.",
"Deployment created successfully": "Déploiement créé avec succès",
"Deployment details": "Détails du déploiement",
"Deployment ID": "ID du déploiement",
@@ -1553,10 +1560,12 @@
"Filter by username": "Filtrer par nom d'utilisateur",
"Filter by username, name or email...": "Filtrer par nom d'utilisateur, nom ou e-mail...",
"Filter Dashboard Models": "Filtrer les modèles du tableau de bord",
"Filter models by provider, group, type, endpoint, and tags.": "Filtrer les modèles par fournisseur, groupe, type, endpoint et tags.",
"Filter models by type, endpoint, vendor, group and tags": "Filtrer les modèles par type, point d'accès, fournisseur, groupe et tags",
"Filter models...": "Filtrer les modèles...",
"Filter...": "Filtrer...",
"Filters": "Filtres",
"Filters active": "Filtres actifs",
"Final Consumed": "Consommation finale",
"Final cost = base × multiplier when conditions match": "Coût final = base × multiplicateur lorsque les conditions correspondent",
"Final price multiplier (0.95 = 5% discount": "Multiplicateur de prix final (0.95 = 5% de réduction",
@@ -1676,6 +1685,7 @@
"Group name": "Nom du groupe",
"Group Name": "Nom du groupe",
"Group name cannot be changed when editing.": "Le nom du groupe ne peut pas être modifié lors de la modification.",
"Group prices cannot be expanded because this expression is not a standard tiered pricing expression.": "Les prix par groupe ne peuvent pas être détaillés car cette expression n'est pas une expression tarifaire par paliers standard.",
"group ratio": "ratio de groupe",
"Group Ratio": "Ratio de groupe",
"Group ratios": "Ratios de groupe",
@@ -1843,6 +1853,7 @@
"IP Filter Mode": "Mode de filtre IP",
"IP Restriction": "Restriction IP",
"IP Whitelist (supports CIDR)": "Liste blanche IP (supporte CIDR)",
"is an open-source AI API gateway for self-hosted deployments. Connect multiple upstream services, manage models, keys, quotas, logs, and routing policies in one place.": "est une passerelle API IA open source pour les déploiements auto-hébergés. Connectez plusieurs services en amont et gérez au même endroit les modèles, les clés, les quotas, les journaux et les politiques de routage.",
"is less than the configured maximum cache size": "est inférieur à la taille maximale du cache configurée",
"is the default price; ": "est le prix par défaut ; ",
"It seems like the page you're looking for": "Il semble que la page que vous recherchez",
@@ -2051,6 +2062,7 @@
"Model": "Modèle",
"Model Access": "Accès au modèle",
"Model Analytics": "Analyse des modèles",
"model billing support": "prise en charge de la facturation des modèles",
"Model Call Analytics": "Analyse des appels de modèles",
"Model context usage": "Utilisation du contexte du modèle",
"Model deleted": "Modèle supprimé",
@@ -2081,6 +2093,8 @@
"Model ratios reset successfully": "Ratios des modèles réinitialisés avec succès",
"Model Regex": "Regex du modèle",
"Model Regex (one per line)": "Regex du modèle (un par ligne)",
"Model Square": "Place des modèles",
"Model Tags": "Tags de modèle",
"Model to use for testing": "Modèle à utiliser pour les tests",
"Model to use when testing channel connectivity": "Modèle à utiliser lors du test de la connectivité du canal",
"Model Version *": "Version du modèle *",
@@ -2093,6 +2107,7 @@
"Models appended successfully": "Modèles ajoutés avec succès",
"Models are required": "Les modèles sont requis",
"Models directory": "Répertoire des modèles",
"Models Directory": "Répertoire des modèles",
"Models fetched successfully": "Modèles récupérés avec succès",
"Models filled to form": "Modèles remplis pour le formulaire",
"Models listed here will not automatically append or remove -thinking / -nothinking suffixes.": "Les modèles listés ici n'ajouteront ni ne supprimeront automatiquement les suffixes -thinking / -nothinking.",
@@ -2126,6 +2141,7 @@
"Multi-Key Strategy": "Stratégie multi-clés",
"Multi-key: Polling rotation": "Multi-clé : Rotation par sondage",
"Multi-key: Random rotation": "Multi-clé : Rotation aléatoire",
"Multi-protocol Compatible": "Compatible multi-protocole",
"Multi-region deployment for stable global access": "Déploiement multirégional pour un accès mondial stable",
"Multi-user management with flexible permission allocation": "Gestion multi-utilisateurs avec attribution de permissions flexible",
"Multiplier": "Multiplicateur",
@@ -2216,6 +2232,7 @@
"No data available": "Aucune donnée disponible",
"No deployments available. Create one to get started.": "Aucun déploiement disponible. Créez-en un pour commencer.",
"No Deployments Found": "Aucun déploiement trouvé",
"No description available.": "Aucune description disponible.",
"No discount tiers configured. Click \"Add discount tier\" to get started.": "Aucun niveau de réduction configuré. Cliquez sur « Ajouter un niveau de réduction » pour commencer.",
"No duplicate keys found": "Aucune clé dupliquée trouvée",
"No enabled tokens available": "Aucun token activé disponible",
@@ -2375,6 +2392,7 @@
"Open in New Tab": "Ouvrir dans un nouvel onglet",
"Open menu": "Ouvrir le menu",
"Open release": "Ouvrir la version",
"Open Source": "Open source",
"Open the io.net console API Keys page": "Ouvrir la page Clés API de la console io.net",
"Open theme settings": "Ouvrir les paramètres du thème",
"OpenAI": "OpenAI",
@@ -2637,6 +2655,7 @@
"Previous": "Précédent",
"Previous branch": "Branche précédente",
"Previous page": "Page précédente",
"Base Price": "Prix de base",
"Price": "Prix",
"Price ($/1K calls)": "Prix ($/1K appels)",
"Price (local currency / USD)": "Prix (devise locale / USD)",
@@ -2757,6 +2776,7 @@
"Ratio Type": "Type de ratio",
"Ratio: {{value}}": "Ratio : {{value}}",
"Ratios synced successfully": "Ratios synchronisés avec succès",
"Raw expression": "Expression brute",
"Raw JSON": "JSON brut",
"Raw Quota": "Quota brut",
"Re-enable on success": "Réactiver en cas de succès",
@@ -2801,6 +2821,7 @@
"Reference Video": "Vidéo de référence",
"Referral link:": "Lien de parrainage :",
"Referral Program": "Programme de parrainage",
"Refine models by provider, group, type, and tags.": "Affinez les modèles par fournisseur, groupe, type et tags.",
"Refresh": "Actualiser",
"Refresh Cache": "Actualiser le cache",
"Refresh credential": "Actualiser l'identifiant",
@@ -2990,7 +3011,6 @@
"Save drawing settings": "Enregistrer les paramètres de dessin",
"Save Epay settings": "Enregistrer les paramètres Epay",
"Save failed": "Échec de l'enregistrement",
"Save Preferences": "Enregistrer les préférences",
"Save failed, please retry": "Échec de l'enregistrement, veuillez réessayer",
"Save general settings": "Enregistrer les paramètres généraux",
"Save group ratios": "Enregistrer les ratios de groupes",
@@ -3001,6 +3021,7 @@
"Save monitoring rules": "Enregistrer les règles de surveillance",
"Save navigation": "Enregistrer la navigation",
"Save notice": "Enregistrer l'avis",
"Save Preferences": "Enregistrer les préférences",
"Save rate limits": "Enregistrer les limites de débit",
"Save sensitive words": "Enregistrer les mots sensibles",
"Save Settings": "Enregistrer les paramètres",
@@ -3021,6 +3042,7 @@
"Scan this QR code with your authenticator app (Google Authenticator, Microsoft Authenticator, etc.)": "Scannez ce code QR avec votre application d'authentification (Google Authenticator, Microsoft Authenticator, etc.)",
"Scenario Templates": "Modèles de scénario",
"Scheduled channel tests": "Tests de canaux planifiés",
"scheduling controls": "contrôles d'ordonnancement",
"Scope": "Portée",
"Scopes": "Portées",
"Search": "Rechercher",
@@ -3035,6 +3057,7 @@
"Search group names...": "Rechercher des noms de groupe...",
"Search groups...": "Rechercher des groupes...",
"Search missing models": "Rechercher les modèles manquants",
"Search model name, provider, endpoint, or tag...": "Rechercher un nom de modèle, fournisseur, endpoint ou tag...",
"Search model name...": "Rechercher le nom du modèle...",
"Search models": "Rechercher des modèles",
"Search models or fields...": "Rechercher des modèles ou des champs...",
@@ -3219,6 +3242,7 @@
"sources": "sources",
"Space-separated OAuth scopes": "Scopes OAuth séparés par des espaces",
"Spark model version, e.g., v2.1 (version number in API URL)": "Version du modèle Spark, par exemple v2.1 (numéro de version dans l'URL de l'API)",
"Special billing expression": "Expression de facturation spéciale",
"Special usable group rules": "Règles spéciales de groupes utilisables",
"SQLite stores all data in a single file. Make sure that file is persisted when running in containers.": "SQLite stocke toutes les données dans un seul fichier. Assurez-vous que ce fichier est persisté lors de l'exécution dans des conteneurs.",
"SSRF Protection": "Protection SSRF",
@@ -3425,6 +3449,7 @@
"This page has not been created yet.": "Cette page n'a pas encore été créée.",
"This project must be used in compliance with the": "Ce projet doit être utilisé conformément aux",
"This record was written by a pre-upgrade instance and lacks audit info. Upgrade the instance to record server IP, callback IP, payment method and system version.": "Cet enregistrement provient dune instance avant la mise à niveau et ninclut pas daudits. Mettez à jour linstance pour enregistrer lIP du serveur, lIP de callback, le moyen de paiement et la version du système.",
"This site currently has {{count}} models enabled": "Ce site compte actuellement {{count}} modèles activés",
"this token group": "ce groupe de jetons",
"this user group": "ce groupe d'utilisateurs",
"This user has no bindings": "Cet utilisateur n'a aucune liaison",
@@ -3563,6 +3588,7 @@
"Unable to generate chat link. Please contact your administrator.": "Impossible de générer le lien de discussion. Veuillez contacter votre administrateur.",
"Unable to load groups": "Impossible de charger les groupes",
"Unable to open chat": "Impossible d'ouvrir la discussion",
"Unable to parse structured pricing": "Impossible d'analyser la tarification structurée",
"Unable to prepare chat link. Please ensure you have an enabled API key.": "Impossible de préparer le lien de chat. Veuillez vous assurer d'avoir une clé API activée.",
"Unauthorized": "Non autorisé",
"Unauthorized Access": "Accès non autorisé",
@@ -3629,6 +3655,7 @@
"Upstream prices fetched successfully": "Prix amont récupérés avec succès",
"Upstream ratios fetched successfully": "Ratios en amont récupérés avec succès",
"Upstream Response": "Réponse amont",
"upstream services integrated": "services en amont intégrés",
"Upstream Updates": "Mises à jour en amont",
"uptime": "disponibilité",
"Uptime": "Temps de fonctionnement",