feat(default): reorganize system settings pricing UI

Refine the default system settings structure and model pricing editor so pricing configuration is easier to scan and edit.
This commit is contained in:
CaIon
2026-05-06 16:29:45 +08:00
parent 9acf5fecae
commit 0f9f094a48
62 changed files with 3655 additions and 2343 deletions
+94 -3
View File
@@ -494,6 +494,7 @@
"Best for single-tenant deployments. Pricing and billing options stay hidden.": "Лучший вариант для однопользовательских развёртываний. Опции ценообразования и биллинга будут скрыты.",
"Best TTFT": "Лучший TTFT",
"Billing": "Биллинг",
"Billing & Payment": "Биллинг и платежи",
"Billing currency": "Валюта оплаты",
"Billing Details": "Детали биллинга",
"Billing History": "История биллинга",
@@ -633,6 +634,7 @@
"Check in now": "Войдите сейчас",
"Check resolved IPs against IP filters even when accessing by domain": "Проверять разрешенные IP-адреса по IP-фильтрам даже при доступе по домену",
"Check-in failed": "Регистрация не удалась.",
"Check-in Rewards": "Награды за отметку",
"Check-in Settings": "Настройки прибытия",
"Check-in successful! Received": "Прибытие прошло успешно! Получено",
"Checked in": "Зарегистрирован",
@@ -783,14 +785,18 @@
"Configure basic system information and branding": "Настроить основную информацию о системе и брендинг",
"Configure channel affinity (sticky routing) rules": "Настроить правила привязки к каналу (липкая маршрутизация)",
"Configure Creem products. Provide a JSON array.": "Настройте продукты Creem. Укажите массив JSON.",
"Configure currency conversion and quota display options": "Настройте конвертацию валюты и параметры отображения квот",
"Configure custom OAuth providers for user authentication": "Настройка пользовательских OAuth-провайдеров для аутентификации пользователей",
"Configure daily check-in rewards for users": "Настроить ежедневные награды за регистрацию для пользователей",
"Configure discount rates based on recharge amounts": "Настроить скидки в зависимости от сумм пополнения",
"Configure experimental data export for the dashboard": "Настроить экспериментальный экспорт данных для панели управления",
"Configure Gemini safety behavior, version overrides, and thinking adapter": "Настроить поведение безопасности Gemini, переопределения версий и адаптер мышления",
"Configure group ratios and group-specific pricing rules": "Настройте коэффициенты групп и правила тарификации для групп",
"Configure in your Creem dashboard": "Настройте в панели управления Creem",
"Configure io.net API key for model deployments": "Настройте API-ключ io.net для развертывания моделей",
"Configure keyword filtering for prompts and responses.": "Настроить фильтрацию по ключевым словам для запросов и ответов.",
"Configure model deployment provider settings": "Настройте параметры провайдера развертывания моделей",
"Configure model pricing ratios and tool prices": "Настройте коэффициенты тарификации моделей и цены инструментов",
"Configure model, caching, and group ratios used for billing": "Настроить модель, кэширование и групповые коэффициенты, используемые для выставления счетов",
"Configure monitoring status page groups for the dashboard": "Настроить группы страниц состояния мониторинга для панели управления",
"Configure outgoing email server for notifications": "Настроить исходящий почтовый сервер для уведомлений",
@@ -849,6 +855,7 @@
"Console": "Консоль",
"Console area": "Область консоли",
"Console Area": "Область консоли",
"Console Content": "Содержимое консоли",
"Consume": "Расход",
"Container": "Контейнер",
"Container name": "Имя контейнера",
@@ -970,6 +977,7 @@
"Cross-group retry": "Повтор между группами",
"Curate quick links to your different Domains": "Подбирайте быстрые ссылки на ваши различные домены",
"Currency": "Валюта",
"Currency & Display": "Валюта и отображение",
"Current Balance": "Текущий баланс",
"Current Billing": "Текущие счета",
"Current Cache Size": "Текущий размер кэша",
@@ -1027,6 +1035,7 @@
"Date and time when this announcement should be displayed": "Дата и время отображения этого объявления",
"Date Range": "Диапазон дат",
"Day": "День",
"Day of month": "День месяца",
"days": "дней",
"Days to Retain": "Дней хранения",
"Deducted by subscription": "Списано по подписке",
@@ -1778,6 +1787,8 @@
"GPU count": "Количество GPU",
"Greater Than": "Больше",
"Greater Than or Equal": "Больше или равно",
"Greater than": "Больше",
"Greater than or equal": "Больше или равно",
"Grok": "Grok",
"Grok Settings": "Настройки Grok",
"Group": "Группа",
@@ -1793,6 +1804,7 @@
"Group Name": "Имя группы",
"Group name cannot be changed when editing.": "Имя группы нельзя изменить при редактировании.",
"Group prices cannot be expanded because this expression is not a standard tiered pricing expression.": "Цены по группам нельзя развернуть, потому что это не стандартное выражение тарифов по уровням.",
"Group Pricing": "Тарификация групп",
"group ratio": "коэффициент группы",
"Group Ratio": "Групповой коэффициент",
"Group ratios": "Соотношения группы",
@@ -1848,6 +1860,7 @@
"Home Page Content": "Содержимое главной страницы",
"Hostname or IP of your SMTP provider": "Имя хоста или IP-адрес вашего SMTP-провайдера",
"Hour": "Час",
"Hour of day": "Час суток",
"Hourly token usage by model across the last 24 hours": "Почасовое использование токенов по моделям за последние 24 часа",
"Hourly token usage by model over the past 24 hours": "Почасовое использование токенов по моделям за последние 24 часа",
"hours": "часов",
@@ -1893,6 +1906,7 @@
"If an upstream error contains any of these keywords (case insensitive), the channel will be disabled automatically.": "Если ошибка вышестоящего уровня содержит любое из этих ключевых слов (без учета регистра), канал будет автоматически отключен.",
"If authorization succeeds, the generated JSON will be inserted into the key field. You still need to save the channel to persist it.": "При успешной авторизации сгенерированный JSON будет вставлен в поле ключа. Сохраните канал, чтобы применить изменения.",
"If connecting to upstream One API or New API relay projects, use OpenAI type instead unless you know what you are doing": "При подключении к upstream One API или проектам-ретрансляторам New API используйте тип OpenAI, если только вы точно знаете, что делаете",
"If this keeps happening, please report it on GitHub Issues.": "Если проблема повторяется, сообщите о ней в GitHub Issues.",
"If the affinity channel fails and retry succeeds on another channel, update affinity to the successful channel.": "Если привязанный канал не работает и повторная попытка удалась через другой канал, привязка обновляется на успешный канал.",
"Ignored upstream models": "Игнорируемые upstream-модели",
"Image": "Изображение",
@@ -2056,6 +2070,8 @@
"Less": "Меньше",
"Less Than": "Меньше",
"Less Than or Equal": "Меньше или равно",
"Less than": "Меньше",
"Less than or equal": "Меньше или равно",
"License": "Лицензия",
"Light": "Светлая",
"Lightning Fast": "Молниеносно быстро",
@@ -2217,6 +2233,7 @@
"Model context usage": "Использование контекста модели",
"Model deleted": "Модель удалена",
"Model deleted successfully": "Модель успешно удалена",
"Model Deployment": "Развертывание моделей",
"Model deployment service is disabled": "Сервис развертывания моделей отключен",
"Model Description": "Описание модели",
"Model details": "Сведения о модели",
@@ -2238,7 +2255,7 @@
"Model performance metrics": "Метрики производительности моделей",
"Model Price": "Цена модели",
"Model Price Not Configured": "Цена модели не настроена",
"Model Pricing": "Цены на модели",
"Model Pricing": "Тарификация моделей",
"Model pull failed: {{msg}}": "Ошибка тяги модели: {{msg}}",
"Model ratio": "Коэффициент модели",
"Model ratios": "Коэффициенты модели",
@@ -2256,6 +2273,7 @@
"Models": "Модели",
"Models *": "Модели *",
"Models & Groups": "Модели и группы",
"Models & Routing": "Модели и маршрутизация",
"Models appended successfully": "Модели успешно добавлены",
"Models are required": "Требуются модели",
"Models climbing the leaderboard": "Модели, поднимающиеся в рейтинге",
@@ -2276,6 +2294,7 @@
"Monitor": "Мониторинг",
"Monitoring & Alerts": "Мониторинг и оповещения",
"Month": "Месяц",
"Month number": "Номер месяца",
"Monthly": "Ежемесячно",
"Monthly tokens": "Токенов в месяц",
"months": "месяцев",
@@ -2592,6 +2611,7 @@
"Operation": "Операция",
"Operation failed": "Операция не удалась",
"Operation Type": "Тип операции",
"Operations": "Операции",
"Operator Admin": "Оператор-администратор",
"Optimize system for self-hosted single-user usage": "Оптимизировать систему для самостоятельного использования одним пользователем",
"Optimized network architecture ensures millisecond response times": "Оптимизированная сетевая архитектура обеспечивает время отклика в миллисекунды",
@@ -2636,6 +2656,7 @@
"Override Rules": "Правила переопределения",
"Override the endpoint used for testing. Leave empty to auto detect.": "Переопределить конечную точку, используемую для тестирования. Оставьте пустым для автоматического определения.",
"overrides for matching model prefix.": "переопределяет цену по совпавшему префиксу модели.",
"Overnight range": "Диапазон через полночь",
"Overview": "Обзор",
"Overwritten": "Перезаписано",
"Page": "Страница",
@@ -3102,6 +3123,7 @@
"Replacement Model": "Модель замены",
"Replica count": "Количество реплик",
"Replicate": "Replicate",
"Report an issue": "Сообщить о проблеме",
"request": "запрос",
"Request": "Запрос",
"Request Body Disk Cache": "Дисковый кэш тела запроса",
@@ -3308,6 +3330,7 @@
"Secret Key": "Секретный ключ",
"Secure & Reliable": "Безопасно и надежно",
"Security": "Безопасность",
"Security & Limits": "Безопасность и лимиты",
"Security Check": "Проверка безопасности",
"Security verification": "Подтверждение безопасности",
"Select": "Выбрать",
@@ -3456,6 +3479,7 @@
"Simple mode only returns message; status code and error type use system defaults.": "Простой режим возвращает только сообщение; код статуса и тип ошибки используют системные значения по умолчанию.",
"Simple mode: prune objects by type, e.g. redacted_thinking.": "Простой режим: очистка объектов по типу, например redacted_thinking.",
"Single Key": "Одиночный ключ",
"Site & Branding": "Сайт и брендинг",
"Site Key": "Ключ сайта",
"Size:": "Размер:",
"sk_xxx or rk_xxx": "sk_xxx или rk_xxx",
@@ -3733,6 +3757,8 @@
"Tier": "Уровень",
"Tier name": "Название уровня",
"Tiered": "Ступенчато",
"Token prices": "Token prices",
"Each tier supports up to 2 conditions. The last tier without conditions is the fallback.": "Each tier supports up to 2 conditions. The last tier without conditions is the fallback.",
"Tiered (billing expression)": "Ступенчато (платёжное выражение)",
"Tiered price table": "Тариф по уровням",
"Time": "Время",
@@ -3741,7 +3767,7 @@
"Time window for rate limiting": "Временное окно для ограничения скорости запросов",
"Time-based": "Зависит от времени",
"Time:": "Время:",
"Timed cache (1h)": "Кэш с TTL (1 ч)",
"Time-sliced cache (Claude)": "Сегментированный кэш (Claude)",
"Timeline": "Хронология",
"times": "раз",
"Timing": "Время",
@@ -4219,6 +4245,71 @@
"Zero retention": "Без хранения данных",
"Zhipu": "Zhipu",
"Zhipu V4": "Zhipu V4",
"Zoom": "Zoom"
"Zoom": "Zoom",
"Add model pricing": "Добавить тариф модели",
"Applied {{name}} pricing to {{count}} models": "Тариф {{name}} применён к {{count}} моделям",
"Audio input price": "Цена аудиовхода",
"Audio output price": "Цена аудиовыхода",
"Audio output price requires an audio input price.": "Для цены аудиовыхода нужна цена аудиовхода.",
"Billable input tokens": "Оплачиваемые входные токены",
"Billable output tokens": "Оплачиваемые выходные токены",
"Cache create (1h) price": "Цена создания кэша (1 ч)",
"Cache create price": "Цена создания кэша",
"Cache read price": "Цена чтения кэша",
"Cache pricing": "Cache pricing",
"Cache write price": "Цена записи кэша",
"Changes are written to the settings draft on save.": "Изменения будут записаны в черновик настроек при сохранении.",
"Clean": "Без конфликта",
"Completion price": "Цена завершения",
"Core pricing": "Core pricing",
"Copy {{name}} pricing": "Копировать тариф {{name}}",
"Disabled lanes are omitted on save.": "Отключённые каналы цен не сохраняются.",
"Edit model pricing": "Изменить тариф модели",
"Empty": "Пусто",
"Each tier supports up to 2 conditions; the last tier is the catch-all without conditions. Use full input length for tier conditions to avoid mis-routing when cache hits reduce billable input tokens.": "Каждый уровень поддерживает до 2 условий; последний уровень является резервным и не содержит условий. Используйте полную длину входа для условий уровня, чтобы кэш-попадания не снижали оплачиваемые входные токены и не приводили к неверному маршруту.",
"All conditions must match before this tier is used.": "All conditions must match before this tier is used.",
"Base input and output token prices for this tier.": "Base input and output token prices for this tier.",
"Expression": "Выражение",
"Fallback tier": "Fallback tier",
"Full input length": "Полная длина входа",
"Input price is required before saving dependent prices.": "Перед сохранением зависимых цен укажите входную цену.",
"Image input price": "Цена входного изображения",
"Image output price": "Цена выходного изображения",
"Media pricing": "Media pricing",
"New model": "Новая модель",
"No separate media pricing configured.": "No separate media pricing configured.",
"Open a source model first": "Сначала откройте исходную модель",
"Output token price for generated tokens.": "Цена выходных токенов для сгенерированного текста.",
"Per-request": "За запрос",
"Save preview": "Предпросмотр сохранения",
"Select at least one target model": "Выберите хотя бы одну целевую модель",
"Separate image/audio prices are enabled.": "Separate image/audio prices are enabled.",
"Set separate prices for cache reads and writes.": "Set separate prices for cache reads and writes.",
"This model has both fixed-price and ratio settings. Saving the current mode will rewrite the conflicting fields.": "У этой модели одновременно заданы фиксированная цена и коэффициенты. Сохранение текущего режима перезапишет конфликтующие поля.",
"This model has both fixed-price and token-price settings. Saving the current mode will rewrite the conflicting fields.": "У этой модели одновременно заданы фиксированная цена и цены за токены. Сохранение текущего режима перезапишет конфликтующие поля.",
"This tier catches any request that did not match earlier tiers.": "This tier catches any request that did not match earlier tiers.",
"Tier conditions": "Tier conditions",
"Token price for audio input.": "Цена токенов для аудиовхода.",
"Token price for audio output.": "Цена токенов для аудиовыхода.",
"Token price for cache reads.": "Цена токенов для чтения кэша.",
"Token price for creating cache entries.": "Цена токенов для создания записей кэша.",
"Token price for image input.": "Цена токенов для входного изображения.",
"USD price per 1M input tokens.": "Цена в USD за 1 млн входных токенов.",
"USD price per 1M tokens.": "Цена в USD за 1 млн токенов.",
"{{count}} selected targets available for bulk copy.": "Для массового копирования выбрано целей: {{count}}.",
"Base input price only": "Только базовая цена входа",
"Expression based": "На основе выражения",
"Expression pricing": "Тарификация выражением",
"Fixed request price": "Фиксированная цена запроса",
"Includes request rules": "Включает правила запросов",
"No base input price": "Нет базовой цены входа",
"No models configured. Use Add model to get started.": "Модели не настроены. Используйте добавление модели, чтобы начать.",
"Price summary": "Сводка цен",
"Select a model to edit pricing": "Выберите модель для редактирования тарифа",
"Tiered pricing": "Многоуровневая тарификация",
"Unset price": "Цена не задана",
"Use the full-width table to scan prices, then select a row to edit it here.": "Просмотрите цены в таблице, затем выберите строку для редактирования здесь.",
"extras": "доп. пункты",
"tiers": "уровни"
}
}