feat(default): redesign dashboard overview

Refresh the overview page with an actionable Get Started guide, live API request details, real usage sparklines, and OpenAI-inspired dashboard panels. Add collapsible setup state, role-aware quick actions, and localized copy so returning users can focus on platform health.
This commit is contained in:
t0ng7u
2026-05-07 03:20:35 +08:00
parent e8cfb546fa
commit a7d019e3a9
30 changed files with 1389 additions and 195 deletions
+49 -4
View File
@@ -98,6 +98,7 @@
"7 days ago": "7 дней назад",
"80,443,8080": "80,443,8080",
"A billing multiplier. Lower ratios mean lower API call costs.": "Множитель тарификации. Чем ниже коэффициент, тем ниже стоимость вызовов API.",
"A focused home for keys, balance, routing, and service health.": "Единый экран для ключей, баланса, маршрутов и состояния сервиса.",
"About": "О проекте",
"Accept Unpriced Models": "Принимать модели без цены",
"Accepts a JSON array of model identifiers that support the Imagine API.": "Принимает JSON-массив идентификаторов моделей, поддерживающих Imagine API.",
@@ -145,6 +146,7 @@
"Add chat preset": "Добавить предустановку чата",
"Add condition": "Добавить условие",
"Add Condition": "Добавить условие",
"Add credits": "Добавить средства",
"Add custom model(s), comma-separated": "Добавить пользовательскую модель(и), через запятую",
"Add discount tier": "Добавить уровень скидки",
"Add each model or tag you want to include.": "Добавьте каждую модель или тег, который хотите включить.",
@@ -311,6 +313,7 @@
"Announcements": "Объявления",
"Announcements saved successfully": "Объявления успешно сохранены",
"Answer": "Ответ",
"Answers for common access and billing questions": "Ответы на частые вопросы о доступе и оплате",
"Anthropic": "Anthropic",
"Any Match (OR)": "Любое совпадение (OR)",
"API": "API",
@@ -411,6 +414,7 @@
"Audio Preview": "Предпросмотр аудио",
"Audio ratio": "Коэффициент аудио",
"Audio Tokens": "Аудио токены",
"Auth configured": "Аутентификация настроена",
"Auth Style": "Стиль аутентификации",
"Authentication": "Аутентификация",
"Authenticator code": "Код аутентификатора",
@@ -446,8 +450,6 @@
"Available Models": "Доступные модели",
"Available Rewards": "Доступные награды",
"Average latency": "Средняя задержка",
"Latency": "Задержка",
"Latency short": "Зад.",
"Average latency, TTFT, and success rate by group": "Средняя задержка, TTFT и доля успешных запросов по группам",
"Average RPM": "Среднее число оборотов в минуту",
"Average time-to-first-token (TTFT) by group": "Среднее время до первого токена (TTFT) по группам",
@@ -475,6 +477,7 @@
"Baidu V2": "Baidu V2",
"Balance": "Баланс",
"Balance and top-up management": "Управление балансом и пополнением",
"Balance is shown in quota units": "Баланс показан в единицах квоты",
"Balance queried successfully": "Баланс успешно запрошен",
"Balance updated successfully": "Баланс успешно обновлён",
"Balance updated: {{balance}}": "Баланс обновлён: {{balance}}",
@@ -549,11 +552,13 @@
"Broadcast a global banner to users. Markdown is supported.": "Транслировать глобальный баннер пользователям. Поддерживается Markdown.",
"Broadcast short system notices on the dashboard": "Транслировать короткие системные уведомления на панели управления",
"Browse and compare": "Просмотр и сравнение",
"Browse available models and pricing": "Просмотрите доступные модели и цены",
"Browse rankings by category": "Просмотр рейтингов по категориям",
"Budget tokens = max tokens × ratio. Accepts a decimal between 0.002 and 1. Recommended to keep aligned with upstream billing.": "Бюджетные токены = макс. токены × соотношение. Принимает десятичное число от 0.002 до 1. Рекомендуется поддерживать в соответствии с биллингом вышестоящего провайдера.",
"Budget tokens = max tokens × ratio. Accepts a decimal between 0.1 and 1.": "Бюджетные токены = макс. токены × соотношение. Принимает десятичное число от 0.1 до 1.",
"Budget Tokens Ratio": "Соотношение бюджетных токенов",
"Budgets": "Бюджеты",
"Build on your API gateway in minutes": "Начните работу с API-шлюзом за несколько минут",
"Built for developers,": "Создано для разработчиков,",
"Built-in": "Встроенный",
"Built-in Device": "Встроенное устройство",
@@ -846,6 +851,7 @@
"Configure xAI Grok model specific settings": "Настроить параметры модели xAI Grok",
"Configure your account behavior preferences": "Настроить предпочтения поведения вашей учетной записи",
"Configure your account preferences and integrations": "Настроить параметры и интеграции вашей учетной записи",
"Configured routes and latency checks": "Настроенные маршруты и проверки задержки",
"Confirm": "Подтверждение",
"Confirm Action": "Подтвердить действие",
"Confirm Batch Update": "Подтвердить пакетное обновление",
@@ -937,6 +943,7 @@
"Copy model name": "Скопировать имя модели",
"Copy model names": "Скопировать имена моделей",
"Copy prompt": "Копировать промпт",
"Copy ready-to-run curl": "Скопировать готовый curl",
"Copy redemption code": "Скопировать код активации",
"Copy referral link": "Скопировать реферальную ссылку",
"Copy Request Header": "Копировать заголовок запроса",
@@ -962,9 +969,11 @@
"CPU Threshold (%)": "Порог CPU (%)",
"Create": "Создать",
"Create a copy of:": "Создать копию:",
"Create a key for your app or service": "Создайте ключ для приложения или сервиса",
"Create a new user group to configure ratio overrides for.": "Создайте новую группу пользователей для настройки переопределений соотношений.",
"Create account": "Создать аккаунт",
"Create an account": "Создать аккаунт",
"Create an API key to unlock the real request": "Создайте API-ключ, чтобы открыть реальный запрос",
"Create and review invite or credit codes.": "Создать и просмотреть коды приглашений или кредитов.",
"Create API Key": "Создать ключ API",
"Create cache": "Создать кеш",
@@ -996,6 +1005,7 @@
"Credential generated": "Учётные данные созданы",
"Credential refreshed": "Учётные данные обновлены",
"Credentials": "Учетные данные",
"Credit remaining": "Остаток средств",
"Creem API key (leave blank unless updating)": "Ключ API Creem (оставьте пустым, если не обновляете)",
"Creem Gateway": "Шлюз Creem",
"Creem Payment": "Платеж Creem",
@@ -1009,6 +1019,7 @@
"Current Balance": "Текущий баланс",
"Current Billing": "Текущие счета",
"Current Cache Size": "Текущий размер кэша",
"Current domain": "Текущий домен",
"Current email: {{email}}. Enter a new email to change.": "Текущий email: {{email}}. Введите новый email для изменения.",
"Current key": "Текущий ключ",
"Current legacy JSON is invalid, cannot append": "Текущий JSON старого формата невалиден, добавление невозможно",
@@ -1211,6 +1222,7 @@
"Display name shown to users.": "Отображаемое название для пользователей.",
"Display Options": "Параметры отображения",
"Display Token Statistics": "Показать статистику токенов",
"Displayed in": "Отображается в",
"Displays the mobile sidebar.": "Отображает мобильную боковую панель.",
"Do not over-trust this feature. IP may be spoofed. Please use with nginx, CDN and other gateways.": "Не доверяйте этой функции слишком сильно. IP может быть подделан. Используйте с nginx, CDN и другими шлюзами.",
"Do not repeat check-in; only once per day": "Не повторяйте отметку; только один раз в день",
@@ -1714,6 +1726,7 @@
"Finance": "Финансы",
"Fine-tune Midjourney integration and guardrails.": "Тонкая настройка интеграции Midjourney и защитных механизмов.",
"Finish Time": "Время завершения",
"First API request": "Первый API-запрос",
"First/Last Frame to Video": "Первый/последний кадр в видео",
"Fix Abilities": "Исправить способности",
"Fixed abilities: {{success}} succeeded, {{fails}} failed": "Исправление способностей: {{success}} успешно, {{fails}} неудачно",
@@ -1800,6 +1813,7 @@
"Generation quality preset": "Пресет качества генерации",
"Generic cache": "Общий кэш",
"Get notified when balance falls below this value": "Получать уведомления, когда баланс опускается ниже этого значения",
"Get started": "Начало работы",
"Get Started": "Начать",
"GitHub": "GitHub",
"Give the group a recognizable name and optional description.": "Дайте группе узнаваемое имя и необязательное описание.",
@@ -1856,6 +1870,7 @@
"Group-based rate limits": "Лимиты скорости на основе групп",
"Group:": "Группа:",
"Group: {{ratio}}x": "Группа: {{ratio}}x",
"Grouped monitor status from Uptime Kuma": "Состояние групп мониторинга из Uptime Kuma",
"Groups": "Группы",
"Groups *": "Группы *",
"Groups that users can select when creating API keys.": "Группы, которые пользователи могут выбрать при создании ключей API.",
@@ -1884,6 +1899,7 @@
"Hidden — verify to reveal": "Скрыто — подтвердите, чтобы показать",
"Hide": "Скрыть",
"Hide API key": "Скрыть API ключ",
"Hide setup guide": "Скрыть руководство по настройке",
"High Performance": "Высокая производительность",
"High-risk operation confirmation": "Подтверждение высокорисковой операции",
"High-risk status code retry confirmation text": "Я ПОДТВЕРЖДАЮ",
@@ -1990,6 +2006,7 @@
"Input tokens": "Входные токены",
"Input Tokens": "Входные токены",
"Inset": "Встроенная",
"Inspect requests, errors, and billing details": "Проверяйте запросы, ошибки и детали оплаты",
"Inspect user prompts": "Просмотр запросов пользователя",
"Instance": "Экземпляр",
"Integrations": "Интеграции",
@@ -2063,8 +2080,10 @@
"JustSong": "JustSong",
"K": "K",
"Keep enabled if you need to proxy requests for different upstream accounts.": "Оставьте включённым, если нужно проксировать запросы для разных upstream-аккаунтов.",
"Keep enough balance before production traffic": "Поддерживайте достаточный баланс перед рабочим трафиком",
"Keep original value": "Сохранить исходное значение",
"Keep original value (skip if target exists)": "Сохранить исходное значение (пропустить если цель существует)",
"Keep the platform ready": "Поддерживайте платформу в готовности",
"Keep this above 1 minute to avoid heavy database load": "Держите это значение выше 1 минуты, чтобы избежать высокой нагрузки на базу данных",
"Keep-alive Ping": "Пинг Keep-alive",
"Key": "Ключ",
@@ -2090,7 +2109,11 @@
"Last updated:": "Последнее обновление:",
"Last Used": "Последнее использование",
"Last used:": "Последнее использование:",
"Latency": "Задержка",
"Latency check": "Проверка задержки",
"Latency short": "Зад.",
"Latency trend (last 24h)": "Тренд задержки (за 24 часа)",
"Latest platform updates and notices": "Последние обновления и уведомления платформы",
"Lavender Dream": "Лавандовая мечта",
"Layout": "Макет",
"lead": "лидер",
@@ -2141,6 +2164,7 @@
"Load Balancing": "Балансировка нагрузки",
"Load template...": "Загрузить шаблон...",
"Loader": "Загрузчик",
"Loading": "Загрузка",
"Loading configuration": "Загрузка конфигурации",
"Loading content settings...": "Загрузка настроек контента...",
"Loading current models...": "Загрузка текущих моделей...",
@@ -2314,6 +2338,7 @@
"Model ratios reset successfully": "Соотношения моделей успешно сброшены",
"Model Regex": "Регулярное выражение модели",
"Model Regex (one per line)": "Регулярное выражение модели (по одному на строку)",
"Model selected": "Модель выбрана",
"Model Square": "Витрина моделей",
"Model Tags": "Теги моделей",
"Model to use for testing": "Модель для использования при тестировании",
@@ -2344,6 +2369,7 @@
"Module availability": "Доступность модуля",
"MokaAI": "MokaAI",
"Monitor": "Мониторинг",
"Monitor balance, usage, and request volume": "Отслеживайте баланс, расход и объем запросов",
"Monitoring & Alerts": "Мониторинг и оповещения",
"Month": "Месяц",
"Month number": "Номер месяца",
@@ -2406,6 +2432,7 @@
"name@example.com": "name@example.com",
"Native format": "Собственный формат",
"Need a code?": "Нужен код?",
"Needs API key": "Нужен API-ключ",
"Nested JSON defining per-group rules for adding (+:), removing (-:), or appending usable groups.": "Вложенный JSON, определяющий правила для каждой группы для добавления (+:), удаления (-:) или добавления используемых групп.",
"Nested JSON: source group →": "Вложенный JSON: исходная группа →",
"Network proxy for this channel (supports socks5 protocol)": "Сетевой прокси для этого канала (поддерживает протокол socks5)",
@@ -2438,6 +2465,7 @@
"No announcements at this time": "Нет объявлений на данный момент",
"No announcements yet. Click \"Add Announcement\" to create one.": "Пока нет объявлений. Нажмите \"Добавить объявление\", чтобы создать одно.",
"No API Domains yet. Click \"Add API\" to create one.": "Пока нет доменов API. Нажмите \"Добавить API\", чтобы создать один.",
"No API key yet": "API-ключ пока не создан",
"No API keys available. Create your first API key to get started.": "Нет доступных ключей API. Создайте свой первый ключ API, чтобы начать.",
"No API Keys Found": "Ключи API не найдены",
"No API routes configured": "Нет настроенных маршрутов API",
@@ -2632,6 +2660,7 @@
"One IP or CIDR range per line": "Один IP или диапазон CIDR на строку",
"One IP per line (empty for no restriction)": "Один IP на строку (пусто для отсутствия ограничений)",
"one keyword per line": "одно ключевое слово на строку",
"Online": "Онлайн",
"Online payment is not enabled. Please contact the administrator.": "Онлайн-оплата не включена. Пожалуйста, свяжитесь с администратором.",
"Online topup is not enabled. Please use redemption code or contact administrator.": "Онлайн-пополнение не включено. Пожалуйста, используйте код активации или свяжитесь с администратором.",
"Only allow specific email domains": "Разрешить только определенные домены электронной почты",
@@ -3082,6 +3111,7 @@
"Raw Quota": "Исходная квота",
"Re-enable on success": "Повторно включить при успехе",
"Re-login": "Повторный вход",
"Ready": "Готово",
"Ready to initialize": "Готов к инициализации",
"Ready to simplify": "Готовы упростить",
"Real exchange rate between USD and your payment gateway currency": "Реальный обменный курс между USD и валютой вашего платежного шлюза",
@@ -3097,6 +3127,7 @@
"Recharge Amount": "Сумма пополнения",
"Recharge Amount (USD)": "Сумма пополнения (USD)",
"Recommended": "Рекомендуется",
"Recommended actions": "Рекомендуемые действия",
"Recommended to keep this high to avoid upstream throttling.": "Рекомендуется поддерживать это значение высоким, чтобы избежать регулирования со стороны вышестоящего поставщика.",
"Record IP Address": "Записывать IP-адрес",
"Record quota usage": "Записывать использование квоты",
@@ -3281,6 +3312,7 @@
"Revenue": "Доход",
"Review & initialize": "Проверить и инициализировать",
"Review current version and fetch release notes.": "Просмотреть текущую версию и получить примечания к выпуску.",
"Review model rates before scaling traffic": "Проверьте тарифы моделей перед масштабированием трафика",
"Review your payment details": "Проверьте свои платежные данные",
"Review your purchase details before proceeding.": "Просмотрите детали покупки перед продолжением.",
"Rewards will be added directly to your balance": "Награды будут добавлены напрямую в ваш баланс",
@@ -3291,8 +3323,10 @@
"Root": "Корень",
"Rose Garden": "Розовый сад",
"Route": "Маршрут",
"Route active": "Маршрут активен",
"Route Description": "Описание маршрута",
"Route is required": "Маршрут обязателен",
"Route, auth, and balance check in one place": "Маршрут, аутентификация и баланс в одном месте",
"Routing & Overrides": "Маршрутизация и переопределения",
"Routing Strategy": "Стратегия маршрутизации",
"Rows per page": "Строк на страницу",
@@ -3401,6 +3435,7 @@
"Secret environment variables (JSON)": "Секретные переменные окружения (JSON)",
"Secret Key": "Секретный ключ",
"Secure & Reliable": "Безопасно и надежно",
"Secured": "Защищено",
"Security": "Безопасность",
"Security & Limits": "Безопасность и лимиты",
"Security Check": "Проверка безопасности",
@@ -3480,6 +3515,7 @@
"Selected when creating a token and used as the default billing group for API calls.": "Выбирается при создании токена и используется как группа тарификации по умолчанию для вызовов API.",
"Self-Use Mode": "Режим самоиспользования",
"Send": "Отправить",
"Send a request": "Отправить запрос",
"Send code": "Отправить код",
"Send email alerts when a user falls below this quota": "Отправлять оповещения по электронной почте, когда пользователь опускается ниже этой квоты",
"Sending...": "Отправка...",
@@ -3520,7 +3556,11 @@
"Settings": "Настройки",
"Settings & Preferences": "Настройки и предпочтения",
"Settings updated successfully": "Настройки успешно обновлены",
"Setup guide": "Руководство по настройке",
"Setup guide complete": "Руководство по настройке завершено",
"Setup guide is collapsed. Expand it anytime.": "Руководство по настройке свернуто. Его можно открыть в любой момент.",
"Setup Instructions": "Инструкции по настройке",
"Setup progress: {{completed}}/{{total}}": "Прогресс настройки: {{completed}}/{{total}}",
"Setup Two-Factor Authentication": "Настроить двухфакторную аутентификацию",
"Share": "Доля",
"Share your link and earn rewards": "Поделитесь своей ссылкой и получайте вознаграждения",
@@ -3531,6 +3571,7 @@
"Show all providers including unbound": "Показать всех провайдеров (включая непривязанные)",
"Show only bound providers": "Показать только привязанных провайдеров",
"Show prices in currency instead of quota.": "Показывать цены в валюте вместо квоты.",
"Show setup guide": "Показать руководство по настройке",
"Show token usage statistics in the UI": "Показывать статистику использования токенов в пользовательском интерфейсе",
"Showcase core capabilities with demo credentials and limited access.": "Демонстрация основных возможностей с демо-учётными данными и ограниченным доступом.",
"Showing": "Отображать",
@@ -3605,11 +3646,11 @@
"Statistical tokens": "Статистические токены",
"Statistics reset": "Статистика сброшена",
"Status": "Статус",
"Status short": "Стат.",
"Status & Sync": "Статус и синхронизация",
"Status Code": "Код статуса",
"Status Code Mapping": "Сопоставление кодов состояния",
"Status Page Slug": "Slug страницы статуса",
"Status short": "Стат.",
"Status:": "Статус:",
"Stay": "Остаться",
"Stay tuned though!": "Оставайтесь на связи!",
@@ -3754,6 +3795,7 @@
"Test Latency": "Проверить задержку",
"Test Mode": "Тестовый режим",
"Test Model": "Проверить модель",
"Test models and prompts from the browser": "Тестируйте модели и промпты в браузере",
"Testing all enabled channels started. Please refresh to see results.": "Тестирование всех включенных каналов начато. Пожалуйста, обновите страницу, чтобы увидеть результаты.",
"Testing...": "Тестирование...",
"Text": "Текст",
@@ -3837,8 +3879,8 @@
"This year": "Этот год",
"Three steps to get started": "Три шага для начала работы",
"Throughput": "Пропускная способность",
"Throughput short": "TPS",
"Throughput by group": "Пропускная способность по группам",
"Throughput short": "TPS",
"Throughput trend": "Тренд пропускной способности",
"Tier": "Уровень",
"Tier conditions": "Tier conditions",
@@ -4092,6 +4134,7 @@
"URL is required": "URL обязателен",
"URL to your logo image (optional)": "URL изображения вашего логотипа (необязательно)",
"Usage": "Использование",
"Usage at a glance": "Краткий обзор использования",
"Usage guide": "Руководство",
"Usage logs": "Журналы использования",
"Usage Logs": "Журнал использования",
@@ -4189,6 +4232,7 @@
"Verification required to reveal the saved key.": "Требуется подтверждение для отображения сохраненного ключа.",
"Verify": "Проверить",
"Verify and Sign In": "Подтвердить и войти",
"Verify routing with Playground or your client": "Проверьте маршрутизацию через Playground или ваш клиент",
"Verify Setup": "Проверить настройку",
"Verify your database connection": "Проверьте подключение к базе данных",
"Version Overrides": "Переопределения версий",
@@ -4346,6 +4390,7 @@
"Your GitHub OAuth Client Secret": "Ваш секрет клиента GitHub OAuth",
"Your new backup codes are ready": "Ваши новые резервные коды готовы",
"Your Referral Link": "Ваша реферальная ссылка",
"Your setup guide is collapsed so usage stays in focus.": "Руководство свернуто, чтобы основные показатели оставались в фокусе.",
"Your system access token for API authentication. Keep it secure and don't share it with others.": "Ваш системный токен доступа для аутентификации API. Храните его в безопасности и не делитесь им с другими.",
"Your Telegram Bot Token": "Ваш токен Telegram-бота",
"Your Turnstile secret key": "Секретный ключ Turnstile",