chore(i18n): remove orphan locale keys

This commit is contained in:
Supra4E8C
2026-07-06 21:00:05 +08:00
parent 82bb41cee1
commit d8f74ae5ca
4 changed files with 24 additions and 852 deletions
+6 -213
View File
@@ -57,7 +57,6 @@
"unsaved_changes_message": "You have unsaved changes. Leaving now will discard them. Do you want to leave?"
},
"title": {
"main": "CLI Proxy API Management Center",
"login": "CLI Proxy API Management Center",
"abbr": "CPAMC"
},
@@ -65,26 +64,18 @@
"title": "CLI Proxy API",
"subtitle": "Management Center"
},
"auto_login": {
"title": "Auto Login in Progress...",
"message": "Attempting to connect to server using locally saved connection information"
},
"login": {
"subtitle": "Please enter connection information to access the management interface",
"connection_title": "Connection Address",
"connection_current": "Current URL",
"connection_auto_hint": "The system will automatically use the current URL for connection",
"custom_connection_label": "Custom Connection URL:",
"custom_connection_placeholder": "Eg: https://example.com:8317",
"custom_connection_hint": "By default the current URL is used. Override it here if needed.",
"use_current_address": "Use Current URL",
"remember_password_label": "Remember password",
"management_key_label": "Management Key:",
"management_key_placeholder": "Enter the management key",
"connect_button": "Connect",
"submit_button": "Login",
"submitting": "Connecting...",
"error_title": "Login Failed",
"error_backend_detail": "Backend response",
"error_required": "Please fill in complete connection information",
"error_invalid": "Connection failed, please check the server address, Management API, and management key",
@@ -98,20 +89,14 @@
"error_ssl": "SSL/TLS certificate verification failed"
},
"header": {
"check_connection": "Check Connection",
"refresh_all": "Refresh All",
"logout": "Logout"
},
"connection": {
"title": "Connection Information",
"server_address": "Server Address:",
"management_key": "Management Key:",
"status": "Connection Status:"
},
"nav": {
"dashboard": "Dashboard",
"basic_settings": "Basic Settings",
"api_keys": "API Keys",
"quick_start": "Quick Start",
"ai_providers": "AI Providers",
"auth_files": "Auth Files",
@@ -144,10 +129,6 @@
"system_info": "Runtime & diagnostics"
},
"dashboard": {
"title": "Dashboard",
"subtitle": "Welcome to CLI Proxy API Management Center",
"openai_providers": "OpenAI Providers",
"quick_actions": "Quick Actions",
"current_config": "Current Configuration",
"management_keys": "Management Keys",
"provider_keys_detail": "G:{{gemini}} C:{{codex}} Cl:{{claude}} V:{{vertex}} O:{{openai}}",
@@ -171,61 +152,23 @@
"system_overview": "System Overview"
},
"basic_settings": {
"title": "Basic Settings",
"debug_title": "Debug Mode",
"debug_enable": "Enable Debug Mode",
"proxy_title": "Proxy Settings",
"proxy_url_label": "Proxy URL:",
"proxy_url_placeholder": "e.g.: socks5://user:pass@127.0.0.1:1080/",
"proxy_update": "Update",
"proxy_clear": "Clear",
"retry_title": "Request Retry",
"retry_count_label": "Retry Count:",
"retry_update": "Update",
"quota_title": "Quota Exceeded Behavior",
"quota_switch_project": "Auto Switch Project",
"quota_switch_preview": "Switch to Preview Model",
"logging_title": "Logging",
"logging_to_file_enable": "Enable logging to file",
"logs_max_total_size_title": "Log Size Limit",
"logs_max_total_size_label": "Total log size cap (MB):",
"logs_max_total_size_hint": "Set to 0 to disable the limit.",
"logs_max_total_size_update": "Update",
"request_log_title": "Request Logging",
"request_log_enable": "Enable request logging",
"request_log_warning": "Keep this off unless you need detailed troubleshooting.",
"force_model_prefix_enable": "Force model prefix",
"ws_auth_title": "WebSocket Authentication",
"ws_auth_enable": "Require auth for /ws/*",
"routing_title": "Routing Strategy",
"routing_strategy_label": "Routing strategy:",
"routing_strategy_hint": "round-robin cycles through keys; fill-first prioritizes the first available key.",
"routing_strategy_update": "Update",
"routing_strategy_round_robin": "round-robin (cycle)",
"routing_strategy_fill_first": "fill-first (prioritize)"
},
"api_keys": {
"title": "API Keys Management",
"proxy_auth_title": "Proxy Service Authentication Keys",
"add_button": "Add Key",
"empty_title": "No API Keys",
"empty_desc": "Click the button above to add the first key",
"item_title": "API Key",
"add_modal_title": "Add API Key",
"add_modal_key_label": "API Key:",
"add_modal_key_placeholder": "Please enter API key",
"edit_modal_title": "Edit API Key",
"edit_modal_key_label": "API Key:",
"delete_confirm": "Are you sure you want to delete this API key?"
},
"auth_files": {
"title": "Auth Files Management",
"title_section": "Auth Files",
"description": "Manage all CLI Proxy JSON auth files here (e.g. Qwen, Gemini, Vertex). Uploading a credential immediately enables the corresponding AI integration.",
"upload_button": "Upload File",
"delete_all_button": "Delete All",
"empty_title": "No Auth Files",
"empty_desc": "Click the button above to upload the first file",
"search_empty_title": "No matching files",
"search_empty_desc": "Try changing the filters or clearing the search box.",
"file_size": "Size",
@@ -234,11 +177,6 @@
"health_status_healthy": "Healthy",
"health_status_warning": "Warning",
"health_status_disabled": "Disabled",
"health_status_unknown": "Unknown",
"health_status_no_message": "No status message",
"last_refresh_label": "Last Refresh",
"refresh_not_available": "N/A",
"refresh_just_now": "Just now",
"download_button": "Download",
"delete_button": "Delete",
"delete_confirm": "Are you sure you want to delete file",
@@ -268,7 +206,6 @@
"delete_filtered_result_success": "Deleted {{count}} auth files from the filtered results successfully",
"delete_filtered_result_partial": "Filtered result deletion finished: {{success}} succeeded, {{failed}} failed",
"delete_filtered_result_none": "No deletable auth files in the current filtered results",
"files_count": "files",
"pagination_prev": "Previous",
"pagination_next": "Next",
"pagination_info": "Page {{current}} / {{total}} · {{count}} files",
@@ -279,8 +216,6 @@
"problem_filter_enabled": "Enabled",
"problem_filter_problem": "Problem",
"problem_filter_disabled": "Disabled",
"problem_filter_only": "Only show problematic credentials",
"disabled_filter_only": "Only show disabled credentials",
"display_options_label": "Display options",
"compact_mode_label": "Compact mode",
"sort_label": "Sort",
@@ -289,7 +224,6 @@
"sort_priority": "Priority",
"priority_display": "Priority",
"page_size_label": "Per page",
"page_size_unit": "items",
"view_mode_paged": "Paged",
"view_mode_all": "Show all",
"too_many_files_warning": "Too many credentials. Showing all may cause performance issues, please use paged view.",
@@ -306,18 +240,6 @@
"filter_vertex": "Vertex",
"filter_empty": "Empty",
"filter_unknown": "Other",
"type_qwen": "Qwen",
"type_gemini": "Gemini",
"type_kimi": "Kimi",
"type_aistudio": "AIStudio",
"type_claude": "Claude",
"type_codex": "Codex",
"type_antigravity": "Antigravity",
"type_xai": "xAI",
"type_iflow": "iFlow",
"type_vertex": "Vertex",
"type_empty": "Empty",
"type_unknown": "Other",
"type_virtual": "Virtual auth file",
"models_button": "Models",
"models_title": "Supported models",
@@ -354,21 +276,12 @@
"prefix_proxy_invalid_content_label": "Downloaded content (truncated)",
"prefix_label": "Prefix (prefix)",
"proxy_url_label": "Proxy URL (proxy_url)",
"prefix_placeholder": "",
"proxy_url_placeholder": "socks5://username:password@proxy_ip:port/",
"priority_label": "Priority (priority)",
"priority_placeholder": "e.g. 10 or -1",
"priority_hint": "Integers only. Invalid values are ignored. Larger value means higher priority.",
"websockets_label": "WebSockets (websockets)",
"websockets_hint": "Enable Responses API websocket transport for this credential.",
"codex_websockets_label": "WebSockets (websockets)",
"codex_websockets_hint": "Enable Responses API websocket transport for this Codex credential.",
"excluded_models_label": "Excluded models (excluded_models)",
"excluded_models_placeholder": "Comma or newline separated, e.g. model-a, gpt-5-*, *-preview",
"excluded_models_hint": "Saved as an array and normalized by trim/lowercase/dedup/sort.",
"disable_cooling_label": "Disable cooling (disable_cooling)",
"disable_cooling_placeholder": "e.g. true / false / 1 / 0",
"disable_cooling_hint": "Supports booleans, numeric 0/non-0, and strings like true/false/1/0; unparseable values are ignored.",
"note_label": "Note",
"note_placeholder": "Enter a note, e.g.: John's account",
"note_hint": "Optional. Used to describe the purpose or owner of this credential; leave empty to omit.",
@@ -388,13 +301,6 @@
"quota_refresh_failed": "Failed to refresh quota for \"{{name}}\": {{message}}"
},
"antigravity_subscription": {
"subscription_label": "Subscription",
"plan_badge": "Plan {{plan}}",
"loading_short": "Plan...",
"error_badge": "Plan error",
"load_failed": "Subscription check failed: {{message}}",
"missing_auth_index": "Auth file missing auth_index",
"empty_data": "No subscription data available",
"plan_unknown": "Unknown",
"plan_free": "Free",
"plan_pro": "Pro",
@@ -559,10 +465,7 @@
"add": "Add Disablement",
"add_title": "Add provider model disablement",
"edit_title": "Edit model disablement for {{provider}}",
"refresh": "Refresh",
"refreshing": "Refreshing...",
"provider_label": "Provider",
"provider_auto": "Follow current filter",
"provider_placeholder": "e.g. codex / openai",
"provider_hint": "Defaults to the current filter; pick an existing provider or type a new name.",
"models_label": "Models to disable",
@@ -571,23 +474,16 @@
"models_loaded": "{{count}} models loaded. Check the models to disable.",
"no_models_available": "No models available for this provider.",
"save": "Save/Update",
"saving": "Saving...",
"save_success": "Model disablement updated",
"save_failed": "Failed to update model disablement",
"delete": "Delete Provider",
"delete_confirm": "Delete model disablement for {{provider}}?",
"delete_success": "Provider model disablement removed",
"delete_failed": "Failed to delete model disablement",
"deleting": "Deleting...",
"no_models": "No disabled models configured",
"model_count": "{{count}} models disabled",
"list_empty_all": "No provider model disablement yet; click “Add Disablement” to create one.",
"list_empty_filtered": "No disabled items in this scope; click “Add Disablement” to add.",
"disconnected": "Connect to the server to view model disablement",
"load_failed": "Failed to load model disablement",
"provider_required": "Please enter a provider first",
"scope_all": "Scope: All providers",
"scope_provider": "Scope: {{provider}}",
"upgrade_required": "Current CPA version does not support OAuth model disablement. Please upgrade.",
"upgrade_required_title": "Please upgrade CLI Proxy API",
"upgrade_required_desc": "The current server version does not support fetching OAuth model disablement. Please upgrade to the latest CPA (CLI Proxy API) version and try again."
@@ -647,7 +543,6 @@
"diagram_settings_source_title": "Source model settings",
"diagram_settings_empty": "No mappings for this alias yet.",
"diagram_tap_hint": "On touch devices: tap a source model, then tap an alias to link.",
"view_mode": "View mode",
"view_mode_diagram": "Diagram",
"view_mode_list": "List",
"provider_required": "Please enter a provider first",
@@ -761,12 +656,6 @@
"failure_short": "✗",
"no_requests": "No requests"
},
"service_health": {
"title": "Service Health",
"window": "Last 7 days",
"oldest": "Oldest",
"newest": "Latest"
},
"logs": {
"title": "Logs Viewer",
"runtime_unknown": "Current runtime: detecting",
@@ -777,7 +666,6 @@
"fullscreen_button": "Full Screen",
"exit_fullscreen_button": "Exit Full Screen",
"download_button": "Download Logs",
"error_log_button": "Select Error Log",
"error_logs_modal_title": "Error Request Logs",
"error_logs_description": "Pick an error request log file to open or download (only generated when request logging is off).",
"error_logs_home_unavailable": "In Home mode, use Log Content for database logs. Error request log files only apply to CPA file logs.",
@@ -812,8 +700,6 @@
"clear_success": "Logs cleared successfully",
"download_success": "Logs downloaded successfully",
"auto_refresh": "Auto Refresh",
"auto_refresh_enabled": "Auto refresh enabled",
"auto_refresh_disabled": "Auto refresh disabled",
"load_more_hint": "Scroll up to load more",
"hidden_lines": "Hidden: {{count}} lines",
"loaded_lines": "Loaded: {{count}} lines",
@@ -839,20 +725,13 @@
"search_empty_desc": "Try a different keyword or clear the filters.",
"double_click_copy_hint": "Double-click to copy raw log line",
"copy_success": "Log copied to clipboard",
"copy_failed": "Copy failed",
"lines": "lines",
"removed": "Filtered",
"upgrade_required_title": "Please Upgrade CLI Proxy API",
"upgrade_required_desc": "The current server version does not support the logs viewing feature. Please upgrade to the latest version of CLI Proxy API to use this feature."
"copy_failed": "Copy failed"
},
"config_management": {
"title": "Config Panel",
"editor_title": "Configuration File",
"reload": "Reload",
"reload_confirm_message": "Reloading will discard your unsaved changes. Do you want to continue?",
"save": "Save",
"description": "Edit config.yaml via visual editor or source file",
"status_idle": "Waiting for action",
"status_loading": "Loading configuration...",
"status_loading_short": "Loading",
"status_loaded": "Configuration loaded",
@@ -865,10 +744,7 @@
"status_load_failed_short": "Failed",
"status_saving": "Saving configuration...",
"status_saving_short": "Saving",
"status_saved": "Configuration saved",
"status_save_failed": "Save failed",
"save_success": "Configuration saved successfully",
"error_yaml_not_supported": "Server did not return YAML. Verify the /config.yaml endpoint is available.",
"visual_mode_unavailable": "Visual editor unavailable until YAML syntax is fixed",
"visual_mode_unavailable_short": "YAML issue",
"validation_blocked_short": "Fix errors",
@@ -883,8 +759,6 @@
"search_next": "Next",
"diff": {
"title": "Review Changes",
"current": "Current",
"modified": "Modified",
"confirm": "Confirm Save",
"no_changes": "No changes detected"
},
@@ -1174,10 +1048,7 @@
"quota_management": {
"title": "Quota Management",
"description": "Monitor OAuth quota status for Antigravity, Codex, Claude, Kimi, and xAI credentials.",
"refresh_files": "Refresh auth files",
"refresh_files_and_quota": "Refresh files & quota",
"refresh_all_credentials": "Refresh all credentials",
"card_idle_hint": "Use the top \"Refresh all credentials\" button to fetch the latest quota data."
"refresh_all_credentials": "Refresh all credentials"
},
"plugin_management": {
"title": "Plugin Management",
@@ -1205,11 +1076,7 @@
"oauth": "OAuth",
"status_effective": "Effective",
"status_inactive": "Inactive",
"version_label": "Version",
"author_label": "Author",
"path_label": "Path",
"edit_config": "Edit config",
"open_resource": "Open resource",
"open_repository": "Open repository",
"config_title": "Configure {{name}}",
"base_settings": "Base settings",
@@ -1321,7 +1188,6 @@
"gate_step3_hint": "Enter the exact identifier shown above to enable installation."
},
"plugin_resource": {
"title": "Plugin Page",
"page_count": "{{count}} pages",
"load_failed": "Failed to load plugin page",
"unavailable": "Plugin page unavailable",
@@ -1333,27 +1199,13 @@
"system_info": {
"title": "Management Center Info",
"about_title": "CLI Proxy API Management Center",
"connection_status_title": "Connection Status",
"api_status_label": "API Status:",
"config_status_label": "Config Status:",
"last_update_label": "Last Update:",
"cache_data": "Cache Data",
"real_time_data": "Real-time Data",
"not_loaded": "Not Loaded",
"seconds_ago": "seconds ago",
"models_title": "Available Models",
"models_desc": "Shows the /models response and uses saved API keys for auth automatically.",
"models_loading": "Loading available models...",
"models_empty": "No models returned by /models",
"models_error": "Failed to load model list",
"models_count": "{{count}} available models",
"version_check_title": "Update Check",
"version_check_desc": "Call the /latest-version endpoint to compare with the server version and see if an update is available.",
"version_current_label": "Current version",
"version_latest_label": "Latest version",
"version_check_button": "Check for updates",
"version_check_idle": "Click to check for updates",
"version_checking": "Checking for the latest version...",
"version_update_available": "An update is available: {{version}}",
"version_is_latest": "You are on the latest version",
"version_check_error": "Update check failed",
@@ -1373,50 +1225,8 @@
"clear_login_confirm": "Clear local login data and sign out now?"
},
"notification": {
"debug_updated": "Debug settings updated",
"proxy_updated": "Proxy settings updated",
"proxy_cleared": "Proxy settings cleared",
"retry_updated": "Retry settings updated",
"quota_switch_project_updated": "Project switch settings updated",
"quota_switch_preview_updated": "Preview model switch settings updated",
"logging_to_file_updated": "Logging settings updated",
"logs_max_total_size_updated": "Log size limit updated",
"request_log_updated": "Request logging setting updated",
"force_model_prefix_updated": "Model prefix setting updated",
"ws_auth_updated": "WebSocket authentication setting updated",
"routing_strategy_updated": "Routing strategy updated",
"login_storage_cleared": "Local login data cleared",
"api_key_added": "API key added successfully",
"api_key_updated": "API key updated successfully",
"api_key_deleted": "API key deleted successfully",
"api_key_invalid_chars": "API key can only contain letters, numbers, and symbols",
"gemini_key_added": "Gemini key added successfully",
"gemini_key_updated": "Gemini key updated successfully",
"gemini_key_deleted": "Gemini key deleted successfully",
"gemini_multi_input_required": "Please enter at least one Gemini key",
"gemini_multi_failed": "Gemini bulk add failed",
"gemini_multi_summary": "Gemini bulk add finished: {{success}} added, {{skipped}} skipped, {{failed}} failed",
"codex_config_added": "Codex configuration added successfully",
"codex_config_updated": "Codex configuration updated successfully",
"codex_config_deleted": "Codex configuration deleted successfully",
"codex_base_url_required": "Please enter the Codex Base URL",
"claude_config_added": "Claude configuration added successfully",
"claude_config_updated": "Claude configuration updated successfully",
"claude_config_deleted": "Claude configuration deleted successfully",
"vertex_config_added": "Vertex configuration added successfully",
"vertex_config_updated": "Vertex configuration updated successfully",
"vertex_config_deleted": "Vertex configuration deleted successfully",
"config_enabled": "Configuration enabled",
"config_disabled": "Configuration disabled",
"field_required": "Required fields cannot be empty",
"openai_provider_required": "Please fill in provider name and Base URL",
"openai_provider_added": "OpenAI provider added successfully",
"openai_provider_updated": "OpenAI provider updated successfully",
"openai_provider_deleted": "OpenAI provider deleted successfully",
"openai_model_name_required": "Model name is required",
"openai_test_url_required": "Please provide a valid Base URL before testing",
"openai_test_key_required": "Please add at least one API key before testing",
"openai_test_model_required": "Please select a model to test",
"data_refreshed": "Data refreshed successfully",
"connection_required": "Please establish connection first",
"refresh_failed": "Refresh failed",
@@ -1426,13 +1236,6 @@
"upload_failed": "Upload failed",
"download_failed": "Download failed",
"login_failed": "Login failed",
"please_enter": "Please enter",
"please_fill": "Please fill",
"provider_name_url": "provider name and Base URL",
"api_key": "API key",
"gemini_api_key": "Gemini API key",
"codex_api_key": "Codex API key",
"claude_api_key": "Claude API key",
"commercial_mode_restart_required": "Commercial mode setting changed. Please restart the service for it to take effect",
"copy_failed": "Copy failed",
"link_copied": "Link copied to clipboard"
@@ -1449,8 +1252,6 @@
"light": "Wool Paper",
"white": "Pure White",
"dark": "Dark",
"switch_to_light": "Switch to wool paper mode",
"switch_to_dark": "Switch to dark mode",
"auto": "Follow system"
},
"sidebar": {
@@ -1460,16 +1261,14 @@
"footer": {
"api_version": "CLI Proxy API Version",
"build_date": "Build Time",
"version": "Management UI Version",
"author": "Author"
"version": "Management UI Version"
},
"providersPage": {
"header": {
"title": "AI Providers",
"activeResources": "{{active}}/{{total}} active resources",
"providerFamilies": "{{count}} provider families",
"updatedAt": "Updated {{time}}",
"issueCount": "{{count}} issues"
"updatedAt": "Updated {{time}}"
},
"actions": {
"refresh": "Refresh",
@@ -1478,7 +1277,6 @@
"edit": "Edit",
"view": "View",
"delete": "Delete",
"clear": "Clear",
"cancel": "Cancel",
"save": "Save",
"create": "Create",
@@ -1488,8 +1286,7 @@
"categories": {
"title": "Providers",
"quickFill": "Quick Fill",
"activeCount": "{{active}}/{{total}} active",
"sponsors": "Sponsors"
"activeCount": "{{active}}/{{total}} active"
},
"providerNames": {
"gemini": "Gemini",
@@ -1517,8 +1314,7 @@
"cloakTag": "Cloak",
"empty": "No resources yet, click \"New\" to add.",
"filterPlaceholder": "Search keys, URLs, prefixes…",
"description": "Manage resources under {{route}}",
"providerIssue": "This provider has an issue"
"description": "Manage resources under {{route}}"
},
"sponsor": {
"protocolSummary": "Anthropic / OpenAI / Gemini / Codex API (Responses)",
@@ -1626,8 +1422,6 @@
"addModel": "Add model",
"headersSection": "Request headers",
"addHeader": "Add header",
"headers": "Headers",
"headersHint": "One per line, format Key: Value",
"excludedSection": "Excluded models",
"excludedHint": "One model per line; matched models won't be routed",
"cloakSection": "Cloak settings",
@@ -1641,7 +1435,6 @@
"hideApiKey": "Hide API key",
"disableCooling": "Disable cooling",
"disableCoolingHint": "Disable failure cooldown windows only for this credential or provider",
"modelEntry": "Model #{{index}}",
"modelImage": "Allow image endpoints",
"modelImageHint": "Allow this model on /v1/images/generations and /v1/images/edits",
"showAllEntries": "Show all ({{count}})",
+6 -213
View File
@@ -57,7 +57,6 @@
"unsaved_changes_message": "У вас есть несохранённые изменения. Если вы уйдёте, они будут потеряны. Выйти?"
},
"title": {
"main": "Центр управления CLI Proxy API",
"login": "Центр управления CLI Proxy API",
"abbr": "CPAMC"
},
@@ -65,26 +64,18 @@
"title": "CLI Proxy API",
"subtitle": "Центр управления"
},
"auto_login": {
"title": "Автовход...",
"message": "Пытаемся подключиться к серверу, используя сохранённые данные"
},
"login": {
"subtitle": "Введите данные подключения, чтобы получить доступ к панели управления",
"connection_title": "Адрес подключения",
"connection_current": "Текущий URL",
"connection_auto_hint": "Система автоматически использует текущий URL для подключения",
"custom_connection_label": "Пользовательский URL подключения:",
"custom_connection_placeholder": "Напр.: https://example.com:8317",
"custom_connection_hint": "По умолчанию используется текущий URL. При необходимости замените его.",
"use_current_address": "Использовать текущий URL",
"remember_password_label": "Запомнить пароль",
"management_key_label": "Ключ управления:",
"management_key_placeholder": "Введите ключ управления",
"connect_button": "Подключиться",
"submit_button": "Войти",
"submitting": "Подключение...",
"error_title": "Ошибка входа",
"error_backend_detail": "Ответ сервера",
"error_required": "Пожалуйста, заполните все данные подключения",
"error_invalid": "Подключение не удалось, проверьте адрес сервера, Management API и ключ управления",
@@ -98,20 +89,14 @@
"error_ssl": "Ошибка проверки SSL/TLS сертификата"
},
"header": {
"check_connection": "Проверить подключение",
"refresh_all": "Обновить всё",
"logout": "Выйти"
},
"connection": {
"title": "Информация о подключении",
"server_address": "Адрес сервера:",
"management_key": "Ключ управления:",
"status": "Статус подключения:"
},
"nav": {
"dashboard": "Панель",
"basic_settings": "Основные настройки",
"api_keys": "API ключи",
"quick_start": "Быстрый старт",
"ai_providers": "Поставщики AI",
"auth_files": "Файлы аутентификации",
@@ -143,10 +128,6 @@
"system_info": "Состояние и диагностика"
},
"dashboard": {
"title": "Панель управления",
"subtitle": "Добро пожаловать в Центр управления CLI Proxy API",
"openai_providers": "Поставщики OpenAI",
"quick_actions": "Быстрые действия",
"current_config": "Текущая конфигурация",
"management_keys": "Ключи управления",
"provider_keys_detail": "G:{{gemini}} C:{{codex}} Cl:{{claude}} V:{{vertex}} O:{{openai}}",
@@ -170,61 +151,23 @@
"system_overview": "Обзор системы"
},
"basic_settings": {
"title": "Основные настройки",
"debug_title": "Режим отладки",
"debug_enable": "Включить режим отладки",
"proxy_title": "Настройки прокси",
"proxy_url_label": "URL прокси:",
"proxy_url_placeholder": "например: socks5://user:pass@127.0.0.1:1080/",
"proxy_update": "Обновить",
"proxy_clear": "Очистить",
"retry_title": "Повтор запросов",
"retry_count_label": "Количество повторов:",
"retry_update": "Обновить",
"quota_title": "Поведение при превышении квоты",
"quota_switch_project": "Автоматически переключать проект",
"quota_switch_preview": "Переключаться на preview-модель",
"logging_title": "Журналирование",
"logging_to_file_enable": "Включить журналирование в файл",
"logs_max_total_size_title": "Лимит размера журналов",
"logs_max_total_size_label": "Максимальный общий размер журналов (МБ):",
"logs_max_total_size_hint": "Установите 0, чтобы отключить лимит.",
"logs_max_total_size_update": "Обновить",
"request_log_title": "Журналирование запросов",
"request_log_enable": "Включить журналирование запросов",
"request_log_warning": "Оставьте выключенным, если подробная диагностика не нужна.",
"force_model_prefix_enable": "Включить принудительный префикс модели",
"ws_auth_title": "Аутентификация WebSocket",
"ws_auth_enable": "Требовать аутентификацию для /ws/*",
"routing_title": "Стратегия маршрутизации",
"routing_strategy_label": "Стратегия маршрутизации:",
"routing_strategy_hint": "round-robin циклически перебирает ключи; fill-first отдаёт приоритет первому доступному ключу.",
"routing_strategy_update": "Обновить",
"routing_strategy_round_robin": "round-robin (цикл)",
"routing_strategy_fill_first": "fill-first (приоритет)"
},
"api_keys": {
"title": "Управление API-ключами",
"proxy_auth_title": "Ключи аутентификации прокси-сервиса",
"add_button": "Добавить ключ",
"empty_title": "API-ключи отсутствуют",
"empty_desc": "Нажмите кнопку выше, чтобы добавить первый ключ",
"item_title": "API-ключ",
"add_modal_title": "Добавление API-ключа",
"add_modal_key_label": "API-ключ:",
"add_modal_key_placeholder": "Введите API-ключ",
"edit_modal_title": "Редактирование API-ключа",
"edit_modal_key_label": "API-ключ:",
"delete_confirm": "Удалить этот API-ключ?"
},
"auth_files": {
"title": "Управление файлами авторизации",
"title_section": "Файлы авторизации",
"description": "Управляйте всеми JSON-файлами авторизации CLI Proxy (например, Qwen, Gemini, Vertex). Загрузка учётных данных сразу включает соответствующую интеграцию AI.",
"upload_button": "Загрузить файл",
"delete_all_button": "Удалить всё",
"empty_title": "Файлы авторизации отсутствуют",
"empty_desc": "Нажмите кнопку выше, чтобы загрузить первый файл",
"search_empty_title": "Файлы не найдены",
"search_empty_desc": "Попробуйте изменить фильтры или очистить строку поиска.",
"file_size": "Размер",
@@ -233,11 +176,6 @@
"health_status_healthy": "Нормально",
"health_status_warning": "Предупреждение",
"health_status_disabled": "Отключено",
"health_status_unknown": "Неизвестно",
"health_status_no_message": "Нет сообщения о статусе",
"last_refresh_label": "Последнее обновление",
"refresh_not_available": "Н/Д",
"refresh_just_now": "Только что",
"download_button": "Скачать",
"delete_button": "Удалить",
"delete_confirm": "Удалить файл",
@@ -267,7 +205,6 @@
"delete_filtered_result_success": "Удалено файлов авторизации из результатов фильтра: {{count}}",
"delete_filtered_result_partial": "Удаление результатов фильтра завершено: успешных {{success}}, ошибок {{failed}}",
"delete_filtered_result_none": "Нет файлов авторизации для удаления в текущих результатах фильтра",
"files_count": "файлов",
"pagination_prev": "Предыдущая",
"pagination_next": "Следующая",
"pagination_info": "Страница {{current}} / {{total}} · {{count}} файлов",
@@ -278,8 +215,6 @@
"problem_filter_enabled": "Вкл.",
"problem_filter_problem": "Пробл.",
"problem_filter_disabled": "Откл.",
"problem_filter_only": "Показывать только проблемные учётные данные",
"disabled_filter_only": "Показывать только отключённые учётные данные",
"display_options_label": "Параметры отображения",
"compact_mode_label": "Компактный режим",
"sort_label": "Сортировка",
@@ -288,7 +223,6 @@
"sort_priority": "Приоритет",
"priority_display": "Приоритет",
"page_size_label": "На странице",
"page_size_unit": "элементов",
"view_mode_paged": "Постранично",
"view_mode_all": "Показать все",
"too_many_files_warning": "Слишком много учётных данных. Полный список может повлиять на производительность, используйте постраничный режим.",
@@ -305,18 +239,6 @@
"filter_vertex": "Vertex",
"filter_empty": "Пусто",
"filter_unknown": "Другое",
"type_qwen": "Qwen",
"type_gemini": "Gemini",
"type_kimi": "Kimi",
"type_aistudio": "AIStudio",
"type_claude": "Claude",
"type_codex": "Codex",
"type_antigravity": "Antigravity",
"type_xai": "xAI",
"type_iflow": "iFlow",
"type_vertex": "Vertex",
"type_empty": "Пусто",
"type_unknown": "Другое",
"type_virtual": "Виртуальный файл авторизации",
"models_button": "Модели",
"models_title": "Поддерживаемые модели",
@@ -353,21 +275,12 @@
"prefix_proxy_invalid_content_label": "Скачанное содержимое (сокращено)",
"prefix_label": "Префикс (prefix)",
"proxy_url_label": "URL прокси (proxy_url)",
"prefix_placeholder": "",
"proxy_url_placeholder": "socks5://username:password@proxy_ip:port/",
"priority_label": "Приоритет (priority)",
"priority_placeholder": "например: 10 или -1",
"priority_hint": "Только целые числа. Некорректные значения игнорируются. Чем больше число, тем выше приоритет.",
"websockets_label": "WebSockets (websockets)",
"websockets_hint": "Включает websocket-транспорт Responses API для этих учётных данных.",
"codex_websockets_label": "WebSockets (websockets)",
"codex_websockets_hint": "Включает websocket-транспорт Responses API для этих учётных данных Codex.",
"excluded_models_label": "Исключённые модели (excluded_models)",
"excluded_models_placeholder": "Через запятую или с новой строки, например: model-a, gpt-5-*, *-preview",
"excluded_models_hint": "Сохраняется как массив; значения trim/нижний регистр/без дублей/с сортировкой.",
"disable_cooling_label": "Отключение охлаждения (disable_cooling)",
"disable_cooling_placeholder": "например: true / false / 1 / 0",
"disable_cooling_hint": "Поддерживает boolean, числа 0/не 0 и строки true/false/1/0; непарсируемые значения игнорируются.",
"note_label": "Заметка (note)",
"note_placeholder": "Введите заметку, например: аккаунт Ивана",
"note_hint": "Необязательно. Используется для описания назначения или владельца учётных данных; оставьте пустым, чтобы не записывать.",
@@ -375,20 +288,12 @@
"prefix_proxy_invalid_json": "Этот файл авторизации не является JSON-объектом, поэтому поля нельзя редактировать.",
"prefix_proxy_html_challenge": "Скачанное содержимое является HTML-страницей проверки, а не JSON-объектом авторизации. Повторно авторизуйтесь или замените файл перед редактированием полей.",
"prefix_proxy_saved_success": "Файл авторизации \"{{name}}\" успешно обновлён",
"card_tools_title": "Инструменты",
"quota_refresh_single": "Обновить квоту",
"quota_refresh_hint": "Обновить квоту только для этих учётных данных",
"quota_refresh_success": "Квота для \"{{name}}\" обновлена",
"quota_refresh_failed": "Не удалось обновить квоту для \"{{name}}\": {{message}}"
},
"antigravity_subscription": {
"subscription_label": "Подписка",
"plan_badge": "План {{plan}}",
"loading_short": "План...",
"error_badge": "Ошибка плана",
"load_failed": "Не удалось проверить подписку: {{message}}",
"missing_auth_index": "В файле авторизации отсутствует auth_index",
"empty_data": "Данные подписки отсутствуют",
"plan_unknown": "Неизвестно",
"plan_free": "Free",
"plan_pro": "Pro",
@@ -547,10 +452,7 @@
"add": "Добавить отключение",
"add_title": "Добавление отключения моделей для провайдера",
"edit_title": "Редактирование отключения моделей для {{provider}}",
"refresh": "Обновить",
"refreshing": "Обновляется...",
"provider_label": "Провайдер",
"provider_auto": "Следовать текущему фильтру",
"provider_placeholder": "например: codex / openai",
"provider_hint": "По умолчанию используется текущий фильтр; выберите существующего провайдера или введите новое имя.",
"models_label": "Отключаемые модели",
@@ -559,23 +461,16 @@
"models_loaded": "Загружено моделей: {{count}}. Отметьте модели, которые нужно отключить.",
"no_models_available": "Для этого провайдера нет доступных моделей.",
"save": "Сохранить/обновить",
"saving": "Сохранение...",
"save_success": "Отключение моделей обновлено",
"save_failed": "Не удалось обновить отключение моделей",
"delete": "Удалить провайдера",
"delete_confirm": "Удалить отключение моделей для {{provider}}?",
"delete_success": "Отключение моделей провайдера удалено",
"delete_failed": "Не удалось удалить отключение моделей",
"deleting": "Удаление...",
"no_models": "Отключаемые модели не настроены",
"model_count": "Отключено моделей: {{count}}",
"list_empty_all": "Отключений моделей пока нет — используйте \"Добавить отключение\".",
"list_empty_filtered": "В этой области нет отключённых моделей; нажмите \"Добавить отключение\".",
"disconnected": "Подключитесь к серверу, чтобы просматривать отключение моделей",
"load_failed": "Не удалось загрузить отключение моделей",
"provider_required": "Сначала укажите провайдера",
"scope_all": "Область: все провайдеры",
"scope_provider": "Область: {{provider}}",
"upgrade_required": "Текущая версия CPA не поддерживает отключение OAuth-моделей. Пожалуйста, обновите систему.",
"upgrade_required_title": "Пожалуйста, обновите CLI Proxy API",
"upgrade_required_desc": "Текущая версия сервера не поддерживает получение отключения OAuth-моделей. Обновите CPA (CLI Proxy API) до последней версии и повторите попытку."
@@ -635,7 +530,6 @@
"diagram_settings_source_title": "Настройки исходной модели",
"diagram_settings_empty": "Для этого псевдонима ещё нет сопоставлений.",
"diagram_tap_hint": "На сенсорных устройствах: коснитесь исходной модели, затем псевдонима для связывания.",
"view_mode": "Режим просмотра",
"view_mode_diagram": "Диаграмма",
"view_mode_list": "Список",
"provider_required": "Сначала укажите провайдера",
@@ -749,12 +643,6 @@
"failure_short": "✗",
"no_requests": "Нет запросов"
},
"service_health": {
"title": "Состояние сервиса",
"window": "Последние 7 дней",
"oldest": "Старые",
"newest": "Новые"
},
"logs": {
"title": "Просмотр журналов",
"runtime_unknown": "Текущий режим: определяется",
@@ -765,7 +653,6 @@
"fullscreen_button": "На весь экран",
"exit_fullscreen_button": "Выйти из полноэкранного режима",
"download_button": "Скачать журналы",
"error_log_button": "Выбрать журнал ошибок",
"error_logs_modal_title": "Журналы ошибок запросов",
"error_logs_description": "Выберите файл журнала ошибок запроса, чтобы открыть или скачать его (создаётся только при отключённом журналировании запросов).",
"error_logs_home_unavailable": "В режиме Home смотрите журналы базы данных на вкладке содержимого. Файлы ошибок запросов относятся только к файловым журналам CPA.",
@@ -800,8 +687,6 @@
"clear_success": "Журналы успешно очищены",
"download_success": "Журналы успешно скачаны",
"auto_refresh": "Автообновление",
"auto_refresh_enabled": "Автообновление включено",
"auto_refresh_disabled": "Автообновление выключено",
"load_more_hint": "Прокрутите вверх, чтобы загрузить ещё",
"hidden_lines": "Скрыто: {{count}} строк",
"loaded_lines": "Загружено: {{count}} строк",
@@ -827,20 +712,13 @@
"search_empty_desc": "Попробуйте другой запрос или сбросьте фильтры.",
"double_click_copy_hint": "Дважды нажмите, чтобы скопировать строку журнала",
"copy_success": "Строка журнала скопирована",
"copy_failed": "Не удалось скопировать",
"lines": "строк",
"removed": "Отфильтровано",
"upgrade_required_title": "Обновите CLI Proxy API",
"upgrade_required_desc": "Текущая версия сервера не поддерживает просмотр журналов. Обновите CLI Proxy API до последней версии, чтобы использовать эту функцию."
"copy_failed": "Не удалось скопировать"
},
"config_management": {
"title": "Панель конфигурации",
"editor_title": "Файл конфигурации",
"reload": "Перезагрузить",
"reload_confirm_message": "Перезагрузка отбросит ваши несохранённые изменения. Продолжить?",
"save": "Сохранить",
"description": "Редактируйте config.yaml через визуальный редактор или исходный файл",
"status_idle": "Ожидание действия",
"status_loading": "Загрузка конфигурации...",
"status_loading_short": "Загрузка",
"status_loaded": "Конфигурация загружена",
@@ -853,10 +731,7 @@
"status_load_failed_short": "Ошибка",
"status_saving": "Сохранение конфигурации...",
"status_saving_short": "Сохранение",
"status_saved": "Конфигурация сохранена",
"status_save_failed": "Не удалось сохранить",
"save_success": "Конфигурация успешно сохранена",
"error_yaml_not_supported": "Сервер не вернул YAML. Убедитесь, что доступна конечная точка /config.yaml.",
"visual_mode_unavailable": "Визуальный редактор недоступен, пока не исправлен синтаксис YAML",
"visual_mode_unavailable_short": "Ошибка YAML",
"validation_blocked_short": "Есть ошибки",
@@ -871,8 +746,6 @@
"search_next": "Вперёд",
"diff": {
"title": "Обзор изменений",
"current": "Текущая",
"modified": "Изменённая",
"confirm": "Подтвердить",
"no_changes": "Изменений не обнаружено"
},
@@ -1162,10 +1035,7 @@
"quota_management": {
"title": "Управление квотами",
"description": "Следите за статусом квот OAuth для учётных данных Antigravity, Codex, Claude, Kimi и xAI.",
"refresh_files": "Обновить файлы авторизации",
"refresh_files_and_quota": "Обновить файлы и квоты",
"refresh_all_credentials": "Обновить все учётные данные",
"card_idle_hint": "Используйте кнопку «Обновить все учётные данные» сверху, чтобы загрузить актуальные данные по квотам."
"refresh_all_credentials": "Обновить все учётные данные"
},
"plugin_management": {
"title": "Управление плагинами",
@@ -1193,11 +1063,7 @@
"oauth": "OAuth",
"status_effective": "Активен",
"status_inactive": "Неактивен",
"version_label": "Версия",
"author_label": "Автор",
"path_label": "Путь",
"edit_config": "Изменить конфиг",
"open_resource": "Открыть ресурс",
"open_repository": "Открыть репозиторий",
"config_title": "Настроить {{name}}",
"base_settings": "Базовые настройки",
@@ -1311,27 +1177,13 @@
"system_info": {
"title": "Информация о центре управления",
"about_title": "CLI Proxy API Management Center",
"connection_status_title": "Статус подключения",
"api_status_label": "Статус API:",
"config_status_label": "Статус конфигурации:",
"last_update_label": "Последнее обновление:",
"cache_data": "Данные из кэша",
"real_time_data": "Данные в реальном времени",
"not_loaded": "Не загружено",
"seconds_ago": "секунд назад",
"models_title": "Доступные модели",
"models_desc": "Показывает ответ /models и автоматически использует сохранённые API-ключи для авторизации.",
"models_loading": "Загрузка доступных моделей...",
"models_empty": "Сервис /models не вернул модели",
"models_error": "Не удалось загрузить список моделей",
"models_count": "Доступно моделей: {{count}}",
"version_check_title": "Проверка обновлений",
"version_check_desc": "Вызовите эндпоинт /latest-version, чтобы сравнить с версией сервера и узнать о доступных обновлениях.",
"version_current_label": "Текущая версия",
"version_latest_label": "Последняя версия",
"version_check_button": "Проверить обновления",
"version_check_idle": "Нажмите, чтобы проверить обновления",
"version_checking": "Поиск последней версии...",
"version_update_available": "Доступно обновление: {{version}}",
"version_is_latest": "Установлена последняя версия",
"version_check_error": "Не удалось проверить обновление",
@@ -1351,50 +1203,8 @@
"clear_login_confirm": "Очистить локальные данные входа и выйти?"
},
"notification": {
"debug_updated": "Настройки отладки обновлены",
"proxy_updated": "Настройки прокси обновлены",
"proxy_cleared": "Настройки прокси очищены",
"retry_updated": "Настройки повторов обновлены",
"quota_switch_project_updated": "Настройки переключения проектов обновлены",
"quota_switch_preview_updated": "Настройки переключения на preview-модель обновлены",
"logging_to_file_updated": "Настройки журналирования обновлены",
"logs_max_total_size_updated": "Лимит размера журналов обновлён",
"request_log_updated": "Настройка журналирования запросов обновлена",
"force_model_prefix_updated": "Настройка префикса модели обновлена",
"ws_auth_updated": "Настройка аутентификации WebSocket обновлена",
"routing_strategy_updated": "Стратегия маршрутизации обновлена",
"login_storage_cleared": "Локальные данные входа очищены",
"api_key_added": "API-ключ успешно добавлен",
"api_key_updated": "API-ключ успешно обновлён",
"api_key_deleted": "API-ключ успешно удалён",
"api_key_invalid_chars": "API-ключ может содержать только буквы, цифры и символы",
"gemini_key_added": "Ключ Gemini успешно добавлен",
"gemini_key_updated": "Ключ Gemini успешно обновлён",
"gemini_key_deleted": "Ключ Gemini успешно удалён",
"gemini_multi_input_required": "Введите хотя бы один ключ Gemini",
"gemini_multi_failed": "Пакетное добавление Gemini не удалось",
"gemini_multi_summary": "Пакетное добавление Gemini завершено: добавлено {{success}}, пропущено {{skipped}}, ошибок {{failed}}",
"codex_config_added": "Конфигурация Codex успешно добавлена",
"codex_config_updated": "Конфигурация Codex успешно обновлена",
"codex_config_deleted": "Конфигурация Codex успешно удалена",
"codex_base_url_required": "Введите базовый URL Codex",
"claude_config_added": "Конфигурация Claude успешно добавлена",
"claude_config_updated": "Конфигурация Claude успешно обновлена",
"claude_config_deleted": "Конфигурация Claude успешно удалена",
"vertex_config_added": "Конфигурация Vertex успешно добавлена",
"vertex_config_updated": "Конфигурация Vertex успешно обновлена",
"vertex_config_deleted": "Конфигурация Vertex успешно удалена",
"config_enabled": "Конфигурация включена",
"config_disabled": "Конфигурация выключена",
"field_required": "Обязательные поля не могут быть пустыми",
"openai_provider_required": "Заполните имя провайдера и базовый URL",
"openai_provider_added": "Провайдер OpenAI успешно добавлен",
"openai_provider_updated": "Провайдер OpenAI успешно обновлён",
"openai_provider_deleted": "Провайдер OpenAI успешно удалён",
"openai_model_name_required": "Введите имя модели",
"openai_test_url_required": "Укажите корректный базовый URL перед тестированием",
"openai_test_key_required": "Добавьте хотя бы один API-ключ перед тестированием",
"openai_test_model_required": "Выберите модель для теста",
"data_refreshed": "Данные успешно обновлены",
"connection_required": "Сначала установите подключение",
"refresh_failed": "Не удалось обновить",
@@ -1404,13 +1214,6 @@
"upload_failed": "Не удалось загрузить",
"download_failed": "Не удалось скачать",
"login_failed": "Вход не выполнен",
"please_enter": "Пожалуйста, введите",
"please_fill": "Пожалуйста, заполните",
"provider_name_url": "имя провайдера и базовый URL",
"api_key": "API-ключ",
"gemini_api_key": "API-ключ Gemini",
"codex_api_key": "API-ключ Codex",
"claude_api_key": "API-ключ Claude",
"commercial_mode_restart_required": "Режим коммерческого использования изменён. Перезапустите сервис, чтобы применить изменения",
"copy_failed": "Не удалось скопировать",
"link_copied": "Ссылка скопирована в буфер обмена"
@@ -1427,8 +1230,6 @@
"light": "Шерстяная бумага",
"white": "Чисто-белая",
"dark": "Тёмная",
"switch_to_light": "Переключиться на тему «Шерстяная бумага»",
"switch_to_dark": "Переключиться на тёмную тему",
"auto": "Следовать системе"
},
"sidebar": {
@@ -1438,16 +1239,14 @@
"footer": {
"api_version": "Версия CLI Proxy API",
"build_date": "Время сборки",
"version": "Версия интерфейса управления",
"author": "Автор"
"version": "Версия интерфейса управления"
},
"providersPage": {
"header": {
"title": "AI Провайдеры",
"activeResources": "{{active}}/{{total}} активных",
"providerFamilies": "{{count}} семейств",
"updatedAt": "Обновлено {{time}}",
"issueCount": "{{count}} проблем"
"updatedAt": "Обновлено {{time}}"
},
"actions": {
"refresh": "Обновить",
@@ -1456,7 +1255,6 @@
"edit": "Изменить",
"view": "Просмотр",
"delete": "Удалить",
"clear": "Очистить",
"cancel": "Отмена",
"save": "Сохранить",
"create": "Создать",
@@ -1466,8 +1264,7 @@
"categories": {
"title": "Провайдеры",
"quickFill": "Быстрое заполнение",
"activeCount": "{{active}}/{{total}} активных",
"sponsors": "Спонсоры"
"activeCount": "{{active}}/{{total}} активных"
},
"providerNames": {
"gemini": "Gemini",
@@ -1495,8 +1292,7 @@
"cloakTag": "Cloak",
"empty": "Нет ресурсов, нажмите \"Создать\".",
"filterPlaceholder": "Поиск по ключам, URL, префиксам…",
"description": "Управление ресурсами {{route}}",
"providerIssue": "Проблема с провайдером"
"description": "Управление ресурсами {{route}}"
},
"sponsor": {
"protocolSummary": "Anthropic / OpenAI / Gemini / Codex API (Responses)",
@@ -1604,8 +1400,6 @@
"addModel": "Добавить модель",
"headersSection": "Заголовки запроса",
"addHeader": "Добавить заголовок",
"headers": "Заголовки",
"headersHint": "По одному в строке, формат Key: Value",
"excludedSection": "Исключённые модели",
"excludedHint": "По одной модели в строке; совпавшие модели не будут направлены",
"cloakSection": "Настройки Cloak",
@@ -1619,7 +1413,6 @@
"hideApiKey": "Скрыть ключ API",
"disableCooling": "Отключить cooldown",
"disableCoolingHint": "Отключает окна охлаждения после ошибок только для этой записи",
"modelEntry": "Модель #{{index}}",
"modelImage": "Разрешить image endpoints",
"modelImageHint": "Разрешить модель для /v1/images/generations и /v1/images/edits",
"showAllEntries": "Показать все ({{count}})",
+6 -213
View File
@@ -57,7 +57,6 @@
"unsaved_changes_message": "你有未保存的更改,离开后将丢失这些更改。确定要离开吗?"
},
"title": {
"main": "CLI Proxy API Management Center",
"login": "CLI Proxy API Management Center",
"abbr": "CPAMC"
},
@@ -65,26 +64,18 @@
"title": "CLI Proxy API",
"subtitle": "管理中心"
},
"auto_login": {
"title": "正在自动登录...",
"message": "正在使用本地保存的连接信息尝试连接服务器"
},
"login": {
"subtitle": "请输入连接信息以访问管理界面",
"connection_title": "连接地址",
"connection_current": "当前地址",
"connection_auto_hint": "系统将自动使用当前访问地址进行连接",
"custom_connection_label": "自定义连接地址:",
"custom_connection_placeholder": "例如: https://example.com:8317",
"custom_connection_hint": "默认使用当前访问地址,若需要可手动输入其他地址。",
"use_current_address": "使用当前地址",
"remember_password_label": "记住密码",
"management_key_label": "管理密钥:",
"management_key_placeholder": "请输入管理密钥",
"connect_button": "连接",
"submit_button": "登录",
"submitting": "连接中...",
"error_title": "登录失败",
"error_backend_detail": "后端返回",
"error_required": "请填写完整的连接信息",
"error_invalid": "连接失败,请检查服务地址、管理接口和管理密钥",
@@ -98,20 +89,14 @@
"error_ssl": "SSL/TLS 证书验证失败"
},
"header": {
"check_connection": "检查连接",
"refresh_all": "刷新全部",
"logout": "登出"
},
"connection": {
"title": "连接信息",
"server_address": "服务器地址:",
"management_key": "管理密钥:",
"status": "连接状态:"
},
"nav": {
"dashboard": "仪表盘",
"basic_settings": "基础设置",
"api_keys": "API 密钥",
"quick_start": "快速开始",
"ai_providers": "AI 提供商",
"auth_files": "认证文件",
@@ -144,10 +129,6 @@
"system_info": "运行与诊断信息"
},
"dashboard": {
"title": "仪表盘",
"subtitle": "欢迎使用 CLI Proxy API 管理中心",
"openai_providers": "OpenAI 提供商",
"quick_actions": "快捷操作",
"current_config": "当前配置",
"management_keys": "管理密钥",
"provider_keys_detail": "G:{{gemini}} C:{{codex}} Cl:{{claude}} V:{{vertex}} O:{{openai}}",
@@ -171,61 +152,23 @@
"system_overview": "系统概览"
},
"basic_settings": {
"title": "基础设置",
"debug_title": "调试模式",
"debug_enable": "启用调试模式",
"proxy_title": "代理设置",
"proxy_url_label": "代理 URL:",
"proxy_url_placeholder": "例如: socks5://user:pass@127.0.0.1:1080/",
"proxy_update": "更新",
"proxy_clear": "清空",
"retry_title": "请求重试",
"retry_count_label": "重试次数:",
"retry_update": "更新",
"quota_title": "配额超出行为",
"quota_switch_project": "自动切换项目",
"quota_switch_preview": "切换到预览模型",
"logging_title": "日志记录",
"logging_to_file_enable": "启用日志记录到文件",
"logs_max_total_size_title": "日志容量限制",
"logs_max_total_size_label": "日志总大小上限 (MB):",
"logs_max_total_size_hint": "设置为 0 表示不限制。",
"logs_max_total_size_update": "更新",
"request_log_title": "请求日志",
"request_log_enable": "启用请求日志",
"request_log_warning": "仅在需要排查问题时开启,日常请保持关闭。",
"force_model_prefix_enable": "强制模型前缀",
"ws_auth_title": "WebSocket 鉴权",
"ws_auth_enable": "启用 /ws/* 鉴权",
"routing_title": "路由策略",
"routing_strategy_label": "路由策略:",
"routing_strategy_hint": "round-robin 为轮询,fill-first 为优先填充。",
"routing_strategy_update": "更新",
"routing_strategy_round_robin": "round-robin (轮询)",
"routing_strategy_fill_first": "fill-first (优先填充)"
},
"api_keys": {
"title": "API 密钥管理",
"proxy_auth_title": "代理服务认证密钥",
"add_button": "添加密钥",
"empty_title": "暂无API密钥",
"empty_desc": "点击上方按钮添加第一个密钥",
"item_title": "API密钥",
"add_modal_title": "添加API密钥",
"add_modal_key_label": "API密钥:",
"add_modal_key_placeholder": "请输入API密钥",
"edit_modal_title": "编辑API密钥",
"edit_modal_key_label": "API密钥:",
"delete_confirm": "确定要删除这个API密钥吗?"
},
"auth_files": {
"title": "认证文件管理",
"title_section": "认证文件",
"description": "这里集中管理 CLI Proxy 支持的所有 JSON 认证文件(如 Qwen、Gemini、Vertex 等),上传后即可在运行时启用相应的 AI 服务。",
"upload_button": "上传文件",
"delete_all_button": "删除全部",
"empty_title": "暂无认证文件",
"empty_desc": "点击上方按钮上传第一个文件",
"search_empty_title": "没有匹配的配置文件",
"search_empty_desc": "请调整筛选条件或清空搜索关键字再试一次。",
"file_size": "大小",
@@ -234,11 +177,6 @@
"health_status_healthy": "健康",
"health_status_warning": "警告",
"health_status_disabled": "已停用",
"health_status_unknown": "未知",
"health_status_no_message": "暂无状态说明",
"last_refresh_label": "最近刷新",
"refresh_not_available": "暂无",
"refresh_just_now": "刚刚",
"download_button": "下载",
"delete_button": "删除",
"delete_confirm": "确定要删除文件",
@@ -268,7 +206,6 @@
"delete_filtered_result_success": "成功删除 {{count}} 个筛选结果中的认证文件",
"delete_filtered_result_partial": "筛选结果删除完成,成功 {{success}} 个,失败 {{failed}} 个",
"delete_filtered_result_none": "当前筛选结果中没有可删除的认证文件",
"files_count": "个文件",
"pagination_prev": "上一页",
"pagination_next": "下一页",
"pagination_info": "第 {{current}} / {{total}} 页 · 共 {{count}} 个文件",
@@ -279,8 +216,6 @@
"problem_filter_enabled": "启用",
"problem_filter_problem": "问题",
"problem_filter_disabled": "停用",
"problem_filter_only": "仅显示有问题凭证",
"disabled_filter_only": "仅显示已停用凭证",
"display_options_label": "显示选项",
"compact_mode_label": "简略模式",
"sort_label": "排序",
@@ -289,7 +224,6 @@
"sort_priority": "优先级",
"priority_display": "优先级",
"page_size_label": "单页数量",
"page_size_unit": "个/页",
"view_mode_paged": "按页显示",
"view_mode_all": "显示全部",
"too_many_files_warning": "您的凭证总数过多,全部加载会导致页面卡顿,请保持单页浏览。",
@@ -306,18 +240,6 @@
"filter_vertex": "Vertex",
"filter_empty": "空文件",
"filter_unknown": "其他",
"type_qwen": "Qwen",
"type_gemini": "Gemini",
"type_kimi": "Kimi",
"type_aistudio": "AIStudio",
"type_claude": "Claude",
"type_codex": "Codex",
"type_antigravity": "Antigravity",
"type_xai": "xAI",
"type_iflow": "iFlow",
"type_vertex": "Vertex",
"type_empty": "空文件",
"type_unknown": "其他",
"type_virtual": "虚拟认证文件",
"models_button": "模型",
"models_title": "支持的模型",
@@ -354,21 +276,12 @@
"prefix_proxy_invalid_content_label": "下载内容(已截断)",
"prefix_label": "前缀(prefix",
"proxy_url_label": "代理 URLproxy_url",
"prefix_placeholder": "",
"proxy_url_placeholder": "socks5://username:password@proxy_ip:port/",
"priority_label": "优先级(priority",
"priority_placeholder": "例如: 10 或 -1",
"priority_hint": "仅支持整数;非法值会被忽略。数值越大优先级越高。",
"websockets_label": "WebSocketswebsockets",
"websockets_hint": "为该凭证开启 Responses API 的 websocket 传输。",
"codex_websockets_label": "WebSocketswebsockets",
"codex_websockets_hint": "为该 Codex 凭证开启 Responses API 的 websocket 传输。",
"excluded_models_label": "排除模型(excluded_models",
"excluded_models_placeholder": "用逗号或换行分隔,例如: model-a, gpt-5-*, *-preview",
"excluded_models_hint": "保存为数组;会自动 trim、小写、去重并排序。",
"disable_cooling_label": "禁用冷却(disable_cooling",
"disable_cooling_placeholder": "例如: true / false / 1 / 0",
"disable_cooling_hint": "支持布尔值、0/非0 数字或字符串 true/false/1/0;无法解析时忽略。",
"note_label": "备注(note",
"note_placeholder": "输入备注信息,例如:张三的账号",
"note_hint": "可选,用于标记凭证用途或归属;留空则不写入。",
@@ -388,13 +301,6 @@
"quota_refresh_failed": "刷新 \"{{name}}\" 的额度失败:{{message}}"
},
"antigravity_subscription": {
"subscription_label": "订阅",
"plan_badge": "套餐 {{plan}}",
"loading_short": "套餐...",
"error_badge": "套餐错误",
"load_failed": "订阅状态获取失败:{{message}}",
"missing_auth_index": "认证文件缺少 auth_index",
"empty_data": "暂无订阅数据",
"plan_unknown": "未知",
"plan_free": "免费版",
"plan_pro": "Pro",
@@ -559,10 +465,7 @@
"add": "新增禁用",
"add_title": "新增提供商模型禁用",
"edit_title": "编辑 {{provider}} 的模型禁用",
"refresh": "刷新",
"refreshing": "刷新中...",
"provider_label": "提供商",
"provider_auto": "跟随当前过滤",
"provider_placeholder": "例如 codex / openai",
"provider_hint": "默认选中当前筛选的提供商,也可直接输入或选择其他名称。",
"models_label": "禁用的模型",
@@ -571,23 +474,16 @@
"models_loaded": "已加载 {{count}} 个模型,勾选要禁用的模型。",
"no_models_available": "该提供商暂无可用模型列表。",
"save": "保存/更新",
"saving": "正在保存...",
"save_success": "模型禁用已更新",
"save_failed": "更新模型禁用失败",
"delete": "删除提供商",
"delete_confirm": "确定要删除 {{provider}} 的模型禁用吗?",
"delete_success": "已删除该提供商的模型禁用",
"delete_failed": "删除模型禁用失败",
"deleting": "正在删除...",
"no_models": "未配置禁用模型",
"model_count": "禁用 {{count}} 个模型",
"list_empty_all": "暂无任何提供商的模型禁用,点击“新增禁用”创建。",
"list_empty_filtered": "当前筛选下没有禁用项,点击“新增禁用”添加。",
"disconnected": "请先连接服务器以查看模型禁用",
"load_failed": "加载模型禁用失败",
"provider_required": "请先填写提供商名称",
"scope_all": "当前范围:全局(显示所有提供商)",
"scope_provider": "当前范围:{{provider}}",
"upgrade_required": "当前 CPA 版本不支持 OAuth 模型禁用,请升级 CPA 版本",
"upgrade_required_title": "需要升级 CPA 版本",
"upgrade_required_desc": "当前服务器版本不支持获取 OAuth 模型禁用功能,请升级到最新版本的 CPA(CLI Proxy API)后重试。"
@@ -647,7 +543,6 @@
"diagram_settings_source_title": "源模型设置",
"diagram_settings_empty": "该别名暂无映射。",
"diagram_tap_hint": "触摸设备上:先点选源模型,再点选别名即可建立映射。",
"view_mode": "视图模式",
"view_mode_diagram": "概览",
"view_mode_list": "管理",
"provider_required": "请先填写提供商名称",
@@ -761,12 +656,6 @@
"failure_short": "✗",
"no_requests": "无请求"
},
"service_health": {
"title": "服务健康监测",
"window": "最近 7 天",
"oldest": "最早",
"newest": "最新"
},
"logs": {
"title": "日志查看",
"runtime_unknown": "当前运行端:识别中",
@@ -777,7 +666,6 @@
"fullscreen_button": "全屏显示",
"exit_fullscreen_button": "退出全屏",
"download_button": "下载日志",
"error_log_button": "选择错误日志",
"error_logs_modal_title": "错误请求日志",
"error_logs_description": "请选择要打开或下载的错误请求日志文件(仅在关闭请求日志时生成)。",
"error_logs_home_unavailable": "Home 模式下请在日志内容页查看数据库日志,错误请求日志列表仅适用于 CPA 文件日志。",
@@ -812,8 +700,6 @@
"clear_success": "日志已清空",
"download_success": "日志下载成功",
"auto_refresh": "自动刷新",
"auto_refresh_enabled": "自动刷新已开启",
"auto_refresh_disabled": "自动刷新已关闭",
"load_more_hint": "向上滚动加载更多",
"hidden_lines": "已隐藏 {{count}} 行",
"loaded_lines": "已载入 {{count}} 行",
@@ -839,20 +725,13 @@
"search_empty_desc": "尝试更换关键字或清空筛选条件。",
"double_click_copy_hint": "双击复制日志原文",
"copy_success": "已复制日志原文",
"copy_failed": "复制失败",
"lines": "行",
"removed": "已过滤",
"upgrade_required_title": "需要升级 CLI Proxy API",
"upgrade_required_desc": "当前服务器版本不支持日志查看功能,请升级到最新版本的 CLI Proxy API 以使用此功能。"
"copy_failed": "复制失败"
},
"config_management": {
"title": "配置面板",
"editor_title": "配置文件",
"reload": "重新加载",
"reload_confirm_message": "重新加载将丢弃你当前未保存的修改,确定继续吗?",
"save": "保存",
"description": "通过可视化或者源文件方式编辑 config.yaml 配置文件",
"status_idle": "等待操作",
"status_loading": "加载配置中...",
"status_loading_short": "加载中",
"status_loaded": "配置已加载",
@@ -865,10 +744,7 @@
"status_load_failed_short": "失败",
"status_saving": "正在保存配置...",
"status_saving_short": "保存中",
"status_saved": "配置保存完成",
"status_save_failed": "保存失败",
"save_success": "配置已保存",
"error_yaml_not_supported": "服务器未返回 YAML 格式,请确认 /config.yaml 接口可用",
"visual_mode_unavailable": "YAML 语法修复前无法使用可视化编辑",
"visual_mode_unavailable_short": "YAML错误",
"validation_blocked_short": "待修复",
@@ -883,8 +759,6 @@
"search_next": "下一个",
"diff": {
"title": "确认变更",
"current": "当前配置",
"modified": "修改后",
"confirm": "确认保存",
"no_changes": "未检测到变更"
},
@@ -1174,10 +1048,7 @@
"quota_management": {
"title": "配额管理",
"description": "集中查看 OAuth 额度与剩余情况",
"refresh_files": "刷新认证文件",
"refresh_files_and_quota": "刷新认证文件&额度",
"refresh_all_credentials": "刷新全部凭证",
"card_idle_hint": "请使用顶部“刷新全部凭证”按钮获取最新额度。"
"refresh_all_credentials": "刷新全部凭证"
},
"plugin_management": {
"title": "插件管理",
@@ -1205,11 +1076,7 @@
"oauth": "OAuth",
"status_effective": "生效中",
"status_inactive": "未生效",
"version_label": "版本",
"author_label": "作者",
"path_label": "路径",
"edit_config": "编辑配置",
"open_resource": "打开资源",
"open_repository": "打开仓库",
"config_title": "配置 {{name}}",
"base_settings": "基础设置",
@@ -1321,7 +1188,6 @@
"gate_step3_hint": "请输入上方显示的完整标识以启用安装。"
},
"plugin_resource": {
"title": "插件页面",
"page_count": "{{count}} 个页面",
"load_failed": "加载插件页面失败",
"unavailable": "插件页面不可用",
@@ -1333,27 +1199,13 @@
"system_info": {
"title": "管理中心信息",
"about_title": "CLI Proxy API Management Center",
"connection_status_title": "连接状态",
"api_status_label": "API 状态:",
"config_status_label": "配置状态:",
"last_update_label": "最后更新:",
"cache_data": "缓存数据",
"real_time_data": "实时数据",
"not_loaded": "未加载",
"seconds_ago": "秒前",
"models_title": "可用模型列表",
"models_desc": "展示 /models 返回的模型,并自动使用服务器保存的 API Key 进行鉴权。",
"models_loading": "正在加载可用模型...",
"models_empty": "未从 /models 获取到模型数据",
"models_error": "获取模型列表失败",
"models_count": "可用模型 {{count}} 个",
"version_check_title": "版本检查",
"version_check_desc": "调用 /latest-version 接口比对服务器版本,提示是否有可用更新。",
"version_current_label": "当前版本",
"version_latest_label": "最新版本",
"version_check_button": "检查更新",
"version_check_idle": "点击检查更新",
"version_checking": "正在检查最新版本...",
"version_update_available": "有新版本可用:{{version}}",
"version_is_latest": "当前已是最新版本",
"version_check_error": "检查更新失败",
@@ -1373,50 +1225,8 @@
"clear_login_confirm": "确认清理本地登录信息并退出登录?"
},
"notification": {
"debug_updated": "调试设置已更新",
"proxy_updated": "代理设置已更新",
"proxy_cleared": "代理设置已清空",
"retry_updated": "重试设置已更新",
"quota_switch_project_updated": "项目切换设置已更新",
"quota_switch_preview_updated": "预览模型切换设置已更新",
"logging_to_file_updated": "日志记录设置已更新",
"logs_max_total_size_updated": "日志容量设置已更新",
"request_log_updated": "请求日志设置已更新",
"force_model_prefix_updated": "模型前缀设置已更新",
"ws_auth_updated": "WebSocket 鉴权设置已更新",
"routing_strategy_updated": "路由策略已更新",
"login_storage_cleared": "本地登录信息已清理",
"api_key_added": "API密钥添加成功",
"api_key_updated": "API密钥更新成功",
"api_key_deleted": "API密钥删除成功",
"api_key_invalid_chars": "API密钥仅支持英文字母、数字和符号",
"gemini_key_added": "Gemini密钥添加成功",
"gemini_key_updated": "Gemini密钥更新成功",
"gemini_key_deleted": "Gemini密钥删除成功",
"gemini_multi_input_required": "请先输入至少一个Gemini密钥",
"gemini_multi_failed": "Gemini密钥批量添加失败",
"gemini_multi_summary": "Gemini批量添加完成:成功 {{success}},跳过 {{skipped}},失败 {{failed}}",
"codex_config_added": "Codex配置添加成功",
"codex_config_updated": "Codex配置更新成功",
"codex_config_deleted": "Codex配置删除成功",
"codex_base_url_required": "请填写Codex Base URL",
"claude_config_added": "Claude配置添加成功",
"claude_config_updated": "Claude配置更新成功",
"claude_config_deleted": "Claude配置删除成功",
"vertex_config_added": "Vertex配置添加成功",
"vertex_config_updated": "Vertex配置更新成功",
"vertex_config_deleted": "Vertex配置删除成功",
"config_enabled": "配置已启用",
"config_disabled": "配置已停用",
"field_required": "必填字段不能为空",
"openai_provider_required": "请填写提供商名称和Base URL",
"openai_provider_added": "OpenAI提供商添加成功",
"openai_provider_updated": "OpenAI提供商更新成功",
"openai_provider_deleted": "OpenAI提供商删除成功",
"openai_model_name_required": "请填写模型名称",
"openai_test_url_required": "请先填写有效的 Base URL 以进行测试",
"openai_test_key_required": "请至少填写一个 API 密钥以进行测试",
"openai_test_model_required": "请选择要测试的模型",
"data_refreshed": "数据刷新成功",
"connection_required": "请先建立连接",
"refresh_failed": "刷新失败",
@@ -1426,13 +1236,6 @@
"upload_failed": "上传失败",
"download_failed": "下载失败",
"login_failed": "登录失败",
"please_enter": "请输入",
"please_fill": "请填写",
"provider_name_url": "提供商名称和Base URL",
"api_key": "API密钥",
"gemini_api_key": "Gemini API密钥",
"codex_api_key": "Codex API密钥",
"claude_api_key": "Claude API密钥",
"commercial_mode_restart_required": "商业模式开关已变更,请重启服务后生效",
"copy_failed": "复制失败",
"link_copied": "已复制"
@@ -1449,8 +1252,6 @@
"light": "羊毛纸",
"white": "纯白",
"dark": "暗色",
"switch_to_light": "切换到羊毛纸模式",
"switch_to_dark": "切换到暗色模式",
"auto": "跟随系统"
},
"sidebar": {
@@ -1460,16 +1261,14 @@
"footer": {
"api_version": "CLI Proxy API 版本",
"build_date": "构建时间",
"version": "管理中心版本",
"author": "作者"
"version": "管理中心版本"
},
"providersPage": {
"header": {
"title": "AI 提供商",
"activeResources": "{{active}}/{{total}} 个活跃资源",
"providerFamilies": "{{count}} 个提供商家族",
"updatedAt": "更新于 {{time}}",
"issueCount": "{{count}} 个问题"
"updatedAt": "更新于 {{time}}"
},
"actions": {
"refresh": "刷新",
@@ -1478,7 +1277,6 @@
"edit": "编辑",
"view": "查看",
"delete": "删除",
"clear": "清空",
"cancel": "取消",
"save": "保存",
"create": "创建",
@@ -1488,8 +1286,7 @@
"categories": {
"title": "提供商",
"quickFill": "快速填入",
"activeCount": "{{active}}/{{total}} 活跃",
"sponsors": "赞助商"
"activeCount": "{{active}}/{{total}} 活跃"
},
"providerNames": {
"gemini": "Gemini",
@@ -1517,8 +1314,7 @@
"cloakTag": "Cloak",
"empty": "尚未添加配置,点击右上角新建。",
"filterPlaceholder": "搜索密钥、地址、前缀…",
"description": "在 {{route}} 下管理资源",
"providerIssue": "此提供商存在问题"
"description": "在 {{route}} 下管理资源"
},
"sponsor": {
"protocolSummary": "Anthropic / OpenAI / Gemini / Codex API (Responses)",
@@ -1626,8 +1422,6 @@
"addModel": "添加模型",
"headersSection": "请求头",
"addHeader": "添加请求头",
"headers": "请求头",
"headersHint": "每行一条,格式 Key: Value",
"excludedSection": "排除模型",
"excludedHint": "每行一个模型名,匹配后将不会被路由到此提供商",
"cloakSection": "Cloak 配置",
@@ -1641,7 +1435,6 @@
"hideApiKey": "隐藏密钥",
"disableCooling": "禁用冷却调度",
"disableCoolingHint": "仅对当前凭据或提供商禁用失败后的冷却窗口",
"modelEntry": "模型 #{{index}}",
"modelImage": "允许图片端点",
"modelImageHint": "允许该模型用于 /v1/images/generations 和 /v1/images/edits",
"showAllEntries": "显示全部({{count}}",
+6 -213
View File
@@ -57,7 +57,6 @@
"unsaved_changes_message": "你有未儲存的變更,離開後將遺失這些變更。確定要離開嗎?"
},
"title": {
"main": "CLI Proxy API Management Center",
"login": "CLI Proxy API Management Center",
"abbr": "CPAMC"
},
@@ -65,26 +64,18 @@
"title": "CLI Proxy API",
"subtitle": "管理中心"
},
"auto_login": {
"title": "正在自動登入...",
"message": "正在使用本地儲存的連線資訊嘗試連線伺服器"
},
"login": {
"subtitle": "請輸入連線資訊以存取管理介面",
"connection_title": "連線位址",
"connection_current": "目前位址",
"connection_auto_hint": "系統將自動使用目前存取位址進行連線",
"custom_connection_label": "自訂連線位址:",
"custom_connection_placeholder": "例如: https://example.com:8317",
"custom_connection_hint": "預設使用目前存取位址,若需要可手動輸入其他位址。",
"use_current_address": "使用目前位址",
"remember_password_label": "記住密碼",
"management_key_label": "管理金鑰:",
"management_key_placeholder": "請輸入管理金鑰",
"connect_button": "連線",
"submit_button": "登入",
"submitting": "連線中...",
"error_title": "登入失敗",
"error_backend_detail": "後端返回",
"error_required": "請填寫完整的連線資訊",
"error_invalid": "連線失敗,請檢查服務位址、管理介面和管理金鑰",
@@ -98,20 +89,14 @@
"error_ssl": "SSL/TLS 憑證驗證失敗"
},
"header": {
"check_connection": "檢查連線",
"refresh_all": "全部重新整理",
"logout": "登出"
},
"connection": {
"title": "連線資訊",
"server_address": "伺服器位址:",
"management_key": "管理金鑰:",
"status": "連線狀態:"
},
"nav": {
"dashboard": "儀表板",
"basic_settings": "基本設定",
"api_keys": "API 金鑰",
"quick_start": "快速開始",
"ai_providers": "AI 供應商",
"auth_files": "驗證檔案",
@@ -144,10 +129,6 @@
"system_info": "運行與診斷資訊"
},
"dashboard": {
"title": "儀表板",
"subtitle": "歡迎使用 CLI Proxy API 管理中心",
"openai_providers": "OpenAI 供應商",
"quick_actions": "快速操作",
"current_config": "目前設定",
"management_keys": "管理金鑰",
"provider_keys_detail": "G:{{gemini}} C:{{codex}} Cl:{{claude}} V:{{vertex}} O:{{openai}}",
@@ -171,61 +152,23 @@
"system_overview": "系統概覽"
},
"basic_settings": {
"title": "基本設定",
"debug_title": "除錯模式",
"debug_enable": "啟用除錯模式",
"proxy_title": "代理設定",
"proxy_url_label": "代理 URL:",
"proxy_url_placeholder": "例如: socks5://user:pass@127.0.0.1:1080/",
"proxy_update": "更新",
"proxy_clear": "清空",
"retry_title": "請求重試",
"retry_count_label": "重試次數:",
"retry_update": "更新",
"quota_title": "配額超出行為",
"quota_switch_project": "自動切換專案",
"quota_switch_preview": "切換到預覽模型",
"logging_title": "記錄",
"logging_to_file_enable": "啟用記錄到檔案",
"logs_max_total_size_title": "記錄容量限制",
"logs_max_total_size_label": "記錄總大小上限(MB:",
"logs_max_total_size_hint": "設定為 0 表示不限制。",
"logs_max_total_size_update": "更新",
"request_log_title": "請求記錄",
"request_log_enable": "啟用請求記錄",
"request_log_warning": "僅在需要排查問題時開啟,日常請保持關閉。",
"force_model_prefix_enable": "強制模型前綴",
"ws_auth_title": "WebSocket 驗證",
"ws_auth_enable": "啟用 /ws/* 驗證",
"routing_title": "路由策略",
"routing_strategy_label": "路由策略:",
"routing_strategy_hint": "round-robin 為輪詢,fill-first 為優先填充。",
"routing_strategy_update": "更新",
"routing_strategy_round_robin": "round-robin(輪詢)",
"routing_strategy_fill_first": "fill-first(優先填充)"
},
"api_keys": {
"title": "API 金鑰管理",
"proxy_auth_title": "代理服務驗證金鑰",
"add_button": "新增金鑰",
"empty_title": "暫無 API 金鑰",
"empty_desc": "點擊上方按鈕新增第一個金鑰",
"item_title": "API 金鑰",
"add_modal_title": "新增 API 金鑰",
"add_modal_key_label": "API 金鑰:",
"add_modal_key_placeholder": "請輸入 API 金鑰",
"edit_modal_title": "編輯 API 金鑰",
"edit_modal_key_label": "API 金鑰:",
"delete_confirm": "確定要刪除這個 API 金鑰嗎?"
},
"auth_files": {
"title": "驗證檔案管理",
"title_section": "驗證檔案",
"description": "這裡集中管理 CLI Proxy 支援的所有 JSON 驗證檔案(如 Qwen、Gemini、Vertex 等),上傳後即可在執行時啟用對應的 AI 服務。",
"upload_button": "上傳檔案",
"delete_all_button": "刪除全部",
"empty_title": "暫無驗證檔案",
"empty_desc": "點擊上方按鈕上傳第一個檔案",
"search_empty_title": "沒有符合的設定檔",
"search_empty_desc": "請調整篩選條件或清空搜尋關鍵字再試一次。",
"file_size": "大小",
@@ -234,11 +177,6 @@
"health_status_healthy": "健康",
"health_status_warning": "警告",
"health_status_disabled": "已停用",
"health_status_unknown": "未知",
"health_status_no_message": "暫無狀態說明",
"last_refresh_label": "最近重新整理",
"refresh_not_available": "暫無",
"refresh_just_now": "剛剛",
"download_button": "下載",
"delete_button": "刪除",
"delete_confirm": "確定要刪除檔案",
@@ -268,7 +206,6 @@
"delete_filtered_result_success": "成功刪除 {{count}} 個篩選結果中的驗證檔案",
"delete_filtered_result_partial": "篩選結果刪除完成,成功 {{success}} 個,失敗 {{failed}} 個",
"delete_filtered_result_none": "目前篩選結果中沒有可刪除的驗證檔案",
"files_count": "個檔案",
"pagination_prev": "上一頁",
"pagination_next": "下一頁",
"pagination_info": "第 {{current}} / {{total}} 頁 · 共 {{count}} 個檔案",
@@ -279,8 +216,6 @@
"problem_filter_enabled": "啟用",
"problem_filter_problem": "問題",
"problem_filter_disabled": "停用",
"problem_filter_only": "僅顯示有問題憑證",
"disabled_filter_only": "僅顯示已停用憑證",
"display_options_label": "顯示選項",
"compact_mode_label": "簡略模式",
"sort_label": "排序",
@@ -289,7 +224,6 @@
"sort_priority": "優先順序",
"priority_display": "優先順序",
"page_size_label": "單頁數量",
"page_size_unit": "個/頁",
"view_mode_paged": "分頁顯示",
"view_mode_all": "顯示全部",
"too_many_files_warning": "您的憑證總數過多,全部載入會導致頁面卡頓,請保持分頁瀏覽。",
@@ -306,18 +240,6 @@
"filter_vertex": "Vertex",
"filter_empty": "空檔案",
"filter_unknown": "其他",
"type_qwen": "Qwen",
"type_gemini": "Gemini",
"type_kimi": "Kimi",
"type_aistudio": "AIStudio",
"type_claude": "Claude",
"type_codex": "Codex",
"type_antigravity": "Antigravity",
"type_xai": "xAI",
"type_iflow": "iFlow",
"type_vertex": "Vertex",
"type_empty": "空檔案",
"type_unknown": "其他",
"type_virtual": "虛擬驗證檔案",
"models_button": "模型",
"models_title": "支援的模型",
@@ -354,21 +276,12 @@
"prefix_proxy_invalid_content_label": "下載內容(已截斷)",
"prefix_label": "前綴(prefix",
"proxy_url_label": "代理 URLproxy_url",
"prefix_placeholder": "",
"proxy_url_placeholder": "socks5://username:password@proxy_ip:port/",
"priority_label": "優先順序(priority",
"priority_placeholder": "例如: 10 或 -1",
"priority_hint": "僅支援整數;無效值會被忽略。數值越大優先順序越高。",
"websockets_label": "WebSocketswebsockets",
"websockets_hint": "為該憑證開啟 Responses API 的 websocket 傳輸。",
"codex_websockets_label": "WebSocketswebsockets",
"codex_websockets_hint": "為該 Codex 憑證開啟 Responses API 的 websocket 傳輸。",
"excluded_models_label": "排除模型(excluded_models",
"excluded_models_placeholder": "用逗號或換行分隔,例如: model-a, gpt-5-*, *-preview",
"excluded_models_hint": "儲存為陣列;會自動 trim、小寫、去重並排序。",
"disable_cooling_label": "停用冷卻(disable_cooling",
"disable_cooling_placeholder": "例如: true / false / 1 / 0",
"disable_cooling_hint": "支援布林值、0/非0 數字或字串 true/false/1/0;無法解析時忽略。",
"note_label": "備註(note",
"note_placeholder": "輸入備註資訊,例如:張三的帳號",
"note_hint": "選填,用於標記憑證用途或歸屬;留空則不寫入。",
@@ -388,13 +301,6 @@
"quota_refresh_failed": "重新整理「{{name}}」的配額失敗:{{message}}"
},
"antigravity_subscription": {
"subscription_label": "訂閱",
"plan_badge": "方案 {{plan}}",
"loading_short": "方案...",
"error_badge": "方案錯誤",
"load_failed": "訂閱狀態取得失敗:{{message}}",
"missing_auth_index": "驗證檔案缺少 auth_index",
"empty_data": "暫無訂閱資料",
"plan_unknown": "未知",
"plan_free": "免費版",
"plan_pro": "Pro",
@@ -559,10 +465,7 @@
"add": "新增停用",
"add_title": "新增供應商模型停用",
"edit_title": "編輯 {{provider}} 的模型停用",
"refresh": "重新整理",
"refreshing": "重新整理中...",
"provider_label": "供應商",
"provider_auto": "跟隨目前篩選",
"provider_placeholder": "例如 codex / openai",
"provider_hint": "預設選取目前篩選的供應商,也可直接輸入或選擇其他名稱。",
"models_label": "停用的模型",
@@ -571,23 +474,16 @@
"models_loaded": "已載入 {{count}} 個模型,勾選要停用的模型。",
"no_models_available": "該供應商暫無可用模型清單。",
"save": "儲存/更新",
"saving": "正在儲存...",
"save_success": "模型停用已更新",
"save_failed": "更新模型停用失敗",
"delete": "刪除供應商",
"delete_confirm": "確定要刪除 {{provider}} 的模型停用嗎?",
"delete_success": "已刪除該供應商的模型停用",
"delete_failed": "刪除模型停用失敗",
"deleting": "正在刪除...",
"no_models": "未設定停用模型",
"model_count": "停用 {{count}} 個模型",
"list_empty_all": "暫無任何供應商的模型停用,點擊「新增停用」建立。",
"list_empty_filtered": "目前篩選下沒有停用項,點擊「新增停用」新增。",
"disconnected": "請先連線伺服器以查看模型停用",
"load_failed": "載入模型停用失敗",
"provider_required": "請先填寫供應商名稱",
"scope_all": "目前範圍:全域(顯示所有供應商)",
"scope_provider": "目前範圍:{{provider}}",
"upgrade_required": "目前 CPA 版本不支援 OAuth 模型停用,請升級 CPA 版本",
"upgrade_required_title": "需要升級 CPA 版本",
"upgrade_required_desc": "目前伺服器版本不支援取得 OAuth 模型停用功能,請升級到最新版本的 CPA(CLI Proxy API)後重試。"
@@ -647,7 +543,6 @@
"diagram_settings_source_title": "來源模型設定",
"diagram_settings_empty": "該別名暫無映射。",
"diagram_tap_hint": "觸控設備上:先點選來源模型,再點選別名即可建立映射。",
"view_mode": "檢視模式",
"view_mode_diagram": "概覽",
"view_mode_list": "管理",
"provider_required": "請先填寫供應商名稱",
@@ -787,12 +682,6 @@
"failure_short": "✗",
"no_requests": "無請求"
},
"service_health": {
"title": "服務健康監測",
"window": "最近 7 天",
"oldest": "最早",
"newest": "最新"
},
"logs": {
"title": "記錄檢視",
"runtime_unknown": "目前執行端:識別中",
@@ -803,7 +692,6 @@
"fullscreen_button": "全螢幕顯示",
"exit_fullscreen_button": "退出全螢幕",
"download_button": "下載記錄",
"error_log_button": "選擇錯誤記錄",
"error_logs_modal_title": "錯誤請求記錄",
"error_logs_description": "請選擇要開啟或下載的錯誤請求記錄檔案(僅在關閉請求記錄時產生)。",
"error_logs_home_unavailable": "Home 模式下請在記錄內容頁查看資料庫記錄,錯誤請求記錄清單僅適用於 CPA 檔案記錄。",
@@ -838,8 +726,6 @@
"clear_success": "記錄已清空",
"download_success": "記錄下載成功",
"auto_refresh": "自動重新整理",
"auto_refresh_enabled": "自動重新整理已開啟",
"auto_refresh_disabled": "自動重新整理已關閉",
"load_more_hint": "向上滾動載入更多",
"hidden_lines": "已隱藏 {{count}} 行",
"loaded_lines": "已載入 {{count}} 行",
@@ -865,20 +751,13 @@
"search_empty_desc": "嘗試更換關鍵字或清空篩選條件。",
"double_click_copy_hint": "雙擊複製記錄原文",
"copy_success": "已複製記錄原文",
"copy_failed": "複製失敗",
"lines": "行",
"removed": "已篩選",
"upgrade_required_title": "需要升級 CLI Proxy API",
"upgrade_required_desc": "目前伺服器版本不支援記錄檢視功能,請升級到最新版本的 CLI Proxy API 以使用此功能。"
"copy_failed": "複製失敗"
},
"config_management": {
"title": "設定面板",
"editor_title": "設定檔",
"reload": "重新載入",
"reload_confirm_message": "重新載入將捨棄你目前未儲存的修改,確定繼續嗎?",
"save": "儲存",
"description": "透過視覺化或原始檔方式編輯 config.yaml 設定檔",
"status_idle": "等待操作",
"status_loading": "載入設定中...",
"status_loading_short": "載入中",
"status_loaded": "設定已載入",
@@ -891,10 +770,7 @@
"status_load_failed_short": "失敗",
"status_saving": "正在儲存設定...",
"status_saving_short": "儲存中",
"status_saved": "設定儲存完成",
"status_save_failed": "儲存失敗",
"save_success": "設定已儲存",
"error_yaml_not_supported": "伺服器未回傳 YAML 格式,請確認 /config.yaml 介面可用",
"visual_mode_unavailable": "YAML 語法修復前無法使用視覺化編輯",
"visual_mode_unavailable_short": "YAML 錯誤",
"validation_blocked_short": "待修復",
@@ -909,8 +785,6 @@
"search_next": "下一個",
"diff": {
"title": "確認變更",
"current": "目前設定",
"modified": "修改後",
"confirm": "確認儲存",
"no_changes": "未偵測到變更"
},
@@ -1200,10 +1074,7 @@
"quota_management": {
"title": "配額管理",
"description": "集中查看 OAuth 配額與剩餘情況",
"refresh_files": "重新整理驗證檔案",
"refresh_files_and_quota": "重新整理驗證檔案&配額",
"refresh_all_credentials": "重新整理全部憑證",
"card_idle_hint": "請使用頂部「重新整理全部憑證」按鈕取得最新配額。"
"refresh_all_credentials": "重新整理全部憑證"
},
"plugin_management": {
"title": "插件管理",
@@ -1231,11 +1102,7 @@
"oauth": "OAuth",
"status_effective": "生效中",
"status_inactive": "未生效",
"version_label": "版本",
"author_label": "作者",
"path_label": "路徑",
"edit_config": "編輯設定",
"open_resource": "開啟資源",
"open_repository": "開啟倉庫",
"config_title": "設定 {{name}}",
"base_settings": "基礎設定",
@@ -1347,7 +1214,6 @@
"gate_step3_hint": "請輸入上方顯示的完整識別碼以啟用安裝。"
},
"plugin_resource": {
"title": "插件頁面",
"page_count": "{{count}} 個頁面",
"load_failed": "載入插件頁面失敗",
"unavailable": "插件頁面不可用",
@@ -1359,27 +1225,13 @@
"system_info": {
"title": "管理中心資訊",
"about_title": "CLI Proxy API Management Center",
"connection_status_title": "連線狀態",
"api_status_label": "API 狀態:",
"config_status_label": "設定狀態:",
"last_update_label": "最後更新:",
"cache_data": "快取資料",
"real_time_data": "即時資料",
"not_loaded": "未載入",
"seconds_ago": "秒前",
"models_title": "可用模型清單",
"models_desc": "展示 /models 回傳的模型,並自動使用伺服器儲存的 API Key 進行驗證。",
"models_loading": "正在載入可用模型...",
"models_empty": "未從 /models 取得到模型資料",
"models_error": "取得模型清單失敗",
"models_count": "可用模型 {{count}} 個",
"version_check_title": "版本檢查",
"version_check_desc": "呼叫 /latest-version 介面比對伺服器版本,提示是否有可用更新。",
"version_current_label": "目前版本",
"version_latest_label": "最新版本",
"version_check_button": "檢查更新",
"version_check_idle": "點擊檢查更新",
"version_checking": "正在檢查最新版本...",
"version_update_available": "有新版本可用:{{version}}",
"version_is_latest": "目前已是最新版本",
"version_check_error": "檢查更新失敗",
@@ -1399,50 +1251,8 @@
"clear_login_confirm": "確認清理本地登入資訊並登出?"
},
"notification": {
"debug_updated": "除錯設定已更新",
"proxy_updated": "代理設定已更新",
"proxy_cleared": "代理設定已清空",
"retry_updated": "重試設定已更新",
"quota_switch_project_updated": "專案切換設定已更新",
"quota_switch_preview_updated": "預覽模型切換設定已更新",
"logging_to_file_updated": "記錄設定已更新",
"logs_max_total_size_updated": "記錄容量設定已更新",
"request_log_updated": "請求記錄設定已更新",
"force_model_prefix_updated": "模型前綴設定已更新",
"ws_auth_updated": "WebSocket 驗證設定已更新",
"routing_strategy_updated": "路由策略已更新",
"login_storage_cleared": "本地登入資訊已清理",
"api_key_added": "API 金鑰新增成功",
"api_key_updated": "API 金鑰更新成功",
"api_key_deleted": "API 金鑰刪除成功",
"api_key_invalid_chars": "API 金鑰僅支援英文字母、數字和符號",
"gemini_key_added": "Gemini 金鑰新增成功",
"gemini_key_updated": "Gemini 金鑰更新成功",
"gemini_key_deleted": "Gemini 金鑰刪除成功",
"gemini_multi_input_required": "請先輸入至少一個 Gemini 金鑰",
"gemini_multi_failed": "Gemini 金鑰批次新增失敗",
"gemini_multi_summary": "Gemini 批次新增完成:成功 {{success}},跳過 {{skipped}},失敗 {{failed}}",
"codex_config_added": "Codex 設定新增成功",
"codex_config_updated": "Codex 設定更新成功",
"codex_config_deleted": "Codex 設定刪除成功",
"codex_base_url_required": "請填寫 Codex Base URL",
"claude_config_added": "Claude 設定新增成功",
"claude_config_updated": "Claude 設定更新成功",
"claude_config_deleted": "Claude 設定刪除成功",
"vertex_config_added": "Vertex 設定新增成功",
"vertex_config_updated": "Vertex 設定更新成功",
"vertex_config_deleted": "Vertex 設定刪除成功",
"config_enabled": "設定已啟用",
"config_disabled": "設定已停用",
"field_required": "必填欄位不能為空",
"openai_provider_required": "請填寫供應商名稱和 Base URL",
"openai_provider_added": "OpenAI 供應商新增成功",
"openai_provider_updated": "OpenAI 供應商更新成功",
"openai_provider_deleted": "OpenAI 供應商刪除成功",
"openai_model_name_required": "請填寫模型名稱",
"openai_test_url_required": "請先填寫有效的 Base URL 以進行測試",
"openai_test_key_required": "請至少填寫一個 API 金鑰以進行測試",
"openai_test_model_required": "請選擇要測試的模型",
"data_refreshed": "資料重新整理成功",
"connection_required": "請先建立連線",
"refresh_failed": "重新整理失敗",
@@ -1452,13 +1262,6 @@
"upload_failed": "上傳失敗",
"download_failed": "下載失敗",
"login_failed": "登入失敗",
"please_enter": "請輸入",
"please_fill": "請填寫",
"provider_name_url": "供應商名稱和 Base URL",
"api_key": "API 金鑰",
"gemini_api_key": "Gemini API 金鑰",
"codex_api_key": "Codex API 金鑰",
"claude_api_key": "Claude API 金鑰",
"commercial_mode_restart_required": "商業模式開關已變更,請重啟服務後生效",
"copy_failed": "複製失敗",
"link_copied": "已複製"
@@ -1475,8 +1278,6 @@
"light": "羊毛紙",
"white": "純白",
"dark": "深色",
"switch_to_light": "切換到羊毛紙模式",
"switch_to_dark": "切換到深色模式",
"auto": "跟隨系統"
},
"sidebar": {
@@ -1486,16 +1287,14 @@
"footer": {
"api_version": "CLI Proxy API 版本",
"build_date": "建置時間",
"version": "管理中心版本",
"author": "作者"
"version": "管理中心版本"
},
"providersPage": {
"header": {
"title": "AI 提供商",
"activeResources": "{{active}}/{{total}} 個活躍資源",
"providerFamilies": "{{count}} 個提供商家族",
"updatedAt": "更新於 {{time}}",
"issueCount": "{{count}} 個問題"
"updatedAt": "更新於 {{time}}"
},
"actions": {
"refresh": "重新整理",
@@ -1504,7 +1303,6 @@
"edit": "編輯",
"view": "檢視",
"delete": "刪除",
"clear": "清空",
"cancel": "取消",
"save": "儲存",
"create": "建立",
@@ -1514,8 +1312,7 @@
"categories": {
"title": "提供商",
"quickFill": "快速填入",
"activeCount": "{{active}}/{{total}} 活躍",
"sponsors": "贊助商"
"activeCount": "{{active}}/{{total}} 活躍"
},
"providerNames": {
"gemini": "Gemini",
@@ -1543,8 +1340,7 @@
"cloakTag": "Cloak",
"empty": "尚未新增設定,點擊右上角新增。",
"filterPlaceholder": "搜尋金鑰、位址、前綴…",
"description": "在 {{route}} 下管理資源",
"providerIssue": "此提供商存在問題"
"description": "在 {{route}} 下管理資源"
},
"sponsor": {
"protocolSummary": "Anthropic / OpenAI / Gemini / Codex API (Responses)",
@@ -1652,8 +1448,6 @@
"addModel": "新增模型",
"headersSection": "請求標頭",
"addHeader": "新增請求標頭",
"headers": "請求標頭",
"headersHint": "每行一條,格式 Key: Value",
"excludedSection": "排除模型",
"excludedHint": "每行一個模型名稱,匹配後將不會被路由到此提供商",
"cloakSection": "Cloak 設定",
@@ -1667,7 +1461,6 @@
"hideApiKey": "隱藏金鑰",
"disableCooling": "停用冷卻調度",
"disableCoolingHint": "僅對目前憑證或提供商停用失敗後的冷卻視窗",
"modelEntry": "模型 #{{index}}",
"modelImage": "允許圖片端點",
"modelImageHint": "允許該模型用於 /v1/images/generations 和 /v1/images/edits",
"showAllEntries": "顯示全部({{count}}",