♻️ refactor(view): System and Auth Control

This commit is contained in:
web
2025-08-04 08:58:57 -07:00
committed by speakeloudest
parent 9ba3ec40d6
commit 97aa24ba8e
333 changed files with 13905 additions and 9399 deletions
-16
View File
@@ -1,16 +0,0 @@
{
"clientId": "ID Dịch vụ",
"clientIdDescription": "Apple Service ID, bạn có thể lấy nó từ Cổng thông tin Nhà phát triển Apple",
"clientSecret": "Khóa Riêng",
"clientSecretDescription": "Nội dung khóa riêng tư (.p8 file) được sử dụng để xác thực với Apple",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, người dùng có thể đăng nhập bằng ID Apple của họ",
"keyId": "Mã khóa",
"keyIdDescription": "ID của khóa riêng tư của bạn từ Cổng thông tin Nhà phát triển Apple",
"redirectUri": "URL chuyển hướng",
"redirectUriDescription": "Vui lòng điền địa chỉ API của URL được chuyển hướng sau khi xác thực Apple thành công. Không sử dụng / ở cuối.",
"saveFailed": "Lưu thất bại",
"saveSuccess": "Lưu thành công",
"teamId": "ID Đội",
"teamIdDescription": "ID Nhóm Nhà Phát Triển Apple"
}
+187 -55
View File
@@ -1,15 +1,150 @@
{
"invite": {
"commissionFirstTimeOnly": "Hoa hồng chỉ cho lần mua đầu tiên",
"commissionFirstTimeOnlyDescription": "Khi được kích hoạt, hoa hồng chỉ được tạo ra trên khoản thanh toán đầu tiên của người mời; bạn có thể cấu hình từng người dùng trong quản lý người dùng",
"enableForcedInvite": "Kích hoạt Mời Bắt Buộc",
"enableForcedInviteDescription": "Khi được kích hoạt, chỉ những người dùng được mời mới có thể đăng ký",
"inputPlaceholder": "Nhập",
"inviteCommissionPercentage": "Tỷ lệ Hoa hồng Mời",
"inviteCommissionPercentageDescription": "Tỷ lệ phân phối hoa hồng toàn cầu mặc định; bạn có thể cấu hình tỷ lệ riêng cho từng người dùng trong quản lý người dùng",
"inviteSettings": "Cài đặt Mời",
"apple": {
"clientId": "ID Dịch vụ",
"clientIdDescription": "Apple Service ID, bạn có thể lấy nó từ Cổng thông tin Nhà phát triển Apple",
"clientSecret": "Khóa Riêng",
"clientSecretDescription": "Nội dung khóa riêng tư (.p8 file) được sử dụng để xác thực với Apple",
"description": "Xác thực người dùng bằng tài khoản Apple",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, người dùng có thể đăng nhập bằng ID Apple của họ",
"keyId": "Mã khóa",
"keyIdDescription": "ID của khóa riêng tư của bạn từ Cổng thông tin Nhà phát triển Apple",
"redirectUri": "URL chuyển hướng",
"redirectUriDescription": "Vui lòng điền địa chỉ API của URL được chuyển hướng sau khi xác thực Apple thành công. Không sử dụng / ở cuối.",
"teamId": "ID Đội",
"teamIdDescription": "ID Nhóm Nhà Phát Triển Apple",
"title": "Đăng Nhập Bằng Apple"
},
"common": {
"cancel": "Hủy",
"save": "Lưu",
"saveFailed": "Lưu thất bại",
"saveSuccess": "Lưu thành công"
},
"communicationMethods": "Communication Methods",
"device": {
"blockVirtualMachine": "Chặn Máy Ảo",
"blockVirtualMachineDescription": "Khi được kích hoạt, các thiết bị sẽ không thể chạy trên máy ảo hoặc trình giả lập",
"communicationKey": "Khóa Giao Tiếp",
"communicationKeyDescription": "Khóa giao tiếp được sử dụng để bảo mật giao tiếp giữa các thiết bị và máy chủ",
"description": "Xác thực người dùng bằng các định danh thiết bị",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, nhiều định danh thiết bị như IMEI/IDFA/IDFV/AndroidID/Địa chỉ Mac sẽ được hỗ trợ cho việc đăng nhập và đăng ký",
"enableSecurity": "Kích Hoạt Mã Hóa Giao Tiếp",
"enableSecurityDescription": "Khi được kích hoạt, giao tiếp giữa các thiết bị và máy chủ sẽ được mã hóa",
"showAds": "Hiển Thị Quảng Cáo",
"showAdsDescription": "Khi được kích hoạt, quảng cáo sẽ được hiển thị trên các thiết bị",
"title": "Xác Thực Thiết Bị"
},
"deviceAuthMethods": "Device Authentication Methods",
"email": {
"basicSettings": "Cài Đặt Cơ Bản",
"description": "Xác thực người dùng bằng địa chỉ email",
"emailSuffixWhitelist": "Danh sách trắng Hậu tố Email",
"emailSuffixWhitelistDescription": "Khi được bật, chỉ những email có hậu tố trong danh sách mới có thể đăng ký",
"emailVerification": "Xác minh Email",
"emailVerificationDescription": "Khi được bật, người dùng sẽ cần xác minh email của họ",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, các chức năng đăng ký email, đăng nhập, liên kết và hủy liên kết sẽ được bật",
"expirationEmailTemplate": "Mẫu Thông Báo Hết Hạn",
"expirationTemplate": "Thông Báo Hết Hạn",
"inputPlaceholder": "Nhập giá trị...",
"logs": "Nhật ký",
"logsDescription": "Xem lịch sử các email đã gửi và trạng thái của chúng",
"maintenanceEmailTemplate": "Mẫu Thông Báo Bảo Trì",
"maintenanceTemplate": "Thông Báo Bảo Trì",
"sendFailure": "Gửi email kiểm tra thất bại, vui lòng kiểm tra cấu hình.",
"sendSuccess": "Email kiểm tra đã được gửi thành công.",
"sendTestEmail": "Gửi Email Thử",
"sendTestEmailDescription": "Gửi một email thử nghiệm để xác minh cấu hình.",
"senderAddress": "Địa chỉ người gửi",
"senderAddressDescription": "Địa chỉ email mặc định được sử dụng để gửi email.",
"smtpAccount": "Tài khoản SMTP",
"smtpAccountDescription": "Tài khoản email được sử dụng để xác thực.",
"smtpEncryptionMethod": "Phương Thức Mã Hóa SMTP",
"smtpEncryptionMethodDescription": "Chọn xem có bật mã hóa SSL/TLS hay không.",
"smtpPassword": "Mật khẩu SMTP",
"smtpPasswordDescription": "Mật khẩu cho tài khoản SMTP.",
"smtpServerAddress": "Địa chỉ máy chủ SMTP",
"smtpServerAddressDescription": "Chỉ định địa chỉ máy chủ được sử dụng để gửi email.",
"smtpServerPort": "Cổng Máy Chủ SMTP",
"smtpServerPortDescription": "Chỉ định cổng được sử dụng để kết nối với máy chủ SMTP.",
"smtpSettings": "Cài Đặt SMTP",
"templateVariables": {
"code": {
"description": "Mã xác thực 6 chữ số",
"title": "Mã Xác Thực"
},
"expire": {
"description": "Thời gian hiệu lực của mã xác thực (phút)",
"title": "Thời Gian Hiệu Lực"
},
"expireDate": {
"description": "Ngày hết hạn dịch vụ, nhắc nhở người dùng khi dịch vụ hết hạn",
"title": "Ngày Hết Hạn"
},
"maintenanceDate": {
"description": "Ngày bảo trì hệ thống, hiển thị ngày bắt đầu bảo trì",
"title": "Ngày Bảo Trì"
},
"maintenanceTime": {
"description": "Thời gian bảo trì ước tính, hiển thị khoảng thời gian hoặc thời gian bảo trì",
"title": "Thời Gian Bảo Trì"
},
"siteLogo": {
"description": "URL hình ảnh logo trang web",
"title": "Logo Trang Web"
},
"siteName": {
"description": "Tên trang web hiện tại",
"title": "Tên Trang Web"
},
"title": "Biến Mẫu Email",
"type": {
"conditionalSyntax": "Hỗ trợ cú pháp điều kiện để chuyển đổi nội dung dựa trên loại",
"description": "Định danh loại email, 1 cho mã xác thực đăng ký, các loại khác cho mã xác thực đặt lại mật khẩu",
"title": "Loại Email"
}
},
"title": "Xác Thực Qua Email",
"trafficExceedEmailTemplate": "Mẫu Thông Báo Giới Hạn Lưu Lượng",
"trafficTemplate": "Giới Hạn Lưu Lượng",
"verifyEmailTemplate": "Mẫu Email Xác Thực",
"verifyTemplate": "Email Xác Thực",
"whitelistSuffixes": "Danh sách trắng Hậu tố",
"whitelistSuffixesDescription": "Được sử dụng để xác minh email trong quá trình đăng ký; một dòng mỗi mục",
"whitelistSuffixesPlaceholder": "Nhập các hậu tố email, mỗi dòng một hậu tố"
},
"facebook": {
"clientId": "ID Khách hàng",
"clientIdDescription": "ID ứng dụng Facebook từ Bảng điều khiển Nhà phát triển Facebook",
"clientSecret": "Bí mật Khách hàng",
"clientSecretDescription": "Mã bí mật ứng dụng Facebook từ Bảng điều khiển Nhà phát triển Facebook",
"description": "Xác thực người dùng bằng tài khoản Facebook",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, người dùng có thể đăng nhập bằng tài khoản Facebook của họ",
"title": "Đăng Nhập Bằng Facebook"
},
"github": {
"clientId": "ID Khách hàng GitHub",
"clientIdDescription": "ID khách hàng từ cài đặt ứng dụng OAuth GitHub của bạn",
"clientSecret": "Mã Bí Mật Khách Hàng GitHub",
"clientSecretDescription": "Mã bí mật của ứng dụng OAuth GitHub từ cài đặt ứng dụng của bạn",
"description": "Xác thực người dùng bằng tài khoản GitHub",
"enable": "Bật Xác thực GitHub",
"enableDescription": "Cho phép người dùng đăng nhập bằng tài khoản GitHub của họ",
"title": "Đăng Nhập Bằng GitHub"
},
"google": {
"clientId": "ID Khách hàng",
"clientIdDescription": "ID Khách hàng OAuth 2.0 của Google từ Google Cloud Console",
"clientSecret": "Bí mật Khách hàng",
"clientSecretDescription": "Mã bí mật OAuth 2.0 của Google từ Bảng điều khiển Google Cloud",
"description": "Xác thực người dùng bằng tài khoản Google",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, người dùng có thể đăng nhập bằng tài khoản Google của họ",
"title": "Đăng Nhập Bằng Google"
},
"log": {
"content": "Nội dung",
"createdAt": "Ngày tạo",
@@ -23,52 +158,49 @@
"to": "Người nhận",
"updatedAt": "Ngày cập nhật"
},
"register": {
"day": "Ngày",
"hour": "Giờ",
"ipRegistrationLimit": "Giới hạn Đăng ký theo IP",
"ipRegistrationLimitDescription": "Khi được kích hoạt, các IP đáp ứng yêu cầu quy tắc sẽ bị hạn chế đăng ký; lưu ý rằng việc xác định IP có thể gây ra vấn đề do CDN hoặc proxy phía trước",
"minute": "Phút",
"month": "Tháng",
"noLimit": "Không giới hạn",
"penaltyTime": "Thời gian Phạt (phút)",
"penaltyTimeDescription": "Người dùng phải chờ thời gian phạt hết hạn trước khi đăng ký lại",
"registerSettings": "Cài đặt Đăng ký",
"registrationLimitCount": "Số lượng Giới hạn Đăng ký",
"registrationLimitCountDescription": "Kích hoạt hình phạt sau khi đạt giới hạn đăng ký",
"saveSuccess": "Lưu thành công",
"stopNewUserRegistration": "Ngừng Đăng ký Người dùng Mới",
"stopNewUserRegistrationDescription": "Khi được kích hoạt, không ai có thể đăng ký",
"trialDuration": "Thời gian dùng thử",
"trialRegistration": "Đăng ký Thử nghiệm",
"trialRegistrationDescription": "Kích hoạt đăng ký thử nghiệm; sửa đổi gói thử nghiệm và thời gian trước",
"trialSubscribePlan": "Kế hoạch đăng ký dùng thử",
"trialSubscribePlanDescription": "Chọn kế hoạch đăng ký dùng thử",
"year": "Năm"
"phone": {
"accessLabel": "Truy cập",
"applyPlatform": "Nền tảng ứng dụng",
"description": "Xác thực người dùng bằng số điện thoại",
"enable": "Kích hoạt",
"enableTip": "Sau khi kích hoạt, các chức năng đăng ký, đăng nhập, liên kết và hủy liên kết điện thoại di động sẽ được kích hoạt",
"endpointLabel": "Điểm cuối",
"logs": "Nhật ký",
"logsDescription": "Xem lịch sử các tin nhắn SMS đã gửi và trạng thái của chúng",
"phoneNumberLabel": "Số Điện Thoại",
"placeholders": {
"template": "Mã xác minh của bạn là {code}, có hiệu lực trong 5 phút"
},
"platform": "Nền tảng SMS",
"platformConfigTip": "Vui lòng điền vào cấu hình {key} được cung cấp",
"platformTip": "Vui lòng chọn nền tảng SMS",
"secretLabel": "Mật khẩu",
"sendFailed": "Gửi Thất Bại",
"sendSuccess": "Gửi thành công",
"settings": "Cài đặt",
"signNameLabel": "Tên ký hiệu",
"template": "Mẫu SMS",
"templateCodeLabel": "Mã mẫu",
"templateTip": "Vui lòng điền vào mẫu SMS, giữ {code} ở giữa, nếu không chức năng SMS sẽ không hoạt động",
"testSms": "Gửi SMS Thử",
"testSmsPhone": "Nhập số điện thoại",
"testSmsTip": "Gửi một tin nhắn SMS thử nghiệm để xác minh cấu hình của bạn",
"title": "Xác Thực Qua Điện Thoại",
"updateSuccess": "Cập nhật thành công",
"whitelistAreaCode": "Mã khu vực trong danh sách trắng",
"whitelistAreaCodeTip": "Vui lòng nhập mã khu vực trong danh sách trắng, ví dụ: 1, 852, 886, 888",
"whitelistValidation": "Xác minh danh sách trắng",
"whitelistValidationTip": "Khi được kích hoạt, chỉ các mã khu vực trong danh sách trắng mới có thể gửi SMS"
},
"verify": {
"inputPlaceholder": "Nhập",
"loginVerificationCode": "Mã Xác minh Đăng nhập",
"loginVerificationCodeDescription": "Xác minh con người trong quá trình đăng nhập",
"registrationVerificationCode": "Mã Xác minh Đăng ký",
"registrationVerificationCodeDescription": "Xác minh con người trong quá trình đăng ký",
"resetPasswordVerificationCode": "Xác minh Đặt lại Mật khẩu",
"resetPasswordVerificationCodeDescription": "Xác minh con người trong quá trình đặt lại mật khẩu",
"saveSuccess": "Lưu thành công",
"turnstileSecretDescription": "Khóa bí mật Turnstile được cung cấp bởi Cloudflare",
"turnstileSiteKeyDescription": "Khóa trang Turnstile được cung cấp bởi Cloudflare",
"verifySettings": "Cài đặt Xác minh"
},
"verify-code": {
"dailyLimit": "Giới hạn hàng ngày",
"dailyLimitDescription": "Số lượng mã xác minh tối đa có thể gửi trong một ngày",
"expireTime": "Thời gian hết hạn",
"expireTimeDescription": "Thời gian hết hạn mã xác minh (giây)",
"interval": "Khoảng thời gian gửi",
"intervalDescription": "Khoảng thời gian tối thiểu giữa các lần gửi mã xác minh (giây)",
"saveSuccess": "Lưu thành công",
"second": "giây",
"times": "lần",
"verifyCodeSettings": "Cài đặt mã xác minh"
"socialAuthMethods": "Social Authentication Methods",
"telegram": {
"clientId": "ID Bot",
"clientIdDescription": "ID Bot Telegram, bạn có thể lấy từ @BotFather",
"clientSecret": "Mã thông báo Bot",
"clientSecretDescription": "Mã thông báo Bot Telegram, bạn có thể lấy nó từ @BotFather",
"description": "Xác thực người dùng bằng tài khoản Telegram",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, các chức năng đăng ký, đăng nhập, liên kết và hủy liên kết điện thoại di động sẽ được kích hoạt",
"title": "Đăng Nhập Bằng Telegram"
}
}
-14
View File
@@ -1,14 +0,0 @@
{
"blockVirtualMachine": "Chặn Máy Ảo",
"blockVirtualMachineDescription": "Khi được kích hoạt, các thiết bị sẽ không thể chạy trên máy ảo hoặc trình giả lập",
"communicationKey": "Khóa Giao Tiếp",
"communicationKeyDescription": "Khóa giao tiếp được sử dụng để bảo mật giao tiếp giữa các thiết bị và máy chủ",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, nhiều định danh thiết bị như IMEI/IDFA/IDFV/AndroidID/Địa chỉ Mac sẽ được hỗ trợ cho việc đăng nhập và đăng ký",
"enableSecurity": "Kích Hoạt Mã Hóa Giao Tiếp",
"enableSecurityDescription": "Khi được kích hoạt, giao tiếp giữa các thiết bị và máy chủ sẽ được mã hóa",
"saveFailed": "Lưu không thành công",
"saveSuccess": "Lưu thành công",
"showAds": "Hiển Thị Quảng Cáo",
"showAdsDescription": "Khi được kích hoạt, quảng cáo sẽ được hiển thị trên các thiết bị"
}
-49
View File
@@ -1,49 +0,0 @@
{
"emailBasicConfigDescription": "Cấu hình cài đặt máy chủ SMTP và các tùy chọn xác minh email",
"emailLogsDescription": "Xem lịch sử của các email đã gửi và trạng thái của chúng",
"emailSuffixWhitelist": "Danh sách trắng Hậu tố Email",
"emailSuffixWhitelistDescription": "Khi được bật, chỉ những email có hậu tố trong danh sách mới có thể đăng ký",
"emailVerification": "Xác minh Email",
"emailVerificationDescription": "Khi được bật, người dùng sẽ cần xác minh email của họ",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, các chức năng đăng ký email, đăng nhập, liên kết và hủy liên kết sẽ được bật",
"expiration_email_template": "Mẫu Thông Báo Hết Hạn",
"expiration_email_templateDescription": "Các chỗ chèn {after}.variable{before} sẽ được thay thế bằng dữ liệu thực tế. Đảm bảo giữ nguyên các biến này.",
"failed": "Thất bại",
"inputPlaceholder": "Nhập giá trị...",
"logs": "Nhật ký",
"maintenance_email_template": "Mẫu Thông Báo Bảo Trì",
"maintenance_email_templateDescription": "Các chỗ chèn {after}.variable{before} sẽ được thay thế bằng dữ liệu thực tế. Đảm bảo giữ nguyên các biến này.",
"recipient": "Người nhận",
"saveFailed": "Không thể lưu cấu hình",
"saveSuccess": "Cấu hình đã được lưu thành công.",
"sendFailure": "Gửi email kiểm tra thất bại, vui lòng kiểm tra cấu hình.",
"sendSuccess": "Email kiểm tra đã được gửi thành công.",
"sendTestEmail": "Gửi Email Thử",
"sendTestEmailDescription": "Gửi một email thử nghiệm để xác minh cấu hình.",
"senderAddress": "Địa chỉ người gửi",
"senderAddressDescription": "Địa chỉ email mặc định được sử dụng để gửi email.",
"sent": "Đã gửi",
"sentAt": "Gửi Lúc",
"settings": "Cài đặt",
"smtpAccount": "Tài khoản SMTP",
"smtpAccountDescription": "Tài khoản email được sử dụng để xác thực.",
"smtpEncryptionMethod": "Phương Thức Mã Hóa SMTP",
"smtpEncryptionMethodDescription": "Chọn xem có bật mã hóa SSL/TLS hay không.",
"smtpPassword": "Mật khẩu SMTP",
"smtpPasswordDescription": "Mật khẩu cho tài khoản SMTP.",
"smtpServerAddress": "Địa chỉ máy chủ SMTP",
"smtpServerAddressDescription": "Chỉ định địa chỉ máy chủ được sử dụng để gửi email.",
"smtpServerPort": "Cổng Máy Chủ SMTP",
"smtpServerPortDescription": "Chỉ định cổng được sử dụng để kết nối với máy chủ SMTP.",
"status": "Trạng thái",
"subject": "Chủ đề",
"template": "Mẫu",
"traffic_exceed_email_template": "Mẫu Thông Báo Vượt Quá Lưu Lượng",
"traffic_exceed_email_templateDescription": "Các biến {after}.variable{before} sẽ được thay thế bằng dữ liệu thực tế. Đảm bảo giữ nguyên các biến này.",
"verify_email_template": "Mẫu Email Xác Minh",
"verify_email_templateDescription": "Các chỗ trống {after}.variable{before} sẽ được thay thế bằng dữ liệu thực tế. Đảm bảo giữ nguyên các biến này.",
"whitelistSuffixes": "Danh sách trắng Hậu tố",
"whitelistSuffixesDescription": "Được sử dụng để xác minh email trong quá trình đăng ký; một dòng mỗi mục",
"whitelistSuffixesPlaceholder": "Nhập các hậu tố email, mỗi dòng một hậu tố"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID Khách hàng",
"clientIdDescription": "ID ứng dụng Facebook từ Bảng điều khiển Nhà phát triển Facebook",
"clientSecret": "Bí mật Khách hàng",
"clientSecretDescription": "Mã bí mật ứng dụng Facebook từ Bảng điều khiển Nhà phát triển Facebook",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, người dùng có thể đăng nhập bằng tài khoản Facebook của họ",
"saveFailed": "Lưu thất bại",
"saveSuccess": "Lưu thành công"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID Khách hàng GitHub",
"clientIdDescription": "ID khách hàng từ cài đặt ứng dụng OAuth GitHub của bạn",
"clientSecret": "Mã Bí Mật Khách Hàng GitHub",
"clientSecretDescription": "Mã bí mật của ứng dụng OAuth GitHub từ cài đặt ứng dụng của bạn",
"enable": "Bật Xác thực GitHub",
"enableDescription": "Cho phép người dùng đăng nhập bằng tài khoản GitHub của họ",
"saveFailed": "Không thể lưu cài đặt GitHub",
"saveSuccess": "Cài đặt GitHub đã được lưu thành công"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID Khách hàng",
"clientIdDescription": "ID Khách hàng OAuth 2.0 của Google từ Google Cloud Console",
"clientSecret": "Bí mật Khách hàng",
"clientSecretDescription": "Mã bí mật OAuth 2.0 của Google từ Bảng điều khiển Google Cloud",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, người dùng có thể đăng nhập bằng tài khoản Google của họ",
"saveFailed": "Lưu thất bại",
"saveSuccess": "Lưu thành công"
}
-32
View File
@@ -1,32 +0,0 @@
{
"accessLabel": "Truy cập",
"applyPlatform": "Nền tảng ứng dụng",
"enable": "Kích hoạt",
"enableTip": "Sau khi kích hoạt, các chức năng đăng ký, đăng nhập, liên kết và hủy liên kết điện thoại di động sẽ được kích hoạt",
"endpointLabel": "Điểm cuối",
"logs": "Nhật ký",
"phoneNumberLabel": "Số Điện Thoại",
"placeholders": {
"template": "Mã xác minh của bạn là {code}, có hiệu lực trong 5 phút",
"templateCode": "Nhập mã mẫu"
},
"platform": "Nền tảng SMS",
"platformConfigTip": "Vui lòng điền vào cấu hình {key} được cung cấp",
"platformTip": "Vui lòng chọn nền tảng SMS",
"secretLabel": "Mật khẩu",
"sendFailed": "Gửi Thất Bại",
"sendSuccess": "Gửi thành công",
"settings": "Cài đặt",
"signNameLabel": "Tên ký hiệu",
"template": "Mẫu SMS",
"templateCodeLabel": "Mã mẫu",
"templateTip": "Vui lòng điền vào mẫu SMS, giữ {code} ở giữa, nếu không chức năng SMS sẽ không hoạt động",
"testSms": "Gửi SMS Thử",
"testSmsPhone": "Nhập số điện thoại",
"testSmsTip": "Gửi một tin nhắn SMS thử nghiệm để xác minh cấu hình của bạn",
"updateSuccess": "Cập nhật thành công",
"whitelistAreaCode": "Mã khu vực trong danh sách trắng",
"whitelistAreaCodeTip": "Vui lòng nhập mã khu vực trong danh sách trắng, ví dụ: 1, 852, 886, 888",
"whitelistValidation": "Xác minh danh sách trắng",
"whitelistValidationTip": "Khi được kích hoạt, chỉ các mã khu vực trong danh sách trắng mới có thể gửi SMS"
}
+6
View File
@@ -8,9 +8,12 @@
"createRule": "Thêm Quy tắc",
"createSuccess": "Quy tắc đã được tạo thành công",
"createdAt": "Ngày Tạo",
"default": "Mặc định",
"defaultRule": "Quy tắc mặc định",
"delete": "Xóa",
"deleteSuccess": "Quy tắc đã được xóa thành công",
"deleteWarning": "Bạn có chắc chắn muốn xóa quy tắc này không? Hành động này không thể hoàn tác.",
"direct": "Trực tiếp",
"downloadTemplate": "Tải Mẫu",
"edit": "Chỉnh sửa",
"editRule": "Chỉnh sửa Quy tắc",
@@ -29,11 +32,14 @@
"noValidRules": "Không tìm thấy quy tắc hợp lệ",
"pleaseUploadFile": "Vui lòng tải lên một tệp YAML",
"preview": "Xem trước",
"reject": "Từ chối",
"rulesFormat": "Định dạng quy tắc: loại quy tắc, nội dung khớp, [chính sách], trong đó chính sách là tùy chọn.\nNếu không chỉ định chính sách, tên nhóm quy tắc hiện tại sẽ được sử dụng tự động. Ví dụ:",
"rulesLabel": "Nội dung Quy tắc",
"searchRule": "Tìm kiếm tên quy tắc",
"selectTags": "Chọn thẻ nút",
"selectType": "Chọn loại quy tắc",
"tags": "Thẻ Nút",
"tagsLabel": "Thẻ Nút",
"type": "Loại quy tắc",
"updateSuccess": "Quy tắc đã được cập nhật thành công"
}
+100 -75
View File
@@ -33,21 +33,22 @@
"description": "Mô tả",
"edit": "Chỉnh sửa",
"editNodeGroup": "Chỉnh sửa nhóm nút",
"form": {
"cancel": "Hủy bỏ",
"confirm": "Xác nhận",
"description": "Mô tả",
"name": "Tên"
},
"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?",
@@ -59,96 +60,120 @@
"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",
"form": {
"allowInsecure": "Cho phép không an toàn",
"cancel": "Hủy",
"city": "Thành phố",
"confirm": "Xác nhận",
"country": "Quốc gia",
"edit": "Chỉnh sửa",
"editSecurity": "Chỉnh sửa cấu hình bảo mật",
"enableTLS": "Kích hoạt TLS",
"encryptionMethod": "Phương pháp mã hóa",
"flow": "Thuật toán điều khiển luồng",
"groupId": "Nhóm Nút",
"hopInterval": "Khoảng cách nhảy",
"hopPorts": "Cổng nhảy",
"hopPortsPlaceholder": "Nhiều cổng cách nhau bằng dấu phẩy",
"name": "Tên",
"obfsPassword": "Mật khẩu làm mờ",
"obfsPasswordPlaceholder": "Để trống nếu không làm mờ",
"path": "Đường dẫn",
"pleaseSelect": "Vui lòng chọn",
"port": "Cổng dịch vụ",
"protocol": "Giao thức",
"relayHost": "Địa chỉ chuyển tiếp",
"relayMode": "Chế Độ Tiếp Sức",
"relayModeOptions": {
"all": "Tất Cả",
"none": "Không Có",
"random": "Ngẫu Nhiên"
},
"relayPort": "Cổng chuyển tiếp",
"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",
"security_config": {
"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": "REALITY bắt buộc, phải khớp với phía sau",
"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)"
},
"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": "Nhấn Enter hoặc dấu phẩy (,) để nhập nhiều thẻ",
"trafficRatio": "Tỷ lệ lưu lượng",
"transport": "Giao thức truyền tải",
"transportConfig": "Cấu hình giao thức truyền tải",
"transportHost": "Địa chỉ dịch vụ truyền tải",
"transportPath": "Đường dẫn truyền tải",
"transportServerName": "Tên dịch vụ truyền tải"
},
"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"
"updatedAt": "Thời gian cập nhật",
"userAccount": "Tài khoản 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",
+97 -16
View File
@@ -1,28 +1,77 @@
{
"currency": {
"accessKey": "Khóa truy cập",
"accessKeyDescription": "https://exchangerate.host cung cấp miễn phí khóa API tỷ giá hối đoái",
"currencySymbol": "Ký hiệu tiền tệ",
"currencySymbolDescription": "Chỉ sử dụng để hiển thị, sau khi thay đổi tất cả các đơn vị tiền tệ trong hệ thống sẽ thay đổi",
"currencyUnit": "Đơn vị tiền tệ",
"currencyUnitDescription": "Chỉ sử dụng để hiển thị, sau khi thay đổi tất cả các đơn vị tiền tệ trong hệ thống sẽ thay đổi",
"authSettings": "Cài đặt xác thực",
"basicSettings": "Cài đặt cơ bản",
"common": {
"cancel": "Hủy",
"save": "Lưu cài đặt",
"saveFailed": "Lưu thất bại",
"saveSuccess": "Lưu thành công"
},
"privacy-policy": {
"currency": {
"accessKey": "Khóa truy cập",
"accessKeyDescription": "{url} cung cấp miễn phí khóa API tỷ giá hối đoái",
"accessKeyPlaceholder": "Nhập khóa API",
"currencySymbol": "Ký hiệu tiền tệ",
"currencySymbolDescription": "Chỉ sử dụng để hiển thị, sau khi thay đổi tất cả các đơn vị tiền tệ trong hệ thống sẽ thay đổi",
"currencySymbolPlaceholder": "₫",
"currencyUnit": "Đơn vị tiền tệ",
"currencyUnitDescription": "Chỉ sử dụng để hiển thị, sau khi thay đổi tất cả các đơn vị tiền tệ trong hệ thống sẽ thay đổi",
"currencyUnitPlaceholder": "VND",
"description": "Cấu hình đơn vị tiền tệ, ký hiệu và cài đặt API tỷ giá hối đoái",
"title": "Cấu hình tiền tệ"
},
"invite": {
"description": "Cấu hình cài đặt mời người dùng và phần thưởng giới thiệu",
"forcedInvite": "Yêu cầu mời để đăng ký",
"forcedInviteDescription": "Khi được kích hoạt, người dùng phải đăng ký qua liên kết mời",
"inputPlaceholder": "Vui lòng nhập",
"onlyFirstPurchase": "Chỉ phần thưởng cho lần mua đầu tiên",
"onlyFirstPurchaseDescription": "Khi được kích hoạt, người giới thiệu chỉ nhận phần thưởng cho lần mua đầu tiên của người được giới thiệu",
"referralPercentage": "Phần trăm phần thưởng giới thiệu",
"referralPercentageDescription": "Phần trăm phần thưởng được trao cho người giới thiệu",
"saveFailed": "Lưu thất bại",
"saveSuccess": "Lưu thành công",
"title": "Cài đặt mời"
},
"privacyPolicy": {
"description": "Chỉnh sửa và quản lý nội dung chính sách bảo mật",
"title": "Chính sách bảo mật"
},
"register": {
"day": "ngày",
"defaultSubscribe": "Gói đăng ký mặc định",
"defaultSubscribeDescription": "Gói đăng ký mặc định cho người dùng mới",
"description": "Cấu hình các cài đặt liên quan đến đăng ký người dùng",
"inputPlaceholder": "Vui lòng nhập",
"ipRegistrationLimit": "Giới hạn đăng ký theo IP",
"ipRegistrationLimitDescription": "Giới hạn số lượng đăng ký từ một địa chỉ IP duy nhất",
"registrationLimitCount": "Số lượng giới hạn đăng ký",
"registrationLimitCountDescription": "Số lượng đăng ký được phép mỗi IP trong thời gian giới hạn",
"registrationLimitExpire": "Thời gian giới hạn",
"registrationLimitExpireDescription": "Thời gian cho giới hạn đăng ký theo IP",
"saveFailed": "Lưu thất bại",
"saveSuccess": "Lưu thành công",
"selectPlaceholder": "Vui lòng chọn",
"stopNewUserRegistration": "Ngừng đăng ký người dùng mới",
"stopNewUserRegistrationDescription": "Khi được kích hoạt, việc đăng ký người dùng mới sẽ bị vô hiệu hóa",
"title": "Cài đặt đăng ký",
"trialDay": "Ngày thử nghiệm",
"trialDayDescription": "Số ngày thử nghiệm được cấp cho người dùng mới khi đăng ký",
"trialFlow": "Lưu lượng thử nghiệm",
"trialFlowDescription": "Lưu lượng thử nghiệm được cấp cho người dùng mới khi đăng ký"
},
"site": {
"customData": "Dữ liệu tùy chỉnh",
"customDataDescription": "Dữ liệu tùy chỉnh, được sử dụng cho dữ liệu tùy chỉnh của trang web",
"customHtml": "HTML tùy chỉnh",
"customHtmlDescription": "Mã HTML tùy chỉnh để được chèn vào cuối thẻ body của trang.",
"description": "Cấu hình thông tin cơ bản của trang web, logo, miền và các cài đặt khác",
"keywords": "Từ khóa",
"keywordsDescription": "Dùng cho mục đích SEO",
"keywordsPlaceholder": "từ khóa1, từ khóa2, từ khóa3",
"logo": "LOGO",
"logoDescription": "Dùng để hiển thị vị trí cần hiển thị LOGO",
"logoPlaceholder": "Vui lòng nhập địa chỉ URL của LOGO, không kết thúc bằng '/'",
"saveSuccess": "Lưu thành công",
"siteDesc": "Mô tả trang web",
"siteDescDescription": "Dùng để hiển thị vị trí cần hiển thị mô tả trang web",
"siteDescPlaceholder": "Vui lòng nhập mô tả trang web",
@@ -31,15 +80,47 @@
"siteDomainPlaceholder": "Vui lòng nhập địa chỉ tên miền, mỗi dòng một tên miền",
"siteName": "Tên trang web",
"siteNameDescription": "Dùng để hiển thị vị trí cần hiển thị tên trang web",
"siteNamePlaceholder": "Vui lòng nhập tên trang web"
},
"tabs": {
"currency": "Tiền tệ",
"site": "Trang web",
"tos": "Điều khoản dịch vụ"
"siteNamePlaceholder": "Vui lòng nhập tên trang web",
"title": "Cấu hình trang web"
},
"siteSettings": "Cài đặt trang web",
"tos": {
"saveSuccess": "Lưu thành công",
"description": "Chỉnh sửa và quản lý nội dung điều khoản dịch vụ",
"title": "Điều khoản dịch vụ"
},
"userSecuritySettings": "Người dùng & Bảo mật",
"verify": {
"description": "Cấu hình Turnstile CAPTCHA và cài đặt xác minh",
"enableLoginVerify": "Kích hoạt xác minh khi đăng nhập",
"enableLoginVerifyDescription": "Khi được kích hoạt, người dùng phải vượt qua xác minh con người khi đăng nhập",
"enablePasswordVerify": "Kích hoạt xác minh khi đặt lại mật khẩu",
"enablePasswordVerifyDescription": "Khi được kích hoạt, người dùng phải vượt qua xác minh con người khi đặt lại mật khẩu",
"enableRegisterVerify": "Kích hoạt xác minh khi đăng ký",
"enableRegisterVerifyDescription": "Khi được kích hoạt, người dùng phải vượt qua xác minh con người khi đăng ký",
"inputPlaceholder": "Vui lòng nhập",
"saveFailed": "Lưu thất bại",
"saveSuccess": "Lưu thành công",
"title": "Xác minh bảo mật",
"turnstileSecret": "Khóa bí mật Turnstile",
"turnstileSecretDescription": "Khóa bí mật Turnstile Cloudflare cho xác minh backend",
"turnstileSecretPlaceholder": "Nhập khóa bí mật Turnstile",
"turnstileSiteKey": "Khóa trang Turnstile",
"turnstileSiteKeyDescription": "Khóa trang Turnstile Cloudflare cho xác minh frontend",
"turnstileSiteKeyPlaceholder": "Nhập khóa trang Turnstile"
},
"verifyCode": {
"dailyLimit": "Giới hạn gửi hàng ngày",
"dailyLimitDescription": "Số lượng mã xác minh tối đa mà mỗi người dùng có thể gửi mỗi ngày",
"description": "Cấu hình quy tắc và giới hạn gửi mã xác minh qua email",
"expireTime": "Thời gian hiệu lực mã xác minh",
"expireTimeDescription": "Thời gian hiệu lực của mã xác minh (giây)",
"inputPlaceholder": "Vui lòng nhập",
"interval": "Khoảng thời gian gửi",
"intervalDescription": "Khoảng thời gian tối thiểu giữa hai lần gửi mã xác minh (giây)",
"saveFailed": "Lưu thất bại",
"saveSuccess": "Lưu thành công",
"seconds": "giây",
"times": "lần",
"title": "Cài đặt mã xác minh"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID Bot",
"clientIdDescription": "ID Bot Telegram, bạn có thể lấy từ @BotFather",
"clientSecret": "Mã thông báo Bot",
"clientSecretDescription": "Mã thông báo Bot Telegram, bạn có thể lấy nó từ @BotFather",
"enable": "Kích hoạt",
"enableDescription": "Sau khi kích hoạt, các chức năng đăng ký, đăng nhập, liên kết và hủy liên kết điện thoại di động sẽ được kích hoạt",
"saveFailed": "Lưu không thành công",
"saveSuccess": "Lưu thành công"
}