feat(group): add node group management UI
Add node group management interface with automatic user assignment and traffic-based grouping. Features: - Node group CRUD with traffic range configuration - Three grouping modes: average, subscription-based, and traffic-based - Group recalculation with preview and history tracking - Subscribe-to-group mapping management - User subscription group locking - Group calculation history with detailed reports - Multi-language support (en-US, zh-CN) - Enhanced node and subscription forms with group selection
This commit is contained in:
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"actions": "操作",
|
||||
"autoTrigger": "自动",
|
||||
"averageMode": "平均分组",
|
||||
"cancel": "取消",
|
||||
"completed": "已完成",
|
||||
"confirm": "确认",
|
||||
"confirmDelete": "确认删除",
|
||||
"config": "配置",
|
||||
"create": "创建",
|
||||
"created": "创建成功",
|
||||
"createdAt": "创建时间",
|
||||
"createNodeGroup": "创建节点组",
|
||||
"createUserGroup": "创建用户组",
|
||||
"delete": "删除",
|
||||
"deleted": "删除成功",
|
||||
"deleteNodeGroupConfirm": "此操作将删除节点组。该组中的节点将被重新分配。",
|
||||
"deleteUserGroupConfirm": "此操作将删除用户组。该组中的用户将被重新分配到默认组。",
|
||||
"description": "描述",
|
||||
"descriptionPlaceholder": "输入描述",
|
||||
"edit": "编辑",
|
||||
"editNodeGroup": "编辑节点组",
|
||||
"editUserGroup": "编辑用户组",
|
||||
"editUserGroupDescription": "编辑用户组分配和锁定状态",
|
||||
"selectGroup": "选择一个组",
|
||||
"endTime": "结束时间",
|
||||
"errorMessage": "错误信息",
|
||||
"export": "导出",
|
||||
"failed": "失败",
|
||||
"failedCount": "失败",
|
||||
"groupConfig": "分组配置",
|
||||
"groupConfigDescription": "管理节点组并自动为用户订阅分配节点组",
|
||||
"groupDetails": "分组详情",
|
||||
"groupEnabled": "启用分组管理",
|
||||
"groupEnabledDescription": "启用分组管理以控制用户对节点的访问",
|
||||
"groupHistory": "分组计算历史",
|
||||
"groupHistoryDescription": "查看分组重算历史和结果",
|
||||
"groupHistoryDetail": "分组计算详情",
|
||||
"groupId": "分组ID",
|
||||
"groupIdPlaceholder": "输入唯一的分组ID",
|
||||
"groupMode": "分组模式",
|
||||
"groupModeDescription": "选择分组算法以将用户分配到组",
|
||||
"groupName": "分组名称",
|
||||
"groupNamePlaceholder": "输入分组名称",
|
||||
"groupRecalculation": "分组重新计算",
|
||||
"groupRecalculationDescription": "根据当前配置手动触发所有有效用户订阅的节点组重新分配",
|
||||
"history": "历史记录",
|
||||
"historyId": "历史ID",
|
||||
"id": "ID",
|
||||
"idPrefix": "#",
|
||||
"idle": "空闲",
|
||||
"separator": ",",
|
||||
"loading": "加载中...",
|
||||
"loadFailed": "加载配置失败",
|
||||
"locked": "已锁定",
|
||||
"manualTrigger": "手动",
|
||||
"name": "名称",
|
||||
"namePlaceholder": "输入名称",
|
||||
"nodeCount": "节点数",
|
||||
"nodeGroup": "节点组",
|
||||
"nodeGroupFormDescription": "配置节点组设置",
|
||||
"nodeGroups": "节点组",
|
||||
"nodeGroupsDescription": "管理节点组以控制用户访问权限",
|
||||
"noDetails": "暂无详情",
|
||||
"operator": "操作人",
|
||||
"progress": "进度",
|
||||
"recalculate": "重新计算",
|
||||
"recalculateAll": "重新分配节点组",
|
||||
"recalculationCompleted": "重新计算成功完成",
|
||||
"recalculationFailed": "重新计算失败,请重试。",
|
||||
"recalculationStarted": "重新计算已启动",
|
||||
"recalculationWarning": "重新计算将根据当前配置重新分配所有有效用户订阅的节点组。此操作无法撤消。",
|
||||
"running": "运行中",
|
||||
"save": "保存",
|
||||
"scheduleTrigger": "定时",
|
||||
"sort": "排序",
|
||||
"sortOrder": "排序顺序",
|
||||
"startTime": "开始时间",
|
||||
"subscribeMode": "套餐分组",
|
||||
"successCount": "成功",
|
||||
"title": "分组管理",
|
||||
"totalUsers": "总用户数",
|
||||
"totalNodes": "总节点数",
|
||||
"totalGroups": "总分组数",
|
||||
"trafficMode": "流量分组",
|
||||
"triggerType": "触发类型",
|
||||
"userGroup": "用户组",
|
||||
"userGroups": "用户组",
|
||||
"userGroupsDescription": "管理用户组以控制节点访问权限",
|
||||
"updated": "更新成功",
|
||||
"updateFailed": "更新失败",
|
||||
"userCount": "用户数",
|
||||
"viewDetail": "查看详情",
|
||||
"warning": "警告",
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
"saving": "保存中...",
|
||||
"enableGrouping": "启用分组",
|
||||
"enableGroupingDescription": "启用后,用户订阅将根据分配模式自动分配节点组",
|
||||
"groupingMode": "分组方式",
|
||||
"averageModeConfig": "平均模式配置",
|
||||
"subscribeModeConfig": "订阅模式配置",
|
||||
"trafficModeConfig": "流量模式配置",
|
||||
"averageModeDescription": "为有效用户订阅随机分配可用节点组",
|
||||
"subscribeModeDescription": "根据订阅套餐设置用户组的默认节点组",
|
||||
"trafficModeDescription": "根据用户订阅的流量使用情况分配节点组",
|
||||
"defaultUserGroupId": "默认用户组ID",
|
||||
"defaultUserGroupDescription": "新用户将被分配到此组",
|
||||
"defaultUserGroupForExpiredDescription": "订阅过期的用户将被分配到此组",
|
||||
"autoCreateGroup": "自动创建组",
|
||||
"autoCreateGroupDescription": "添加新订阅计划时自动创建新的用户组",
|
||||
"lockGroup": "锁定分组",
|
||||
"lockGroupDescription": "防止自动重新计算更改此用户的分组",
|
||||
"trafficRangesComingSoon": "流量区间配置即将推出...",
|
||||
"currentStatus": "当前状态",
|
||||
"trafficRangesConfig": "流量区间配置",
|
||||
"trafficRangesDescription": "配置用户流量分组区间。流量根据用户计费周期计算。",
|
||||
"minTrafficGB": "最小流量 (GB)",
|
||||
"maxTrafficGB": "最大流量 (GB)",
|
||||
"addRange": "添加区间",
|
||||
"remove": "移除",
|
||||
"note": "注意",
|
||||
"trafficRangesNote": "区间不能重叠且必须覆盖所有值而不留空档。流量大于最后一个区间上限的用户将被分配到最后一个组。",
|
||||
"defaultUserGroup": "默认用户组",
|
||||
"defaultUserGroupForTrafficDescription": "超出所有定义区间的用户将被分配到此组",
|
||||
"rangeError": "区间错误",
|
||||
"overlapError": "区间重叠错误",
|
||||
"gapError": "存在空档错误",
|
||||
"groupByTraffic": "按流量分组",
|
||||
"resetGroups": "重置所有分组",
|
||||
"resetGroupsTitle": "重置所有分组",
|
||||
"resetGroupsDescription": "此操作将删除所有节点组和用户组,将所有用户的组ID重置为0,清空所有商品的节点组ID,清空所有节点的节点组ID。此操作无法撤消。",
|
||||
"resetSuccess": "所有分组已成功重置",
|
||||
"resetFailed": "重置分组失败",
|
||||
"saved": "配置保存成功",
|
||||
"saveFailed": "保存配置失败",
|
||||
"autoCalculated": "自动统计",
|
||||
"userGroupCountAutoCalculated": "自动统计实际用户组数量",
|
||||
"userGroupCount": "用户组数",
|
||||
"nodeGroupCountAutoCalculated": "自动统计实际节点组数量",
|
||||
"nodeGroupCount": "节点组数",
|
||||
"arrow": " → ",
|
||||
"availableNodeGroups": "可用节点组",
|
||||
"currentGroupingResult": "当前分组结果",
|
||||
"calculationInfo": "计算信息",
|
||||
"groupingDetailsStatistics": "分组详情统计",
|
||||
"successFailedCount": "成功/失败",
|
||||
"latestGroupingCalculation": "最新分组计算详情",
|
||||
"userList": "用户列表",
|
||||
"email": "邮箱",
|
||||
"noUsers": "未找到用户",
|
||||
"showing": "显示",
|
||||
"to": "至",
|
||||
"of": "共",
|
||||
"previous": "上一页",
|
||||
"next": "下一页",
|
||||
"result": "结果",
|
||||
"bindNodeGroup": "绑定节点组",
|
||||
"bindNodeGroupDescription": "选择一个节点组绑定到以下用户组:{{userGroups}}",
|
||||
"selectNodeGroup": "选择节点组",
|
||||
"selectNodeGroupPlaceholder": "请选择节点组...",
|
||||
"selectNodeGroupRequired": "请选择一个节点组",
|
||||
"unbound": "未绑定",
|
||||
"bindSuccess": "成功将 {{userGroupCount}} 个用户组绑定到节点组",
|
||||
"bindFailed": "绑定节点组失败",
|
||||
"groupMapping": "分组对应关系",
|
||||
"forCalculation": "参与计算",
|
||||
"trafficRange": "流量区间 (GB)",
|
||||
"configSaved": "配置保存成功",
|
||||
"subscribeGroupMappingTitle": "套餐-节点组对应关系",
|
||||
"subscribeName": "订阅计划",
|
||||
"userGroupName": "用户组",
|
||||
"nodeGroupName": "节点组",
|
||||
"notMapped": "未映射",
|
||||
"noMappingData": "暂无映射数据",
|
||||
"forCalculationDescription": "此节点组是否参与分组计算",
|
||||
"trafficRangeGB": "流量区间 (GB)",
|
||||
"trafficRangeDescription": "流量大于等于最小值且小于最大值的用户将被分配到此节点组",
|
||||
"minCannotExceedMax": "最小流量不能超过最大流量",
|
||||
"rangeOverlap": "区间与节点组 \"{{name}}\" 重叠",
|
||||
"nodeGroupNotFound": "未找到节点组",
|
||||
"validationFailed": "验证失败",
|
||||
"totalNodeGroups": "总节点组数",
|
||||
"invalidRange": "最小流量必须小于最大流量",
|
||||
"rangeConflict": "流量区间与节点组 \"{{name}}\" 冲突(区间:{{min}} - {{max}} GB)"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user