{
  "header": {
    "home": "Home",
    "channel": "Channel",
    "token": "Token",
    "redemption": "Redemption",
    "topup": "Top Up",
    "user": "User",
    "dashboard": "Dashboard",
    "log": "Log",
    "setting": "Settings",
    "about": "About",
    "chat": "Chat",
    "login": "Login",
    "logout": "Logout",
    "register": "Register"
  },
  "topup": {
    "title": "Top Up Center",
    "get_code": {
      "title": "Get Redemption Code",
      "current_quota": "Current Available Quota",
      "button": "Get Code Now"
    },
    "redeem_code": {
      "title": "Redeem Code",
      "placeholder": "Please enter redemption code",
      "paste": "Paste",
      "paste_error": "Cannot access clipboard, please paste manually",
      "submit": "Redeem Now",
      "submitting": "Redeeming...",
      "empty_code": "Please enter the redemption code!",
      "success": "Top up successful!",
      "request_failed": "Request failed",
      "no_link": "Admin has not set up the top-up link!"
    }
  },
  "channel": {
    "title": "Channel Management",
    "search": "Search channels by ID, name and key...",
    "balance_notice": "OpenAI channels no longer support getting balance via key, so balance shows as 0. For supported channel types, click balance to refresh.",
    "test_notice": "Channel testing only supports chat models, preferring gpt-3.5-turbo. If unavailable, uses the first model in your configured list.",
    "detail_notice": "Click the detail button below to show balance and set additional test models.",
    "table": {
      "id": "ID",
      "name": "Name",
      "group": "Group",
      "type": "Type",
      "status": "Status",
      "response_time": "Response Time",
      "balance": "Balance",
      "priority": "Priority",
      "test_model": "Test Model",
      "actions": "Actions",
      "no_name": "None",
      "status_enabled": "Enabled",
      "status_disabled": "Disabled",
      "status_auto_disabled": "Disabled",
      "status_disabled_tip": "This channel is manually disabled",
      "status_auto_disabled_tip": "This channel is automatically disabled",
      "status_unknown": "Unknown Status",
      "not_tested": "Not Tested",
      "priority_tip": "Channel selection priority, higher is preferred",
      "select_test_model": "Please select test model",
      "click_to_update": "Click to update",
      "balance_not_supported": "-"
    },
    "buttons": {
      "test": "Test",
      "delete": "Delete",
      "confirm_delete": "Delete Channel",
      "enable": "Enable",
      "disable": "Disable",
      "edit": "Edit",
      "add": "Add New Channel",
      "test_all": "Test All Channels",
      "test_disabled": "Test Disabled Channels",
      "delete_disabled": "Delete Disabled Channels",
      "confirm_delete_disabled": "Confirm Delete",
      "refresh": "Refresh",
      "show_detail": "Details",
      "hide_detail": "Hide Details"
    },
    "messages": {
      "test_success": "Channel {{name}} test successful, model {{model}}, time {{time}}s, output: {{message}}",
      "test_all_started": "Channel testing started successfully, please refresh page to see results.",
      "delete_disabled_success": "Deleted all disabled channels, total: {{count}}",
      "balance_update_success": "Channel {{name}} balance updated successfully!",
      "all_balance_updated": "All enabled channel balances have been updated!",
      "operation_success": "Operation completed successfully!"
    },
    "edit": {
      "title_edit": "Update Channel Information",
      "title_create": "Create New Channel",
      "type": "Type",
      "name": "Name",
      "name_placeholder": "Please enter name",
      "group": "Group",
      "group_placeholder": "Please select groups that can use this channel",
      "group_addition": "Please edit group multipliers in system settings to add new group:",
      "models": "Models",
      "models_placeholder": "Please select models supported by this channel",
      "model_mapping": "Model Mapping",
      "model_mapping_placeholder": "Optional, used to modify model names in request body. A JSON string where keys are request model names and values are target model names",
      "system_prompt": "System Prompt",
      "system_prompt_placeholder": "Optional, used to force set system prompt. Use with custom model & model mapping. First create a unique custom model name above, then map it to a natively supported model",
      "proxy_url": "Proxy",
      "proxy_url_placeholder": "This is optional and used for API calls via a proxy. Please enter the proxy URL, formatted as: https://domain.com",
      "base_url": "Base URL",
      "base_url_placeholder": "The Base URL required by the OpenAPI SDK",
      "key": "Key",
      "key_placeholder": "Please enter key",
      "batch": "Batch Create",
      "batch_placeholder": "Please enter keys, one per line",
      "buttons": {
        "cancel": "Cancel",
        "submit": "Submit",
        "fill_models": "Fill Related Models",
        "fill_all": "Fill All Models",
        "clear": "Clear All Models",
        "add_custom": "Add",
        "custom_placeholder": "Enter custom model name"
      },
      "messages": {
        "name_required": "Please enter channel name and key!",
        "models_required": "Please select at least one model!",
        "model_mapping_invalid": "Model mapping must be valid JSON format!",
        "update_success": "Channel updated successfully!",
        "create_success": "Channel created successfully!"
      },
      "spark_version": "Model Version",
      "spark_version_placeholder": "Please enter Spark model version from API URL, e.g.: v2.1",
      "knowledge_id": "Knowledge Base ID",
      "knowledge_id_placeholder": "Please enter knowledge base ID, e.g.: 123456",
      "plugin_param": "Plugin Parameter",
      "plugin_param_placeholder": "Please enter plugin parameter (X-DashScope-Plugin header value)",
      "coze_notice": "For Coze, model name is the Bot ID. You can add prefix `bot-`, e.g.: `bot-123456`.",
      "douban_notice": "For Douban, you need to go to",
      "douban_notice_link": "Model Inference Page",
      "douban_notice_2": "to create an inference endpoint, and use the endpoint name as model name, e.g.: `ep-20240608051426-tkxvl`.",
      "aws_region_placeholder": "region, e.g.: us-west-2",
      "aws_ak_placeholder": "AWS IAM Access Key",
      "aws_sk_placeholder": "AWS IAM Secret Key",
      "vertex_region_placeholder": "Vertex AI Region, e.g.: us-east5",
      "vertex_project_id": "Vertex AI Project ID",
      "vertex_project_id_placeholder": "Vertex AI Project ID",
      "vertex_credentials": "Google Cloud Application Default Credentials JSON",
      "vertex_credentials_placeholder": "Google Cloud Application Default Credentials JSON",
      "user_id": "User ID",
      "user_id_placeholder": "User ID who generated this key",
      "key_prompts": {
        "default": "Please enter the authentication key for this channel",
        "zhipu": "Enter in format: APIKey|SecretKey",
        "spark": "Enter in format: APPID|APISecret|APIKey",
        "fastgpt": "Enter in format: APIKey-AppId, e.g.: fastgpt-0sp2gtvfdgyi4k30jwlgwf1i-64f335d84283f05518e9e041",
        "tencent": "Enter in format: AppId|SecretId|SecretKey"
      }
    }
  },
  "token": {
    "title": "Token Management",
    "search": "Search tokens by name ...",
    "table": {
      "name": "Name",
      "status": "Status",
      "used_quota": "Used Quota",
      "remain_quota": "Remaining Quota",
      "created_time": "Created Time",
      "expired_time": "Expiry Time",
      "actions": "Actions",
      "no_name": "None",
      "never_expire": "never",
      "unlimited": "Unlimited",
      "status_enabled": "Enabled",
      "status_disabled": "Disabled",
      "status_expired": "Expired",
      "status_depleted": "Depleted",
      "status_unknown": "Unknown Status"
    },
    "buttons": {
      "copy": "Copy",
      "chat": "Chat",
      "delete": "Delete",
      "confirm_delete": "Delete Token",
      "enable": "Enable",
      "disable": "Disable",
      "edit": "Edit",
      "add": "Add New Token",
      "refresh": "Refresh"
    },
    "edit": {
      "title_edit": "Update Token Information",
      "title_create": "Create New Token",
      "name": "Name",
      "name_placeholder": "Please enter name",
      "models": "Model Scope",
      "models_placeholder": "Please select allowed models, leave empty for no restrictions",
      "ip_limit": "IP Restriction",
      "ip_limit_placeholder": "Please enter allowed subnets, e.g.: 192.168.0.0/24, use commas to separate multiple subnets",
      "expire_time": "Expiry Time",
      "expire_time_placeholder": "Please enter expiry time in yyyy-MM-dd HH:mm:ss format, -1 for no limit",
      "quota_notice": "Note: Token quota only limits the maximum usage of the token itself, actual usage is subject to account remaining quota.",
      "quota": "Quota",
      "quota_placeholder": "Please enter quota",
      "buttons": {
        "never_expire": "Never Expire",
        "expire_1_month": "Expire in 1 Month",
        "expire_1_day": "Expire in 1 Day",
        "expire_1_hour": "Expire in 1 Hour",
        "expire_1_minute": "Expire in 1 Minute",
        "unlimited_quota": "Set Unlimited Quota",
        "cancel_unlimited": "Cancel Unlimited Quota",
        "submit": "Submit",
        "cancel": "Cancel"
      },
      "messages": {
        "update_success": "Token updated successfully!",
        "create_success": "Token created successfully, please copy it from the list page!",
        "expire_time_invalid": "Invalid expiry time format!"
      }
    },
    "copy_options": {
      "raw": "Copy Raw Token",
      "ama": "Copy AMA Link",
      "opencat": "Copy OpenCat Link",
      "next": "Copy NextChat Link",
      "lobe": "Copy LobeChat Link"
    },
    "messages": {
      "copy_success": "Copied to clipboard!",
      "copy_failed": "Unable to copy to clipboard, please copy manually. Token has been filled in the search box.",
      "operation_success": "Operation completed successfully!"
    },
    "sort": {
      "placeholder": "Sort By",
      "default": "Default Order",
      "by_remain": "Sort by Remaining Quota",
      "by_used": "Sort by Used Quota"
    }
  },
  "common": {
    "quota": {
      "display": "Equivalent: ${{amount}}",
      "display_short": "${{amount}}",
      "unit": "$"
    }
  },
  "redemption": {
    "title": "Redemption Management",
    "search": "Search redemption codes by ID and name ...",
    "table": {
      "id": "ID",
      "name": "Name",
      "status": "Status",
      "quota": "Quota",
      "created_time": "Created Time",
      "redeemed_time": "Redeemed Time",
      "actions": "Actions",
      "no_name": "None",
      "not_redeemed": "Not Redeemed"
    },
    "buttons": {
      "copy": "Copy",
      "delete": "Delete",
      "confirm_delete": "Confirm Delete",
      "enable": "Enable",
      "disable": "Disable",
      "edit": "Edit",
      "add": "Add New Code",
      "refresh": "Refresh"
    },
    "status": {
      "unused": "Unused",
      "disabled": "Disabled",
      "used": "Used",
      "unknown": "Unknown"
    },
    "edit": {
      "title_edit": "Update Redemption Code",
      "title_create": "Create New Redemption Code",
      "name": "Name",
      "name_placeholder": "Please enter name",
      "quota": "Quota",
      "quota_placeholder": "Please enter quota per redemption code",
      "count": "Generate Count",
      "count_placeholder": "Please enter number of codes to generate",
      "buttons": {
        "submit": "Submit",
        "cancel": "Cancel"
      }
    },
    "messages": {
      "update_success": "Redemption code updated successfully!",
      "create_success": "Redemption code created successfully!"
    }
  },
  "log": {
    "title": "Operation Log",
    "search": "Search logs...",
    "usage_details": "Usage Details",
    "total_quota": "Total Quota Used",
    "click_to_view": "Click to View",
    "type": {
      "select": "Select Log Type",
      "all": "All",
      "topup": "Top Up",
      "usage": "Usage",
      "admin": "Admin",
      "system": "System",
      "test": "Test"
    },
    "table": {
      "time": "Time",
      "channel": "Channel",
      "type": "Type",
      "model": "Model",
      "username": "Username",
      "token_name": "Token Name",
      "token_name_placeholder": "Optional",
      "model_name": "Model Name",
      "model_name_placeholder": "Optional",
      "start_time": "Start Time",
      "end_time": "End Time",
      "channel_id": "Channel ID",
      "channel_id_placeholder": "Optional",
      "username_placeholder": "Optional",
      "prompt_tokens": "Prompt Tokens",
      "completion_tokens": "Completion Tokens",
      "quota": "Quota",
      "detail": "Detail"
    },
    "buttons": {
      "query": "Action",
      "submit": "Query",
      "refresh": "Refresh"
    }
  },
  "user": {
    "title": "User Management",
    "edit": {
      "title": "Update User Information",
      "username": "Username",
      "username_placeholder": "Please enter new username",
      "password": "Password",
      "password_placeholder": "Please enter new password, minimum 8 characters",
      "display_name": "Display Name",
      "display_name_placeholder": "Please enter new display name",
      "group": "Group",
      "group_placeholder": "Please select group",
      "group_addition": "Please edit group multipliers in system settings to add new group:",
      "quota": "Remaining Quota",
      "quota_placeholder": "Please enter new remaining quota",
      "github_id": "Linked GitHub Account",
      "github_id_placeholder": "Read-only, user must link through personal settings page, cannot be modified directly",
      "wechat_id": "Linked WeChat Account",
      "wechat_id_placeholder": "Read-only, user must link through personal settings page, cannot be modified directly",
      "email": "Linked Email Account",
      "email_placeholder": "Read-only, user must link through personal settings page, cannot be modified directly",
      "buttons": {
        "submit": "Submit",
        "cancel": "Cancel"
      }
    },
    "add": {
      "title": "Create New User Account"
    },
    "messages": {
      "update_success": "User information updated successfully!",
      "create_success": "User account created successfully!",
      "operation_success": "Operation completed successfully!"
    },
    "search": "Search users...",
    "table": {
      "id": "ID",
      "username": "Username",
      "group": "Group",
      "quota": "Quota",
      "role_text": "Role",
      "status_text": "Status",
      "actions": "Actions",
      "remaining_quota": "Remaining Quota",
      "used_quota": "Used Quota",
      "request_count": "Request Count",
      "role_types": {
        "normal": "Normal User",
        "admin": "Admin",
        "super_admin": "Super Admin",
        "unknown": "Unknown Role"
      },
      "status_types": {
        "activated": "Activated",
        "banned": "Banned",
        "unknown": "Unknown Status"
      },
      "sort": {
        "default": "Default Order",
        "by_quota": "Sort by Remaining Quota",
        "by_used_quota": "Sort by Used Quota",
        "by_request_count": "Sort by Request Count"
      },
      "sort_by": "Sort By"
    },
    "buttons": {
      "add": "Add New User",
      "delete": "Delete",
      "delete_user": "Delete User",
      "enable": "Enable",
      "disable": "Disable",
      "edit": "Edit",
      "promote": "Promote",
      "demote": "Demote"
    }
  },
  "dashboard": {
    "charts": {
      "requests": {
        "title": "Model Request Trend",
        "tooltip": "Request Count"
      },
      "quota": {
        "title": "Quota Usage Trend",
        "tooltip": "Quota Used"
      },
      "tokens": {
        "title": "Token Usage Trend",
        "tooltip": "Token Count"
      }
    },
    "statistics": {
      "title": "Statistics",
      "tooltip": {
        "date": "Date",
        "value": "Value"
      }
    }
  },
  "setting": {
    "title": "System Settings",
    "tabs": {
      "personal": "Personal Settings",
      "operation": "Operation Settings",
      "system": "System Settings",
      "other": "Other Settings",
      "server_config": "Server Configuration"
    },
    "personal": {
      "general": {
        "title": "General Settings",
        "system_token_notice": "Note: The token generated here is for system management, not for requesting OpenAI related services.",
        "buttons": {
          "update_profile": "Update Profile",
          "generate_token": "Generate System Token",
          "copy_invite": "Copy Invite Link",
          "delete_account": "Delete Account"
        }
      },
      "binding": {
        "title": "Account Binding",
        "buttons": {
          "bind_wechat": "Bind WeChat Account",
          "bind_github": "Bind GitHub Account",
          "bind_email": "Bind Email Address",
          "bind_lark": "Bind Lark Account"
        },
        "wechat": {
          "title": "WeChat Binding",
          "description": "Scan QR code to follow the official account, enter 'verification code' to get the code (valid for 3 minutes)",
          "verification_code": "Verification Code",
          "bind": "Bind"
        },
        "email": {
          "title": "Bind Email Address",
          "email_placeholder": "Enter email address",
          "code_placeholder": "Verification code",
          "get_code": "Get Code",
          "get_code_retry": "Resend({{countdown}})",
          "bind": "Confirm Binding",
          "cancel": "Cancel"
        }
      },
      "delete_account": {
        "title": "Dangerous Operation",
        "warning": "You are deleting your account. All data will be cleared and cannot be recovered",
        "confirm_placeholder": "Enter your username {{username}} to confirm deletion",
        "buttons": {
          "confirm": "Confirm Delete",
          "cancel": "Cancel"
        }
      }
    },
    "system": {
      "general": {
        "title": "General Settings",
        "server_address": "Server Address",
        "server_address_placeholder": "e.g.: https://yourdomain.com",
        "buttons": {
          "update": "Update Server Address"
        }
      },
      "login": {
        "title": "Login & Registration Settings",
        "password_login": "Allow Password Login",
        "password_register": "Allow Password Registration",
        "email_verification": "Require Email Verification for Password Registration",
        "github_oauth": "Allow GitHub OAuth Login & Registration",
        "wechat_login": "Allow WeChat Login & Registration",
        "registration": "Allow New User Registration (When disabled, new users cannot register by any means)",
        "turnstile": "Enable Turnstile User Verification"
      },
      "email_restriction": {
        "title": "Email Domain Whitelist",
        "subtitle": "Used to prevent malicious users from batch registering using temporary emails",
        "enable": "Enable Email Domain Whitelist",
        "allowed_domains": "Allowed Email Domains",
        "add_domain": "Add New Allowed Email Domain",
        "add_domain_placeholder": "Enter new allowed email domain",
        "buttons": {
          "fill": "Fill",
          "save": "Save Email Domain Whitelist Settings"
        }
      },
      "smtp": {
        "title": "SMTP Configuration",
        "subtitle": "Used to support system email sending",
        "server": "SMTP Server Address",
        "server_placeholder": "e.g.: smtp.gmail.com",
        "port": "SMTP Port",
        "port_placeholder": "Default: 587",
        "account": "SMTP Account",
        "account_placeholder": "Usually your email address",
        "from": "SMTP Sender Email",
        "from_placeholder": "Usually same as email address",
        "token": "SMTP Access Token",
        "token_placeholder": "Sensitive information will not be sent to frontend",
        "buttons": {
          "save": "Save SMTP Settings"
        }
      },
      "github": {
        "title": "GitHub OAuth App Configuration",
        "subtitle": "Used to support GitHub login and registration",
        "manage_link": "Click here",
        "manage_text": "to manage your GitHub OAuth Apps",
        "url_notice": "Set Homepage URL to {{server_url}}, and Authorization callback URL to {{callback_url}}",
        "client_id": "GitHub Client ID",
        "client_id_placeholder": "Enter your registered GitHub OAuth APP ID",
        "client_secret": "GitHub Client Secret",
        "client_secret_placeholder": "Sensitive information will not be sent to frontend",
        "buttons": {
          "save": "Save GitHub OAuth Settings"
        }
      },
      "lark": {
        "title": "Lark OAuth Configuration",
        "subtitle": "Used to support Lark login and registration",
        "manage_link": "Click here",
        "manage_text": "to manage your Lark applications",
        "url_notice": "Set Homepage URL to {{server_url}}, and Redirect URL to {{callback_url}}",
        "client_id": "App ID",
        "client_id_placeholder": "Enter App ID",
        "client_secret": "App Secret",
        "client_secret_placeholder": "Sensitive information will not be sent to frontend",
        "buttons": {
          "save": "Save Lark OAuth Settings"
        }
      },
      "wechat": {
        "title": "WeChat Server Configuration",
        "subtitle": "Used to support WeChat login and registration",
        "learn_more": "Learn about WeChat Server",
        "server_address": "WeChat Server Address",
        "server_address_placeholder": "e.g.: https://yourdomain.com",
        "token": "WeChat Server Access Token",
        "token_placeholder": "Sensitive information will not be sent to frontend",
        "qrcode": "WeChat Official Account QR Code Image URL",
        "qrcode_placeholder": "Enter an image URL",
        "buttons": {
          "save": "Save WeChat Server Settings"
        },
        "scan_tip": "Scan QR code to follow WeChat Official Account, enter 'code' to get verification code (valid for 3 minutes)",
        "code_placeholder": "Verification code"
      },
      "turnstile": {
        "title": "Turnstile Configuration",
        "subtitle": "Used to support user verification",
        "manage_link": "Click here",
        "manage_text": "to manage your Turnstile Sites, Invisible Widget Type recommended",
        "site_key": "Turnstile Site Key",
        "site_key_placeholder": "Enter your registered Turnstile Site Key",
        "secret_key": "Turnstile Secret Key",
        "secret_key_placeholder": "Sensitive information will not be sent to frontend",
        "buttons": {
          "save": "Save Turnstile Settings"
        }
      },
      "password_login": {
        "warning": {
          "title": "Warning",
          "content": "Disabling password login will prevent all users (including administrators) who haven't bound other login methods from logging in via password. Confirm disable?",
          "buttons": {
            "confirm": "Confirm",
            "cancel": "Cancel"
          }
        }
      }
    },
    "operation": {
      "quota": {
        "title": "Quota Settings",
        "new_user": "Initial Quota for New Users",
        "new_user_placeholder": "e.g.: 100",
        "pre_consume": "Pre-consumed Quota per Request",
        "pre_consume_placeholder": "Refund or charge difference after request",
        "inviter_reward": "Reward Quota for Inviter",
        "inviter_reward_placeholder": "e.g.: 2000",
        "invitee_reward": "Reward Quota for Using Invite Code",
        "invitee_reward_placeholder": "e.g.: 1000",
        "buttons": {
          "save": "Save Quota Settings"
        }
      },
      "ratio": {
        "title": "Ratio Settings",
        "model": {
          "title": "Model Ratio",
          "placeholder": "A JSON text where keys are model names and values are ratios"
        },
        "completion": {
          "title": "Completion Ratio",
          "placeholder": "A JSON text where keys are model names and values are ratios. These ratios are the proportion of completion to prompt ratio, which can override One API's internal ratios"
        },
        "group": {
          "title": "Group Ratio",
          "placeholder": "A JSON text where keys are group names and values are ratios"
        },
        "buttons": {
          "save": "Save Ratio Settings"
        }
      },
      "log": {
        "title": "Log Settings",
        "enable_consume": "Enable Quota Consumption Logging",
        "target_time": "Target Time",
        "buttons": {
          "clean": "Clean Historical Logs"
        }
      },
      "monitor": {
        "title": "Monitor Settings",
        "max_response_time": "Maximum Response Time",
        "max_response_time_placeholder": "In seconds, channels exceeding this time during testing will be automatically disabled",
        "quota_reminder": "Quota Reminder Threshold",
        "quota_reminder_placeholder": "Users will receive email reminders when quota falls below this value",
        "auto_disable": "Automatically Disable Channel on Failure",
        "auto_enable": "Automatically Enable Channel on Success",
        "buttons": {
          "save": "Save Monitor Settings"
        }
      },
      "general": {
        "title": "General Settings",
        "topup_link": "Top-up Link",
        "topup_link_placeholder": "e.g.: Card selling website purchase link",
        "chat_link": "Chat Page Link",
        "chat_link_placeholder": "e.g.: ChatGPT Next Web deployment address",
        "quota_per_unit": "Quota per Dollar",
        "quota_per_unit_placeholder": "Quota exchangeable per unit of currency",
        "retry_times": "Retry Times on Failure",
        "retry_times_placeholder": "Number of retry attempts on failure",
        "display_in_currency": "Display Quota in Currency Format",
        "display_token_stat": "Show Token Quota Instead of User Quota in Billing APIs",
        "approximate_token": "Use Approximate Method to Estimate Token Count",
        "buttons": {
          "save": "Save General Settings"
        }
      }
    },
    "other": {
      "notice": {
        "title": "Notice Settings",
        "content": "Notice Content",
        "content_placeholder": "Enter new notice content here, supports Markdown & HTML code",
        "buttons": {
          "save": "Save Notice"
        }
      },
      "system": {
        "title": "System Settings",
        "name": "System Name",
        "name_placeholder": "Please enter system name",
        "logo": "Logo Image URL",
        "logo_placeholder": "Enter Logo image URL here",
        "theme": {
          "title": "Theme Name",
          "link": "Available Themes",
          "placeholder": "Please enter theme name"
        },
        "buttons": {
          "save_name": "Set System Name",
          "save_logo": "Set Logo",
          "save_theme": "Set Theme (Restart Required)"
        }
      },
      "content": {
        "title": "Content Settings",
        "homepage": {
          "title": "Homepage Content",
          "placeholder": "Enter homepage content here, supports Markdown & HTML code. Status information will not be shown after setting. If a link is entered, it will be used as the src attribute of an iframe, allowing you to set any webpage as homepage."
        },
        "about": {
          "title": "About System",
          "description": "You can set about content in settings page, supports HTML & Markdown",
          "repository": "Project Repository:",
          "loading_failed": "Failed to load about content..."
        },
        "footer": {
          "title": "Footer",
          "placeholder": "Enter new footer here, leave empty to use default footer, supports HTML code"
        },
        "buttons": {
          "save_homepage": "Save Homepage Content",
          "save_about": "Save About",
          "save_footer": "Set Footer"
        }
      },
      "copyright": {
        "notice": "Removing One API's copyright notice requires authorization. Project maintenance requires significant effort, if this project is meaningful to you, please actively support it."
      }
    },
    "server_config": {
      "notice_title": "About Server Configuration",
      "notice_content": "These settings are configured via environment variables or command-line flags. Some changes require a server restart to take effect. Use the \"Download .env\" button to export the full configuration, edit it, then restart the server.",
      "restart_required": "Restart Required",
      "count": "{{count}} config items",
      "categories": {
        "database": "Database",
        "redis": "Redis",
        "performance": "Performance & Debug",
        "network": "Network & Proxy",
        "ratelimit": "Rate Limit",
        "metrics": "Metrics & Monitor",
        "other": "Other Settings"
      },
      "buttons": {
        "save": "Save",
        "download_env": "Download .env",
        "import_env": "Import .env",
        "refresh": "Refresh"
      },
      "messages": {
        "save_success": "Setting updated successfully",
        "download_success": "Configuration downloaded",
        "download_error": "Download failed",
        "import_error": "Import failed, please check the file format"
      }
    }
  },
  "footer": {
    "built_by": "built by",
    "built_by_name": "JustSong",
    "license": ", source code is licensed under the",
    "mit": "MIT License"
  },
  "home": {
    "welcome": {
      "title": "Welcome to One API",
      "description": "One API is a LLM API management and distribution system that helps you better manage and use LLM APIs from various providers.",
      "login_notice": "To use the service, please login or register first."
    },
    "system_status": {
      "title": "System Status",
      "info": {
        "title": "System Information",
        "name": "Name: ",
        "version": "Version: ",
        "source": "Source: ",
        "source_link": "GitHub Repository",
        "start_time": "Start Time: "
      },
      "config": {
        "title": "System Configuration",
        "email_verify": "Email Verification: ",
        "github_oauth": "GitHub OAuth: ",
        "wechat_login": "WeChat Login: ",
        "turnstile": "Turnstile Check: ",
        "enabled": "Enabled",
        "disabled": "Disabled"
      }
    },
    "loading_failed": "Failed to load homepage content..."
  },
  "auth": {
    "login": {
      "title": "User Login",
      "username": "Username / Email",
      "password": "Password",
      "button": "Login",
      "forgot_password": "Forgot password?",
      "reset_password": "Reset",
      "no_account": "No account?",
      "register": "Register",
      "other_methods": "Other login methods",
      "wechat": {
        "scan_tip": "Scan QR code to follow WeChat Official Account, enter 'code' to get verification code (valid for 3 minutes)",
        "code_placeholder": "Verification code"
      }
    },
    "register": {
      "title": "New User Registration",
      "username": "Username (max 12 characters)",
      "password": "Password (8-20 characters)",
      "confirm_password": "Confirm password",
      "email": "Email address",
      "verification_code": "Verification code",
      "get_code": "Get code",
      "get_code_retry": "Retry ({{countdown}})",
      "button": "Register",
      "has_account": "Have an account?",
      "login": "Login"
    },
    "reset": {
      "title": "Password Reset",
      "email": "Email address",
      "button": "Submit",
      "notice": "The system will send an email containing a reset link to your mailbox. Please check your email.",
      "confirm": {
        "title": "Password Reset Confirmation",
        "new_password": "New password",
        "button": "Submit",
        "button_disabled": "Password reset completed",
        "notice": "New password has been generated, please click the password field or button above to copy. Please login and change your password as soon as possible!"
      }
    }
  },
  "about": {
    "title": "About",
    "description": "One API is an open-source API management and proxy platform.",
    "repository": "Repository: ",
    "loading_failed": "Loading failed"
  },
  "messages": {
    "success": {
      "login": "Login successful!",
      "register": "Registration successful!",
      "verification_code": "Verification code sent, please check your email!",
      "password_reset": "Reset email sent, please check your inbox!"
    },
    "error": {
      "login_expired": "Not logged in or session expired, please login again!",
      "password_length": "Password must be at least 8 characters!",
      "password_mismatch": "Passwords do not match",
      "turnstile_wait": "Please wait a few seconds, Turnstile is checking the environment!",
      "root_password": "Please change the default password immediately!"
    },
    "notice": {
      "password_copied": "New password copied to clipboard: {{password}}"
    }
  }
}
