msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Last-Translator: Sanvu88\n"
"Language-Team: none\n"
"Language: vi_VN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: src/language/generate.ts:37
msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
msgstr "[Nginx UI] Người dùng ACME: %{name}, Email: %{email}, Thư mục CA: %{caDir}"

#: src/language/generate.ts:38
msgid "[Nginx UI] Backing up current certificate for later revocation"
msgstr "[Nginx UI] Đang sao lưu chứng chỉ hiện tại để thu hồi sau này"

#: src/language/generate.ts:39
msgid "[Nginx UI] Certificate renewed successfully"
msgstr "[Nginx UI] Gia hạn chứng chỉ thành công"

#: src/language/generate.ts:40
msgid "[Nginx UI] Certificate successfully revoked"
msgstr "[Nginx UI] Hủy chứng chỉ thành công"

#: src/language/generate.ts:41
msgid "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
msgstr ""
"[Nginx UI] Chứng chỉ đã được sử dụng cho máy chủ, đang tải lại chứng chỉ "
"TLS của máy chủ"

#: src/language/generate.ts:42
msgid "[Nginx UI] Creating client facilitates communication with the CA server"
msgstr "[Nginx UI] Tạo máy khách để tạo điều kiện giao tiếp với máy chủ CA"

#: src/language/generate.ts:43
msgid "[Nginx UI] Environment variables cleaned"
msgstr "[Nginx UI] Đã dọn dẹp biến môi trường"

#: src/language/generate.ts:44
msgid "[Nginx UI] Finished"
msgstr "[Nginx UI] Đã hoàn thành"

#: src/language/generate.ts:45
msgid "[Nginx UI] Issued certificate successfully"
msgstr "[Nginx UI] Đã cấp chứng chỉ thành công"

#: src/language/generate.ts:46
msgid "[Nginx UI] Obtaining certificate"
msgstr "[Nginx UI] Đang lấy chứng chỉ"

#: src/language/generate.ts:47
msgid "[Nginx UI] Preparing for certificate revocation"
msgstr "[Nginx UI] Chuẩn bị thu hồi chứng chỉ"

#: src/language/generate.ts:48
msgid "[Nginx UI] Preparing lego configurations"
msgstr "[Nginx UI] Đang chuẩn bị cấu hình lego"

#: src/language/generate.ts:49
msgid "[Nginx UI] Reloading nginx"
msgstr "[Nginx UI] Đang tải lại nginx"

#: src/language/generate.ts:50
msgid "[Nginx UI] Revocation completed"
msgstr "[Nginx UI] Đã hoàn tất thu hồi"

#: src/language/generate.ts:51
msgid "[Nginx UI] Revoking certificate"
msgstr "[Nginx UI] Đang thu hồi chứng chỉ"

#: src/language/generate.ts:52
msgid "[Nginx UI] Revoking old certificate"
msgstr "[Nginx UI] Đang thu hồi chứng chỉ cũ"

#: src/language/generate.ts:53
msgid "[Nginx UI] Setting DNS01 challenge provider"
msgstr "[Nginx UI] Đang thiết lập nhà cung cấp thử thách DNS01"

#: src/language/generate.ts:55
msgid "[Nginx UI] Setting environment variables"
msgstr "[Nginx UI] Đang thiết lập biến môi trường"

#: src/language/generate.ts:54
msgid "[Nginx UI] Setting HTTP01 challenge provider"
msgstr "[Nginx UI] Đang thiết lập nhà cung cấp thử thách HTTP01"

#: src/language/generate.ts:56
msgid "[Nginx UI] Writing certificate private key to disk"
msgstr "[Nginx UI] Đang ghi khóa riêng của chứng chỉ vào ổ đĩa"

#: src/language/generate.ts:57
msgid "[Nginx UI] Writing certificate to disk"
msgstr "[Nginx UI] Đang ghi chứng chỉ vào ổ đĩa"

#: src/views/certificate/components/CertificateBasicInfo.vue:29
#: src/views/certificate/components/CertificateContentEditor.vue:110
msgid "{label} copied to clipboard"
msgstr "{label} đã được sao chép vào bảng nhớ tạm"

#: src/components/SyncNodesPreview/SyncNodesPreview.vue:59
msgid "* Includes nodes from group %{groupName} and manually selected nodes"
msgstr "* Bao gồm các nút từ nhóm %{groupName} và các nút được chọn thủ công"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:166
msgid ""
"* Index files are stored in the \"log-index\" directory within your Nginx "
"UI config path by default."
msgstr ""
"* Các tệp chỉ mục được lưu trữ trong thư mục \"log-index\" trong đường dẫn "
"cấu hình NGINX UI theo mặc định."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:215
msgid ""
"* Performance metrics measured on Apple M2 Pro (12-core) with 32GB RAM. "
"Actual performance may vary based on your hardware configuration."
msgstr ""
"* Số liệu hiệu suất được đo trên Apple M2 Pro (12 lõi) với 32GB RAM. Hiệu "
"suất thực tế có thể thay đổi tùy theo cấu hình phần cứng của bạn."

#: src/views/site/site_list/SiteList.vue:191
msgid "%{count} sites selected"
msgstr "%{count} trang web đã chọn"

#: src/views/dns/components/DNSChallenge.vue:56
msgid ""
"%{provider} can be used for ACME DNS-01 certificate challenges and DNS "
"record management in DNS Domains."
msgstr ""
"%{provider} có thể được dùng cho thử thách chứng chỉ ACME DNS-01 và quản lý "
"bản ghi DNS trong DNS Domains."

#: src/views/dns/components/DNSChallenge.vue:62
msgid ""
"%{provider} can be used for ACME DNS-01 certificate challenges, but DNS "
"record management in DNS Domains is not supported for this provider."
msgstr ""
"%{provider} có thể được dùng cho thử thách chứng chỉ ACME DNS-01, nhưng DNS "
"Domains không hỗ trợ quản lý bản ghi DNS cho nhà cung cấp này."

#: src/views/nginx_log/structured/StructuredLogViewer.vue:811
msgid "%{start}-%{end} of %{total} items"
msgstr "%{start}-%{end} trong %{total} mục"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:48
msgid "1 core minimum"
msgstr "Tối thiểu 1 lõi"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:338
#: src/views/site/site_edit/components/RightPanel/DNS.vue:508
#: src/views/site/site_edit/components/RightPanel/DNS.vue:632
msgid "192.168.1.1"
msgstr "192.168.1.1"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:54
msgid "1GB RAM minimum"
msgstr "Tối thiểu 1GB RAM"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:49
msgid "2+ cores recommended"
msgstr "Khuyên dùng 2+ lõi"

#: src/views/nginx_log/dashboard/components/HourlyChart.vue:67
#: src/views/nginx_log/dashboard/components/HourlyChart.vue:68
msgid "24-Hour UV/PV Statistics"
msgstr "Thống kê UV/PV 24 giờ"

#: src/views/user/userColumns.tsx:30
msgid "2FA"
msgstr "2fa"

#: src/views/user/UserProfile.vue:146
msgid "2FA Settings"
msgstr "Cài đặt 2FA"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:55
msgid "4GB+ RAM recommended"
msgstr "Khuyến nghị RAM 4GB trở lên"

#: src/views/dns/DDNSManager.vue:86
msgid ""
"A records at the same names are not managed in IPv6 only mode. They remain "
"unchanged in DNS."
msgstr ""
"Các bản ghi A có cùng tên không được quản lý trong chế độ chỉ IPv6. Chúng "
"vẫn không thay đổi trong DNS."

#: src/components/InspectConfig/InspectConfig.vue:37
msgid "A required include file is missing from the sandbox or source configuration."
msgstr "Thiếu tệp include bắt buộc trong sandbox hoặc cấu hình nguồn."

#: src/views/dns/DDNSManager.vue:85
msgid ""
"AAAA records at the same names are not managed in IPv4 only mode. They "
"remain unchanged in DNS."
msgstr ""
"Các bản ghi AAAA có cùng tên sẽ không được quản lý trong chế độ chỉ IPv4. "
"Chúng được giữ nguyên trong DNS."

#: src/routes/modules/system.ts:38
msgid "About"
msgstr "Tác giả"

#: src/language/constants.ts:64
msgid "Access Log"
msgstr "Nhật ký truy cập"

#: src/constants/errors/self_check.ts:21
msgid "Access log path not exist"
msgstr "Đường dẫn nhật ký truy cập không tồn tại"

#: src/components/NgxConfigEditor/LogEntry.vue:90
#: src/routes/modules/nginx_log.ts:17 src/views/nginx_log/NginxLogList.vue:43
msgid "Access Logs"
msgstr "Log truy cập"

#: src/routes/modules/certificates.ts:20 src/views/certificate/ACMEUser.vue:140
#: src/views/certificate/components/ACMEUserSelector.vue:64
msgid "ACME User"
msgstr "Người dùng ACME"

#: src/views/preference/tabs/AuthSettings.vue:27
msgid "Action"
msgstr "Hành động"

#: src/views/backup/AutoBackup/AutoBackup.vue:273
#: src/views/certificate/ACMEUser.vue:122
#: src/views/certificate/CertificateList/certColumns.tsx:113
#: src/views/config/configColumns.tsx:51
#: src/views/dns/components/DNSRecordTable.vue:42
#: src/views/dns/DDNSManager.vue:180 src/views/dns/DNSCredential.vue:71
#: src/views/dns/DNSDomainList.vue:242 src/views/namespace/columns.ts:97
#: src/views/nginx_log/NginxLogList.vue:338 src/views/node/nodeColumns.tsx:96
#: src/views/notification/notificationColumns.tsx:72
#: src/views/preference/components/ExternalNotify/columns.tsx:85
#: src/views/site/site_list/columns.tsx:160 src/views/stream/columns.tsx:123
#: src/views/user/userColumns.tsx:58
msgid "Actions"
msgstr "Hành động"

#: src/composables/usePerformanceMetrics.ts:84
#: src/views/dashboard/components/PerformanceTablesCard.vue:44
msgid "Active connections"
msgstr "Kết nối đang hoạt động"

#: src/views/dashboard/components/ProcessDistributionCard.vue:48
msgid "Actual worker to configured ratio"
msgstr "Tỷ lệ công nhân thực tế so với cấu hình"

#: src/components/NgxConfigEditor/NgxServer.vue:144
#: src/components/NgxConfigEditor/NgxUpstream.vue:97 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:51
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:119
#: src/views/site/site_list/SiteList.vue:150 src/views/stream/StreamList.vue:81
msgid "Add"
msgstr "Thêm"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:50
#: src/views/preference/components/AuthSettings/AddPasskey.vue:54
msgid "Add a passkey"
msgstr "Thêm khóa truy cập"

#: src/routes/modules/config.ts:20
#: src/views/config/components/ConfigLeftPanel.vue:169
#: src/views/config/components/ConfigLeftPanel.vue:242
msgid "Add Configuration"
msgstr "Thêm cấu hình"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:102
msgid "Add Directive Below"
msgstr "Thêm Directive"

#: src/views/certificate/components/DNSIssueCertificate.vue:197
#: src/views/certificate/components/SelfSignedCertFields.vue:37
msgid "Add Domain"
msgstr "Thêm tên miền"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:548
msgid "Add Header"
msgstr "Thêm tiêu đề"

#: src/views/certificate/components/SelfSignedCertFields.vue:44
msgid "Add IP Address"
msgstr "Thêm địa chỉ IP"

#: src/components/StringListInput/StringListInput.vue:48
msgid "Add Item"
msgstr "Thêm mục"

#: src/components/NgxConfigEditor/LocationEditor.vue:143
#: src/components/NgxConfigEditor/LocationEditor.vue:170
msgid "Add Location"
msgstr "Thêm Location"

#: src/views/dns/DNSRecordManager.vue:176
msgid "Add Record"
msgstr "Thêm bản ghi"

#: src/components/NgxConfigEditor/NgxServer.vue:92
msgid "Add Server"
msgstr "Thêm máy chủ"

#: src/routes/modules/sites.ts:26 src/views/site/site_add/SiteAdd.vue:167
msgid "Add Site"
msgstr "Thêm Website"

#: src/views/stream/StreamList.vue:118
msgid "Add Stream"
msgstr "Thêm luồng"

#: src/components/NgxConfigEditor/NgxUpstream.vue:118
msgid "Add Upstream"
msgstr "Thêm upstream"

#: src/views/stream/StreamList.vue:50
msgid "Added successfully"
msgstr "Đã thêm thành công"

#: src/views/dns/components/DNSChallenge.vue:141
msgid "Additional"
msgstr "Bổ sung"

#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:113
#: src/views/stream/components/StreamEditor.vue:80
msgid "Advance Mode"
msgstr "Nâng cao"

#: src/views/nginx_log/NginxLogList.vue:397
msgid "Advanced indexing enabled but failed to start rebuild"
msgstr "Đã bật lập chỉ mục nâng cao nhưng không thể bắt đầu xây dựng lại"

#: src/views/nginx_log/NginxLogList.vue:388
msgid "Advanced indexing enabled successfully"
msgstr "Đã bật lập chỉ mục nâng cao thành công"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:292
msgid "Advanced log indexing features are free and open source for all users"
msgstr ""
"Các tính năng lập chỉ mục nhật ký nâng cao là miễn phí và mã nguồn mở cho "
"tất cả người dùng"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:80
msgid "Advanced memory pooling system"
msgstr "Hệ thống phân bổ bộ nhớ nâng cao"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:240
msgid "Advanced search & filtering"
msgstr "Tìm kiếm & lọc nâng cao"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:622
msgid "Advanced Settings"
msgstr "Cài đặt nâng cao"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:105
msgid "Afterwards, refresh this page and click add passkey again."
msgstr "Sau đó, làm mới trang này và nhấp vào thêm khóa truy cập một lần nữa."

#: src/views/dns/components/DNSRecordFilter.vue:55
msgid "All"
msgstr "Tất cả"

#: src/views/system/Licenses.vue:152
msgid "All Components"
msgstr "Tất cả các thành phần"

#: src/components/Notification/notifications.ts:201
#: src/language/constants.ts:58
msgid "All Recovery Codes Have Been Used"
msgstr "Tất cả mã khôi phục đã được sử dụng"

#: src/views/certificate/components/DNSIssueCertificate.vue:200
msgid ""
"All selected subdomains must belong to the same DNS Provider, otherwise the "
"certificate application will fail."
msgstr ""
"Tất cả các tên miền phụ được chọn phải thuộc cùng một Nhà cung cấp DNS, nếu "
"không, việc xin cấp chứng chỉ sẽ thất bại."

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:160
msgid ""
"Alternatively, if you cannot download the database, you can manually place "
"GeoLite2-City.mmdb in the same directory as app.ini."
msgstr ""
"Ngoài ra, nếu bạn không thể tải xuống cơ sở dữ liệu, bạn có thể đặt thủ "
"công tệp GeoLite2-City.mmdb vào cùng thư mục với app.ini."

#: src/constants/errors/nginx_log.ts:10
msgid "Analytics service not available"
msgstr "Dịch vụ phân tích không khả dụng"

#: src/views/nginx_log/structured/components/SearchFilters.vue:96
msgid "Any"
msgstr "Bất kỳ"

#: src/components/AutoCertForm/AutoCertForm.vue:209
msgid "Any reachable IP address can be used with private Certificate Authorities"
msgstr ""
"Bất kỳ địa chỉ IP có thể truy cập nào đều có thể được sử dụng với các cơ "
"quan cấp chứng chỉ riêng tư"

#: src/views/preference/tabs/OpenAISettings.vue:96
msgid "API Base Url"
msgstr "URL Cơ sở API"

#: src/views/dns/components/DNSChallenge.vue:114
msgid "API Document"
msgstr "Tài liệu API"

#: src/views/preference/tabs/OpenAISettings.vue:107
msgid "API Proxy"
msgstr "API Proxy"

#: src/views/preference/tabs/OpenAISettings.vue:119
msgid "API Token"
msgstr "Mã API"

#: src/views/preference/tabs/OpenAISettings.vue:131
msgid "API Type"
msgstr "Loại API"

#: src/views/preference/Preference.vue:53
msgid "App"
msgstr "Ứng dụng"

#: src/language/curd.ts:65
msgid "Apply"
msgstr "Áp dụng"

#: src/views/system/Upgrade.vue:195
msgid "Arch"
msgstr "Kiến trúc"

#: src/views/preference/tabs/AuthSettings.vue:126
msgid "Are you sure to delete this banned IP immediately?"
msgstr "Bạn có chắc chắn muốn xóa IP bị cấm này ngay lập tức không?"

#: src/views/dns/DDNSManager.vue:349
msgid "Are you sure to delete this DDNS config?"
msgstr "Bạn có chắc chắn muốn xóa cấu hình DDNS này không?"

#: src/views/preference/components/AuthSettings/Passkey.vue:114
msgid "Are you sure to delete this passkey immediately?"
msgstr "Bạn có chắc chắn muốn xóa ngay lập tức khóa truy cập này không?"

#: src/views/dns/components/DNSRecordTable.vue:103
msgid "Are you sure to delete this record?"
msgstr "Bạn có chắc chắn muốn xóa bản ghi này không?"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:158
msgid "Are you sure to generate new recovery codes?"
msgstr "Bạn có chắc chắn muốn tạo mã khôi phục mới không?"

#: src/views/preference/components/AuthSettings/TOTP.vue:87
msgid "Are you sure to reset 2FA?"
msgstr "Bạn có chắc chắn muốn đặt lại xác thực hai yếu tố không?"

#: src/components/Notification/Notification.vue:117
#: src/views/notification/Notification.vue:40
msgid "Are you sure you want to clear all notifications?"
msgstr "Bạn có chắc chắn muốn xóa tất cả thông báo không?"

#: src/components/LLM/ChatMessageInput.vue:63
msgid "Are you sure you want to clear the record of chat?"
msgstr "Bạn có chắc chắn muốn xóa lịch sử trò chuyện không?"

#: src/language/curd.ts:27
msgid "Are you sure you want to delete permanently?"
msgstr "Bạn có chắc chắn muốn xóa vĩnh viễn không?"

#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:168
#: src/views/stream/StreamList.vue:101
msgid "Are you sure you want to delete?"
msgstr "Bạn có chắc chắn muốn xóa không?"

#: src/components/NamespaceTabs/NamespaceTabs.vue:134
msgid "Are you sure you want to reload Nginx on the following sync nodes?"
msgstr "Bạn có chắc chắn muốn tải lại Nginx trên các nút đồng bộ sau không?"

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:122
msgid "Are you sure you want to remove this directive?"
msgstr "Bạn chắc chắn muốn xoá directive này ?"

#: src/views/preference/tabs/CertSettings.vue:77
msgid "Are you sure you want to remove this item?"
msgstr "Bạn có chắc chắn muốn xóa mục này không?"

#: src/components/NgxConfigEditor/LocationEditor.vue:99
msgid "Are you sure you want to remove this location?"
msgstr "Bạn có chắc chắn muốn xóa vị trí này không?"

#: src/components/NamespaceTabs/NamespaceTabs.vue:146
msgid "Are you sure you want to restart Nginx on the following sync nodes?"
msgstr "Bạn có chắc chắn muốn khởi động lại Nginx trên các nút đồng bộ sau không?"

#: src/language/curd.ts:26
msgid "Are you sure you want to restore?"
msgstr "Bạn có chắc chắn muốn khôi phục không?"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:742
msgid "Ascending"
msgstr "Tăng dần"

#: src/components/LLM/ChatMessage.vue:216
msgid "Assistant"
msgstr "Trợ lý"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:60
msgid "At least 20GB available disk space"
msgstr "Ít nhất 20GB dung lượng đĩa trống"

#: src/views/preference/tabs/OpenAISettings.vue:41
msgid ""
"Atlas Cloud is OpenAI-compatible. Use https://api.atlascloud.ai/v1 and an "
"Atlas Cloud API key."
msgstr ""
"Atlas Cloud tương thích với OpenAI. Sử dụng https://api.atlascloud.ai/v1 và "
"khóa API Atlas Cloud."

#: src/components/SelfCheck/SelfCheck.vue:85
msgid "Attempt to fix"
msgstr "Cố gắng sửa chữa"

#: src/views/preference/tabs/AuthSettings.vue:18
msgid "Attempts"
msgstr "Nỗ lực"

#: src/views/preference/Preference.vue:83
msgid "Auth"
msgstr "Xác thực"

#: src/components/TwoFA/Authorization.vue:117
msgid "Authenticate with a passkey"
msgstr "Xác thực với một cô ấy"

#: src/views/other/Login.vue:289
msgid "Authenticating..."
msgstr "Đang xác thực..."

#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:122
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:96
msgid "Author"
msgstr "Tác giả"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43
msgid "Auto"
msgstr "Tự động"

#: src/views/dashboard/components/PerformanceTablesCard.vue:201
msgid "auto = CPU cores"
msgstr "auto = lõi cpu"

#: src/routes/modules/backup.ts:27
#: src/views/backup/AutoBackup/AutoBackup.vue:282
msgid "Auto Backup"
msgstr "Sao lưu tự động"

#: src/components/Notification/notifications.ts:37
msgid "Auto Backup Completed"
msgstr "Sao lưu tự động hoàn tất"

#: src/components/Notification/notifications.ts:25
msgid "Auto Backup Configuration Error"
msgstr "Lỗi cấu hình sao lưu tự động"

#: src/components/Notification/notifications.ts:29
msgid "Auto Backup Failed"
msgstr "Sao lưu tự động thất bại"

#: src/components/Notification/notifications.ts:33
msgid "Auto Backup Storage Failed"
msgstr "Lưu trữ sao lưu tự động thất bại"

#: src/views/nginx_log/NginxLog.vue:101 src/views/node/Node.vue:164
msgid "Auto Refresh"
msgstr "Tự động làm mới"

#: src/views/node/Node.vue:47
msgid "Auto refresh disabled"
msgstr "Tự động làm mới đã bị vô hiệu hóa"

#: src/views/node/Node.vue:43
msgid "Auto refresh enabled"
msgstr "Cập nhật tự động đã được bật"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:93
msgid "Auto-renewal disabled for %{name}"
msgstr "Đã tắt tự động gia hạn SSL cho %{name}"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:86
msgid "Auto-renewal enabled for %{name}"
msgstr "Đã bật tự động gia hạn SSL cho %{name}"

#: src/views/certificate/components/RenewCert.vue:47
#: src/views/site/site_edit/components/Cert/IssueCert.vue:103
msgid "AutoCert is running, please wait..."
msgstr "AutoCert đang chạy, vui lòng chờ..."

#: src/components/ProcessingStatus/ProcessingStatus.vue:44
msgid "AutoCert is running..."
msgstr "AutoCert đang chạy..."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:260
msgid "Automated log rotation detection"
msgstr "Phát hiện luân chuyển nhật ký tự động"

#: src/components/SystemRestore/SystemRestoreContent.vue:364
msgid "Automatic Restart"
msgstr "Khởi động lại tự động"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:331
#: src/views/site/site_edit/components/RightPanel/DNS.vue:625
msgid "Automatically extracted from server_name"
msgstr "Được tự động trích xuất từ server_name"

#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:36
msgid "Average Latency"
msgstr "Độ trễ trung bình"

#: src/views/nginx_log/dashboard/components/SummaryStats.vue:33
msgid "Avg Daily UV"
msgstr "UV trung bình hàng ngày"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:793
msgid "Avg/PV"
msgstr "TB/PV"

#: src/views/certificate/components/CertificateActions.vue:22
#: src/views/config/components/ConfigLeftPanel.vue:274
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/dns/DNSRecordManager.vue:230 src/views/nginx_log/NginxLog.vue:129
#: src/views/site/site_add/SiteAdd.vue:250
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:189
#: src/views/stream/components/StreamEditor.vue:147
msgid "Back"
msgstr "Quay lại"

#: src/views/other/Error.vue:22
msgid "Back Home"
msgstr "Trở về trang chủ"

#: src/language/curd.ts:21
msgid "Back to List"
msgstr "Quay lại danh sách"

#: src/views/system/Licenses.vue:113 src/views/system/Licenses.vue:187
msgid "Backend"
msgstr "Backend"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:570
msgid ""
"Background indexing in progress. Data will be updated automatically when "
"ready."
msgstr ""
"Đang tiến hành lập chỉ mục nền. Dữ liệu sẽ được tự động cập nhật khi sẵn "
"sàng."

#: src/constants/errors/nginx_log.ts:14
msgid "Background log service not available"
msgstr "Dịch vụ nhật ký nền không khả dụng"

#: src/routes/modules/backup.ts:11 src/routes/modules/backup.ts:19
msgid "Backup"
msgstr "Sao lưu"

#: src/constants/errors/backup.ts:40
msgid "Backup file not found: {0}"
msgstr "Không tìm thấy tệp sao lưu: {0}"

#: src/views/backup/components/BackupCreator.vue:42
msgid "Backup has been downloaded successfully"
msgstr "Đã tải xuống bản sao lưu thành công"

#: src/constants/errors/backup.ts:61
msgid "Backup integrity verification failed"
msgstr "Xác minh tính toàn vẹn của bản sao lưu thất bại"

#: src/constants/errors/backup.ts:63
msgid "Backup manifest is missing required file entry: {0}"
msgstr "Bản kê khai sao lưu thiếu mục tệp bắt buộc: {0}"

#: src/views/backup/AutoBackup/AutoBackup.vue:50
msgid "Backup Path"
msgstr "Đường dẫn sao lưu"

#: src/constants/errors/backup.ts:73
msgid "Backup path does not exist: {0}"
msgstr "Đường dẫn sao lưu không tồn tại: {0}"

#: src/constants/errors/backup.ts:75
msgid "Backup path is not a directory: {0}"
msgstr "Đường dẫn sao lưu không phải là thư mục: {0}"

#: src/constants/errors/backup.ts:65
msgid "Backup path is required for custom directory backup"
msgstr "Đường dẫn sao lưu là bắt buộc để sao lưu thư mục tùy chỉnh"

#: src/views/backup/AutoBackup/components/CronEditor.vue:141
msgid "Backup Schedule"
msgstr "Lịch trình sao lưu"

#: src/constants/errors/backup.ts:64
msgid "Backup signing key is unavailable"
msgstr "Khóa ký sao lưu không khả dụng"

#: src/components/Notification/notifications.ts:38
msgid "Backup task %{backup_name} completed successfully, file: %{file_path}"
msgstr "Tác vụ sao lưu %{backup_name} đã hoàn thành thành công, tệp: %{file_path}"

#: src/components/Notification/notifications.ts:34
msgid "Backup task %{backup_name} failed during storage upload, error: %{error}"
msgstr ""
"Tác vụ sao lưu %{backup_name} thất bại trong quá trình tải lên lưu trữ, "
"lỗi: %{error}"

#: src/components/Notification/notifications.ts:30
msgid "Backup task %{backup_name} failed to execute, error: %{error}"
msgstr "Tác vụ sao lưu %{backup_name} không thể thực thi, lỗi: %{error}"

#: src/views/backup/AutoBackup/AutoBackup.vue:24
msgid "Backup Type"
msgstr "Loại sao lưu"

#: src/views/preference/tabs/AuthSettings.vue:93
msgid "Ban Threshold Minutes"
msgstr "Phút Ngưỡng Cấm"

#: src/views/preference/tabs/AuthSettings.vue:114
msgid "Banned IPs"
msgstr "Danh sách IP bị cấm"

#: src/views/preference/tabs/AuthSettings.vue:21
msgid "Banned Until"
msgstr "Bị cấm đến"

#: src/views/preference/components/ExternalNotify/bark.ts:5
msgid "Bark"
msgstr "Bark"

#: src/views/site/site_add/SiteAdd.vue:173
msgid "Base information"
msgstr "Thông tin"

#: src/views/config/components/ConfigRightPanel/ConfigRightPanel.vue:41
#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:44
#: src/views/stream/components/RightPanel/RightPanel.vue:31
msgid "Basic"
msgstr "Cơ bản"

#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:116
#: src/views/stream/components/StreamEditor.vue:83
msgid "Basic Mode"
msgstr "Cơ bản"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:118
msgid "Basic Settings"
msgstr "Cài đặt cơ bản"

#: src/language/curd.ts:32
msgid "Batch Edit"
msgstr "Chỉnh sửa hàng loạt"

#: src/language/curd.ts:34
msgid "Batch Modify"
msgstr "Chỉnh sửa hàng loạt"

#: src/views/node/BatchUpgrader.vue:154
msgid "Batch Upgrade"
msgstr "Nâng cấp hàng loạt"

#: src/language/curd.ts:38
msgid "Belows are selected items that you want to batch modify"
msgstr "Dưới đây là các mục đã chọn mà bạn muốn sửa hàng loạt"

#: src/constants/errors/nginx.ts:3
msgid "Block is nil"
msgstr "Khối là nil"

#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:13
#: src/views/nginx_log/structured/components/SearchFilters.vue:137
#: src/views/nginx_log/structured/StructuredLogViewer.vue:257
#: src/views/nginx_log/structured/StructuredLogViewer.vue:523
msgid "Browser"
msgstr "Trình duyệt"

#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:36
msgid "Browser Statistics"
msgstr "Thống kê trình duyệt"

#: src/views/dns/DNSDomainList.vue:288
msgid "Business contact:"
msgstr "Liên hệ kinh doanh:"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:314
msgid ""
"By enabling advanced indexing, you acknowledge that your system meets the "
"requirements and understand the performance implications. This will start "
"indexing existing log files immediately."
msgstr ""
"Bằng cách kích hoạt lập chỉ mục nâng cao, bạn xác nhận rằng hệ thống của "
"bạn đáp ứng các yêu cầu và hiểu rõ các tác động đến hiệu suất. Điều này sẽ "
"bắt đầu lập chỉ mục các tệp nhật ký hiện có ngay lập tức."

#: src/views/certificate/ACMEUser.vue:39
msgid "CA Dir"
msgstr "Thư mục CA"

#: src/views/dashboard/components/ParamsOptimization.vue:125
msgid "Cache"
msgstr "Bộ nhớ đệm"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:177
msgid "Cache items not accessed within this time will be removed"
msgstr "Các mục bộ nhớ đệm không được truy cập trong thời gian này sẽ bị xóa"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:349
msgid "Cache loader processing time threshold"
msgstr "Ngưỡng thời gian xử lý của bộ nạp bộ nhớ đệm"

#: src/composables/usePerformanceMetrics.ts:139
#: src/views/dashboard/components/PerformanceTablesCard.vue:95
msgid "Cache manager processes"
msgstr "Tiến trình quản lý bộ nhớ đệm"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:287
msgid "Cache manager processing time threshold"
msgstr "Ngưỡng thời gian xử lý của trình quản lý bộ nhớ đệm"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:245
msgid "Cache Manager Settings"
msgstr "Cài đặt Quản lý Bộ nhớ đệm"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:123
msgid "Cache Path"
msgstr "Đường dẫn bộ nhớ đệm"

#: src/composables/usePerformanceMetrics.ts:57
#: src/views/dashboard/components/ProcessDistributionCard.vue:14
msgid "Cache Processes"
msgstr "Tiến trình bộ nhớ đệm"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:136
msgid "Cache subdirectory levels structure, e.g. 1:2"
msgstr "Cấu trúc cấp độ thư mục con của bộ nhớ đệm, ví dụ: 1:2"

#: src/views/preference/tabs/CertSettings.vue:20
msgid "CADir"
msgstr "CADir"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
#: src/views/dashboard/components/PerformanceTablesCard.vue:191
msgid ""
"Calculated based on worker_processes * worker_connections. Actual "
"performance depends on hardware, configuration, and workload"
msgstr ""
"Được tính toán dựa trên worker_processes * worker_connections. Hiệu suất "
"thực tế phụ thuộc vào phần cứng, cấu hình và khối lượng công việc"

#: src/components/LLM/ChatMessage.vue:245
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:32 src/language/curd.ts:37
#: src/views/config/components/Delete.vue:98
#: src/views/dashboard/components/SiteHealthCheckModal.vue:710
#: src/views/dns/DDNSManager.vue:438 src/views/dns/DNSRecordManager.vue:219
#: src/views/nginx_log/components/IndexingSettingsModal.vue:101
#: src/views/nginx_log/indexing/IndexManagement.vue:33
#: src/views/nginx_log/indexing/IndexManagement.vue:59
#: src/views/preference/components/AuthSettings/Passkey.vue:142
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:53
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:143
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:21
#: src/views/site/site_list/SiteList.vue:102
#: src/views/stream/components/StreamStatusSelect.vue:62
msgid "Cancel"
msgstr "Huỷ"

#: src/constants/errors/backup.ts:74
msgid "Cannot access backup path {0}: {1}"
msgstr "Không thể truy cập đường dẫn sao lưu {0}: {1}"

#: src/constants/errors/nginx_log.ts:13
msgid "Cannot access log file"
msgstr "Không thể truy cập tệp nhật ký"

#: src/constants/errors/backup.ts:77
msgid "Cannot access storage path {0}: {1}"
msgstr "Không thể truy cập đường dẫn lưu trữ {0}: {1}"

#: src/constants/errors/user.ts:11
msgid "Cannot change initial user password in demo mode"
msgstr "Không thể thay đổi mật khẩu người dùng ban đầu trong chế độ demo"

#: src/components/ConfigHistory/DiffViewer.vue:71
msgid "Cannot compare: Missing content"
msgstr "Không thể so sánh: Thiếu nội dung"

#: src/constants/errors/config.ts:10
msgid "Cannot delete protected path"
msgstr "Không thể xóa đường dẫn được bảo vệ"

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:135
msgid "Cannot delete server_name while DNS is linked. Clear DNS link first."
msgstr ""
"Không thể xóa server_name khi DNS đang được liên kết. Hãy xóa liên kết DNS "
"trước."

#: src/constants/errors/config.ts:13
msgid "Cannot delete the nginx config directory"
msgstr "Không thể xóa thư mục cấu hình nginx"

#: src/views/dashboard/NginxDashBoard.vue:154
msgid "Cannot get performance data in this state"
msgstr "Không thể nhận được dữ liệu hiệu suất ở trạng thái này"

#: src/constants/errors/user.ts:10
msgid "Cannot remove initial user"
msgstr "Không thể xóa người dùng ban đầu"

#: src/views/preference/Preference.vue:89
msgid "Cert"
msgstr "Chứng chỉ"

#: src/constants/errors/cert.ts:3
msgid "Cert path is not under the nginx conf dir"
msgstr "Đường dẫn chứng chỉ không nằm trong thư mục cấu hình nginx"

#: src/views/certificate/components/CertificateFileUpload.vue:121
#: src/views/certificate/components/CertificateFileUpload.vue:45
msgid "certificate"
msgstr "chứng chỉ"

#: src/components/Notification/notifications.ts:50
msgid "Certificate %{name} has expired"
msgstr "Chứng chỉ %{name} đã hết hạn"

#: src/components/Notification/notifications.ts:46
msgid "Certificate %{name} renewal failed: %{error}"
msgstr "Gia hạn chứng chỉ %{name} thất bại: %{error}"

#: src/components/Notification/notifications.ts:42
msgid "Certificate %{name} renewed successfully"
msgstr "Chứng chỉ %{name} đã được gia hạn thành công"

#: src/components/Notification/notifications.ts:54
#: src/components/Notification/notifications.ts:58
#: src/components/Notification/notifications.ts:62
msgid "Certificate %{name} will expire in %{days} days"
msgstr "Chứng chỉ %{name} sẽ hết hạn sau %{days} ngày"

#: src/components/Notification/notifications.ts:66
msgid "Certificate %{name} will expire in 1 day"
msgstr "Chứng chỉ %{name} sẽ hết hạn trong 1 ngày"

#: src/views/certificate/components/CertificateDownload.vue:37
msgid "Certificate content and private key content cannot be empty"
msgstr "Nội dung chứng chỉ và khóa riêng tư không thể để trống"

#: src/constants/errors/cert.ts:4
msgid "Certificate decode error"
msgstr "Lỗi giải mã chứng chỉ"

#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:54
msgid "Certificate directives added to the editor; review and save when ready."
msgstr ""
"Các chỉ thị chứng chỉ đã được thêm vào trình chỉnh sửa; hãy xem lại và lưu "
"khi sẵn sàng."

#: src/components/Notification/notifications.ts:53
msgid "Certificate Expiration Notice"
msgstr "Thông báo hết hạn chứng chỉ"

#: src/components/Notification/notifications.ts:49
msgid "Certificate Expired"
msgstr "Chứng chỉ đã hết hạn"

#: src/components/Notification/notifications.ts:57
#: src/components/Notification/notifications.ts:61
#: src/components/Notification/notifications.ts:65
msgid "Certificate Expiring Soon"
msgstr "Chứng chỉ sắp hết hạn"

#: src/views/certificate/components/CertificateDownload.vue:71
msgid "Certificate files downloaded successfully"
msgstr "Tải xuống tệp chứng chỉ thành công"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:57
msgid "Certificate issuance component is not ready"
msgstr "Thành phần cấp chứng chỉ chưa sẵn sàng"

#: src/views/certificate/components/RetryCert.vue:33
msgid "Certificate issued successfully"
msgstr "Chứng chỉ đã được cấp thành công"

#: src/views/certificate/components/CertificateDownload.vue:42
msgid "Certificate name cannot be empty"
msgstr "Tên chứng chỉ không được để trống"

#: src/language/generate.ts:4
msgid "Certificate not found: %{error}"
msgstr "Không tìm thấy chứng chỉ: %{error}"

#: src/constants/errors/cert.ts:5
msgid "Certificate parse error"
msgstr "Lỗi phân tích chứng chỉ"

#: src/constants/errors/cert.ts:8
msgid "Certificate path is empty"
msgstr "Đường dẫn chứng chỉ trống"

#: src/views/certificate/components/RemoveCert.vue:52
#: src/views/certificate/components/RemoveCert.vue:72
msgid "Certificate removed successfully"
msgstr "Đã xóa chứng chỉ thành công"

#: src/views/preference/tabs/CertSettings.vue:33
msgid "Certificate Renewal Interval"
msgstr "Khoảng thời gian gia hạn chứng chỉ"

#: src/language/constants.ts:21
msgid "Certificate renewed successfully"
msgstr "Gia hạn chứng chỉ thành công"

#: src/language/generate.ts:5
msgid "Certificate revoked successfully"
msgstr "Hủy chứng chỉ thành công"

#: src/views/certificate/components/AutoCertManagement.vue:67
#: src/views/certificate/components/SelfSignedCertManagement.vue:25
#: src/views/site/site_edit/components/Cert/Cert.vue:59
msgid "Certificate Status"
msgid_plural "Certificates Status"
msgstr[0] "Trạng thái chứng chỉ"

#: src/views/certificate/components/DNSIssueCertificate.vue:168
msgid "Certificate Type"
msgstr "Loại chứng chỉ"

#: src/routes/modules/certificates.ts:11
#: src/views/certificate/CertificateList/Certificate.vue:20
msgid "Certificates"
msgstr "Chứng chỉ"

#: src/routes/modules/certificates.ts:28
msgid "Certificates List"
msgstr "Danh sách chứng chỉ"

#: src/constants/errors/cert.ts:17
msgid "Challenge error: {0}"
msgstr "Lỗi thử thách: {0}"

#: src/components/AutoCertForm/AutoCertForm.vue:218
msgid "Challenge Method"
msgstr "Phương pháp xác thực"

#: src/views/site/site_edit/components/Cert/ChangeCert.vue:51
#: src/views/site/site_edit/components/Cert/ChangeCert.vue:55
msgid "Change Certificate"
msgstr "Thay đổi chứng chỉ"

#: src/views/user/UserProfile.vue:176
msgid "Change Password"
msgstr "Đổi mật khẩu"

#: src/views/site/site_edit/components/Cert/Cert.vue:78
msgid "Changed Certificate"
msgid_plural "Changed Certificates"
msgstr[0] "Chứng chỉ đã thay đổi"

#: src/views/config/components/ConfigRightPanel/Basic.vue:47
msgid "Changed Path"
msgstr "Đường dẫn đã thay đổi"

#: src/views/node/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:207
msgid "Channel"
msgstr "Kênh"

#: src/views/config/components/ConfigRightPanel/ConfigRightPanel.vue:50
#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:57
#: src/views/stream/components/RightPanel/RightPanel.vue:34
msgid "Chat"
msgstr "Trò chuyện"

#: src/components/LLM/LLM.vue:63
msgid "Chat for %{path}"
msgstr "Trò chuyện cho %{path}"

#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:40
#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:64
msgid "Check"
msgstr "Kiểm tra"

#: src/views/system/Upgrade.vue:204
msgid "Check again"
msgstr "Kiểm tra lại"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:670
msgid "Check Favicon"
msgstr "Kiểm tra favicon"

#: src/language/generate.ts:6
msgid ""
"Check if /var/run/docker.sock exists. If you are using Nginx UI Official "
"Docker Image, please make sure the docker socket is mounted like this: `-v "
"/var/run/docker.sock:/var/run/docker.sock`. Nginx UI official image uses "
"/var/run/docker.sock to communicate with the host Docker Engine via Docker "
"Client API. This feature is used to control Nginx in another container and "
"perform container replacement rather than binary replacement during OTA "
"upgrades of Nginx UI to ensure container dependencies are also upgraded. If "
"you don't need this feature, please add the environment variable "
"NGINX_UI_IGNORE_DOCKER_SOCKET=true to the container."
msgstr ""
"Kiểm tra xem /var/run/docker.sock có tồn tại không. Nếu bạn đang sử dụng "
"hình ảnh Docker chính thức của Nginx UI, hãy đảm bảo rằng ổ cắm Docker được "
"gắn kết như sau: `-v /var/run/docker.sock:/var/run/docker.sock`. Hình ảnh "
"chính thức Nginx UI sử dụng /var/run/docker.sock để giao tiếp với Docker "
"Engine của máy chủ thông qua API Docker Client. Tính năng này được sử dụng "
"để kiểm soát Nginx trong một container khác và thực hiện thay thế container "
"thay vì thay thế nhị phân trong quá trình nâng cấp OTA của Nginx UI để đảm "
"bảo các phụ thuộc container cũng được nâng cấp. Nếu bạn không cần tính năng "
"này, hãy thêm biến môi trường NGINX_UI_IGNORE_DOCKER_SOCKET=true vào "
"container."

#: src/components/SelfCheck/tasks/frontend/https-check.ts:14
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features"
msgstr ""
"Kiểm tra xem HTTPS có được bật không. Sử dụng HTTP bên ngoài localhost "
"không an toàn và ngăn chặn việc sử dụng tính năng Passkeys và clipboard"

#: src/language/generate.ts:8
msgid "Check if the conf.d directory is under the nginx configuration directory"
msgstr "Kiểm tra xem thư mục conf.d có nằm trong thư mục cấu hình nginx không"

#: src/language/generate.ts:7
msgid ""
"Check if the GeoLite2 database is available when log indexing is enabled. "
"The GeoLite2 database is required for geographic IP analysis in log "
"indexing. You can download it from the Preference page or manually place "
"GeoLite2-City.mmdb in the same directory as app.ini"
msgstr ""
"Kiểm tra xem cơ sở dữ liệu GeoLite2 có sẵn không khi chỉ mục nhật ký được "
"bật. Cơ sở dữ liệu GeoLite2 là cần thiết cho phân tích địa lý IP trong chỉ "
"mục nhật ký. Bạn có thể tải nó từ trang Tùy chọn hoặc đặt tệp "
"GeoLite2-City.mmdb vào cùng thư mục với app.ini một cách thủ công"

#: src/language/generate.ts:10
msgid ""
"Check if the nginx access log path exists. By default, this path is "
"obtained from 'nginx -V'. If it cannot be obtained or the obtained path "
"does not point to a valid, existing file, an error will be reported. In "
"this case, you need to modify the configuration file to specify the access "
"log path.Refer to the docs for more details: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#accesslogpath"
msgstr ""
"Kiểm tra xem đường dẫn nhật ký truy cập nginx có tồn tại không. Theo mặc "
"định, đường dẫn này được lấy từ 'nginx -V'. Nếu không thể lấy được hoặc "
"đường dẫn lấy được không trỏ đến một tệp hợp lệ đang tồn tại, một lỗi sẽ "
"được báo cáo. Trong trường hợp này, bạn cần sửa đổi tệp cấu hình để chỉ "
"định đường dẫn nhật ký truy cập. Tham khảo tài liệu để biết thêm chi tiết: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#accesslogpath"

#: src/language/generate.ts:11
msgid "Check if the nginx configuration directory exists"
msgstr "Kiểm tra xem thư mục cấu hình nginx có tồn tại không"

#: src/language/generate.ts:12
msgid "Check if the nginx configuration entry file exists"
msgstr "Kiểm tra xem tệp cấu hình đầu vào của nginx có tồn tại không"

#: src/language/generate.ts:13
msgid ""
"Check if the nginx error log path exists. By default, this path is obtained "
"from 'nginx -V'. If it cannot be obtained or the obtained path does not "
"point to a valid, existing file, an error will be reported. In this case, "
"you need to modify the configuration file to specify the error log path. "
"Refer to the docs for more details: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#errorlogpath"
msgstr ""
"Kiểm tra xem đường dẫn nhật ký lỗi của nginx có tồn tại không. Theo mặc "
"định, đường dẫn này được lấy từ 'nginx -V'. Nếu không thể lấy được hoặc "
"đường dẫn lấy được không trỏ đến một tệp hợp lệ đang tồn tại, một lỗi sẽ "
"được báo cáo. Trong trường hợp này, bạn cần sửa đổi tệp cấu hình để chỉ "
"định đường dẫn nhật ký lỗi. Tham khảo tài liệu để biết thêm chi tiết: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#errorlogpath"

#: src/language/generate.ts:9
msgid ""
"Check if the nginx PID path exists. By default, this path is obtained from "
"'nginx -V'. If it cannot be obtained, an error will be reported. In this "
"case, you need to modify the configuration file to specify the Nginx PID "
"path.Refer to the docs for more details: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#pidpath"
msgstr ""
"Kiểm tra xem đường dẫn PID của Nginx có tồn tại không. Theo mặc định, đường "
"dẫn này được lấy từ lệnh 'nginx -V'. Nếu không thể lấy được, một lỗi sẽ "
"được báo cáo. Trong trường hợp này, bạn cần sửa đổi tệp cấu hình để chỉ "
"định đường dẫn PID của Nginx. Tham khảo tài liệu để biết thêm chi tiết: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#pidpath"

#: src/language/generate.ts:14
msgid "Check if the nginx sbin path exists"
msgstr "Kiểm tra xem đường dẫn sbin của nginx có tồn tại không"

#: src/language/generate.ts:15
msgid "Check if the nginx.conf includes the conf.d directory"
msgstr "Kiểm tra xem tệp nginx.conf có bao gồm thư mục conf.d không"

#: src/language/generate.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory"
msgstr "Kiểm tra xem tệp nginx.conf có bao gồm thư mục sites-enabled không"

#: src/language/generate.ts:17
msgid "Check if the nginx.conf includes the streams-enabled directory"
msgstr "Kiểm tra xem tệp nginx.conf có bao gồm thư mục streams-enabled không"

#: src/language/generate.ts:18
msgid ""
"Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory"
msgstr ""
"Kiểm tra xem các thư mục sites-available và sites-enabled có nằm trong thư "
"mục cấu hình nginx không"

#: src/language/generate.ts:19
msgid ""
"Check if the streams-available and streams-enabled directories are under "
"the nginx configuration directory"
msgstr ""
"Kiểm tra xem các thư mục streams-available và streams-enabled có nằm trong "
"thư mục cấu hình nginx không"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:625
msgid "Check Interval (seconds)"
msgstr "Khoảng thời gian kiểm tra (giây)"

#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:212
#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:47
msgid "China Access Map"
msgstr "Bản đồ Truy cập Trung Quốc"

#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:34
msgid "China Map"
msgstr "Bản đồ Trung Quốc"

#: src/constants/errors/crypto.ts:3
msgid "Cipher text is too short"
msgstr "Văn bản mã hóa quá ngắn"

#: src/views/dns/DDNSManager.vue:393
msgid "Clean up conflicting records"
msgstr "Dọn dẹp bản ghi xung đột"

#: src/language/constants.ts:13
msgid "Cleaning environment variables"
msgstr "Xoá các biến môi trường"

#: src/components/LLM/ChatMessageInput.vue:67
#: src/components/Notification/Notification.vue:122
#: src/views/notification/Notification.vue:45
#: src/views/site/site_edit/components/RightPanel/DNS.vue:480
msgid "Clear"
msgstr "Xoá"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:538
msgid "Clear Link"
msgstr "Xóa liên kết"

#: src/components/Notification/Notification.vue:75
#: src/views/notification/Notification.vue:13
msgid "Cleared successfully"
msgstr "Đã xóa thành công"

#: src/components/SystemRestore/SystemRestoreContent.vue:220
#: src/components/SystemRestore/SystemRestoreContent.vue:303
msgid "Click or drag backup file to this area to upload"
msgstr "Nhấp hoặc kéo tệp sao lưu vào khu vực này để tải lên"

#: src/language/curd.ts:51 src/language/curd.ts:55
msgid "Click or drag files to this area to upload"
msgstr "Nhấp hoặc kéo thả tệp vào khu vực này để tải lên"

#: src/language/curd.ts:52 src/language/curd.ts:56
msgid "Click or drag folders to this area to upload"
msgstr "Nhấp hoặc kéo thư mục vào khu vực này để tải lên"

#: src/views/preference/components/AuthSettings/TOTP.vue:112
msgid "Click to copy"
msgstr "Bấm để sao chép"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:124
msgid "Client Body Buffer Size"
msgstr "Kích thước bộ đệm thân máy khách"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:692
msgid "Client Certificate"
msgstr "Chứng chỉ khách hàng"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:114
msgid "Client Error Responses (4xx)"
msgstr "Phản hồi lỗi từ máy khách (4xx)"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:117
msgid "Client Header Buffer Size"
msgstr "Kích thước bộ đệm tiêu đề máy khách"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:697
msgid "Client Key"
msgstr "Khóa khách hàng"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:110
msgid "Client Max Body Size"
msgstr "Kích thước tối đa của phần thân máy khách"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:125
msgid "Client request body buffer size"
msgstr "Kích thước bộ đệm nội dung yêu cầu của máy khách"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:118
msgid "Client request header buffer size"
msgstr "Kích thước bộ đệm tiêu đề yêu cầu của máy khách"

#: src/components/ConfigHistory/ConfigHistory.vue:179 src/language/curd.ts:14
msgid "Close"
msgstr "Đóng"

#: src/components/PortScanner/PortScannerCompact.vue:45
msgid "Closed"
msgstr "Đã đóng"

#: src/constants/errors/llm.ts:2
msgid "Code completion is not enabled"
msgstr "Hoàn thành mã không được bật"

#: src/views/preference/tabs/OpenAISettings.vue:150
msgid "Code Completion Model"
msgstr "Mô hình hoàn thành mã"

#: src/language/curd.ts:71
msgid "Collapse"
msgstr "Thu gọn"

#: src/language/curd.ts:64
msgid "Column Settings"
msgstr "Cài đặt cột"

#: src/views/preference/tabs/LogrotateSettings.vue:23
msgid "Command"
msgstr "Lệnh"

#: src/constants/errors/docker.ts:6
msgid "Command exited with unexpected exit code: {0}, error: {1}"
msgstr "Lệnh thoát với mã lỗi không mong muốn: {0}, lỗi: {1}"

#: src/views/dns/components/DNSRecordForm.vue:91
#: src/views/dns/components/DNSRecordTable.vue:49
msgid "Comment"
msgstr "Bình luận"

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:150
#: src/components/NgxConfigEditor/LocationEditor.vue:116
#: src/components/NgxConfigEditor/LocationEditor.vue:147
#: src/components/NgxConfigEditor/NgxServer.vue:123
msgid "Comments"
msgstr "Bình luận"

#: src/components/ConfigHistory/ConfigHistory.vue:136
msgid "Compare"
msgstr "So sánh"

#: src/components/ConfigHistory/DiffViewer.vue:372
msgid "Compare Configurations"
msgstr "So sánh cấu hình"

#: src/components/ConfigHistory/ConfigHistory.vue:139
msgid "Compare Selected"
msgstr "So sánh đã chọn"

#: src/components/ConfigHistory/ConfigHistory.vue:138
msgid "Compare with Current"
msgstr "So sánh với hiện tại"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:70
msgid "Complete indexing with search capabilities"
msgstr "Lập chỉ mục hoàn chỉnh với khả năng tìm kiếm"

#: src/views/system/Licenses.vue:144
msgid "components"
msgstr "thành phần"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:268
msgid "Compressed log file support"
msgstr "Hỗ trợ tệp nhật ký nén"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88
msgid "Compression level, 1 is lowest, 9 is highest"
msgstr "Mức nén, 1 là thấp nhất, 9 là cao nhất"

#: src/views/nginx_log/indexing/components/IndexProgressBar.vue:54
msgid "Computing Statistics"
msgstr "Tính toán thống kê"

#: src/language/generate.ts:20
msgid "Conf.d directory exists"
msgstr "Thư mục conf.d tồn tại"

#: src/constants/errors/self_check.ts:23
msgid "Conf.d directory not exists"
msgstr "Thư mục Conf.d không tồn tại"

#: src/views/preference/components/ExternalNotify/columns.tsx:58
msgid "Config"
msgstr "Cấu hình"

#: src/constants/errors/self_check.ts:17
msgid "Config directory not exist"
msgstr "Thư mục cấu hình không tồn tại"

#: src/constants/errors/self_check.ts:18
msgid "Config entry file not exist"
msgstr "Tệp nhập cấu hình không tồn tại"

#: src/constants/errors/user.ts:15
msgid "Config not found"
msgstr "Không tìm thấy cấu hình"

#: src/constants/errors/backup.ts:16
msgid "Config path is empty"
msgstr "Đường dẫn cấu hình trống"

#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:53
msgid "Config Template"
msgstr "Mẫu cấu hình"

#: src/views/dns/DNSCredential.vue:52
msgid "Configuration"
msgstr "Cấu hình"

#: src/components/InspectConfig/InspectConfig.vue:150
msgid "Configuration file is test successful"
msgstr "Tệp cấu hình được kiểm tra thành công"

#: src/components/InspectConfig/InspectConfig.vue:149
msgid "Configuration file is test successful in isolated sandbox"
msgstr "Tệp cấu hình đã được kiểm tra thành công trong môi trường cát cách ly"

#: src/components/ConfigHistory/ConfigHistory.vue:147
msgid "Configuration History"
msgstr "Lịch sử cấu hình"

#: src/views/dashboard/components/PerformanceTablesCard.vue:168
msgid "Configuration information"
msgstr "Thông tin cấu hình"

#: src/views/site/site_add/SiteAdd.vue:180
msgid "Configuration Name"
msgstr "Tên cấu hình"

#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "Cấu hình"

#: src/views/dns/DDNSManager.vue:346
msgid "Configure"
msgstr "Cấu hình"

#: src/views/dns/DDNSManager.vue:374
msgid "Configure DDNS"
msgstr "Cấu hình DDNS"

#: src/views/site/site_add/SiteAdd.vue:175
msgid "Configure SSL"
msgstr "Cấu hình SSL"

#: src/language/curd.ts:66
msgid "Confirm Delete"
msgstr "Xác nhận xóa"

#: src/views/user/UserProfile.vue:199
msgid "Confirm New Password"
msgstr "Xác nhận mật khẩu mới"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:313
msgid "Confirmation Required"
msgstr "Yêu cầu xác nhận"

#: src/views/dashboard/components/NodeAnalyticItem.vue:82
#: src/views/dashboard/components/SiteNavigationToolbar.vue:35
msgid "Connected"
msgstr "Đã kết nối"

#: src/views/dashboard/NginxDashBoard.vue:100
msgid "Connection error, trying to reconnect..."
msgstr "Lỗi kết nối, đang thử kết nối lại..."

#: src/views/terminal/components/TerminalSessionContent.vue:38
msgid "Connection lost for this terminal. Please refresh if needed."
msgstr "Mất kết nối với thiết bị đầu cuối này. Vui lòng làm mới nếu cần."

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61
msgid "Connection timeout period"
msgstr "Khoảng thời gian chờ kết nối"

#: src/constants/errors/docker.ts:7
msgid "Container status unknown"
msgstr "Trạng thái container không xác định"

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:155
#: src/components/NgxConfigEditor/LocationEditor.vue:128
#: src/components/NgxConfigEditor/LocationEditor.vue:156
msgid "Content"
msgstr "Nội dung"

#: src/components/SensitiveString/SensitiveInput.vue:62
#: src/components/SensitiveString/SensitiveString.vue:71
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:125
msgid "Copied"
msgstr "Đã sao chép"

#: src/views/backup/components/BackupCreator.vue:128
msgid "Copied!"
msgstr "Đã sao chép!"

#: src/components/SensitiveString/SensitiveInput.vue:85
#: src/components/SensitiveString/SensitiveString.vue:100
#: src/views/backup/components/BackupCreator.vue:128
msgid "Copy"
msgstr "Sao chép"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:125
msgid "Copy Codes"
msgstr "Sao chép mã"

#: src/views/system/Upgrade.vue:162
msgid "Core Upgrade"
msgstr "Cập nhật core"

#: src/constants/errors/docker.ts:15
msgid "Could not find old container name"
msgstr "Không thể tìm thấy tên container cũ"

#: src/constants/errors/docker.ts:16
msgid "Could not find temp container"
msgstr "Không thể tìm thấy container tạm thời"

#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:18
#: src/views/nginx_log/dashboard/components/DailyTrendsChart.vue:98
#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:17
#: src/views/nginx_log/dashboard/components/HourlyChart.vue:100
#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:18
msgid "Count"
msgstr "Số lượng"

#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:207
msgid "Country / Region"
msgstr "Quốc gia / Vùng"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:47
msgid "CPU"
msgstr "CPU"

#: src/views/dashboard/ServerAnalytic.vue:309
msgid "CPU Status"
msgstr "Trạng thái CPU"

#: src/views/dashboard/components/ResourceUsageCard.vue:27
msgid "CPU Usage"
msgstr "Mức sử dụng CPU"

#: src/views/dashboard/components/ResourceUsageCard.vue:38
msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
msgstr "Mức sử dụng CPU tương đối cao, hãy cân nhắc tối ưu cấu hình Nginx"

#: src/views/dashboard/ServerAnalytic.vue:200
msgid "CPU:"
msgstr "CPU:"

#: src/views/site/site_add/SiteAdd.vue:267
msgid "Create Another"
msgstr "Tạo thêm"

#: src/views/backup/components/BackupCreator.vue:86
msgid "Create Backup"
msgstr "Tạo bản sao lưu"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:365
#: src/views/site/site_edit/components/RightPanel/DNS.vue:659
msgid "Create DNS Record"
msgstr "Tạo bản ghi DNS"

#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "Tạo tệp"

#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "Tạo thư mục"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:305
#: src/views/site/site_edit/components/RightPanel/DNS.vue:599
msgid "Create new DNS record"
msgstr "Tạo bản ghi DNS mới"

#: src/views/dns/DNSRecordManager.vue:206
msgid "Create Record"
msgstr "Tạo bản ghi"

#: src/views/backup/components/BackupCreator.vue:75
msgid ""
"Create system backups including Nginx configuration and Nginx UI settings. "
"Backup files will be automatically downloaded to your computer."
msgstr ""
"Tạo bản sao lưu hệ thống bao gồm cấu hình Nginx và cài đặt Nginx UI. Các "
"tệp sao lưu sẽ tự động được tải xuống máy tính của bạn."

#: src/views/backup/AutoBackup/AutoBackup.vue:229
#: src/views/namespace/columns.ts:85
#: src/views/notification/notificationColumns.tsx:51
#: src/views/preference/components/AuthSettings/Passkey.vue:96
#: src/views/preference/components/ExternalNotify/columns.tsx:80
#: src/views/user/userColumns.tsx:46
msgid "Created at"
msgstr "Ngày tạo"

#: src/views/config/components/Mkdir.vue:35
msgid "Created successfully"
msgstr "Tạo thành công"

#: src/language/constants.ts:9
msgid "Creating client facilitates communication with the CA server"
msgstr "Tạo client để giao tiếp với CA server"

#: src/components/AutoCertForm/DNSChallenge.vue:130
#: src/views/dns/DDNSManager.vue:154 src/views/dns/DNSDomainList.vue:139
msgid "Credential"
msgstr "Chứng chỉ"

#: src/routes/modules/dns.ts:20 src/views/dns/components/DNSChallenge.vue:130
msgid "Credentials"
msgstr "Chứng chỉ"

#: src/views/backup/AutoBackup/components/CronEditor.vue:194
msgid "Cron Expression"
msgstr "Biểu thức Cron"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:264
msgid "Cross-file timeline correlation"
msgstr "Tương quan dòng thời gian xuyên file"

#: src/views/preference/components/AuthSettings/TOTP.vue:74
msgid "Current account is enabled TOTP."
msgstr "Tài khoản hiện tại đã bật TOTP."

#: src/views/preference/components/AuthSettings/TOTP.vue:72
msgid "Current account is not enabled TOTP."
msgstr "Tài khoản hiện tại chưa bật TOTP."

#: src/views/dashboard/components/ConnectionMetricsCard.vue:27
msgid "Current active connections"
msgstr "Kết nối đang hoạt động hiện tại"

#: src/components/ConfigHistory/DiffViewer.vue:57
msgid "Current Content"
msgstr "Nội dung hiện tại"

#: src/views/user/UserProfile.vue:181
msgid "Current Password"
msgstr "Mật khẩu hiện tại"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
msgid "Current usage"
msgstr "Mức sử dụng hiện tại"

#: src/views/system/Upgrade.vue:182
msgid "Current Version"
msgstr "Phiên bản hiện tại"

#: src/components/NgxConfigEditor/NgxConfigEditor.vue:33
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:129
msgid "Custom"
msgstr "Tuỳ chỉnh"

#: src/views/backup/AutoBackup/components/CronEditor.vue:131
msgid "Custom cron expression"
msgstr "Biểu thức cron tùy chỉnh"

#: src/views/backup/AutoBackup/AutoBackup.vue:29
#: src/views/backup/AutoBackup/AutoBackup.vue:41
msgid "Custom Directory"
msgstr "Thư mục tùy chỉnh"

#: src/views/certificate/components/DNSIssueCertificate.vue:193
msgid "Custom Domains"
msgstr "Tên miền tùy chỉnh"

#: src/views/certificate/components/DNSIssueCertificate.vue:174
msgid "Custom Domains Certificate"
msgstr "Chứng chỉ Tên miền Tùy chỉnh"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:533
msgid "Custom Headers"
msgstr "Tiêu đề tùy chỉnh"

#: src/views/preference/tabs/NodeSettings.vue:19
msgid ""
"Customize the name of local node to be displayed in the environment "
"indicator."
msgstr "Tùy chỉnh tên nút cục bộ để hiển thị trong chỉ báo môi trường."

#: src/views/backup/AutoBackup/components/CronEditor.vue:19
msgid "Daily"
msgstr "Hàng ngày"

#: src/views/nginx_log/dashboard/components/DailyTrendsChart.vue:41
msgid "Daily Access Trends"
msgstr "Xu hướng truy cập hàng ngày"

#: src/views/backup/AutoBackup/AutoBackup.vue:128
msgid "Daily at %{time}"
msgstr "Hàng ngày lúc %{time}"

#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:69 src/views/nginx_log/NginxLog.vue:93
msgid "Dashboard"
msgstr "Bảng điều khiển"

#: src/views/nginx_log/dashboard/components/DailyTrendsChart.vue:71
msgid "Date"
msgstr "Ngày"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:39
msgid "Date Range"
msgstr "Phạm vi ngày"

#: src/views/backup/AutoBackup/components/CronEditor.vue:184
msgid "Day of Month"
msgstr "Ngày trong tháng"

#: src/views/backup/AutoBackup/components/CronEditor.vue:180
msgid "Day of Week"
msgstr "Ngày trong tuần"

#: src/views/preference/tabs/CertSettings.vue:38
msgid "Days"
msgstr "Ngày"

#: src/constants/errors/user.ts:16
msgid "Db file not found"
msgstr "Tệp cơ sở dữ liệu không tìm thấy"

#: src/routes/modules/dns.ts:36
msgid "DDNS"
msgstr "DDNS"

#: src/views/dns/DDNSManager.vue:266
msgid "DDNS config deleted"
msgstr "Cấu hình DDNS đã bị xóa"

#: src/views/dns/DDNSManager.vue:285
msgid "DDNS Overview"
msgstr "Tổng quan DDNS"

#: src/views/dns/DDNSManager.vue:239
msgid "DDNS saved"
msgstr "Đã lưu DDNS"

#: src/constants/errors/geolite.ts:12
msgid "Decompression succeeded but failed to delete compressed file: {0}"
msgstr "Giải nén thành công nhưng không thể xóa tệp đã nén: {0}"

#: src/constants/errors/middleware.ts:3
msgid "Decryption failed"
msgstr "Giải mã thất bại"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:847
msgid "Default range"
msgstr "Phạm vi mặc định"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:149
msgid "Define shared memory zone name and size, e.g. proxy_cache:10m"
msgstr "Xác định tên và kích thước vùng bộ nhớ dùng chung, ví dụ proxy_cache:10m"

#: src/components/LLM/LLMSessionTabs.vue:293
#: src/components/LLM/LLMSessionTabs.vue:384
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:78 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:100
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/dns/components/DNSRecordTable.vue:107
#: src/views/dns/DDNSManager.vue:363 src/views/site/site_list/SiteList.vue:177
#: src/views/stream/StreamList.vue:110
msgid "Delete"
msgstr "Xoá"

#: src/components/Notification/notifications.ts:94
msgid "Delete %{path} on %{node_name} failed"
msgstr "Xóa %{path} trên %{node_name} thất bại"

#: src/components/Notification/notifications.ts:98
msgid "Delete %{path} on %{node_name} successfully"
msgstr "Đã xóa %{path} trên %{node_name} thành công"

#: src/views/certificate/components/RemoveCert.vue:105
msgid "Delete Certificate"
msgstr "Xóa chứng chỉ"

#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "Xác nhận xóa"

#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "Xóa Vĩnh Viễn"

#: src/components/Notification/notifications.ts:93
msgid "Delete Remote Config Error"
msgstr "Lỗi xóa cấu hình từ xa"

#: src/components/Notification/notifications.ts:97
msgid "Delete Remote Config Success"
msgstr "Xóa cấu hình từ xa thành công"

#: src/components/Notification/notifications.ts:105
#: src/language/constants.ts:50
msgid "Delete Remote Site Error"
msgstr "Lỗi xóa trang web từ xa"

#: src/components/Notification/notifications.ts:109
#: src/language/constants.ts:49
msgid "Delete Remote Site Success"
msgstr "Xóa trang web từ xa thành công"

#: src/components/Notification/notifications.ts:161
msgid "Delete Remote Stream Error"
msgstr "Lỗi xóa luồng từ xa"

#: src/components/Notification/notifications.ts:165
msgid "Delete Remote Stream Success"
msgstr "Xóa luồng từ xa thành công"

#: src/components/Notification/notifications.ts:106
msgid "Delete site %{name} from %{node} failed"
msgstr "Xóa trang %{name} từ %{node} thất bại"

#: src/components/Notification/notifications.ts:110
msgid "Delete site %{name} from %{node} successfully"
msgstr "Đã xóa trang web %{name} từ %{node} thành công"

#: src/views/site/site_list/SiteList.vue:33
msgid "Delete site: %{site_name}"
msgstr "Xoá trang web: %{site_name}"

#: src/components/Notification/notifications.ts:162
msgid "Delete stream %{name} from %{node} failed"
msgstr "Xóa luồng %{name} từ %{node} thất bại"

#: src/components/Notification/notifications.ts:166
msgid "Delete stream %{name} from %{node} successfully"
msgstr "Đã xóa luồng %{name} từ %{node} thành công"

#: src/views/stream/StreamList.vue:25
msgid "Delete stream: %{stream_name}"
msgstr "Xóa luồng: %{stream_name}"

#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "Đã xóa thành công"

#: src/views/preference/tabs/NodeSettings.vue:28
msgid "Demo"
msgstr "Bản demo"

#: src/views/terminal/Terminal.vue:212
msgid ""
"Demo mode is enabled. This terminal only allows a small set of safe "
"read-only commands."
msgstr ""
"Chế độ demo đã được bật. Thiết bị đầu cuối này chỉ cho phép một tập hợp nhỏ "
"các lệnh an toàn chỉ đọc."

#: src/views/config/components/ConfigRightPanel/Basic.vue:60
msgid "Deploy"
msgstr "Triển khai"

#: src/views/namespace/columns.ts:72
msgid "Deploy Mode"
msgstr "Chế độ triển khai"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:742
msgid "Descending"
msgstr "Giảm dần"

#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:123
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:99
msgid "Description"
msgstr "Mô tả"

#: src/constants/errors/site.ts:3 src/constants/errors/stream.ts:3
msgid "Destination file already exists"
msgstr "Tệp đích đã tồn tại"

#: src/constants/errors/config.ts:7
msgid "Destination file: {0} already exists"
msgstr "Tệp đích: {0} đã tồn tại"

#: src/views/notification/notificationColumns.tsx:66
msgid "Details"
msgstr "Chi tiết"

#: src/views/system/Upgrade.vue:216
msgid "Dev"
msgstr "Dev"

#: src/views/node/BatchUpgrader.vue:172
msgid "Development"
msgstr "Phát triển"

#: src/views/system/About.vue:28
msgid "Development Mode"
msgstr "Chế độ phát triển"

#: src/views/nginx_log/structured/components/SearchFilters.vue:169
#: src/views/nginx_log/structured/StructuredLogViewer.vue:289
#: src/views/nginx_log/structured/StructuredLogViewer.vue:525
msgid "Device"
msgstr "Thiết bị"

#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:35
msgid "Device Statistics"
msgstr "Thống kê thiết bị"

#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:12
msgid "Device Type"
msgstr "Loại thiết bị"

#: src/constants/errors/upgrader.ts:4
msgid "Digest file content is empty"
msgstr "Nội dung tệp tiêu đề trống"

#: src/views/preference/components/ExternalNotify/dingding.ts:5
msgid "Dingding"
msgstr "Dingding"

#: src/views/preference/components/ExternalNotify/dingtalk.ts:5
msgid "DingTalk"
msgstr "DingTalk"

#: src/views/upstream/SocketList.vue:30
msgid "Direct"
msgstr "Trực tiếp"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:72
msgid "Directive"
msgstr "Directive"

#: src/constants/errors/nginx_log.ts:6
msgid "Directive params is empty"
msgstr "Tham số chỉ thị trống"

#: src/constants/errors/nginx_log.ts:5
msgid "Directive.Params neither access_log nor error_log"
msgstr "Tham số Directive không phải là access_log hoặc error_log"

#: src/constants/errors/nginx_log.ts:4
msgid "DirectiveIdx out of range"
msgstr "DirectiveIdx nằm ngoài phạm vi"

#: src/components/NgxConfigEditor/directive/DirectiveEditor.vue:47
msgid "Directives"
msgstr "Directives"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:134
msgid "Directory Levels"
msgstr "Cấp độ thư mục"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:126
msgid "Directory path to store cache files"
msgstr "Đường dẫn thư mục để lưu trữ các tệp bộ nhớ đệm"

#: src/views/site/components/SiteStatusSelect.vue:115
#: src/views/stream/components/StreamStatusSelect.vue:55
msgid "disable"
msgstr "Vô hiệu hóa"

#: src/views/site/site_list/SiteList.vue:208
#: src/views/site/site_list/SiteList.vue:98
msgid "Disable"
msgstr "Vô hiệu hóa"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:95
msgid "Disable auto-renewal failed for %{name}"
msgstr "Vô hiệu hóa gia hạn tự động thất bại cho %{name}"

#: src/components/Notification/notifications.ts:113
#: src/language/constants.ts:52
msgid "Disable Remote Site Error"
msgstr "Lỗi vô hiệu hóa trang từ xa"

#: src/components/Notification/notifications.ts:137
msgid "Disable Remote Site Maintenance Error"
msgstr "Lỗi tắt bảo trì trang web từ xa"

#: src/components/Notification/notifications.ts:141
msgid "Disable Remote Site Maintenance Success"
msgstr "Vô hiệu hóa bảo trì trang web từ xa thành công"

#: src/components/Notification/notifications.ts:117
#: src/language/constants.ts:51
msgid "Disable Remote Site Success"
msgstr "Đã vô hiệu hóa trang web từ xa thành công"

#: src/components/Notification/notifications.ts:169
msgid "Disable Remote Stream Error"
msgstr "Lỗi tắt luồng từ xa"

#: src/components/Notification/notifications.ts:173
msgid "Disable Remote Stream Success"
msgstr "Vô hiệu hóa luồng từ xa thành công"

#: src/components/Notification/notifications.ts:114
msgid "Disable site %{name} from %{node} failed"
msgstr "Không thể vô hiệu hóa trang web %{name} từ %{node}"

#: src/components/Notification/notifications.ts:118
msgid "Disable site %{name} from %{node} successfully"
msgstr "Đã vô hiệu hóa trang %{name} từ %{node} thành công"

#: src/components/Notification/notifications.ts:138
msgid "Disable site %{name} maintenance on %{node} failed"
msgstr "Không thể tắt bảo trì trang web %{name} trên %{node}"

#: src/components/Notification/notifications.ts:142
msgid "Disable site %{name} maintenance on %{node} successfully"
msgstr "Đã tắt bảo trì trang web %{name} trên %{node} thành công"

#: src/components/Notification/notifications.ts:170
msgid "Disable stream %{name} from %{node} failed"
msgstr "Không thể tắt luồng %{name} từ %{node}"

#: src/components/Notification/notifications.ts:174
msgid "Disable stream %{name} from %{node} successfully"
msgstr "Đã vô hiệu hóa luồng %{name} từ %{node} thành công"

#: src/views/backup/AutoBackup/AutoBackup.vue:175
#: src/views/dns/DDNSManager.vue:320 src/views/node/nodeColumns.tsx:60
#: src/views/node/nodeColumns.tsx:78
#: src/views/preference/tabs/HTTPSettings.vue:24
#: src/views/preference/tabs/NodeSettings.vue:25
#: src/views/preference/tabs/NodeSettings.vue:30
#: src/views/site/components/SiteStatusSelect.vue:162
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:81
#: src/views/site/site_list/columns.tsx:146 src/views/stream/columns.tsx:112
#: src/views/stream/components/StreamEditor.vue:55
#: src/views/user/userColumns.tsx:39
msgid "Disabled"
msgstr "Đã tắt"

#: src/views/site/components/SiteStatusSelect.vue:67
#: src/views/stream/components/StreamStatusSelect.vue:40
msgid "Disabled successfully"
msgstr "Đã tắt thành công"

#: src/views/dashboard/components/SiteNavigationToolbar.vue:35
msgid "Disconnected"
msgstr "Ngắt kết nối"

#: src/views/dashboard/ServerAnalytic.vue:374
msgid "Disk IO"
msgstr "Disk IO"

#: src/routes/modules/dns.ts:11
#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:47
msgid "DNS"
msgstr "DNS"

#: src/views/dns/DNSCredential.vue:79
msgid "DNS Credentials"
msgstr "Xác thực DNS"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:251
#: src/views/site/site_edit/components/RightPanel/DNS.vue:545
msgid "DNS Domain"
msgstr "Tên miền DNS"

#: src/routes/modules/dns.ts:28 src/views/dns/DNSDomainList.vue:259
msgid "DNS Domains"
msgstr "Tên miền DNS"

#: src/views/dns/components/DNSRecordTable.vue:94
msgid "DNS Only"
msgstr "Chỉ DNS"

#: src/views/dns/components/DNSChallenge.vue:97
msgid "DNS Provider"
msgstr "Nhà cung cấp DNS"

#: src/views/dns/DNSDomainList.vue:275
msgid "DNS Provider Support"
msgstr "Hỗ trợ nhà cung cấp DNS"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:274
#: src/views/site/site_add/SiteAdd.vue:174
#: src/views/site/site_edit/components/RightPanel/DNS.vue:568
msgid "DNS Record"
msgstr "Bản ghi DNS"

#: src/views/site/site_add/SiteAdd.vue:149
msgid "DNS record created and linked successfully"
msgstr "Bản ghi DNS đã được tạo và liên kết thành công"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:213
#: src/views/site/site_edit/components/RightPanel/DNS.vue:340
msgid "DNS record created successfully"
msgstr "Đã tạo bản ghi DNS thành công"

#: src/views/site/site_add/SiteAdd.vue:257
msgid "DNS record has been linked: %{name}"
msgstr "Bản ghi DNS đã được liên kết: %{name}"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:245
msgid "DNS Record Integration (Optional)"
msgstr "Tích hợp Bản ghi DNS (Tùy chọn)"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:288
msgid "DNS record linked and server_name updated: %{name}"
msgstr "Bản ghi DNS đã được liên kết và server_name đã cập nhật: %{name}"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:489
msgid "DNS Record Missing"
msgstr "Bản ghi DNS bị thiếu"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:403
msgid "DNS record recreated successfully"
msgstr "Đã tạo lại bản ghi DNS thành công"

#: src/views/site/site_add/SiteAdd.vue:141
msgid "DNS record selected: %{name}"
msgstr "Đã chọn bản ghi DNS: %{name}"

#: src/routes/modules/dns.ts:44 src/views/dns/DNSRecordManager.vue:62
msgid "DNS Records"
msgstr "Bản ghi DNS"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:678
msgid "DNS Resolver"
msgstr "Bộ phân giải DNS"

#: src/components/AutoCertForm/AutoCertForm.vue:228
msgid "DNS01"
msgstr "DNS01"

#: src/components/AutoCertForm/AutoCertForm.vue:261
msgid "Do not enable this option unless you are sure that you need it."
msgstr "Không bật tùy chọn này trừ khi bạn chắc chắn cần đến nó."

#: src/views/site/components/SiteStatusSelect.vue:120
msgid "Do you want to %{action} this site?"
msgstr "Bạn có muốn %{action} trang web này không?"

#: src/views/stream/components/StreamStatusSelect.vue:58
msgid "Do you want to %{action} this stream?"
msgstr "Bạn có muốn %{action} luồng này không?"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:139
msgid "Do you want to disable auto-cert renewal?"
msgstr "Bạn muốn tắt tự động gia hạn chứng chỉ SSL ?"

#: src/views/site/site_list/SiteList.vue:89
msgid "Do you want to disable selected sites?"
msgstr "Bạn có muốn vô hiệu hóa các trang web đã chọn không?"

#: src/views/site/site_list/SiteList.vue:88
msgid "Do you want to enable selected sites?"
msgstr "Bạn có muốn kích hoạt các trang web đã chọn không?"

#: src/views/site/site_edit/components/Cert/IssueCert.vue:46
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:14
msgid "Do you want to enable TLS?"
msgstr "Bạn có muốn bật TLS không?"

#: src/components/NgxConfigEditor/NgxServer.vue:57
msgid "Do you want to remove this server?"
msgstr "Bạn có muốn xóa máy chủ này không?"

#: src/components/NgxConfigEditor/NgxUpstream.vue:28
msgid "Do you want to remove this upstream?"
msgstr "Bạn có muốn xóa upstream này không?"

#: src/constants/errors/docker.ts:2
msgid "Docker client not initialized"
msgstr "Máy khách Docker chưa được khởi tạo"

#: src/language/generate.ts:21
msgid "Docker socket exists"
msgstr "Ổ cắm Docker tồn tại"

#: src/constants/errors/self_check.ts:16
msgid "Docker socket not exist"
msgstr "Ổ cắm Docker không tồn tại"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:88
#: src/components/NgxConfigEditor/directive/DirectiveDocuments.vue:16
msgid "Document"
msgid_plural "Documents"
msgstr[0] "Tài liệu"

#: src/views/nginx_log/NginxLogList.vue:298
msgid "Document Count"
msgstr "Số lượng tài liệu"

#: src/views/certificate/components/DNSIssueCertificate.vue:183
#: src/views/dns/DDNSManager.vue:149 src/views/dns/DNSDomainList.vue:128
msgid "Domain"
msgstr "Tên miền"

#: src/views/certificate/components/SelfSignedCertFields.vue:33
msgid "Domains"
msgstr "Tên miền"

#: src/views/certificate/components/AutoCertManagement.vue:55
msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
msgstr ""
"Danh sách tên miền rỗng, hãy thử mở lại chức năng Tạo chứng chỉ tự động cho "
"%{config}"

#: src/views/certificate/components/CertificateDownload.vue:94
msgid "Download Certificate Files"
msgstr "Tải xuống tệp chứng chỉ"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:117
msgid "Download complete"
msgstr "Tải xuống hoàn tất"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:106
msgid "Download failed"
msgstr "Tải xuống thất bại"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:187
#: src/components/SelfCheck/SelfCheck.vue:120
msgid "Download GeoLite2 Database"
msgstr "Tải xuống cơ sở dữ liệu GeoLite2"

#: src/language/constants.ts:27
msgid "Download latest release error"
msgstr "Đã có lỗi xảy ra khi tải về phiên bản mới nhất"

#: src/language/constants.ts:26
msgid "Downloading latest release"
msgstr "Đang tải phiên bản mới nhất"

#: src/views/certificate/components/CertificateContentEditor.vue:248
msgid "Drop certificate file here"
msgstr "Thả tệp chứng chỉ vào đây"

#: src/views/certificate/components/CertificateContentEditor.vue:309
msgid "Drop private key file here"
msgstr "Thả tệp khóa riêng tư vào đây"

#: src/views/node/BatchUpgrader.vue:193 src/views/system/Upgrade.vue:237
msgid "Dry run mode enabled"
msgstr "Đã bật chế độ Dry run"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:107
msgid ""
"Due to the security policies of some browsers, you cannot use passkeys on "
"non-HTTPS websites, except when running on localhost."
msgstr ""
"Do chính sách bảo mật của một số trình duyệt, bạn không thể sử dụng passkey "
"trên các trang web không phải HTTPS, trừ khi chạy trên localhost."

#: src/components/LLM/LLMSessionTabs.vue:287
#: src/components/LLM/LLMSessionTabs.vue:378
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:163
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:96
msgid "Duplicate"
msgstr "Nhân bản"

#: src/views/site/site_list/SiteDuplicate.vue:48
#: src/views/stream/components/StreamDuplicate.vue:40
msgid "Duplicate to local successfully"
msgstr "Nhân bản thành công vào bộ nhớ cục bộ"

#: src/views/dashboard/components/ModulesTable.vue:66
#: src/views/dashboard/components/ModulesTable.vue:71
msgid "Dynamic"
msgstr "Động"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:236
msgid "Dynamic shard management"
msgstr "Quản lý phân đoạn động"

#: src/views/backup/AutoBackup/components/CronEditor.vue:197
msgid "e.g., 0 0 * * * (daily at midnight)"
msgstr "vd, 0 0 * * * (hàng ngày vào nửa đêm)"

#: src/views/certificate/ACMEUser.vue:91
msgid "EAB HMAC Key"
msgstr "Khóa HMAC EAB"

#: src/views/certificate/ACMEUser.vue:78
msgid "EAB Key ID"
msgstr "ID khóa EAB"

#: src/language/curd.ts:8 src/views/dns/components/DNSRecordTable.vue:100
msgid "Edit"
msgstr "Chỉnh sửa"

#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:70
#: src/views/stream/components/StreamEditor.vue:44
msgid "Edit %{n}"
msgstr "Sửa %{n}"

#: src/routes/modules/config.ts:30
#: src/views/config/components/ConfigLeftPanel.vue:242
msgid "Edit Configuration"
msgstr "Sửa cấu hình"

#: src/views/dns/DNSRecordManager.vue:206
msgid "Edit Record"
msgstr "Chỉnh sửa bản ghi"

#: src/routes/modules/sites.ts:34
msgid "Edit Site"
msgstr "Sửa trang web"

#: src/routes/modules/streams.ts:20
msgid "Edit Stream"
msgstr "Chỉnh sửa luồng"

#: src/views/certificate/ACMEUser.vue:27
#: src/views/preference/tabs/CertSettings.vue:13
msgid "Email"
msgstr "Email"

#: src/views/install/components/InstallForm.vue:85
msgid "Email (*)"
msgstr "Email (*)"

#: src/constants/errors/nginx_log.parser.ts:2
msgid "Empty log line"
msgstr "Dòng nhật ký trống"

#: src/views/site/components/SiteStatusSelect.vue:114
#: src/views/stream/components/StreamStatusSelect.vue:55
msgid "enable"
msgstr "bật"

#: src/views/site/site_list/SiteList.vue:200
#: src/views/site/site_list/SiteList.vue:98
msgid "Enable"
msgstr "Bật"

#: src/views/preference/components/AuthSettings/TOTP.vue:46
msgid "Enable 2FA successfully"
msgstr "Bật 2FA thành công"

#: src/views/nginx_log/NginxLogList.vue:474
msgid "Enable Advanced Indexing"
msgstr "Bật lập chỉ mục nâng cao"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:97
msgid "Enable Advanced Log Indexing"
msgstr "Bật lập chỉ mục nhật ký nâng cao"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:88
msgid "Enable auto-renewal failed for %{name}"
msgstr "Không thể bật tự động gia hạn SSL cho %{name}"

#: src/views/preference/tabs/OpenAISettings.vue:144
msgid "Enable Code Completion"
msgstr "Bật hoàn thành mã"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68
msgid "Enable compression for content transfer"
msgstr "Bật nén để chuyển nội dung"

#: src/views/dns/DDNSManager.vue:381
msgid "Enable DDNS"
msgstr "Bật DDNS"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:473
msgid "Enable Health Check"
msgstr "Bật kiểm tra tình trạng"

#: src/views/preference/tabs/ServerSettings.vue:52
msgid "Enable HTTP/2"
msgstr "Bật HTTP/2"

#: src/views/preference/tabs/ServerSettings.vue:56
msgid "Enable HTTP/3"
msgstr "Bật HTTP/3"

#: src/views/preference/tabs/ServerSettings.vue:30
msgid "Enable HTTPS"
msgstr "Bật HTTPS"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:99
msgid "Enable Indexing"
msgstr "Bật lập chỉ mục"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:353
#: src/views/site/site_edit/components/RightPanel/DNS.vue:522
#: src/views/site/site_edit/components/RightPanel/DNS.vue:647
msgid "Enable Proxy (Cloudflare)"
msgstr "Bật Proxy (Cloudflare)"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:113
msgid "Enable Proxy Cache"
msgstr "Bật bộ nhớ đệm proxy"

#: src/components/Notification/notifications.ts:121
#: src/language/constants.ts:54
msgid "Enable Remote Site Error"
msgstr "Lỗi kích hoạt trang từ xa"

#: src/components/Notification/notifications.ts:129
msgid "Enable Remote Site Maintenance Error"
msgstr "Lỗi bật bảo trì trang web từ xa"

#: src/components/Notification/notifications.ts:133
msgid "Enable Remote Site Maintenance Success"
msgstr "Kích hoạt chế độ bảo trì trang web từ xa thành công"

#: src/components/Notification/notifications.ts:125
#: src/language/constants.ts:53
msgid "Enable Remote Site Success"
msgstr "Kích hoạt trang từ xa thành công"

#: src/components/Notification/notifications.ts:177
msgid "Enable Remote Stream Error"
msgstr "Lỗi bật luồng từ xa"

#: src/components/Notification/notifications.ts:181
msgid "Enable Remote Stream Success"
msgstr "Bật luồng từ xa thành công"

#: src/components/Notification/notifications.ts:130
msgid "Enable site %{name} maintenance on %{node} failed"
msgstr "Không thể bật chế độ bảo trì cho trang web %{name} trên %{node}"

#: src/components/Notification/notifications.ts:134
msgid "Enable site %{name} maintenance on %{node} successfully"
msgstr "Đã bật chế độ bảo trì trang web %{name} trên %{node} thành công"

#: src/components/Notification/notifications.ts:122
msgid "Enable site %{name} on %{node} failed"
msgstr "Không thể kích hoạt trang web %{name} trên %{node}"

#: src/components/Notification/notifications.ts:126
msgid "Enable site %{name} on %{node} successfully"
msgstr "Đã bật trang web %{name} trên %{node} thành công"

#: src/components/Notification/notifications.ts:178
msgid "Enable stream %{name} on %{node} failed"
msgstr "Không thể bật luồng %{name} trên %{node}"

#: src/components/Notification/notifications.ts:182
msgid "Enable stream %{name} on %{node} successfully"
msgstr "Đã bật luồng %{name} trên %{node} thành công"

#: src/views/dashboard/NginxDashBoard.vue:172
msgid "Enable stub_status module"
msgstr "Bật module stub_status"

#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:97
msgid "Enable TLS"
msgstr "Bật TLS"

#: src/views/preference/components/AuthSettings/TOTP.vue:83
msgid "Enable TOTP"
msgstr "Bật TOTP"

#: src/views/backup/AutoBackup/AutoBackup.vue:174
#: src/views/dns/DDNSManager.vue:320 src/views/node/nodeColumns.tsx:69
#: src/views/node/nodeColumns.tsx:75
#: src/views/preference/components/ExternalNotify/columns.tsx:47
#: src/views/preference/tabs/HTTPSettings.vue:24
#: src/views/preference/tabs/LogrotateSettings.vue:20
#: src/views/preference/tabs/NodeSettings.vue:25
#: src/views/preference/tabs/NodeSettings.vue:30
#: src/views/site/components/SiteStatusSelect.vue:159
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:75
#: src/views/site/site_list/columns.tsx:142 src/views/stream/columns.tsx:108
#: src/views/stream/components/RightPanel/Basic.vue:24
#: src/views/stream/components/StreamEditor.vue:49
#: src/views/user/userColumns.tsx:36
msgid "Enabled"
msgstr "Đã bật"

#: src/views/site/components/SiteStatusSelect.vue:54
#: src/views/site/site_add/SiteAdd.vue:60
#: src/views/stream/components/StreamStatusSelect.vue:27
msgid "Enabled successfully"
msgstr "Đã bật"

#: src/views/preference/tabs/ServerSettings.vue:52
msgid "Enables HTTP/2 support with multiplexing and server push capabilities"
msgstr "Bật hỗ trợ HTTP/2 với khả năng ghép kênh và đẩy dữ liệu từ máy chủ"

#: src/views/preference/tabs/ServerSettings.vue:56
msgid "Enables HTTP/3 support based on QUIC protocol for best performance"
msgstr "Bật hỗ trợ HTTP/3 dựa trên giao thức QUIC để có hiệu suất tốt nhất"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:110
msgid ""
"Enabling advanced log indexing will consume significant computational "
"resources including CPU and memory. Please ensure your system meets the "
"minimum requirements before proceeding."
msgstr ""
"Bật tính năng lập chỉ mục nhật ký nâng cao sẽ tiêu tốn tài nguyên tính toán "
"đáng kể bao gồm CPU và bộ nhớ. Vui lòng đảm bảo hệ thống của bạn đáp ứng "
"các yêu cầu tối thiểu trước khi tiếp tục."

#: src/views/site/site_edit/components/Cert/IssueCert.vue:95
msgid "Encrypt website with Let's Encrypt"
msgstr "Bảo mật trang web với Let's Encrypt"

#: src/components/PortScanner/PortScannerCompact.vue:164
msgid "End"
msgstr "Kết thúc"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:57
msgid "End Date"
msgstr "Ngày kết thúc"

#: src/views/certificate/components/SelfSignedCertFields.vue:30
msgid "Enter certificate name"
msgstr "Nhập tên chứng chỉ"

#: src/views/certificate/components/DNSIssueCertificate.vue:196
#: src/views/certificate/components/SelfSignedCertFields.vue:36
msgid "Enter domain name"
msgstr "Nhập tên miền"

#: src/views/certificate/components/SelfSignedCertFields.vue:43
msgid "Enter IP address"
msgstr "Nhập địa chỉ IP"

#: src/components/AutoCertForm/AutoCertForm.vue:183
msgid "Enter server IP address (e.g., 203.0.113.1 or 2001:db8::1)"
msgstr "Nhập địa chỉ IP máy chủ (ví dụ: 203.0.113.1 hoặc 2001:db8::1)"

#: src/components/SelfCheck/SelfCheck.vue:72
msgid "Enter the install secret to run the system check."
msgstr "Nhập mật khẩu cài đặt để chạy kiểm tra hệ thống."

#: src/views/install/components/InstallView.vue:169
msgid ""
"Enter the one-time install secret shown by the install script or found in "
"the config directory hidden file to unlock setup."
msgstr ""
"Nhập mật khẩu cài đặt một lần được hiển thị bởi tập lệnh cài đặt hoặc tìm "
"thấy trong tệp ẩn của thư mục cấu hình để mở khóa thiết lập."

#: src/views/certificate/components/DNSIssueCertificate.vue:187
msgid "Enter your domain"
msgstr "Nhập tên miền của bạn"

#: src/constants/errors/cert.ts:16
msgid "Environment configuration is empty"
msgstr "Cấu hình môi trường trống"

#: src/language/constants.ts:22
msgid "Environment variables cleaned"
msgstr "Đã dọn dẹp biến môi trường"

#: src/components/InspectConfig/InspectConfig.vue:30 src/constants/index.ts:24
#: src/views/nginx_log/NginxLogList.vue:249
#: src/views/notification/notificationColumns.tsx:14
msgid "Error"
msgstr "Lỗi"

#: src/components/Notification/detailRender.tsx:77
msgid "Error details"
msgstr "Chi tiết lỗi"

#: src/components/ConfigHistory/DiffViewer.vue:137
msgid "Error initializing diff viewer"
msgstr "Lỗi khởi tạo trình xem khác biệt"

#: src/language/constants.ts:65
msgid "Error Log"
msgstr "Nhật ký lỗi"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:672
msgid "Error Log Detected"
msgstr "Đã phát hiện nhật ký lỗi"

#: src/constants/errors/self_check.ts:22
msgid "Error log path not exist"
msgstr "Đường dẫn nhật ký lỗi không tồn tại"

#: src/components/NgxConfigEditor/LogEntry.vue:98
#: src/routes/modules/nginx_log.ts:24 src/views/nginx_log/NginxLogList.vue:49
msgid "Error Logs"
msgstr "Log lỗi"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:675
msgid ""
"Error logs do not support structured analysis as they contain free-form "
"text messages."
msgstr ""
"Nhật ký lỗi không hỗ trợ phân tích có cấu trúc vì chúng chứa các thông báo "
"văn bản tự do."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:272
msgid "Error pattern recognition"
msgstr "Nhận dạng mẫu lỗi"

#: src/components/ConfigHistory/DiffViewer.vue:80
msgid "Error processing content"
msgstr "Lỗi xử lý nội dung"

#: src/constants/errors/upgrader.ts:5
msgid "Executable binary file is empty"
msgstr "Tập tin nhị phân thực thi đang trống"

#: src/views/system/Upgrade.vue:196
msgid "Executable Path"
msgstr "Đường dẫn thực thi"

#: src/views/backup/AutoBackup/components/CronEditor.vue:127
msgid "Execute on every %{day} at %{time}"
msgstr "Thực thi vào mỗi %{day} lúc %{time}"

#: src/views/backup/AutoBackup/components/CronEditor.vue:125
msgid "Execute on every day at %{time}"
msgstr "Thực hiện mỗi ngày vào lúc %{time}"

#: src/views/backup/AutoBackup/components/CronEditor.vue:129
msgid "Execute on every month on day %{day} at %{time}"
msgstr "Thực thi vào mỗi tháng vào ngày %{day} lúc %{time}"

#: src/language/curd.ts:72
msgid "Expand"
msgstr "Mở rộng"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:192
msgid "Expected Performance"
msgstr "Hiệu suất dự kiến"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:557
msgid "Expected Status Codes"
msgstr "Mã trạng thái mong đợi"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:582
msgid "Expected Text"
msgstr "Văn bản mong đợi"

#: src/components/CertInfo/CertInfo.vue:31
#: src/views/certificate/CertificateList/certColumns.tsx:103
msgid "Expired"
msgstr "Đã hết hạn"

#: src/components/CertInfo/CertInfo.vue:38
msgid "Expired At: %{date}"
msgstr "Hết hạn vào: %{date}"

#: src/language/curd.ts:22
msgid "Export Excel"
msgstr "Xuất Excel"

#: src/views/certificate/ACMEUser.vue:96
msgid ""
"External Account Binding HMAC Key (optional). Should be in Base64 URL "
"encoding format."
msgstr ""
"Khóa HMAC Liên kết Tài khoản Bên ngoài (tùy chọn). Nên ở định dạng mã hóa "
"Base64 URL."

#: src/views/certificate/ACMEUser.vue:83
msgid ""
"External Account Binding Key ID (optional). Required for some ACME "
"providers like ZeroSSL."
msgstr ""
"ID khóa liên kết tài khoản bên ngoài (tùy chọn). Bắt buộc đối với một số "
"nhà cung cấp ACME như ZeroSSL."

#: src/views/preference/tabs/NginxSettings.vue:58
msgid "External Docker Container"
msgstr "Container Docker bên ngoài"

#: src/constants/errors/notification.ts:5
msgid "External notification configuration not found"
msgstr "Không tìm thấy cấu hình thông báo bên ngoài"

#: src/components/Notification/notifications.ts:101
msgid "External Notification Test"
msgstr "Kiểm tra thông báo bên ngoài"

#: src/views/preference/Preference.vue:59
#: src/views/preference/tabs/ExternalNotify.vue:42
msgid "External Notify"
msgstr "Thông báo bên ngoài"

#: src/views/site/site_edit/components/Cert/ObtainCertLive.vue:83
msgid "Fail to obtain certificate"
msgstr "Không thể lấy chứng chỉ"

#: src/views/backup/AutoBackup/AutoBackup.vue:196
#: src/views/backup/AutoBackup/AutoBackup.vue:221
#: src/views/certificate/CertificateList/certColumns.tsx:87
msgid "Failed"
msgstr "Thất bại"

#: src/constants/errors/docker.ts:4
msgid "Failed to attach to exec instance: {0}"
msgstr "Không thể gắn kết với phiên bản thực thi: {0}"

#: src/constants/errors/backup.ts:5
msgid "Failed to backup Nginx config files: {0}"
msgstr "Sao lưu tệp cấu hình Nginx thất bại: {0}"

#: src/constants/errors/backup.ts:4
msgid "Failed to backup Nginx UI files: {0}"
msgstr "Sao lưu tệp Nginx UI không thành công: {0}"

#: src/constants/errors/performance.ts:8
msgid "Failed to build nginx config: {0}"
msgstr "Không thể xây dựng cấu hình nginx: {0}"

#: src/constants/errors/backup.ts:19
msgid "Failed to calculate hash: {0}"
msgstr "Không thể tính toán hash: {0}"

#: src/constants/errors/backup.ts:56
msgid "Failed to calculate Nginx hash: {0}"
msgstr "Không thể tính toán băm Nginx: {0}"

#: src/constants/errors/backup.ts:55
msgid "Failed to calculate Nginx UI hash: {0}"
msgstr "Không thể tính toán băm giao diện người dùng Nginx: {0}"

#: src/constants/errors/backup.ts:13
msgid "Failed to cleanup temporary directory: {0}"
msgstr "Không thể dọn dẹp thư mục tạm thời: {0}"

#: src/constants/errors/backup.ts:17
msgid "Failed to copy config file: {0}"
msgstr "Không thể sao chép tệp cấu hình: {0}"

#: src/constants/errors/backup.ts:18
msgid "Failed to copy database file: {0}"
msgstr "Không thể sao chép tệp cơ sở dữ liệu: {0}"

#: src/constants/errors/backup.ts:33
msgid "Failed to copy file content: {0}"
msgstr "Không thể sao chép nội dung tệp: {0}"

#: src/constants/errors/backup.ts:21
msgid "Failed to copy Nginx config directory: {0}"
msgstr "Không thể sao chép thư mục cấu hình Nginx: {0}"

#: src/views/certificate/components/CertificateBasicInfo.vue:33
#: src/views/certificate/components/CertificateContentEditor.vue:114
msgid "Failed to copy to clipboard"
msgstr "Sao chép vào bộ nhớ tạm thất bại"

#: src/constants/errors/self_check.ts:10
msgid "Failed to create backup"
msgstr "Không thể tạo bản sao lưu"

#: src/constants/errors/backup.ts:12
msgid "Failed to create backup file: {0}"
msgstr "Không thể tạo tệp sao lưu: {0}"

#: src/constants/errors/backup.ts:15
msgid "Failed to create backup manifest signature: {0}"
msgstr "Không thể tạo chữ ký bản kê khai sao lưu: {0}"

#: src/constants/errors/backup.ts:14
msgid "Failed to create backup manifest: {0}"
msgstr "Không thể tạo bản kê khai sao lưu: {0}"

#: src/constants/errors/backup.ts:45
msgid "Failed to create directory: {0}"
msgstr "Không thể tạo thư mục: {0}"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:222
#: src/views/site/site_edit/components/RightPanel/DNS.vue:360
msgid "Failed to create DNS record"
msgstr "Không thể tạo bản ghi DNS"

#: src/constants/errors/backup.ts:47 src/constants/errors/geolite.ts:6
msgid "Failed to create file: {0}"
msgstr "Không thể tạo tệp: {0}"

#: src/constants/errors/backup.ts:6
msgid "Failed to create hash info file: {0}"
msgstr "Không thể tạo tệp thông tin băm: {0}"

#: src/constants/errors/backup.ts:46
msgid "Failed to create parent directory: {0}"
msgstr "Không thể tạo thư mục cha: {0}"

#: src/constants/errors/backup.ts:34
msgid "Failed to create restore directory: {0}"
msgstr "Không thể tạo thư mục khôi phục: {0}"

#: src/constants/errors/backup.ts:76
msgid "Failed to create storage directory {0}: {1}"
msgstr "Không thể tạo thư mục lưu trữ {0}: {1}"

#: src/constants/errors/backup.ts:49
msgid "Failed to create symbolic link: {0}"
msgstr "Không thể tạo liên kết tượng trưng: {0}"

#: src/constants/errors/docker.ts:13
msgid "Failed to create temp container: {0}"
msgstr "Không thể tạo container tạm thời: {0}"

#: src/constants/errors/backup.ts:2
msgid "Failed to create temporary directory"
msgstr "Không thể tạo thư mục tạm thời"

#: src/constants/errors/backup.ts:3
msgid "Failed to create temporary subdirectory"
msgstr "Không thể tạo thư mục con tạm thời"

#: src/constants/errors/geolite.ts:9
msgid "Failed to create xz reader: {0}"
msgstr "Không thể tạo trình đọc xz: {0}"

#: src/constants/errors/backup.ts:9
msgid "Failed to create zip archive: {0}"
msgstr "Không thể tạo tệp nén ZIP: {0}"

#: src/constants/errors/backup.ts:30
msgid "Failed to create zip entry: {0}"
msgstr "Không thể tạo mục ZIP: {0}"

#: src/constants/errors/backup.ts:29
msgid "Failed to create zip file: {0}"
msgstr "Không thể tạo tệp ZIP: {0}"

#: src/constants/errors/backup.ts:32
msgid "Failed to create zip header: {0}"
msgstr "Không thể tạo tiêu đề ZIP: {0}"

#: src/constants/errors/geolite.ts:3
msgid "Failed to decompress GeoLite2 database: {0}"
msgstr "Thất bại khi giải nén cơ sở dữ liệu GeoLite2: {0}"

#: src/constants/errors/backup.ts:27
msgid "Failed to decrypt data: {0}"
msgstr "Giải mã dữ liệu thất bại: {0}"

#: src/constants/errors/backup.ts:52
msgid "Failed to decrypt file: {0}"
msgstr "Giải mã tệp thất bại: {0}"

#: src/constants/errors/backup.ts:37
msgid "Failed to decrypt Nginx directory: {0}"
msgstr "Giải mã thư mục Nginx thất bại: {0}"

#: src/constants/errors/backup.ts:36
msgid "Failed to decrypt Nginx UI directory: {0}"
msgstr "Không thể giải mã thư mục Nginx UI: {0}"

#: src/constants/errors/nginx_log.ts:19
msgid "Failed to delete all indexes"
msgstr "Không thể xóa tất cả các chỉ mục"

#: src/views/certificate/components/RemoveCert.vue:77
msgid "Failed to delete certificate"
msgstr "Xóa chứng chỉ không thành công"

#: src/language/generate.ts:22
msgid "Failed to delete certificate from database: %{error}"
msgstr "Xóa chứng chỉ từ cơ sở dữ liệu thất bại: %{error}"

#: src/constants/errors/nginx_log.ts:18
msgid "Failed to delete file index"
msgstr "Không thể xóa chỉ mục tệp"

#: src/views/site/components/SiteStatusSelect.vue:73
#: src/views/stream/components/StreamStatusSelect.vue:46
msgid "Failed to disable %{msg}"
msgstr "Không thể tắt %{msg}"

#: src/views/site/components/SiteStatusSelect.vue:99
msgid "Failed to disable maintenance mode %{msg}"
msgstr "Không thể tắt chế độ bảo trì %{msg}"

#: src/views/certificate/components/CertificateDownload.vue:75
msgid "Failed to download certificate files"
msgstr "Tải xuống tệp chứng chỉ thất bại"

#: src/constants/errors/geolite.ts:2
msgid "Failed to download GeoLite2 database: {0}"
msgstr "Không thể tải xuống cơ sở dữ liệu GeoLite2: {0}"

#: src/views/site/components/SiteStatusSelect.vue:60
#: src/views/stream/components/StreamStatusSelect.vue:33
msgid "Failed to enable %{msg}"
msgstr "Không thể bật %{msg}"

#: src/views/nginx_log/NginxLogList.vue:407
msgid "Failed to enable advanced indexing"
msgstr "Không thể bật lập chỉ mục nâng cao"

#: src/views/site/components/SiteStatusSelect.vue:86
msgid "Failed to enable maintenance mode %{msg}"
msgstr "Không thể bật chế độ bảo trì %{msg}"

#: src/constants/errors/backup.ts:26
msgid "Failed to encrypt data: {0}"
msgstr "Không thể mã hóa dữ liệu: {0}"

#: src/constants/errors/backup.ts:24
msgid "Failed to encrypt file: {0}"
msgstr "Không thể mã hóa tệp: {0}"

#: src/constants/errors/backup.ts:8
msgid "Failed to encrypt Nginx directory: {0}"
msgstr "Không thể mã hóa thư mục Nginx: {0}"

#: src/constants/errors/backup.ts:7
msgid "Failed to encrypt Nginx UI directory: {0}"
msgstr "Không thể mã hóa thư mục Nginx UI: {0}"

#: src/constants/errors/docker.ts:3
msgid "Failed to exec command: {0}"
msgstr "Không thể thực thi lệnh: {0}"

#: src/constants/errors/performance.ts:6
msgid "Failed to execute template: {0}"
msgstr "Không thể thực thi mẫu: {0}"

#: src/constants/errors/backup.ts:35
msgid "Failed to extract archive: {0}"
msgstr "Không thể giải nén tệp lưu trữ: {0}"

#: src/constants/errors/backup.ts:10
msgid "Failed to generate AES key: {0}"
msgstr "Không thể tạo khóa AES: {0}"

#: src/constants/errors/backup.ts:11
msgid "Failed to generate initialization vector: {0}"
msgstr "Không thể tạo vector khởi tạo: {0}"

#: src/views/certificate/components/DNSIssueCertificate.vue:146
#: src/views/certificate/components/SelfSignedCertForm.vue:69
msgid "Failed to generate self-signed certificate"
msgstr "Không thể tạo chứng chỉ tự ký"

#: src/language/constants.ts:5
msgid "Failed to get certificate information"
msgstr "Không thể truy xuất thông tin chứng chỉ"

#: src/constants/errors/docker.ts:10
msgid "Failed to get container id: {0}"
msgstr "Không thể lấy ID container: {0}"

#: src/constants/errors/geolite.ts:5
msgid "Failed to get file size: {0}"
msgstr "Không thể lấy kích thước tệp: {0}"

#: src/constants/errors/nginx_log.ts:20
msgid "Failed to get index status"
msgstr "Không thể lấy trạng thái chỉ mục"

#: src/views/dashboard/components/ParamsOptimization.vue:62
msgid "Failed to get Nginx performance settings"
msgstr "Không thể lấy cài đặt hiệu suất Nginx"

#: src/constants/errors/performance.ts:9
msgid "Failed to get nginx.conf path"
msgstr "Không thể lấy đường dẫn của nginx.conf"

#: src/composables/useNginxPerformance.ts:50
msgid "Failed to get performance data"
msgstr "Không thể lấy dữ liệu hiệu suất"

#: src/constants/errors/nginx_log.ts:21
msgid "Failed to get persistence stats"
msgstr "Không thể lấy thống kê duy trì"

#: src/constants/errors/performance.ts:3
msgid "Failed to get stub status: {0}"
msgstr "Không thể lấy trạng thái stub: {0}"

#: src/constants/errors/docker.ts:8
msgid "Failed to inspect container: {0}"
msgstr "Không thể kiểm tra container: {0}"

#: src/constants/errors/docker.ts:12
msgid "Failed to inspect current container: {0}"
msgstr "Không thể kiểm tra container hiện tại: {0}"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:137
#: src/views/site/site_edit/components/RightPanel/DNS.vue:166
msgid "Failed to load DNS records"
msgstr "Không thể tải bản ghi DNS"

#: src/components/ConfigHistory/ConfigHistory.vue:83
msgid "Failed to load history records"
msgstr "Không thể tải bản ghi lịch sử"

#: src/views/certificate/components/CertificateContentEditor.vue:39
msgid "Failed to load nginx configuration path"
msgstr "Không thể tải đường dẫn cấu hình nginx"

#: src/constants/errors/geolite.ts:8
msgid "Failed to open file: {0}"
msgstr "Không thể mở tệp: {0}"

#: src/constants/errors/backup.ts:31
msgid "Failed to open source file: {0}"
msgstr "Không thể mở tệp nguồn: {0}"

#: src/constants/errors/backup.ts:48
msgid "Failed to open zip entry: {0}"
msgstr "Không thể mở mục ZIP: {0}"

#: src/constants/errors/backup.ts:44
msgid "Failed to open zip file: {0}"
msgstr "Không thể mở tệp ZIP: {0}"

#: src/constants/errors/performance.ts:7
msgid "Failed to parse nginx config: {0}"
msgstr "Không thể phân tích cấu hình nginx: {0}"

#: src/constants/errors/self_check.ts:5
msgid "Failed to parse nginx.conf"
msgstr "Không thể phân tích nginx.conf"

#: src/constants/errors/performance.ts:5
msgid "Failed to parse template: {0}"
msgstr "Phân tích mẫu thất bại: {0}"

#: src/constants/errors/docker.ts:11
msgid "Failed to pull image: {0}"
msgstr "Không thể tải hình ảnh: {0}"

#: src/constants/errors/backup.ts:58
msgid "Failed to read backup manifest signature: {0}"
msgstr "Không thể đọc chữ ký bản kê khai sao lưu: {0}"

#: src/constants/errors/backup.ts:57
msgid "Failed to read backup manifest: {0}"
msgstr "Không thể đọc tệp kê khai sao lưu: {0}"

#: src/constants/errors/geolite.ts:11
msgid "Failed to read compressed data: {0}"
msgstr "Không thể đọc dữ liệu nén: {0}"

#: src/constants/errors/backup.ts:51
msgid "Failed to read encrypted file: {0}"
msgstr "Không thể đọc tệp đã mã hóa: {0}"

#: src/views/certificate/components/CertificateFileUpload.vue:70
msgid "Failed to read file"
msgstr "Không thể đọc tệp"

#: src/constants/errors/backup.ts:23
msgid "Failed to read file: {0}"
msgstr "Không thể đọc tệp: {0}"

#: src/constants/errors/backup.ts:54
msgid "Failed to read hash info file: {0}"
msgstr "Không thể đọc tệp thông tin băm: {0}"

#: src/constants/errors/self_check.ts:4
msgid "Failed to read nginx.conf"
msgstr "Không thể đọc tệp nginx.conf"

#: src/constants/errors/docker.ts:5
msgid "Failed to read output: {0}"
msgstr "Không thể đọc đầu ra: {0}"

#: src/constants/errors/performance.ts:4
msgid "Failed to read response body: {0}"
msgstr "Không thể đọc nội dung phản hồi: {0}"

#: src/constants/errors/backup.ts:22
msgid "Failed to read symlink: {0}"
msgstr "Không thể đọc liên kết tượng trưng: {0}"

#: src/constants/errors/nginx_log.ts:17
msgid "Failed to rebuild file index"
msgstr "Không thể xây dựng lại chỉ mục tệp"

#: src/constants/errors/nginx_log.ts:16
msgid "Failed to rebuild index"
msgstr "Không thể xây dựng lại chỉ mục"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:429
msgid "Failed to recreate DNS record"
msgstr "Không thể tạo lại bản ghi DNS"

#: src/views/dashboard/SiteNavigation.vue:86
msgid "Failed to refresh sites"
msgstr "Không thể làm mới trang web"

#: src/constants/errors/backup.ts:39
msgid "Failed to restore Nginx configs: {0}"
msgstr "Khôi phục cấu hình Nginx thất bại: {0}"

#: src/views/certificate/components/RemoveCert.vue:59
msgid "Failed to revoke certificate"
msgstr "Không thể thu hồi chứng chỉ"

#: src/language/generate.ts:23
msgid "Failed to revoke certificate: %{error}"
msgstr "Không thể thu hồi chứng chỉ: %{error}"

#: src/views/dashboard/SiteNavigation.vue:133
msgid "Failed to save configuration"
msgstr "Lưu cấu hình thất bại"

#: src/constants/errors/geolite.ts:7
msgid "Failed to save downloaded file: {0}"
msgstr "Không thể lưu tệp đã tải xuống: {0}"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:412
msgid "Failed to save health check configuration"
msgstr "Không thể lưu cấu hình kiểm tra trạng thái"

#: src/views/dashboard/components/ParamsOptimization.vue:91
msgid "Failed to save Nginx performance settings"
msgstr "Không thể lưu cài đặt hiệu suất Nginx"

#: src/views/dashboard/SiteNavigation.vue:110
msgid "Failed to save order"
msgstr "Lưu thứ tự thất bại"

#: src/views/preference/tabs/ExternalNotify.vue:32
msgid "Failed to send test message"
msgstr "Gửi tin nhắn kiểm tra thất bại"

#: src/constants/errors/docker.ts:14
msgid "Failed to start temp container: {0}"
msgstr "Không thể khởi động container tạm thời: {0}"

#: src/views/preference/components/ExternalNotify/EnabledSwitch.vue:30
msgid "Failed to update status"
msgstr "Cập nhật trạng thái thất bại"

#: src/views/certificate/components/CertificateFileUpload.vue:104
msgid "Failed to upload file"
msgstr "Tải lên tệp thất bại"

#: src/constants/errors/backup.ts:38
msgid "Failed to verify hashes: {0}"
msgstr "Không thể xác minh băm: {0}"

#: src/constants/errors/backup.ts:68
msgid "Failed to write backup file: {0}"
msgstr "Không thể ghi tệp sao lưu: {0}"

#: src/constants/errors/geolite.ts:10
msgid "Failed to write decompressed data: {0}"
msgstr "Không thể ghi dữ liệu đã giải nén: {0}"

#: src/constants/errors/backup.ts:53
msgid "Failed to write decrypted file: {0}"
msgstr "Không thể ghi tệp đã giải mã: {0}"

#: src/constants/errors/backup.ts:25
msgid "Failed to write encrypted file: {0}"
msgstr "Không thể ghi tệp đã mã hóa: {0}"

#: src/constants/errors/backup.ts:69
msgid "Failed to write security key file: {0}"
msgstr "Không thể ghi tệp khóa bảo mật: {0}"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:226
msgid "Features"
msgstr "Tính năng"

#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "tệp"

#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "Tệp tin"

#: src/constants/errors/config.ts:4
msgid "File content contains invalid control characters"
msgstr "Nội dung tệp chứa ký tự điều khiển không hợp lệ"

#: src/constants/errors/config.ts:5
msgid "File content contains restricted nginx directive: {0}"
msgstr "Nội dung tệp chứa chỉ thị nginx bị hạn chế: {0}"

#: src/constants/errors/config.ts:3
msgid "File content must be valid UTF-8 text"
msgstr "Nội dung tệp phải là văn bản UTF-8 hợp lệ"

#: src/language/constants.ts:32
msgid "File exists"
msgstr "Tệp tin đã tồn tại"

#: src/views/nginx_log/indexing/IndexManagement.vue:64
msgid "File index rebuild started successfully for %{path}"
msgstr "Đã bắt đầu xây dựng lại chỉ mục tệp thành công cho %{path}"

#: src/constants/errors/config.ts:2
msgid "File name is not allowed: {0}"
msgstr "Tên tệp không được phép: {0}"

#: src/views/other/Error.vue:8
msgid "File Not Found"
msgstr "Không tìm thấy tệp tin"

#: src/constants/errors/config.ts:11
msgid "File or directory not found: {0}"
msgstr "Không tìm thấy tệp hoặc thư mục: {0}"

#: src/constants/errors/nginx_log.ts:15
msgid "File path is required"
msgstr "Đường dẫn tệp là bắt buộc"

#: src/views/certificate/components/CertificateFileUpload.vue:54
msgid "File size cannot exceed 5MB"
msgstr "Kích thước tệp không được vượt quá 5MB"

#: src/views/certificate/components/CertificateFileUpload.vue:100
msgid "File uploaded successfully"
msgstr "Tải lên tệp thành công"

#: src/constants/errors/cert.ts:2
msgid "Filename is empty"
msgstr "Tên tệp trống"

#: src/views/nginx_log/raw/RawLogViewer.vue:298
msgid "Filter"
msgstr "Lọc"

#: src/views/nginx_log/raw/RawLogViewer.vue:301
msgid "Filter log content"
msgstr "Lọc nội dung nhật ký"

#: src/language/constants.ts:19 src/views/site/site_add/SiteAdd.vue:176
msgid "Finished"
msgstr "Đã hoàn thành"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:71
msgid "First View"
msgstr "Xem lần đầu"

#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "thư mục"

#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "Thư mục"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:650
msgid "Follow Redirects"
msgstr "Theo dõi chuyển hướng"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:77
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
"process."
msgstr ""
"Làm theo hướng dẫn trong hộp thoại để hoàn tất quá trình đăng ký khóa truy "
"cập."

#: src/views/preference/tabs/NodeSettings.vue:42
#: src/views/preference/tabs/NodeSettings.vue:54
msgid "For Chinese user"
msgstr "Dành cho người dùng Trung Quốc"

#: src/views/preference/tabs/HTTPSettings.vue:19
msgid "For Chinese user: https://cloud.nginxui.com/"
msgstr "Dành cho người dùng Trung Quốc: https://cloud.nginxui.com/"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:304
msgid "For commercial or professional use, contact"
msgstr "Để sử dụng thương mại hoặc chuyên nghiệp, vui lòng liên hệ"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:677
msgid "For error logs, please use the Raw Log Viewer for better viewing experience."
msgstr ""
"Đối với nhật ký lỗi, vui lòng sử dụng Trình xem Nhật ký Thô để có trải "
"nghiệm xem tốt hơn."

#: src/components/AutoCertForm/AutoCertForm.vue:140
msgid ""
"For IP-based certificate configurations, only HTTP-01 challenge method is "
"supported. DNS-01 challenge is not compatible with IP-based certificates."
msgstr ""
"Đối với cấu hình chứng chỉ dựa trên IP, chỉ phương thức thử thách HTTP-01 "
"được hỗ trợ. Thử thách DNS-01 không tương thích với chứng chỉ dựa trên IP."

#: src/components/AutoCertForm/AutoCertForm.vue:188
msgid ""
"For IP-based certificates, please specify the server IP address that will "
"be included in the certificate."
msgstr ""
"Đối với chứng chỉ dựa trên IP, vui lòng chỉ định địa chỉ IP của máy chủ sẽ "
"được đưa vào chứng chỉ."

#: src/constants/errors/middleware.ts:4
msgid "Form parse failed"
msgstr "Phân tích biểu mẫu thất bại"

#: src/views/config/components/ConfigLeftPanel.vue:277
msgid "Format Code"
msgstr "Định dạng code"

#: src/views/config/components/ConfigLeftPanel.vue:219
msgid "Format successfully"
msgstr "Định dạng thành công"

#: src/views/backup/AutoBackup/components/CronEditor.vue:200
msgid "Format: minute hour day month weekday"
msgstr "Định dạng: phút giờ ngày tháng thứ_trong_tuần"

#: src/views/backup/AutoBackup/components/CronEditor.vue:31
msgid "Friday"
msgstr "Thứ Sáu"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:844
msgid "From indexed logs"
msgstr "Từ nhật ký đã lập chỉ mục"

#: src/views/system/Licenses.vue:119 src/views/system/Licenses.vue:222
msgid "Frontend"
msgstr "Giao diện người dùng"

#: src/views/install/components/InstallView.vue:168
msgid ""
"Frontend debug mode is active. Enter the debug secret to unlock the mock "
"installation flow without sending backend requests."
msgstr ""
"Chế độ gỡ lỗi frontend đang hoạt động. Nhập mật khẩu gỡ lỗi để mở khóa quy "
"trình cài đặt giả lập mà không cần gửi yêu cầu đến backend."

#: src/components/SelfCheck/store.ts:19
msgid ""
"Frontend debug mode is active. Secret verification is mocked locally and no "
"backend request is sent."
msgstr ""
"Chế độ gỡ lỗi frontend đang hoạt động. Việc xác minh bí mật được mô phỏng "
"cục bộ và không có yêu cầu backend nào được gửi đi."

#: src/views/install/components/InstallForm.vue:64
msgid ""
"Frontend debug mode: install flow completed without sending a backend "
"request"
msgstr ""
"Chế độ gỡ lỗi frontend: quá trình cài đặt hoàn tất mà không gửi yêu cầu "
"backend"

#: src/components/SystemRestore/SystemRestoreContent.vue:158
msgid ""
"Frontend debug mode: restore flow completed without sending a backend "
"request"
msgstr ""
"Chế độ gỡ lỗi frontend: quá trình khôi phục hoàn tất mà không cần gửi yêu "
"cầu đến backend"

#: src/views/nginx_log/structured/components/SearchFilters.vue:65
msgid "Full Text Search"
msgstr "Tìm kiếm toàn văn"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:256
msgid "Full-text search support"
msgstr "Hỗ trợ tìm kiếm toàn văn"

#: src/views/certificate/CertificateList/certColumns.tsx:30
msgid "General Certificate"
msgstr "Chứng chỉ chung"

#: src/components/RecoveryCodeMigrationWarning/RecoveryCodeMigrationWarning.vue:45
#: src/components/RecoveryCodeMigrationWarning/RecoveryCodeMigrationWarning.vue:69
#: src/language/curd.ts:17
#: src/views/certificate/components/DNSIssueCertificate.vue:237
#: src/views/certificate/components/SelfSignedCertForm.vue:82
msgid "Generate"
msgstr "Tạo"

#: src/components/TwoFA/use2FAModal.ts:31
msgid "Generate new recovery codes"
msgstr "Tạo mã khôi phục mới"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:142
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:165
msgid "Generate New Recovery Codes"
msgstr "Tạo mã khôi phục mới"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:165
msgid "Generate Recovery Codes"
msgstr "Tạo mã khôi phục"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:34
msgid "Generate recovery codes successfully"
msgstr "Tạo mã khôi phục thành công"

#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:65
msgid "Generate self-signed certificate"
msgstr "Tạo chứng chỉ tự ký"

#: src/views/certificate/components/SelfSignedCertForm.vue:80
msgid "Generate Self-signed Certificate"
msgstr "Tạo chứng chỉ tự ký"

#: src/language/constants.ts:7
msgid "Generating private key for registering account"
msgstr "Tạo khóa riêng để đăng ký tài khoản"

#: src/views/preference/Preference.vue:113
msgid "GeoLite"
msgstr "GeoLite"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:178
#: src/views/preference/tabs/GeoLiteSettings.vue:7
msgid "GeoLite2 Database"
msgstr "Cơ sở dữ liệu GeoLite2"

#: src/language/generate.ts:24
msgid "GeoLite2 database available"
msgstr "Cơ sở dữ liệu GeoLite2 có sẵn"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:168
msgid "GeoLite2 Database Installed"
msgstr "Cơ sở dữ liệu GeoLite2 đã được cài đặt"

#: src/constants/errors/geolite.ts:4
msgid "GeoLite2 database not found at {0}"
msgstr "Cơ sở dữ liệu GeoLite2 không tìm thấy tại {0}"

#: src/constants/errors/self_check.ts:24
msgid ""
"GeoLite2 database not found at {0}. Log indexing requires GeoLite2 database "
"for geographic IP analysis"
msgstr ""
"Cơ sở dữ liệu GeoLite2 không tìm thấy tại {0}. Việc lập chỉ mục nhật ký yêu "
"cầu cơ sở dữ liệu GeoLite2 để phân tích địa lý IP"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:150
msgid "GeoLite2 Database Required"
msgstr "Cần có cơ sở dữ liệu GeoLite2"

#: src/constants/errors/cert.ts:9
msgid "Get acme user error: {0}"
msgstr "Lỗi khi lấy người dùng ACME: {0}"

#: src/views/dashboard/NginxDashBoard.vue:163
msgid "Get data failed"
msgstr "Không thể lấy dữ liệu"

#: src/constants/errors/cert.ts:12
msgid "Get dns credential error: {0}"
msgstr "Lỗi khi lấy thông tin xác thực DNS: {0}"

#: src/views/node/BatchUpgrader.vue:182 src/views/system/Upgrade.vue:188
msgid "Get release information error"
msgstr "Lỗi lấy thông tin phát hành"

#: src/views/site/site_edit/components/Cert/ObtainCertLive.vue:46
msgid "Getting the certificate, please wait..."
msgstr "Đang lấy chứng chỉ, vui lòng đợi..."

#: src/views/preference/tabs/HTTPSettings.vue:11
msgid "Github Proxy"
msgstr "Proxy Github"

#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:47
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:235
msgid "Global Access Map"
msgstr "Bản đồ Truy cập Toàn cầu"

#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:31
msgid "Global Map"
msgstr "Bản đồ Thế giới"

#: src/components/AutoCertForm/DNSChallenge.vue:144
msgid "Go to DNS > Credentials to create or manage credentials"
msgstr "Đi tới DNS > Thông tin xác thực để tạo hoặc quản lý thông tin xác thực"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:682
msgid "Go to Raw Log Viewer"
msgstr "Đi đến Trình xem Nhật ký Thô"

#: src/components/TwoFA/use2FAModal.ts:33
msgid "Go to Recovery Codes"
msgstr "Đi đến mã khôi phục"

#: src/views/preference/components/ExternalNotify/gotify.ts:5
msgid "Gotify"
msgstr "Gotify"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:600
msgid ""
"gRPC health check requires server to implement gRPC Health Check service "
"(grpc.health.v1.Health)."
msgstr ""
"Kiểm tra sức khỏe gRPC yêu cầu máy chủ triển khai dịch vụ kiểm tra sức khỏe "
"gRPC (grpc.health.v1.Health)."

#: src/views/dashboard/components/SiteHealthCheckModal.vue:599
msgid ""
"gRPCS uses TLS encryption. Server must implement gRPC Health Check service. "
"For testing, SSL validation is disabled by default."
msgstr ""
"gRPCS sử dụng mã hóa TLS. Máy chủ phải triển khai dịch vụ kiểm tra sức khỏe "
"gRPC. Để kiểm tra, xác thực SSL bị vô hiệu hóa theo mặc định."

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
msgid "GZIP Compression"
msgstr "Nén GZIP"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87
msgid "GZIP Compression Level"
msgstr "Mức độ nén GZIP"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80
msgid "GZIP Min Length"
msgstr "Độ dài tối thiểu GZIP"

#: src/views/upstream/SocketList.vue:60
msgid "Health Check"
msgstr "Kiểm tra sức khỏe"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:466
msgid "Health Check Configuration"
msgstr "Cấu hình kiểm tra trạng thái"

#: src/views/dashboard/SiteNavigation.vue:128
msgid "Health check configuration saved"
msgstr "Đã lưu cấu hình kiểm tra trạng thái"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:403
msgid "Health check configuration saved successfully"
msgstr "Cấu hình kiểm tra sức khỏe đã được lưu thành công"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:477
msgid "Health check is disabled"
msgstr "Kiểm tra trạng thái đã bị vô hiệu hóa"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:477
msgid "Health check is enabled"
msgstr "Kiểm tra tình trạng đã được bật"

#: src/views/upstream/SocketList.vue:36
msgid "Health Status"
msgstr "Trạng thái sức khỏe"

#: src/components/SensitiveString/SensitiveInput.vue:88
#: src/components/SensitiveString/SensitiveString.vue:102
msgid "Hide"
msgstr "Ẩn"

#: src/views/terminal/components/TerminalHeader.vue:85
msgid "Hide Assistant"
msgstr "Ẩn trợ lý"

#: src/composables/useGeoTranslation.ts:165
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:165
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:133
msgid "High"
msgstr "Cao"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
msgid "Higher value means better connection reuse"
msgstr "Giá trị cao hơn có nghĩa là tái sử dụng kết nối tốt hơn"

#: src/views/config/components/ConfigLeftPanel.vue:255
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:100
#: src/views/stream/components/StreamEditor.vue:68
msgid "History"
msgstr "Lịch sử"

#: src/routes/index.ts:54
msgid "Home"
msgstr "Trang chủ"

#: src/views/dns/components/DNSRecordFilter.vue:42
#: src/views/preference/tabs/ServerSettings.vue:19
msgid "Host"
msgstr "Máy chủ"

#: src/views/dns/components/DNSRecordFilter.vue:45
msgid "Host, e.g. @ or www"
msgstr "Máy chủ, vd: @ hoặc www"

#: src/views/backup/AutoBackup/components/CronEditor.vue:159
#: src/views/nginx_log/dashboard/components/HourlyChart.vue:87
msgid "Hour"
msgstr "Giờ"

#: src/views/preference/Preference.vue:71
msgid "HTTP"
msgstr "HTTP"

#: src/views/preference/tabs/CertSettings.vue:16
msgid "HTTP Challenge Port"
msgstr "Cổng thử thách HTTP"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:506
msgid "HTTP Method"
msgstr "Phương thức HTTP"

#: src/components/AutoCertForm/AutoCertForm.vue:222
msgid "HTTP01"
msgstr "HTTP01"

#: src/components/SelfCheck/tasks/frontend/https-check.ts:13
msgid "HTTPS Protocol"
msgstr "Giao thức HTTPS"

#: src/views/nginx_log/structured/components/SearchFilters.vue:189
msgid "https://..."
msgstr "https://..."

#: src/views/preference/tabs/NodeSettings.vue:34
msgid "ICP Number"
msgstr "Số ICP"

#: src/views/preference/tabs/AuthSettings.vue:109
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
msgstr ""
"Nếu số lần đăng nhập thất bại từ một IP đạt đến số lần thử tối đa trong "
"khoảng thời gian ngưỡng cấm, IP đó sẽ bị cấm trong một khoảng thời gian."

#: src/components/AutoCertForm/AutoCertForm.vue:280
msgid ""
"If you want to automatically revoke the old certificate, please enable this "
"option."
msgstr "Nếu bạn muốn tự động thu hồi chứng chỉ cũ, vui lòng bật tùy chọn này."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:167
msgid ""
"If you want to change the storage location, you can set the `IndexPath` of "
"`nginx_log` section in the Nginx UI config."
msgstr ""
"Nếu bạn muốn thay đổi vị trí lưu trữ, bạn có thể đặt `IndexPath` của phần "
"`nginx_log` trong cấu hình giao diện Nginx."

#: src/views/preference/components/AuthSettings/AddPasskey.vue:76
msgid "If your browser supports WebAuthn Passkey, a dialog box will appear."
msgstr "Nếu trình duyệt của bạn hỗ trợ WebAuthn Passkey, một hộp thoại sẽ xuất hiện."

#: src/components/AutoCertForm/AutoCertForm.vue:271
msgid ""
"If your domain has CNAME records and you cannot obtain certificates, you "
"need to enable this option."
msgstr ""
"Nếu tên miền của bạn có bản ghi CNAME và bạn không thể nhận được chứng chỉ, "
"bạn cần bật tùy chọn này."

#: src/views/certificate/CertificateList/Certificate.vue:28
msgid "Import"
msgstr "Nhập"

#: src/routes/modules/certificates.ts:46
#: src/views/certificate/CertificateEditor.vue:132
msgid "Import Certificate"
msgstr "Nhập chứng chỉ"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:175
msgid "Inactive Time"
msgstr "Thời gian không hoạt động"

#: src/views/dashboard/components/ProcessDistributionCard.vue:54
msgid ""
"Includes master process, worker processes, cache processes, and other Nginx "
"processes"
msgstr ""
"Bao gồm quá trình chính, quá trình worker, quá trình cache và các quá trình "
"Nginx khác"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:252
msgid "Incremental index scanning"
msgstr "Quét chỉ mục tăng dần"

#: src/views/nginx_log/indexing/IndexManagement.vue:38
msgid "Index and statistics rebuild started successfully"
msgstr "Đã bắt đầu xây dựng lại chỉ mục và thống kê thành công"

#: src/views/nginx_log/NginxLogList.vue:208
msgid "Index failed"
msgstr "Lập chỉ mục thất bại"

#: src/views/nginx_log/components/LoadingState.vue:55
msgid "Index failed, please try rebuilding"
msgstr "Lập chỉ mục thất bại, vui lòng thử xây dựng lại"

#: src/views/nginx_log/NginxLogList.vue:393
msgid "Index rebuild initiated"
msgstr "Đã khởi động tái lập chỉ mục"

#: src/views/nginx_log/NginxLogList.vue:177
msgid "Index Status"
msgstr "Trạng thái chỉ mục"

#: src/views/nginx_log/NginxLogList.vue:245
msgid "Indexed"
msgstr "Đã lập chỉ mục"

#: src/views/nginx_log/indexing/components/IndexProgressBar.vue:52
#: src/views/nginx_log/NginxLogList.vue:241
msgid "Indexing"
msgstr "Đang lập chỉ mục"

#: src/views/nginx_log/components/LoadingState.vue:33
#: src/views/nginx_log/NginxLogList.vue:463
msgid "Indexing logs..."
msgstr "Đang lập chỉ mục nhật ký..."

#: src/components/ProcessingStatus/ProcessingStatus.vue:37
#: src/views/nginx_log/components/LoadingState.vue:71
msgid "Indexing..."
msgstr "Đang lập chỉ mục..."

#: src/views/dashboard/components/PerformanceTablesCard.vue:16
msgid "Indicator"
msgstr "Chỉ số"

#: src/constants/index.ts:26 src/views/notification/notificationColumns.tsx:28
msgid "Info"
msgstr "Thông tin"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:76
msgid "Informational Responses (1xx)"
msgstr "Phản hồi thông tin (1xx)"

#: src/constants/errors/user.ts:17
msgid "Init user not exists"
msgstr "Người dùng khởi tạo không tồn tại"

#: src/language/constants.ts:25
msgid "Initial core upgrader error"
msgstr "Không thể khởi tạo trình nâng cấp"

#: src/language/constants.ts:24
msgid "Initialing core upgrader"
msgstr "Đang khởi tạo trình nâng cấp"

#: src/views/preference/components/AuthSettings/TOTP.vue:121
msgid "Input the code from the app:"
msgstr "Nhập mã từ ứng dụng:"

#: src/components/TwoFA/Authorization.vue:80
msgid "Input the recovery code:"
msgstr "Nhập mã khôi phục:"

#: src/views/preference/tabs/HTTPSettings.vue:22
msgid "Insecure Skip Verify"
msgstr "Bỏ qua xác minh không an toàn"

#: src/routes/modules/auth.ts:8
#: src/views/install/components/InstallForm.vue:120
#: src/views/install/components/InstallHeader.vue:9
#: src/views/system/Upgrade.vue:150
msgid "Install"
msgstr "Cài đặt"

#: src/components/SelfCheck/store.ts:24
msgid "Install Flow Preview"
msgstr "Xem trước quy trình cài đặt"

#: src/components/SelfCheck/store.ts:18
msgid "Install Secret"
msgstr "Cài đặt bí mật"

#: src/views/install/components/InstallView.vue:174
msgid "Install Secret (*)"
msgstr "Mã cài đặt (*)"

#: src/constants/errors/system.ts:6
msgid "Install secret has expired"
msgstr "Mã bí mật cài đặt đã hết hạn"

#: src/constants/errors/system.ts:5
msgid "Install secret is invalid"
msgstr "Mã bí mật cài đặt không hợp lệ"

#: src/constants/errors/system.ts:4
msgid "Install secret is required"
msgstr "Yêu cầu mật khẩu cài đặt"

#: src/views/install/components/InstallForm.vue:70
msgid "Install successfully"
msgstr "Cài đặt thành công"

#: src/views/install/components/InstallView.vue:146
msgid "Installation"
msgstr "Cài đặt"

#: src/constants/errors/system.ts:3
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr "Không được phép cài đặt sau 10 phút khởi động hệ thống"

#: src/views/install/components/TimeoutAlert.vue:11
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
msgstr ""
"Không được phép cài đặt sau 10 phút khởi động hệ thống, vui lòng khởi động "
"lại Nginx UI."

#: src/views/dns/DDNSManager.vue:168
#: src/views/preference/tabs/LogrotateSettings.vue:26
msgid "Interval"
msgstr "Khoảng thời gian"

#: src/views/dns/DDNSManager.vue:426
msgid "Interval (seconds)"
msgstr "Khoảng thời gian (giây)"

#: src/views/certificate/ACMEUser.vue:157
msgid "Invalid"
msgstr "Không hợp lệ"

#: src/constants/errors/backup.ts:43
msgid "Invalid AES IV format: {0}"
msgstr "Định dạng AES IV không hợp lệ: {0}"

#: src/constants/errors/backup.ts:42
msgid "Invalid AES key format: {0}"
msgstr "Định dạng khóa AES không hợp lệ: {0}"

#: src/constants/errors/backup.ts:60
msgid "Invalid backup manifest signature"
msgstr "Chữ ký bản kê khai sao lưu không hợp lệ"

#: src/constants/errors/backup.ts:59
msgid "Invalid backup manifest: {0}"
msgstr "Bản kê khai sao lưu không hợp lệ: {0}"

#: src/views/certificate/components/CertificateDownload.vue:54
#: src/views/certificate/components/CertificateFileUpload.vue:88
msgid "Invalid certificate format"
msgstr "Định dạng chứng chỉ không hợp lệ"

#: src/constants/errors/user.ts:14
msgid "Invalid claims type"
msgstr "Loại yêu cầu không hợp lệ"

#: src/constants/errors/version.ts:2
msgid "Invalid commit SHA"
msgstr "SHA cam kết không hợp lệ"

#: src/views/install/components/InstallView.vue:83
msgid "Invalid debug secret"
msgstr "Bí mật gỡ lỗi không hợp lệ"

#: src/components/SystemRestore/SystemRestoreContent.vue:126
msgid "Invalid file object"
msgstr "Đối tượng tệp không hợp lệ"

#: src/constants/errors/backup.ts:50
msgid "Invalid file path: {0}"
msgstr "Đường dẫn tệp không hợp lệ: {0}"

#: src/views/config/components/ConfigRightPanel/Basic.vue:28
#: src/views/config/components/Rename.vue:66
msgid "Invalid filename"
msgstr "Tên tệp không hợp lệ"

#: src/views/config/components/Mkdir.vue:57
msgid "Invalid folder name"
msgstr "Tên thư mục không hợp lệ"

#: src/constants/errors/notification.ts:4
msgid "Invalid notification ID"
msgstr "ID thông báo không hợp lệ"

#: src/constants/errors/notification.ts:3
msgid "Invalid notifier config"
msgstr "Cấu hình thông báo không hợp lệ"

#: src/constants/errors/user.ts:4
msgid "Invalid otp code"
msgstr "Mã OTP không hợp lệ"

#: src/constants/errors/backup.ts:28
msgid "Invalid padding in decrypted data"
msgstr "Đệm không hợp lệ trong dữ liệu đã giải mã"

#: src/components/TwoFA/use2FAModal.ts:74
msgid "Invalid passcode or recovery code"
msgstr "Mã xác thực hoặc mã khôi phục không hợp lệ"

#: src/constants/errors/backup.ts:71
msgid "Invalid path: {0}"
msgstr "Đường dẫn không hợp lệ: {0}"

#: src/views/certificate/components/CertificateDownload.vue:59
#: src/views/certificate/components/CertificateFileUpload.vue:94
msgid "Invalid private key format"
msgstr "Định dạng khóa riêng không hợp lệ"

#: src/constants/errors/user.ts:5
msgid "Invalid recovery code"
msgstr "Mã khôi phục không hợp lệ"

#: src/constants/errors/middleware.ts:2
msgid "Invalid request format"
msgstr "Định dạng yêu cầu không hợp lệ"

#: src/constants/errors/backup.ts:41
msgid "Invalid security token format"
msgstr "Định dạng mã bảo mật không hợp lệ"

#: src/constants/errors/notification.ts:6
msgid "Invalid Telegram Chat ID: cannot be zero"
msgstr "ID cuộc trò chuyện Telegram không hợp lệ: không thể là số không"

#: src/constants/errors/nginx_log.parser.ts:5
msgid "Invalid timestamp format"
msgstr "Định dạng dấu thời gian không hợp lệ"

#: src/constants/errors/nginx_log.ts:23
msgid "Invalid websocket message type"
msgstr "Loại tin nhắn WebSocket không hợp lệ"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:194
#: src/views/preference/tabs/AuthSettings.vue:15
msgid "IP"
msgstr "IP"

#: src/views/nginx_log/structured/components/SearchFilters.vue:77
#: src/views/nginx_log/structured/StructuredLogViewer.vue:518
msgid "IP Address"
msgstr "Địa chỉ IP"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:335
#: src/views/site/site_edit/components/RightPanel/DNS.vue:504
#: src/views/site/site_edit/components/RightPanel/DNS.vue:629
msgid "IP Address / Target"
msgstr "Địa chỉ IP / Mục tiêu"

#: src/views/certificate/components/SelfSignedCertFields.vue:40
msgid "IP Addresses"
msgstr "Địa chỉ IP"

#: src/components/AutoCertForm/AutoCertForm.vue:123
msgid "IP Certificate Notice"
msgstr "Thông báo chứng chỉ IP"

#: src/views/dns/DDNSManager.vue:384
msgid "IP Version"
msgstr "Phiên bản IP"

#: src/views/dns/DDNSManager.vue:40
msgid "IPv4 only"
msgstr "Chỉ IPv4"

#: src/views/dns/DDNSManager.vue:42
msgid "IPv4 then IPv6"
msgstr "IPv4 rồi IPv6"

#: src/views/dns/DDNSManager.vue:41
msgid "IPv6 only"
msgstr "Chỉ IPv6"

#: src/views/dns/DDNSManager.vue:43
msgid "IPv6 then IPv4"
msgstr "IPv6 rồi đến IPv4"

#: src/views/certificate/CertificateList/certColumns.tsx:83
msgid "Issuance failed"
msgstr "Phát hành thất bại"

#: src/views/certificate/CertificateList/Certificate.vue:38
msgid "Issue certificate"
msgstr "Cấp chứng chỉ"

#: src/views/certificate/components/DNSIssueCertificate.vue:159
msgid "Issue Certificate"
msgstr "Cấp chứng chỉ"

#: src/language/constants.ts:20
msgid "Issued certificate successfully"
msgstr "Đã phát hành chứng chỉ thành công"

#: src/views/certificate/components/DNSIssueCertificate.vue:110
msgid "Issued successfully"
msgstr "Đã cấp thành công"

#: src/components/CertInfo/CertInfo.vue:35
msgid "Issuer: %{issuer}"
msgstr "Nhà phát hành: %{issuer}"

#: src/views/certificate/CertificateList/certColumns.tsx:79
msgid "Issuing..."
msgstr "Đang phát hành..."

#: src/language/curd.ts:6
msgid "item(s)"
msgstr "mục"

#: src/views/preference/tabs/AppSettings.vue:11
msgid "Jwt Secret"
msgstr "Mật khẩu JWT"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:75
msgid ""
"Keep your recovery codes as safe as your password. We recommend saving them "
"with a password manager."
msgstr ""
"Hãy bảo vệ mã khôi phục của bạn an toàn như mật khẩu. Chúng tôi khuyên bạn "
"nên lưu chúng bằng trình quản lý mật khẩu."

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60
msgid "Keepalive Timeout"
msgstr "Thời gian chờ Keepalive"

#: src/components/AutoCertForm/AutoCertForm.vue:236
#: src/views/certificate/CertificateList/certColumns.tsx:65
#: src/views/certificate/components/SelfSignedCertFields.vue:47
msgid "Key Type"
msgstr "Loại khóa"

#: src/views/preference/components/ExternalNotify/columns.tsx:33
msgid "Language"
msgstr "Ngôn ngữ"

#: src/views/preference/components/ExternalNotify/lark.ts:5
msgid "Lark"
msgstr "Lark"

#: src/views/preference/components/ExternalNotify/lark_custom.ts:5
msgid "Lark Custom"
msgstr "Lark Tùy chỉnh"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:315
msgid "Last 12 hours"
msgstr "12 giờ trước"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:22
msgid "Last 14 days"
msgstr "14 ngày trước"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:311
msgid "Last 15 minutes"
msgstr "15 phút trước"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:316
msgid "Last 24 hours"
msgstr "24 giờ qua"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:23
#: src/views/nginx_log/structured/StructuredLogViewer.vue:318
msgid "Last 30 days"
msgstr "30 ngày qua"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:312
msgid "Last 30 minutes"
msgstr "30 phút trước"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:314
msgid "Last 4 hours"
msgstr "4 giờ trước"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:21
#: src/views/nginx_log/structured/StructuredLogViewer.vue:317
msgid "Last 7 days"
msgstr "7 ngày trước"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:24
msgid "Last 90 days"
msgstr "90 ngày qua"

#: src/views/backup/AutoBackup/AutoBackup.vue:190
msgid "Last Backup Status"
msgstr "Trạng thái sao lưu cuối cùng"

#: src/views/backup/AutoBackup/AutoBackup.vue:183
msgid "Last Backup Time"
msgstr "Thời gian sao lưu cuối cùng"

#: src/views/upstream/SocketList.vue:51
msgid "Last Check"
msgstr "Lần kiểm tra cuối"

#: src/views/system/Upgrade.vue:198
msgid "Last checked at"
msgstr "Kiểm tra lần cuối lúc"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:313
msgid "Last hour"
msgstr "Giờ qua"

#: src/views/nginx_log/NginxLogList.vue:258
msgid "Last Indexed"
msgstr "Lần lập chỉ mục cuối"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:26
msgid "Last month"
msgstr "Tháng trước"

#: src/views/dns/DDNSManager.vue:176
msgid "Last run"
msgstr "Lần chạy cuối"

#: src/views/dashboard/NginxDashBoard.vue:138
msgid "Last update"
msgstr "Cập nhật cuối cùng"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:199
msgid "Last updated:"
msgstr "Lần cập nhật cuối:"

#: src/views/preference/components/AuthSettings/Passkey.vue:97
msgid "Last used at"
msgstr "Lần sử dụng cuối"

#: src/components/TwoFA/use2FAModal.ts:34
msgid "Later"
msgstr "Để sau"

#: src/views/user/userColumns.tsx:23
msgid "Leave blank for no change"
msgstr "Bỏ trống nếu không thay đổi"

#: src/views/preference/tabs/OpenAISettings.vue:33
msgid "Leave blank for the default: https://api.openai.com/"
msgstr "Bỏ trống để sử dụng địa chỉ mặc định: https://api.openai.com/"

#: src/language/curd.ts:39
msgid "Leave blank if do not want to modify"
msgstr "Để trống nếu không muốn thay đổi"

#: src/views/certificate/ACMEUser.vue:85 src/views/certificate/ACMEUser.vue:98
msgid "Leave blank if not required by your ACME provider"
msgstr "Để trống nếu nhà cung cấp ACME của bạn không yêu cầu"

#: src/views/certificate/ACMEUser.vue:61
msgid "Leave blank if you don't need this."
msgstr "Để trống nếu bạn không cần cái này."

#: src/views/preference/tabs/OpenAISettings.vue:31
msgid "Leave blank to use the Atlas Cloud endpoint: https://api.atlascloud.ai/v1"
msgstr "Để trống để sử dụng điểm cuối Atlas Cloud: https://api.atlascloud.ai/v1"

#: src/views/certificate/components/CertificateContentEditor.vue:240
#: src/views/certificate/components/CertificateContentEditor.vue:258
#: src/views/certificate/components/CertificateContentEditor.vue:301
#: src/views/certificate/components/CertificateContentEditor.vue:319
msgid "Leave blank will not change anything"
msgstr "Để trống sẽ không thay đổi bất cứ điều gì"

#: src/components/RecoveryCodeMigrationWarning/RecoveryCodeMigrationWarning.vue:41
#: src/components/RecoveryCodeMigrationWarning/RecoveryCodeMigrationWarning.vue:65
msgid ""
"Legacy recovery code is deprecated. Generate new recovery codes to keep "
"account recovery secure."
msgstr ""
"Mã khôi phục cũ đã không còn được hỗ trợ. Tạo mã khôi phục mới để đảm bảo "
"an toàn cho việc khôi phục tài khoản."

#: src/constants/errors/user.ts:6
msgid "Legacy recovery code not allowed since totp is not enabled"
msgstr "Không cho phép mã khôi phục cũ vì TOTP chưa được bật"

#: src/components/AutoCertForm/AutoCertForm.vue:268
msgid "Lego disable CNAME Support"
msgstr "Lego tắt hỗ trợ CNAME"

#: src/views/system/About.vue:75 src/views/system/Licenses.vue:21
msgid "License"
msgstr "Giấy phép"

#: src/views/system/Licenses.vue:133
msgid "License Distribution"
msgstr "Phân phối giấy phép"

#: src/views/system/Licenses.vue:125
msgid "License Types"
msgstr "Loại giấy phép"

#: src/views/dashboard/components/NodeAnalyticItem.vue:109
#: src/views/dashboard/components/NodeAnalyticItem.vue:82
#: src/views/dashboard/components/NodeAnalyticItem.vue:99
msgid "Link"
msgstr "Liên kết"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:456
msgid ""
"Link this site to a DNS record. The server_name will be used for the DNS "
"record name."
msgstr ""
"Liên kết trang web này với một bản ghi DNS. server_name sẽ được sử dụng làm "
"tên bản ghi DNS."

#: src/views/site/site_add/components/DNSRecordIntegration.vue:247
msgid ""
"Link this site to a DNS record. The server_name will be used for the DNS "
"record name. You can skip this step if DNS is already configured."
msgstr ""
"Liên kết trang web này với một bản ghi DNS. server_name sẽ được sử dụng làm "
"tên bản ghi DNS. Bạn có thể bỏ qua bước này nếu DNS đã được cấu hình."

#: src/views/site/site_edit/components/RightPanel/DNS.vue:466
msgid "Linked DNS Record"
msgstr "Bản ghi DNS được liên kết"

#: src/language/curd.ts:23
msgid "List"
msgstr "Danh sách"

#: src/components/PortScanner/PortScannerCompact.vue:43
msgid "Listening"
msgstr "Đang lắng nghe"

#: src/views/preference/Preference.vue:101
msgid "LLM"
msgstr "LLM"

#: src/views/dashboard/ServerAnalytic.vue:188
msgid "Load Average:"
msgstr "Tải trung bình:"

#: src/views/node/Node.vue:137
msgid "Load from settings"
msgstr "Tải từ cài đặt"

#: src/views/node/Node.vue:67
msgid "Load successfully"
msgstr "Tải thành công"

#: src/views/dashboard/components/ModulesTable.vue:79
#: src/views/dashboard/components/ModulesTable.vue:84
msgid "Loaded"
msgstr "Đã tải"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:312
msgid "Loader Files"
msgstr "Tệp bộ nạp"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:307
msgid "Loader Settings"
msgstr "Cài đặt bộ nạp"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:322
msgid "Loader Sleep"
msgstr "Thời gian nghỉ của bộ nạp"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:347
msgid "Loader Threshold"
msgstr "Ngưỡng tải"

#: src/views/dashboard/NginxDashBoard.vue:200
msgid "Loading data..."
msgstr "Đang tải dữ liệu..."

#: src/components/SensitiveString/SensitiveInput.vue:88
#: src/components/SensitiveString/SensitiveString.vue:102
#: src/views/nginx_log/components/LoadingState.vue:41
#: src/views/nginx_log/components/LoadingState.vue:78
msgid "Loading..."
msgstr "Đang tải..."

#: src/components/NamespaceTabs/NamespaceTabs.vue:116
#: src/components/NodeIndicator/NodeIndicator.vue:38
#: src/components/NodeSelector/NodeSelector.vue:62 src/constants/index.ts:43
#: src/constants/index.ts:49 src/views/backup/AutoBackup/AutoBackup.vue:74
#: src/views/backup/AutoBackup/AutoBackup.vue:83
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:48
#: src/views/preference/tabs/NginxSettings.vue:64
msgid "Local"
msgstr "Cục bộ"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:60
msgid "Local path (e.g., /var/backups)"
msgstr "Đường dẫn cục bộ (vd: /var/backups)"

#: src/components/NgxConfigEditor/LocationEditor.vue:81
msgid "Location"
msgstr "Location"

#: src/components/NgxConfigEditor/LocationEditor.vue:63
msgid "Locations"
msgstr "Locations"

#: src/views/certificate/CertificateEditor.vue:181
msgid "Log"
msgstr "Nhật ký"

#: src/language/generate.ts:25
msgid ""
"Log file %{log_path} is not a regular file. If you are using nginx-ui in "
"docker container, please refer to "
"https://nginxui.com/zh_CN/guide/config-nginx-log.html for more information."
msgstr ""
"Tệp nhật ký %{log_path} không phải là tệp thông thường. Nếu bạn đang sử "
"dụng nginx-ui trong container docker, vui lòng tham khảo "
"https://nginxui.com/zh_CN/guide/config-nginx-log.html để biết thêm thông "
"tin."

#: src/constants/errors/nginx_log.ts:11
msgid "Log file does not exist"
msgstr "Tập tin nhật ký không tồn tại"

#: src/constants/errors/nginx_log.ts:22
msgid "Log file is not a regular file"
msgstr "Tập tin nhật ký không phải là tập tin thông thường"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:859
msgid "Log file not available"
msgstr "Tệp nhật ký không có sẵn"

#: src/views/nginx_log/components/LoadingState.vue:62
msgid "Log file not indexed yet"
msgstr "Tệp nhật ký chưa được lập chỉ mục"

#: src/constants/errors/nginx_log.ts:9
msgid "Log indexer not available"
msgstr "Bộ lập chỉ mục nhật ký không khả dụng"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:586
msgid "Log indexing completed! Loading updated data..."
msgstr "Lập chỉ mục nhật ký hoàn tất! Đang tải dữ liệu cập nhật..."

#: src/constants/errors/nginx_log.parser.ts:3
msgid "Log line exceeds maximum length"
msgstr "Dòng nhật ký vượt quá độ dài tối đa"

#: src/routes/modules/nginx_log.ts:39 src/views/nginx_log/NginxLogList.vue:436
msgid "Log List"
msgstr "Danh sách nhật ký"

#: src/constants/errors/nginx_log.indexer.ts:2
msgid "Log parser is not initialized; call indexer.InitLogParser() before use"
msgstr ""
"Bộ phân tích nhật ký chưa được khởi tạo; hãy gọi indexer.InitLogParser() "
"trước khi sử dụng"

#: src/constants/errors/nginx_log.ts:12
msgid "Log path is not under whitelist"
msgstr "Đường dẫn nhật ký không nằm trong danh sách trắng"

#: src/routes/modules/auth.ts:14 src/views/other/Login.vue:357
msgid "Login"
msgstr "Đăng nhập"

#: src/views/other/Login.vue:109
msgid "Login successful"
msgstr "Đăng nhập thành công"

#: src/layouts/HeaderLayout.vue:22
msgid "Logout successful"
msgstr "Đã đăng xuất"

#: src/views/preference/Preference.vue:107
msgid "Logrotate"
msgstr "Logrotate"

#: src/views/preference/tabs/LogrotateSettings.vue:13
msgid ""
"Logrotate, by default, is enabled in most mainstream Linux distributions "
"for users who install Nginx UI on the host machine, so you don't need to "
"modify the parameters on this page. For users who install Nginx UI using "
"Docker containers, you can manually enable this option. The crontab task "
"scheduler of Nginx UI will execute the logrotate command at the interval "
"you set in minutes."
msgstr ""
"Logrotate được kích hoạt mặc định trong hầu hết các bản phân phối Linux phổ "
"biến dành cho người dùng cài đặt Nginx UI trực tiếp trên máy chủ, vì vậy "
"bạn không cần phải thay đổi các tham số trên trang này. Đối với người dùng "
"cài đặt Nginx UI bằng container Docker, bạn có thể kích hoạt thủ công tùy "
"chọn này. Bộ lập lịch tác vụ crontab của Nginx UI sẽ thực thi lệnh "
"logrotate theo khoảng thời gian bạn đặt (tính bằng phút)."

#: src/composables/useGeoTranslation.ts:166
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:165
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:133
msgid "Low"
msgstr "Thấp"

#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:51
#: src/composables/useUpstreamStatus.ts:146
msgid "Main Node"
msgstr "Nút chính"

#: src/views/site/components/SiteStatusSelect.vue:165
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:87
#: src/views/site/site_list/columns.tsx:150
msgid "Maintenance"
msgstr "Bảo trì"

#: src/views/site/components/SiteStatusSelect.vue:93
msgid "Maintenance mode disabled successfully"
msgstr "Đã tắt chế độ bảo trì thành công"

#: src/views/site/components/SiteStatusSelect.vue:80
msgid "Maintenance mode enabled successfully"
msgstr "Đã bật chế độ bảo trì thành công"

#: src/views/preference/tabs/NginxSettings.vue:13
msgid "Maintenance template (filename only)"
msgstr "Mẫu bảo trì (chỉ tên tệp)"

#: src/views/preference/tabs/NginxSettings.vue:16
msgid "maintenance.html"
msgstr "maintenance.html"

#: src/constants/errors/cert.ts:20
msgid "Make certificate dir error: {0}"
msgstr "Lỗi tạo thư mục chứng chỉ: {0}"

#: src/components/AutoCertForm/AutoCertForm.vue:164
msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to "
"HTTPChallengePort before obtaining the certificate."
msgstr ""
"Đảm bảo bạn đã cấu hình proxy ngược cho thư mục .well-known đến "
"HTTPChallengePort trước khi nhận chứng chỉ."

#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "Quản lý cấu hình"

#: src/views/dns/DNSDomainList.vue:267
msgid "Manage Records"
msgstr "Quản lý bản ghi"

#: src/routes/modules/sites.ts:10 src/views/site/site_list/SiteList.vue:122
msgid "Manage Sites"
msgstr "Quản lý Website"

#: src/routes/modules/streams.ts:10 src/views/stream/StreamList.vue:59
msgid "Manage Streams"
msgstr "Quản lý luồng"

#: src/routes/modules/user.ts:10 src/views/user/User.vue:10
msgid "Manage Users"
msgstr "Người dùng"

#: src/views/certificate/CertificateList/certColumns.tsx:29
msgid "Managed Certificate"
msgstr "Chứng chỉ được quản lý"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:250
msgid "Manager Files"
msgstr "Tập tin quản lý"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:260
msgid "Manager Sleep"
msgstr "Thời gian chờ của trình quản lý"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:285
msgid "Manager Threshold"
msgstr "Ngưỡng Quản lý"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32
msgid "Manual"
msgstr "Thủ công"

#: src/views/dashboard/components/PerformanceTablesCard.vue:202
msgid "manually set"
msgstr "đặt thủ công"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
msgid "Master"
msgstr "Chính"

#: src/composables/usePerformanceMetrics.ts:134
#: src/views/dashboard/components/PerformanceTablesCard.vue:90
msgid "Master process"
msgstr "Tiến trình chính"

#: src/composables/usePerformanceMetrics.ts:56
#: src/views/dashboard/components/ProcessDistributionCard.vue:13
msgid "Master Process"
msgstr "Tiến trình chính"

#: src/views/preference/tabs/AuthSettings.vue:99
msgid "Max Attempts"
msgstr "Số lần thử tối đa"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
msgid "Max Concurrent Connections"
msgstr "Kết nối đồng thời tối đa"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:643
msgid "Max Redirects"
msgstr "Chuyển hướng tối đa"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
msgid "Max Requests Per Second"
msgstr "Yêu cầu tối đa mỗi giây"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:198
msgid "Maximum Cache Size"
msgstr "Kích thước bộ nhớ đệm tối đa"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:111
msgid "Maximum client request body size"
msgstr "Kích thước tối đa của phần thân yêu cầu từ máy khách"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49
msgid "Maximum number of concurrent connections"
msgstr "Số lượng kết nối đồng thời tối đa"

#: src/composables/usePerformanceMetrics.ts:174
#: src/views/dashboard/components/PerformanceTablesCard.vue:126
msgid "Maximum number of connections per worker process"
msgstr "Số kết nối tối đa trên mỗi tiến trình worker"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:200
msgid "Maximum total size of the cache"
msgstr "Kích thước tối đa của bộ nhớ đệm"

#: src/views/dashboard/components/PerformanceTablesCard.vue:196
msgid "Maximum worker process number:"
msgstr "Số lượng tiến trình worker tối đa:"

#: src/views/dashboard/ServerAnalytic.vue:228
#: src/views/dashboard/ServerAnalytic.vue:229
#: src/views/nginx_log/components/IndexingSettingsModal.vue:53
msgid "Memory"
msgstr "Memory"

#: src/views/dashboard/ServerAnalytic.vue:217
msgid "Memory and Storage"
msgstr "Memory và Storage"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:78
msgid "Memory Design"
msgstr "Thiết kế bộ nhớ"

#: src/views/dashboard/components/ResourceUsageCard.vue:51
msgid "Memory Usage (RSS)"
msgstr "Mức sử dụng bộ nhớ (RSS)"

#: src/views/nginx_log/structured/components/SearchFilters.vue:92
#: src/views/nginx_log/structured/StructuredLogViewer.vue:519
msgid "Method"
msgstr "Phương pháp"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:613
msgid "Method Name"
msgstr "Tên phương thức"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81
msgid "Minimum file size for compression"
msgstr "Kích thước tệp tối thiểu để nén"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:223
msgid "Minimum Free Space"
msgstr "Dung lượng trống tối thiểu"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:225
msgid "Minimum free space in the cache directory"
msgstr "Dung lượng trống tối thiểu trong thư mục bộ nhớ đệm"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:142
msgid "Minimum:"
msgstr "Tối thiểu:"

#: src/views/backup/AutoBackup/components/CronEditor.vue:169
msgid "Minute"
msgstr "Phút"

#: src/views/preference/tabs/LogrotateSettings.vue:30
msgid "Minutes"
msgstr "Phút"

#: src/constants/index.ts:45
msgid "Mirror"
msgstr "Gương"

#: src/views/preference/tabs/OpenAISettings.vue:84
msgid "Model"
msgstr "Mô hình"

#: src/constants/errors/nginx_log.ts:25
msgid "Modern analytics service not available"
msgstr "Dịch vụ phân tích hiện đại không khả dụng"

#: src/constants/errors/nginx_log.ts:26
msgid "Modern indexer service not available"
msgstr "Dịch vụ lập chỉ mục hiện đại không khả dụng"

#: src/constants/errors/nginx_log.ts:24
msgid "Modern searcher service not available"
msgstr "Dịch vụ tìm kiếm hiện đại không khả dụng"

#: src/components/ConfigHistory/ConfigHistory.vue:53
msgid "Modified At"
msgstr "Đã sửa đổi lúc"

#: src/components/LLM/ChatMessage.vue:241 src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "Sửa đổi"

#: src/routes/modules/certificates.ts:36
#: src/views/certificate/CertificateEditor.vue:132
msgid "Modify Certificate"
msgstr "Sửa đổi chứng chỉ"

#: src/views/site/site_add/SiteAdd.vue:264
msgid "Modify Config"
msgstr "Sửa cấu hình"

#: src/views/dashboard/components/ModulesTable.vue:49
msgid "Module"
msgstr "Mô-đun"

#: src/views/dashboard/components/PerformanceTablesCard.vue:215
msgid "Modules"
msgstr "Mô-đun"

#: src/views/dashboard/components/ModulesTable.vue:26
msgid "Modules cache refreshed"
msgstr "Đã làm mới bộ nhớ đệm mô-đun"

#: src/views/backup/AutoBackup/components/CronEditor.vue:27
msgid "Monday"
msgstr "Thứ Hai"

#: src/views/backup/AutoBackup/components/CronEditor.vue:21
msgid "Monthly"
msgstr "Hàng tháng"

#: src/views/backup/AutoBackup/AutoBackup.vue:138
msgid "Monthly on day %{day} at %{time}"
msgstr "Hàng tháng vào ngày %{day} lúc %{time}"

#: src/views/preference/tabs/NginxSettings.vue:19
msgid "Mounted directory"
msgstr "Thư mục được gắn kết"

#: src/views/nginx_log/structured/components/SearchFilters.vue:204
msgid "Mozilla/5.0..."
msgstr "Mozilla/5.0..."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:276
msgid "Multi-dimensional data visualization"
msgstr "Trực quan hóa dữ liệu đa chiều"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:51
msgid "Multi-line Directive"
msgstr "Chỉ thị nhiều dòng"

#: src/components/AutoCertForm/AutoCertForm.vue:196
msgid "Must be a public IP address accessible from the internet"
msgstr "Phải là địa chỉ IP công cộng có thể truy cập từ internet"

#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:38
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:56
msgid "N/A"
msgstr "Không có"

#: src/components/NgxConfigEditor/NgxUpstream.vue:130
#: src/views/backup/AutoBackup/AutoBackup.vue:11
#: src/views/certificate/ACMEUser.vue:14
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/components/CertificateBasicInfo.vue:44
#: src/views/certificate/components/CertificateBasicInfo.vue:58
#: src/views/certificate/components/CertificateBasicInfo.vue:70
#: src/views/certificate/components/SelfSignedCertFields.vue:25
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:17
#: src/views/dns/components/DNSRecordForm.vue:64
#: src/views/dns/components/DNSRecordTable.vue:18
#: src/views/dns/DNSCredential.vue:17 src/views/namespace/columns.ts:9
#: src/views/nginx_log/NginxLogList.vue:155 src/views/node/nodeColumns.tsx:8
#: src/views/preference/components/AuthSettings/AddPasskey.vue:81
#: src/views/site/site_edit/components/RightPanel/Basic.vue:36
#: src/views/site/site_list/columns.tsx:30
#: src/views/site/site_list/SiteDuplicate.vue:79
#: src/views/stream/columns.tsx:26
#: src/views/stream/components/RightPanel/Basic.vue:31
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:123 src/views/system/Licenses.vue:13
msgid "Name"
msgstr "Tên"

#: src/views/config/configColumns.tsx:10
#: src/views/site/site_list/columns.tsx:22 src/views/stream/columns.tsx:18
msgid "Name or content"
msgstr "Tên hoặc nội dung"

#: src/views/site/site_edit/components/RightPanel/Basic.vue:42
#: src/views/site/site_list/columns.tsx:91 src/views/stream/columns.tsx:58
#: src/views/stream/components/RightPanel/Basic.vue:39
msgid "Namespace"
msgstr "Không gian tên"

#: src/routes/modules/namespaces.ts:10 src/views/namespace/Namespace.vue:19
msgid "Namespaces"
msgstr "Không gian tên"

#: src/views/dns/DNSDomainList.vue:282
msgid ""
"Need more DNS providers? Support us through donations or contact us for "
"commercial collaboration"
msgstr ""
"Cần thêm nhà cung cấp DNS? Hãy hỗ trợ chúng tôi qua quyên góp hoặc liên hệ "
"để hợp tác thương mại"

#: src/views/dashboard/NginxDashBoard.vue:195
msgid "Need to enable the stub_status module"
msgstr "Cần bật module stub_status"

#: src/views/dashboard/ServerAnalytic.vue:335
msgid "Network"
msgstr "Mạng"

#: src/views/dashboard/ServerAnalytic.vue:277
msgid "Network Statistics"
msgstr "Thống kê mạng"

#: src/components/LLM/LLM.vue:58
msgid "New Chat"
msgstr "Trò chuyện mới"

#: src/constants/errors/cert.ts:15
msgid "New dns challenge provider error: {0}"
msgstr "Lỗi nhà cung cấp thử thách DNS mới: {0}"

#: src/views/install/components/InstallView.vue:225
msgid "New Installation"
msgstr "Cài đặt mới"

#: src/constants/errors/cert.ts:11
msgid "New lego client error: {0}"
msgstr "Lỗi máy khách lego mới: {0}"

#: src/views/config/components/Rename.vue:74
msgid "New name"
msgstr "Tên mới"

#: src/views/user/UserProfile.vue:190
msgid "New Password"
msgstr "Mật khẩu mới"

#: src/views/config/components/ConfigRightPanel/Basic.vue:47
msgid "New Path"
msgstr "Đường dẫn mới"

#: src/constants/errors/cert.ts:10
msgid "New transport error: {0}"
msgstr "Lỗi vận chuyển mới: {0}"

#: src/views/system/Upgrade.vue:230
msgid "New version released"
msgstr "Đã có phiên bản mới"

#: src/views/certificate/components/DNSIssueCertificate.vue:223
#: src/views/install/components/InstallView.vue:212
#: src/views/site/site_add/SiteAdd.vue:237
#: src/views/site/site_add/SiteAdd.vue:244
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:223
msgid "Next"
msgstr "Tiếp theo"

#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:95
msgid "Nginx"
msgstr "Nginx"

#: src/constants/errors/nginx.ts:5
msgid "Nginx -T output is empty"
msgstr "Đầu ra của Nginx -T trống"

#: src/views/preference/tabs/NginxSettings.vue:22
msgid "Nginx Access Log Path"
msgstr "Vị trí lưu log truy cập (Access log) của Nginx"

#: src/language/generate.ts:27
msgid "Nginx access log path exists"
msgstr "Đường dẫn nhật ký truy cập Nginx tồn tại"

#: src/views/backup/AutoBackup/AutoBackup.vue:28
#: src/views/backup/AutoBackup/AutoBackup.vue:40
msgid "Nginx and Nginx UI Config"
msgstr "Cấu hình Nginx và Nginx UI"

#: src/constants/errors/self_check.ts:6
msgid "Nginx conf no http block"
msgstr "Cấu hình Nginx không có khối http"

#: src/constants/errors/self_check.ts:8
msgid "Nginx conf no stream block"
msgstr "Cấu hình Nginx không có khối stream"

#: src/constants/errors/self_check.ts:15
msgid "Nginx conf not include conf.d directory"
msgstr "Cấu hình Nginx không bao gồm thư mục conf.d"

#: src/constants/errors/self_check.ts:7
msgid "Nginx conf not include sites-enabled"
msgstr "Cấu hình Nginx không bao gồm sites-enabled"

#: src/constants/errors/self_check.ts:9
msgid "Nginx conf not include stream-enabled"
msgstr "Cấu hình Nginx không bao gồm stream-enabled"

#: src/constants/errors/backup.ts:20
msgid "Nginx config directory is not set"
msgstr "Thư mục cấu hình Nginx chưa được thiết lập"

#: src/language/generate.ts:28
msgid "Nginx configuration directory exists"
msgstr "Thư mục cấu hình Nginx tồn tại"

#: src/language/generate.ts:29
msgid "Nginx configuration entry file exists"
msgstr "Tập tin cấu hình đầu vào Nginx tồn tại"

#: src/components/SystemRestore/SystemRestoreContent.vue:162
msgid "Nginx configuration has been restored"
msgstr "Cấu hình Nginx đã được khôi phục"

#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:141
#: src/views/stream/components/StreamEditor.vue:105
msgid "Nginx Configuration Parse Error"
msgstr "Lỗi phân tích cấu hình Nginx"

#: src/views/preference/tabs/NginxSettings.vue:31
msgid "Nginx Configuration Path"
msgstr "Đường dẫn cấu hình Nginx"

#: src/views/preference/tabs/NginxSettings.vue:28
msgid "Nginx Configurations Directory"
msgstr "Thư mục cấu hình Nginx"

#: src/components/NginxControl/NginxControl.vue:68
msgid "Nginx Control"
msgstr "Điều khiển Nginx"

#: src/views/preference/tabs/NginxSettings.vue:55
msgid "Nginx Control Mode"
msgstr "Chế độ điều khiển Nginx"

#: src/composables/usePerformanceMetrics.ts:149
#: src/views/dashboard/components/PerformanceTablesCard.vue:105
msgid "Nginx CPU usage rate"
msgstr "Tỷ lệ sử dụng CPU của Nginx"

#: src/views/preference/tabs/NginxSettings.vue:25
msgid "Nginx Error Log Path"
msgstr "Vị trí lưu log lỗi (Error log) của Nginx"

#: src/language/generate.ts:30
msgid "Nginx error log path exists"
msgstr "Đường dẫn nhật ký lỗi Nginx tồn tại"

#: src/constants/errors/nginx.ts:2
msgid "Nginx error: {0}"
msgstr "Lỗi Nginx: {0}"

#: src/components/InspectConfig/InspectConfig.vue:43
msgid "Nginx failed to validate the configuration."
msgstr "Nginx không thể xác thực cấu hình."

#: src/components/NgxConfigEditor/NginxStatusAlert.vue:15
#: src/composables/useNginxPerformance.ts:44
#: src/views/dashboard/NginxDashBoard.vue:134
#: src/views/dashboard/NginxDashBoard.vue:153
#: src/views/dashboard/NginxDashBoard.vue:84
msgid "Nginx is not running"
msgstr "Nginx không đang chạy"

#: src/constants/errors/docker.ts:9
msgid "Nginx is not running in another container"
msgstr "Nginx không chạy trong một container khác"

#: src/views/dashboard/NginxDashBoard.vue:134
msgid "Nginx is running"
msgstr "Nginx đang chạy"

#: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:76
msgid "Nginx Log"
msgstr "Nhật ký Nginx"

#: src/views/preference/tabs/NginxSettings.vue:34
msgid "Nginx Log Directory Whitelist"
msgstr "Danh sách trắng thư mục nhật ký Nginx"

#: src/components/ProcessingStatus/ProcessingStatus.vue:51
msgid "Nginx Log Indexing..."
msgstr "Đang lập chỉ mục nhật ký Nginx..."

#: src/composables/usePerformanceMetrics.ts:154
#: src/views/dashboard/components/PerformanceTablesCard.vue:110
msgid "Nginx Memory usage"
msgstr "Mức sử dụng bộ nhớ Nginx"

#: src/views/preference/tabs/NginxSettings.vue:43
msgid "Nginx PID Path"
msgstr "Đường dẫn PID của Nginx"

#: src/language/generate.ts:26
msgid "Nginx PID path exists"
msgstr "Đường dẫn PID của Nginx tồn tại"

#: src/views/preference/tabs/NginxSettings.vue:49
msgid "Nginx Reload Command"
msgstr "Lệnh Tải lại Nginx"

#: src/constants/errors/config.ts:9 src/constants/errors/site.ts:7
#: src/constants/errors/stream.ts:6
msgid "Nginx reload failed: {0}"
msgstr "Tải lại Nginx thất bại: {0}"

#: src/views/node/Node.vue:88
msgid "Nginx reload operations have been dispatched to remote nodes"
msgstr "Các thao tác tải lại Nginx đã được gửi đến các nút từ xa"

#: src/components/NginxControl/NginxControl.vue:26
msgid "Nginx reloaded successfully"
msgstr "Nginx đã tải lại thành công"

#: src/components/InspectConfig/InspectConfig.vue:41
msgid "Nginx reported a configuration syntax error."
msgstr "Nginx báo cáo lỗi cú pháp cấu hình."

#: src/views/preference/tabs/NginxSettings.vue:52
msgid "Nginx Restart Command"
msgstr "Lệnh khởi động lại Nginx"

#: src/views/node/Node.vue:102
msgid "Nginx restart operations have been dispatched to remote nodes"
msgstr "Các thao tác khởi động lại Nginx đã được gửi đến các nút từ xa"

#: src/components/NginxControl/NginxControl.vue:40
msgid "Nginx restarted successfully"
msgstr "Khởi động lại Nginx thành công"

#: src/language/generate.ts:31
msgid "Nginx sbin path exists"
msgstr "Đường dẫn sbin của Nginx tồn tại"

#: src/views/preference/tabs/NginxSettings.vue:46
msgid "Nginx Test Config Command"
msgstr "Lệnh kiểm tra cấu hình Nginx"

#: src/constants/errors/config.ts:8 src/constants/errors/site.ts:6
#: src/constants/errors/stream.ts:5
msgid "Nginx test failed: {0}"
msgstr "Kiểm tra Nginx thất bại: {0}"

#: src/views/dashboard/components/PerformanceTablesCard.vue:181
msgid "Nginx theoretical maximum performance"
msgstr "Hiệu suất tối đa lý thuyết của Nginx"

#: src/constants/errors/system.ts:2
msgid "Nginx UI already installed"
msgstr "Nginx UI đã được cài đặt"

#: src/components/SystemRestore/SystemRestoreContent.vue:166
msgid "Nginx UI configuration has been restored"
msgstr "Cấu hình Nginx UI đã được khôi phục"

#: src/components/SystemRestore/SystemRestoreContent.vue:368
msgid ""
"Nginx UI configuration has been restored and will restart automatically in "
"a few seconds."
msgstr ""
"Cấu hình Nginx UI đã được khôi phục và sẽ tự động khởi động lại sau vài "
"giây."

#: src/views/certificate/components/SelfSignedCertFields.vue:22
msgid ""
"Nginx UI will automatically renew this certificate as it approaches "
"expiration, based on the global certificate renewal interval and this "
"certificate's validity period."
msgstr ""
"Nginx UI sẽ tự động gia hạn chứng chỉ này khi gần hết hạn, dựa trên khoảng "
"thời gian gia hạn chứng chỉ toàn cục và thời hạn hiệu lực của chứng chỉ này."

#: src/language/generate.ts:32
msgid "Nginx.conf includes conf.d directory"
msgstr "Nginx.conf bao gồm thư mục conf.d"

#: src/language/generate.ts:33
msgid "Nginx.conf includes sites-enabled directory"
msgstr "Nginx.conf bao gồm thư mục sites-enabled"

#: src/language/generate.ts:34
msgid "Nginx.conf includes streams-enabled directory"
msgstr "Nginx.conf bao gồm thư mục streams-enabled"

#: src/components/LLM/ChatMessageInput.vue:61
#: src/components/NamespaceTabs/NamespaceTabs.vue:136
#: src/components/NamespaceTabs/NamespaceTabs.vue:148
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:124
#: src/components/NgxConfigEditor/LocationEditor.vue:101
#: src/components/Notification/Notification.vue:115 src/language/curd.ts:40
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:128
#: src/views/preference/tabs/CertSettings.vue:79
#: src/views/site/site_list/SiteList.vue:166 src/views/stream/StreamList.vue:99
msgid "No"
msgstr "Không"

#: src/components/NamespaceRender/NamespaceRender.vue:41
#: src/constants/index.ts:38
msgid "No Action"
msgstr "Không hành động"

#: src/constants/errors/cert.ts:25
msgid "No certificate available"
msgstr "Không có chứng chỉ khả dụng"

#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:227
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:263
msgid "No China geographic data available"
msgstr "Không có dữ liệu địa lý Trung Quốc"

#: src/composables/useGeoTranslation.ts:169
#: src/views/dashboard/NginxDashBoard.vue:202
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:157
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:125
msgid "No data"
msgstr "Không có dữ liệu"

#: src/views/upstream/SocketList.vue:41
msgid "No Data"
msgstr "Không có dữ liệu"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:372
#: src/views/site/site_edit/components/RightPanel/DNS.vue:666
msgid "No DNS domains available"
msgstr "Không có tên miền DNS nào khả dụng"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:827
msgid "No entries in current page"
msgstr "Không có mục nào trong trang hiện tại"

#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:250
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:286
msgid "No geographic data available"
msgstr "Không có dữ liệu địa lý"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:567
msgid "No logs found in the selected time range."
msgstr "Không tìm thấy nhật ký trong khoảng thời gian đã chọn."

#: src/components/NamespaceRender/NamespaceRender.vue:55
msgid "No nodes selected"
msgstr "Không có nút nào được chọn"

#: src/components/ConfigHistory/DiffViewer.vue:47
msgid "No records selected"
msgstr "Không có bản ghi nào được chọn"

#: src/components/NgxConfigEditor/NgxServer.vue:77
msgid "No servers configured"
msgstr "Không có máy chủ nào được cấu hình"

#: src/views/dashboard/SiteNavigation.vue:170
msgid "No sites found"
msgstr "Không tìm thấy trang web nào"

#: src/components/AutoCertForm/AutoCertForm.vue:136
msgid ""
"No specific IP address found in server_name configuration. Please specify "
"the server IP address below for the certificate."
msgstr ""
"Không tìm thấy địa chỉ IP cụ thể trong cấu hình server_name. Vui lòng chỉ "
"định địa chỉ IP máy chủ bên dưới để lấy chứng chỉ."

#: src/views/nginx_log/structured/StructuredLogViewer.vue:836
msgid "No structured log data available"
msgstr "Không có dữ liệu nhật ký có cấu trúc nào khả dụng"

#: src/components/NgxConfigEditor/NgxUpstream.vue:103
msgid "No upstreams configured"
msgstr "Không có upstream nào được cấu hình"

#: src/views/preference/Preference.vue:65
msgid "Node"
msgstr "Nút"

#: src/constants/errors/analytic.ts:2
msgid "Node analytics failed: {0}"
msgstr "Phân tích nút thất bại: {0}"

#: src/views/preference/tabs/NodeSettings.vue:15
msgid "Node name"
msgstr "Tên nút"

#: src/views/preference/tabs/NodeSettings.vue:11
msgid "Node Secret"
msgstr "Bí mật nút"

#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:24
msgid "Node Status"
msgstr "Trạng thái nút"

#: src/routes/modules/nodes.ts:11 src/views/dashboard/Nodes.vue:89
#: src/views/node/Node.vue:130
msgid "Nodes"
msgstr "Nút"

#: src/views/certificate/CertificateList/certColumns.tsx:107
msgid "Not After"
msgstr "Không phải sau khi"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:587
msgid "Not Expected Text"
msgstr "Văn bản không mong muốn"

#: src/routes/modules/error.ts:8
msgid "Not Found"
msgstr "Không tìm thấy"

#: src/views/nginx_log/NginxLogList.vue:233
msgid "Not Indexed"
msgstr "Chưa được lập chỉ mục"

#: src/views/dashboard/components/ModulesTable.vue:80
#: src/views/dashboard/components/ModulesTable.vue:84
msgid "Not Loaded"
msgstr "Chưa tải"

#: src/views/dns/DDNSManager.vue:191
msgid "Not run yet"
msgstr "Chưa được chạy"

#: src/components/AutoCertForm/AutoCertForm.vue:230
msgid "Not supported for IP certificates"
msgstr "Không hỗ trợ cho chứng chỉ IP"

#: src/components/CertInfo/CertInfo.vue:41
msgid "Not Valid Before: %{date}"
msgstr "Không hợp lệ trước: %{date}"

#: src/components/AutoCertForm/AutoCertForm.vue:150
#: src/views/dns/DNSCredential.vue:89
msgid "Note"
msgstr "Ghi chú"

#: src/views/site/site_edit/components/RightPanel/Basic.vue:66
#: src/views/stream/components/RightPanel/Basic.vue:61
msgid ""
"Note, if the configuration file include other configurations or "
"certificates, please synchronize them to the remote nodes in advance."
msgstr ""
"Lưu ý, nếu tệp cấu hình bao gồm các cấu hình hoặc chứng chỉ khác, vui lòng "
"đồng bộ chúng với các nút từ xa trước."

#: src/views/dashboard/components/SiteHealthCheckModal.vue:603
msgid ""
"Note: If the server does not support gRPC Reflection, health checks may "
"fail. Please ensure your gRPC server has Reflection enabled."
msgstr ""
"Lưu ý: Nếu máy chủ không hỗ trợ gRPC Reflection, việc kiểm tra tình trạng "
"có thể thất bại. Hãy đảm bảo rằng máy chủ gRPC của bạn đã bật Reflection."

#: src/views/certificate/components/CertificateBasicInfo.vue:24
#: src/views/certificate/components/CertificateContentEditor.vue:105
msgid "Nothing to copy"
msgstr "Không có gì để sao chép"

#: src/views/notification/Notification.vue:28
msgid "Notification"
msgstr "Thông báo"

#: src/components/Notification/Notification.vue:113
#: src/routes/modules/notifications.ts:10
msgid "Notifications"
msgstr "Thông báo"

#: src/constants/errors/notification.ts:2
msgid "Notifier not found"
msgstr "Không tìm thấy trình thông báo"

#: src/views/preference/components/ExternalNotify/ntfy.ts:5
msgid "Ntfy"
msgstr "Ntfy"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26
msgid "Number of concurrent worker processes, auto sets to CPU core count"
msgstr "Số lượng tiến trình worker đồng thời, tự động đặt theo số lõi CPU"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:314
msgid "Number of files processed by cache loader at once"
msgstr "Số lượng tệp được xử lý bởi bộ nạp bộ đệm cùng một lúc"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:252
msgid "Number of files processed by cache manager at once"
msgstr "Số lượng tệp được xử lý bởi trình quản lý bộ nhớ đệm cùng một lúc"

#: src/composables/usePerformanceMetrics.ts:129
#: src/composables/usePerformanceMetrics.ts:169
#: src/views/dashboard/components/PerformanceTablesCard.vue:121
#: src/views/dashboard/components/PerformanceTablesCard.vue:85
msgid "Number of worker processes"
msgstr "Số lượng tiến trình worker"

#: src/constants/errors/cert.ts:23
msgid "Obtain cert error: {0}"
msgstr "Lỗi khi lấy chứng chỉ: {0}"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:188
msgid "Obtain certificate"
msgstr "Nhận chứng chỉ"

#: src/language/constants.ts:15
msgid "Obtaining certificate"
msgstr "Đang nhận chứng chỉ"

#: src/components/AutoCertForm/AutoCertForm.vue:258
msgid "OCSP Must Staple"
msgstr "OCSP Must Staple"

#: src/components/AutoCertForm/AutoCertForm.vue:262
msgid ""
"OCSP Must Staple may cause errors for some users on first access using "
"Firefox."
msgstr ""
"OCSP Must Staple có thể gây ra lỗi cho một số người dùng khi truy cập lần "
"đầu bằng Firefox."

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164
msgid "Off"
msgstr "Tắt"

#: src/views/system/About.vue:31
msgid "Official Document"
msgstr "Tài liệu chính thức"

#: src/components/NamespaceTabs/NamespaceTabs.vue:164
#: src/components/NodeCard/NodeCard.vue:51
#: src/components/NodeSelector/NodeSelector.vue:85
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:48
#: src/views/dashboard/Nodes.vue:117 src/views/node/nodeColumns.tsx:55
#: src/views/upstream/SocketList.vue:45
msgid "Offline"
msgstr "Ngoại tuyến"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:248
msgid "Offline GeoIP analysis"
msgstr "Phân tích GeoIP ngoại tuyến"

#: src/views/other/Login.vue:331
msgid "OIDC Login"
msgstr "Đăng nhập OIDC"

#: src/components/LLM/ChatMessageInput.vue:62
#: src/components/NgxConfigEditor/NgxServer.vue:60
#: src/components/NgxConfigEditor/NgxUpstream.vue:31
#: src/components/Notification/Notification.vue:116 src/language/curd.ts:15
#: src/views/backup/components/BackupCreator.vue:149
#: src/views/notification/Notification.vue:39
#: src/views/site/components/SiteStatusSelect.vue:123
#: src/views/site/site_edit/components/Cert/IssueCert.vue:52
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:167
#: src/views/stream/components/StreamStatusSelect.vue:61
#: src/views/stream/StreamList.vue:100
msgid "OK"
msgstr "Đồng ý"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:163
msgid "On"
msgstr "Bật"

#: src/components/NamespaceTabs/NamespaceTabs.vue:164
#: src/components/NodeCard/NodeCard.vue:51
#: src/components/NodeSelector/NodeSelector.vue:65
#: src/components/NodeSelector/NodeSelector.vue:79
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:48
#: src/views/dashboard/Nodes.vue:110 src/views/node/nodeColumns.tsx:51
#: src/views/upstream/SocketList.vue:45
msgid "Online"
msgstr "Trực tuyến"

#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:32
msgid "Online Count"
msgstr "Số lượng trực tuyến"

#: src/components/SystemRestore/SystemRestoreContent.vue:204
#: src/components/SystemRestore/SystemRestoreContent.vue:287
msgid ""
"Only backups created by versions that support signed manifests can be "
"restored. Legacy backups are no longer supported."
msgstr ""
"Chỉ có thể khôi phục các bản sao lưu được tạo bởi các phiên bản hỗ trợ bản "
"kê khai đã ký. Các bản sao lưu cũ không còn được hỗ trợ."

#: src/components/SystemRestore/SystemRestoreContent.vue:83
msgid "Only zip files are allowed"
msgstr "Chỉ cho phép tệp zip"

#: src/components/PortScanner/PortScannerCompact.vue:44
msgid "Open"
msgstr "Mở"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:285
msgid "Open Source Limitation"
msgstr "Hạn chế mã nguồn mở"

#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:13
msgid "Operating System"
msgstr "Hệ điều hành"

#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:36
msgid "Operating System Statistics"
msgstr "Thống kê hệ điều hành"

#: src/views/dns/components/DNSRecordForm.vue:94
msgid "Optional comment for this DNS record"
msgstr "Bình luận tùy chọn cho bản ghi DNS này"

#: src/components/TwoFA/Authorization.vue:108 src/views/other/Login.vue:366
msgid "Or"
msgstr "Hoặc"

#: src/views/certificate/components/CertificateFileUpload.vue:147
msgid "or drag file to editor below"
msgstr "hoặc kéo tệp vào trình soạn thảo bên dưới"

#: src/views/preference/components/AuthSettings/TOTP.vue:114
msgid "Or enter the secret: %{secret}"
msgstr "Hoặc nhập mã bí mật: %{secret}"

#: src/views/dashboard/SiteNavigation.vue:104
msgid "Order saved successfully"
msgstr "Đã lưu thứ tự thành công"

#: src/views/config/components/Rename.vue:70
msgid "Original name"
msgstr "Tên gốc"

#: src/views/nginx_log/structured/components/SearchFilters.vue:153
#: src/views/nginx_log/structured/StructuredLogViewer.vue:273
#: src/views/nginx_log/structured/StructuredLogViewer.vue:524
#: src/views/system/Upgrade.vue:194
msgid "OS"
msgstr "Hệ điều hành"

#: src/views/dashboard/ServerAnalytic.vue:194
msgid "OS:"
msgstr "Hệ điều hành:"

#: src/composables/usePerformanceMetrics.ts:144
#: src/views/dashboard/components/PerformanceTablesCard.vue:100
msgid "Other Nginx processes"
msgstr "Các tiến trình Nginx khác"

#: src/composables/usePerformanceMetrics.ts:58
#: src/views/dashboard/components/ProcessDistributionCard.vue:15
msgid "Other Processes"
msgstr "Các tiến trình khác"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
msgid "Others"
msgstr "Khác"

#: src/constants/errors/user.ts:9
msgid "Otp or recovery code empty"
msgstr "OTP hoặc mã khôi phục trống"

#: src/views/config/components/ConfigRightPanel/Deploy.vue:18
msgid "Overwrite"
msgstr "Ghi đè"

#: src/views/config/components/ConfigRightPanel/Deploy.vue:22
msgid "Overwrite exist file"
msgstr "Ghi đè tập tin đã tồn tại"

#: src/views/preference/tabs/AppSettings.vue:14
msgid "Page Size"
msgstr "Kích thước trang"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:77
msgid "Params"
msgstr "Tham số"

#: src/views/dashboard/components/ParamsOptimization.vue:110
#: src/views/dashboard/components/ParamsOptimization.vue:116
msgid "Params Optimization"
msgstr "Tối ưu hóa tham số"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:73
msgid "Parser Performance"
msgstr "Hiệu suất phân tích"

#: src/views/preference/components/AuthSettings/Passkey.vue:60
msgid "Passkey"
msgstr "Khóa truy cập"

#: src/views/preference/components/AuthSettings/Passkey.vue:63
msgid ""
"Passkeys are webauthn credentials that validate your identity using touch, "
"facial recognition, a device password, or a PIN. They can be used as a "
"password replacement or as a 2FA method."
msgstr ""
"Passkey là thông tin xác thực WebAuthn dùng để xác minh danh tính của bạn "
"thông qua chạm, nhận diện khuôn mặt, mật khẩu thiết bị hoặc mã PIN. Chúng "
"có thể được sử dụng để thay thế mật khẩu hoặc làm phương thức xác thực hai "
"yếu tố (2FA)."

#: src/views/other/Login.vue:308 src/views/user/userColumns.tsx:16
msgid "Password"
msgstr "Mật khẩu"

#: src/views/install/components/InstallForm.vue:105
msgid "Password (*)"
msgstr "Mật khẩu (*)"

#: src/constants/errors/user.ts:2
msgid "Password incorrect"
msgstr "Mật khẩu không đúng"

#: src/views/install/components/InstallForm.vue:49
msgid "Password length cannot exceed 20 characters"
msgstr "Độ dài mật khẩu không được vượt quá 20 ký tự"

#: src/views/user/UserProfile.vue:91
msgid "Password updated successfully"
msgstr "Cập nhật mật khẩu thành công"

#: src/views/user/UserProfile.vue:70
msgid "Passwords do not match"
msgstr "Mật khẩu không khớp"

#: src/components/NgxConfigEditor/LocationEditor.vue:122
#: src/components/NgxConfigEditor/LocationEditor.vue:150
#: src/language/curd.ts:61
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/dashboard/components/SiteHealthCheckModal.vue:527
#: src/views/nginx_log/NginxLogList.vue:164
#: src/views/nginx_log/structured/StructuredLogViewer.vue:520
msgid "Path"
msgstr "Đường dẫn"

#: src/constants/errors/backup.ts:72
msgid "Path not in granted access paths: {0}"
msgstr "Đường dẫn không nằm trong các đường dẫn truy cập được cấp: {0}"

#: src/constants/errors/cert.ts:7 src/constants/errors/config.ts:6
msgid "Path: {0} is not under the nginx conf dir: {1}"
msgstr "Đường dẫn: {0} không nằm trong thư mục cấu hình nginx: {1}"

#: src/constants/errors/cert.ts:6
msgid "Payload resource is nil"
msgstr "Tài nguyên tải trọng là nil"

#: src/views/nginx_log/dashboard/components/SummaryStats.vue:42
msgid "Peak Hour"
msgstr "Giờ cao điểm"

#: src/views/backup/AutoBackup/AutoBackup.vue:194
#: src/views/backup/AutoBackup/AutoBackup.vue:219
msgid "Pending"
msgstr "Đang chờ"

#: src/composables/useGeoTranslation.ts:168
#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:26
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:152
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:72
#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:25
#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:26
#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:27
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:117
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:220
msgid "Percentage"
msgstr "Phần trăm"

#: src/views/node/BatchUpgrader.vue:246
msgid "Perform"
msgstr "Thực hiện"

#: src/language/constants.ts:29
msgid "Perform core upgrade error"
msgstr "Nâng cấp core không thành công"

#: src/views/dashboard/components/ParamsOptimization.vue:122
msgid "Performance"
msgstr "Hiệu suất"

#: src/views/dashboard/NginxDashBoard.vue:207
msgid "Performance Metrics"
msgstr "Chỉ số hiệu suất"

#: src/views/dashboard/components/ParamsOptimization.vue:87
msgid "Performance settings saved successfully"
msgstr "Đã lưu cài đặt hiệu suất thành công"

#: src/language/constants.ts:28
msgid "Performing core upgrade"
msgstr "Nâng cấp core"

#: src/views/user/UserProfile.vue:116
msgid "Personal Information"
msgstr "Thông tin cá nhân"

#: src/constants/errors/self_check.ts:19
msgid "PID path not exist"
msgstr "Đường dẫn PID không tồn tại"

#: src/constants/errors/crypto.ts:2
msgid "Plain text is empty"
msgstr "Văn bản thuần túy trống"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:373
#: src/views/site/site_edit/components/RightPanel/DNS.vue:667
msgid "Please add a DNS domain first in the DNS management section."
msgstr "Vui lòng thêm tên miền DNS trước trong phần quản lý DNS"

#: src/views/install/components/InstallView.vue:133
msgid "Please complete the system check first"
msgstr "Vui lòng hoàn thành kiểm tra hệ thống trước"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:446
msgid ""
"Please configure server_name directive in the configuration before linking "
"DNS records."
msgstr ""
"Vui lòng cấu hình chỉ thị server_name trong cấu hình trước khi liên kết các "
"bản ghi DNS."

#: src/components/AutoCertForm/DNSChallenge.vue:131
msgid "Please create DNS credentials first in DNS > Credentials"
msgstr "Vui lòng tạo thông tin xác thực DNS trước trong DNS > Thông tin xác thực"

#: src/views/dashboard/NginxDashBoard.vue:196
msgid ""
"Please enable the stub_status module to get request statistics, connection "
"count, etc."
msgstr ""
"Vui lòng bật module stub_status để nhận thống kê yêu cầu, số lượng kết nối, "
"v.v."

#: src/language/curd.ts:67
msgid "Please enter"
msgstr "Vui lòng nhập"

#: src/views/certificate/CertificateEditor.vue:71
#: src/views/certificate/components/DNSIssueCertificate.vue:124
#: src/views/certificate/components/SelfSignedCertForm.vue:47
msgid "Please enter a name for the certificate"
msgstr "Vui lòng nhập tên cho chứng chỉ"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:75
msgid ""
"Please enter a name for the passkey you wish to create and click the OK "
"button below."
msgstr ""
"Vui lòng nhập tên cho khóa truy cập bạn muốn tạo và nhấp vào nút OK bên "
"dưới."

#: src/components/AutoCertForm/AutoCertForm.vue:98
msgid "Please enter a valid IPv4 address (0-255 per octet)"
msgstr "Vui lòng nhập địa chỉ IPv4 hợp lệ (0-255 mỗi octet)"

#: src/components/AutoCertForm/AutoCertForm.vue:109
msgid "Please enter a valid IPv4 or IPv6 address"
msgstr "Vui lòng nhập địa chỉ IPv4 hoặc IPv6 hợp lệ"

#: src/components/PortScanner/PortScannerCompact.vue:85
msgid "Please enter a valid port range"
msgstr "Vui lòng nhập một phạm vi cổng hợp lệ"

#: src/views/certificate/components/DNSIssueCertificate.vue:96
msgid "Please enter at least one domain"
msgstr "Vui lòng nhập ít nhất một tên miền"

#: src/views/certificate/CertificateEditor.vue:75
#: src/views/certificate/components/DNSIssueCertificate.vue:128
#: src/views/certificate/components/SelfSignedCertForm.vue:51
msgid "Please enter at least one domain or IP address"
msgstr "Vui lòng nhập ít nhất một tên miền hoặc địa chỉ IP"

#: src/views/install/components/InstallView.vue:121
msgid "Please enter the install secret before continuing"
msgstr "Vui lòng nhập mật khẩu cài đặt trước khi tiếp tục"

#: src/components/TwoFA/Authorization.vue:93
msgid "Please enter the OTP code:"
msgstr "Vui lòng nhập mã OTP:"

#: src/components/SystemRestore/SystemRestoreContent.vue:117
msgid "Please enter the security token"
msgstr "Vui lòng nhập mã bảo mật"

#: src/components/SystemRestore/SystemRestoreContent.vue:236
#: src/components/SystemRestore/SystemRestoreContent.vue:319
msgid "Please enter the security token received during backup"
msgstr "Vui lòng nhập mã bảo mật nhận được trong quá trình sao lưu"

#: src/components/AutoCertForm/AutoCertForm.vue:80
msgid "Please enter the server IP address"
msgstr "Vui lòng nhập địa chỉ IP của máy chủ"

#: src/language/curd.ts:24
msgid "Please fill all fields correctly"
msgstr "Vui lòng điền đầy đủ và chính xác tất cả các trường"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:193
#: src/views/site/site_edit/components/RightPanel/DNS.vue:320
msgid "Please fill in all required fields"
msgstr "Vui lòng điền đầy đủ các trường bắt buộc"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:23
msgid "Please fill in required S3 configuration fields"
msgstr "Vui lòng điền vào các trường cấu hình S3 bắt buộc"

#: src/views/dns/DNSCredential.vue:93
msgid ""
"Please fill in the API authentication credentials provided by your DNS "
"provider."
msgstr "Vui lòng điền thông tin xác thực API do nhà cung cấp DNS của bạn cung cấp"

#: src/components/AutoCertForm/AutoCertForm.vue:168
msgid ""
"Please first add credentials in Certification > DNS Credentials, and then "
"select one of the credentialsbelow to request the API of the DNS provider."
msgstr ""
"Trước tiên, vui lòng thêm thông tin xác thực trong Chứng chỉ > Thông tin "
"xác thực DNS, sau đó chọn nhà cung cấp DNS"

#: src/components/Notification/notifications.ts:202
#: src/language/constants.ts:59
msgid ""
"Please generate new recovery codes in the preferences immediately to "
"prevent lockout."
msgstr ""
"Vui lòng tạo mã khôi phục mới trong phần tùy chọn ngay lập tức để tránh bị "
"khóa."

#: src/views/config/components/ConfigRightPanel/Basic.vue:27
#: src/views/config/components/Rename.vue:65
msgid "Please input a filename"
msgstr "Vui lòng nhập tên tệp"

#: src/views/config/components/Mkdir.vue:56
msgid "Please input a folder name"
msgstr "Vui lòng nhập tên thư mục"

#: src/views/stream/components/StreamDuplicate.vue:25
msgid ""
"Please input name, this will be used as the filename of the new "
"configuration!"
msgstr "Vui lòng nhập tên, tên này sẽ được sử dụng làm tên tệp của cấu hình mới!"

#: src/views/site/site_list/SiteDuplicate.vue:33
msgid ""
"Please input name, this will be used as the filename of the new "
"configuration."
msgstr "Vui lòng nhập tên, tên này sẽ được sử dụng làm tên tệp cho cấu hình mới."

#: src/views/install/components/InstallForm.vue:29
msgid "Please input your E-mail!"
msgstr "Vui lòng nhập E-mail của bạn!"

#: src/views/install/components/InstallForm.vue:45 src/views/other/Login.vue:80
msgid "Please input your password!"
msgstr "Vui lòng nhập mật khẩu!"

#: src/views/install/components/InstallForm.vue:35 src/views/other/Login.vue:74
msgid "Please input your username!"
msgstr "Vui lòng nhập username!"

#: src/views/backup/components/SystemRestore.vue:9
#: src/views/install/components/InstallView.vue:60
msgid "Please log in."
msgstr "Vui lòng đăng nhập."

#: src/views/dns/DNSCredential.vue:96
msgid "Please note that the unit of time configurations below are all in seconds."
msgstr "Lưu ý đơn vị cấu hình thời gian bên dưới được tính bằng giây."

#: src/views/install/components/InstallView.vue:136
msgid "Please resolve all issues before proceeding with installation"
msgstr "Vui lòng giải quyết tất cả các vấn đề trước khi tiến hành cài đặt"

#: src/views/backup/components/BackupCreator.vue:107
msgid "Please save this security token, you will need it for restoration:"
msgstr "Vui lòng lưu token bảo mật này, bạn sẽ cần nó để khôi phục:"

#: src/components/SystemRestore/SystemRestoreContent.vue:112
msgid "Please select a backup file"
msgstr "Vui lòng chọn tệp sao lưu"

#: src/views/site/site_edit/components/SiteEditor/store.ts:144
msgid "Please select a certificate before saving the TLS server configuration."
msgstr "Vui lòng chọn chứng chỉ trước khi lưu cấu hình máy chủ TLS."

#: src/views/certificate/components/DNSIssueCertificate.vue:89
msgid "Please select a DNS credential"
msgstr "Vui lòng chọn thông tin xác thực DNS"

#: src/views/preference/components/ExternalNotify/ExternalNotifyEditor.vue:42
msgid "Please select a notification type"
msgstr "Vui lòng chọn loại thông báo"

#: src/views/certificate/components/CertificateFileUpload.vue:46
msgid "Please select a valid %{type} file (%{extensions})"
msgstr "Vui lòng chọn tệp %{type} hợp lệ (%{extensions})"

#: src/language/curd.ts:33
msgid "Please select at least one item"
msgstr "Vui lòng chọn ít nhất một mục"

#: src/views/node/Node.vue:200 src/views/node/Node.vue:82
msgid "Please select at least one node to reload Nginx"
msgstr "Vui lòng chọn ít nhất một nút để tải lại Nginx"

#: src/views/node/Node.vue:221 src/views/node/Node.vue:96
msgid "Please select at least one node to restart Nginx"
msgstr "Vui lòng chọn ít nhất một nút để khởi động lại Nginx"

#: src/views/node/Node.vue:179
msgid "Please select at least one node to upgrade"
msgstr "Vui lòng chọn ít nhất một nút để nâng cấp"

#: src/views/site/site_list/SiteList.vue:79
msgid "Please select at least one site to disable"
msgstr "Vui lòng chọn ít nhất một trang web để vô hiệu hóa"

#: src/views/site/site_list/SiteList.vue:78
msgid "Please select at least one site to enable"
msgstr "Vui lòng chọn ít nhất một site để kích hoạt"

#: src/views/certificate/components/RemoveCert.vue:37
msgid "Please type \"Revoke\" to confirm"
msgstr "Vui lòng nhập \"Thu hồi\" để xác nhận"

#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "Vui lòng nhập chính xác văn bản xác nhận"

#: src/views/install/components/InstallView.vue:129
msgid "Please verify the install secret before continuing"
msgstr "Vui lòng xác minh mật khẩu cài đặt trước khi tiếp tục"

#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
msgstr "Cổng"

#: src/components/AutoCertForm/AutoCertForm.vue:199
msgid "Port 80 must be open for HTTP-01 challenge validation"
msgstr "Cổng 80 phải được mở để xác thực thử thách HTTP-01"

#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:60
#: src/views/stream/components/RightPanel/RightPanel.vue:37
msgid "Port Scanner"
msgstr "Trình quét cổng"

#: src/components/NamespaceRender/NamespaceRender.vue:38
#: src/views/namespace/columns.ts:46
msgid "Post-sync Action"
msgstr "Hành động sau đồng bộ"

#: src/views/node/BatchUpgrader.vue:169 src/views/node/BatchUpgrader.vue:225
#: src/views/system/Upgrade.vue:213 src/views/system/Upgrade.vue:267
msgid "Pre-release"
msgstr "Bản phát hành trước"

#: src/routes/modules/preference.ts:10 src/views/preference/Preference.vue:42
msgid "Preference"
msgstr "Cài đặt"

#: src/language/constants.ts:8
msgid "Preparing lego configurations"
msgstr "Chuẩn bị cấu hình Lego"

#: src/views/dns/components/DNSRecordForm.vue:82
#: src/views/dns/components/DNSRecordTable.vue:34
msgid "Priority"
msgstr "Ưu tiên"

#: src/components/AutoCertForm/AutoCertForm.vue:206
msgid "Private CA:"
msgstr "CA riêng:"

#: src/components/AutoCertForm/AutoCertForm.vue:202
msgid "Private IPs (192.168.x.x, 10.x.x.x, 172.16-31.x.x) will fail"
msgstr "IP riêng (192.168.x.x, 10.x.x.x, 172.16-31.x.x) sẽ thất bại"

#: src/views/certificate/components/CertificateFileUpload.vue:121
#: src/views/certificate/components/CertificateFileUpload.vue:45
msgid "private key"
msgstr "khóa riêng tư"

#: src/components/PortScanner/PortScannerCompact.vue:55
msgid "Process"
msgstr "Quá trình"

#: src/views/dashboard/components/ProcessDistributionCard.vue:26
msgid "Process Distribution"
msgstr "Phân bổ quy trình"

#: src/views/dashboard/components/PerformanceTablesCard.vue:155
msgid "Process information"
msgstr "Thông tin tiến trình"

#: src/language/curd.ts:60
msgid "Processing {count}/{total}"
msgstr "Đang xử lý {count}/{total}"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:68
msgid "Production Pipeline"
msgstr "Quy trình sản xuất"

#: src/language/constants.ts:3
msgid "Prohibit changing root password in demo"
msgstr "Cấm thay đổi mật khẩu root trong demo"

#: src/language/constants.ts:4
msgid "Prohibit deleting the default user"
msgstr "Cấm xóa người dùng mặc định"

#: src/views/system/About.vue:71
msgid "Project Team"
msgstr "Đội ngũ phát triển"

#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "Thư mục được bảo vệ"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:485
msgid "Protocol"
msgstr "Giao thức"

#: src/views/preference/tabs/ServerSettings.vue:47
msgid ""
"Protocol configuration only takes effect when directly connecting. If using "
"reverse proxy, please configure the protocol separately in the reverse "
"proxy."
msgstr ""
"Cấu hình giao thức chỉ có hiệu lực khi kết nối trực tiếp. Nếu sử dụng proxy "
"ngược, vui lòng cấu hình giao thức riêng trong proxy ngược."

#: src/views/dns/DDNSManager.vue:159 src/views/dns/DNSCredential.vue:26
#: src/views/dns/DNSDomainList.vue:229
#: src/views/preference/tabs/OpenAISettings.vue:70
msgid "Provider"
msgstr "Nhà cung cấp"

#: src/constants/errors/cert.ts:13
msgid "Provider not found: {0}"
msgstr "Không tìm thấy nhà cung cấp: {0}"

#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:59
msgid "Province / Region"
msgstr "Tỉnh / Vùng"

#: src/views/dns/components/DNSRecordForm.vue:88
#: src/views/dns/components/DNSRecordTable.vue:64
#: src/views/dns/components/DNSRecordTable.vue:94
#: src/views/site/site_add/components/DNSRecordIntegration.vue:296
#: src/views/site/site_edit/components/RightPanel/DNS.vue:475
#: src/views/site/site_edit/components/RightPanel/DNS.vue:590
msgid "Proxied"
msgstr "Được proxy"

#: src/views/certificate/ACMEUser.vue:54
msgid "Proxy"
msgstr "Proxy"

#: src/composables/useUpstreamStatus.ts:122
msgid "Proxy Pass"
msgstr "Chuyển tiếp Proxy"

#: src/views/site/site_list/columns.tsx:78 src/views/stream/columns.tsx:46
msgid "Proxy Targets"
msgstr "Mục tiêu proxy"

#: src/components/AutoCertForm/AutoCertForm.vue:192
msgid "Public CA Requirements:"
msgstr "Yêu cầu của CA công cộng:"

#: src/views/preference/tabs/NodeSettings.vue:46
msgid "Public Security Number"
msgstr "Số An ninh Công cộng"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:769
msgid "PV"
msgstr "Lượt xem trang"

#: src/views/nginx_log/NginxLogList.vue:214
#: src/views/nginx_log/NginxLogList.vue:215
#: src/views/nginx_log/NginxLogList.vue:237
msgid "Queued"
msgstr "Đang xếp hàng"

#: src/views/nginx_log/components/LoadingState.vue:48
msgid "Queued for indexing..."
msgstr "Đang xếp hàng để lập chỉ mục..."

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:51
#: src/views/nginx_log/structured/StructuredLogViewer.vue:708
msgid "Quick Select"
msgstr "Chọn nhanh"

#: src/views/nginx_log/NginxLog.vue:94
msgid "Raw"
msgstr "Thô"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:196
msgid "Re-download Database"
msgstr "Tải lại cơ sở dữ liệu"

#: src/constants/errors/site.ts:8 src/constants/errors/stream.ts:7
msgid "Read dir failed: {0}"
msgstr "Đọc thư mục thất bại: {0}"

#: src/composables/usePerformanceMetrics.ts:104
#: src/views/dashboard/components/PerformanceTablesCard.vue:64
msgid "Read requests"
msgstr "Yêu cầu đọc"

#: src/views/dashboard/ServerAnalytic.vue:37
#: src/views/dashboard/ServerAnalytic.vue:391
msgid "Reads"
msgstr "Đọc"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:244
msgid "Real-time analytics dashboard"
msgstr "Bảng điều khiển phân tích thời gian thực"

#: src/views/nginx_log/NginxLogList.vue:501
msgid "Rebuild"
msgstr "Xây dựng lại"

#: src/views/nginx_log/indexing/IndexManagement.vue:94
msgid "Rebuild All Index"
msgstr "Xây dựng lại tất cả chỉ mục"

#: src/views/nginx_log/indexing/IndexManagement.vue:55
msgid "Rebuild File Index"
msgstr "Xây dựng lại chỉ mục tệp"

#: src/views/nginx_log/indexing/IndexManagement.vue:29
msgid "Rebuild Index"
msgstr "Xây dựng lại chỉ mục"

#: src/views/dashboard/ServerAnalytic.vue:342
#: src/views/dashboard/ServerAnalytic.vue:35
msgid "Receive"
msgstr "Nhận"

#: src/components/SelfCheck/SelfCheck.vue:64
msgid "Recheck"
msgstr "Kiểm tra lại"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:150
msgid "Recommended:"
msgstr "Đề xuất:"

#: src/views/dns/DNSRecordManager.vue:118
msgid "Record created"
msgstr "Đã tạo bản ghi"

#: src/views/dns/DNSRecordManager.vue:125
msgid "Record deleted"
msgstr "Đã xóa bản ghi"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:325
#: src/views/site/site_edit/components/RightPanel/DNS.vue:619
msgid "Record Name"
msgstr "Tên bản ghi"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:311
#: src/views/site/site_edit/components/RightPanel/DNS.vue:605
msgid "Record Type"
msgstr "Loại bản ghi"

#: src/views/dns/DNSRecordManager.vue:114
msgid "Record updated"
msgstr "Bản ghi đã được cập nhật"

#: src/views/dns/DDNSManager.vue:403
msgid "Records"
msgstr "Bản ghi"

#: src/components/TwoFA/Authorization.vue:87
msgid "Recovery"
msgstr "Khôi phục"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:69
msgid "Recovery Codes"
msgstr "Mã khôi phục"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:74
msgid ""
"Recovery codes are used to access your account when you lose access to your "
"2FA device. Each code can only be used once."
msgstr ""
"Mã khôi phục được sử dụng để truy cập vào tài khoản của bạn khi bạn mất "
"quyền truy cập vào thiết bị 2FA. Mỗi mã chỉ có thể sử dụng một lần."

#: src/views/site/site_edit/components/RightPanel/DNS.vue:535
msgid "Recreate DNS Record"
msgstr "Tạo lại bản ghi DNS"

#: src/views/preference/tabs/CertSettings.vue:46
msgid "Recursive Nameservers"
msgstr "Máy chủ tên đệ quy"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:100
msgid "Redirection Messages (3xx)"
msgstr "Thông điệp chuyển hướng (3xx)"

#: src/views/nginx_log/structured/components/SearchFilters.vue:185
#: src/views/nginx_log/structured/StructuredLogViewer.vue:299
msgid "Referer"
msgstr "Người giới thiệu"

#: src/language/curd.ts:70 src/views/dns/DDNSManager.vue:304
#: src/views/dns/DNSRecordManager.vue:170
msgid "Refresh"
msgstr "Làm mới"

#: src/views/dashboard/components/ModulesTable.vue:114
msgid "Refresh Modules Cache"
msgstr "Làm mới bộ nhớ đệm mô-đun"

#: src/components/LLM/ChatMessageInput.vue:74
msgid "Regenerate response"
msgstr "Tạo lại câu trả lời"

#: src/views/certificate/ACMEUser.vue:165
msgid "Register"
msgstr "Đăng ký"

#: src/views/certificate/ACMEUser.vue:59
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr ""
"Đăng ký người dùng hoặc sử dụng tài khoản này để cấp chứng chỉ thông qua "
"proxy HTTP."

#: src/views/certificate/ACMEUser.vue:133
msgid "Register failed"
msgstr "Đăng ký thất bại"

#: src/views/certificate/ACMEUser.vue:104
msgid "Register On Startup"
msgstr "Đăng ký khi khởi động"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:27
msgid "Register passkey successfully"
msgstr "Đăng ký khóa truy cập thành công"

#: src/views/certificate/ACMEUser.vue:131
msgid "Register successfully"
msgstr "Đăng ký thành công"

#: src/language/constants.ts:14
msgid "Registering user"
msgstr "Đăng ký người dùng"

#: src/views/certificate/ACMEUser.vue:148
msgid "Registration Status"
msgstr "Trạng thái đăng ký"

#: src/views/system/Upgrade.vue:152
msgid "Reinstall"
msgstr "Cài đặt lại"

#: src/constants/errors/version.ts:3
msgid "Release API request failed: {0}"
msgstr "Yêu cầu API phát hành không thành công: {0}"

#: src/views/system/Upgrade.vue:271
msgid "Release Note"
msgstr "Ghi chú phát hành"

#: src/components/LLM/ChatMessage.vue:251
#: src/components/NginxControl/NginxControl.vue:103
msgid "Reload"
msgstr "Tải lại"

#: src/components/NamespaceRender/NamespaceRender.vue:44
#: src/components/NamespaceTabs/NamespaceTabs.vue:141 src/constants/index.ts:39
#: src/views/node/Node.vue:208 src/views/node/Node.vue:216
msgid "Reload Nginx"
msgstr "Tải lại Nginx"

#: src/constants/errors/nginx.ts:4
msgid "Reload nginx failed: {0}"
msgstr "Tải lại nginx thất bại: {0}"

#: src/components/Notification/notifications.ts:10
msgid "Reload Nginx on %{node} failed, response: %{resp}"
msgstr "Tải lại Nginx trên %{node} thất bại, phản hồi: %{resp}"

#: src/components/Notification/notifications.ts:14
msgid "Reload Nginx on %{node} successfully"
msgstr "Tải lại Nginx trên %{node} thành công"

#: src/components/Notification/notifications.ts:9
msgid "Reload Remote Nginx Error"
msgstr "Lỗi tải lại Nginx từ xa"

#: src/components/Notification/notifications.ts:13
msgid "Reload Remote Nginx Success"
msgstr "Tải lại Nginx từ xa thành công"

#: src/components/NamespaceTabs/NamespaceTabs.vue:85
msgid "Reload request failed, please check your network connection"
msgstr "Yêu cầu tải lại thất bại, vui lòng kiểm tra kết nối mạng của bạn"

#: src/components/NginxControl/NginxControl.vue:77
msgid "Reloading"
msgstr "Đang tải lại"

#: src/language/constants.ts:18
msgid "Reloading nginx"
msgstr "Tải lại nginx"

#: src/constants/index.ts:44 src/constants/index.ts:50
msgid "Remote"
msgstr "Từ xa"

#: src/components/StringListInput/StringListInput.vue:38
#: src/components/StringListInput/StringListInput.vue:41
#: src/views/preference/tabs/AuthSettings.vue:133
msgid "Remove"
msgstr "Xóa"

#: src/views/preference/components/AuthSettings/Passkey.vue:47
#: src/views/preference/tabs/AuthSettings.vue:48
msgid "Remove successfully"
msgstr "Xóa thành công"

#: src/views/dns/DDNSManager.vue:243
msgid "Removed %{count} conflicting record(s): %{names}"
msgstr "Đã xóa %{count} bản ghi xung đột: %{names}"

#: src/components/Notification/Notification.vue:84
msgid "Removed successfully"
msgstr "Đã xóa thành công"

#: src/components/LLM/LLMSessionTabs.vue:283
#: src/components/LLM/LLMSessionTabs.vue:374
#: src/components/NgxConfigEditor/NgxUpstream.vue:75
#: src/views/config/components/ConfigName.vue:50
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
msgstr "Đổi tên"

#: src/components/Notification/notifications.ts:86
msgid "Rename %{orig_path} to %{new_path} on %{node_name} failed"
msgstr "Đổi tên %{orig_path} thành %{new_path} trên %{node_name} thất bại"

#: src/components/Notification/notifications.ts:90
msgid "Rename %{orig_path} to %{new_path} on %{node_name} successfully"
msgstr "Đã đổi tên %{orig_path} thành %{new_path} trên %{node_name} thành công"

#: src/components/Notification/notifications.ts:85 src/language/constants.ts:42
msgid "Rename Remote Config Error"
msgstr "Lỗi đổi tên cấu hình từ xa"

#: src/components/Notification/notifications.ts:89 src/language/constants.ts:41
msgid "Rename Remote Config Success"
msgstr "Đổi tên cấu hình từ xa thành công"

#: src/components/Notification/notifications.ts:145
#: src/language/constants.ts:56
msgid "Rename Remote Site Error"
msgstr "Lỗi đổi tên trang từ xa"

#: src/components/Notification/notifications.ts:149
#: src/language/constants.ts:55
msgid "Rename Remote Site Success"
msgstr "Đổi tên trang từ xa thành công"

#: src/components/Notification/notifications.ts:185
msgid "Rename Remote Stream Error"
msgstr "Lỗi đổi tên luồng từ xa"

#: src/components/Notification/notifications.ts:189
msgid "Rename Remote Stream Success"
msgstr "Đổi tên luồng từ xa thành công"

#: src/components/Notification/notifications.ts:146
msgid "Rename site %{name} to %{new_name} on %{node} failed"
msgstr "Đổi tên trang web %{name} thành %{new_name} trên %{node} thất bại"

#: src/components/Notification/notifications.ts:150
msgid "Rename site %{name} to %{new_name} on %{node} successfully"
msgstr "Đã đổi tên trang web %{name} thành %{new_name} trên %{node} thành công"

#: src/components/Notification/notifications.ts:186
msgid "Rename stream %{name} to %{new_name} on %{node} failed"
msgstr "Đổi tên luồng %{name} thành %{new_name} trên %{node} thất bại"

#: src/components/Notification/notifications.ts:190
msgid "Rename stream %{name} to %{new_name} on %{node} successfully"
msgstr "Đổi tên luồng %{name} thành %{new_name} trên %{node} thành công"

#: src/views/config/components/Rename.vue:43
msgid "Rename successfully"
msgstr "Đổi tên thành công"

#: src/views/config/components/ConfigName.vue:28
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:27
#: src/views/stream/components/ConfigName.vue:27
msgid "Renamed successfully"
msgstr "Đổi tên thành công"

#: src/constants/errors/cert.ts:19
msgid "Renew cert error: {0}"
msgstr "Lỗi gia hạn chứng chỉ: {0}"

#: src/views/certificate/components/RenewCert.vue:44
#: src/views/certificate/components/RenewCert.vue:51
msgid "Renew Certificate"
msgstr "Gia hạn chứng chỉ"

#: src/components/Notification/notifications.ts:45 src/language/constants.ts:36
msgid "Renew Certificate Error"
msgstr "Lỗi gia hạn chứng chỉ"

#: src/components/Notification/notifications.ts:41 src/language/constants.ts:35
msgid "Renew Certificate Success"
msgstr "Gia hạn chứng chỉ thành công"

#: src/views/certificate/components/RenewCert.vue:26
msgid "Renew successfully"
msgstr "Gia hạn thành công"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:218
msgid "Request"
msgstr "Yêu cầu"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:553
msgid "Request Body"
msgstr "Nội dung Yêu cầu"

#: src/views/nginx_log/structured/components/SearchFilters.vue:122
msgid "Request Path"
msgstr "Đường dẫn yêu cầu"

#: src/views/dashboard/components/PerformanceTablesCard.vue:142
msgid "Request statistics"
msgstr "Thống kê yêu cầu"

#: src/constants/errors/crypto.ts:4
msgid "Request timeout"
msgstr "Hết thời gian yêu cầu"

#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
msgid "Requested with wrong parameters"
msgstr "Yêu cầu có chứa tham số sai"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
msgid "Requests Per Connection"
msgstr "Yêu cầu mỗi kết nối"

#: src/language/curd.ts:13 src/views/dns/components/DNSRecordFilter.vue:65
#: src/views/nginx_log/structured/components/SearchFilters.vue:214
#: src/views/nginx_log/structured/StructuredLogViewer.vue:745
msgid "Reset"
msgstr "Đặt lại"

#: src/views/preference/components/AuthSettings/TOTP.vue:95
msgid "Reset 2FA"
msgstr "Đặt lại 2FA"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:851
msgid "Reset Search"
msgstr "Đặt lại tìm kiếm"

#: src/views/dashboard/components/ResourceUsageCard.vue:53
msgid ""
"Resident Set Size: Actual memory resident in physical memory, including all "
"shared library memory, which will be repeated calculated for multiple "
"processes"
msgstr ""
"Kích thước tập hợp thường trú: Bộ nhớ thực tế thường trú trong bộ nhớ vật "
"lý, bao gồm tất cả bộ nhớ thư viện dùng chung, sẽ được tính toán lặp lại "
"cho nhiều tiến trình"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:109
msgid "Resource Usage Warning"
msgstr "Cảnh báo sử dụng tài nguyên"

#: src/composables/usePerformanceMetrics.ts:109
#: src/views/dashboard/components/PerformanceTablesCard.vue:69
msgid "Responses"
msgstr "Phản hồi"

#: src/components/NginxControl/NginxControl.vue:96
msgid "Restart"
msgstr "Khởi động lại"

#: src/components/NamespaceTabs/NamespaceTabs.vue:153
#: src/views/node/Node.vue:229 src/views/node/Node.vue:237
msgid "Restart Nginx"
msgstr "Khởi động lại Nginx"

#: src/components/Notification/notifications.ts:18
msgid "Restart Nginx on %{node} failed, response: %{resp}"
msgstr "Khởi động lại Nginx trên %{node} thất bại, phản hồi: %{resp}"

#: src/components/Notification/notifications.ts:22
msgid "Restart Nginx on %{node} successfully"
msgstr "Khởi động lại Nginx thành công trên %{node}"

#: src/components/Notification/notifications.ts:17
msgid "Restart Remote Nginx Error"
msgstr "Lỗi khởi động lại Nginx từ xa"

#: src/components/Notification/notifications.ts:21
msgid "Restart Remote Nginx Success"
msgstr "Khởi động lại Nginx từ xa thành công"

#: src/components/NamespaceTabs/NamespaceTabs.vue:105
msgid "Restart request failed, please check your network connection"
msgstr "Yêu cầu khởi động lại thất bại, vui lòng kiểm tra kết nối mạng của bạn"

#: src/components/NginxControl/NginxControl.vue:82
msgid "Restarting"
msgstr "Đang khởi động lại"

#: src/language/curd.ts:10
msgid "Restore"
msgstr "Khôi phục"

#: src/components/SystemRestore/SystemRestoreContent.vue:159
msgid "Restore completed successfully"
msgstr "Khôi phục hoàn tất thành công"

#: src/views/install/components/InstallView.vue:228
msgid "Restore from Backup"
msgstr "Khôi phục từ bản sao lưu"

#: src/components/SystemRestore/SystemRestoreContent.vue:249
#: src/components/SystemRestore/SystemRestoreContent.vue:332
msgid "Restore Nginx Configuration"
msgstr "Khôi phục cấu hình Nginx"

#: src/components/SystemRestore/SystemRestoreContent.vue:260
#: src/components/SystemRestore/SystemRestoreContent.vue:343
msgid "Restore Nginx UI Configuration"
msgstr "Khôi phục cấu hình Nginx UI"

#: src/components/ConfigHistory/DiffViewer.vue:400
#: src/components/ConfigHistory/DiffViewer.vue:413
msgid "Restore this version"
msgstr "Khôi phục phiên bản này"

#: src/language/curd.ts:30
msgid "Restored successfully"
msgstr "Khôi phục thành công"

#: src/views/certificate/components/DNSIssueCertificate.vue:259
#: src/views/certificate/components/RetryCert.vue:48
msgid "Retry"
msgstr "Thử lại"

#: src/views/certificate/components/RetryCert.vue:52
msgid "Retry Certificate Issuance"
msgstr "Thử lại cấp chứng chỉ"

#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:39
msgid "Review first"
msgstr "Xem lại trước"

#: src/views/certificate/components/RemoveCert.vue:108
#: src/views/certificate/components/RemoveCert.vue:36
msgid "Revoke"
msgstr "Thu hồi"

#: src/constants/errors/cert.ts:24
msgid "Revoke cert error: {0}"
msgstr "Lỗi thu hồi chứng chỉ: {0}"

#: src/components/AutoCertForm/AutoCertForm.vue:277
msgid "Revoke Old Certificate"
msgstr "Thu hồi chứng chỉ cũ"

#: src/views/certificate/components/RemoveCert.vue:122
msgid "Revoke this certificate"
msgstr "Thu hồi chứng chỉ này"

#: src/views/certificate/components/RemoveCert.vue:130
msgid ""
"Revoking a certificate will affect any services currently using it. This "
"action cannot be undone."
msgstr ""
"Việc thu hồi chứng chỉ sẽ ảnh hưởng đến bất kỳ dịch vụ nào hiện đang sử "
"dụng nó. Hành động này không thể hoàn tác."

#: src/views/site/site_add/components/DNSRecordIntegration.vue:356
#: src/views/site/site_edit/components/RightPanel/DNS.vue:650
msgid "Route traffic through proxy for additional protection and features"
msgstr "Định tuyến lưu lượng qua proxy để có thêm tính năng bảo vệ và chức năng"

#: src/views/preference/tabs/AuthSettings.vue:72
msgid "RP Display Name"
msgstr "Tên hiển thị RP"

#: src/views/preference/tabs/AuthSettings.vue:78
msgid "RP Origins"
msgstr "Nguồn gốc RP"

#: src/views/preference/tabs/AuthSettings.vue:66
msgid "RPID"
msgstr "RPID"

#: src/views/preference/tabs/ServerSettings.vue:25
msgid "Run Mode"
msgstr "Chế độ chạy"

#: src/components/NginxControl/NginxControl.vue:72
msgid "Running"
msgstr "Running"

#: src/views/backup/AutoBackup/AutoBackup.vue:75
#: src/views/backup/AutoBackup/AutoBackup.vue:84
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:49
msgid "S3"
msgstr "S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:83
msgid "S3 access key ID"
msgstr "ID khóa truy cập S3"

#: src/views/backup/AutoBackup/AutoBackup.vue:249
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:77
msgid "S3 Access Key ID"
msgstr "ID khóa truy cập S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:79
msgid "S3 access key ID is required"
msgstr "Yêu cầu ID khóa truy cập S3"

#: src/views/backup/AutoBackup/AutoBackup.vue:261
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:99
msgid "S3 Bucket"
msgstr "Thùng S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:101
msgid "S3 bucket is required"
msgstr "Yêu cầu phải có S3 bucket"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:105
msgid "S3 bucket name"
msgstr "Tên bucket S3"

#: src/constants/errors/backup.ts:66
msgid "S3 configuration is incomplete: missing {0}"
msgstr "Cấu hình S3 không đầy đủ: thiếu {0}"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:34
msgid "S3 connection test failed"
msgstr "Kiểm tra kết nối S3 thất bại"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:30
msgid "S3 connection test successful"
msgstr "Kiểm tra kết nối S3 thành công"

#: src/views/backup/AutoBackup/AutoBackup.vue:243
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:66
msgid "S3 Endpoint"
msgstr "Điểm cuối S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:68
msgid "S3 endpoint is required"
msgstr "Yêu cầu điểm cuối S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:72
msgid "S3 endpoint URL"
msgstr "URL điểm cuối S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:126
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:60
msgid "S3 path (e.g., backups/)"
msgstr "Đường dẫn S3 (vd: backups/)"

#: src/views/backup/AutoBackup/AutoBackup.vue:267
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:110
msgid "S3 Region"
msgstr "Vùng S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:115
msgid "S3 region (e.g., us-east-1)"
msgstr "Vùng S3 (vd: us-east-1)"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:94
msgid "S3 secret access key"
msgstr "Khóa truy cập bí mật S3"

#: src/views/backup/AutoBackup/AutoBackup.vue:255
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:88
msgid "S3 Secret Access Key"
msgstr "Khóa truy cập bí mật S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:90
msgid "S3 secret access key is required"
msgstr "Yêu cầu khóa truy cập bí mật S3"

#: src/constants/errors/backup.ts:70
msgid "S3 upload failed: {0}"
msgstr "Tải lên S3 thất bại: {0}"

#: src/components/InspectConfig/InspectConfig.vue:39
msgid "Sandbox setup failed before Nginx could validate the configuration."
msgstr ""
"Thiết lập môi trường kiểm thử thất bại trước khi Nginx có thể xác thực cấu "
"hình."

#: src/components/InspectConfig/InspectConfig.vue:129
#: src/components/InspectConfig/InspectConfig.vue:28
msgid "Sandbox validation failed"
msgstr "Xác thực sandbox thất bại"

#: src/components/InspectConfig/InspectConfig.vue:118
#: src/components/InspectConfig/InspectConfig.vue:26
msgid "Sandbox validation skipped"
msgstr "Đã bỏ qua kiểm tra sandbox"

#: src/views/backup/AutoBackup/components/CronEditor.vue:32
msgid "Saturday"
msgstr "Thứ Bảy"

#: src/components/LLM/ChatMessage.vue:244
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:164
#: src/language/curd.ts:18
#: src/views/certificate/components/CertificateActions.vue:29
#: src/views/config/components/ConfigLeftPanel.vue:283
#: src/views/config/components/ConfigName.vue:58
#: src/views/dashboard/components/SiteHealthCheckModal.vue:713
#: src/views/dns/DDNSManager.vue:441 src/views/dns/DNSRecordManager.vue:222
#: src/views/preference/components/AuthSettings/Passkey.vue:131
#: src/views/preference/Preference.vue:124
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:52
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:196
#: src/views/stream/components/ConfigName.vue:52
#: src/views/stream/components/StreamEditor.vue:154
msgid "Save"
msgstr "Lưu"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:112
msgid "Save Directive"
msgstr "Lưu Directive"

#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:38
msgid "Save now"
msgstr "Lưu ngay"

#: src/views/dashboard/components/SiteNavigationToolbar.vue:48
msgid "Save Order"
msgstr "Lưu thứ tự"

#: src/components/Notification/notifications.ts:153
#: src/language/constants.ts:48
msgid "Save Remote Site Error"
msgstr "Lỗi lưu trang từ xa"

#: src/components/Notification/notifications.ts:157
#: src/language/constants.ts:47
msgid "Save Remote Site Success"
msgstr "Lưu trang từ xa thành công"

#: src/components/Notification/notifications.ts:193
msgid "Save Remote Stream Error"
msgstr "Lỗi lưu luồng từ xa"

#: src/components/Notification/notifications.ts:197
msgid "Save Remote Stream Success"
msgstr "Lưu luồng từ xa thành công"

#: src/components/Notification/notifications.ts:154
msgid "Save site %{name} to %{node} failed"
msgstr "Lưu trang %{name} vào %{node} thất bại"

#: src/components/Notification/notifications.ts:158
msgid "Save site %{name} to %{node} successfully"
msgstr "Đã lưu trang %{name} vào %{node} thành công"

#: src/components/Notification/notifications.ts:194
msgid "Save stream %{name} to %{node} failed"
msgstr "Lưu luồng %{name} vào %{node} thất bại"

#: src/components/Notification/notifications.ts:198
msgid "Save stream %{name} to %{node} successfully"
msgstr "Đã lưu luồng %{name} vào %{node} thành công"

#: src/language/curd.ts:36
msgid "Save successful"
msgstr "Lưu thành công"

#: src/language/curd.ts:35 src/views/certificate/CertificateEditor.vue:97
#: src/views/certificate/components/RenewCert.vue:21
#: src/views/preference/store/index.ts:133
msgid "Save successfully"
msgstr "Lưu thành công"

#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:31
msgid "Save the site configuration now?"
msgstr "Lưu cấu hình trang web ngay bây giờ?"

#: src/views/certificate/CertificateEditor.vue:94
msgid "Saved certificate response is missing an ID"
msgstr "Phản hồi chứng chỉ đã lưu bị thiếu ID."

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:51
#: src/language/curd.ts:28 src/views/config/components/ConfigLeftPanel.vue:198
#: src/views/site/site_add/SiteAdd.vue:57
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:57
#: src/views/stream/components/StreamEditor.vue:30
msgid "Saved successfully"
msgstr "Lưu thành công"

#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:47
msgid ""
"Saving the site configuration failed; the certificate directives are in the "
"editor — review the changes and retry from the Save button."
msgstr ""
"Lưu cấu hình trang web không thành công; các chỉ thị chứng chỉ nằm trong "
"trình chỉnh sửa — hãy xem lại các thay đổi và thử lại từ nút Lưu."

#: src/constants/errors/self_check.ts:20
msgid "Sbin path not exist"
msgstr "Đường dẫn sbin không tồn tại"

#: src/components/PortScanner/PortScannerCompact.vue:94
msgid "Scan completed"
msgstr "Quét hoàn tất"

#: src/components/PortScanner/PortScannerCompact.vue:98
msgid "Scan failed"
msgstr "Quét thất bại"

#: src/components/PortScanner/PortScannerCompact.vue:179
msgid "Scan Ports"
msgstr "Quét cổng"

#: src/components/PortScanner/PortScannerCompact.vue:204
msgid "Scan Results"
msgstr "Kết quả quét"

#: src/views/preference/components/AuthSettings/TOTP.vue:71
msgid "Scan the QR code with your mobile phone to add the account to the app."
msgstr "Quét mã QR bằng điện thoại di động của bạn để thêm tài khoản vào ứng dụng."

#: src/views/nginx_log/indexing/components/IndexProgressBar.vue:50
msgid "Scanning"
msgstr "Đang quét"

#: src/views/backup/AutoBackup/AutoBackup.vue:113
msgid "Schedule"
msgstr "Lịch trình"

#: src/views/backup/AutoBackup/components/CronEditor.vue:144
msgid "Schedule Type"
msgstr "Loại lịch trình"

#: src/views/dns/components/DNSChallenge.vue:121
msgid "SDK"
msgstr "SDK"

#: src/language/constants.ts:62 src/language/curd.ts:12
#: src/views/config/configColumns.tsx:5
#: src/views/dns/components/DNSRecordFilter.vue:62
#: src/views/nginx_log/structured/components/SearchFilters.vue:217
#: src/views/site/site_list/columns.tsx:17 src/views/stream/columns.tsx:13
msgid "Search"
msgstr "Tìm kiếm"

#: src/views/dns/DDNSManager.vue:293
msgid "Search domain, provider or target"
msgstr "Tìm kiếm tên miền, nhà cung cấp hoặc mục tiêu"

#: src/views/nginx_log/structured/components/SearchFilters.vue:53
msgid "Search Filters"
msgstr "Bộ lọc tìm kiếm"

#: src/views/nginx_log/structured/components/SearchFilters.vue:69
msgid "Search in log content..."
msgstr "Tìm kiếm trong nội dung nhật ký..."

#: src/language/constants.ts:61
msgid "Search module name"
msgstr "Tên mô-đun tìm kiếm"

#: src/views/dashboard/components/ModulesTable.vue:103
msgid "Search modules"
msgstr "Tìm kiếm mô-đun"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:842
msgid "Search range"
msgstr "Phạm vi tìm kiếm"

#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:79
msgid "Search templates"
msgstr "Tìm kiếm mẫu"

#: src/views/preference/components/AuthSettings/TOTP.vue:111
msgid "Secret has been copied"
msgstr "Mật khẩu đã được sao chép"

#: src/views/user/UserProfile.vue:170
msgid "Security Settings"
msgstr "Cài đặt bảo mật"

#: src/components/SystemRestore/SystemRestoreContent.vue:233
#: src/components/SystemRestore/SystemRestoreContent.vue:316
msgid "Security Token"
msgstr "Mã bảo mật"

#: src/views/backup/components/BackupCreator.vue:94
msgid "Security Token Information"
msgstr "Thông tin mã bảo mật"

#: src/views/dns/components/DNSChallenge.vue:52
msgid ""
"Select a DNS provider to see whether it supports DNS record management in "
"DNS Domains."
msgstr ""
"Chọn nhà cung cấp DNS để xem nhà cung cấp đó có hỗ trợ quản lý bản ghi DNS "
"trong DNS Domains hay không."

#: src/views/certificate/ACMEUser.vue:50
msgid ""
"Select a predefined CA directory or enter a custom one. Leave blank to use "
"the default CA directory."
msgstr ""
"Chọn thư mục CA được định nghĩa trước hoặc nhập thư mục tùy chỉnh. Để trống "
"để sử dụng thư mục CA mặc định."

#: src/language/curd.ts:31
msgid "Select all"
msgstr "Chọn tất cả"

#: src/components/AutoCertForm/DNSChallenge.vue:138
#: src/language/constants.ts:68
msgid "Select Credential"
msgstr "Chọn thông tin xác thực"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:254
#: src/views/site/site_edit/components/RightPanel/DNS.vue:548
msgid "Select DNS domain"
msgstr "Chọn tên miền DNS"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:279
#: src/views/site/site_edit/components/RightPanel/DNS.vue:573
msgid "Select existing record"
msgstr "Chọn bản ghi hiện có"

#: src/views/dns/DDNSManager.vue:410
msgid "Select matching A/AAAA records"
msgstr "Chọn bản ghi A/AAAA phù hợp"

#: src/views/certificate/ACMEUser.vue:46
#: src/views/preference/tabs/CertSettings.vue:29
msgid "Select or enter a CA directory URL"
msgstr "Chọn hoặc nhập URL thư mục CA"

#: src/language/constants.ts:67
msgid "Select Provider"
msgstr "Chọn nhà cung cấp"

#: src/language/curd.ts:59
msgid "Selected {count} files"
msgstr "Đã chọn {count} tệp"

#: src/language/curd.ts:16
msgid "Selector"
msgstr "Bộ chọn"

#: src/components/SelfCheck/SelfCheck.vue:55 src/routes/modules/system.ts:19
msgid "Self Check"
msgstr "Tự kiểm tra"

#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:37
#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:60
msgid "Self check failed, Nginx UI may not work properly"
msgstr "Tự kiểm tra thất bại, giao diện Nginx có thể không hoạt động bình thường"

#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:63
msgid "Self-signed certificate"
msgstr "Chứng chỉ tự ký"

#: src/views/certificate/CertificateList/certColumns.tsx:31
#: src/views/certificate/components/DNSIssueCertificate.vue:177
msgid "Self-signed Certificate"
msgstr "Chứng chỉ tự ký"

#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:44
msgid "Self-signed certificate applied"
msgstr "Đã áp dụng chứng chỉ tự ký"

#: src/views/certificate/components/DNSIssueCertificate.vue:140
#: src/views/certificate/components/SelfSignedCertForm.vue:63
msgid "Self-signed certificate generated"
msgstr "Đã tạo chứng chỉ tự ký"

#: src/views/dashboard/ServerAnalytic.vue:35
#: src/views/dashboard/ServerAnalytic.vue:352
msgid "Send"
msgstr "Gửi"

#: src/views/preference/components/ExternalNotify/ExternalNotifyEditor.vue:78
msgid "Send test message"
msgstr "Gửi tin nhắn kiểm tra"

#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:47
msgid "Server"
msgstr "Máy chủ"

#: src/components/InspectConfig/InspectConfig.vue:81
#: src/views/certificate/CertificateEditor.vue:104
msgid "Server error"
msgstr "Lỗi máy chủ"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:148
msgid "Server Error Responses (5xx)"
msgstr "Phản hồi lỗi máy chủ (5xx)"

#: src/views/dashboard/ServerAnalytic.vue:180
msgid "Server Info"
msgstr "Thông tin máy chủ"

#: src/components/AutoCertForm/AutoCertForm.vue:178
msgid "Server IP Address"
msgstr "Địa chỉ IP máy chủ"

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:102
msgid "Server name is controlled by linked DNS record"
msgstr "Tên máy chủ được kiểm soát bởi bản ghi DNS được liên kết"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99
msgid "Server Names Hash Bucket Size"
msgstr "Kích thước bảng băm tên máy chủ"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100
msgid "Server names hash table size"
msgstr "Kích thước bảng băm tên máy chủ"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:123
msgid "server_name not found in directives"
msgstr "không tìm thấy server_name trong directives"

#: src/constants/errors/nginx_log.ts:3
msgid "ServerIdx out of range"
msgstr "ServerIdx nằm ngoài phạm vi"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:608
msgid "Service Name"
msgstr "Tên dịch vụ"

#: src/constants/errors/user.ts:12
msgid "Session not found"
msgstr "Không tìm thấy phiên"

#: src/constants/errors/cert.ts:14
msgid "Set env error: {0}"
msgstr "Lỗi thiết lập môi trường: {0}"

#: src/constants/errors/cert.ts:18
msgid "Set env flag to disable lego CNAME support error: {0}"
msgstr "Đặt cờ môi trường để tắt hỗ trợ CNAME của lego lỗi: {0}"

#: src/views/preference/tabs/CertSettings.vue:42
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr ""
"Đặt các máy chủ tên đệ quy để ghi đè các máy chủ tên hệ thống trong bước "
"thử thách DNS."

#: src/views/site/components/SiteStatusSelect.vue:116
msgid "set to maintenance mode"
msgstr "đặt vào chế độ bảo trì"

#: src/language/constants.ts:11
msgid "Setting DNS01 challenge provider"
msgstr "Sử dụng DNS01 để xác thực SSL"

#: src/language/constants.ts:12
msgid "Setting environment variables"
msgstr "Đặt biến môi trường"

#: src/language/constants.ts:10
msgid "Setting HTTP01 challenge provider"
msgstr "Đang thiết lập nhà cung cấp thử thách HTTP01"

#: src/constants/errors/nginx_log.ts:8
msgid ""
"Settings.NginxLogSettings.AccessLogPath is empty, refer to "
"https://nginxui.com/guide/config-nginx.html for more information"
msgstr ""
"Settings.NginxLogSettings.AccessLogPath trống, tham khảo "
"https://nginxui.com/guide/config-nginx.html để biết thêm thông tin"

#: src/constants/errors/nginx_log.ts:7
msgid ""
"Settings.NginxLogSettings.ErrorLogPath is empty, refer to "
"https://nginxui.com/guide/config-nginx.html for more information"
msgstr ""
"Settings.NginxLogSettings.ErrorLogPath trống, tham khảo "
"https://nginxui.com/guide/config-nginx.html để biết thêm thông tin"

#: src/views/install/components/InstallView.vue:147
msgid "Setup your Nginx UI"
msgstr "Thiết lập giao diện Nginx của bạn"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:146
msgid "Shared Memory Zone"
msgstr "Vùng Bộ Nhớ Chia Sẻ"

#: src/components/SensitiveString/SensitiveInput.vue:88
#: src/components/SensitiveString/SensitiveString.vue:102
msgid "Show"
msgstr "Hiển thị"

#: src/views/terminal/components/TerminalHeader.vue:85
msgid "Show Assistant"
msgstr "Hiển thị trợ lý"

#: src/views/other/Login.vue:375
msgid "Sign in with a passkey"
msgstr "Đăng nhập bằng khóa truy cập"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:75
msgid "SIMD-optimized stream processing"
msgstr "Xử lý luồng được tối ưu hóa SIMD"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:48
msgid "Single Directive"
msgstr "Single Directive"

#: src/views/site/site_add/SiteAdd.vue:256
msgid "Site Config Created Successfully"
msgstr "Cấu hình trang web đã được tạo thành công"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:426
msgid "Site configuration updated with recreated DNS record"
msgstr "Cấu hình trang web đã được cập nhật với bản ghi DNS được tạo lại"

#: src/constants/errors/site.ts:4
msgid "Site is enabled"
msgstr "Trang web đã được bật"

#: src/constants/errors/site.ts:5
msgid "Site is in maintenance mode"
msgstr "Trang web đang trong chế độ bảo trì"

#: src/routes/modules/nginx_log.ts:31
msgid "Site Logs"
msgstr "Nhật ký trang web"

#: src/constants/errors/site.ts:2
msgid "Site not found"
msgstr "Không tìm thấy trang web"

#: src/views/dashboard/SiteNavigation.vue:82
msgid "Site refresh initiated"
msgstr "Đã khởi động làm mới trang web"

#: src/routes/modules/dashboard.ts:35
msgid "Sites"
msgstr "Trang web"

#: src/language/generate.ts:35
msgid "Sites directory exists"
msgstr "Thư mục trang web tồn tại"

#: src/views/site/site_list/SiteList.vue:64
msgid "Sites disabled successfully"
msgstr "Đã vô hiệu hóa các trang web thành công"

#: src/views/site/site_list/SiteList.vue:64
msgid "Sites enabled successfully"
msgstr "Đã kích hoạt các trang web thành công"

#: src/routes/modules/sites.ts:19
msgid "Sites List"
msgstr "Danh sách Website"

#: src/views/dashboard/SiteNavigation.vue:173
msgid ""
"Sites will appear here once you configure nginx server blocks with valid "
"server_name (localhost excluded) directives."
msgstr ""
"Các trang web sẽ xuất hiện ở đây sau khi bạn cấu hình các khối máy chủ "
"nginx với các chỉ thị server_name hợp lệ (không bao gồm localhost)."

#: src/constants/errors/self_check.ts:11
msgid "Sites-available directory not exist"
msgstr "Thư mục Sites-available không tồn tại"

#: src/constants/errors/self_check.ts:12
msgid "Sites-enabled directory not exist"
msgstr "Thư mục sites-enabled không tồn tại"

#: src/language/curd.ts:62
#: src/views/nginx_log/structured/StructuredLogViewer.vue:249
#: src/views/nginx_log/structured/StructuredLogViewer.vue:522
msgid "Size"
msgstr "Kích thước"

#: src/views/preference/tabs/NodeSettings.vue:23
msgid "Skip Installation"
msgstr "Bỏ qua cài đặt"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:324
msgid "Sleep time between cache loader iterations"
msgstr "Thời gian chờ giữa các lần lặp của bộ nạp bộ đệm"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:262
msgid "Sleep time between cache manager iterations"
msgstr "Thời gian chờ giữa các lần lặp của trình quản lý bộ nhớ đệm"

#: src/views/upstream/SocketList.vue:18
msgid "Socket"
msgstr "Socket"

#: src/views/certificate/components/SelfSignedCertFields.vue:69
msgid "Some browsers reject TLS certificates valid for more than 398 days."
msgstr "Một số trình duyệt từ chối chứng chỉ TLS có hiệu lực hơn 398 ngày."

#: src/views/nginx_log/structured/StructuredLogViewer.vue:742
msgid "Sorted by"
msgstr "Sắp xếp theo"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:683
msgid "Source IP"
msgstr "IP nguồn"

#: src/views/system/About.vue:46
msgid "Sponsor"
msgstr "Nhà tài trợ"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:61
msgid "SSD storage for better I/O performance"
msgstr "Lưu trữ SSD để hiệu suất I/O tốt hơn"

#: src/views/certificate/components/CertificateContentEditor.vue:209
#: src/views/certificate/components/CertificateContentEditor.vue:214
msgid "SSL Certificate Content"
msgstr "Nội dung chứng chỉ SSL"

#: src/constants/errors/system.ts:11
msgid "SSL certificate file must be under Nginx configuration directory: {0}"
msgstr "Tệp chứng chỉ SSL phải nằm trong thư mục cấu hình Nginx: {0}"

#: src/constants/errors/system.ts:9
msgid "SSL certificate file not found"
msgstr "Không tìm thấy tệp chứng chỉ SSL"

#: src/views/certificate/components/CertificateContentEditor.vue:270
#: src/views/certificate/components/CertificateContentEditor.vue:275
msgid "SSL Certificate Key Content"
msgstr "Nội dung khóa chứng chỉ SSL"

#: src/views/certificate/components/CertificateBasicInfo.vue:112
#: src/views/certificate/components/CertificateBasicInfo.vue:126
#: src/views/certificate/components/CertificateBasicInfo.vue:138
msgid "SSL Certificate Key Path"
msgstr "Đường dẫn khóa chứng chỉ SSL"

#: src/views/certificate/components/CertificateBasicInfo.vue:104
#: src/views/certificate/components/CertificateBasicInfo.vue:78
#: src/views/certificate/components/CertificateBasicInfo.vue:92
#: src/views/preference/tabs/ServerSettings.vue:37
msgid "SSL Certificate Path"
msgstr "Đường dẫn chứng chỉ SSL"

#: src/constants/errors/system.ts:7
msgid "SSL certificate path is required when HTTPS is enabled"
msgstr "Đường dẫn chứng chỉ SSL là bắt buộc khi bật HTTPS"

#: src/constants/errors/system.ts:12
msgid "SSL key file must be under Nginx configuration directory: {0}"
msgstr "Tệp khóa SSL phải nằm trong thư mục cấu hình Nginx: {0}"

#: src/constants/errors/system.ts:10
msgid "SSL key file not found"
msgstr "Không tìm thấy tệp khóa SSL"

#: src/views/preference/tabs/ServerSettings.vue:41
msgid "SSL Key Path"
msgstr "Đường dẫn khóa SSL"

#: src/constants/errors/system.ts:8
msgid "SSL key path is required when HTTPS is enabled"
msgstr "Đường dẫn khóa SSL là bắt buộc khi bật HTTPS"

#: src/views/other/Login.vue:322
msgid "SSO Login"
msgstr "Đăng nhập SSO"

#: src/views/node/BatchUpgrader.vue:166 src/views/node/BatchUpgrader.vue:219
#: src/views/system/Upgrade.vue:210 src/views/system/Upgrade.vue:261
msgid "Stable"
msgstr "Ổn định"

#: src/components/PortScanner/PortScannerCompact.vue:151
msgid "Start"
msgstr "Bắt đầu"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:57
msgid "Start Date"
msgstr "Ngày bắt đầu"

#: src/components/SystemRestore/SystemRestoreContent.vue:272
#: src/components/SystemRestore/SystemRestoreContent.vue:355
msgid "Start Restore"
msgstr "Bắt đầu khôi phục"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:56
msgid "Starting download..."
msgstr "Đang bắt đầu tải xuống..."

#: src/views/dashboard/components/ModulesTable.vue:67
#: src/views/dashboard/components/ModulesTable.vue:71
msgid "Static"
msgstr "Tĩnh"

#: src/components/PortScanner/PortScannerCompact.vue:37
#: src/views/backup/AutoBackup/AutoBackup.vue:160
#: src/views/certificate/ACMEUser.vue:66
#: src/views/certificate/CertificateList/certColumns.tsx:71
#: src/views/dashboard/components/ModulesTable.vue:75
#: src/views/dns/DDNSManager.vue:164
#: src/views/nginx_log/structured/components/SearchFilters.vue:106
#: src/views/nginx_log/structured/StructuredLogViewer.vue:241
#: src/views/nginx_log/structured/StructuredLogViewer.vue:521
#: src/views/node/nodeColumns.tsx:43
#: src/views/site/site_edit/components/RightPanel/Basic.vue:29
#: src/views/site/site_list/columns.tsx:120 src/views/stream/columns.tsx:87
msgid "Status"
msgstr "Trạng thái"

#: src/views/preference/components/ExternalNotify/EnabledSwitch.vue:24
msgid "Status updated successfully"
msgstr "Cập nhật trạng thái thành công"

#: src/components/NginxControl/NginxControl.vue:87
msgid "Stopped"
msgstr "Đã dừng"

#: src/views/dashboard/ServerAnalytic.vue:258
#: src/views/dashboard/ServerAnalytic.vue:259
#: src/views/nginx_log/components/IndexingSettingsModal.vue:59
msgid "Storage"
msgstr "Storage"

#: src/views/backup/AutoBackup/AutoBackup.vue:92
msgid "Storage Configuration"
msgstr "Cấu hình lưu trữ"

#: src/components/Notification/notifications.ts:26
msgid ""
"Storage configuration validation failed for backup task %{backup_name}, "
"error: %{error}"
msgstr ""
"Xác thực cấu hình lưu trữ cho tác vụ sao lưu %{backup_name} thất bại, lỗi: "
"%{error}"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:120
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:54
msgid "Storage Path"
msgstr "Đường dẫn lưu trữ"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:122
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:56
msgid "Storage path is required"
msgstr "Đường dẫn lưu trữ là bắt buộc"

#: src/views/backup/AutoBackup/AutoBackup.vue:70
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:45
msgid "Storage Type"
msgstr "Loại lưu trữ"

#: src/constants/errors/stream.ts:4
msgid "Stream is enabled"
msgstr "Luồng đã được bật"

#: src/constants/errors/stream.ts:2
msgid "Stream not found"
msgstr "Không tìm thấy luồng"

#: src/language/generate.ts:36
msgid "Streams directory exists"
msgstr "Thư mục Streams tồn tại"

#: src/constants/errors/self_check.ts:13
msgid "Streams-available directory not exist"
msgstr "Thư mục Streams-available không tồn tại"

#: src/constants/errors/self_check.ts:14
msgid "Streams-enabled directory not exist"
msgstr "Thư mục streams-enabled không tồn tại"

#: src/views/nginx_log/NginxLog.vue:92
msgid "Structured"
msgstr "Có cấu trúc"

#: src/views/preference/tabs/NginxSettings.vue:10
msgid "Stub Status Port"
msgstr "Cổng trạng thái stub"

#: src/constants/errors/performance.ts:2
msgid "Stub_status is not enabled"
msgstr "Stub_status chưa được bật"

#: src/constants/index.ts:27 src/views/backup/AutoBackup/AutoBackup.vue:195
#: src/views/backup/AutoBackup/AutoBackup.vue:220
#: src/views/notification/notificationColumns.tsx:35
msgid "Success"
msgstr "Thành công"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:85
msgid "Successful Responses (2xx)"
msgstr "Phản hồi thành công (2xx)"

#: src/views/backup/AutoBackup/components/CronEditor.vue:121
#: src/views/backup/AutoBackup/components/CronEditor.vue:26
msgid "Sunday"
msgstr "Chủ nhật"

#: src/components/SelfCheck/tasks/frontend/websocket.ts:19
msgid ""
"Support communication with the backend through the WebSocket protocol. If "
"your Nginx UI is being used via an Nginx reverse proxy, please refer to "
"this link to write the corresponding configuration file: "
"https://nginxui.com/guide/nginx-proxy-example.html"
msgstr ""
"Hỗ trợ giao tiếp với backend thông qua giao thức WebSocket. Nếu Nginx UI "
"của bạn đang được sử dụng thông qua proxy ngược Nginx, vui lòng tham khảo "
"liên kết này để viết tệp cấu hình tương ứng: "
"https://nginxui.com/guide/nginx-proxy-example.html"

#: src/language/curd.ts:53 src/language/curd.ts:57
msgid "Support single or batch upload of files"
msgstr "Hỗ trợ tải lên một hoặc nhiều tệp"

#: src/language/curd.ts:54 src/language/curd.ts:58
msgid "Support uploading entire folders"
msgstr "Hỗ trợ tải lên toàn bộ thư mục"

#: src/components/SystemRestore/SystemRestoreContent.vue:223
#: src/components/SystemRestore/SystemRestoreContent.vue:306
msgid "Supported file type: .zip"
msgstr "Loại tệp được hỗ trợ: .zip"

#: src/views/dashboard/ServerAnalytic.vue:243
#: src/views/dashboard/ServerAnalytic.vue:244
msgid "Swap"
msgstr "Swap"

#: src/components/SwitchAppearance/SwitchAppearance.vue:13
msgid "Switch to dark theme"
msgstr "Sử dụng Dark theme"

#: src/components/SwitchAppearance/SwitchAppearance.vue:13
msgid "Switch to light theme"
msgstr "Sử dụng Light theme"

#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "Đồng bộ"

#: src/views/certificate/CertificateList/certColumns.tsx:28
msgid "Sync Certificate"
msgstr "Đồng bộ chứng chỉ"

#: src/components/Notification/notifications.ts:70
msgid "Sync Certificate %{cert_name} to %{node_name} failed"
msgstr "Đồng bộ chứng chỉ %{cert_name} tới %{node_name} thất bại"

#: src/components/Notification/notifications.ts:74
msgid "Sync Certificate %{cert_name} to %{node_name} successfully"
msgstr "Đồng bộ chứng chỉ %{cert_name} tới %{node_name} thành công"

#: src/components/Notification/notifications.ts:69 src/language/constants.ts:39
msgid "Sync Certificate Error"
msgstr "Lỗi đồng bộ chứng chỉ"

#: src/components/Notification/notifications.ts:73 src/language/constants.ts:38
msgid "Sync Certificate Success"
msgstr "Đồng bộ chứng chỉ thành công"

#: src/components/Notification/notifications.ts:78
msgid "Sync config %{config_name} to %{node_name} failed"
msgstr "Đồng bộ cấu hình %{config_name} tới %{node_name} thất bại"

#: src/components/Notification/notifications.ts:82
msgid "Sync config %{config_name} to %{node_name} successfully"
msgstr "Đồng bộ cấu hình %{config_name} với %{node_name} thành công"

#: src/components/Notification/notifications.ts:77 src/language/constants.ts:45
msgid "Sync Config Error"
msgstr "Lỗi đồng bộ cấu hình"

#: src/components/Notification/notifications.ts:81 src/language/constants.ts:44
msgid "Sync Config Success"
msgstr "Đồng bộ cấu hình thành công"

#: src/components/NamespaceRender/NamespaceRender.vue:53
#: src/components/NamespaceTabs/NamespaceTabs.vue:127
#: src/views/namespace/columns.ts:17 src/views/namespace/Namespace.vue:31
msgid "Sync Nodes"
msgstr "Nút đồng bộ"

#: src/components/SyncNodesPreview/SyncNodesPreview.vue:45
msgid "Sync Preview"
msgstr "Xem trước đồng bộ"

#: src/views/site/site_edit/components/RightPanel/Basic.vue:59
#: src/views/site/site_edit/components/RightPanel/Basic.vue:72
#: src/views/stream/components/RightPanel/Basic.vue:54
#: src/views/stream/components/RightPanel/Basic.vue:67
msgid "Sync strategy"
msgstr "Chiến lược đồng bộ hóa"

#: src/views/certificate/components/CertificateBasicInfo.vue:145
#: src/views/certificate/components/SelfSignedCertFields.vue:72
msgid "Sync to"
msgstr "Đồng bộ tới"

#: src/views/site/site_edit/components/RightPanel/Basic.vue:57
#: src/views/stream/components/RightPanel/Basic.vue:52
msgid "Synchronization"
msgstr "Đồng bộ hóa"

#: src/components/PortScanner/PortScannerCompact.vue:194
#: src/routes/modules/system.ts:11
msgid "System"
msgstr "Thông tin"

#: src/views/backup/components/BackupCreator.vue:71
msgid "System Backup"
msgstr "Sao lưu hệ thống"

#: src/views/install/components/InstallView.vue:142
msgid "System Check"
msgstr "Kiểm tra hệ thống"

#: src/views/certificate/components/ACMEUserSelector.vue:67
msgid "System Initial User"
msgstr "Người dùng ban đầu của hệ thống"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:120
msgid "System Requirements"
msgstr "Yêu cầu hệ thống"

#: src/components/SystemRestore/SystemRestoreContent.vue:194
msgid "System Restore"
msgstr "Khôi phục hệ thống"

#: src/views/install/components/InstallView.vue:56
msgid "System restored successfully."
msgstr "Hệ thống đã được khôi phục thành công."

#: src/views/site/site_add/components/DNSRecordIntegration.vue:338
#: src/views/site/site_edit/components/RightPanel/DNS.vue:508
#: src/views/site/site_edit/components/RightPanel/DNS.vue:632
msgid "target.example.com"
msgstr "target.example.com"

#: src/views/dns/DDNSManager.vue:172
msgid "Targets"
msgstr "Mục tiêu"

#: src/constants/errors/self_check.ts:3
msgid "Task is not fixable"
msgstr "Nhiệm vụ không thể sửa chữa"

#: src/constants/errors/self_check.ts:2
msgid "Task not found"
msgstr "Không tìm thấy tác vụ"

#: src/views/preference/components/ExternalNotify/telegram.ts:5
msgid "Telegram"
msgstr "Telegram"

#: src/routes/modules/terminal.ts:10 src/views/preference/Preference.vue:77
msgid "Terminal"
msgstr "Thiết bị đầu cuối"

#: src/components/LLM/LLM.vue:60
msgid "Terminal Assistant"
msgstr "Trợ lý Terminal"

#: src/views/preference/tabs/TerminalSettings.vue:10
msgid "Terminal Start Command"
msgstr "Lệnh Khởi động Terminal"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:716
#: src/views/preference/tabs/ExternalNotify.vue:57
msgid "Test"
msgstr "Kiểm tra"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:451
msgid "Test failed: %{error}"
msgstr "Kiểm tra thất bại: %{error}"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:456
msgid "Test failed: Unable to perform health check"
msgstr "Kiểm tra thất bại: Không thể thực hiện kiểm tra tình trạng"

#: src/views/preference/components/ExternalNotify/ExternalNotifyEditor.vue:53
#: src/views/preference/tabs/ExternalNotify.vue:28
msgid "Test message sent successfully"
msgstr "Gửi tin nhắn kiểm tra thành công"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:141
msgid "Test S3 Connection"
msgstr "Kiểm tra kết nối S3"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:448
msgid "Test successful! Response time: %{response_time}ms"
msgstr "Kiểm tra thành công! Thời gian phản hồi: %{response_time}ms"

#: src/components/InspectConfig/InspectConfig.vue:111
msgid "Testing Nginx configuration..."
msgstr "Đang kiểm tra cấu hình Nginx..."

#: src/components/AutoCertForm/AutoCertForm.vue:160
msgid ""
"The certificate for the domain will be checked 30 minutes, and will be "
"renewed if it has been more than 1 week or the period you set in settings "
"since it was last issued."
msgstr ""
"Chứng chỉ cho tên miền sẽ được kiểm tra sau mỗi 30 phút và sẽ được gia hạn "
"nếu đã hơn 1 tuần hoặc khoảng thời gian bạn đặt trong cài đặt kể từ lần "
"phát hành cuối cùng."

#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:32
msgid ""
"The certificate has been generated at %{path} and the ssl_certificate "
"directives have been added to the current server block. Save the "
"configuration now, or review the changes in the editor and save manually."
msgstr ""
"Chứng chỉ đã được tạo tại %{path} và các chỉ thị ssl_certificate đã được "
"thêm vào khối máy chủ hiện tại. Lưu cấu hình ngay bây giờ, hoặc xem lại các "
"thay đổi trong trình chỉnh sửa và lưu thủ công."

#: src/views/site/site_list/SiteList.vue:93
msgid "The following sites will be disabled:"
msgstr "Các site sau sẽ bị vô hiệu hóa:"

#: src/views/site/site_list/SiteList.vue:92
msgid "The following sites will be enabled:"
msgstr "Các trang web sau sẽ được kích hoạt:"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:158
msgid ""
"The GeoLite2 database is required for offline geographic IP analysis. "
"Please download it to enable this feature."
msgstr ""
"Cần có cơ sở dữ liệu GeoLite2 để phân tích địa lý IP ngoại tuyến. Vui lòng "
"tải xuống để kích hoạt tính năng này."

#: src/views/preference/tabs/GeoLiteSettings.vue:9
msgid ""
"The GeoLite2 database provides geographic information for IP addresses. "
"This is used for offline geographic analysis in log analytics."
msgstr ""
"Cơ sở dữ liệu GeoLite2 cung cấp thông tin địa lý cho các địa chỉ IP. Điều "
"này được sử dụng để phân tích địa lý ngoại tuyến trong phân tích nhật ký."

#: src/views/preference/tabs/NodeSettings.vue:37
msgid ""
"The ICP Number should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr ""
"Số ICP chỉ được chứa chữ cái, unicode, số, dấu gạch ngang, dấu gạch dài, "
"dấu hai chấm và dấu chấm."

#: src/views/certificate/components/CertificateContentEditor.vue:205
msgid "The input is not a SSL Certificate"
msgstr "Đầu vào không phải là Chứng chỉ SSL"

#: src/views/certificate/components/CertificateContentEditor.vue:266
msgid "The input is not a SSL Certificate Key"
msgstr "Đầu vào không phải là Khóa Chứng chỉ SSL"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:498
msgid ""
"The linked DNS record was deleted from the DNS server. You can recreate it "
"or clear the link."
msgstr ""
"Bản ghi DNS được liên kết đã bị xóa khỏi máy chủ DNS. Bạn có thể tạo lại nó "
"hoặc xóa liên kết."

#: src/constants/errors/nginx_log.ts:2
msgid ""
"The log path is not under the paths in "
"settings.NginxSettings.LogDirWhiteList"
msgstr ""
"Đường dẫn nhật ký không nằm trong các đường dẫn trong "
"settings.NginxSettings.LogDirWhiteList"

#: src/views/preference/tabs/OpenAISettings.vue:153
#: src/views/preference/tabs/OpenAISettings.vue:87
msgid ""
"The model name should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr ""
"Tên mô hình chỉ được chứa chữ cái, unicode, số, dấu gạch ngang, dấu gạch "
"dài, dấu hai chấm và dấu chấm."

#: src/views/preference/tabs/OpenAISettings.vue:154
msgid "The model used for code completion, if not set, the chat model will be used."
msgstr ""
"Mô hình được sử dụng để hoàn thành mã, nếu không được đặt, mô hình trò "
"chuyện sẽ được sử dụng."

#: src/views/preference/tabs/NodeSettings.vue:18
msgid ""
"The node name should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr ""
"Tên nút chỉ được chứa chữ cái, unicode, số, dấu gạch ngang, dấu gạch dài, "
"dấu hai chấm và dấu chấm."

#: src/views/site/site_add/SiteAdd.vue:190
#: src/views/site/site_edit/components/RightPanel/DNS.vue:445
msgid "The parameter of server_name is required"
msgstr "Tham số của server_name là bắt buộc"

#: src/views/certificate/components/CertificateBasicInfo.vue:82
msgid "The path exists, but the file is not a certificate"
msgstr "Đường dẫn tồn tại, nhưng tệp không phải là chứng chỉ"

#: src/views/certificate/components/CertificateBasicInfo.vue:116
msgid "The path exists, but the file is not a private key"
msgstr "Đường dẫn tồn tại, nhưng tệp không phải là khóa riêng tư"

#: src/views/preference/tabs/NodeSettings.vue:49
msgid ""
"The Public Security Number should only contain letters, unicode, numbers, "
"hyphens, dashes, colons, and dots."
msgstr ""
"Số Công an chỉ được chứa chữ cái, unicode, số, dấu gạch ngang, dấu gạch "
"dài, dấu hai chấm và dấu chấm."

#: src/views/dashboard/components/NodeAnalyticItem.vue:90
msgid ""
"The remote Nginx UI version is not compatible with the local Nginx UI "
"version. To avoid potential errors, please upgrade the remote Nginx UI to "
"match the local version."
msgstr ""
"Phiên bản Nginx UI từ xa không tương thích với phiên bản Nginx UI cục bộ. "
"Để tránh các lỗi tiềm ẩn, vui lòng nâng cấp phiên bản Nginx UI từ xa để "
"khớp với phiên bản cục bộ."

#: src/components/AutoCertForm/AutoCertForm.vue:155
msgid ""
"The server_name in the current configuration must be the domain name you "
"need to get the certificate, supportmultiple domains."
msgstr ""
"server_name trong cấu hình hiện tại phải là tên miền bạn cần lấy chứng chỉ, "
"hỗ trợ nhiều tên miền."

#: src/views/preference/tabs/CertSettings.vue:23
#: src/views/preference/tabs/HTTPSettings.vue:14
msgid "The url is invalid"
msgstr "URL không hợp lệ"

#: src/views/preference/tabs/OpenAISettings.vue:110
#: src/views/preference/tabs/OpenAISettings.vue:38
msgid "The url is invalid."
msgstr "URL không hợp lệ."

#: src/language/constants.ts:2
msgid "The username or password is incorrect"
msgstr "Tên người dùng hoặc mật khẩu không chính xác"

#: src/views/dashboard/components/PerformanceTablesCard.vue:185
msgid "Theoretical maximum concurrent connections:"
msgstr "Số kết nối đồng thời tối đa lý thuyết:"

#: src/views/dashboard/components/PerformanceTablesCard.vue:189
msgid "Theoretical maximum RPS (Requests Per Second):"
msgstr "RPS tối đa lý thuyết (Yêu cầu mỗi giây):"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:108
msgid ""
"These codes are the last resort for accessing your account in case you lose "
"your password and second factors. If you cannot find these codes, you will "
"lose access to your account."
msgstr ""
"Những mã này là biện pháp cuối cùng để truy cập vào tài khoản của bạn trong "
"trường hợp bạn mất mật khẩu và các yếu tố xác thực thứ hai. Nếu bạn không "
"thể tìm thấy những mã này, bạn sẽ mất quyền truy cập vào tài khoản."

#: src/routes/modules/system.ts:45
msgid "Third-party Components"
msgstr "Thành phần bên thứ ba"

#: src/views/certificate/components/AutoCertManagement.vue:45
msgid "This Auto Cert item is invalid, please remove it."
msgstr "Mục Chứng chỉ tự động này không hợp lệ, vui lòng xóa nó"

#: src/constants/errors/backup.ts:62
msgid ""
"This backup uses an unsupported legacy format. Please create a new backup "
"with a newer version before restoring."
msgstr ""
"Bản sao lưu này sử dụng định dạng cũ không được hỗ trợ. Vui lòng tạo bản "
"sao lưu mới với phiên bản mới hơn trước khi khôi phục."

#: src/views/certificate/components/AutoCertManagement.vue:35
msgid "This certificate is managed by Nginx UI"
msgstr "Chứng chỉ này được quản lý bởi Nginx UI"

#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr "Thư mục này được bảo vệ và không thể xóa vì lý do an toàn hệ thống."

#: src/views/certificate/components/CertificateBasicInfo.vue:114
#: src/views/certificate/components/CertificateBasicInfo.vue:47
#: src/views/certificate/components/CertificateBasicInfo.vue:80
msgid "This field is required"
msgstr "Trường này là bắt buộc"

#: src/constants/form_errors.ts:3 src/language/curd.ts:43
msgid "This field should be a valid email address"
msgstr "Trường này phải là một địa chỉ email hợp lệ"

#: src/constants/form_errors.ts:5 src/language/curd.ts:45
msgid "This field should be a valid hostname"
msgstr "Trường này phải là một tên máy chủ hợp lệ"

#: src/constants/form_errors.ts:2 src/language/curd.ts:42
msgid "This field should not be empty"
msgstr "Trường này không được để trống"

#: src/constants/form_errors.ts:6
msgid "This field should only contain letters, unicode characters, numbers, and -_."
msgstr "Trường này chỉ được chứa chữ cái, ký tự Unicode, số và -_."

#: src/language/curd.ts:46
msgid ""
"This field should only contain letters, unicode characters, numbers, and "
"-_./:"
msgstr "Trường này chỉ được chứa chữ cái, ký tự Unicode, số và -_./:"

#: src/components/Notification/notifications.ts:102
msgid "This is a test message sent at %{timestamp} from Nginx UI."
msgstr "Đây là một thông báo thử nghiệm được gửi tại %{Timestamp} từ nginx UI."

#: src/components/SelfCheck/store.ts:25
msgid ""
"This mode only previews the installation UI flow and does not change any "
"server state."
msgstr ""
"Chế độ này chỉ xem trước luồng giao diện người dùng cài đặt và không thay "
"đổi trạng thái máy chủ nào."

#: src/views/dashboard/NginxDashBoard.vue:175
msgid ""
"This module provides Nginx request statistics, connection count, etc. data. "
"After enabling it, you can view performance statistics"
msgstr ""
"Mô-đun này cung cấp dữ liệu như thống kê yêu cầu Nginx, số lượng kết nối, "
"v.v. Sau khi bật, bạn có thể xem thống kê hiệu suất"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:25
msgid "This month"
msgstr "Tháng này"

#: src/views/preference/tabs/ExternalNotify.vue:16
msgid "This notification is disabled"
msgstr "Thông báo này đã bị vô hiệu hóa"

#: src/views/certificate/components/RemoveCert.vue:116
msgid ""
"This operation will only remove the certificate from the database. The "
"certificate files on the file system will not be deleted."
msgstr ""
"Thao tác này sẽ chỉ xóa chứng chỉ khỏi cơ sở dữ liệu. Các tệp chứng chỉ "
"trên hệ thống tệp sẽ không bị xóa."

#: src/views/certificate/components/SelfSignedCertManagement.vue:17
msgid ""
"This self-signed certificate is managed by Nginx UI and renewed "
"automatically."
msgstr "Chứng chỉ tự ký này được Nginx UI quản lý và tự động gia hạn."

#: src/components/AutoCertForm/AutoCertForm.vue:128
msgid ""
"This site is configured as a default server (default_server) for HTTPS "
"(port 443). IP certificates require Certificate Authority (CA) support and "
"may not be available with all ACME providers."
msgstr ""
"Trang web này được cấu hình làm máy chủ mặc định (default_server) cho HTTPS "
"(cổng 443). Chứng chỉ IP yêu cầu hỗ trợ từ Tổ chức cấp chứng chỉ (CA) và có "
"thể không khả dụng với tất cả nhà cung cấp ACME."

#: src/components/AutoCertForm/AutoCertForm.vue:132
msgid ""
"This site uses wildcard server name (_) which typically indicates an "
"IP-based certificate. IP certificates require Certificate Authority (CA) "
"support and may not be available with all ACME providers."
msgstr ""
"Trang web này sử dụng tên máy chủ đại diện (_) thường chỉ ra chứng chỉ dựa "
"trên IP. Chứng chỉ IP yêu cầu hỗ trợ từ Tổ chức cấp chứng chỉ (CA) và có "
"thể không khả dụng với tất cả nhà cung cấp ACME."

#: src/views/backup/components/BackupCreator.vue:141
msgid ""
"This token will only be shown once and cannot be retrieved later. Please "
"make sure to save it in a secure location."
msgstr ""
"Mã thông báo này sẽ chỉ hiển thị một lần và không thể lấy lại sau này. Vui "
"lòng đảm bảo lưu trữ nó ở nơi an toàn."

#: src/constants/form_errors.ts:4 src/language/curd.ts:44
msgid "This value is already taken"
msgstr "Giá trị này đã được sử dụng"

#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "Hành động này sẽ xóa vĩnh viễn %{type}."

#: src/views/nginx_log/indexing/IndexManagement.vue:30
msgid ""
"This will rebuild the entire log index. All existing index data will be "
"deleted and rebuilt from scratch. This may take some time. Continue?"
msgstr ""
"Điều này sẽ xây dựng lại toàn bộ chỉ mục nhật ký. Tất cả dữ liệu chỉ mục "
"hiện có sẽ bị xóa và xây dựng lại từ đầu. Việc này có thể mất một thời "
"gian. Tiếp tục?"

#: src/views/nginx_log/indexing/IndexManagement.vue:56
msgid "This will rebuild the index data for this specific file: %{path}"
msgstr "Điều này sẽ xây dựng lại dữ liệu chỉ mục cho tệp cụ thể này: %{path}"

#: src/components/SystemRestore/SystemRestoreContent.vue:253
#: src/components/SystemRestore/SystemRestoreContent.vue:336
msgid ""
"This will restore all Nginx configuration files. Nginx will restart after "
"the restoration is complete."
msgstr ""
"Điều này sẽ khôi phục tất cả các tệp cấu hình Nginx. Nginx sẽ khởi động lại "
"sau khi quá trình khôi phục hoàn tất."

#: src/components/SystemRestore/SystemRestoreContent.vue:264
#: src/components/SystemRestore/SystemRestoreContent.vue:347
msgid ""
"This will restore configuration files and database. Nginx UI will restart "
"after the restoration is complete."
msgstr ""
"Thao tác này sẽ khôi phục các tệp cấu hình và cơ sở dữ liệu. Giao diện "
"Nginx sẽ khởi động lại sau khi quá trình khôi phục hoàn tất."

#: src/views/node/BatchUpgrader.vue:187
msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr ""
"Thao tác này sẽ nâng cấp hoặc cài đặt lại Nginx UI trên %{nodeNames} lên "
"phiên bản %{version}."

#: src/views/preference/tabs/AuthSettings.vue:89
msgid "Throttle"
msgstr "Hạn chế"

#: src/views/backup/AutoBackup/components/CronEditor.vue:30
msgid "Thursday"
msgstr "Thứ Năm"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:185
#: src/views/nginx_log/structured/StructuredLogViewer.vue:517
msgid "Time"
msgstr "Thời gian"

#: src/views/nginx_log/NginxLogList.vue:311
#: src/views/nginx_log/structured/StructuredLogViewer.vue:696
msgid "Time Range"
msgstr "Phạm vi thời gian"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:630
msgid "Timeout (seconds)"
msgstr "Thời gian chờ (giây)"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
#: src/views/preference/tabs/LogrotateSettings.vue:12
msgid "Tips"
msgstr "Mẹo"

#: src/views/dashboard/components/PerformanceTablesCard.vue:207
msgid ""
"Tips: You can increase the concurrency processing capacity by increasing "
"worker_processes or worker_connections"
msgstr ""
"Mẹo: Bạn có thể tăng khả năng xử lý đồng thời bằng cách tăng "
"worker_processes hoặc worker_connections"

#: src/views/notification/notificationColumns.tsx:58
msgid "Title"
msgstr "Tiêu đề"

#: src/language/curd.ts:68 src/language/curd.ts:69
msgid "to confirm deletion"
msgstr "để xác nhận xóa"

#: src/views/certificate/components/RemoveCert.vue:134
msgid "To confirm revocation, please type \"Revoke\" in the field below:"
msgstr "Để xác nhận thu hồi, vui lòng nhập \"Thu hồi\" vào trường bên dưới:"

#: src/views/preference/components/AuthSettings/TOTP.vue:70
msgid ""
"To enable it, you need to install the Google or Microsoft Authenticator app "
"on your mobile phone."
msgstr ""
"Để bật tính năng này, bạn cần cài đặt ứng dụng Google Authenticator hoặc "
"Microsoft Authenticator trên điện thoại di động của mình."

#: src/views/preference/components/AuthSettings/AddPasskey.vue:95
msgid ""
"To ensure security, Webauthn configuration cannot be added through the UI. "
"Please manually configure the following in the app.ini configuration file "
"and restart Nginx UI."
msgstr ""
"Để đảm bảo bảo mật, cấu hình WebAuthn không thể được thêm qua giao diện "
"người dùng. Vui lòng cấu hình thủ công các mục sau trong tệp cấu hình "
"app.ini và khởi động lại Nginx UI."

#: src/views/site/site_edit/components/Cert/IssueCert.vue:47
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:15
msgid ""
"To make sure the certification auto-renewal can work normally, we need to "
"add a location which can proxy the request from authority to backend, and "
"we need to save this file and reload the Nginx. Are you sure you want to "
"continue?"
msgstr ""
"Để đảm bảo tính năng tự động gia hạn chứng chỉ có thể hoạt động bình "
"thường, chúng tôi cần thêm một vị trí có thể ủy quyền yêu cầu từ cơ quan có "
"thẩm quyền đến chương trình phụ trợ và chúng tôi cần lưu tệp này và tải lại "
"Nginx. Bạn có chắc chắn muốn Tiếp tục?"

#: src/views/preference/tabs/OpenAISettings.vue:44
msgid ""
"To use a local large model, deploy it with ollama, vllm or lmdeploy. They "
"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your "
"local API."
msgstr ""
"Để sử dụng một mô hình lớn cục bộ, triển khai nó với ollama, vllm hoặc "
"lmdeploy. Chúng cung cấp một điểm cuối API tương thích với OpenAI, vì vậy "
"chỉ cần đặt baseUrl thành API cục bộ của bạn."

#: src/views/dashboard/NginxDashBoard.vue:56
msgid "Toggle failed"
msgstr "Chuyển đổi thất bại"

#: src/constants/errors/user.ts:13
msgid "Token is empty"
msgstr "Token trống"

#: src/views/preference/tabs/OpenAISettings.vue:122
msgid "Token is not valid"
msgstr "Mã thông báo không hợp lệ"

#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:269
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:305
msgid "Top 10 Countries / Regions"
msgstr "Top 10 quốc gia / khu vực"

#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:246
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:282
msgid "Top 10 Provinces / Regions"
msgstr "Top 10 Tỉnh / Vùng"

#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:37
msgid "TOP 10 URLs"
msgstr "10 URL hàng đầu"

#: src/language/curd.ts:5
msgid "Total"
msgstr "Tổng"

#: src/views/system/Licenses.vue:107
msgid "Total Components"
msgstr "Tổng số thành phần"

#: src/composables/usePerformanceMetrics.ts:94
#: src/views/dashboard/components/PerformanceTablesCard.vue:54
msgid "Total connections"
msgstr "Tổng số kết nối"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:763
msgid "Total Entries"
msgstr "Tổng số mục"

#: src/composables/usePerformanceMetrics.ts:89
#: src/views/dashboard/components/PerformanceTablesCard.vue:49
msgid "Total handshakes"
msgstr "Tổng số bắt tay"

#: src/views/dashboard/components/ProcessDistributionCard.vue:53
msgid "Total Nginx processes"
msgstr "Tổng số tiến trình Nginx"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
msgid "Total Nginx Processes"
msgstr "Tổng số tiến trình Nginx"

#: src/views/nginx_log/dashboard/components/SummaryStats.vue:24
msgid "Total PV"
msgstr "Tổng PV"

#: src/views/dashboard/ServerAnalytic.vue:284
msgid "Total Receive"
msgstr "Tổng nhận"

#: src/composables/usePerformanceMetrics.ts:99
#: src/views/dashboard/components/PerformanceTablesCard.vue:59
msgid "Total requests"
msgstr "Tổng số yêu cầu"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
msgid "Total Requests / Total Connections"
msgstr "Tổng số yêu cầu / Tổng số kết nối"

#: src/views/dashboard/ServerAnalytic.vue:290
msgid "Total Send"
msgstr "Tổng gửi"

#: src/views/nginx_log/dashboard/components/SummaryStats.vue:15
msgid "Total UV"
msgstr "Tổng UV"

#: src/views/preference/components/AuthSettings/TOTP.vue:68
msgid "TOTP"
msgstr "TOTP"

#: src/views/preference/components/AuthSettings/TOTP.vue:69
msgid ""
"TOTP is a two-factor authentication method that uses a time-based one-time "
"password algorithm."
msgstr ""
"TOTP là một phương pháp xác thực hai yếu tố sử dụng thuật toán mật khẩu một "
"lần dựa trên thời gian."

#: src/views/nginx_log/structured/StructuredLogViewer.vue:781
msgid "Traffic"
msgstr "Lưu lượng"

#: src/components/Notification/detailRender.tsx:71
msgid "Translating error..."
msgstr "Đang dịch lỗi..."

#: src/language/curd.ts:20
msgid "Trash"
msgstr "Thùng rác"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:829
msgid "Try adjusting your search criteria or navigate to different pages."
msgstr "Hãy thử điều chỉnh tiêu chí tìm kiếm hoặc điều hướng đến các trang khác."

#: src/views/nginx_log/structured/StructuredLogViewer.vue:839
msgid "Try adjusting your search criteria or time range."
msgstr "Hãy thử điều chỉnh tiêu chí tìm kiếm hoặc khoảng thời gian."

#: src/views/dns/components/DNSRecordTable.vue:30
msgid "TTL"
msgstr "TTL"

#: src/views/dns/components/DNSRecordForm.vue:79
#: src/views/site/site_add/components/DNSRecordIntegration.vue:342
#: src/views/site/site_edit/components/RightPanel/DNS.vue:511
#: src/views/site/site_edit/components/RightPanel/DNS.vue:636
msgid "TTL (seconds)"
msgstr "TTL (giây)"

#: src/views/backup/AutoBackup/components/CronEditor.vue:28
msgid "Tuesday"
msgstr "Thứ Ba"

#: src/components/TwoFA/use2FAModal.ts:59
msgid "Two-factor authentication required"
msgstr "Yêu cầu xác thực hai yếu tố"

#: src/composables/useUpstreamStatus.ts:122
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:62
#: src/views/dns/components/DNSRecordFilter.vue:49
#: src/views/dns/components/DNSRecordForm.vue:58
#: src/views/dns/components/DNSRecordTable.vue:22
#: src/views/nginx_log/NginxLogList.vue:146
#: src/views/notification/notificationColumns.tsx:8
#: src/views/preference/components/ExternalNotify/columns.tsx:19
msgid "Type"
msgstr "Loại"

#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "Nhập %{delete} để xác nhận"

#: src/views/nginx_log/structured/components/SearchFilters.vue:142
msgid "Type or select browser"
msgstr "Nhập hoặc chọn trình duyệt"

#: src/views/nginx_log/structured/components/SearchFilters.vue:174
msgid "Type or select device"
msgstr "Nhập hoặc chọn thiết bị"

#: src/views/nginx_log/structured/components/SearchFilters.vue:158
msgid "Type or select OS"
msgstr "Nhập hoặc chọn hệ điều hành"

#: src/views/nginx_log/structured/components/SearchFilters.vue:111
msgid "Type or select status codes"
msgstr "Nhập hoặc chọn mã trạng thái"

#: src/components/LLM/ChatMessageInput.vue:81
msgid "Type your message here..."
msgstr "Nhập tin nhắn của bạn vào đây..."

#: src/views/nginx_log/structured/StructuredLogViewer.vue:787
msgid "Unique Pages"
msgstr "Trang duy nhất"

#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:19
msgid "Unknown"
msgstr "Không xác định"

#: src/components/AutoCertForm/DNSChallenge.vue:24
msgid "Unknown Provider"
msgstr "Nhà cung cấp không xác định"

#: src/constants/errors/backup.ts:67
msgid "Unsupported backup type: {0}"
msgstr "Loại sao lưu không được hỗ trợ: {0}"

#: src/constants/errors/nginx_log.parser.ts:4
msgid "Unsupported log format"
msgstr "Định dạng nhật ký không được hỗ trợ"

#: src/constants/errors/upgrader.ts:6
msgid "Update already in progress"
msgstr "Cập nhật đang được thực hiện"

#: src/views/user/UserProfile.vue:213
msgid "Update Password"
msgstr "Cập nhật mật khẩu"

#: src/views/user/UserProfile.vue:137
msgid "Update Profile"
msgstr "Cập nhật hồ sơ"

#: src/views/preference/components/AuthSettings/Passkey.vue:40
msgid "Update successfully"
msgstr "Cập nhật thành công"

#: src/views/backup/AutoBackup/AutoBackup.vue:236
#: src/views/certificate/ACMEUser.vue:115
#: src/views/config/components/ConfigRightPanel/Basic.vue:54
#: src/views/config/configColumns.tsx:44 src/views/dns/DNSCredential.vue:65
#: src/views/dns/DNSDomainList.vue:236 src/views/namespace/columns.ts:91
#: src/views/node/nodeColumns.tsx:89
#: src/views/site/site_edit/components/RightPanel/Basic.vue:39
#: src/views/site/site_list/columns.tsx:113 src/views/stream/columns.tsx:80
#: src/views/stream/components/RightPanel/Basic.vue:35
#: src/views/user/userColumns.tsx:52
msgid "Updated at"
msgstr "Ngày cập nhật"

#: src/routes/modules/system.ts:26 src/views/node/Node.vue:187
#: src/views/node/Node.vue:195 src/views/system/Upgrade.vue:154
#: src/views/system/Upgrade.vue:159
msgid "Upgrade"
msgstr "Cập nhật"

#: src/views/node/BatchUpgrader.vue:138
msgid "Upgraded Nginx UI on %{node} successfully 🎉"
msgstr "Nâng cấp Nginx UI trên %{node} thành công 🎉"

#: src/language/constants.ts:30
msgid "Upgraded successfully"
msgstr "Nâng cấp thành công"

#: src/constants/errors/upgrader.ts:3
msgid "Upgrader core digest is empty"
msgstr "Bản tóm tắt lõi của trình nâng cấp trống"

#: src/constants/errors/upgrader.ts:2
msgid "Upgrader core downloadUrl is empty"
msgstr "URL tải xuống lõi cập nhật trống"

#: src/views/node/BatchUpgrader.vue:88 src/views/system/Upgrade.vue:80
msgid "Upgrading Nginx UI, please wait..."
msgstr "Đang cập nhật Nginx UI, vui lòng đợi..."

#: src/views/certificate/components/CertificateFileUpload.vue:122
msgid "Upload %{type} File"
msgstr "Tải lên tệp %{type}"

#: src/language/curd.ts:49
msgid "Upload Files"
msgstr "Tải lên tệp"

#: src/language/curd.ts:50
msgid "Upload Folders"
msgstr "Tải lên thư mục"

#: src/composables/useUpstreamStatus.ts:122 src/routes/modules/upstream.ts:10
#: src/views/upstream/SocketList.vue:24
msgid "Upstream"
msgstr "Ngược dòng"

#: src/components/NgxConfigEditor/NgxUpstream.vue:125
msgid "Upstream Name"
msgstr "Tên Upstream"

#: src/views/upstream/SocketList.vue:133
msgid "Upstream Sockets"
msgstr "Các cổng Upstream"

#: src/views/namespace/columns.ts:59
msgid "Upstream Test Type"
msgstr "Loại kiểm tra upstream"

#: src/views/dashboard/ServerAnalytic.vue:184
msgid "Uptime:"
msgstr "Thời gian hoạt động:"

#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:13
#: src/views/node/nodeColumns.tsx:18 src/views/system/Licenses.vue:34
msgid "URL"
msgstr "URL"

#: src/views/dns/components/DNSRecordForm.vue:65
msgid "Use @ for root"
msgstr "Sử dụng @ cho gốc"

#: src/components/TwoFA/Authorization.vue:129
msgid "Use OTP"
msgstr "Sử dụng OTP"

#: src/components/TwoFA/Authorization.vue:125
msgid "Use recovery code"
msgstr "Sử dụng mã khôi phục"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:157
msgid "Use Temporary Path"
msgstr "Sử dụng đường dẫn tạm thời"

#: src/components/LLM/ChatMessage.vue:216
msgid "User"
msgstr "Người dùng"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:636
#: src/views/nginx_log/structured/components/SearchFilters.vue:200
msgid "User Agent"
msgstr "Trình duyệt người dùng"

#: src/constants/errors/user.ts:3
msgid "User banned"
msgstr "Người dùng bị cấm"

#: src/views/user/UserProfile.vue:57
msgid "User info updated successfully"
msgstr "Cập nhật thông tin người dùng thành công"

#: src/constants/errors/user.ts:8
msgid "User not enabled otp as 2fa"
msgstr "Người dùng chưa bật OTP làm 2FA"

#: src/routes/modules/user.ts:19
msgid "User Profile"
msgstr "Hồ sơ người dùng"

#: src/views/other/Login.vue:298 src/views/user/userColumns.tsx:7
#: src/views/user/UserProfile.vue:122 src/views/user/UserProfile.vue:126
msgid "Username"
msgstr "Username"

#: src/views/install/components/InstallForm.vue:95
msgid "Username (*)"
msgstr "Username (*)"

#: src/views/install/components/InstallForm.vue:39
msgid "Username length cannot exceed 255 characters"
msgstr "Độ dài tên người dùng không được vượt quá 255 ký tự"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:775
msgid "UV"
msgstr "Lượt truy cập duy nhất"

#: src/components/CertInfo/CertInfo.vue:24
#: src/views/certificate/ACMEUser.vue:152
#: src/views/certificate/CertificateList/certColumns.tsx:98
msgid "Valid"
msgstr "Hợp lệ"

#: src/views/certificate/components/SelfSignedCertFields.vue:61
msgid "Valid For (days)"
msgstr "Hiệu lực (ngày)"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:658
msgid "Validate SSL Certificate"
msgstr "Xác thực chứng chỉ SSL"

#: src/views/dashboard/components/PerformanceTablesCard.vue:22
#: src/views/dns/components/DNSRecordForm.vue:67
#: src/views/dns/components/DNSRecordTable.vue:26
msgid "Value"
msgstr "Giá trị"

#: src/components/SystemRestore/SystemRestoreContent.vue:242
#: src/components/SystemRestore/SystemRestoreContent.vue:325
msgid "Verify Backup File Integrity (required)"
msgstr "Kiểm tra tính toàn vẹn của tệp sao lưu (bắt buộc)"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:664
msgid "Verify Hostname"
msgstr "Xác minh tên máy chủ"

#: src/views/install/components/InstallView.vue:184
msgid "Verify Secret"
msgstr "Xác minh bí mật"

#: src/views/install/components/InstallView.vue:143
msgid "Verify system requirements"
msgstr "Xác minh các yêu cầu hệ thống"

#: src/views/node/nodeColumns.tsx:30 src/views/system/Licenses.vue:28
msgid "Version"
msgstr "Phiên bản"

#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:490
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:108
#: src/views/system/Licenses.vue:180 src/views/system/Licenses.vue:215
#: src/views/system/Licenses.vue:250
msgid "View"
msgstr "Xem"

#: src/components/Notification/Notification.vue:185
msgid "View all notifications"
msgstr "Xem tất cả thông báo"

#: src/views/node/BatchUpgrader.vue:236 src/views/system/Upgrade.vue:279
msgid "View on GitHub"
msgstr "Xem trên GitHub"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:138
msgid "View Recovery Codes"
msgstr "Xem mã phục hồi"

#: src/views/system/About.vue:83
msgid "View Third-party Components"
msgstr "Xem các thành phần bên thứ ba"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:71
msgid "Viewed"
msgstr "Đã xem"

#: src/composables/useGeoTranslation.ts:167
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:151
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:176
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:64
#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:19
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:116
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:144
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:212
msgid "Visits"
msgstr "Lượt truy cập"

#: src/composables/usePerformanceMetrics.ts:114
#: src/views/dashboard/components/PerformanceTablesCard.vue:74
msgid "Waiting processes"
msgstr "Quá trình chờ đợi"

#: src/components/InspectConfig/InspectConfig.vue:156 src/constants/index.ts:25
#: src/views/backup/components/BackupCreator.vue:138
#: src/views/notification/notificationColumns.tsx:21
#: src/views/preference/components/AuthSettings/AddPasskey.vue:88
msgid "Warning"
msgstr "Lưu ý"

#: src/components/SystemRestore/SystemRestoreContent.vue:198
#: src/components/SystemRestore/SystemRestoreContent.vue:281
msgid ""
"Warning: Restore operation will overwrite current configurations. Make sure "
"you have a valid backup file and security token, and carefully select what "
"to restore."
msgstr ""
"Cảnh báo: Thao tác khôi phục sẽ ghi đè lên cấu hình hiện tại. Đảm bảo bạn "
"có tệp sao lưu hợp lệ và mã bảo mật, đồng thời cẩn thận chọn nội dung cần "
"khôi phục."

#: src/components/AutoCertForm/AutoCertForm.vue:103
msgid ""
"Warning: This appears to be a private IP address. Public CAs like Let's "
"Encrypt cannot issue certificates for private IPs. Use a public IP address "
"or consider using a private CA."
msgstr ""
"Cảnh báo: Đây có vẻ là một địa chỉ IP riêng. Các tổ chức cấp chứng chỉ công "
"cộng như Let's Encrypt không thể cấp chứng chỉ cho các IP riêng. Hãy sử "
"dụng địa chỉ IP công cộng hoặc cân nhắc sử dụng tổ chức cấp chứng chỉ riêng."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:298
msgid "We do not accept any feature requests"
msgstr "Chúng tôi không chấp nhận bất kỳ yêu cầu tính năng nào"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:140
msgid ""
"We will remove the HTTPChallenge configuration from this file and reload "
"the Nginx. Are you sure you want to continue?"
msgstr ""
"Chúng tôi sẽ xóa cấu hình HTTPChallenge khỏi tệp này và tải lại Nginx. Bạn "
"có muốn tiếp tục không?"

#: src/views/preference/tabs/AuthSettings.vue:62
msgid "Webauthn"
msgstr "WebAuthn"

#: src/constants/errors/user.ts:7
msgid "WebAuthn settings are not configured"
msgstr "Cài đặt WebAuthn chưa được cấu hình"

#: src/views/certificate/components/RemoveCert.vue:65
msgid "WebSocket connection error"
msgstr "Lỗi kết nối WebSocket"

#: src/views/preference/components/ExternalNotify/wecom.ts:5
msgid "WeCom"
msgstr "WeCom"

#: src/views/backup/AutoBackup/components/CronEditor.vue:29
msgid "Wednesday"
msgstr "Thứ Tư"

#: src/views/backup/AutoBackup/components/CronEditor.vue:20
msgid "Weekly"
msgstr "Hàng tuần"

#: src/views/backup/AutoBackup/AutoBackup.vue:134
msgid "Weekly on %{day} at %{time}"
msgstr "Hàng tuần vào %{day} lúc %{time}"

#: src/views/dns/components/DNSRecordForm.vue:85
#: src/views/dns/components/DNSRecordTable.vue:38
msgid "Weight"
msgstr "Trọng lượng"

#: src/views/dns/DDNSManager.vue:400
msgid ""
"When enabled, DDNS owns the selected names: it auto-pairs sibling family "
"records, creates missing records, and removes records whose IP family is "
"unreachable. Disable to manage only the records you explicitly selected and "
"keep all other DNS state untouched."
msgstr ""
"Khi được bật, DDNS sở hữu các tên đã chọn: nó tự động ghép cặp các bản ghi "
"cùng họ, tạo các bản ghi bị thiếu và xóa các bản ghi có họ IP không thể "
"truy cập. Tắt để chỉ quản lý các bản ghi bạn đã chọn rõ ràng và giữ nguyên "
"toàn bộ trạng thái DNS khác."

#: src/views/certificate/ACMEUser.vue:110
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr ""
"Khi được bật, Nginx UI sẽ tự động đăng ký lại người dùng khi khởi động. Nói "
"chung, không bật tính năng này trừ khi bạn đang ở trong môi trường phát "
"triển và sử dụng Pebble làm CA."

#: src/views/site/site_edit/components/RightPanel/Basic.vue:62
#: src/views/stream/components/RightPanel/Basic.vue:57
msgid ""
"When you enable/disable, delete, or save this site, the nodes set in the "
"namespace and the nodes selected below will be synchronized."
msgstr ""
"Khi bạn bật/tắt, xóa hoặc lưu trang web này, các nút được đặt trong không "
"gian tên và các nút được chọn bên dưới sẽ được đồng bộ hóa."

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:144
msgid ""
"When you generate new recovery codes, you must download or print the new "
"codes."
msgstr "Khi bạn tạo mã khôi phục mới, bạn phải tải xuống hoặc in các mã mới."

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:159
msgid "Whether to use a temporary path when writing temporary files"
msgstr "Có sử dụng đường dẫn tạm thời khi ghi các tập tin tạm thời hay không"

#: src/views/certificate/components/DNSIssueCertificate.vue:171
msgid "Wildcard Certificate"
msgstr "Chứng Chỉ Wildcard"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48
msgid "Worker Connections"
msgstr "Kết nối worker"

#: src/composables/usePerformanceMetrics.ts:55
#: src/views/dashboard/components/ConnectionMetricsCard.vue:48
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25
#: src/views/dashboard/components/ProcessDistributionCard.vue:12
msgid "Worker Processes"
msgstr "Tiến trình công nhân"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
msgid "Workers"
msgstr "Công nhân"

#: src/layouts/HeaderLayout.vue:67 src/routes/index.ts:63
#: src/views/workspace/WorkSpace.vue:51
msgid "Workspace"
msgstr "Không gian làm việc"

#: src/constants/errors/cert.ts:21
msgid "Write fullchain.cer error: {0}"
msgstr "Lỗi ghi fullchain.cer: {0}"

#: src/constants/errors/cert.ts:22
msgid "Write private.key error: {0}"
msgstr "Lỗi ghi private.key: {0}"

#: src/views/dashboard/ServerAnalytic.vue:37
#: src/views/dashboard/ServerAnalytic.vue:381
msgid "Writes"
msgstr "Ghi"

#: src/language/constants.ts:17
msgid "Writing certificate private key to disk"
msgstr "Ghi Private Key vào disk"

#: src/language/constants.ts:16
msgid "Writing certificate to disk"
msgstr "Ghi chứng chỉ vào disk"

#: src/components/NamespaceTabs/NamespaceTabs.vue:135
#: src/components/NamespaceTabs/NamespaceTabs.vue:147
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:123
#: src/components/NgxConfigEditor/LocationEditor.vue:100
#: src/views/nginx_log/indexing/IndexManagement.vue:31
#: src/views/nginx_log/indexing/IndexManagement.vue:57
#: src/views/preference/tabs/AuthSettings.vue:127
#: src/views/preference/tabs/CertSettings.vue:78
msgid "Yes"
msgstr "Có"

#: src/views/terminal/Terminal.vue:219
msgid ""
"You are accessing this terminal over an insecure HTTP connection on a "
"non-localhost domain. This may expose sensitive information."
msgstr ""
"Bạn đang truy cập thiết bị đầu cuối này thông qua kết nối HTTP không an "
"toàn trên một miền không phải localhost. Điều này có thể làm lộ thông tin "
"nhạy cảm."

#: src/constants/errors/config.ts:12
msgid "You are not allowed to delete a file outside of the nginx config path"
msgstr "Bạn không được phép xóa một tệp bên ngoài đường dẫn cấu hình nginx"

#: src/views/system/Upgrade.vue:224
msgid "You are using the latest version"
msgstr "Bạn đang sử dụng phiên bản mới nhất"

#: src/views/system/Upgrade.vue:180
msgid "You can check Nginx UI upgrade at this page."
msgstr "Bạn có thể kiểm tra nâng cấp Nginx UI tại trang này"

#: src/components/SystemRestore/SystemRestoreContent.vue:371
msgid "You can close this dialog in %{countdown} seconds"
msgstr "Bạn có thể đóng hộp thoại này sau %{countdown} giây"

#: src/components/SystemRestore/SystemRestoreContent.vue:374
msgid "You can close this dialog now"
msgstr "Bạn có thể đóng hộp thoại này ngay bây giờ"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:93
msgid ""
"You have not configured the settings of Webauthn, so you cannot add a "
"passkey."
msgstr "Bạn chưa cấu hình cài đặt WebAuthn, vì vậy không thể thêm khóa truy cập."

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:82
msgid "You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
msgstr ""
"Bạn chưa bật xác thực hai yếu tố. Vui lòng bật xác thực hai yếu tố để tạo "
"mã khôi phục."

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:98
msgid "You have not generated recovery codes yet."
msgstr "Bạn chưa tạo mã khôi phục."

#: src/components/TwoFA/Authorization.vue:73
msgid ""
"Your account still uses a legacy recovery code. Generate new recovery codes "
"after verification to keep account recovery secure."
msgstr ""
"Tài khoản của bạn vẫn đang sử dụng mã khôi phục cũ. Hãy tạo mã khôi phục "
"mới sau khi xác minh để giữ an toàn cho việc khôi phục tài khoản."

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:92
msgid ""
"Your account uses a deprecated legacy recovery code. Generate new recovery "
"codes now to complete migration and keep account recovery secure."
msgstr ""
"Tài khoản của bạn đang sử dụng mã khôi phục cũ không còn được hỗ trợ. Hãy "
"tạo mã khôi phục mới ngay bây giờ để hoàn tất quá trình chuyển đổi và giữ "
"an toàn cho việc khôi phục tài khoản."

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:95
msgid ""
"Your current recovery code might be outdated and insecure. Please generate "
"new recovery codes at your earliest convenience to ensure security."
msgstr ""
"Mã khôi phục hiện tại của bạn có thể đã lỗi thời và không an toàn. Vui lòng "
"tạo mã khôi phục mới càng sớm càng tốt để đảm bảo an toàn."

#: src/components/TwoFA/use2FAModal.ts:32
msgid ""
"Your legacy recovery code has been used and cannot be used again. Generate "
"new recovery codes now to keep account recovery available."
msgstr ""
"Mã khôi phục cũ của bạn đã được sử dụng và không thể dùng lại. Hãy tạo mã "
"khôi phục mới ngay bây giờ để giữ cho tính năng khôi phục tài khoản luôn "
"sẵn sàng."

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:146
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:159
msgid "Your old codes won't work anymore."
msgstr "Mã cũ của bạn sẽ không còn hoạt động nữa."

#: src/views/preference/components/AuthSettings/Passkey.vue:76
msgid "Your passkeys"
msgstr "Khóa truy cập của bạn"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:232
msgid "Zero-allocation pipeline"
msgstr "Đường ống không cấp phát"

#, fuzzy
#~ msgid "All checks passed — you may save the configuration."
#~ msgstr "Nginx không thể xác thực cấu hình."

#, fuzzy
#~ msgid "Authentication method"
#~ msgstr "Đang xác thực..."

#, fuzzy
#~ msgid "Connection"
#~ msgstr "Đã kết nối"

#, fuzzy
#~ msgid "Container"
#~ msgstr "Nội dung"

#, fuzzy
#~ msgid "Copy fix"
#~ msgstr "Sao chép"

#, fuzzy
#~ msgid "External Container"
#~ msgstr "Container Docker bên ngoài"

#, fuzzy
#~ msgid "Generate keypair"
#~ msgstr "Tạo"

#, fuzzy
#~ msgid "override file"
#~ msgstr "Ghi đè tập tin đã tồn tại"

#, fuzzy
#~ msgid "Regenerate keypair"
#~ msgstr "Tạo lại câu trả lời"

#, fuzzy
#~ msgid "Remote address detected"
#~ msgstr "Không có nút nào được chọn"

#, fuzzy
#~ msgid "Run verification"
#~ msgstr "Gia hạn chứng chỉ"

#, fuzzy
#~ msgid "SSH key (recommended)"
#~ msgstr "Khuyên dùng 2+ lõi"

#~ msgid "Type or select A/AAAA records"
#~ msgstr "Nhập hoặc chọn bản ghi A/AAAA"

#, fuzzy
#~ msgid "Verify"
#~ msgstr "Xác minh bí mật"

#~ msgid "OpenAI"
#~ msgstr "OpenAI"

#~ msgid "Backup file integrity check failed, it may have been tampered with"
#~ msgstr "Kiểm tra tính toàn vẹn của tập tin sao lưu thất bại, có thể đã bị can thiệp"

#~ msgid "Once the verification is complete, the records will be removed."
#~ msgstr "Sau khi quá trình xác minh hoàn tất, bản ghi sẽ bị xóa."

#~ msgid ""
#~ "We will add one or more TXT records to the DNS records of your domain for "
#~ "ownership verification."
#~ msgstr ""
#~ "Chúng tôi sẽ thêm một hoặc nhiều bản ghi TXT để xác minh quyền sở hữu tên "
#~ "miền của bạn."

#~ msgid "Settings"
#~ msgstr "Cài đặt"

#~ msgid "Site Navigation"
#~ msgstr "Điều hướng trang web"

#~ msgid "Total %{total} items"
#~ msgstr "Tổng %{total} mục"

#~ msgid "WebSocket not connected, please wait for connection"
#~ msgstr "WebSocket chưa được kết nối, vui lòng chờ kết nối"

#~ msgid "in the same directory as"
#~ msgstr "trong cùng thư mục với"

#~ msgid "Sandbox test successful"
#~ msgstr "Kiểm tra sandbox thành công"

#~ msgid "Tested in isolated sandbox mode"
#~ msgstr "Đã kiểm tra trong chế độ sandbox cách ly"

#~ msgid "Based on M2 Pro (12 cores) testing"
#~ msgstr "Dựa trên thử nghiệm M2 Pro (12 lõi)"

#~ msgid "CPU Utilization"
#~ msgstr "Mức sử dụng CPU"

#~ msgid "Indexing Throughput"
#~ msgstr "Thông lượng lập chỉ mục"

#~ msgid "Memory Efficiency"
#~ msgstr "Hiệu suất bộ nhớ"

#~ msgid "Performance Impact Notice"
#~ msgstr "Thông báo ảnh hưởng hiệu suất"

#~ msgid "Zero-allocation pipeline optimization"
#~ msgstr "Tối ưu hóa đường ống không cấp phát"

#~ msgid "Ask ChatGPT for Help"
#~ msgstr "Hỏi ChatGPT"

#~ msgid "Geographic mapping & insights"
#~ msgstr "Bản đồ địa lý & thông tin chi tiết"

#~ msgid "No feature requests accepted."
#~ msgstr "Không chấp nhận yêu cầu tính năng"

#~ msgid "Time-series trend analysis"
#~ msgstr "Phân tích xu hướng chuỗi thời gian"

#~ msgid "User-Agent & browser analytics"
#~ msgstr "Phân tích User-Agent và trình duyệt"

#~ msgid "12+ cores (Apple M2 Pro or Intel equivalent)"
#~ msgstr "12+ lõi (Apple M2 Pro hoặc tương đương Intel)"

#~ msgid "4GB+ RAM for optimal performance"
#~ msgstr "RAM 4GB+ để có hiệu suất tối ưu"

#~ msgid "Adaptive batch sizing"
#~ msgstr "Kích thước lô thích ứng"

#~ msgid "CPU Architecture"
#~ msgstr "Kiến trúc CPU"

#~ msgid "GeoIP and User-Agent parsing"
#~ msgstr "Phân tích GeoIP và User-Agent"

#~ msgid "Minimum 1GB RAM"
#~ msgstr "Tối thiểu 1GB RAM"

#~ msgid "Modern CPU (x86_64, ARM64)"
#~ msgstr "CPU hiện đại (x86_64, ARM64)"

#~ msgid "Real-time performance monitoring"
#~ msgstr "Giám sát hiệu suất thời gian thực"

#~ msgid "Sustained performance on modern hardware"
#~ msgstr "Hiệu suất ổn định trên phần cứng hiện đại"

#~ msgid "Backup path not in granted access paths: {0}"
#~ msgstr "Đường dẫn sao lưu không nằm trong các đường dẫn truy cập được cấp: {0}"

#~ msgid "Build with"
#~ msgstr "Xây dựng với"

#~ msgid "Failed to copy database directory: {0}"
#~ msgstr "Không thể sao chép thư mục cơ sở dữ liệu: {0}"

#~ msgid "Failed to create backup directory: {0}"
#~ msgstr "Không thể tạo thư mục sao lưu: {0}"

#~ msgid "Failed to evaluate symbolic links: {0}"
#~ msgstr "Không thể đánh giá liên kết tượng trưng: {0}"

#~ msgid "Failed to restore Nginx UI files: {0}"
#~ msgstr "Khôi phục tệp giao diện Nginx thất bại: {0}"

#~ msgid "Failed to write to zip buffer: {0}"
#~ msgstr "Không thể ghi vào bộ đệm zip: {0}"

#~ msgid "Hash verification failed: file integrity compromised"
#~ msgstr "Xác minh hash thất bại: tính toàn vẹn của tệp bị xâm phạm"

#~ msgid "S3 bucket access denied: {0}"
#~ msgstr "Truy cập vào bộ chứa S3 bị từ chối: {0}"

#~ msgid "S3 connection test failed: {0}"
#~ msgstr "Kiểm tra kết nối S3 thất bại: {0}"

#~ msgid "S3 credentials are invalid: {0}"
#~ msgstr "Thông tin xác thực S3 không hợp lệ: {0}"

#~ msgid "S3 endpoint is invalid: {0}"
#~ msgstr "Điểm cuối S3 không hợp lệ: {0}"

#~ msgid "Storage path not in granted access paths: {0}"
#~ msgstr "Đường dẫn lưu trữ không nằm trong các đường dẫn truy cập được cấp: {0}"

#~ msgid "files"
#~ msgstr "tệp"

#~ msgid "Indexing logs, please wait..."
#~ msgstr "Đang lập chỉ mục nhật ký, vui lòng chờ..."

#~ msgid "Loading dashboard data..."
#~ msgstr "Đang tải dữ liệu bảng điều khiển..."

#~ msgid "Today"
#~ msgstr "Hôm nay"

#~ msgid "Data refreshed successfully"
#~ msgstr "Dữ liệu đã được cập nhật thành công"

#~ msgid "Failed to refresh data"
#~ msgstr "Không thể làm mới dữ liệu"

#~ msgid "Log File:"
#~ msgstr "Tập tin nhật ký:"

#~ msgid "Log path"
#~ msgstr "Đường dẫn nhật ký"

#~ msgid "Index Size"
#~ msgstr "Kích thước chỉ mục"

#, fuzzy
#~ msgid "File Size"
#~ msgstr "Kích thước trang"

#~ msgid "Environments"
#~ msgstr "Môi trường"

#~ msgid "Node Group"
#~ msgstr "Nhóm nút"

#~ msgid "Node Groups"
#~ msgstr "Nhóm nút"

#~ msgid "Check if the conf.d directory exists"
#~ msgstr "Kiểm tra xem thư mục conf.d có tồn tại không"

#~ msgid ""
#~ "Support communication with the backend through the Server-Sent Events "
#~ "protocol. If your Nginx UI is being used via an Nginx reverse proxy, please "
#~ "refer to this link to write the corresponding configuration file: "
#~ "https://nginxui.com/guide/nginx-proxy-example.html"
#~ msgstr ""
#~ "Hỗ trợ giao tiếp với backend thông qua giao thức Server-Sent Events. Nếu "
#~ "Nginx UI của bạn đang được sử dụng qua proxy ngược Nginx, vui lòng tham "
#~ "khảo liên kết này để viết tệp cấu hình tương ứng: "
#~ "https://nginxui.com/guide/nginx-proxy-example.html"

#~ msgid "If left blank, the default CA Dir will be used."
#~ msgstr "Nếu để trống, thư mục CA mặc định sẽ được sử dụng."

#~ msgid "Save error %{msg}"
#~ msgstr "Đã xảy ra lỗi khi lưu %{msg}"

#~ msgid "Main"
#~ msgstr "Chính"

#~ msgid "Select an action after sync"
#~ msgstr "Chọn hành động sau khi đồng bộ"

#~ msgid "Link Start"
#~ msgstr "Liên kết bắt đầu"

#~ msgid "Enable failed"
#~ msgstr "Bật không thành công"

#~ msgid "Create"
#~ msgstr "Tạo"

#~ msgid "Do you want to disable this stream?"
#~ msgstr "Bạn có muốn tắt luồng này không?"

#~ msgid "Both Config"
#~ msgstr "Cả hai cấu hình"

#~ msgid "Nginx Config"
#~ msgstr "Cấu hình Nginx"

#~ msgid "Nginx UI Config"
#~ msgstr "Cấu hình giao diện Nginx"

#~ msgid "Last Backup Error"
#~ msgstr "Lỗi sao lưu cuối cùng"

#~ msgid "Apply bulk action successfully"
#~ msgstr "Áp dụng hành động hàng loạt thành công"

#~ msgid "Are you sure you want to apply to all selected?"
#~ msgstr "Bạn có chắc chắn muốn áp dụng cho tất cả các mục đã chọn không?"

#~ msgid "Are you sure you want to recover this item?"
#~ msgstr "Bạn có chắc chắn muốn khôi phục mục này không?"

#~ msgid "Batch Actions"
#~ msgstr "Hành động hàng loạt"

#~ msgid "Modify Mode"
#~ msgstr "Chế độ chỉnh sửa"

#~ msgid "Ok"
#~ msgstr "Đồng ý"

#~ msgid "Recover"
#~ msgstr "Khôi phục"

#~ msgid "Recovered Successfully"
#~ msgstr "Khôi phục thành công"

#~ msgid "View Details"
#~ msgstr "Xem chi tiết"

#~ msgid "View Mode"
#~ msgstr "Chế độ xem"

#~ msgid ""
#~ "Check if /var/run/docker.sock exists. If you are using Nginx UI Official "
#~ "Docker Image, please make sure the docker socket is mounted like this: `-v "
#~ "/var/run/docker.sock:/var/run/docker.sock`."
#~ msgstr ""
#~ "Kiểm tra xem /var/run/docker.sock có tồn tại không. Nếu bạn đang sử dụng "
#~ "Docker Image chính thức của Nginx UI, hãy đảm bảo rằng ổ cắm Docker được "
#~ "gắn như sau: `-v /var/run/docker.sock:/var/run/docker.sock`."

#~ msgid "Check if the nginx access log path exists"
#~ msgstr "Kiểm tra xem đường dẫn nhật ký truy cập nginx có tồn tại không"

#~ msgid "Check if the nginx error log path exists"
#~ msgstr "Kiểm tra xem đường dẫn nhật ký lỗi nginx có tồn tại không"

#~ msgid "Check if the docker socket exists."
#~ msgstr "Kiểm tra xem ổ cắm Docker có tồn tại không."

#~ msgid "Database (Optional, default: database)"
#~ msgstr "Tên cơ sở dữ liệu (Tuỳ chọn, Mặc định là: database)"

#~ msgid "The filename cannot contain the following characters: %{c}"
#~ msgstr "Tên tệp không thể chứa các ký tự sau: %{c}"

#, fuzzy
#~ msgid "AutoCert is running, please wait"
#~ msgstr "Mục Chứng chỉ tự động này không hợp lệ, vui lòng xóa nó"

#, fuzzy
#~ msgid "Format error %{msg}"
#~ msgstr "Lưu lỗi %{msg}"

#, fuzzy
#~ msgid "Server URL"
#~ msgstr "Thông tin máy chủ"

#, fuzzy
#~ msgid "Created At"
#~ msgstr "Ngày tạo"

#~ msgid "Deploy %{conf_name} to %{node_name} successfully"
#~ msgstr "Triển khai %{conf_name} tới %{node_name} thành công"

#, fuzzy
#~ msgid "Deploy successfully"
#~ msgstr "Triển khai thành công"

#, fuzzy
#~ msgid "Disable site %{site} on %{node} error, response: %{resp}"
#~ msgstr "Đã bật %{conf_name} trên %{node_name}"

#, fuzzy
#~ msgid "Do you want to deploy this file to remote server?"
#~ msgid_plural "Do you want to deploy this file to remote servers?"
#~ msgstr[0] "Bạn có muốn triển khai tệp này đến máy chủ từ xa không?"
#~ msgstr[1] "Bạn có muốn triển khai tệp này đến máy chủ từ xa không?"

#, fuzzy
#~ msgid "Duplicate %{conf_name} to %{node_name} successfully"
#~ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"

#, fuzzy
#~ msgid "Duplicate successfully"
#~ msgstr "Nhân bản thành công"

#~ msgid "Enable %{conf_name} in %{node_name} successfully"
#~ msgstr "Đã bật %{conf_name} trên %{node_name}"

#, fuzzy
#~ msgid "Enable successfully"
#~ msgstr "Đã bật"

#, fuzzy
#~ msgid "Please upgrade the remote Nginx UI to the latest version"
#~ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"

#, fuzzy
#~ msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
#~ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"

#, fuzzy
#~ msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
#~ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"

#, fuzzy
#~ msgid "Save site %{site} to %{node} error, response: %{resp}"
#~ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"

#, fuzzy
#~ msgid ""
#~ "Sync Certificate %{cert_name} to %{env_name} failed, please upgrade the "
#~ "remote Nginx UI to the latest version"
#~ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"

#, fuzzy
#~ msgid "Sync Certificate %{cert_name} to %{env_name} failed, response: %{resp}"
#~ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"

#, fuzzy
#~ msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
#~ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"

#, fuzzy
#~ msgid "Incorrect username or password"
#~ msgstr "Tên người dùng hoặc mật khẩu không chính xác"

#, fuzzy
#~ msgid ""
#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
#~ "the remote Nginx UI to the latest version"
#~ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"

#, fuzzy
#~ msgid "Enable 2FA"
#~ msgstr "Đã bật"

#, fuzzy
#~ msgid "Rename "
#~ msgstr "Username"

#~ msgid "Certificate is valid"
#~ msgstr "Chứng chỉ SSL hợp lệ"

#~ msgid "Intermediate Certification Authorities: %{issuer}"
#~ msgstr "Cơ quan cấp chứng chỉ: %{issuer}"

#, fuzzy
#~ msgid "Subject Name: %{subject}"
#~ msgstr "Tên chủ đề: %{name}"

#, fuzzy
#~ msgid "Save Successfully"
#~ msgstr "Lưu thành công"

#, fuzzy
#~ msgid "Table"
#~ msgstr "Mục lục"

#, fuzzy
#~ msgid "Inspect Configurations"
#~ msgstr "Kiểm tra cấu hình"

#~ msgid "server_name parameters more than one"
#~ msgstr "nhiều hơn một tham số server_name"

#~ msgid "404 Not Found"
#~ msgstr "404 Not Found"

#~ msgid "DNS record management only"
#~ msgstr "Chỉ quản lý bản ghi DNS"

#~ msgid ""
#~ "DNS Domains are used for DNS record management in NGINX UI and are separate "
#~ "from ACME DNS-01 certificate challenges."
#~ msgstr ""
#~ "Miền DNS được dùng để quản lý bản ghi DNS trong NGINX UI và tách biệt với "
#~ "thử thách chứng chỉ ACME DNS-01."

#~ msgid ""
#~ "Currently, DNS record management supports Alibaba Cloud DNS, Tencent Cloud "
#~ "DNS, and Cloudflare only."
#~ msgstr ""
#~ "Hiện tại, quản lý bản ghi DNS chỉ hỗ trợ Alibaba Cloud DNS, Tencent Cloud "
#~ "DNS và Cloudflare."

#~ msgid ""
#~ "For ACME DNS-01 certificate issuance, create DNS credentials under DNS > "
#~ "Credentials and select them in certificate settings."
#~ msgstr ""
#~ "Để cấp chứng chỉ ACME DNS-01, hãy tạo thông tin xác thực DNS trong DNS > "
#~ "Thông tin xác thực và chọn chúng trong cài đặt chứng chỉ."

#~ msgid "DNS Domains only use providers with DNS record management implementations."
#~ msgstr "DNS Domains chỉ sử dụng các nhà cung cấp có triển khai quản lý bản ghi DNS."

#: src/views/certificate/CertificateList/Certificate.vue:91
msgid "Failed to scan certificates"
msgstr "Không quét được chứng chỉ"

#: src/views/certificate/CertificateList/Certificate.vue:107
msgid "Please select at least one certificate"
msgstr "Vui lòng chọn ít nhất một chứng chỉ"

#: src/views/certificate/CertificateList/Certificate.vue:121
msgid "Import successfully"
msgstr "Nhập thành công"

#: src/views/certificate/CertificateList/Certificate.vue:127
msgid "Failed to import certificate"
msgstr "Không nhập được chứng chỉ"

#: src/views/certificate/CertificateList/Certificate.vue:144
msgid "Discover"
msgstr "Khám phá"

#: src/views/certificate/CertificateList/Certificate.vue:196
msgid "Discover Certificates"
msgstr "Khám phá chứng chỉ"

#: src/views/certificate/CertificateList/Certificate.vue:197
msgid "Import selected"
msgstr "Nhập mục đã chọn"

#: src/views/certificate/CertificateList/Certificate.vue:208
msgid "Scan"
msgstr "Quét"
