♻️ refactor: Refactor server management API endpoints and typings

This commit is contained in:
web
2025-08-26 09:37:15 -07:00
parent 217ddce60c
commit 4f7cc807af
141 changed files with 5665 additions and 10338 deletions
+18 -9
View File
@@ -1,27 +1,36 @@
{
"ADS Config": "Cấu hình ADS",
"Announcement Management": "Quản lý Thông báo",
"Application Management": "Quản lý Ứng dụng",
"Auth Control": "Kiểm Soát Xác Thực",
"Balance": "Số dư",
"Commerce": "Thương mại",
"Commission": "Hoa hồng",
"Coupon Management": "Quản lý phiếu giảm giá",
"Dashboard": "Bảng điều khiển",
"Document Management": "Quản lý tài liệu",
"Finance": "Tài chính",
"Email": "Email",
"Gift": "Quà tặng",
"Login": "Đăng nhập",
"Logs & Analytics": "Nhật ký & Phân tích",
"Maintenance": "Bảo trì",
"Marketing Management": "Quản lý Tiếp thị",
"Node Management": "Quản lý nút",
"Order Management": "Quản lý đơn hàng",
"Payment Config": "Cấu hình thanh toán",
"Product Management": "Quản lý sản phẩm",
"Protocol Management": "Quản lý Giao thức",
"Rule Management": "Quản lý Quy tắc",
"Server": "Dịch vụ",
"Register": "Đăng ký",
"Reset Subscribe": "Đặt lại đăng ký",
"SMS": "Tin nhắn SMS",
"Server Management": "Quản lý máy chủ",
"Settings": "Cài đặt",
"Server Traffic": "Lưu lượng máy chủ",
"Subscribe": "Đăng ký",
"Subscribe Config": "Cấu hình Đăng ký",
"Subscribe Traffic": "Lưu lượng đăng ký",
"System": "Hệ thống",
"System Config": "Cấu hình hệ thống",
"System Management": "Quản lý Hệ thống",
"System Tool": "Công Cụ Hệ Thống",
"Ticket Management": "Quản lý phiếu hỗ trợ",
"User": "Người dùng",
"User Detail": "Chi Tiết Người Dùng",
"User Management": "Quản lý người dùng"
"User Management": "Quản lý người dùng",
"Users & Support": "Người dùng & Hỗ trợ"
}
+37
View File
@@ -0,0 +1,37 @@
{
"address": "Địa chỉ",
"cancel": "Hủy",
"confirm": "Xác nhận",
"confirmDeleteDesc": "Hành động này không thể hoàn tác.",
"confirmDeleteTitle": "Xóa nút này?",
"copied": "Đã sao chép",
"copy": "Sao chép",
"create": "Tạo",
"created": "Đã tạo",
"delete": "Xóa",
"deleted": "Đã xóa",
"drawerCreateTitle": "Tạo Nút",
"drawerEditTitle": "Chỉnh sửa Nút",
"edit": "Chỉnh sửa",
"enabled": "Đã bật",
"enabled_off": "Đã tắt",
"enabled_on": "Đã bật",
"errors": {
"nameRequired": "Vui lòng nhập tên",
"portRange": "Cổng phải nằm trong khoảng từ 1 đến 65535",
"protocolRequired": "Vui lòng chọn một giao thức",
"serverAddrRequired": "Vui lòng nhập địa chỉ truy cập",
"serverRequired": "Vui lòng chọn một máy chủ"
},
"name": "Tên",
"pageTitle": "Các Nút",
"port": "Cổng",
"protocol": "Giao thức",
"select_protocol": "Chọn giao thức…",
"select_server": "Chọn máy chủ…",
"server": "Máy chủ",
"tags": "Thẻ",
"tags_description": "Thẻ nhóm quyền (bao gồm ràng buộc kế hoạch và chính sách giao hàng).",
"tags_placeholder": "Sử dụng Enter hoặc dấu phẩy (,) để thêm nhiều thẻ",
"updated": "Đã cập nhật"
}
+3 -58
View File
@@ -1,59 +1,6 @@
{
"actions": "Hành động",
"app": {
"appDownloadURL": "URL Tải Ứng Dụng",
"appIcon": "Biểu Tượng Ứng Dụng",
"appList": "Danh sách ứng dụng",
"appName": "Tên Ứng Dụng",
"backupDomains": "Danh sách miền dự phòng",
"backupDomainsDescription": "Danh sách miền dự phòng cho việc phân giải miền, mỗi dòng một miền",
"batchDelete": "Xóa Hàng Loạt",
"cancel": "Hủy",
"communicationKey": "Khóa Giao Tiếp",
"communicationKeyDescription": "Khóa được sử dụng cho giao tiếp với khách hàng",
"config": "Cấu hình",
"configApp": "Cấu hình ứng dụng",
"confirm": "Xác Nhận",
"confirmDelete": "Xác Nhận Xóa",
"create": "Tạo mới",
"createApp": "Tạo Ứng Dụng",
"createSuccess": "Tạo thành công",
"defaultVersion": "Mặc định",
"delete": "Xóa",
"deleteWarning": "Hành động này không thể hoàn tác",
"describeDescription": "Dùng để mô tả ứng dụng, hiển thị trong danh sách ứng dụng",
"description": "Mô tả",
"downloadLink": "Liên kết tải về",
"edit": "Chỉnh Sửa",
"editApp": "Chỉnh Sửa Ứng Dụng",
"encryption": "Phương Pháp Mã Hóa",
"encryptionDescription": "Chọn phương pháp mã hóa cho giao tiếp với khách hàng. Nếu được chọn, khách hàng sẽ sử dụng phương pháp này để giao tiếp với máy chủ",
"nameDescription": "Tên ứng dụng, hiển thị trong danh sách ứng dụng",
"platform": "Nền Tảng",
"selectApp": "Chọn Ứng Dụng",
"selectAppDescription": "Chọn ứng dụng để cấu hình, tất cả các cài đặt sẽ áp dụng cho ứng dụng đã chọn",
"startupPicture": "Hình ảnh khởi động",
"startupPictureDescription": "Hình ảnh khởi động, hỗ trợ hình ảnh mạng và cục bộ. Đối với hình ảnh mạng, vui lòng nhập URL hình ảnh đầy đủ",
"startupPicturePreview": "Xem trước hình ảnh khởi động",
"startupPictureSkip": "Thời gian bỏ qua hình ảnh khởi động",
"startupPictureSkipDescription": "Thời gian hiển thị hình ảnh khởi động tính bằng giây, nhập 0 để không hiển thị",
"subscriptionProtocol": "Giao Thức Đăng Ký",
"updateSuccess": "Cập nhật thành công",
"version": "Phiên bản"
},
"cancel": "Hủy",
"config": {
"singleSubscriptionMode": "Chế Độ Đăng Ký Đơn",
"subscriptionDomain": "Miền Đăng Ký",
"subscriptionDomainDescription": "Dùng cho đăng ký; để trống để sử dụng miền của trang",
"subscriptionDomainPlaceholder": "Nhập miền đăng ký, mỗi dòng một miền",
"subscriptionPath": "Đường Dẫn Đăng Ký",
"subscriptionPathDescription": "Dùng cho đăng ký; hãy chắc chắn khởi động lại hệ thống sau khi sửa đổi để có hiệu suất tối ưu",
"subscriptionPathPlaceholder": "Nhập",
"updateSuccess": "Cập nhật thành công",
"wildcardResolution": "Giải Quyết Ký Tự Đại Diện",
"wildcardResolutionDescription": "Dùng cho đăng ký"
},
"confirm": "Xác nhận",
"confirmDelete": "Bạn có chắc chắn muốn xóa không?",
"copy": "Sao chép",
@@ -94,6 +41,9 @@
"name": "Tên",
"noLimit": "Không giới hạn",
"noReset": "Không Đặt Lại",
"node": "Nút",
"nodeGroup": "Nhóm Nút",
"nodes": "Các Nút",
"pricing": "Giá Cả",
"purchaseWithDiscount": "Cho Phép Khấu Trừ",
"purchaseWithDiscountDescription": "Bật hoặc tắt chức năng hủy đăng ký. Sau khi kích hoạt, hệ thống sẽ thực hiện xử lý khấu trừ theo các quy tắc và tỷ lệ đã cấu hình, và giá trị còn lại sẽ được trả về số dư",
@@ -106,9 +56,6 @@
"selectResetCycle": "Vui lòng chọn một chu kỳ đặt lại",
"selectSubscribeGroup": "Vui lòng chọn nhóm đăng ký",
"selectUnitTime": "Vui lòng chọn đơn vị thời gian",
"server": "Dịch vụ",
"serverGroup": "Nhóm dịch vụ",
"servers": "Máy Chủ",
"speedLimit": "Giới hạn tốc độ ",
"traffic": "Lưu lượng",
"unitPrice": "Đơn giá",
@@ -150,8 +97,6 @@
"subscribeGroup": "Nhóm đăng ký",
"tabs": {
"subscribe": "Đăng ký",
"subscribeApp": "Cấu Hình Ứng Dụng",
"subscribeConfig": "Cấu Hình Đăng Ký",
"subscribeGroup": "Nhóm đăng ký"
},
"traffic": "lưu lượng",
-183
View File
@@ -1,183 +0,0 @@
{
"config": {
"addTimeSlot": "Thêm Khung Giờ",
"communicationKey": "Khóa Giao Tiếp",
"communicationKeyDescription": "Khóa cho giao tiếp giữa các nút để đảm bảo an toàn dữ liệu",
"delete": "Xóa",
"dynamicMultiplier": "Hệ Số Động",
"dynamicMultiplierDescription": "Hệ Số Động đề cập đến việc xử lý dữ liệu đẩy với các hệ số khác nhau cho các nút khác nhau trong các khoảng thời gian khác nhau.",
"endTime": "Thời Gian Kết Thúc",
"inputPlaceholder": "Nhập",
"multiplier": "Hệ Số",
"nodePullInterval": "Khoảng Thời Gian Kéo Nút",
"nodePullIntervalDescription": "Tần suất (tính bằng giây) để các nút lấy dữ liệu từ bảng điều khiển",
"nodePushInterval": "Khoảng Thời Gian Đẩy Nút",
"nodePushIntervalDescription": "Tần suất để các nút đẩy dữ liệu lên bảng điều khiển",
"reset": "Đặt Lại",
"save": "Lưu",
"saveSuccess": "Lưu Thành Công",
"startTime": "Thời Gian Bắt Đầu",
"timeSlot": "Khung Giờ"
},
"group": {
"actions": "Hành động",
"cancel": "Hủy bỏ",
"confirm": "Xác nhận",
"confirmDelete": "Bạn có chắc chắn muốn xóa không?",
"create": "Tạo",
"createNodeGroup": "Tạo nhóm nút",
"createdSuccessfully": "Tạo thành công",
"delete": "Xóa",
"deleteWarning": "Dữ liệu sẽ không thể khôi phục sau khi xóa, hãy cẩn thận.",
"deletedSuccessfully": "Xóa thành công",
"description": "Mô tả",
"edit": "Chỉnh sửa",
"editNodeGroup": "Chỉnh sửa nhóm nút",
"name": "Tên",
"title": "Danh sách nhóm nút",
"updatedAt": "Thời gian cập nhật"
},
"groupForm": {
"cancel": "Hủy",
"confirm": "Xác nhận",
"description": "Mô tả",
"name": "Tên"
},
"node": {
"abnormal": "Bất thường",
"actions": "Hành động",
"address": "Địa chỉ",
"all": "Tất cả",
"basicInfo": "Thông tin cơ bản",
"cancel": "Hủy",
"confirm": "Xác nhận",
"confirmDelete": "Bạn có chắc chắn muốn xóa không?",
"copy": "Sao chép",
"copySuccess": "Sao chép thành công",
"create": "Tạo",
"createNode": "Tạo nút",
"createSuccess": "Tạo thành công",
"delete": "Xóa",
"deleteSuccess": "Xóa thành công",
"deleteWarning": "Sau khi xóa, dữ liệu sẽ không thể khôi phục. Vui lòng cẩn thận.",
"detail": "Chi tiết",
"disabled": "Đã tắt",
"disk": "Đĩa",
"edit": "Chỉnh sửa",
"editNode": "Chỉnh sửa nút",
"enable": "Kích hoạt",
"enabled": "Đã bật",
"expireTime": "Thời gian hết hạn",
"hide": "Ẩn",
"id": "ID",
"ipAddresses": "Địa chỉ IP",
"lastUpdated": "Cập nhật lần cuối",
"location": "Vị trí",
"memory": "Bộ nhớ",
"name": "Tên",
"noData": "--",
"node": "Nút",
"nodeDetail": "Chi tiết nút",
"nodeGroup": "Nhóm nút",
"nodeStatus": "Trạng thái nút",
"normal": "Bình thường",
"onlineCount": "Số người trực tuyến",
"onlineUsers": "Người dùng trực tuyến",
"protocol": "Giao thức",
"rate": "Tốc độ",
"relay": "Chuyển tiếp",
"serverAddr": "Địa chỉ máy chủ",
"speedLimit": "Giới hạn tốc độ",
"status": "Trạng thái",
"subscribeId": "ID đăng ký",
"subscribeName": "Tên đăng ký",
"subscription": "Đăng ký",
"tags": "Thẻ",
"trafficRatio": "Tỷ lệ lưu lượng",
"trafficUsage": "Sử dụng băng thông",
"type": "Loại",
"updateSuccess": "Cập nhật thành công",
"updatedAt": "Thời gian cập nhật",
"user": "Người dùng",
"userDetail": "Chi tiết người dùng",
"userId": "ID người dùng"
},
"nodeForm": {
"allowInsecure": "Cho phép không bảo mật",
"cancel": "Hủy",
"city": "Thành phố",
"confirm": "Xác nhận",
"congestionController": "Bộ điều khiển tắc nghẽn",
"country": "Quốc gia",
"disableSni": "Vô hiệu hóa SNI",
"edit": "Chỉnh sửa",
"editSecurity": "Chỉnh sửa cấu hình bảo mật",
"enableTLS": "Bật TLS",
"encryptionMethod": "Phương pháp mã hóa",
"fingerprint": "Dấu vân tay",
"flow": "Thuật toán kiểm soát luồng",
"groupId": "Nhóm nút",
"hopInterval": "Khoảng thời gian nhảy",
"hopPorts": "Cổng nhảy",
"hopPortsPlaceholder": "Tách nhiều cổng bằng dấu phẩy",
"name": "Tên",
"obfsPassword": "Mật khẩu làm mờ",
"obfsPasswordPlaceholder": "Để trống nếu không cần làm mờ",
"path": "Đường dẫn",
"pleaseSelect": "Vui lòng chọn",
"port": "Cổng máy chủ",
"protocol": "Giao thức",
"reduceRtt": "Giảm RTT",
"relayHost": "Máy chủ tiếp sức",
"relayMode": "Chế độ tiếp sức",
"relayPort": "Cổng tiếp sức",
"relayPrefix": "Tiền tố tiếp sức",
"remarks": "Ghi chú",
"security": "Bảo mật",
"securityConfig": "Cấu hình bảo mật",
"selectEncryptionMethod": "Chọn phương pháp mã hóa",
"selectNodeGroup": "Chọn nhóm nút",
"selectProtocol": "Chọn giao thức",
"selectRelayMode": "Chọn chế độ tiếp sức",
"serverAddr": "Địa chỉ máy chủ",
"serverKey": "Khóa máy chủ",
"serverName": "Tên dịch vụ",
"speedLimit": "Giới hạn tốc độ",
"speedLimitPlaceholder": "Không giới hạn",
"tags": "Thẻ",
"tagsPlaceholder": "Sử dụng Enter hoặc dấu phẩy (,) để nhập nhiều thẻ",
"trafficRatio": "Tỷ lệ lưu lượng",
"transport": "Cấu hình giao thức vận chuyển",
"transportConfig": "Cấu hình giao thức vận chuyển",
"transportHost": "Địa chỉ máy chủ vận chuyển",
"transportPath": "Đường dẫn vận chuyển",
"transportServerName": "Tên máy chủ vận chuyển",
"udpRelayMode": "Chế độ tiếp sức UDP"
},
"relayModeOptions": {
"all": "Tất cả",
"none": "Không có",
"random": "Ngẫu nhiên"
},
"securityConfig": {
"fingerprint": "Dấu vân tay",
"privateKey": "Khóa riêng",
"privateKeyPlaceholder": "Để trống để tự động tạo",
"publicKey": "Khóa công khai",
"publicKeyPlaceholder": "Để trống để tự động tạo",
"serverAddress": "Địa chỉ máy chủ",
"serverAddressPlaceholder": "Địa chỉ mục tiêu REALITY, mặc định sử dụng SNI",
"serverName": "Tên máy chủ (SNI)",
"serverNamePlaceholder": "Cần thiết cho REALITY, nhất quán với backend",
"serverPort": "Cổng máy chủ",
"serverPortPlaceholder": "Cổng mục tiêu REALITY, mặc định 443",
"shortId": "ID ngắn",
"shortIdPlaceholder": "Để trống để tự động tạo",
"sni": "Chỉ thị tên máy chủ (SNI)"
},
"tabs": {
"node": "Nút",
"nodeConfig": "Cấu Hình Nút",
"nodeGroup": "Nhóm nút"
}
}
+101
View File
@@ -0,0 +1,101 @@
{
"address": "Địa chỉ",
"address_placeholder": "Địa chỉ máy chủ",
"cancel": "Hủy",
"city": "Thành phố",
"config": {
"actions": {
"cancel": "Hủy",
"save": "Lưu"
},
"communicationKey": "Khóa giao tiếp",
"communicationKeyDescription": "Dùng để xác thực nút.",
"description": "Quản lý khóa giao tiếp nút, khoảng thời gian kéo/đẩy, và các hệ số động.",
"dynamicMultiplier": "Hệ số động",
"dynamicMultiplierDescription": "Định nghĩa khoảng thời gian và hệ số để điều chỉnh tính toán lưu lượng.",
"endTime": "Thời gian kết thúc",
"inputPlaceholder": "Vui lòng nhập",
"multiplier": "Hệ số",
"nodePullInterval": "Khoảng thời gian kéo nút",
"nodePullIntervalDescription": "Tần suất nút kéo cấu hình (giây).",
"nodePushInterval": "Khoảng thời gian đẩy nút",
"nodePushIntervalDescription": "Tần suất nút đẩy thống kê (giây).",
"reset": "Đặt lại",
"save": "Lưu",
"saveSuccess": "Lưu thành công",
"startTime": "Thời gian bắt đầu",
"timeSlot": "Khung thời gian",
"title": "Cấu hình nút"
},
"confirm": "Xác nhận",
"confirmDeleteDesc": "Hành động này không thể hoàn tác.",
"confirmDeleteTitle": "Xóa máy chủ này?",
"congestion_controller": "Bộ điều khiển tắc nghẽn",
"copied": "Đã sao chép",
"copy": "Sao chép",
"country": "Quốc gia",
"cpu": "CPU",
"create": "Tạo",
"created": "Tạo thành công",
"delete": "Xóa",
"deleted": "Xóa thành công",
"disable_sni": "Vô hiệu hóa SNI",
"disk": "Ổ đĩa",
"drawerCreateTitle": "Tạo Máy chủ",
"drawerEditTitle": "Chỉnh sửa Máy chủ",
"edit": "Chỉnh sửa",
"enabled": "Đã bật",
"encryption_method": "Phương pháp mã hóa",
"expireTime": "Thời gian hết hạn",
"expired": "Đã hết hạn",
"flow": "Lưu lượng",
"hop_interval": "Khoảng thời gian nhảy",
"hop_ports": "Cổng nhảy",
"hop_ports_placeholder": "vd. 1-65535",
"host": "Máy chủ",
"id": "ID",
"ipAddresses": "Địa chỉ IP",
"memory": "Bộ nhớ",
"name": "Tên",
"noData": "Không có dữ liệu",
"notAvailable": "Không khả dụng",
"obfs_password": "Mật khẩu làm mờ",
"obfs_password_placeholder": "Nhập mật khẩu làm mờ",
"offline": "Ngoại tuyến",
"online": "Trực tuyến",
"onlineUsers": "Người dùng trực tuyến",
"pageTitle": "Máy chủ",
"path": "Đường dẫn",
"please_select": "Vui lòng chọn",
"port": "Cổng",
"protocols": "Giao thức",
"reduce_rtt": "Giảm RTT",
"security_allow_insecure": "Cho phép không an toàn",
"security_fingerprint": "Dấu vân tay",
"security_private_key": "Khóa riêng thực tế",
"security_private_key_placeholder": "Nhập khóa riêng",
"security_public_key": "Khóa công khai thực tế",
"security_public_key_placeholder": "Nhập khóa công khai",
"security_server_address": "Địa chỉ máy chủ thực tế",
"security_server_address_placeholder": "vd. 1.2.3.4 hoặc tên miền",
"security_server_port": "Cổng máy chủ thực tế",
"security_short_id": "ID ngắn thực tế",
"security_short_id_placeholder": "Chuỗi hex (tối đa 16 ký tự)",
"security_sni": "SNI",
"security_title": "Bảo mật",
"select_encryption_method": "Chọn phương pháp mã hóa",
"server_key": "Khóa máy chủ",
"service_name": "Tên dịch vụ",
"status": "Trạng thái",
"subscribeId": "ID đăng ký",
"subscription": "Đăng ký",
"traffic": "Lưu lượng",
"traffic_ratio": "Hệ số",
"transport_title": "Vận chuyển",
"udp_relay_mode": "Chế độ chuyển tiếp UDP",
"unitSecondsShort": "S",
"unlimited": "Không giới hạn",
"updated": "Cập nhật thành công",
"user": "Người dùng",
"validation_failed": "Xác thực không thành công. Vui lòng kiểm tra biểu mẫu."
}