mirror of
https://github.com/router-for-me/Cli-Proxy-API-Management-Center.git
synced 2026-08-30 17:56:18 +08:00
chore(i18n): remove orphan locale keys
This commit is contained in:
+6
-213
@@ -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
@@ -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
@@ -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": "代理 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": "为该凭证开启 Responses API 的 websocket 传输。",
|
||||
"codex_websockets_label": "WebSockets(websockets)",
|
||||
"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
@@ -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": "代理 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": "為該憑證開啟 Responses API 的 websocket 傳輸。",
|
||||
"codex_websockets_label": "WebSockets(websockets)",
|
||||
"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}})",
|
||||
|
||||
Reference in New Issue
Block a user