✨ feat: Add server form component with protocol configuration and localization support
This commit is contained in:
@@ -1,27 +1,41 @@
|
||||
{
|
||||
"ADS Config": "ADS Config",
|
||||
"Announcement Management": "Announcement Management",
|
||||
"Application Management": "Application Management",
|
||||
|
||||
"Auth Control": "Auth Control",
|
||||
"Balance": "Balance",
|
||||
"Commerce": "Commerce",
|
||||
"Commission": "Commission",
|
||||
"Coupon Management": "Coupon Management",
|
||||
"Dashboard": "Dashboard",
|
||||
|
||||
"Document Management": "Document Management",
|
||||
"Finance": "Finance",
|
||||
|
||||
"Email": "Email",
|
||||
"Gift": "Gift",
|
||||
"Login": "Login",
|
||||
"Logs & Analytics": "Logs & Analytics",
|
||||
"Maintenance": "Maintenance",
|
||||
"Marketing Management": "Marketing Management",
|
||||
"Node Management": "Node Management",
|
||||
"Order Management": "Order Management",
|
||||
"Payment Config": "Payment Config",
|
||||
"Product Management": "Product Management",
|
||||
"Protocol Management": "Protocol Management",
|
||||
"Rule Management": "Rule Management",
|
||||
"Server": "Server",
|
||||
|
||||
"Register": "Register",
|
||||
"Reset Subscribe": "Reset Subscribe",
|
||||
"SMS": "SMS",
|
||||
"Server Management": "Server Management",
|
||||
"Settings": "Settings",
|
||||
"Server Traffic": "Server Traffic",
|
||||
"Subscribe": "Subscribe",
|
||||
"Subscribe Config": "Subscribe Config",
|
||||
"Subscribe Traffic": "Subscribe Traffic",
|
||||
"System": "System",
|
||||
"System Config": "System Config",
|
||||
"System Management": "System Management",
|
||||
"System Tool": "System Tool",
|
||||
|
||||
"Ticket Management": "Ticket Management",
|
||||
"User": "User",
|
||||
"User Detail": "User Detail",
|
||||
"User Management": "User Management"
|
||||
"User Management": "User Management",
|
||||
"Users & Support": "Users & Support"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"cancel": "Cancel",
|
||||
"confirm": "Confirm",
|
||||
"confirmDeleteDesc": "This action cannot be undone.",
|
||||
"confirmDeleteTitle": "Delete this node?",
|
||||
"copied": "Copied successfully",
|
||||
"copy": "Copy",
|
||||
"create": "Create",
|
||||
"created": "Created successfully",
|
||||
"delete": "Delete",
|
||||
"deleted": "Deleted successfully",
|
||||
"drawerCreateTitle": "Create Node",
|
||||
"drawerEditTitle": "Edit Node",
|
||||
"edit": "Edit",
|
||||
"enabled": "Enabled",
|
||||
"enabled_off": "Disabled",
|
||||
"enabled_on": "Enabled",
|
||||
"errors": {
|
||||
"nameRequired": "Name is required",
|
||||
"serverRequired": "Please select a server",
|
||||
"serverAddrRequired": "Entry address is required",
|
||||
"protocolRequired": "Please select a protocol",
|
||||
"portRange": "Port must be 1–65535"
|
||||
},
|
||||
"name": "Name",
|
||||
"pageTitle": "Nodes",
|
||||
"port": "Port",
|
||||
"protocol": "Protocol",
|
||||
"select_protocol": "Search protocol…",
|
||||
"select_server": "Search server…",
|
||||
"server": "Server",
|
||||
"server_addr": "Entry address",
|
||||
"server_addr_port": "Address:Port",
|
||||
"tags": "Tags",
|
||||
"tags_placeholder": "Type and press Enter",
|
||||
"updated": "Updated successfully"
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"cancel": "Cancel",
|
||||
"city": "City",
|
||||
"config": {
|
||||
"title": "Node configuration",
|
||||
"description": "Manage node communication keys, pull/push intervals, and dynamic multipliers.",
|
||||
"saveSuccess": "Saved successfully",
|
||||
"communicationKey": "Communication key",
|
||||
"inputPlaceholder": "Please enter",
|
||||
"communicationKeyDescription": "Used for node authentication.",
|
||||
"nodePullInterval": "Node pull interval",
|
||||
"nodePullIntervalDescription": "How often the node pulls configuration (seconds).",
|
||||
"nodePushInterval": "Node push interval",
|
||||
"nodePushIntervalDescription": "How often the node pushes stats (seconds).",
|
||||
"dynamicMultiplier": "Dynamic multiplier",
|
||||
"dynamicMultiplierDescription": "Define time slots and multipliers to adjust traffic accounting.",
|
||||
"startTime": "Start time",
|
||||
"endTime": "End time",
|
||||
"multiplier": "Multiplier",
|
||||
"reset": "Reset",
|
||||
"save": "Save",
|
||||
"timeSlot": "Time slot",
|
||||
"actions": {
|
||||
"cancel": "Cancel",
|
||||
"save": "Save"
|
||||
}
|
||||
},
|
||||
"confirm": "Confirm",
|
||||
"confirmDeleteDesc": "This action cannot be undone.",
|
||||
"confirmDeleteTitle": "Delete this server?",
|
||||
"congestion_controller": "Congestion controller",
|
||||
"copied": "Copied",
|
||||
"copy": "Copy",
|
||||
"country": "Country",
|
||||
"cpu": "CPU",
|
||||
"create": "Create",
|
||||
"created": "Created successfully",
|
||||
"delete": "Delete",
|
||||
"deleted": "Deleted successfully",
|
||||
"disable_sni": "Disable SNI",
|
||||
"disk": "Disk",
|
||||
"drawerCreateTitle": "Create Server",
|
||||
"drawerEditTitle": "Edit Server",
|
||||
"edit": "Edit",
|
||||
"enabled": "Enabled",
|
||||
"encryption_method": "Encryption method",
|
||||
"expireTime": "Expire time",
|
||||
"expired": "Expired",
|
||||
"flow": "Flow",
|
||||
"hop_interval": "Hop interval",
|
||||
"hop_ports": "Hop ports",
|
||||
"hop_ports_placeholder": "e.g. 443,8443,10443",
|
||||
"host": "Host",
|
||||
"id": "ID",
|
||||
"ipAddresses": "IP addresses",
|
||||
"memory": "Memory",
|
||||
"name": "Name",
|
||||
"noData": "No data",
|
||||
"notAvailable": "N/A",
|
||||
"obfs_password": "Obfuscation password",
|
||||
"obfs_password_placeholder": "Enter obfuscation password",
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"onlineUsers": "Online users",
|
||||
"pageTitle": "Servers",
|
||||
"path": "Path",
|
||||
"please_select": "Please select",
|
||||
"port": "Port",
|
||||
"port_placeholder": "Enter port",
|
||||
"protocols": "Protocols",
|
||||
"reduce_rtt": "Reduce RTT",
|
||||
"security_allow_insecure": "Allow insecure",
|
||||
"security_fingerprint": "Fingerprint",
|
||||
"security_private_key": "Reality private key",
|
||||
"security_private_key_placeholder": "Enter private key",
|
||||
"security_public_key": "Reality public key",
|
||||
"security_public_key_placeholder": "Enter public key",
|
||||
"security_server_address": "Reality server address",
|
||||
"security_server_address_placeholder": "e.g. 1.2.3.4 or domain",
|
||||
"security_server_port": "Reality server port",
|
||||
"security_server_port_placeholder": "Enter port",
|
||||
"security_short_id": "Reality short ID",
|
||||
"security_short_id_placeholder": "Hex string (up to 16 chars)",
|
||||
"security_sni": "SNI",
|
||||
"security_title": "Security",
|
||||
"select_encryption_method": "Select encryption method",
|
||||
"serverAddress": "Server",
|
||||
"server_addr": "Server address",
|
||||
"server_key": "Server key",
|
||||
"service_name": "Service name",
|
||||
"status": "Status",
|
||||
"subscribeId": "Subscription ID",
|
||||
"subscription": "Subscription",
|
||||
"traffic": "Traffic",
|
||||
"transport_title": "Transport",
|
||||
"udp_relay_mode": "UDP relay mode",
|
||||
"unitSecondsShort": "s",
|
||||
"unlimited": "Unlimited",
|
||||
"updated": "Updated successfully",
|
||||
"user": "User",
|
||||
"validation_failed": "Validation failed. Please check the form."
|
||||
}
|
||||
@@ -18,6 +18,8 @@ export default getRequestConfig(async () => {
|
||||
'ads': (await import(`./${locale}/ads.json`)).default,
|
||||
'payment': (await import(`./${locale}/payment.json`)).default,
|
||||
'server': (await import(`./${locale}/server.json`)).default,
|
||||
'servers': (await import(`./${locale}/servers.json`)).default,
|
||||
'nodes': (await import(`./${locale}/nodes.json`)).default,
|
||||
'product': (await import(`./${locale}/product.json`)).default,
|
||||
'order': (await import(`./${locale}/order.json`)).default,
|
||||
'coupon': (await import(`./${locale}/coupon.json`)).default,
|
||||
|
||||
@@ -1,27 +1,41 @@
|
||||
{
|
||||
"ADS Config": "ADS配置",
|
||||
"ADS Config": "广告配置",
|
||||
"Announcement Management": "公告管理",
|
||||
"Application Management": "应用管理",
|
||||
|
||||
"Auth Control": "认证控制",
|
||||
"Balance": "余额变动",
|
||||
"Commerce": "商务",
|
||||
"Commission": "佣金记录",
|
||||
"Coupon Management": "优惠券管理",
|
||||
"Dashboard": "仪表盘",
|
||||
|
||||
"Document Management": "文档管理",
|
||||
"Finance": "财务",
|
||||
|
||||
"Email": "邮件日志",
|
||||
"Gift": "赠送记录",
|
||||
"Login": "登录日志",
|
||||
"Logs & Analytics": "日志与分析",
|
||||
"Maintenance": "运维",
|
||||
"Marketing Management": "营销管理",
|
||||
"Node Management": "节点管理",
|
||||
"Order Management": "订单管理",
|
||||
"Payment Config": "支付配置",
|
||||
"Product Management": "产品管理",
|
||||
"Protocol Management": "协议管理",
|
||||
"Rule Management": "规则管理",
|
||||
"Server": "服务",
|
||||
"Product Management": "商品管理",
|
||||
|
||||
"Register": "注册日志",
|
||||
"Reset Subscribe": "重置订阅",
|
||||
"SMS": "短信日志",
|
||||
"Server Management": "服务管理",
|
||||
"Settings": "设置",
|
||||
"Server Traffic": "服务流量",
|
||||
"Subscribe": "订阅日志",
|
||||
"Subscribe Config": "订阅配置",
|
||||
"Subscribe Traffic": "订阅流量",
|
||||
"System": "系统",
|
||||
"System Config": "系统配置",
|
||||
"System Management": "系统管理",
|
||||
"System Tool": "系统工具",
|
||||
|
||||
"Ticket Management": "工单管理",
|
||||
"User": "用户",
|
||||
"User Detail": "用户详情",
|
||||
"User Management": "用户管理"
|
||||
"User Management": "用户管理",
|
||||
"Users & Support": "用户与支持"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"cancel": "取消",
|
||||
"confirm": "确定",
|
||||
"confirmDeleteDesc": "此操作不可撤销。",
|
||||
"confirmDeleteTitle": "删除该节点?",
|
||||
"copied": "复制成功",
|
||||
"copy": "复制",
|
||||
"create": "新建",
|
||||
"created": "创建成功",
|
||||
"delete": "删除",
|
||||
"deleted": "删除成功",
|
||||
"drawerCreateTitle": "新建节点",
|
||||
"drawerEditTitle": "编辑节点",
|
||||
"edit": "编辑",
|
||||
"enabled": "是否启用",
|
||||
"enabled_off": "未启用",
|
||||
"enabled_on": "已启用",
|
||||
"errors": {
|
||||
"nameRequired": "请输入名称",
|
||||
"serverRequired": "请选择服务器",
|
||||
"serverAddrRequired": "请输入入口地址",
|
||||
"protocolRequired": "请选择协议",
|
||||
"portRange": "端口范围 1–65535"
|
||||
},
|
||||
"name": "名称",
|
||||
"pageTitle": "节点管理",
|
||||
"port": "端口",
|
||||
"protocol": "协议类型",
|
||||
"select_protocol": "搜索协议…",
|
||||
"select_server": "搜索服务器…",
|
||||
"server": "服务器",
|
||||
"server_addr": "入口地址",
|
||||
"server_addr_port": "服务器地址:端口",
|
||||
"tags": "标签",
|
||||
|
||||
"tags_placeholder": "输入后回车添加",
|
||||
"updated": "更新成功"
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"cancel": "取消",
|
||||
"city": "城市",
|
||||
"config": {
|
||||
"title": "节点配置",
|
||||
"description": "管理节点通信密钥、拉取/推送间隔与动态倍率。",
|
||||
"saveSuccess": "保存成功",
|
||||
"communicationKey": "通信密钥",
|
||||
"inputPlaceholder": "请输入",
|
||||
"communicationKeyDescription": "用于节点鉴权。",
|
||||
"nodePullInterval": "节点拉取间隔",
|
||||
"nodePullIntervalDescription": "节点拉取配置的频率(秒)。",
|
||||
"nodePushInterval": "节点推送间隔",
|
||||
"nodePushIntervalDescription": "节点上报状态的频率(秒)。",
|
||||
"dynamicMultiplier": "动态倍率",
|
||||
"dynamicMultiplierDescription": "按时间段设置倍率,用于调节流量或计费。",
|
||||
"startTime": "开始时间",
|
||||
"endTime": "结束时间",
|
||||
"multiplier": "倍率",
|
||||
"reset": "重置",
|
||||
"save": "保存",
|
||||
"timeSlot": "时间段",
|
||||
"actions": {
|
||||
"cancel": "取消",
|
||||
"save": "保存"
|
||||
}
|
||||
},
|
||||
"confirm": "确认",
|
||||
"confirmDeleteDesc": "该操作不可撤销。",
|
||||
"confirmDeleteTitle": "确认删除该服务器?",
|
||||
"congestion_controller": "拥塞控制",
|
||||
"copied": "已复制",
|
||||
"copy": "复制",
|
||||
"country": "国家",
|
||||
"cpu": "CPU",
|
||||
"create": "新建",
|
||||
"created": "创建成功",
|
||||
"delete": "删除",
|
||||
"deleted": "删除成功",
|
||||
"disable_sni": "禁用 SNI",
|
||||
"disk": "磁盘",
|
||||
"drawerCreateTitle": "新建服务器",
|
||||
"drawerEditTitle": "编辑服务器",
|
||||
"edit": "编辑",
|
||||
"enabled": "启用",
|
||||
"encryption_method": "加密方式",
|
||||
"expireTime": "到期时间",
|
||||
"expired": "已过期",
|
||||
"flow": "流控",
|
||||
"hop_interval": "跳端口间隔",
|
||||
"hop_ports": "跳端口",
|
||||
"hop_ports_placeholder": "例如 443,8443,10443",
|
||||
"host": "Host",
|
||||
"id": "编号",
|
||||
"ipAddresses": "IP 地址",
|
||||
"memory": "内存",
|
||||
"name": "名称",
|
||||
"noData": "暂无数据",
|
||||
"notAvailable": "—",
|
||||
"obfs_password": "混淆密码",
|
||||
"obfs_password_placeholder": "输入混淆密码",
|
||||
"offline": "离线",
|
||||
"online": "在线",
|
||||
"onlineUsers": "在线人数",
|
||||
"pageTitle": "服务器",
|
||||
"path": "路径",
|
||||
"please_select": "请选择",
|
||||
"port": "端口",
|
||||
"port_placeholder": "输入端口",
|
||||
"protocols": "协议",
|
||||
"reduce_rtt": "降低 RTT",
|
||||
"security_allow_insecure": "允许不安全",
|
||||
"security_fingerprint": "指纹",
|
||||
"security_private_key": "Reality 私钥",
|
||||
"security_private_key_placeholder": "输入私钥",
|
||||
"security_public_key": "Reality 公钥",
|
||||
"security_public_key_placeholder": "输入公钥",
|
||||
"security_server_address": "Reality 回源地址",
|
||||
"security_server_address_placeholder": "如 1.2.3.4 或域名",
|
||||
"security_server_port": "Reality 回源端口",
|
||||
"security_server_port_placeholder": "输入端口",
|
||||
"security_short_id": "Reality Short ID",
|
||||
"security_short_id_placeholder": "16 位内十六进制",
|
||||
"security_sni": "SNI",
|
||||
"security_title": "安全",
|
||||
"select_encryption_method": "选择加密方式",
|
||||
"serverAddress": "服务器",
|
||||
"server_addr": "服务器地址",
|
||||
"server_key": "服务器密钥",
|
||||
"service_name": "服务名",
|
||||
"status": "状态",
|
||||
"subscribeId": "订阅 ID",
|
||||
"subscription": "订阅",
|
||||
"traffic": "流量",
|
||||
"transport_title": "传输方式",
|
||||
"udp_relay_mode": "UDP 转发模式",
|
||||
"unitSecondsShort": "秒",
|
||||
"unlimited": "不限",
|
||||
"updated": "更新成功",
|
||||
"user": "用户",
|
||||
"validation_failed": "校验失败,请检查表单。"
|
||||
}
|
||||
Reference in New Issue
Block a user