mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-26 13:07:14 +00:00
i18n(panel): migrate hardcoded panel strings to en-US and translate all locales
Surface ~400 hardcoded English labels, tooltips, placeholders, dt/divider text, modal okText/cancelText, and Spin loading from the panel pages (clients/groups/inbounds/nodes/settings/xray/sub/index) into web/translation/en-US.json under existing pages.<page>.* namespaces, with JSX swapped to t(...). Brand and protocol identifiers (TLS, MTU, SNI, NordVPN, Cloudflare WARP, etc.) stay literal. Sync all 12 non-English locales (ar-EG, es-ES, fa-IR, id-ID, ja-JP, pt-BR, ru-RU, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW) to match en-US's structure and translate the 521 new key paths per locale. Every locale file now has 1539 lines, mirroring en-US ordering. Also remove a dead duplicate "info": "Info" key under pages.inbounds that collided with the new pages.inbounds.info.* object. Backend: bulk attach/detach errors in web/service/client.go now route through logger.Warningf (so they appear under /panel/api/server/logs/) instead of only living on the response payload.
This commit is contained in:
+457
-40
@@ -8,15 +8,22 @@
|
||||
"save": "Lưu",
|
||||
"logout": "Đăng xuất",
|
||||
"create": "Tạo",
|
||||
"add": "Thêm",
|
||||
"remove": "Xóa",
|
||||
"update": "Cập nhật",
|
||||
"copy": "Sao chép",
|
||||
"copied": "Đã sao chép",
|
||||
"more": "thêm",
|
||||
"download": "Tải xuống",
|
||||
"remark": "Ghi chú",
|
||||
"enable": "Kích hoạt",
|
||||
"protocol": "Giao thức",
|
||||
"search": "Tìm kiếm",
|
||||
"filter": "Bộ lọc",
|
||||
"filter": "Lọc",
|
||||
"all": "Tất cả",
|
||||
"from": "Từ",
|
||||
"to": "Đến",
|
||||
"done": "Xong",
|
||||
"loading": "Đang tải",
|
||||
"refresh": "Làm mới",
|
||||
"clear": "Xóa",
|
||||
@@ -27,10 +34,10 @@
|
||||
"check": "Kiểm tra",
|
||||
"indefinite": "Không xác định",
|
||||
"unlimited": "Không giới hạn",
|
||||
"none": "None",
|
||||
"none": "Không",
|
||||
"qrCode": "Mã QR",
|
||||
"info": "Thông tin thêm",
|
||||
"edit": "Chỉnh sửa",
|
||||
"edit": "Sửa",
|
||||
"delete": "Xóa",
|
||||
"reset": "Đặt lại",
|
||||
"noData": "Không có dữ liệu.",
|
||||
@@ -39,7 +46,7 @@
|
||||
"encryption": "Mã hóa",
|
||||
"useIPv4ForHost": "Sử dụng IPv4 cho máy chủ",
|
||||
"transmission": "Truyền tải",
|
||||
"host": "Máy chủ",
|
||||
"host": "Host",
|
||||
"path": "Đường dẫn",
|
||||
"camouflage": "Ngụy trang",
|
||||
"status": "Trạng thái",
|
||||
@@ -95,11 +102,12 @@
|
||||
"dark": "Tối",
|
||||
"ultraDark": "Siêu tối",
|
||||
"dashboard": "Trạng thái hệ thống",
|
||||
"inbounds": "Đầu vào khách hàng",
|
||||
"inbounds": "Inbound",
|
||||
"clients": "Khách hàng",
|
||||
"groups": "Nhóm",
|
||||
"nodes": "Nút",
|
||||
"settings": "Cài đặt bảng điều khiển",
|
||||
"xray": "Cài đặt Xray",
|
||||
"xray": "Cấu hình Xray",
|
||||
"apiDocs": "Tài liệu API",
|
||||
"logout": "Đăng xuất",
|
||||
"link": "Quản lý",
|
||||
@@ -128,7 +136,7 @@
|
||||
"memory": "RAM",
|
||||
"threads": "Luồng",
|
||||
"xrayStatus": "Xray",
|
||||
"stopXray": "Dừng lại",
|
||||
"stopXray": "Dừng",
|
||||
"restartXray": "Khởi động lại",
|
||||
"xraySwitch": "Phiên bản",
|
||||
"xrayUpdates": "Cập nhật Xray",
|
||||
@@ -241,18 +249,18 @@
|
||||
"getConfigError": "Lỗi xảy ra khi truy xuất tệp cấu hình"
|
||||
},
|
||||
"inbounds": {
|
||||
"title": "Điểm vào (Inbounds)",
|
||||
"title": "Inbound",
|
||||
"totalDownUp": "Tổng tải lên/tải xuống",
|
||||
"totalUsage": "Tổng sử dụng",
|
||||
"inboundCount": "Số lượng điểm vào",
|
||||
"operate": "Thao tác",
|
||||
"operate": "Menu",
|
||||
"enable": "Kích hoạt",
|
||||
"remark": "Chú thích",
|
||||
"node": "Nút",
|
||||
"node": "Node",
|
||||
"deployTo": "Triển khai tới",
|
||||
"localPanel": "Panel cục bộ",
|
||||
"fallbacks": {
|
||||
"title": "Fallback",
|
||||
"title": "Fallbacks",
|
||||
"help": "Khi một kết nối trên inbound này không khớp với client nào, nó sẽ được chuyển hướng tới inbound khác. Chọn một child bên dưới và các trường định tuyến (SNI / ALPN / Path / xver) sẽ được tự động điền từ transport của child — hầu hết cấu hình không cần chỉnh thêm. Mỗi child nên lắng nghe trên 127.0.0.1 với security=none.",
|
||||
"empty": "Chưa có fallback nào",
|
||||
"add": "Thêm fallback",
|
||||
@@ -270,10 +278,10 @@
|
||||
},
|
||||
"protocol": "Giao thức",
|
||||
"port": "Cổng",
|
||||
"portMap": "Cổng tạo",
|
||||
"portMap": "Ánh xạ cổng",
|
||||
"traffic": "Lưu lượng",
|
||||
"details": "Chi tiết",
|
||||
"transportConfig": "Giao vận",
|
||||
"transportConfig": "Truyền dẫn",
|
||||
"expireDate": "Ngày hết hạn",
|
||||
"createdAt": "Tạo lúc",
|
||||
"updatedAt": "Cập nhật",
|
||||
@@ -292,6 +300,24 @@
|
||||
"delAllClients": "Xóa tất cả khách hàng",
|
||||
"delAllClientsConfirmTitle": "Xóa toàn bộ {count} khách hàng khỏi \"{remark}\"?",
|
||||
"delAllClientsConfirmContent": "Xóa mọi khách hàng khỏi inbound này và hủy bản ghi lưu lượng của họ. Bản thân inbound vẫn được giữ lại. Hành động này không thể hoàn tác.",
|
||||
"attachClients": "Gắn client vào…",
|
||||
"addClientsToGroup": "Thêm client vào nhóm…",
|
||||
"attachClientsTitle": "Gắn client từ «{remark}»",
|
||||
"attachClientsDesc": "Gắn cùng {count} client (cùng UUID/mật khẩu và lưu lượng chung) vào các inbound đã chọn. Họ vẫn ở trên inbound này.",
|
||||
"attachClientsTargets": "Inbound đích",
|
||||
"attachClientsNoTargets": "Không có inbound tương thích khác để gắn.",
|
||||
"attachClientsResult": "Đã gắn {attached}, bỏ qua {skipped}.",
|
||||
"attachClientsResultMixed": "Đã gắn {attached}, bỏ qua {skipped}, lỗi {errors}.",
|
||||
"attachClientsSelectLabel": "Client để gắn",
|
||||
"attachClientsSearchPlaceholder": "Tìm email hoặc ghi chú",
|
||||
"attachClientsStatusDisabled": "Đã tắt",
|
||||
"attachClientsSelectedCount": "Đã chọn {selected}/{total}",
|
||||
"detachClients": "Tách client",
|
||||
"detachClientsTitle": "Tách client của «{remark}»",
|
||||
"detachClientsDesc": "Chỉ xóa client đã chọn khỏi inbound này. Hồ sơ client được giữ lại (dùng Delete để xóa hoàn toàn). Nguồn có tổng cộng {count} client.",
|
||||
"detachClientsResult": "Đã tách {detached}, bỏ qua {skipped}.",
|
||||
"detachClientsResultMixed": "Đã tách {detached}, bỏ qua {skipped}, lỗi {errors}.",
|
||||
"detachClientsSelectLabel": "Client để tách",
|
||||
"exportLinksTitle": "Xuất liên kết inbound",
|
||||
"exportSubsTitle": "Xuất liên kết đăng ký",
|
||||
"exportAllLinksTitle": "Xuất tất cả liên kết inbound",
|
||||
@@ -306,7 +332,7 @@
|
||||
"destinationPort": "Cổng đích",
|
||||
"targetAddress": "Địa chỉ mục tiêu",
|
||||
"monitorDesc": "Mặc định để trống",
|
||||
"meansNoLimit": "= Không giới hạn (đơn vị: GB)",
|
||||
"meansNoLimit": "= Không giới hạn. (đơn vị: GB)",
|
||||
"totalFlow": "Tổng lưu lượng",
|
||||
"leaveBlankToNeverExpire": "Để trống để không bao giờ hết hạn",
|
||||
"noRecommendKeepDefault": "Không yêu cầu đặc biệt để giữ nguyên cài đặt mặc định",
|
||||
@@ -341,6 +367,7 @@
|
||||
"IPLimitlogDesc": "Lịch sử đăng nhập IP (trước khi kích hoạt điểm vào sau khi bị vô hiệu hóa bởi giới hạn IP, bạn nên xóa lịch sử).",
|
||||
"IPLimitlogclear": "Xóa Lịch sử",
|
||||
"setDefaultCert": "Đặt chứng chỉ từ bảng điều khiển",
|
||||
"setDefaultCertEmpty": "Không có chứng chỉ nào được cấu hình cho bảng điều khiển. Hãy đặt một chứng chỉ trong Cài đặt trước.",
|
||||
"streamTab": "Stream",
|
||||
"securityTab": "Bảo mật",
|
||||
"sniffingTab": "Sniffing",
|
||||
@@ -369,7 +396,6 @@
|
||||
},
|
||||
"telegramDesc": "Vui lòng cung cấp ID Trò chuyện Telegram. (sử dụng lệnh '/id' trong bot) hoặc ({'@'}userinfobot)",
|
||||
"subscriptionDesc": "Bạn có thể tìm liên kết gói đăng ký của mình trong Chi tiết, cũng như bạn có thể sử dụng cùng tên cho nhiều cấu hình khác nhau",
|
||||
"info": "Thông tin",
|
||||
"same": "Giống nhau",
|
||||
"inboundData": "Dữ liệu gửi đến",
|
||||
"exportInbound": "Xuất nhập khẩu",
|
||||
@@ -406,6 +432,139 @@
|
||||
"getNewmldsa65Error": "Lỗi khi lấy chứng chỉ mldsa65.",
|
||||
"getNewVlessEncError": "Lỗi khi lấy chứng chỉ VlessEnc."
|
||||
},
|
||||
"form": {
|
||||
"moveUp": "Lên",
|
||||
"moveDown": "Xuống",
|
||||
"addAll": "Thêm tất cả",
|
||||
"addAllFallbackTooltip": "Thêm hàng fallback cho mỗi inbound đủ điều kiện chưa được nối",
|
||||
"peers": "Peers",
|
||||
"addPeer": "Thêm peer",
|
||||
"keepAlive": "Keep-alive",
|
||||
"autoSystemRoutesTooltip": "Chỉ Windows. CIDR được tự động thêm vào bảng định tuyến hệ thống để lưu lượng khớp đi qua TUN.",
|
||||
"autoOutboundsInterface": "Giao diện outbound tự động",
|
||||
"autoOutboundsInterfaceTooltip": "Giao diện vật lý cho lưu lượng đi. Dùng 'auto' để tự phát hiện; tự bật khi Auto system routes được đặt.",
|
||||
"rewriteAddress": "Viết lại địa chỉ",
|
||||
"rewritePort": "Viết lại cổng",
|
||||
"allowedNetwork": "Mạng cho phép",
|
||||
"followRedirect": "Theo redirect",
|
||||
"accounts": "Tài khoản",
|
||||
"allowTransparent": "Cho phép trong suốt",
|
||||
"encryptionMethod": "Phương thức mã hóa",
|
||||
"visionTestseed": "Vision testseed",
|
||||
"version": "Phiên bản",
|
||||
"udpIdleTimeout": "UDP idle timeout (s)",
|
||||
"masquerade": "Masquerade",
|
||||
"type": "Loại",
|
||||
"upstreamUrl": "Upstream URL",
|
||||
"rewriteHost": "Viết lại Host",
|
||||
"skipTlsVerify": "Bỏ qua xác minh TLS",
|
||||
"directory": "Thư mục",
|
||||
"statusCode": "Mã trạng thái",
|
||||
"body": "Body",
|
||||
"headers": "Header",
|
||||
"proxyProtocol": "Proxy Protocol",
|
||||
"requestVersion": "Phiên bản yêu cầu",
|
||||
"requestMethod": "Phương thức yêu cầu",
|
||||
"requestPath": "Đường dẫn yêu cầu",
|
||||
"requestHeaders": "Header yêu cầu",
|
||||
"responseVersion": "Phiên bản phản hồi",
|
||||
"responseStatus": "Trạng thái phản hồi",
|
||||
"responseReason": "Lý do phản hồi",
|
||||
"responseHeaders": "Header phản hồi",
|
||||
"heartbeatPeriod": "Chu kỳ heartbeat",
|
||||
"serviceName": "Tên dịch vụ",
|
||||
"authority": "Authority",
|
||||
"multiMode": "Multi Mode",
|
||||
"maxBufferedUpload": "Upload buffered tối đa",
|
||||
"maxUploadSize": "Kích thước upload tối đa (Byte)",
|
||||
"streamUpServer": "Stream-Up Server",
|
||||
"serverMaxHeaderBytes": "Byte header máy chủ tối đa",
|
||||
"paddingBytes": "Byte Padding",
|
||||
"uplinkHttpMethod": "Uplink HTTP method",
|
||||
"paddingObfsMode": "Chế độ obfs Padding",
|
||||
"paddingKey": "Padding Key",
|
||||
"paddingHeader": "Padding Header",
|
||||
"paddingPlacement": "Vị trí Padding",
|
||||
"paddingMethod": "Phương thức Padding",
|
||||
"sessionPlacement": "Session Placement",
|
||||
"sessionKey": "Session Key",
|
||||
"sequencePlacement": "Sequence Placement",
|
||||
"sequenceKey": "Sequence Key",
|
||||
"uplinkDataPlacement": "Uplink Data Placement",
|
||||
"uplinkDataKey": "Uplink Data Key",
|
||||
"noSseHeader": "Không có header SSE",
|
||||
"ttiMs": "TTI (ms)",
|
||||
"uplinkMbps": "Uplink (MB/s)",
|
||||
"downlinkMbps": "Downlink (MB/s)",
|
||||
"cwndMultiplier": "Hệ số CWND",
|
||||
"maxSendingWindow": "Cửa sổ gửi tối đa",
|
||||
"externalProxy": "Proxy ngoài",
|
||||
"sniPlaceholder": "SNI (mặc định = host)",
|
||||
"fingerprint": "Fingerprint",
|
||||
"defaultOption": "Mặc định",
|
||||
"routeMark": "Route Mark",
|
||||
"tcpKeepAliveInterval": "TCP Keep Alive Interval",
|
||||
"tcpKeepAliveIdle": "TCP Keep Alive Idle",
|
||||
"tcpMaxSeg": "TCP Max Seg",
|
||||
"tcpUserTimeout": "TCP User Timeout",
|
||||
"tcpWindowClamp": "TCP Window Clamp",
|
||||
"tcpFastOpen": "TCP Fast Open",
|
||||
"multipathTcp": "Multipath TCP",
|
||||
"penetrate": "Penetrate",
|
||||
"v6Only": "Chỉ V6",
|
||||
"tcpCongestion": "TCP Congestion",
|
||||
"dialerProxy": "Dialer Proxy",
|
||||
"trustedXForwardedFor": "X-Forwarded-For tin cậy",
|
||||
"addressPortStrategy": "Chiến lược địa chỉ+cổng",
|
||||
"tryDelayMs": "Độ trễ thử (ms)",
|
||||
"prioritizeIPv6": "Ưu tiên IPv6",
|
||||
"interleave": "Interleave",
|
||||
"maxConcurrentTry": "Số thử đồng thời tối đa",
|
||||
"customSockopt": "Sockopt tùy chỉnh",
|
||||
"addCustomOption": "Thêm tùy chọn",
|
||||
"serverNameIndication": "SNI",
|
||||
"cipherSuites": "Cipher Suites",
|
||||
"autoOption": "Tự động",
|
||||
"minMaxVersion": "Phiên bản Min/Max",
|
||||
"rejectUnknownSni": "Từ chối SNI lạ",
|
||||
"disableSystemRoot": "Tắt System Root",
|
||||
"sessionResumption": "Khôi phục phiên",
|
||||
"oneTimeLoading": "Tải một lần",
|
||||
"usageOption": "Tùy chọn sử dụng",
|
||||
"buildChain": "Tạo chuỗi",
|
||||
"echKey": "ECH key",
|
||||
"echConfig": "Cấu hình ECH",
|
||||
"getNewEchCert": "Lấy chứng chỉ ECH mới",
|
||||
"show": "Hiện",
|
||||
"xver": "Xver",
|
||||
"target": "Mục tiêu",
|
||||
"maxTimeDiff": "Chênh lệch thời gian tối đa (ms)",
|
||||
"minClientVer": "Phiên bản client tối thiểu",
|
||||
"maxClientVer": "Phiên bản client tối đa",
|
||||
"shortIds": "Short IDs",
|
||||
"spiderX": "SpiderX",
|
||||
"getNewCert": "Lấy chứng chỉ mới",
|
||||
"mldsa65Seed": "mldsa65 Seed",
|
||||
"mldsa65Verify": "mldsa65 Verify",
|
||||
"getNewSeed": "Lấy Seed mới"
|
||||
},
|
||||
"info": {
|
||||
"mode": "Chế độ",
|
||||
"grpcServiceName": "grpc serviceName",
|
||||
"grpcMultiMode": "grpc multiMode",
|
||||
"interfaceName": "Tên giao diện",
|
||||
"mtu": "MTU",
|
||||
"gateway": "Gateway",
|
||||
"dns": "DNS",
|
||||
"outboundsInterface": "Giao diện outbound",
|
||||
"autoSystemRoutes": "Định tuyến hệ thống tự động",
|
||||
"followRedirect": "FollowRedirect",
|
||||
"auth": "Auth",
|
||||
"noKernelTun": "TUN không kernel",
|
||||
"keepAlive": "Keep alive",
|
||||
"peerNumber": "Peer {n}",
|
||||
"peerNumberConfig": "Cấu hình Peer {n}"
|
||||
},
|
||||
"stream": {
|
||||
"general": {
|
||||
"request": "Lời yêu cầu",
|
||||
@@ -456,6 +615,20 @@
|
||||
"days": "Ngày",
|
||||
"renew": "Tự động gia hạn",
|
||||
"renewDesc": "Tự động gia hạn sau khi hết hạn. (0 = tắt) (đơn vị: ngày)",
|
||||
"searchPlaceholder": "Tìm email, ghi chú, sub ID, UUID, mật khẩu, auth…",
|
||||
"filterTitle": "Lọc client",
|
||||
"clearAllFilters": "Xóa tất cả",
|
||||
"sortOldest": "Cũ nhất trước",
|
||||
"sortNewest": "Mới nhất trước",
|
||||
"sortRecentlyUpdated": "Gần đây cập nhật",
|
||||
"sortRecentlyOnline": "Gần đây trực tuyến",
|
||||
"sortEmailAZ": "Email A→Z",
|
||||
"sortEmailZA": "Email Z→A",
|
||||
"sortMostTraffic": "Nhiều lưu lượng nhất",
|
||||
"sortHighestRemaining": "Còn nhiều nhất",
|
||||
"sortExpiringSoonest": "Sắp hết hạn",
|
||||
"has": "Có",
|
||||
"hasNot": "Không có",
|
||||
"title": "Khách hàng",
|
||||
"actions": "Hành động",
|
||||
"totalGB": "Tổng gửi/nhận (GB)",
|
||||
@@ -466,6 +639,9 @@
|
||||
"subId": "ID đăng ký",
|
||||
"online": "Trực tuyến",
|
||||
"email": "Email",
|
||||
"group": "Nhóm",
|
||||
"groupDesc": "Nhãn logic để gom các client liên quan (nhóm, khách hàng, khu vực). Có thể lọc từ thanh công cụ.",
|
||||
"groupPlaceholder": "ví dụ customer-a",
|
||||
"comment": "Ghi chú",
|
||||
"traffic": "Lưu lượng",
|
||||
"offline": "Ngoại tuyến",
|
||||
@@ -489,11 +665,45 @@
|
||||
"resetAllTraffics": "Đặt lại lưu lượng của tất cả khách hàng",
|
||||
"resetAllTrafficsTitle": "Đặt lại lưu lượng của tất cả khách hàng?",
|
||||
"resetAllTrafficsContent": "Bộ đếm gửi/nhận của mỗi khách hàng về 0. Hạn mức và thời hạn không bị ảnh hưởng. Không thể hoàn tác.",
|
||||
"empty": "Chưa có khách hàng nào — thêm một để bắt đầu.",
|
||||
"deleteConfirmTitle": "Xóa khách hàng {email}?",
|
||||
"deleteConfirmContent": "Hành động này gỡ khách hàng khỏi mọi inbound đã gắn và xóa bản ghi lưu lượng. Không thể hoàn tác.",
|
||||
"deleteSelected": "Xóa ({count})",
|
||||
"adjustSelected": "Điều chỉnh ({count})",
|
||||
"subLinksSelected": "Liên kết sub ({count})",
|
||||
"addToGroupTitle": "Thêm {count} client vào một nhóm",
|
||||
"addToGroupTooltip": "Chọn nhóm có sẵn hoặc nhập tên mới. Dùng Ungroup để xóa client khỏi nhóm hiện tại.",
|
||||
"addToGroupPlaceholder": "Tên nhóm",
|
||||
"addToGroupSuccessToast": "Đã thêm {count} client vào {group}",
|
||||
"ungroupSuccessToast": "Đã xóa nhóm khỏi {count} client",
|
||||
"ungroup": "Bỏ nhóm",
|
||||
"ungroupConfirmTitle": "Xóa {count} client khỏi nhóm của họ?",
|
||||
"ungroupConfirmContent": "Xóa nhãn nhóm trên mỗi client đã chọn. Bản thân client được giữ lại (dùng Delete để xóa hoàn toàn).",
|
||||
"addToGroup": "Thêm vào nhóm",
|
||||
"attach": "Gắn",
|
||||
"adjust": "Điều chỉnh",
|
||||
"subLinks": "Liên kết sub",
|
||||
"selectedCount": "Đã chọn {count}",
|
||||
"attachSelected": "Gắn ({count})",
|
||||
"attachToInboundsTitle": "Gắn {count} client vào inbound",
|
||||
"attachToInboundsDesc": "Gắn {count} client đã chọn (cùng UUID/mật khẩu và lưu lượng chung) vào các inbound đã chọn. Các gắn kết hiện tại được giữ nguyên.",
|
||||
"attachToInboundsTargets": "Inbound đích",
|
||||
"attachToInboundsNoTargets": "Không có inbound đa người dùng nào để gắn.",
|
||||
"detachSelected": "Tách ({count})",
|
||||
"detach": "Tách",
|
||||
"detachFromInboundsTitle": "Tách {count} client khỏi inbound",
|
||||
"detachFromInboundsDesc": "Xóa {count} client đã chọn khỏi các inbound đã chọn. Các cặp client chưa gắn sẽ được bỏ qua. Hồ sơ client được giữ lại (dùng Delete để xóa hoàn toàn).",
|
||||
"detachFromInboundsTargets": "Inbound để tách",
|
||||
"detachFromInboundsNoTargets": "Không có inbound đa người dùng nào.",
|
||||
"detachFromInboundsResult": "Đã tách {detached}, bỏ qua {skipped}.",
|
||||
"detachFromInboundsResultMixed": "Đã tách {detached}, bỏ qua {skipped}, lỗi {errors}.",
|
||||
"subLinksTitle": "Liên kết sub ({count})",
|
||||
"subLinkColumn": "URL đăng ký",
|
||||
"subJsonLinkColumn": "URL JSON đăng ký",
|
||||
"subLinksCopyAll": "Sao chép tất cả",
|
||||
"subLinksCopiedAll": "Đã sao chép {count} liên kết",
|
||||
"subLinksEmpty": "Không client nào trong các client đã chọn có ID đăng ký.",
|
||||
"subLinksDisabled": "Dịch vụ đăng ký đã tắt.",
|
||||
"subLinksDisabledHint": "Bật đăng ký tại Cài đặt bảng điều khiển → Đăng ký để tạo liên kết.",
|
||||
"bulkDeleteConfirmTitle": "Xóa {count} khách hàng?",
|
||||
"bulkDeleteConfirmContent": "Mỗi khách hàng được chọn sẽ bị gỡ khỏi tất cả inbound đã gắn và bản ghi lưu lượng cũng bị xóa. Không thể hoàn tác.",
|
||||
"bulkAdjustTitle": "Điều chỉnh {count} khách hàng",
|
||||
@@ -505,9 +715,10 @@
|
||||
"delDepletedConfirmTitle": "Xóa khách hàng hết hạn mức?",
|
||||
"delDepletedConfirmContent": "Gỡ tất cả khách hàng đã dùng hết hạn mức lưu lượng hoặc đã quá hạn. Không thể hoàn tác.",
|
||||
"auth": "Auth",
|
||||
"hysteriaAuth": "Auth Hysteria",
|
||||
"hysteriaAuth": "Hysteria Auth",
|
||||
"uuid": "UUID",
|
||||
"flow": "Flow",
|
||||
"vmessSecurity": "Bảo mật VMess",
|
||||
"reverseTag": "Reverse tag",
|
||||
"reverseTagPlaceholder": "Reverse tag tùy chọn",
|
||||
"telegramId": "ID người dùng Telegram",
|
||||
@@ -528,10 +739,48 @@
|
||||
"delDepleted": "Đã xóa {count} khách hàng hết hạn mức"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"title": "Nhóm",
|
||||
"name": "Tên",
|
||||
"clientCount": "Client trong nhóm",
|
||||
"totalGroups": "Tổng số nhóm",
|
||||
"totalGroupedClients": "Client có nhóm",
|
||||
"emptyGroups": "Nhóm trống",
|
||||
"addGroup": "Thêm nhóm",
|
||||
"createSuccess": "Đã tạo nhóm «{name}».",
|
||||
"rename": "Đổi tên",
|
||||
"renameTitle": "Đổi tên {name}",
|
||||
"renameCollision": "Nhóm có tên «{name}» đã tồn tại.",
|
||||
"renameSuccess": "Đã đổi tên nhóm trên {count} client.",
|
||||
"deleteConfirmTitle": "Xóa nhóm {name}?",
|
||||
"deleteConfirmContent": "Việc này xóa nhóm và xóa nhãn khỏi {count} client. Bản thân client không bị xóa.",
|
||||
"deleteSuccess": "Đã xóa nhóm khỏi {count} client.",
|
||||
"resetTraffic": "Đặt lại lưu lượng",
|
||||
"resetConfirmTitle": "Đặt lại lưu lượng nhóm {name}?",
|
||||
"resetConfirmContent": "Việc này đưa up/down về 0 cho tất cả {count} client trong nhóm.",
|
||||
"resetSuccess": "Đã đặt lại lưu lượng cho {count} client.",
|
||||
"adjustSuccess": "Đã điều chỉnh {count} client trong {name}.",
|
||||
"emptyForAction": "Nhóm này chưa có client.",
|
||||
"deleteGroupOnly": "Xóa nhóm (giữ client)",
|
||||
"deleteClients": "Xóa client trong nhóm",
|
||||
"deleteClientsConfirmTitle": "Xóa tất cả client trong {name}?",
|
||||
"deleteClientsConfirmContent": "Việc này xóa vĩnh viễn {count} client cùng với hồ sơ lưu lượng. Nhãn nhóm cũng được xóa. Không thể hoàn tác.",
|
||||
"deleteClientsSuccess": "Đã xóa {count} client.",
|
||||
"deleteClientsMixed": "{ok} đã xóa, {failed} bỏ qua",
|
||||
"addToGroup": "Thêm client…",
|
||||
"addToGroupTitle": "Thêm client vào nhóm «{name}»",
|
||||
"addToGroupDesc": "Chọn client để thêm vào nhóm này. Giữ nguyên gắn kết inbound hiện tại; chỉ thay đổi nhãn nhóm. Client đã ở trong nhóm này sẽ không được liệt kê.",
|
||||
"addToGroupEmpty": "Không có client khác để thêm.",
|
||||
"addToGroupResult": "Đã thêm {count} client vào {name}.",
|
||||
"removeFromGroup": "Xóa client…",
|
||||
"removeFromGroupTitle": "Xóa client khỏi nhóm «{name}»",
|
||||
"removeFromGroupDesc": "Chọn thành viên để xóa khỏi nhóm này. Bản thân client được giữ lại (dùng «Xóa client trong nhóm» để xóa hoàn toàn).",
|
||||
"removeFromGroupResult": "Đã xóa {count} client khỏi {name}."
|
||||
},
|
||||
"nodes": {
|
||||
"title": "Nút",
|
||||
"addNode": "Thêm nút",
|
||||
"editNode": "Chỉnh sửa nút",
|
||||
"editNode": "Sửa node",
|
||||
"totalNodes": "Tổng số nút",
|
||||
"onlineNodes": "Trực tuyến",
|
||||
"offlineNodes": "Ngoại tuyến",
|
||||
@@ -615,10 +864,12 @@
|
||||
"publicKeyPathDesc": "Điền vào đường dẫn đầy đủ (bắt đầu từ '/')",
|
||||
"privateKeyPath": "Đường dẫn file khóa của chứng chỉ bảng điều khiển",
|
||||
"privateKeyPathDesc": "Điền vào đường dẫn đầy đủ (bắt đầu từ '/')",
|
||||
"panelUrlPath": "Đường dẫn gốc URL bảng điều khiển",
|
||||
"panelUrlPath": "Đường dẫn URI",
|
||||
"panelUrlPathDesc": "Phải bắt đầu và kết thúc bằng '/'",
|
||||
"pageSize": "Kích thước phân trang",
|
||||
"pageSizeDesc": "Xác định kích thước trang cho bảng gửi đến. Đặt 0 để tắt",
|
||||
"panelProxy": "Proxy mạng của bảng điều khiển",
|
||||
"panelProxyDesc": "Định tuyến các yêu cầu đi của chính bảng điều khiển (cập nhật geo, kiểm tra phiên bản Xray/panel, Telegram) qua proxy này để vượt qua lọc GitHub/Telegram phía máy chủ. Chấp nhận socks5:// hoặc http(s)://, ví dụ inbound SOCKS cục bộ của Xray. Để trống để kết nối trực tiếp.",
|
||||
"remarkModel": "Ghi chú mô hình và ký tự phân tách",
|
||||
"datepicker": "Kiểu lịch",
|
||||
"datepickerPlaceholder": "Chọn ngày",
|
||||
@@ -632,9 +883,9 @@
|
||||
"telegramBotEnableDesc": "Kết nối với các tính năng của bảng điều khiển này thông qua bot Telegram",
|
||||
"telegramToken": "Token Telegram",
|
||||
"telegramTokenDesc": "Bạn phải nhận token từ quản lý bot Telegram {'@'}botfather",
|
||||
"telegramProxy": "Socks5 Proxy",
|
||||
"telegramProxy": "SOCKS Proxy",
|
||||
"telegramProxyDesc": "Nếu bạn cần socks5 proxy để kết nối với Telegram. Điều chỉnh cài đặt của nó theo hướng dẫn.",
|
||||
"telegramAPIServer": "Telegram API Server",
|
||||
"telegramAPIServer": "Máy chủ API Telegram",
|
||||
"telegramAPIServerDesc": "Máy chủ API Telegram để sử dụng. Để trống để sử dụng máy chủ mặc định.",
|
||||
"telegramChatId": "Chat ID Telegram của quản trị viên",
|
||||
"telegramChatIdDesc": "Nhiều Chat ID phân tách bằng dấu phẩy. Sử dụng {'@'}userinfobot hoặc sử dụng lệnh '/id' trong bot để lấy Chat ID của bạn.",
|
||||
@@ -658,6 +909,8 @@
|
||||
"subEnable": "Bật dịch vụ",
|
||||
"subEnableDesc": "Tính năng gói đăng ký với cấu hình riêng",
|
||||
"subJsonEnable": "Bật/Tắt điểm cuối đăng ký JSON độc lập.",
|
||||
"subJsonEnableTitle": "Đăng ký JSON",
|
||||
"subClashEnableTitle": "Đăng ký Clash / Mihomo",
|
||||
"subTitle": "Tiêu đề Đăng ký",
|
||||
"subTitleDesc": "Tiêu đề hiển thị trong ứng dụng VPN",
|
||||
"subSupportUrl": "URL Hỗ trợ",
|
||||
@@ -678,13 +931,13 @@
|
||||
"subCertPathDesc": "Điền vào đường dẫn đầy đủ (bắt đầu với '/')",
|
||||
"subKeyPath": "Đường dẫn file khóa của chứng chỉ gói đăng ký",
|
||||
"subKeyPathDesc": "Điền vào đường dẫn đầy đủ (bắt đầu với '/')",
|
||||
"subPath": "Đường dẫn gốc URL gói đăng ký",
|
||||
"subPath": "Đường dẫn URI",
|
||||
"subPathDesc": "Phải bắt đầu và kết thúc bằng '/'",
|
||||
"subDomain": "Tên miền con",
|
||||
"subDomainDesc": "Mặc định để trống để nghe tất cả các tên miền và IP",
|
||||
"subUpdates": "Khoảng thời gian cập nhật gói đăng ký",
|
||||
"subUpdatesDesc": "Số giờ giữa các cập nhật trong ứng dụng khách",
|
||||
"subEncrypt": "Mã hóa cấu hình",
|
||||
"subEncrypt": "Mã hóa",
|
||||
"subEncryptDesc": "Mã hóa các cấu hình được trả về trong gói đăng ký",
|
||||
"subShowInfo": "Hiển thị thông tin sử dụng",
|
||||
"subShowInfoDesc": "Hiển thị lưu lượng truy cập còn lại và ngày sau tên cấu hình",
|
||||
@@ -693,7 +946,7 @@
|
||||
"subURI": "URI proxy trung gian",
|
||||
"subURIDesc": "Thay đổi URI cơ sở của URL gói đăng ký để sử dụng cho proxy trung gian",
|
||||
"externalTrafficInformEnable": "Thông báo giao thông bên ngoài",
|
||||
"externalTrafficInformEnableDesc": "Thông báo cho API bên ngoài về mọi cập nhật lưu lượng truy cập.",
|
||||
"externalTrafficInformEnableDesc": "Thông báo API ngoài mỗi khi cập nhật lưu lượng.",
|
||||
"externalTrafficInformURI": "URI thông báo lưu lượng truy cập bên ngoài",
|
||||
"externalTrafficInformURIDesc": "Cập nhật lưu lượng truy cập được gửi tới URI này.",
|
||||
"restartXrayOnClientDisable": "Khởi Động Lại Xray Sau Khi Tự Động Vô Hiệu Hóa",
|
||||
@@ -703,6 +956,54 @@
|
||||
"fragmentSett": "Cài đặt phân mảnh",
|
||||
"noisesDesc": "Bật Noises.",
|
||||
"noisesSett": "Cài đặt Noises",
|
||||
"trustedProxyCidrs": "CIDR proxy tin cậy",
|
||||
"trustedProxyCidrsDesc": "IPs/CIDRs cách nhau bằng dấu phẩy được phép đặt header host, proto và IP client chuyển tiếp.",
|
||||
"ldap": {
|
||||
"enable": "Bật đồng bộ LDAP",
|
||||
"host": "LDAP host",
|
||||
"port": "Cổng LDAP",
|
||||
"useTls": "Dùng TLS (LDAPS)",
|
||||
"bindDn": "Bind DN",
|
||||
"passwordConfigured": "Đã cấu hình; để trống để giữ mật khẩu hiện tại.",
|
||||
"passwordUnconfigured": "Chưa cấu hình.",
|
||||
"passwordPlaceholder": "Đã cấu hình — nhập giá trị mới để thay thế",
|
||||
"baseDn": "Base DN",
|
||||
"userFilter": "Bộ lọc user",
|
||||
"userAttr": "Thuộc tính user (username/email)",
|
||||
"vlessField": "Thuộc tính flag VLESS",
|
||||
"flagField": "Thuộc tính flag chung (tùy chọn)",
|
||||
"flagFieldDesc": "Nếu đặt, sẽ ghi đè VLESS flag — ví dụ shadowInactive.",
|
||||
"truthyValues": "Giá trị truthy",
|
||||
"truthyValuesDesc": "Cách nhau bằng dấu phẩy; mặc định: true,1,yes,on",
|
||||
"invertFlag": "Đảo flag",
|
||||
"invertFlagDesc": "Bật khi thuộc tính có nghĩa «đã tắt» (ví dụ shadowInactive).",
|
||||
"syncSchedule": "Lịch đồng bộ",
|
||||
"syncScheduleDesc": "Chuỗi kiểu cron, ví dụ @every 1m",
|
||||
"inboundTags": "Tag inbound",
|
||||
"inboundTagsDesc": "Các inbound mà đồng bộ LDAP có thể tự tạo hoặc tự xóa client.",
|
||||
"noInbounds": "Không tìm thấy inbound. Hãy tạo một inbound trong mục Inbound trước.",
|
||||
"autoCreate": "Tự động tạo client",
|
||||
"autoDelete": "Tự động xóa client",
|
||||
"defaultTotalGb": "Tổng mặc định (GB)",
|
||||
"defaultExpiryDays": "Hết hạn mặc định (ngày)",
|
||||
"defaultIpLimit": "Giới hạn IP mặc định"
|
||||
},
|
||||
"subFormats": {
|
||||
"packets": "Gói",
|
||||
"length": "Độ dài",
|
||||
"interval": "Khoảng",
|
||||
"maxSplit": "Chia tối đa",
|
||||
"noises": "Nhiễu",
|
||||
"noiseItem": "Nhiễu №{n}",
|
||||
"type": "Loại",
|
||||
"packet": "Gói",
|
||||
"delayMs": "Trễ (ms)",
|
||||
"applyTo": "Áp dụng cho",
|
||||
"addNoise": "+ Nhiễu",
|
||||
"concurrency": "Đồng thời",
|
||||
"xudpConcurrency": "Đồng thời xudp",
|
||||
"xudpUdp443": "xudp UDP 443"
|
||||
},
|
||||
"mux": "Mux",
|
||||
"muxDesc": "Truyền nhiều luồng dữ liệu độc lập trong luồng dữ liệu đã thiết lập.",
|
||||
"muxSett": "Mux Cài đặt",
|
||||
@@ -758,6 +1059,9 @@
|
||||
"save": "Lưu cài đặt",
|
||||
"restart": "Khởi động lại Xray",
|
||||
"restartSuccess": "Đã khởi động lại Xray thành công",
|
||||
"restartOutputTitle": "Đầu ra khởi động lại Xray",
|
||||
"restartConfirmTitle": "Khởi động lại xray?",
|
||||
"restartConfirmContent": "Tải lại dịch vụ xray với cấu hình đã lưu.",
|
||||
"stopSuccess": "Xray đã được dừng thành công",
|
||||
"restartError": "Đã xảy ra lỗi khi khởi động lại Xray.",
|
||||
"stopError": "Đã xảy ra lỗi khi dừng Xray.",
|
||||
@@ -790,14 +1094,16 @@
|
||||
"outboundTestUrl": "URL kiểm tra outbound",
|
||||
"outboundTestUrlDesc": "URL dùng khi kiểm tra kết nối outbound",
|
||||
"Torrent": "Cấu hình sử dụng BitTorrent",
|
||||
"Inbounds": "Đầu vào",
|
||||
"Inbounds": "Inbound",
|
||||
"InboundsDesc": "Thay đổi mẫu cấu hình để chấp nhận các máy khách cụ thể.",
|
||||
"Outbounds": "Đầu ra",
|
||||
"Outbounds": "Outbound",
|
||||
"Balancers": "Cân bằng",
|
||||
"balancerTagRequired": "Tag là bắt buộc",
|
||||
"balancerSelectorRequired": "Chọn ít nhất một outbound",
|
||||
"OutboundsDesc": "Thay đổi mẫu cấu hình để xác định các cách ra đi cho máy chủ này.",
|
||||
"Routings": "Quy tắc định tuyến",
|
||||
"RoutingsDesc": "Mức độ ưu tiên của mỗi quy tắc đều quan trọng!",
|
||||
"completeTemplate": "All",
|
||||
"completeTemplate": "Tất cả",
|
||||
"logLevel": "Mức đăng nhập",
|
||||
"logLevelDesc": "Cấp độ nhật ký cho nhật ký lỗi, cho biết thông tin cần được ghi lại.",
|
||||
"accessLog": "Nhật ký truy cập",
|
||||
@@ -832,6 +1138,73 @@
|
||||
"edit": "Chỉnh sửa quy tắc",
|
||||
"useComma": "Các mục được phân tách bằng dấu phẩy"
|
||||
},
|
||||
"routing": {
|
||||
"dragToReorder": "Kéo để sắp xếp lại"
|
||||
},
|
||||
"ruleForm": {
|
||||
"sourceIps": "IP nguồn",
|
||||
"sourcePort": "Cổng nguồn",
|
||||
"vlessRoute": "Đường VLESS",
|
||||
"attributes": "Thuộc tính",
|
||||
"value": "Giá trị",
|
||||
"user": "Người dùng",
|
||||
"inboundTags": "Tag inbound",
|
||||
"outboundTag": "Tag outbound",
|
||||
"balancerTag": "Tag balancer",
|
||||
"balancerTagTooltip": "Định tuyến lưu lượng qua một trong các bộ cân bằng tải đã cấu hình"
|
||||
},
|
||||
"outboundForm": {
|
||||
"tagDuplicate": "Tag đã được dùng bởi outbound khác",
|
||||
"tagRequired": "Tag là bắt buộc",
|
||||
"tagPlaceholder": "tag-duy-nhất",
|
||||
"localIpPlaceholder": "IP nội bộ",
|
||||
"addressRequired": "Địa chỉ là bắt buộc",
|
||||
"portRequired": "Cổng là bắt buộc",
|
||||
"optional": "tùy chọn",
|
||||
"udpOverTcp": "UDP over TCP",
|
||||
"uotVersion": "Phiên bản UoT",
|
||||
"inboundTag": "Tag inbound",
|
||||
"inboundTagPlaceholder": "tag inbound dùng trong quy tắc định tuyến",
|
||||
"responseType": "Loại phản hồi",
|
||||
"rewriteNetwork": "Viết lại mạng",
|
||||
"unchanged": "(không đổi)",
|
||||
"unchangedAddress": "(không đổi) ví dụ 1.1.1.1",
|
||||
"rules": "Quy tắc",
|
||||
"ruleN": "Quy tắc {n}",
|
||||
"action": "Hành động",
|
||||
"redirect": "Redirect",
|
||||
"fragment": "Fragment",
|
||||
"finalRules": "Quy tắc cuối",
|
||||
"overrideXrayPrivateIp": "Ghi đè chặn IP riêng mặc định của Xray",
|
||||
"blockDelay": "Trễ chặn (ms)",
|
||||
"reverseSniffing": "Sniffing ngược",
|
||||
"workers": "Workers",
|
||||
"reserved": "Đã đặt trước",
|
||||
"minUploadInterval": "Khoảng upload tối thiểu (ms)",
|
||||
"maxUploadSizeBytes": "Kích thước upload tối đa (byte)",
|
||||
"uplinkChunkSize": "Kích thước chunk Uplink",
|
||||
"noGrpcHeader": "Không có header gRPC",
|
||||
"maxConcurrency": "Đồng thời tối đa",
|
||||
"maxConnections": "Kết nối tối đa",
|
||||
"maxReuseTimes": "Số lần tái sử dụng tối đa",
|
||||
"maxRequestTimes": "Số yêu cầu tối đa",
|
||||
"maxReusableSecs": "Số giây tái sử dụng tối đa",
|
||||
"keepAlivePeriod": "Chu kỳ keep alive",
|
||||
"authPassword": "Mật khẩu auth",
|
||||
"visionTestpre": "Vision testpre",
|
||||
"serverNamePlaceholder": "tên máy chủ",
|
||||
"verifyPeerName": "Xác minh tên peer",
|
||||
"pinnedSha256": "SHA256 pinned",
|
||||
"shortId": "Short ID",
|
||||
"sockopts": "Sockopts",
|
||||
"keepAliveInterval": "Khoảng keep alive",
|
||||
"markFwmark": "Mark (fwmark)",
|
||||
"interface": "Giao diện",
|
||||
"ipv6Only": "Chỉ IPv6",
|
||||
"acceptProxyProtocol": "Chấp nhận proxy protocol",
|
||||
"tcpUserTimeoutMs": "TCP user timeout (ms)",
|
||||
"tcpKeepAliveIdleS": "TCP keep-alive idle (s)"
|
||||
},
|
||||
"outbound": {
|
||||
"addOutbound": "Thêm thư đi",
|
||||
"addReverse": "Thêm đảo ngược",
|
||||
@@ -840,14 +1213,14 @@
|
||||
"reverseTag": "Thẻ Ngược",
|
||||
"reverseTagDesc": "Thẻ outbound của proxy ngược đơn giản VLESS. Để trống để vô hiệu hóa.",
|
||||
"reverseTagPlaceholder": "thẻ outbound (để trống để vô hiệu hóa)",
|
||||
"tag": "Thẻ",
|
||||
"tag": "Tag",
|
||||
"tagDesc": "thẻ duy nhất",
|
||||
"address": "Địa chỉ",
|
||||
"reverse": "Đảo ngược",
|
||||
"domain": "Miền",
|
||||
"domain": "Tên miền",
|
||||
"type": "Loại",
|
||||
"bridge": "Cầu",
|
||||
"portal": "Cổng thông tin",
|
||||
"bridge": "Bridge",
|
||||
"portal": "Portal",
|
||||
"link": "Liên kết",
|
||||
"intercon": "Kết nối",
|
||||
"settings": "cài đặt",
|
||||
@@ -860,6 +1233,8 @@
|
||||
"testSuccess": "Kiểm tra thành công",
|
||||
"testFailed": "Kiểm tra thất bại",
|
||||
"testError": "Không thể kiểm tra đầu ra",
|
||||
"testModeTooltip": "TCP: probe dial nhanh. HTTP: yêu cầu đầy đủ qua xray.",
|
||||
"testAll": "Kiểm tra tất cả",
|
||||
"nordvpn": "NordVPN",
|
||||
"accessToken": "Mã truy cập",
|
||||
"country": "Quốc gia",
|
||||
@@ -874,8 +1249,18 @@
|
||||
"editBalancer": "Chỉnh sửa cân bằng",
|
||||
"balancerStrategy": "Chiến lược",
|
||||
"balancerSelectors": "Bộ chọn",
|
||||
"tag": "Thẻ",
|
||||
"tag": "Tag",
|
||||
"tagDesc": "thẻ duy nhất",
|
||||
"tagDuplicate": "Tag đã được dùng bởi balancer khác",
|
||||
"tagPlaceholder": "tag balancer duy nhất",
|
||||
"selector": "Selector",
|
||||
"fallback": "Fallback",
|
||||
"expected": "Kỳ vọng",
|
||||
"expectedPlaceholder": "số node tối ưu",
|
||||
"maxRtt": "RTT tối đa",
|
||||
"tolerance": "Dung sai",
|
||||
"baselines": "Baselines",
|
||||
"costs": "Costs",
|
||||
"balancerDesc": "Không thể sử dụng balancerTag và outboundTag cùng một lúc. Nếu sử dụng cùng lúc thì chỉ outboundTag mới hoạt động."
|
||||
},
|
||||
"wireguard": {
|
||||
@@ -892,6 +1277,38 @@
|
||||
"userLevel": "Mức Người Dùng",
|
||||
"userLevelDesc": "Tất cả các kết nối được thực hiện thông qua inbound này sẽ sử dụng mức người dùng này. Giá trị mặc định là 0"
|
||||
},
|
||||
"nord": {
|
||||
"accessToken": "Access token",
|
||||
"privateKey": "Khóa riêng",
|
||||
"noServers": "Không tìm thấy máy chủ cho quốc gia đã chọn",
|
||||
"noPublicKey": "Máy chủ đã chọn không công bố khóa công khai NordLynx.",
|
||||
"outboundAdded": "Đã thêm outbound NordVPN",
|
||||
"outboundUpdated": "Đã cập nhật outbound NordVPN"
|
||||
},
|
||||
"warp": {
|
||||
"licenseError": "Không thiết lập được giấy phép WARP.",
|
||||
"fetchFirst": "Hãy lấy cấu hình WARP trước.",
|
||||
"createAccount": "Tạo tài khoản WARP",
|
||||
"accessToken": "Access token",
|
||||
"deviceId": "ID thiết bị",
|
||||
"licenseKey": "Khóa giấy phép",
|
||||
"privateKey": "Khóa riêng",
|
||||
"deleteAccount": "Xóa tài khoản",
|
||||
"settings": "Cài đặt",
|
||||
"licenseKeyLabel": "Khóa giấy phép WARP / WARP+",
|
||||
"key": "Khóa",
|
||||
"keyPlaceholder": "khóa WARP+ 26 ký tự",
|
||||
"accountInfo": "Thông tin tài khoản",
|
||||
"deviceName": "Tên thiết bị",
|
||||
"deviceModel": "Kiểu thiết bị",
|
||||
"deviceEnabled": "Thiết bị đã bật",
|
||||
"accountType": "Loại tài khoản",
|
||||
"role": "Vai trò",
|
||||
"warpPlusData": "Dữ liệu WARP+",
|
||||
"quota": "Hạn ngạch",
|
||||
"usage": "Sử dụng",
|
||||
"addOutbound": "Thêm outbound"
|
||||
},
|
||||
"dns": {
|
||||
"enable": "Kích hoạt DNS",
|
||||
"enableDesc": "Kích hoạt máy chủ DNS tích hợp",
|
||||
@@ -992,20 +1409,20 @@
|
||||
"2faFailed": "Lỗi 2FA",
|
||||
"report": "🕰 Báo cáo định kỳ: {{ .RunTime }}\r\n",
|
||||
"datetime": "⏰ Ngày-Giờ: {{ .DateTime }}\r\n",
|
||||
"hostname": "💻 Tên máy chủ: {{ .Hostname }}\r\n",
|
||||
"hostname": "💻 Host: {{ .Hostname }}\r\n",
|
||||
"version": "🚀 Phiên bản X-UI: {{ .Version }}\r\n",
|
||||
"xrayVersion": "📡 Phiên bản Xray: {{ .XrayVersion }}\r\n",
|
||||
"ipv6": "🌐 IPv6: {{ .IPv6 }}\r\n",
|
||||
"ipv4": "🌐 IPv4: {{ .IPv4 }}\r\n",
|
||||
"ip": "🌐 IP: {{ .IP }}\r\n",
|
||||
"ips": "🔢 Các IP:\r\n{{ .IPs }}\r\n",
|
||||
"ips": "🔢 IPs:\r\n{{ .IPs }}\r\n",
|
||||
"serverUpTime": "⏳ Thời gian hoạt động của máy chủ: {{ .UpTime }} {{ .Unit }}\r\n",
|
||||
"serverLoad": "📈 Tải máy chủ: {{ .Load1 }}, {{ .Load2 }}, {{ .Load3 }}\r\n",
|
||||
"serverMemory": "📋 Bộ nhớ máy chủ: {{ .Current }}/{{ .Total }}\r\n",
|
||||
"tcpCount": "🔹 Số lượng kết nối TCP: {{ .Count }}\r\n",
|
||||
"udpCount": "🔸 Số lượng kết nối UDP: {{ .Count }}\r\n",
|
||||
"serverMemory": "📋 RAM: {{ .Current }}/{{ .Total }}\r\n",
|
||||
"tcpCount": "🔹 TCP: {{ .Count }}\r\n",
|
||||
"udpCount": "🔸 UDP: {{ .Count }}\r\n",
|
||||
"traffic": "🚦 Lưu lượng: {{ .Total }} (↑{{ .Upload }},↓{{ .Download }})\r\n",
|
||||
"xrayStatus": "ℹ️ Trạng thái Xray: {{ .State }}\r\n",
|
||||
"xrayStatus": "ℹ️ Trạng thái: {{ .State }}\r\n",
|
||||
"username": "👤 Tên người dùng: {{ .Username }}\r\n",
|
||||
"reason": "❗️ Lý do: {{ .Reason }}\r\n",
|
||||
"time": "⏰ Thời gian: {{ .Time }}\r\n",
|
||||
@@ -1020,7 +1437,7 @@
|
||||
"email": "📧 Email: {{ .Email }}\r\n",
|
||||
"upload": "🔼 Tải lên: ↑{{ .Upload }}\r\n",
|
||||
"download": "🔽 Tải xuống: ↓{{ .Download }}\r\n",
|
||||
"total": "📊 Tổng cộng: ↑↓{{ .UpDown }} / {{ .Total }}\r\n",
|
||||
"total": "📊 Tổng: ↑↓{{ .UpDown }} / {{ .Total }}\r\n",
|
||||
"TGUser": "👤 Người dùng Telegram: {{ .TelegramID }}\r\n",
|
||||
"exhaustedMsg": "🚨 Sự cạn kiệt {{ .Type }}:\r\n",
|
||||
"exhaustedCount": "🚨 Số lần cạn kiệt {{ .Type }}:\r\n",
|
||||
@@ -1119,4 +1536,4 @@
|
||||
"chooseInbound": "Chọn một Inbound"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user