{
  "common": {
    "login": "Login",
    "logout": "Logout",
    "cancel": "Cancel",
    "confirm": "Confirm",
    "save": "Save",
    "delete": "Delete",
    "edit": "Edit",
    "add": "Add",
    "update": "Update",
    "refresh": "Refresh",
    "close": "Close",
    "success": "Success",
    "error": "Error",
    "info": "Info",
    "warning": "Warning",
    "loading": "Loading...",
    "connecting": "Connecting...",
    "connected": "Connected",
    "disconnected": "Disconnected",
    "connecting_status": "Connecting",
    "connected_status": "Connected",
    "disconnected_status": "Disconnected",
    "yes": "Yes",
    "no": "No",
    "not_set": "Not set",
    "optional": "Optional",
    "required": "Required",
    "api_key": "Key",
    "base_url": "Address",
    "prefix": "Prefix",
    "proxy_url": "Proxy",
    "alias": "Alias",
    "failure": "Failure",
    "unknown_error": "Unknown error",
    "quota_update_required": "Please update the CPA version or check for updates",
    "quota_check_credential": "Please check the credential status",
    "copy": "Copy",
    "custom_headers_label": "Custom Headers",
    "custom_headers_hint": "Optional HTTP headers to send with the request. Leave blank to remove.",
    "custom_headers_add": "Add Header",
    "custom_headers_key_placeholder": "Header name, e.g. X-Custom-Header",
    "custom_headers_value_placeholder": "Header value",
    "model_name_placeholder": "Model name, e.g. claude-3-5-sonnet-20241022",
    "model_alias_placeholder": "Model alias (optional)"
  },
  "title": {
    "main": "CLI Proxy API Management Center",
    "login": "CLI Proxy API Management Center",
    "abbr": "CPAMC"
  },
  "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_required": "Please fill in complete connection information",
    "error_invalid": "Connection failed, please check address and key"
  },
  "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",
    "ai_providers": "AI Providers",
    "auth_files": "Auth Files",
    "oauth": "OAuth Login",
    "quota_management": "Quota Management",
    "usage_stats": "Usage Statistics",
    "config_management": "Config Management",
    "logs": "Logs Viewer",
    "system_info": "Management Center Info",
    "monitor": "Monitor Center"
  },
  "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}} O:{{openai}}",
    "oauth_credentials": "OAuth Credentials",
    "usage_overview": "Usage Overview",
    "total_requests": "Total Requests",
    "total_tokens": "Total Tokens",
    "rpm_30min": "RPM (30min)",
    "tpm_30min": "TPM (30min)",
    "models_used": "Models Used",
    "no_usage_data": "No usage data available",
    "view_detailed_usage": "View Detailed Stats",
    "edit_settings": "Edit Settings",
    "available_models": "Available Models",
    "available_models_desc": "Total models from all providers"
  },
  "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",
    "usage_statistics_title": "Usage Statistics",
    "usage_statistics_enable": "Enable usage statistics",
    "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?"
  },
  "ai_providers": {
    "title": "AI Providers Configuration",
    "gemini_title": "Gemini API Keys",
    "gemini_add_button": "Add Key",
    "gemini_empty_title": "No Gemini Keys",
    "gemini_empty_desc": "Click the button above to add the first key",
    "gemini_item_title": "Gemini Key",
    "gemini_add_modal_title": "Add Gemini API Key",
    "gemini_add_modal_key_label": "API Keys:",
    "gemini_add_modal_key_placeholder": "Enter Gemini API key",
    "gemini_add_modal_key_hint": "Add keys one by one and optionally specify a Base URL.",
    "gemini_keys_add_btn": "Add Key",
    "gemini_base_url_label": "Base URL (Optional):",
    "gemini_base_url_placeholder": "e.g.: https://generativelanguage.googleapis.com",
    "gemini_edit_modal_title": "Edit Gemini API Key",
    "gemini_edit_modal_key_label": "API Key:",
    "gemini_delete_confirm": "Are you sure you want to delete this Gemini key?",
    "excluded_models_label": "Excluded models (optional):",
    "excluded_models_placeholder": "Comma or newline separated, e.g. gemini-1.5-pro, gemini-1.5-flash",
    "excluded_models_hint": "Leave empty to allow all models; values are trimmed and deduplicated automatically.",
    "excluded_models_count": "Excluding {{count}} models",
    "prefix_label": "Prefix (Optional):",
    "prefix_placeholder": "e.g.: team-a",
    "prefix_hint": "When set, call models as prefix/<model> to target this entry.",
    "config_toggle_label": "Enabled",
    "config_disabled_badge": "Disabled",
    "codex_title": "Codex API Configuration",
    "codex_add_button": "Add Configuration",
    "codex_empty_title": "No Codex Configuration",
    "codex_empty_desc": "Click the button above to add the first configuration",
    "codex_item_title": "Codex Configuration",
    "codex_add_modal_title": "Add Codex API Configuration",
    "codex_add_modal_key_label": "API Key:",
    "codex_add_modal_key_placeholder": "Please enter Codex API key",
    "codex_add_modal_url_label": "Base URL (Required):",
    "codex_add_modal_url_placeholder": "e.g.: https://api.example.com",
    "codex_add_modal_proxy_label": "Proxy URL (Optional):",
    "codex_add_modal_proxy_placeholder": "e.g.: socks5://proxy.example.com:1080",
    "codex_edit_modal_title": "Edit Codex API Configuration",
    "codex_edit_modal_key_label": "API Key:",
    "codex_edit_modal_url_label": "Base URL (Required):",
    "codex_edit_modal_proxy_label": "Proxy URL (Optional):",
    "codex_delete_confirm": "Are you sure you want to delete this Codex configuration?",
    "claude_title": "Claude API Configuration",
    "claude_add_button": "Add Configuration",
    "claude_empty_title": "No Claude Configuration",
    "claude_empty_desc": "Click the button above to add the first configuration",
    "claude_item_title": "Claude Configuration",
    "claude_add_modal_title": "Add Claude API Configuration",
    "claude_add_modal_key_label": "API Key:",
    "claude_add_modal_key_placeholder": "Please enter Claude API key",
    "claude_add_modal_url_label": "Base URL (Optional):",
    "claude_add_modal_url_placeholder": "e.g.: https://api.anthropic.com",
    "claude_add_modal_proxy_label": "Proxy URL (Optional):",
    "claude_add_modal_proxy_placeholder": "e.g.: socks5://proxy.example.com:1080",
    "claude_edit_modal_title": "Edit Claude API Configuration",
    "claude_edit_modal_key_label": "API Key:",
    "claude_edit_modal_url_label": "Base URL (Optional):",
    "claude_edit_modal_proxy_label": "Proxy URL (Optional):",
    "claude_delete_confirm": "Are you sure you want to delete this Claude configuration?",
    "claude_models_label": "Custom Models (Optional):",
    "claude_models_hint": "Leave empty to allow all models, or add name[, alias] entries to limit/alias them.",
    "claude_models_add_btn": "Add Model",
    "claude_models_count": "Models Count",
    "vertex_title": "Vertex API Configuration",
    "vertex_add_button": "Add Configuration",
    "vertex_empty_title": "No Vertex Configuration",
    "vertex_empty_desc": "Click the button above to add the first configuration",
    "vertex_item_title": "Vertex Configuration",
    "vertex_add_modal_title": "Add Vertex API Configuration",
    "vertex_add_modal_key_label": "API Key:",
    "vertex_add_modal_key_placeholder": "Please enter Vertex API key",
    "vertex_add_modal_url_label": "Base URL (Required):",
    "vertex_add_modal_url_placeholder": "e.g.: https://example.com/api",
    "vertex_add_modal_proxy_label": "Proxy URL (Optional):",
    "vertex_add_modal_proxy_placeholder": "e.g.: socks5://proxy.example.com:1080",
    "vertex_edit_modal_title": "Edit Vertex API Configuration",
    "vertex_edit_modal_key_label": "API Key:",
    "vertex_edit_modal_url_label": "Base URL (Required):",
    "vertex_edit_modal_proxy_label": "Proxy URL (Optional):",
    "vertex_delete_confirm": "Are you sure you want to delete this Vertex configuration?",
    "vertex_models_label": "Model mappings (alias required):",
    "vertex_models_add_btn": "Add Mapping",
    "vertex_models_hint": "Each mapping needs both the original model and its alias.",
    "vertex_models_count": "Mapping count",
    "ampcode_title": "Amp CLI Integration (ampcode)",
    "ampcode_modal_title": "Configure Ampcode",
    "ampcode_upstream_url_label": "Upstream URL",
    "ampcode_upstream_url_placeholder": "e.g. https://ampcode.com",
    "ampcode_upstream_url_hint": "Optional. Leave empty to use the default/auto-discovered control plane URL.",
    "ampcode_upstream_api_key_label": "Upstream API Key (Amp Official)",
    "ampcode_upstream_api_key_placeholder": "Enter sk-amp... (leave empty to keep current)",
    "ampcode_upstream_api_key_hint": "Optional. Leaving it empty will not change the current Amp official key. Use the button below to clear it.",
    "ampcode_upstream_api_key_current": "Current Amp official key: {{key}}",
    "ampcode_clear_upstream_api_key": "Clear official key",
    "ampcode_clear_upstream_api_key_confirm": "Are you sure you want to clear the Ampcode upstream API key (Amp official)?",
    "ampcode_force_model_mappings_label": "Force model mappings",
    "ampcode_force_model_mappings_hint": "When enabled, mappings override local API-key availability checks.",
    "ampcode_model_mappings_label": "Model mappings (from → to)",
    "ampcode_model_mappings_hint": "Rewrites model names in Amp requests. Leave empty to disable mappings.",
    "ampcode_model_mappings_add_btn": "Add mapping",
    "ampcode_model_mappings_from_placeholder": "from model (source)",
    "ampcode_model_mappings_to_placeholder": "to model (target)",
    "ampcode_model_mappings_count": "Mappings Count",
    "ampcode_mappings_overwrite_confirm": "Existing mappings could not be loaded. Continuing may overwrite or clear them. Continue?",
    "openai_title": "OpenAI Compatible Providers",
    "openai_add_button": "Add Provider",
    "openai_empty_title": "No OpenAI Compatible Providers",
    "openai_empty_desc": "Click the button above to add the first provider",
    "openai_add_modal_title": "Add OpenAI Compatible Provider",
    "openai_add_modal_name_label": "Provider Name:",
    "openai_add_modal_name_placeholder": "e.g.: openrouter",
    "openai_add_modal_url_label": "Base URL:",
    "openai_add_modal_url_placeholder": "e.g.: https://openrouter.ai/api/v1",
    "openai_add_modal_keys_label": "API Keys",
    "openai_edit_modal_keys_label": "API Keys",
    "openai_keys_hint": "Add each key separately with an optional proxy URL to keep things organized.",
    "openai_keys_add_btn": "Add Key",
    "openai_key_placeholder": "sk-... key",
    "openai_proxy_placeholder": "Optional proxy URL (e.g. socks5://...)",
    "openai_add_modal_models_label": "Model List (name[, alias] one per line):",
    "openai_models_hint": "Example: gpt-4o-mini or moonshotai/kimi-k2:free, kimi-k2",
    "openai_model_name_placeholder": "Model name, e.g. moonshotai/kimi-k2:free",
    "openai_model_alias_placeholder": "Model alias (optional)",
    "openai_models_add_btn": "Add Model",
    "openai_models_fetch_button": "Fetch via /v1/models",
    "openai_models_fetch_title": "Pick Models from /v1/models",
    "openai_models_fetch_hint": "Call the /v1/models endpoint using the Base URL above, sending the first API key as Bearer plus custom headers.",
    "openai_models_fetch_url_label": "Request URL",
    "openai_models_fetch_refresh": "Refresh",
    "openai_models_fetch_loading": "Fetching models from /v1/models...",
    "openai_models_fetch_empty": "No models returned. Please check the endpoint or auth.",
    "openai_models_fetch_error": "Failed to fetch models",
    "openai_models_fetch_back": "Back to edit",
    "openai_models_fetch_apply": "Add selected models",
    "openai_models_search_label": "Search models",
    "openai_models_search_placeholder": "Filter by name, alias, or description",
    "openai_models_search_empty": "No models match your search. Try a different keyword.",
    "openai_models_fetch_invalid_url": "Please enter a valid Base URL first",
    "openai_models_fetch_added": "{{count}} new models added",
    "openai_edit_modal_title": "Edit OpenAI Compatible Provider",
    "openai_edit_modal_name_label": "Provider Name:",
    "openai_edit_modal_url_label": "Base URL:",
    "openai_edit_modal_models_label": "Model List (name[, alias] one per line):",
    "openai_delete_confirm": "Are you sure you want to delete this OpenAI provider?",
    "openai_keys_count": "Keys Count",
    "openai_models_count": "Models Count",
    "openai_test_title": "Connection Test",
    "openai_test_hint": "Send a /v1/chat/completions request with the current settings to verify availability.",
    "openai_test_model_placeholder": "Model to test",
    "openai_test_action": "Run Test",
    "openai_test_running": "Sending test request...",
    "openai_test_timeout": "Test request timed out after {{seconds}} seconds.",
    "openai_test_success": "Test succeeded. The model responded.",
    "openai_test_failed": "Test failed",
    "openai_test_select_placeholder": "Choose from current models",
    "openai_test_select_empty": "No models configured. Add models first",
    "search_placeholder": "Search configs (keys, URLs, models...)",
    "search_empty_title": "No matching configs",
    "search_empty_desc": "Try a different keyword or clear the search box"
  },
  "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",
    "file_modified": "Modified",
    "download_button": "Download",
    "delete_button": "Delete",
    "delete_confirm": "Are you sure you want to delete file",
    "delete_all_confirm": "Are you sure you want to delete all auth files? This operation cannot be undone!",
    "delete_filtered_confirm": "Are you sure you want to delete all {{type}} auth files? This operation cannot be undone!",
    "upload_error_json": "Only JSON files are allowed",
    "upload_error_size": "File size cannot exceed {{maxSize}}",
    "upload_success": "File uploaded successfully",
    "download_success": "File downloaded successfully",
    "delete_success": "File deleted successfully",
    "delete_all_success": "Successfully deleted",
    "delete_filtered_success": "Deleted {{count}} {{type}} auth files successfully",
    "delete_filtered_partial": "{{type}} auth files deletion finished: {{success}} succeeded, {{failed}} failed",
    "delete_filtered_none": "No deletable auth files under the current filter ({{type}})",
    "files_count": "files",
    "pagination_prev": "Previous",
    "pagination_next": "Next",
    "pagination_info": "Page {{current}} / {{total}} · {{count}} files",
    "search_label": "Search configs",
    "search_placeholder": "Filter by name, type, or provider",
    "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.",
    "filter_all": "All",
    "filter_qwen": "Qwen",
    "filter_gemini": "Gemini",
    "filter_gemini-cli": "GeminiCLI",
    "filter_aistudio": "AIStudio",
    "filter_claude": "Claude",
    "filter_codex": "Codex",
    "filter_antigravity": "Antigravity",
    "filter_iflow": "iFlow",
    "filter_vertex": "Vertex",
    "filter_empty": "Empty",
    "filter_unknown": "Other",
    "type_qwen": "Qwen",
    "type_gemini": "Gemini",
    "type_gemini-cli": "GeminiCLI",
    "type_aistudio": "AIStudio",
    "type_claude": "Claude",
    "type_codex": "Codex",
    "type_antigravity": "Antigravity",
    "type_iflow": "iFlow",
    "type_vertex": "Vertex",
    "type_empty": "Empty",
    "type_unknown": "Other",
    "type_virtual": "Virtual auth file",
    "models_button": "Models",
    "models_title": "Supported models",
    "models_loading": "Loading model list...",
    "models_empty": "No available models for this credential",
    "models_empty_desc": "This credential may not be loaded by the server yet, or no models are bound to it.",
    "models_unsupported": "This feature is not supported in the current version",
    "models_unsupported_desc": "Please update CLI Proxy API to the latest version and try again",
    "models_excluded_badge": "Excluded",
    "models_excluded_hint": "This model is excluded by OAuth"
  },
  "antigravity_quota": {
    "title": "Antigravity Quota",
    "empty_title": "No Antigravity Auth Files",
    "empty_desc": "Upload an Antigravity credential to view remaining quota.",
    "idle": "Not loaded. Click Refresh Button.",
    "loading": "Loading quota...",
    "load_failed": "Failed to load quota: {{message}}",
    "missing_auth_index": "Auth file missing auth_index",
    "empty_models": "No quota data available",
    "refresh_button": "Refresh Quota",
    "fetch_all": "Fetch All"
  },
  "codex_quota": {
    "title": "Codex Quota",
    "empty_title": "No Codex Auth Files",
    "empty_desc": "Upload a Codex credential to view quota.",
    "idle": "Not loaded. Click Refresh Button.",
    "loading": "Loading quota...",
    "load_failed": "Failed to load quota: {{message}}",
    "missing_auth_index": "Auth file missing auth_index",
    "missing_account_id": "Codex credential missing ChatGPT account ID",
    "empty_windows": "No quota data available",
    "no_access": "This credential has no Codex access (plan: free).",
    "refresh_button": "Refresh Quota",
    "fetch_all": "Fetch All",
    "primary_window": "5-hour limit",
    "secondary_window": "Weekly limit",
    "code_review_window": "Code review limit",
    "plan_label": "Plan",
    "plan_plus": "Plus",
    "plan_team": "Team",
    "plan_free": "Free"
  },
  "gemini_cli_quota": {
    "title": "Gemini CLI Quota",
    "empty_title": "No Gemini CLI Auth Files",
    "empty_desc": "Upload a Gemini CLI credential to view remaining quota.",
    "idle": "Not loaded. Click Refresh Button.",
    "loading": "Loading quota...",
    "load_failed": "Failed to load quota: {{message}}",
    "missing_auth_index": "Auth file missing auth_index",
    "missing_project_id": "Gemini CLI credential missing project ID",
    "empty_buckets": "No quota data available",
    "refresh_button": "Refresh Quota",
    "fetch_all": "Fetch All",
    "remaining_amount": "Remaining {{count}}"
  },
  "vertex_import": {
    "title": "Vertex JSON Login",
    "description": "Upload a Google service account JSON to store it as auth-dir/vertex-<project>.json using the same rules as the CLI vertex-import helper.",
    "location_label": "Region (optional)",
    "location_placeholder": "us-central1",
    "location_hint": "Leave empty to use the default region us-central1.",
    "file_label": "Service account key JSON",
    "file_hint": "Only Google Cloud service account key JSON files are accepted.",
    "file_placeholder": "No file selected",
    "choose_file": "Choose File",
    "import_button": "Import Vertex Credential",
    "file_required": "Select a .json credential file first",
    "success": "Vertex credential imported successfully",
    "result_title": "Credential saved",
    "result_project": "Project ID",
    "result_email": "Service account",
    "result_location": "Region",
    "result_file": "Persisted file"
  },
  "oauth_excluded": {
    "title": "OAuth Excluded Models",
    "description": "Per-provider exclusions are shown as cards; click edit to adjust. Wildcards * are supported and the scope follows the auth file filter.",
    "add": "Add Exclusion",
    "add_title": "Add provider exclusion",
    "edit_title": "Edit exclusions for {{provider}}",
    "refresh": "Refresh",
    "refreshing": "Refreshing...",
    "provider_label": "Provider",
    "provider_auto": "Follow current filter",
    "provider_placeholder": "e.g. gemini-cli",
    "provider_hint": "Defaults to the current filter; pick an existing provider or type a new name.",
    "models_label": "Models to exclude",
    "models_placeholder": "gpt-4.1-mini\n*-preview",
    "models_hint": "Separate by commas or new lines; saving an empty list removes that provider. * wildcards are supported.",
    "save": "Save/Update",
    "saving": "Saving...",
    "save_success": "Excluded models updated",
    "save_failed": "Failed to update excluded models",
    "delete": "Delete Provider",
    "delete_confirm": "Delete the exclusion list for {{provider}}?",
    "delete_success": "Exclusion list removed",
    "delete_failed": "Failed to delete exclusion list",
    "deleting": "Deleting...",
    "no_models": "No excluded models",
    "model_count": "{{count}} models excluded",
    "list_empty_all": "No exclusions yet—use “Add Exclusion” to create one.",
    "list_empty_filtered": "No exclusions in this scope; click “Add Exclusion” to add.",
    "disconnected": "Connect to the server to view exclusions",
    "load_failed": "Failed to load exclusion list",
    "provider_required": "Please enter a provider first",
    "scope_all": "Scope: All providers",
    "scope_provider": "Scope: {{provider}}",
    "upgrade_required": "This feature requires a newer CLI Proxy API (CPA) version. Please upgrade.",
    "upgrade_required_title": "Please upgrade CLI Proxy API",
    "upgrade_required_desc": "The current server does not support the OAuth excluded models API. Please upgrade to the latest CLI Proxy API (CPA) version."
  },
  "oauth_model_mappings": {
    "title": "OAuth Model Mappings",
    "add": "Add Mapping",
    "add_title": "Add provider model mappings",
    "provider_label": "Provider",
    "provider_placeholder": "e.g. gemini-cli / vertex",
    "provider_hint": "Defaults to the current filter; pick an existing provider or type a new name.",
    "mappings_label": "Model mappings",
    "mapping_name_placeholder": "Source model name",
    "mapping_alias_placeholder": "Alias (required)",
    "mapping_fork_label": "Keep original",
    "mappings_hint": "Saving an empty list removes that provider. Enable “Keep original” to keep the original name while adding the alias.",
    "add_mapping": "Add mapping",
    "save": "Save/Update",
    "save_success": "Model mappings updated",
    "save_failed": "Failed to update model mappings",
    "delete": "Delete Provider",
    "delete_confirm": "Delete model mappings for {{provider}}?",
    "delete_success": "Model mappings removed",
    "delete_failed": "Failed to delete model mappings",
    "no_models": "No model mappings",
    "model_count": "{{count}} mappings",
    "list_empty_all": "No model mappings yet—use “Add Mapping” to create one.",
    "provider_required": "Please enter a provider first",
    "upgrade_required": "This feature requires a newer CLI Proxy API (CPA) version. Please upgrade.",
    "upgrade_required_title": "Please upgrade CLI Proxy API",
    "upgrade_required_desc": "The current server does not support the OAuth model mappings API. Please upgrade to the latest CLI Proxy API (CPA) version."
  },
  "auth_login": {
    "codex_oauth_title": "Codex OAuth",
    "codex_oauth_button": "Start Codex Login",
    "codex_oauth_hint": "Login to Codex service through OAuth flow, automatically obtain and save authentication files.",
    "codex_oauth_url_label": "Authorization URL:",
    "codex_open_link": "Open Link",
    "codex_copy_link": "Copy Link",
    "codex_oauth_status_waiting": "Waiting for authentication...",
    "codex_oauth_status_success": "Authentication successful!",
    "codex_oauth_status_error": "Authentication failed:",
    "codex_oauth_start_error": "Failed to start Codex OAuth:",
    "codex_oauth_polling_error": "Failed to check authentication status:",
    "anthropic_oauth_title": "Anthropic OAuth",
    "anthropic_oauth_button": "Start Anthropic Login",
    "anthropic_oauth_hint": "Login to Anthropic (Claude) service through OAuth flow, automatically obtain and save authentication files.",
    "anthropic_oauth_url_label": "Authorization URL:",
    "anthropic_open_link": "Open Link",
    "anthropic_copy_link": "Copy Link",
    "anthropic_oauth_status_waiting": "Waiting for authentication...",
    "anthropic_oauth_status_success": "Authentication successful!",
    "anthropic_oauth_status_error": "Authentication failed:",
    "anthropic_oauth_start_error": "Failed to start Anthropic OAuth:",
    "anthropic_oauth_polling_error": "Failed to check authentication status:",
    "antigravity_oauth_title": "Antigravity OAuth",
    "antigravity_oauth_button": "Start Antigravity Login",
    "antigravity_oauth_hint": "Login to Antigravity service (Google account) through OAuth flow, automatically obtain and save authentication files.",
    "antigravity_oauth_url_label": "Authorization URL:",
    "antigravity_open_link": "Open Link",
    "antigravity_copy_link": "Copy Link",
    "antigravity_oauth_status_waiting": "Waiting for authentication...",
    "antigravity_oauth_status_success": "Authentication successful!",
    "antigravity_oauth_status_error": "Authentication failed:",
    "antigravity_oauth_start_error": "Failed to start Antigravity OAuth:",
    "antigravity_oauth_polling_error": "Failed to check authentication status:",
    "gemini_cli_oauth_title": "Gemini CLI OAuth",
    "gemini_cli_oauth_button": "Start Gemini CLI Login",
    "gemini_cli_oauth_hint": "Login to Google Gemini CLI service through OAuth flow, automatically obtain and save authentication files.",
    "gemini_cli_project_id_label": "Google Cloud Project ID (Optional):",
    "gemini_cli_project_id_placeholder": "Leave blank to auto-select first available project",
    "gemini_cli_project_id_hint": "Optional. If not provided, the system will automatically select the first available project from your account.",
    "gemini_cli_project_id_required": "Please enter a Google Cloud project ID.",
    "gemini_cli_oauth_url_label": "Authorization URL:",
    "gemini_cli_open_link": "Open Link",
    "gemini_cli_copy_link": "Copy Link",
    "gemini_cli_oauth_status_waiting": "Waiting for authentication...",
    "gemini_cli_oauth_status_success": "Authentication successful!",
    "gemini_cli_oauth_status_error": "Authentication failed:",
    "gemini_cli_oauth_start_error": "Failed to start Gemini CLI OAuth:",
    "gemini_cli_oauth_polling_error": "Failed to check authentication status:",
    "qwen_oauth_title": "Qwen OAuth",
    "qwen_oauth_button": "Start Qwen Login",
    "qwen_oauth_hint": "Login to Qwen service through device authorization flow, automatically obtain and save authentication files.",
    "qwen_oauth_url_label": "Authorization URL:",
    "qwen_open_link": "Open Link",
    "qwen_copy_link": "Copy Link",
    "qwen_oauth_status_waiting": "Waiting for authentication...",
    "qwen_oauth_status_success": "Authentication successful!",
    "qwen_oauth_status_error": "Authentication failed:",
    "qwen_oauth_start_error": "Failed to start Qwen OAuth:",
    "qwen_oauth_polling_error": "Failed to check authentication status:",
    "oauth_callback_label": "Callback URL",
    "oauth_callback_placeholder": "http://localhost:1455/auth/callback?code=...&state=...",
    "oauth_callback_hint": "Remote browser mode: after the provider redirects to http://localhost:..., copy the full URL and submit it here.",
    "oauth_callback_button": "Submit Callback URL",
    "oauth_callback_required": "Please paste the full redirect URL first.",
    "oauth_callback_success": "Callback URL submitted. Continue waiting for authentication.",
    "oauth_callback_error": "Failed to submit callback URL:",
    "oauth_callback_upgrade_hint": "Please update CLI Proxy API or check the connection.",
    "oauth_callback_status_success": "Callback URL submitted, waiting for authentication...",
    "oauth_callback_status_error": "Callback URL submission failed:",
    "missing_state": "Unable to retrieve authentication state parameter",
    "iflow_oauth_title": "iFlow OAuth",
    "iflow_oauth_button": "Start iFlow Login",
    "iflow_oauth_hint": "Login to iFlow service through OAuth flow, automatically obtain and save authentication files.",
    "iflow_oauth_url_label": "Authorization URL:",
    "iflow_open_link": "Open Link",
    "iflow_copy_link": "Copy Link",
    "iflow_oauth_status_waiting": "Waiting for authentication...",
    "iflow_oauth_status_success": "Authentication successful!",
    "iflow_oauth_status_error": "Authentication failed:",
    "iflow_oauth_start_error": "Failed to start iFlow OAuth:",
    "iflow_oauth_polling_error": "Failed to check authentication status:",
    "iflow_cookie_title": "iFlow Cookie Login",
    "iflow_cookie_label": "Cookie Value:",
    "iflow_cookie_placeholder": "Enter the BXAuth value, starting with BXAuth=",
    "iflow_cookie_hint": "Submit an existing cookie to finish login without opening the authorization link; the credential file will be saved automatically.",
    "iflow_cookie_key_hint": "Note: Create a key on the platform first.",
    "iflow_cookie_button": "Submit Cookie Login",
    "iflow_cookie_status_success": "Cookie login succeeded and credentials are saved.",
    "iflow_cookie_status_error": "Cookie login failed:",
    "iflow_cookie_status_duplicate": "Duplicate config:",
    "iflow_cookie_start_error": "Failed to submit cookie login:",
    "iflow_cookie_config_duplicate": "A config file already exists (duplicate). Remove the existing file and try again if you want to re-save it.",
    "iflow_cookie_required": "Please provide the Cookie value first.",
    "iflow_cookie_result_title": "Cookie Login Result",
    "iflow_cookie_result_email": "Account",
    "iflow_cookie_result_expired": "Expires At",
    "iflow_cookie_result_path": "Saved Path",
    "iflow_cookie_result_type": "Type",
    "remote_access_disabled": "This login method is not available for remote access. Please access from localhost."
  },
  "usage_stats": {
    "title": "Usage Statistics",
    "total_requests": "Total Requests",
    "success_requests": "Success Requests",
    "failed_requests": "Failed Requests",
    "total_tokens": "Total Tokens",
    "cached_tokens": "Cached Tokens",
    "reasoning_tokens": "Reasoning Tokens",
    "rpm_30m": "RPM",
    "tpm_30m": "TPM",
    "rate_30m": "Rate (last 30 min)",
    "model_name": "Model Name",
    "model_price_settings": "Model Pricing Settings",
    "saved_prices": "Saved Prices",
    "requests_trend": "Request Trends",
    "tokens_trend": "Token Usage Trends",
    "api_details": "API Details",
    "by_hour": "By Hour",
    "by_day": "By Day",
    "refresh": "Refresh",
    "export": "Export",
    "import": "Import",
    "export_success": "Usage export downloaded",
    "import_success": "Import complete: added {{added}}, skipped {{skipped}}, total {{total}}, failed {{failed}}",
    "import_invalid": "Invalid usage export file",
    "chart_line_label_1": "Line 1",
    "chart_line_label_2": "Line 2",
    "chart_line_label_3": "Line 3",
    "chart_line_label_4": "Line 4",
    "chart_line_label_5": "Line 5",
    "chart_line_label_6": "Line 6",
    "chart_line_label_7": "Line 7",
    "chart_line_label_8": "Line 8",
    "chart_line_label_9": "Line 9",
    "chart_line_hidden": "Hide",
    "chart_line_actions_label": "Lines to display",
    "chart_line_add": "Add line",
    "chart_line_all": "All",
    "chart_line_delete": "Delete line",
    "chart_line_hint": "Show up to 9 model lines at once",
    "no_data": "No Data Available",
    "loading_error": "Loading Failed",
    "api_endpoint": "API Endpoint",
    "requests_count": "Request Count",
    "tokens_count": "Token Count",
    "models": "Model Statistics",
    "success_rate": "Success Rate",
    "total_cost": "Total Cost",
    "total_cost_hint": "Based on configured model pricing",
    "model_price_title": "Model Pricing",
    "model_price_reset": "Clear Prices",
    "model_price_model_label": "Model",
    "model_price_select_placeholder": "Choose a model",
    "model_price_select_hint": "Models come from usage details",
    "model_price_prompt": "Prompt price",
    "model_price_completion": "Completion price",
    "model_price_cache": "Cache price",
    "model_price_save": "Save Price",
    "model_price_empty": "No model prices set",
    "model_price_model": "Model",
    "model_price_saved": "Model price saved",
    "model_price_model_required": "Please choose a model to set pricing",
    "cost_trend": "Cost Overview",
    "cost_axis_label": "Cost ($)",
    "cost_need_price": "Set a model price to view cost stats",
    "cost_need_usage": "No usage data available to calculate cost",
    "cost_no_data": "No cost data yet"
  },
  "stats": {
    "success": "Success",
    "failure": "Failure"
  },
  "logs": {
    "title": "Logs Viewer",
    "refresh_button": "Refresh Logs",
    "clear_button": "Clear Logs",
    "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 download (only generated when request logging is off).",
    "error_logs_request_log_enabled": "Request logging is enabled, so this list will always be empty. Disable request logging and refresh to view error logs.",
    "error_logs_empty": "No error request log files found",
    "error_logs_load_error": "Failed to load error log list",
    "error_logs_size": "Size",
    "error_logs_modified": "Last modified",
    "error_logs_download": "Download",
    "error_log_download_success": "Error log downloaded successfully",
    "request_log_download_title": "Download Request Log",
    "request_log_download_confirm": "Download request log for ID {{id}}?",
    "request_log_download_success": "Request log downloaded successfully",
    "empty_title": "No Logs Available",
    "empty_desc": "When \"Enable logging to file\" is enabled, logs will be displayed here",
    "log_content": "Log Content",
    "loading": "Loading logs...",
    "load_error": "Failed to load logs",
    "clear_confirm": "Are you sure you want to clear all logs? This action cannot be undone!",
    "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",
    "filtered_lines": "Filtered: {{count}} lines",
    "hide_management_logs": "Hide {{prefix}} logs",
    "search_placeholder": "Search logs by content or keyword",
    "search_empty_title": "No matching logs found",
    "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."
  },
  "config_management": {
    "title": "Config Management",
    "editor_title": "Configuration File",
    "reload": "Reload",
    "save": "Save",
    "description": "View and edit the server-side config.yaml file. Validate the syntax before saving.",
    "status_idle": "Waiting for action",
    "status_loading": "Loading configuration...",
    "status_loaded": "Configuration loaded",
    "status_dirty": "Unsaved changes",
    "status_disconnected": "Connect to the server to load the configuration",
    "status_load_failed": "Load failed",
    "status_saving": "Saving configuration...",
    "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.",
    "editor_placeholder": "key: value",
    "search_placeholder": "Search config...",
    "search_button": "Search",
    "search_no_results": "No results",
    "search_prev": "Previous",
    "search_next": "Next"
  },
  "quota_management": {
    "title": "Quota Management",
    "description": "Monitor OAuth quota status for Antigravity, Codex, and Gemini CLI credentials.",
    "refresh_files": "Refresh auth files",
    "refresh_files_and_quota": "Refresh files & quota"
  },
  "system_info": {
    "title": "Management Center Info",
    "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 /v1/models response and uses saved API keys for auth automatically.",
    "models_loading": "Loading available models...",
    "models_empty": "No models returned by /v1/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",
    "version_current_missing": "Server version is unavailable; cannot compare",
    "version_unknown": "Unknown",
    "quick_links_title": "Quick Links",
    "quick_links_desc": "Access project repositories and documentation for help and updates.",
    "link_main_repo": "Main Repository",
    "link_main_repo_desc": "CLI Proxy API core program source code",
    "link_webui_repo": "WebUI Repository",
    "link_webui_repo_desc": "Management Center frontend source code",
    "link_docs": "Documentation",
    "link_docs_desc": "Usage tutorials and configuration guides",
    "clear_login_title": "Local Login Data",
    "clear_login_desc": "Clear locally saved login data and sign out. Usage stats pricing settings will remain untouched.",
    "clear_login_button": "Clear login data",
    "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",
    "usage_statistics_updated": "Usage statistics 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",
    "vertex_base_url_required": "Please enter the Vertex Base URL",
    "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",
    "ampcode_updated": "Ampcode configuration updated",
    "ampcode_upstream_api_key_cleared": "Ampcode upstream API key override cleared",
    "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",
    "update_failed": "Update failed",
    "add_failed": "Add failed",
    "delete_failed": "Delete failed",
    "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",
    "link_copied": "Link copied to clipboard"
  },
  "language": {
    "switch": "Language",
    "chinese": "中文",
    "english": "English"
  },
  "theme": {
    "switch": "Theme",
    "light": "Light",
    "dark": "Dark",
    "switch_to_light": "Switch to light mode",
    "switch_to_dark": "Switch to dark mode",
    "auto": "Follow system"
  },
  "sidebar": {
    "toggle_expand": "Expand sidebar",
    "toggle_collapse": "Collapse sidebar"
  },
  "footer": {
    "api_version": "CLI Proxy API Version",
    "build_date": "Build Time",
    "version": "Management UI Version",
    "author": "Author"
  },
  "monitor": {
    "title": "Monitor Center",
    "time_range": "Time Range",
    "today": "Today",
    "last_n_days": "Last {{n}} Days",
    "api_filter": "API Query",
    "api_filter_placeholder": "Query API data",
    "apply": "Apply",
    "no_data": "No data available",
    "requests": "Requests",
    "kpi": {
      "requests": "Requests",
      "success": "Success",
      "failed": "Failed",
      "rate": "Success Rate",
      "tokens": "Tokens",
      "input": "Input",
      "output": "Output",
      "reasoning": "Reasoning",
      "cached": "Cached",
      "avg_tpm": "Avg TPM",
      "avg_rpm": "Avg RPM",
      "avg_rpd": "Avg RPD",
      "tokens_per_minute": "Tokens per minute",
      "requests_per_minute": "Requests per minute",
      "requests_per_day": "Requests per day"
    },
    "distribution": {
      "title": "Model Usage Distribution",
      "by_requests": "By Requests",
      "by_tokens": "By Tokens",
      "requests": "Requests",
      "tokens": "Tokens",
      "request_share": "Request Share",
      "token_share": "Token Share"
    },
    "trend": {
      "title": "Daily Usage Trend",
      "subtitle": "Requests and Token usage trend",
      "requests": "Requests",
      "input_tokens": "Input Tokens",
      "output_tokens": "Output Tokens",
      "reasoning_tokens": "Reasoning Tokens",
      "cached_tokens": "Cached Tokens"
    },
    "hourly": {
      "last_6h": "Last 6 Hours",
      "last_12h": "Last 12 Hours",
      "last_24h": "Last 24 Hours",
      "all": "All",
      "requests": "Requests",
      "success_rate": "Success Rate"
    },
    "hourly_model": {
      "title": "Hourly Model Request Distribution",
      "models": "Models"
    },
    "hourly_token": {
      "title": "Hourly Token Usage",
      "subtitle": "By Hour",
      "total": "Total Tokens",
      "input": "Input",
      "output": "Output",
      "reasoning": "Reasoning",
      "cached": "Cached"
    },
    "channel": {
      "title": "Channel Statistics",
      "subtitle": "Grouped by source channel",
      "click_hint": "Click row to expand model details",
      "all_channels": "All Channels",
      "all_models": "All Models",
      "all_status": "All Status",
      "only_success": "Success Only",
      "only_failed": "Failed Only",
      "header_name": "Channel",
      "header_count": "Requests",
      "header_rate": "Success Rate",
      "header_recent": "Recent Status",
      "header_time": "Last Request",
      "model_details": "Model Details",
      "model": "Model",
      "success": "Success",
      "failed": "Failed"
    },
    "time": {
      "today": "Today",
      "last_n_days": "{{n}} Days",
      "custom": "Custom",
      "to": "to",
      "apply": "Apply"
    },
    "failure": {
      "title": "Failure Analysis",
      "subtitle": "Locate issues by source channel",
      "click_hint": "Click row to expand details",
      "no_failures": "No failure data",
      "header_name": "Channel",
      "header_count": "Failures",
      "header_time": "Last Failure",
      "header_models": "Top Failed Models",
      "all_failed_models": "All Failed Models"
    },
    "logs": {
      "title": "Request Logs",
      "total_count": "{{count}} records",
      "sort_hint": "Auto sorted by time desc",
      "scroll_hint": "Scroll to browse all data",
      "virtual_scroll_info": "Showing {{visible}} rows, {{total}} records total",
      "all_apis": "All APIs",
      "all_models": "All Models",
      "all_sources": "All Sources",
      "all_status": "All Status",
      "all_provider_types": "All Providers",
      "success": "Success",
      "failed": "Failed",
      "last_update": "Last Update",
      "manual_refresh": "Manual Refresh",
      "refresh_5s": "5s Refresh",
      "refresh_10s": "10s Refresh",
      "refresh_15s": "15s Refresh",
      "refresh_30s": "30s Refresh",
      "refresh_60s": "60s Refresh",
      "refresh_in_seconds": "Refresh in {{seconds}}s",
      "refreshing": "Refreshing...",
      "header_auth": "Auth Index",
      "header_api": "API",
      "header_request_type": "Type",
      "header_model": "Model",
      "header_source": "Source",
      "header_status": "Status",
      "header_recent": "Recent Status",
      "header_rate": "Success Rate",
      "header_count": "Requests",
      "header_input": "Input",
      "header_output": "Output",
      "header_total": "Total Tokens",
      "header_time": "Time",
      "header_actions": "Actions",
      "showing": "Showing {{start}}-{{end}} of {{total}}",
      "page_info": "Page {{current}}/{{total}}",
      "first_page": "First",
      "prev_page": "Prev",
      "next_page": "Next",
      "last_page": "Last",
      "disable": "Disable",
      "disable_model": "Disable this model",
      "disabled": "Disabled",
      "removed": "Removed",
      "disabling": "Disabling...",
      "disable_confirm_title": "Confirm Disable Model",
      "disable_error": "Disable failed",
      "disable_error_no_provider": "Cannot identify provider",
      "disable_error_provider_not_found": "Provider config not found: {{provider}}",
      "disable_not_supported": "{{provider}} provider does not support disable operation",
      "disable_unsupported_title": "Auto-disable Not Supported",
      "disable_unsupported_desc": "{{providerType}} type providers do not support auto-disable feature.",
      "disable_unsupported_guide_title": "Manual Operation Guide",
      "disable_unsupported_guide_step1": "1. Go to the \"AI Providers\" page",
      "disable_unsupported_guide_step2": "2. Find the corresponding {{providerType}} configuration",
      "disable_unsupported_guide_step3": "3. Edit the config and remove model \"{{model}}\"",
      "disable_unsupported_guide_step4": "4. Save the configuration to apply changes",
      "disable_unsupported_close": "Got it"
    }
  }
}
