msgid ""
msgstr ""
"Project-Id-Version: GrabWP Tenancy 1.1.2\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/grabwp-tenancy\n"
"Last-Translator: GrabWP Team\n"
"Language-Team: Vietnamese\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2026-11-01T09:49:28+00:00\n"
"PO-Revision-Date: 2026-11-07 19:28+0000\n"
"Language: vi\n"
"X-Generator: WP-CLI 2.12.0\n"
"X-Domain: grabwp-tenancy\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. Plugin Name of the plugin
#: grabwp-tenancy.php
#: admin/views/tenant-edit.php:161
#: admin/views/tenants.php:16
#: includes/class-grabwp-tenancy-admin.php:273
#: includes/class-grabwp-tenancy-admin.php:550
#: includes/class-grabwp-tenancy-diagnostics.php:291
msgid "GrabWP Tenancy"
msgstr "GrabWP Tenancy"

#. Plugin URI of the plugin
#: grabwp-tenancy.php
msgid "https://grabwp.com/tenancy"
msgstr "https://grabwp.com/tenancy"

#. Description of the plugin
#: grabwp-tenancy.php
msgid "Foundation multi-tenant WordPress solution with shared MySQL database and separated uploads. Designed to be extended by GrabWP Tenancy Pro for advanced features."
msgstr "Giải pháp WordPress đa website (multisite) với cơ sở dữ liệu MySQL chung và thư mục tải lên riêng biệt. Được thiết kế để có thể mở rộng bằng GrabWP Tenancy Pro để tích hợp các tính năng nâng cao."

#. Author of the plugin
#: grabwp-tenancy.php
msgid "GrabWP"
msgstr "GrabWP"

#. Author URI of the plugin
#: grabwp-tenancy.php
msgid "https://grabwp.com"
msgstr "https://grabwp.com"

#: admin/class-grabwp-tenancy-list-table.php:69
msgid "Tenants per page"
msgstr "Số tenant mỗi trang"

#: admin/class-grabwp-tenancy-list-table.php:84
#: admin/views/tenant-clone.php:91
#: admin/views/tenant-edit.php:67
msgid "Tenant ID"
msgstr "Mã tenant"

#: admin/class-grabwp-tenancy-list-table.php:85
#: admin/views/tenant-clone.php:92
#: admin/views/tenant-edit.php:90
msgid "Domains"
msgstr "Tên miền"

#: admin/class-grabwp-tenancy-list-table.php:90
#: admin/class-grabwp-tenancy-tag-list-table.php:62
msgid "Actions"
msgstr "Thao tác"

#: admin/class-grabwp-tenancy-list-table.php:294
#: admin/views/tenant-create.php:38
msgid "Main Site"
msgstr "Site chính"

#. translators: %d: number of domains stored for the site.
#: admin/class-grabwp-tenancy-list-table.php:417
#, php-format
msgid "%d stored domain, not used in Path mode"
msgid_plural "%d stored domains, not used in Path mode"
msgstr[0] "%d tên miền đã lưu, không dùng ở chế độ Đường dẫn"

#: admin/class-grabwp-tenancy-list-table.php:439
msgid "Path access only"
msgstr "Chỉ truy cập qua đường dẫn"

#: admin/class-grabwp-tenancy-list-table.php:442
msgid "No domains assigned"
msgstr "Chưa gán tên miền"

#: admin/class-grabwp-tenancy-list-table.php:458
#: admin/class-grabwp-tenancy-list-table.php:469
msgid "Visit Site"
msgstr "Xem trang web"

#: admin/class-grabwp-tenancy-list-table.php:472
msgid "Admin"
msgstr "Quản trị"

#: admin/class-grabwp-tenancy-list-table.php:476
#: admin/views/status-base.php:82
#: includes/class-grabwp-tenancy-admin.php:323
#: includes/class-grabwp-tenancy-admin.php:324
msgid "Settings"
msgstr "Cài đặt"

#. translators: %s: search term
#: admin/class-grabwp-tenancy-list-table.php:530
#, php-format
msgid "No tenants found matching \"%s\"."
msgstr "Không tìm thấy tenant nào khớp với \"%s\"."

#: admin/class-grabwp-tenancy-list-table.php:536
msgid "No tenants found."
msgstr "Không tìm thấy tenant nào."

#: admin/class-grabwp-tenancy-list-table.php:679
msgid "Search Tenants"
msgstr "Tìm kiếm tenant"

#: admin/class-grabwp-tenancy-list-table.php:680
msgid "Search by ID or domain..."
msgstr "Tìm theo ID hoặc tên miền..."

#: admin/class-grabwp-tenancy-list-table.php:681
msgid "Search"
msgstr "Tìm kiếm"

#. translators: %s: example path URL of a site.
#: admin/views/partials/routing-mode-options.php:20
#, php-format
msgid "Every site opens at %s. Works right away, no DNS needed. Domains you add are kept but not used for links."
msgstr "Mỗi trang web mở tại %s. Dùng được ngay, không cần DNS. Tên miền bạn thêm vẫn được lưu nhưng không dùng cho liên kết."

#: admin/views/partials/routing-mode-options.php:23
msgid "Every site opens on its own domain. Visitors who open a path URL of a site are redirected (301) to its domain. Every site needs a domain."
msgstr "Mỗi trang web mở trên tên miền riêng. Khách truy cập mở URL đường dẫn của trang web sẽ được chuyển hướng (301) đến tên miền của trang đó. Mỗi trang web cần có một tên miền."

#: admin/views/partials/routing-mode-options.php:24
msgid "Sites with a domain open on it; sites without one open on the path URL. Both addresses keep working. This is how GrabWP worked before routing modes."
msgstr "Trang web có tên miền sẽ mở trên tên miền đó; trang web chưa có sẽ mở trên URL đường dẫn. Cả hai địa chỉ đều tiếp tục hoạt động. Đây là cách GrabWP hoạt động trước khi có các chế độ định tuyến."

#: admin/views/partials/routing-mode-options.php:28
#: admin/views/partials/settings-routing.php:43
#: admin/views/setup-steps/routing.php:78
#: includes/class-grabwp-tenancy-diagnostics.php:215
msgid "Routing mode"
msgstr "Chế độ định tuyến"

#: admin/views/partials/settings-field-rows.php:43
#: admin/views/partials/settings-management.php:37
#: admin/views/partials/system-check.php:100
msgid "Yes"
msgstr "Có"

#. translators: %s: technical constant or setting name, e.g. DISALLOW_FILE_MODS=true
#: admin/views/partials/settings-field-rows.php:47
#, php-format
msgid "Yes, %s"
msgstr "Có, %s"

#. translators: %s: constant name.
#: admin/views/partials/settings-routing.php:21
#: admin/views/setup-steps/routing.php:62
#, php-format
msgid "The routing mode is set by %s in wp-config.php. Remove the constant to change it here."
msgstr "Chế độ định tuyến được đặt bởi %s trong wp-config.php. Hãy xóa hằng số đó để thay đổi tại đây."

#. translators: %s: constant name.
#: admin/views/partials/settings-routing.php:33
#, php-format
msgid "%s in wp-config.php is not a valid mode (path, domain or both), so it is ignored."
msgstr "%s trong wp-config.php không phải là chế độ hợp lệ (path, domain hoặc both), nên đã bị bỏ qua."

#: admin/views/partials/settings-routing.php:46
msgid "Not saved yet. Your sites use Path and domain, the behaviour from before routing modes."
msgstr "Chưa được lưu. Các trang web của bạn đang dùng chế độ Đường dẫn và tên miền, theo cách hoạt động trước khi có chế độ định tuyến."

#: admin/views/partials/settings-routing.php:63
#: includes/class-grabwp-tenancy-diagnostics.php:216
msgid "Path prefix"
msgstr "Tiền tố đường dẫn"

#: admin/views/partials/settings-routing.php:66
msgid "GrabWP Tenancy Pro can change the prefix and give each site a readable alias."
msgstr "GrabWP Tenancy Pro có thể thay đổi tiền tố và đặt đường dẫn bí danh dễ đọc cho mỗi trang web."

#: admin/views/partials/setup-file-safety-card.php:25
#: admin/views/partials/setup-file-safety-card.php:38
msgid "Tenant file safety"
msgstr "An toàn tệp của tenant"

#: admin/views/partials/setup-file-safety-card.php:26
#: admin/views/partials/system-check.php:51
msgid "OK"
msgstr "OK"

#: admin/views/partials/setup-file-safety-card.php:28
msgid "Tenant admins cannot install or edit plugin and theme code."
msgstr "Quản trị viên của tenant không thể cài đặt hoặc chỉnh sửa mã plugin và giao diện."

#: admin/views/partials/setup-file-safety-card.php:39
msgctxt "file safety status"
msgid "Unsafe"
msgstr "Không an toàn"

#: admin/views/partials/setup-file-safety-card.php:41
msgid "Tenant admins can install or edit plugin and theme code. That code runs on this server and can read the secret keys every site shares."
msgstr "Quản trị viên tenant có thể cài đặt hoặc sửa mã plugin và giao diện. Mã đó chạy trên máy chủ này và có thể đọc các khóa bí mật mà mọi trang dùng chung."

#. translators: %s: setting name, e.g. Disable Plugin & Theme File Editor
#: admin/views/partials/setup-file-safety-card.php:50
#, php-format
msgid "Turn on %s in Settings."
msgstr "Bật %s trong Cài đặt."

#. translators: 1: constant name, e.g. DISALLOW_FILE_EDIT, 2: the value false, 3: the value true
#: admin/views/partials/setup-file-safety-card.php:56
#, php-format
msgid "Code that loads before GrabWP, usually wp-config.php, sets %1$s to %2$s. Change it to %3$s or remove that line."
msgstr "Mã được tải trước GrabWP, thường là wp-config.php, đặt %1$s thành %2$s. Hãy đổi thành %3$s hoặc xóa dòng đó."

#. translators: 1: site ID, followed by its domain when known, 2: constant names, e.g. DISALLOW_FILE_EDIT, 3: the value false
#: admin/views/partials/setup-file-safety-card.php:84
#, php-format
msgid "A per-site override sets %2$s to %3$s for site %1$s. In that site's Overrides screen (GrabWP Pro), choose Yes or Use global setting."
msgstr "Một ghi đè riêng cho site đặt %2$s thành %3$s cho site %1$s. Trong màn hình Ghi đè của site đó (GrabWP Pro), chọn Có hoặc Dùng cài đặt toàn cục."

#: admin/views/partials/setup-file-safety-card.php:95
msgid "Open Settings"
msgstr "Mở Cài đặt"

#: admin/views/partials/setup-hosting-card.php:27
msgid "Multisite and wp-config.php"
msgstr "Multisite và wp-config.php"

#: admin/views/partials/setup-hosting-card.php:28
msgid "Secure address"
msgstr "Địa chỉ bảo mật"

#: admin/views/partials/setup-hosting-card.php:29
msgid "HTTPS behind a proxy"
msgstr "HTTPS phía sau proxy"

#: admin/views/partials/setup-hosting-card.php:30
msgid "Subdomains (wildcard)"
msgstr "Tên miền phụ (wildcard)"

#: admin/views/partials/setup-hosting-card.php:69
msgid "Working..."
msgstr "Đang xử lý..."

#: admin/views/partials/setup-hosting-card.php:70
msgid "Network error. Check again."
msgstr "Lỗi mạng. Hãy kiểm tra lại."

#: admin/views/partials/setup-hosting-card.php:72
msgid "Hosting setup"
msgstr "Thiết lập hosting"

#: admin/views/partials/setup-hosting-card.php:74
msgid "✓ Ready"
msgstr "✓ Sẵn sàng"

#. translators: 1: rows that need attention, 2: number of rows.
#: admin/views/partials/setup-hosting-card.php:80
#, php-format
msgid "%1$d of %2$d needs attention"
msgid_plural "%1$d of %2$d need attention"
msgstr[0] "%1$d/%2$d mục cần chú ý"

#. translators: %d: number of sites in the Multisite network.
#: admin/views/partials/setup-hosting-card.php:100
#, php-format
msgid "This is a Multisite network with %d sites. Do not convert it: back up or move those sites first."
msgstr "Đây là mạng Multisite có %d trang web. Đừng chuyển đổi: hãy sao lưu hoặc di chuyển các trang web đó trước."

#: admin/views/partials/setup-hosting-card.php:105
msgid "This site still runs as WordPress Multisite. GrabWP needs regular WordPress. Remove every line below."
msgstr "Trang web này vẫn đang chạy WordPress Multisite. GrabWP cần WordPress thông thường. Hãy xóa mọi dòng bên dưới."

#: admin/views/partials/setup-hosting-card.php:108
msgid "wp-config.php has settings that stop GrabWP. Remove every line below."
msgstr "wp-config.php có các thiết lập làm GrabWP ngừng hoạt động. Hãy xóa mọi dòng bên dưới."

#: admin/views/partials/setup-hosting-card.php:111
msgid "Regular WordPress. WP_ALLOW_MULTISITE is optional cleanup."
msgstr "WordPress thông thường. Dọn dẹp WP_ALLOW_MULTISITE là tùy chọn."

#: admin/views/partials/setup-hosting-card.php:114
msgid "This site runs as regular WordPress."
msgstr "Trang web này đang chạy WordPress thông thường."

#: admin/views/partials/setup-hosting-card.php:120
msgid "Lines to remove by hand"
msgstr "Các dòng cần xóa thủ công"

#. translators: %s: path of wp-config.php.
#: admin/views/partials/setup-hosting-card.php:126
#, php-format
msgid "In %s:"
msgstr "Trong %s:"

#. translators: 1: line number, 2: PHP code on that line.
#: admin/views/partials/setup-hosting-card.php:143
#, php-format
msgid "Line %1$d: %2$s"
msgstr "Dòng %1$d: %2$s"

#. translators: %s: list of constant names.
#: admin/views/partials/setup-hosting-card.php:157
#, php-format
msgid "Set outside wp-config.php (for example by a host must-use plugin): %s. Ask your host to remove them."
msgstr "Được đặt bên ngoài wp-config.php (ví dụ bởi mu-plugin của hosting): %s. Hãy nhờ nhà cung cấp hosting xóa chúng."

#: admin/views/partials/setup-hosting-card.php:164
msgid "Some of these lines are inside a condition or still used by other code, so GrabWP cannot remove them for you."
msgstr "Một số dòng này nằm trong câu lệnh điều kiện hoặc vẫn được mã khác sử dụng, nên GrabWP không thể tự xóa giúp bạn."

#: admin/views/partials/setup-hosting-card.php:167
msgid "GrabWP never removes these lines for you. After removing them, log in again and activate plugins that were network activated, then Check again."
msgstr "GrabWP không bao giờ tự xóa các dòng này giúp bạn. Sau khi xóa, hãy đăng nhập lại và kích hoạt các plugin từng được kích hoạt cho toàn mạng, rồi nhấn Kiểm tra lại."

#: admin/views/partials/setup-hosting-card.php:175
msgid "Remove these settings"
msgstr "Xóa các thiết lập này"

#: admin/views/partials/setup-hosting-card.php:176
msgid "Remove the settings listed here from wp-config.php? A backup is kept in the GrabWP data folder, and you can undo this here. You may need to log in again."
msgstr "Xóa các thiết lập được liệt kê ở đây khỏi wp-config.php? Một bản sao lưu được giữ trong thư mục dữ liệu GrabWP và bạn có thể hoàn tác tại đây. Bạn có thể cần đăng nhập lại."

#: admin/views/partials/setup-hosting-card.php:182
msgid "Undo settings removal"
msgstr "Hoàn tác việc xóa thiết lập"

#: admin/views/partials/setup-hosting-card.php:183
msgid "Put the removed settings back into wp-config.php? They may stop GrabWP again."
msgstr "Đưa các thiết lập đã xóa trở lại wp-config.php? Chúng có thể làm GrabWP ngừng hoạt động lần nữa."

#: admin/views/partials/setup-hosting-card.php:198
msgid "Your site works on https, but WordPress still uses http."
msgstr "Trang web của bạn hoạt động trên https, nhưng WordPress vẫn đang dùng http."

#: admin/views/partials/setup-hosting-card.php:201
msgid "Your site works on https, but WordPress still uses http. Fix HTTPS behind a proxy first, then open this page over https."
msgstr "Trang web của bạn hoạt động trên https, nhưng WordPress vẫn đang dùng http. Hãy sửa mục HTTPS phía sau proxy trước, sau đó mở lại trang này qua https."

#: admin/views/partials/setup-hosting-card.php:204
msgid "WP_HOME or WP_SITEURL sets the address. Remove it from wp-config.php above, then Check again."
msgstr "WP_HOME hoặc WP_SITEURL đang đặt địa chỉ. Hãy xóa nó khỏi wp-config.php ở trên, rồi kiểm tra lại."

#. translators: %s: host name.
#: admin/views/partials/setup-hosting-card.php:209
#, php-format
msgid "The https certificate of %s is not valid. Ask your host or CDN for one."
msgstr "Chứng chỉ https của %s không hợp lệ. Hãy yêu cầu nhà cung cấp hosting hoặc CDN cấp chứng chỉ."

#. translators: %s: host name.
#: admin/views/partials/setup-hosting-card.php:216
#, php-format
msgid "%s does not answer on https yet. Turn on SSL at your host or CDN."
msgstr "%s chưa phản hồi qua https. Hãy bật SSL tại nhà cung cấp hosting hoặc CDN của bạn."

#: admin/views/partials/setup-hosting-card.php:221
msgid "WordPress uses https."
msgstr "WordPress đang dùng https."

#: admin/views/partials/setup-hosting-card.php:229
msgid "Switch to https"
msgstr "Chuyển sang https"

#: admin/views/partials/setup-hosting-card.php:230
msgid "Switch the WordPress Address and Site Address to https? Links inside posts are not changed. You can undo this here."
msgstr "Chuyển Địa chỉ WordPress và Địa chỉ trang web sang https? Các liên kết trong bài viết sẽ không thay đổi. Bạn có thể hoàn tác tại đây."

#: admin/views/partials/setup-hosting-card.php:237
msgid "Undo"
msgstr "Hoàn tác"

#: admin/views/partials/setup-hosting-card.php:238
msgid "Put the WordPress Address and Site Address back to http?"
msgstr "Đưa Địa chỉ WordPress và Địa chỉ trang web trở lại http?"

#: admin/views/partials/setup-hosting-card.php:253
msgid "Your proxy or CDN serves https, but WordPress is not told."
msgstr "Proxy hoặc CDN của bạn phân phối https, nhưng WordPress chưa được báo."

#. translators: %d: line number in wp-config.php.
#: admin/views/partials/setup-hosting-card.php:258
#, php-format
msgid "wp-config.php has HTTPS code at line %d, but WordPress still sees http."
msgstr "wp-config.php đã có mã HTTPS tại dòng %d, nhưng WordPress vẫn nhận diện là http."

#. translators: %d: line number in wp-config.php.
#: admin/views/partials/setup-hosting-card.php:265
#, php-format
msgid "The HTTPS code at line %d of wp-config.php runs after the GrabWP loader, so new sites can miss https."
msgstr "Mã HTTPS tại dòng %d của wp-config.php chạy sau trình tải GrabWP, nên các trang web mới có thể bị thiếu https."

#: admin/views/partials/setup-hosting-card.php:270
msgid "No proxy or CDN reports https for this visit."
msgstr "Không có proxy hay CDN nào báo https cho lượt truy cập này."

#: admin/views/partials/setup-hosting-card.php:273
msgid "WordPress sees https from your proxy or CDN."
msgstr "WordPress đã nhận diện https từ proxy hoặc CDN của bạn."

#: admin/views/partials/setup-hosting-card.php:281
msgid "Add HTTPS detection"
msgstr "Thêm nhận diện HTTPS"

#: admin/views/partials/setup-hosting-card.php:282
msgid "Add HTTPS detection to wp-config.php? A backup is kept in the GrabWP data folder, and you can undo this here."
msgstr "Thêm nhận diện HTTPS vào wp-config.php? Một bản sao lưu được giữ trong thư mục dữ liệu GrabWP và bạn có thể hoàn tác tại đây."

#: admin/views/partials/setup-hosting-card.php:288
msgid "Remove HTTPS detection"
msgstr "Xóa nhận diện HTTPS"

#: admin/views/partials/setup-hosting-card.php:289
msgid "Remove the HTTPS detection that GrabWP added to wp-config.php? Behind a proxy, WordPress then sees http again."
msgstr "Xóa nhận diện HTTPS mà GrabWP đã thêm vào wp-config.php? Phía sau proxy, WordPress sẽ lại nhận diện là http."

#: admin/views/partials/setup-hosting-card.php:296
msgid "Code to add by hand"
msgstr "Mã cần thêm thủ công"

#. translators: %s: the GrabWP loader marker line.
#: admin/views/partials/setup-hosting-card.php:301
#, php-format
msgid "Add to wp-config.php, before %s:"
msgstr "Thêm vào wp-config.php, trước %s:"

#: admin/views/partials/setup-hosting-card.php:309
msgid "Copy code"
msgstr "Sao chép mã"

#: admin/views/partials/setup-hosting-card.php:325
msgid "Not needed: sites use path addresses."
msgstr "Không cần thiết: các trang web dùng địa chỉ đường dẫn."

#: admin/views/partials/setup-hosting-card.php:328
msgid "This site has no domain name, so sites cannot get subdomains."
msgstr "Trang web này không có tên miền, nên các trang web không thể dùng tên miền phụ."

#. translators: %s: wildcard pattern such as *.example.com
#: admin/views/partials/setup-hosting-card.php:332
#, php-format
msgid "No DNS record for %s yet. Add a wildcard record at your DNS host."
msgstr "Chưa có bản ghi DNS cho %s. Hãy thêm bản ghi wildcard tại nhà cung cấp DNS của bạn."

#. translators: %s: wildcard pattern such as *.example.com
#: admin/views/partials/setup-hosting-card.php:336
#, php-format
msgid "%s has DNS, but nothing answers on https."
msgstr "%s đã có DNS, nhưng không có phản hồi trên https."

#. translators: %s: wildcard pattern such as *.example.com
#: admin/views/partials/setup-hosting-card.php:340
#, php-format
msgid "%s reaches a different website. Point it at this site at your host."
msgstr "%s đang trỏ tới một trang web khác. Hãy trỏ nó về trang web này tại hosting của bạn."

#. translators: %s: wildcard pattern such as *.example.com
#: admin/views/partials/setup-hosting-card.php:344
#, php-format
msgid "%s reaches this site, but the certificate does not cover it."
msgstr "%s đã trỏ về trang web này, nhưng chứng chỉ bảo mật chưa bao gồm tên miền đó."

#. translators: %s: wildcard pattern such as *.example.com
#: admin/views/partials/setup-hosting-card.php:348
#, php-format
msgid "New sites at %s work."
msgstr "Các trang web mới tại %s hoạt động tốt."

#: admin/views/partials/setup-hosting-card.php:355
msgid "DNS"
msgstr "DNS"

#: admin/views/partials/setup-hosting-card.php:356
msgid "address"
msgstr "địa chỉ"

#: admin/views/partials/setup-hosting-card.php:357
msgid "certificate"
msgstr "chứng chỉ"

#: admin/views/partials/setup-hosting-card.php:365
#: admin/views/partials/system-check.php:70
#: admin/views/setup-steps/check.php:70
#: admin/views/setup-steps/check.php:80
msgid "Check again"
msgstr "Kiểm tra lại"

#: admin/views/partials/setup-hosting-card.php:370
msgid "Using xCloud?"
msgstr "Bạn đang dùng xCloud?"

#: admin/views/partials/setup-hosting-card.php:372
msgid "In xCloud, create the WordPress site as Multisite with subdomains. xCloud sets up wildcard subdomain hosting only for such sites."
msgstr "Trong xCloud, hãy tạo trang WordPress ở chế độ Multisite với tên miền phụ. xCloud chỉ thiết lập hosting tên miền phụ wildcard cho loại trang này."

#: admin/views/partials/setup-hosting-card.php:373
msgid "Wait until the Subdomains row here passes: DNS, address and certificate."
msgstr "Đợi đến khi mục Tên miền phụ ở đây đạt cả ba: DNS, địa chỉ và chứng chỉ."

#: admin/views/partials/setup-hosting-card.php:374
msgid "Then remove every native Multisite line from wp-config.php. GrabWP runs only on regular WordPress (single site). Old Multisite rules in .htaccess can stay."
msgstr "Sau đó xóa toàn bộ các dòng Multisite gốc khỏi wp-config.php. GrabWP chỉ chạy trên WordPress thông thường (trang đơn). Các quy tắc Multisite cũ trong .htaccess có thể giữ nguyên."

#: admin/views/partials/setup-hosting-card.php:375
msgid "If the network already has more than one site, do not convert it. Back up or move those sites first."
msgstr "Nếu mạng đã có nhiều hơn một trang web, đừng chuyển đổi. Hãy sao lưu hoặc di chuyển các trang web đó trước."

#. translators: %s: reason the install failed.
#: admin/views/partials/site-result.php:39
#: admin/views/setup-steps/done.php:56
#, php-format
msgid "The site was created but WordPress could not be installed automatically: %s"
msgstr "Trang web đã được tạo nhưng không thể tự động cài đặt WordPress: %s"

#: admin/views/partials/site-result.php:46
#: admin/views/setup-steps/done.php:63
msgid "Finish install in browser"
msgstr "Hoàn tất cài đặt trong trình duyệt"

#. translators: %s: tenant ID.
#: admin/views/partials/site-result.php:54
#: admin/views/setup-steps/done.php:41
#, php-format
msgid "Site created: %s"
msgstr "Đã tạo trang web: %s"

#: admin/views/partials/site-result.php:64
#: admin/views/setup-steps/done.php:68
msgid "Username"
msgstr "Tên người dùng"

#: admin/views/partials/site-result.php:66
#: admin/views/setup-steps/done.php:70
msgid "Password"
msgstr "Mật khẩu"

#: admin/views/partials/site-result.php:68
#: admin/views/setup-steps/done.php:72
msgid "Show"
msgstr "Hiện"

#: admin/views/partials/site-result.php:68
#: admin/views/setup-steps/done.php:72
msgid "Hide"
msgstr "Ẩn"

#: admin/views/partials/site-result.php:69
#: admin/views/setup-steps/done.php:73
#: admin/views/tenant-edit.php:83
msgid "Copy"
msgstr "Sao chép"

#: admin/views/partials/site-result.php:71
msgid "This password is shown once. You do not need it: the 1-click Admin button logs you in."
msgstr "Mật khẩu này chỉ hiển thị một lần. Bạn không cần đến nó: nút Quản trị 1 nhấp sẽ đăng nhập cho bạn."

#: admin/views/partials/site-result.php:75
#: admin/views/setup-steps/done.php:100
msgid "Open site admin (1-click)"
msgstr "Mở trang quản trị (1 nhấp)"

#: admin/views/partials/status-env-cards.php:29
msgid "1. wp-config.php Loader"
msgstr "1. Trình tải wp-config.php"

#: admin/views/partials/status-env-cards.php:31
#: admin/views/status-pro.php:46
msgid "✓ Active"
msgstr "✓ Đang hoạt động"

#: admin/views/partials/status-env-cards.php:33
msgid "In wp-config.php, reload to confirm"
msgstr "Đã có trong wp-config.php, tải lại trang để xác nhận"

#: admin/views/partials/status-env-cards.php:35
msgid "✗ Not loaded"
msgstr "✗ Chưa được tải"

#: admin/views/partials/status-env-cards.php:41
#: admin/views/partials/status-env-cards.php:94
#: admin/views/partials/status-env-cards.php:144
#: admin/views/partials/status-env-cards.php:200
#: admin/views/partials/status-env-cards.php:257
msgid "Fix steps and install code"
msgstr "Các bước sửa lỗi và mã cài đặt"

#: admin/views/partials/status-env-cards.php:43
msgid "Loads tenant detection before WordPress boots so domain/path routing can identify the tenant."
msgstr "Tải trình phát hiện tenant trước khi WordPress khởi động để định tuyến tên miền/đường dẫn có thể xác định tenant."

#: admin/views/partials/status-env-cards.php:48
#, php-format
msgid "File: %1$s, place before %2$s"
msgstr "File: %1$s, đặt trước %2$s"

#: admin/views/partials/status-env-cards.php:58
#: admin/views/partials/status-env-cards.php:105
#: admin/views/partials/status-env-cards.php:164
#: admin/views/partials/status-env-cards.php:224
#: admin/views/partials/status-env-cards.php:275
msgid "📋 Copy Code"
msgstr "📋 Sao chép mã"

#: admin/views/partials/status-env-cards.php:64
#: admin/views/partials/status-env-cards.php:111
#: admin/views/partials/status-env-cards.php:170
#: admin/views/partials/status-env-cards.php:230
#: admin/views/partials/status-env-cards.php:281
msgid "⚡ Auto Fix"
msgstr "⚡ Tự động sửa"

#: admin/views/partials/status-env-cards.php:67
msgid "wp-config.php is not writable, manual install required"
msgstr "Không thể ghi vào file wp-config.php, yêu cầu cài đặt thủ công"

#: admin/views/partials/status-env-cards.php:69
msgid "Stop-editing marker not found, manual install required"
msgstr "Không tìm thấy điểm đánh dấu dừng chỉnh sửa, yêu cầu cài đặt thủ công"

#: admin/views/partials/status-env-cards.php:82
msgid "2. MU-Plugin"
msgstr "2. MU-Plugin"

#: admin/views/partials/status-env-cards.php:84
#: admin/views/partials/status-env-cards.php:130
msgid "✓ Installed"
msgstr "✓ Đã cài đặt"

#: admin/views/partials/status-env-cards.php:86
msgid "⚠ Outdated"
msgstr "⚠ Đã lỗi thời"

#: admin/views/partials/status-env-cards.php:88
#: admin/views/partials/status-env-cards.php:194
msgid "✗ Missing"
msgstr "✗ Thiếu"

#: admin/views/partials/status-env-cards.php:96
msgid "MU-plugins load on every request, including tenant admin, for settings sync and management features."
msgstr "Các mu-plugin được tải trên mọi yêu cầu, bao gồm cả quản trị tenant, cho việc đồng bộ cài đặt và tính năng quản lý."

#: admin/views/partials/status-env-cards.php:99
#: admin/views/partials/status-env-cards.php:205
#: admin/views/partials/status-env-cards.php:262
#, php-format
msgid "File: %s"
msgstr "Tệp: %s"

#: admin/views/partials/status-env-cards.php:114
msgid "mu-plugins directory is not writable, manual install required"
msgstr "Không thể ghi vào thư mục mu-plugins, yêu cầu cài đặt thủ công"

#: admin/views/partials/status-env-cards.php:128
msgid "3. Root .htaccess Rewrite Rules"
msgstr "3. Quy tắc Rewrite trong .htaccess gốc"

#: admin/views/partials/status-env-cards.php:132
msgid "⚠ Wrong position"
msgstr "⚠ Sai vị trí"

#: admin/views/partials/status-env-cards.php:134
msgid "⚠ Invalid content"
msgstr "⚠ Nội dung không hợp lệ"

#: admin/views/partials/status-env-cards.php:136
msgid "⚠ Missing block"
msgstr "⚠ Thiếu khối"

#: admin/views/partials/status-env-cards.php:138
msgid "✗ No .htaccess"
msgstr "✗ Không có .htaccess"

#: admin/views/partials/status-env-cards.php:149
#, php-format
msgid "Apache rewrite rules for path-based tenant URLs like /%s/{id}/wp-admin."
msgstr "Các quy tắc viết lại (rewrite) của Apache cho URL tenant dựa trên đường dẫn như /%s/{id}/wp-admin."

#: admin/views/partials/status-env-cards.php:155
#, php-format
msgid "File: %s, must appear BEFORE \"# BEGIN WordPress\""
msgstr "File: %s, phải xuất hiện TRƯỚC \"# BEGIN WordPress\""

#: admin/views/partials/status-env-cards.php:173
msgid "Root directory or .htaccess is not writable, manual install required"
msgstr "Không thể ghi vào thư mục gốc hoặc .htaccess, yêu cầu cài đặt thủ công"

#: admin/views/partials/status-env-cards.php:188
msgid "Data Directory .htaccess"
msgstr ".htaccess thư mục dữ liệu"

#: admin/views/partials/status-env-cards.php:190
msgid "✓ Protected"
msgstr "✓ Đã bảo vệ"

#: admin/views/partials/status-env-cards.php:192
msgid "⚠ Incomplete"
msgstr "⚠ Chưa hoàn chỉnh"

#: admin/views/partials/status-env-cards.php:202
msgid "Blocks direct HTTP access to PHP files and directory listing in the tenant data directory."
msgstr "Chặn truy cập HTTP trực tiếp vào các file PHP và liệt kê thư mục trong thư mục dữ liệu tenant."

#: admin/views/partials/status-env-cards.php:233
#: admin/views/partials/status-env-cards.php:284
msgid "Data directory is not writable, manual install required"
msgstr "Không thể ghi vào thư mục dữ liệu, yêu cầu cài đặt thủ công"

#: admin/views/partials/status-env-cards.php:247
msgid "index.php Protection"
msgstr "Bảo vệ index.php"

#: admin/views/partials/status-env-cards.php:249
msgid "✓ Present"
msgstr "✓ Có mặt"

#: admin/views/partials/status-env-cards.php:251
msgid "⚠ Missing"
msgstr "⚠ Thiếu"

#: admin/views/partials/status-env-cards.php:259
msgid "Blank index.php prevents directory listing when .htaccess is unavailable."
msgstr "File index.php trống ngăn chặn liệt kê thư mục khi .htaccess không khả dụng."

#: admin/views/partials/status-env-cards.php:300
msgid "Shared Files Lock"
msgstr "Khóa file chia sẻ"

#: admin/views/partials/status-env-cards.php:302
msgid "Locked"
msgstr "Đã khóa"

#: admin/views/partials/status-env-cards.php:304
msgid "Unlocked"
msgstr "Đã mở khóa"

#: admin/views/partials/status-env-cards.php:308
msgid "Makes the shared root files read-only (0444) so tenant plugins cannot rewrite them. GrabWP and main-site permalink saves unlock and re-lock automatically."
msgstr "Thiết lập các file gốc chia sẻ ở trạng thái chỉ đọc (0444) để plugin tenant không thể ghi đè. Việc lưu đường dẫn tĩnh của GrabWP và trang web chính sẽ tự động mở khóa và khóa lại."

#: admin/views/partials/status-env-cards.php:309
msgid "If a main-site plugin (for example a cache plugin) needs to write these files, Unlock temporarily, then Lock again."
msgstr "Nếu một plugin của trang web chính (ví dụ: plugin bộ nhớ cache) cần ghi vào các file này, hãy Mở khóa tạm thời, sau đó Khóa lại."

#. translators: %d: number of snapshot files.
#: admin/views/partials/status-env-cards.php:322
#, php-format
msgid "Integrity snapshots: %d"
msgstr "Ảnh chụp toàn vẹn: %d"

#: admin/views/partials/status-env-cards.php:325
msgid "Watched for changes. Not read-only, because the web server does not own these files (optional):"
msgstr "Đang theo dõi thay đổi. Không ở chế độ chỉ đọc vì máy chủ web không sở hữu các tệp này (tùy chọn):"

#: admin/views/partials/status-env-cards.php:333
msgid "Unlock shared files"
msgstr "Mở khóa các file chia sẻ"

#: admin/views/partials/status-env-cards.php:333
msgid "Lock shared files"
msgstr "Khóa các file chia sẻ"

#: admin/views/partials/system-check.php:49
msgid "Site can reach itself (loopback)"
msgstr "Trang web có thể tự truy cập chính nó (loopback)"

#: admin/views/partials/system-check.php:53
msgid "Not checked"
msgstr "Chưa kiểm tra"

#: admin/views/partials/system-check.php:55
msgid "Failed"
msgstr "Thất bại"

#: admin/views/partials/system-check.php:61
msgid "GrabWP can install WordPress in new sites for you."
msgstr "GrabWP có thể cài đặt WordPress cho các trang web mới giúp bạn."

#: admin/views/partials/system-check.php:63
msgid "No recent result. Use Check again to test whether this server can open its own address."
msgstr "Chưa có kết quả gần đây. Dùng Kiểm tra lại để xem máy chủ này có mở được địa chỉ của chính nó không."

#: admin/views/partials/system-check.php:65
msgid "This server cannot open its own address, so new sites must be installed in the browser. Check firewall, basic auth, or the server routing rules."
msgstr "Máy chủ này không thể mở địa chỉ của chính nó, vì vậy các trang web mới phải được cài đặt trong trình duyệt. Hãy kiểm tra tường lửa, basic auth hoặc quy tắc định tuyến của máy chủ."

#: admin/views/partials/system-check.php:79
msgid "System Information"
msgstr "Thông tin hệ thống"

#. translators: 1: WordPress version, 2: PHP version, 3: server software label
#: admin/views/partials/system-check.php:84
#, php-format
msgid "WP %1$s · PHP %2$s · %3$s"
msgstr "WP %1$s · PHP %2$s · %3$s"

#: admin/views/partials/system-check.php:100
#: admin/views/status-base.php:119
msgid "No"
msgstr "Không"

#: admin/views/partials/system-check.php:102
msgid "Not set"
msgstr "Chưa đặt"

#: admin/views/partials/system-check.php:127
msgid "Support diagnostics"
msgstr "Chẩn đoán hỗ trợ"

#: admin/views/partials/system-check.php:128
msgid "Copies a summary of these checks, the System Information and the last lines of the GrabWP and WordPress debug logs to your clipboard. Passwords, keys, salts, emails and file paths are left out. Nothing is sent anywhere: paste it into your support request."
msgstr "Sao chép vào bộ nhớ tạm bản tóm tắt các kiểm tra này, Thông tin hệ thống và các dòng cuối của nhật ký gỡ lỗi GrabWP và WordPress. Mật khẩu, khóa, salt, email và đường dẫn tệp được loại bỏ. Không có gì được gửi đi: hãy dán vào yêu cầu hỗ trợ của bạn."

#: admin/views/partials/system-check.php:130
msgid "Copy diagnostics"
msgstr "Sao chép chẩn đoán"

#: admin/views/partials/upsell-card.php:20
#: admin/views/tenant-create.php:176
#: admin/views/tenant-edit.php:162
#: admin/views/tenants.php:67
#: includes/class-grabwp-tenancy-admin.php:229
msgid "Learn about Pro"
msgstr "Tìm hiểu về Pro"

#: admin/views/partials/upsell-card.php:27
#: admin/views/partials/upsell-card.php:32
#: admin/views/upgrade.php:27
msgid "Pro"
msgstr "Pro"

#: admin/views/settings-routing-confirm.php:17
msgid "Change routing mode"
msgstr "Đổi chế độ định tuyến"

#. translators: 1: current routing mode, 2: new routing mode.
#: admin/views/settings-routing-confirm.php:22
#, php-format
msgid "From %1$s to %2$s."
msgstr "Từ %1$s sang %2$s."

#: admin/views/settings-routing-confirm.php:31
#: includes/class-grabwp-tenancy-admin-form-handler.php:242
msgid "Domain mode needs a domain for every site. These sites have none yet:"
msgstr "Chế độ Tên miền yêu cầu mỗi trang web phải có một tên miền. Các trang web sau chưa có tên miền:"

#: admin/views/settings-routing-confirm.php:36
#: admin/views/settings-routing-confirm.php:62
#: admin/views/setup-steps/site.php:38
#: admin/views/setup-steps/site.php:56
msgid "Site"
msgstr "Trang web"

#: admin/views/settings-routing-confirm.php:37
msgid "Action"
msgstr "Thao tác"

#: admin/views/settings-routing-confirm.php:45
msgid "Add a domain"
msgstr "Thêm tên miền"

#: admin/views/settings-routing-confirm.php:52
msgid "Back to Routing settings"
msgstr "Quay lại cài đặt Định tuyến"

#: admin/views/settings-routing-confirm.php:55
msgid "Sites whose address changes"
msgstr "Các trang web thay đổi địa chỉ"

#: admin/views/settings-routing-confirm.php:57
msgid "No site address changes."
msgstr "Không có địa chỉ trang web nào thay đổi."

#: admin/views/settings-routing-confirm.php:63
msgid "Current address"
msgstr "Địa chỉ hiện tại"

#: admin/views/settings-routing-confirm.php:64
msgid "New address"
msgstr "Địa chỉ mới"

#: admin/views/settings-routing-confirm.php:79
msgid "What else happens"
msgstr "Những thay đổi khác"

#: admin/views/settings-routing-confirm.php:82
msgid "Visitors who open a path URL of a site are redirected (301) to its domain. Form posts and server calls to path URLs keep working."
msgstr "Khách truy cập mở URL đường dẫn của trang web sẽ được chuyển hướng (301) đến tên miền của trang đó. Gửi biểu mẫu và các lệnh gọi máy chủ đến URL đường dẫn vẫn tiếp tục hoạt động."

#: admin/views/settings-routing-confirm.php:85
msgid "Path URLs stop redirecting and open the site again. Browsers and CDNs may keep a cached redirect until you purge them."
msgstr "URL đường dẫn sẽ ngừng chuyển hướng và mở lại trang web trực tiếp. Trình duyệt và CDN có thể vẫn lưu bộ nhớ đệm chuyển hướng cho đến khi bạn xóa chúng."

#: admin/views/settings-routing-confirm.php:87
msgid "Links stored inside site content are not changed. Old addresses keep working."
msgstr "Các liên kết lưu trong nội dung trang web không bị thay đổi. Các địa chỉ cũ vẫn tiếp tục hoạt động."

#: admin/views/settings-routing-confirm.php:89
msgid "People logged in to a site whose address changes are signed out once."
msgstr "Người dùng đang đăng nhập vào trang web có địa chỉ thay đổi sẽ bị đăng xuất một lần."

#: admin/views/settings-routing-confirm.php:91
msgid "Purge page and CDN caches after the switch."
msgstr "Hãy xóa bộ nhớ đệm trang và CDN sau khi chuyển đổi."

#. translators: %s: new routing mode.
#: admin/views/settings-routing-confirm.php:103
#, php-format
msgid "Switch to %s"
msgstr "Chuyển sang %s"

#: admin/views/settings-routing-confirm.php:108
#: admin/views/tenant-clone.php:110
#: admin/views/tenant-create.php:165
#: admin/views/tenant-edit.php:151
#: admin/views/tenant-tag-edit.php:60
msgid "Cancel"
msgstr "Hủy"

#: admin/views/settings.php:16
msgid "GrabWP Tenancy Settings"
msgstr "Cài đặt GrabWP Tenancy"

#: admin/views/settings.php:25
#: admin/views/status-base.php:80
msgid "Tenant Capabilities"
msgstr "Quyền hạn tenant"

#: admin/views/settings.php:26
#: admin/views/status-base.php:90
msgid "Performance & Security"
msgstr "Hiệu suất & Bảo mật"

#: admin/views/settings.php:27
#: includes/class-grabwp-tenancy-setup-wizard.php:147
msgid "Routing"
msgstr "Định tuyến"

#: admin/views/settings.php:67
msgid "Save Settings"
msgstr "Lưu cài đặt"

#: admin/views/settings.php:74
msgid "Scheduling and automatic backups"
msgstr "Lên lịch và sao lưu tự động"

#: admin/views/settings.php:75
msgid "Schedule automatic backups for each tenant site on an interval you control. Pro automatically pushes backup copies to secure offsite storage after each run, so you never lose client data to a server failure."
msgstr "Lên lịch sao lưu tự động cho mỗi trang tenant theo khoảng thời gian bạn kiểm soát. Pro tự động đẩy các bản sao lưu đến lưu trữ bên ngoài an toàn sau mỗi lần chạy, do đó bạn không bao giờ mất dữ liệu khách hàng vì lỗi máy chủ."

#: admin/views/settings.php:76
msgid "Learn about GrabWP Tenancy Pro"
msgstr "Tìm hiểu về GrabWP Tenancy Pro"

#: admin/views/setup-steps/check.php:28
msgid "Welcome to GrabWP"
msgstr "Chào mừng đến với GrabWP"

#: admin/views/setup-steps/check.php:29
msgid "A few short steps get your first site running. Every step has a working default, and you can skip any of them."
msgstr "Chỉ vài bước ngắn để khởi chạy trang web đầu tiên của bạn. Mỗi bước đều có sẵn mặc định hoạt động tốt và bạn có thể bỏ qua bất kỳ bước nào."

#: admin/views/setup-steps/check.php:33
msgid "One WordPress, many websites"
msgstr "Một WordPress, nhiều trang web"

#: admin/views/setup-steps/check.php:34
msgid "GrabWP runs many separate websites from this one WordPress install. Each one is called a site (a \"tenant\" in some GrabWP screens)."
msgstr "GrabWP vận hành nhiều trang web độc lập từ một bản cài đặt WordPress này. Mỗi trang được gọi là một trang web (hoặc \"tenant\" trên một số màn hình GrabWP)."

#: admin/views/setup-steps/check.php:37
msgid "Each site stands on its own"
msgstr "Mỗi trang web hoạt động độc lập"

#: admin/views/setup-steps/check.php:38
msgid "A site has its own posts, pages, media, users and admin area. Sites share the plugins and themes installed here, so you update them once."
msgstr "Mỗi trang web có bài viết, trang, thư viện, người dùng và khu vực quản trị riêng. Các trang web dùng chung plugin và giao diện được cài đặt tại đây, nên bạn chỉ cần cập nhật một lần."

#: admin/views/setup-steps/check.php:41
msgid "Not WordPress Multisite"
msgstr "Không phải WordPress Multisite"

#: admin/views/setup-steps/check.php:42
msgid "You do not need to know or turn on Multisite. You manage every site from the Tenancy menu of this admin."
msgstr "Bạn không cần biết hoặc bật Multisite. Bạn quản lý mọi trang web từ menu Quản lý tenant trong trang quản trị này."

#: admin/views/setup-steps/check.php:56
msgid "Server check"
msgstr "Kiểm tra máy chủ"

#. translators: %d: number of items that need attention.
#: admin/views/setup-steps/check.php:63
#, php-format
msgid "%d item needs attention."
msgid_plural "%d items need attention."
msgstr[0] "%d mục cần chú ý."

#: admin/views/setup-steps/check.php:68
msgid "Fix automatically"
msgstr "Tự động khắc phục"

#: admin/views/setup-steps/check.php:73
msgid "The loader is in wp-config.php, but this page loaded before it was read. Check again to confirm."
msgstr "Trình tải đã có trong wp-config.php, nhưng trang này được tải trước khi trình tải được đọc. Hãy kiểm tra lại để xác nhận."

#: admin/views/setup-steps/check.php:79
msgid "Everything is ready. Nothing to do here."
msgstr "Mọi thứ đã sẵn sàng. Bạn không cần làm gì thêm ở đây."

#: admin/views/setup-steps/check.php:86
msgid "Show the server checks"
msgstr "Hiện các mục kiểm tra máy chủ"

#. translators: %s: example site address such as /site/{id}
#: admin/views/setup-steps/check.php:91
#, php-format
msgid "GrabWP set these up when you activated it. Site addresses like %s need every item."
msgstr "GrabWP đã thiết lập các mục này khi bạn kích hoạt plugin. Địa chỉ trang web như %s cần đầy đủ mọi mục."

#: admin/views/setup-steps/done.php:21
msgid "You're ready"
msgstr "Bạn đã sẵn sàng"

#: admin/views/setup-steps/done.php:22
msgid "Your setup is saved. Open your site, then grow it whenever you like."
msgstr "Thiết lập của bạn đã được lưu. Hãy mở trang web và phát triển thêm bất cứ khi nào bạn muốn."

#. translators: %s: tenant ID.
#: admin/views/setup-steps/done.php:41
#, php-format
msgid "Your site: %s"
msgstr "Trang web của bạn: %s"

#: admin/views/setup-steps/done.php:74
msgid "I saved it, hide this"
msgstr "Tôi đã lưu, ẩn thông tin này"

#: admin/views/setup-steps/done.php:76
msgid "Keep this password somewhere safe. It stays on this screen until you hide it. You do not need it to log in: the 1-click Admin button does that."
msgstr "Hãy cất giữ mật khẩu này ở nơi an toàn. Mật khẩu sẽ hiển thị trên màn hình này cho đến khi bạn ẩn đi. Bạn không cần mật khẩu để đăng nhập: nút Quản trị 1 nhấp sẽ làm việc đó."

#: admin/views/setup-steps/done.php:81
msgid "What you set up"
msgstr "Những gì bạn đã thiết lập"

#: admin/views/setup-steps/done.php:88
msgid "Open this step"
msgstr "Mở bước này"

#: admin/views/setup-steps/done.php:101
msgid "Log in to this site without the password."
msgstr "Đăng nhập vào trang web này không cần mật khẩu."

#: admin/views/setup-steps/done.php:107
msgid "Visit site"
msgstr "Xem trang web"

#: admin/views/setup-steps/done.php:108
msgid "Open the site as a visitor."
msgstr "Mở trang web với tư cách khách truy cập."

#: admin/views/setup-steps/done.php:114
msgid "All sites"
msgstr "Tất cả trang web"

#: admin/views/setup-steps/done.php:115
msgid "See and manage every site."
msgstr "Xem và quản lý mọi trang web."

#: admin/views/setup-steps/done.php:119
msgid "Manage sites"
msgstr "Quản lý trang web"

#: admin/views/setup-steps/done.php:124
msgid "Manage WaaS"
msgstr "Quản lý WaaS"

#: admin/views/setup-steps/done.php:130
msgid "Grow later"
msgstr "Mở rộng sau"

#. translators: %s: example path URL of a site.
#: admin/views/setup-steps/routing.php:28
#, php-format
msgid "Every site lives under this WordPress address. Works right away, no DNS needed. For example: %s"
msgstr "Mỗi trang web nằm dưới địa chỉ WordPress này. Dùng được ngay, không cần DNS. Ví dụ: %s"

#. translators: %s: example address of a site.
#: admin/views/setup-steps/routing.php:34
#, php-format
msgid "Every site has its own subdomain or its own domain. Point that address at this server (DNS) before the site opens. For example: %s"
msgstr "Mỗi trang web có tên miền phụ hoặc tên miền riêng. Hãy trỏ địa chỉ đó về máy chủ này (DNS) trước khi mở trang web. Ví dụ: %s"

#: admin/views/setup-steps/routing.php:40
msgid "A site opens on the path address until you give it a domain; then it opens on the domain and the path keeps working. Works now; add domains whenever you like."
msgstr "Trang web sẽ mở qua địa chỉ đường dẫn cho đến khi bạn gán tên miền; sau đó trang sẽ mở trên tên miền và đường dẫn vẫn tiếp tục hoạt động. Dùng được ngay; thêm tên miền bất cứ lúc nào bạn muốn."

#: admin/views/setup-steps/routing.php:47
msgid "Choose the web address of your sites"
msgstr "Chọn địa chỉ web cho các trang web của bạn"

#: admin/views/setup-steps/routing.php:48
msgid "This decides how visitors reach each site. Pick one. You can change this later in Tenancy > Settings > Routing, which also lets sites use both a path and a domain."
msgstr "Tùy chọn này quyết định cách khách truy cập vào mỗi trang web. Hãy chọn một chế độ. Bạn có thể đổi lại sau tại Quản lý tenant > Cài đặt > Định tuyến, nơi cũng cho phép trang web dùng đồng thời cả đường dẫn và tên miền."

#: admin/views/setup-steps/routing.php:71
msgid "Sites already exist. A new mode changes their addresses, so switch it in Settings, which lists every site that changes."
msgstr "Đã có các trang web tồn tại. Chế độ mới sẽ làm thay đổi địa chỉ của chúng, vì vậy hãy chuyển đổi trong phần Cài đặt để xem danh sách các trang web bị ảnh hưởng."

#: admin/views/setup-steps/routing.php:72
msgid "Open Settings > Routing"
msgstr "Mở Cài đặt > Định tuyến"

#: admin/views/setup-steps/site.php:35
#: admin/views/setup-wizard.php:18
msgid "Save and continue"
msgstr "Lưu và tiếp tục"

#: admin/views/setup-steps/site.php:45
msgid "Create a new site"
msgstr "Tạo trang web mới"

#: admin/views/setup-steps/site.php:46
msgid "Start from an empty WordPress site."
msgstr "Bắt đầu từ một trang web WordPress trống."

#: admin/views/setup-steps/site.php:50
msgid "Use an existing site"
msgstr "Dùng trang web có sẵn"

#: admin/views/setup-steps/site.php:51
msgid "Pick one of your sites from the list below."
msgstr "Chọn một trang web của bạn từ danh sách bên dưới."

#: admin/views/setup-steps/site.php:59
msgid "Existing site"
msgstr "Trang web có sẵn"

#: admin/views/setup-steps/site.php:71
msgid "Site title"
msgstr "Tiêu đề trang web"

#: admin/views/setup-steps/site.php:76
#: admin/views/setup-steps/site.php:104
msgid "Address"
msgstr "Địa chỉ"

#: admin/views/setup-steps/site.php:81
msgid "Works now. No DNS needed. The ID is created on save."
msgstr "Dùng được ngay. Không cần DNS. ID được tạo khi lưu."

#: admin/views/setup-steps/site.php:84
#: admin/views/setup-steps/site.php:98
#: admin/views/setup-steps/site.php:107
msgid "Custom domain"
msgstr "Tên miền riêng"

#: admin/views/setup-steps/site.php:85
msgid "Point the domain's DNS to this server first."
msgstr "Hãy trỏ DNS của tên miền về máy chủ này trước."

#: admin/views/setup-steps/site.php:92
msgid "Path address"
msgstr "Địa chỉ đường dẫn"

#. translators: %s: path URL of the new site, {id} stands for its ID.
#: admin/views/setup-steps/site.php:94
#, php-format
msgid "Works now, no DNS needed. The site ID is created when you save: %s"
msgstr "Dùng được ngay, không cần DNS. ID trang web sẽ được tạo khi bạn lưu: %s"

#: admin/views/setup-steps/site.php:99
msgid "Type the domain below. Point its DNS to this server first."
msgstr "Nhập tên miền vào bên dưới. Hãy trỏ DNS của tên miền về máy chủ này trước."

#: admin/views/setup-steps/site.php:113
msgid "Site admin email"
msgstr "Email quản trị trang web"

#: admin/views/setup-steps/site.php:116
msgid "The new site's administrator account uses this email."
msgstr "Tài khoản quản trị viên của trang web mới sẽ sử dụng email này."

#: admin/views/setup-steps/site.php:121
#: admin/views/tenant-create.php:137
#: includes/class-grabwp-tenancy-diagnostics.php:296
msgid "WordPress"
msgstr "WordPress"

#: admin/views/setup-steps/site.php:125
msgid "Set up WordPress in the new site now"
msgstr "Thiết lập WordPress cho trang web mới ngay"

#: admin/views/setup-steps/site.php:127
msgid "The site is ready to use right away, with an administrator account named after the site ID. You log in with the 1-click button and never need its password."
msgstr "Trang web sẵn sàng sử dụng ngay với tài khoản quản trị viên được đặt tên theo ID trang web. Bạn đăng nhập bằng nút 1 nhấp và không bao giờ cần đến mật khẩu."

#: admin/views/setup-steps/site.php:129
msgid "Turned off because this server cannot reach itself (see the Check step). You can finish the install in the browser after the site is created."
msgstr "Đã tắt vì máy chủ này không thể tự truy cập chính nó (xem bước Kiểm tra). Bạn có thể hoàn tất cài đặt trong trình duyệt sau khi tạo trang web."

#: admin/views/setup-wizard.php:25
#: includes/class-grabwp-tenancy-setup-wizard.php:67
#: includes/class-grabwp-tenancy-setup-wizard.php:68
msgid "GrabWP setup"
msgstr "Thiết lập GrabWP"

#: admin/views/setup-wizard.php:26
msgid "Exit setup"
msgstr "Thoát thiết lập"

#: admin/views/setup-wizard.php:57
msgid "(done)"
msgstr "(hoàn tất)"

#. translators: 1: step title, 2: current part of the step, 3: number of parts.
#: admin/views/setup-wizard.php:69
#, php-format
msgid "%1$s (%2$d of %3$d)"
msgstr "%1$s (%2$d/%3$d)"

#. translators: 1: current step number, 2: number of steps, 3: step title.
#: admin/views/setup-wizard.php:77
#, php-format
msgid "Step %1$d of %2$d: %3$s"
msgstr "Bước %1$d/%2$d: %3$s"

#: admin/views/setup-wizard.php:125
msgid "Back"
msgstr "Quay lại"

#: admin/views/setup-wizard.php:129
msgid "Skip this step"
msgstr "Bỏ qua bước này"

#: admin/views/status-base.php:25
msgid "File Structure"
msgstr "Cấu trúc tệp"

#: admin/views/status-base.php:29
msgid "Base Directory"
msgstr "Thư mục gốc"

#: admin/views/status-base.php:33
msgid "✓ Directory exists"
msgstr "✓ Thư mục tồn tại"

#: admin/views/status-base.php:35
msgid "✗ Directory does not exist"
msgstr "✗ Thư mục không tồn tại"

#: admin/views/status-base.php:38
msgid "⚠ Using legacy path structure"
msgstr "⚠ Đang sử dụng cấu trúc đường dẫn cũ"

#: admin/views/status-base.php:40
msgid "ℹ Using custom path configuration"
msgstr "ℹ Đang sử dụng cấu hình đường dẫn tùy chỉnh"

#: admin/views/status-base.php:46
msgid "Tenant Mappings File"
msgstr "Tệp ánh xạ tenant"

#: admin/views/status-base.php:50
msgid "✓ File exists and is readable"
msgstr "✓ Tệp tồn tại và có thể đọc được"

#: admin/views/status-base.php:52
msgid "✗ File does not exist"
msgstr "✗ Tệp không tồn tại"

#: admin/views/status-base.php:58
msgid "Settings File"
msgstr "Tệp cài đặt"

#: admin/views/status-base.php:62
msgid "✓ File exists"
msgstr "✓ Tệp tồn tại"

#: admin/views/status-base.php:64
msgid "⚠ Not created yet (using defaults)"
msgstr "⚠ Chưa được tạo (đang dùng mặc định)"

#: admin/views/status-base.php:70
msgid "Tenant Uploads Pattern"
msgstr "Mẫu đường dẫn uploads của tenant"

#: admin/views/status-base.php:81
msgid "Configured on the Settings page."
msgstr "Được cấu hình trên trang Cài đặt."

#: admin/views/status-base.php:112
msgid "empty"
msgstr "trống"

#: admin/views/status-base.php:117
msgid "✓ Yes"
msgstr "✓ Có"

#: admin/views/status-general.php:32
msgid "Environment Checks"
msgstr "Kiểm tra môi trường"

#: admin/views/status-pro.php:27
msgid "GrabWP Tenancy Pro"
msgstr "GrabWP Tenancy Pro"

#: admin/views/status-pro.php:28
msgid "Upgrade to GrabWP Tenancy Pro for advanced features including complete content isolation, separate databases per tenant, and enhanced management capabilities."
msgstr "Nâng cấp lên GrabWP Tenancy Pro để có các tính năng nâng cao bao gồm cách ly nội dung hoàn toàn, cơ sở dữ liệu riêng cho mỗi tenant và khả năng quản lý nâng cao."

#: admin/views/status-pro.php:29
#: includes/class-grabwp-tenancy-admin.php:342
#: includes/class-grabwp-tenancy-admin.php:343
#: includes/class-grabwp-tenancy-admin.php:513
msgid "Upgrade to Pro"
msgstr "Nâng cấp lên Pro"

#: admin/views/status-pro.php:38
msgid "Pro Plugin Information"
msgstr "Thông tin plugin Pro"

#: admin/views/status-pro.php:41
msgid "Pro Version"
msgstr "Phiên bản Pro"

#: admin/views/status-pro.php:45
#: includes/class-grabwp-tenancy-admin.php:332
#: includes/class-grabwp-tenancy-admin.php:333
msgid "Status"
msgstr "Trạng thái"

#: admin/views/status-pro.php:54
msgid "Content Isolation (Default)"
msgstr "Cách ly nội dung (Mặc định)"

#: admin/views/status-pro.php:55
msgid "Default content isolation settings applied when creating new tenants."
msgstr "Cài đặt cách ly nội dung mặc định được áp dụng khi tạo tenant mới."

#: admin/views/status-pro.php:61
msgid "Content Isolation"
msgstr "Cách ly nội dung"

#: admin/views/status-pro.php:62
msgid "Theme Isolation"
msgstr "Cách ly giao diện"

#: admin/views/status-pro.php:63
msgid "Plugin Isolation"
msgstr "Cách ly plugin"

#: admin/views/status-pro.php:64
msgid "Upload Isolation"
msgstr "Cách ly uploads"

#: admin/views/status-pro.php:73
msgid "✓ Isolated"
msgstr "✓ Đã cách ly"

#: admin/views/status-pro.php:75
msgid "Shared"
msgstr "Dùng chung"

#: admin/views/status-pro.php:85
msgid "Database (Default)"
msgstr "Cơ sở dữ liệu (Mặc định)"

#: admin/views/status-pro.php:86
msgid "Default database configuration for new tenants."
msgstr "Cấu hình cơ sở dữ liệu mặc định cho tenant mới."

#: admin/views/status-pro.php:94
#: admin/views/tenant-clone.php:93
msgid "Database Type"
msgstr "Loại cơ sở dữ liệu"

#: admin/views/status-pro.php:97
msgid "Isolated MySQL Database"
msgstr "Cơ sở dữ liệu MySQL riêng biệt"

#: admin/views/status-pro.php:99
msgid "Isolated SQLite Database"
msgstr "Cơ sở dữ liệu SQLite riêng biệt"

#: admin/views/status-pro.php:101
msgid "Shared Database (with table prefixes)"
msgstr "Cơ sở dữ liệu dùng chung (với tiền tố bảng)"

#: admin/views/status-pro.php:108
msgid "MySQL Host"
msgstr "Máy chủ MySQL"

#: admin/views/status-pro.php:117
msgid "MySQL Database"
msgstr "Cơ sở dữ liệu MySQL"

#: admin/views/status-pro.php:126
msgid "MySQL Username"
msgstr "Tên người dùng MySQL"

#: admin/views/status.php:43
msgid "GrabWP Tenancy Status"
msgstr "Trạng thái GrabWP Tenancy"

#: admin/views/status.php:51
msgid "Plugin General"
msgstr "Plugin tổng quan"

#: admin/views/status.php:55
msgid "Base Plugin"
msgstr "Plugin cơ bản"

#: admin/views/status.php:59
#: includes/class-grabwp-tenancy-diagnostics.php:213
msgid "Pro Plugin"
msgstr "Plugin Pro"

#: admin/views/status.php:72
msgid "GrabWP Tenancy:"
msgstr "GrabWP Tenancy:"

#: admin/views/status.php:73
msgid "You're using a legacy path structure. To comply with WordPress standards:"
msgstr "Bạn đang sử dụng cấu trúc đường dẫn cũ. Để tuân thủ chuẩn WordPress:"

#: admin/views/status.php:74
msgid "1. Deactivate the plugin"
msgstr "1. Tắt plugin"

#: admin/views/status.php:77
#, php-format
msgid "2. Rename and move the entire %1$s folder to %2$s"
msgstr "2. Đổi tên và di chuyển toàn bộ thư mục %1$s sang %2$s"

#: admin/views/status.php:83
msgid "3. Reactivate the plugin"
msgstr "3. Kích hoạt lại plugin"

#: admin/views/status.php:104
msgid "← active"
msgstr "← đang hoạt động"

#: admin/views/tenant-clone.php:23
msgid "Validating source & target tenants"
msgstr "Đang xác thực tenant nguồn & đích"

#: admin/views/tenant-clone.php:24
msgid "Exporting source database"
msgstr "Đang xuất cơ sở dữ liệu nguồn"

#: admin/views/tenant-clone.php:25
msgid "Importing database into target tenant"
msgstr "Đang nhập cơ sở dữ liệu vào tenant đích"

#: admin/views/tenant-clone.php:26
msgid "Updating site URLs"
msgstr "Đang cập nhật URL trang web"

#: admin/views/tenant-clone.php:27
msgid "Copying uploads"
msgstr "Đang sao chép uploads"

#: admin/views/tenant-clone.php:28
msgid "Cleaning up"
msgstr "Đang dọn dẹp"

#: admin/views/tenant-clone.php:43
msgid "Clone Main Site"
msgstr "Sao chép site chính"

#: admin/views/tenant-clone.php:46
#, php-format
msgid "Clone Tenant: %s"
msgstr "Sao chép tenant: %s"

#: admin/views/tenant-clone.php:53
#, php-format
msgid "Source database type: %s"
msgstr "Loại cơ sở dữ liệu nguồn: %s"

#: admin/views/tenant-clone.php:53
#: admin/views/tenant-clone.php:93
msgid "Shared MySQL"
msgstr "MySQL dùng chung"

#: admin/views/tenant-clone.php:59
msgid "Choose clone target:"
msgstr "Chọn đích sao chép:"

#: admin/views/tenant-clone.php:63
msgid "Clone to existing site"
msgstr "Sao chép sang site có sẵn"

#: admin/views/tenant-clone.php:67
msgid "Clone to new site"
msgstr "Sao chép sang site mới"

#: admin/views/tenant-clone.php:81
msgid "Target Tenant"
msgstr "Tenant đích"

#: admin/views/tenant-clone.php:85
msgid "— Loading tenants…"
msgstr "— Đang tải danh sách tenant…"

#: admin/views/tenant-clone.php:87
msgid "Select an existing tenant to clone data into. Create the target tenant first if needed."
msgstr "Chọn một tenant có sẵn để sao chép dữ liệu vào. Tạo tenant đích trước nếu cần."

#: admin/views/tenant-clone.php:98
msgid "Warning:"
msgstr "Cảnh báo:"

#: admin/views/tenant-clone.php:99
msgid "This will overwrite all data in the target tenant (database, uploads). This action cannot be undone."
msgstr "Thao tác này sẽ ghi đè toàn bộ dữ liệu trong tenant đích (cơ sở dữ liệu, uploads). Không thể hoàn tác."

#: admin/views/tenant-clone.php:107
#: includes/backup/class-grabwp-tenancy-clone-admin.php:78
#: includes/backup/class-grabwp-tenancy-clone-admin.php:79
#: includes/backup/class-grabwp-tenancy-clone-admin.php:123
msgid "Clone Tenant"
msgstr "Sao chép tenant"

#: admin/views/tenant-clone.php:131
msgid "Clone complete!"
msgstr "Sao chép hoàn tất!"

#: admin/views/tenant-clone.php:132
msgid "The source tenant data has been cloned into the target tenant."
msgstr "Dữ liệu tenant nguồn đã được sao chép vào tenant đích."

#: admin/views/tenant-clone.php:135
msgid "Target tenant:"
msgstr "Tenant đích:"

#: admin/views/tenant-clone.php:137
msgid "Edit tenant"
msgstr "Chỉnh sửa tenant"

#: admin/views/tenant-clone.php:138
msgid "Homepage"
msgstr "Trang chủ"

#: admin/views/tenant-clone.php:139
msgid "Dashboard"
msgstr "Bảng điều khiển"

#: admin/views/tenant-clone.php:146
msgid "Tired of doing this by hand?"
msgstr "Bạn mệt mỏi khi phải làm việc này thủ công?"

#: admin/views/tenant-clone.php:147
msgid "GrabWP Tenancy Pro schedules automatic backups for every client site and pushes copies to secure offsite storage. No more manual steps, no missed backups."
msgstr "GrabWP Tenancy Pro lên lịch sao lưu tự động cho mọi trang web khách hàng và đẩy các bản sao đến lưu trữ bên ngoài an toàn. Không còn thao tác thủ công, không bỏ lỡ các bản sao lưu."

#: admin/views/tenant-clone.php:148
#: admin/views/upgrade.php:86
msgid "Get GrabWP Tenancy Pro"
msgstr "Sở hữu GrabWP Tenancy Pro"

#: admin/views/tenant-clone.php:156
msgid "Back to Tenants"
msgstr "Quay lại danh sách tenant"

#: admin/views/tenant-clone.php:194
msgid "— No eligible tenants found —"
msgstr "— Không tìm thấy tenant phù hợp —"

#: admin/views/tenant-clone.php:199
msgid "— Select target tenant —"
msgstr "— Chọn tenant đích —"

#: admin/views/tenant-clone.php:227
msgid "Path URL only"
msgstr "Chỉ dùng URL đường dẫn"

#: admin/views/tenant-clone.php:326
msgid "Are you sure? All data in the target tenant will be overwritten."
msgstr "Bạn có chắc chắn? Toàn bộ dữ liệu trong tenant đích sẽ bị ghi đè."

#: admin/views/tenant-create.php:16
#: includes/class-grabwp-tenancy-admin.php:293
msgid "Add New Tenant"
msgstr "Thêm tenant mới"

#: admin/views/tenant-create.php:21
msgid "Create a new tenant. It opens on the domain you enter."
msgstr "Tạo tenant mới. Trang web sẽ mở trên tên miền bạn nhập."

#: admin/views/tenant-create.php:23
msgid "Create a new tenant. A path-based URL will be assigned automatically."
msgstr "Tạo tenant mới. URL theo đường dẫn sẽ được gán tự động."

#. translators: %s: source tenant ID or "Main Site"
#: admin/views/tenant-create.php:42
#, php-format
msgid "After creating this tenant, you will be redirected to clone %s into it."
msgstr "Sau khi tạo tenant này, bạn sẽ được chuyển hướng để sao chép %s vào đó."

#: admin/views/tenant-create.php:81
msgid "Domain Setup"
msgstr "Thiết lập tên miền"

#: admin/views/tenant-create.php:82
msgid "Enter without http:// or www (e.g. mysite.com, blog.mysite.com). You can add a domain anytime from the tenant edit page."
msgstr "Nhập không có http:// hoặc www (ví dụ: mysite.com, blog.mysite.com). Bạn có thể thêm tên miền bất cứ lúc nào từ trang chỉnh sửa tenant."

#: admin/views/tenant-create.php:88
#: admin/views/tenant-create.php:126
msgid "Your site will be accessible at:"
msgstr "Trang web của bạn sẽ truy cập được tại:"

#: admin/views/tenant-create.php:96
#: admin/views/tenant-create.php:112
msgid "Enter domain (e.g. mysite.com)"
msgstr "Nhập tên miền (vd: mysite.com)"

#: admin/views/tenant-create.php:97
#: admin/views/tenant-create.php:113
msgid "Clear"
msgstr "Xóa"

#: admin/views/tenant-create.php:100
#: admin/views/tenant-edit.php:132
msgid "Domain mode needs at least one domain."
msgstr "Chế độ Tên miền cần ít nhất một tên miền."

#: admin/views/tenant-create.php:107
msgid "I have a domain"
msgstr "Tôi có tên miền"

#: admin/views/tenant-create.php:114
#: admin/views/tenant-edit.php:113
#: admin/views/tenant-edit.php:121
#: includes/class-grabwp-tenancy-admin.php:429
msgid "Remove"
msgstr "Xóa"

#: admin/views/tenant-create.php:122
msgid "I'll set up a domain later"
msgstr "Tôi sẽ thiết lập tên miền sau"

#: admin/views/tenant-create.php:141
msgid "Install WordPress now"
msgstr "Cài đặt WordPress ngay"

#: admin/views/tenant-create.php:143
msgid "Creates the site's database and an administrator named after the site ID with a random password. Use the 1-click Admin button to log in; you never need the password."
msgstr "Tạo cơ sở dữ liệu của trang web và một quản trị viên mang tên ID trang web với mật khẩu ngẫu nhiên. Dùng nút Quản trị 1 nhấp để đăng nhập; bạn không bao giờ cần đến mật khẩu."

#: admin/views/tenant-create.php:160
msgid "Create Tenant & Clone"
msgstr "Tạo tenant & sao chép"

#: admin/views/tenant-create.php:161
msgid "Create Tenant"
msgstr "Tạo tenant"

#: admin/views/tenant-create.php:174
msgid "GrabWP Tenancy Pro adds isolated databases, custom plugin & theme management, scheduled backups, cloud storage offload, and more for every client site."
msgstr "GrabWP Tenancy Pro bổ sung các cơ sở dữ liệu cách ly, quản lý plugin & theme tùy chỉnh, sao lưu theo lịch trình, chuyển tải lưu trữ đám mây, và nhiều tính năng khác cho mỗi trang web khách hàng."

#: admin/views/tenant-create.php:175
msgid "Better isolation, more control"
msgstr "Cách ly tốt hơn, kiểm soát nhiều hơn"

#. translators: %s: tenant ID
#: admin/views/tenant-edit.php:19
#, php-format
msgid "Edit Tenant: %s"
msgstr "Chỉnh sửa tenant: %s"

#: admin/views/tenant-edit.php:32
msgid "Edit tenant settings and domain mappings."
msgstr "Chỉnh sửa cài đặt tenant và ánh xạ tên miền."

#: admin/views/tenant-edit.php:40
#: includes/class-grabwp-tenancy-admin.php:606
#: includes/class-grabwp-tenancy-tenant-crud.php:184
msgid "Tenant updated successfully."
msgstr "Cập nhật tenant thành công."

#: admin/views/tenant-edit.php:78
msgid "Path URL"
msgstr "URL đường dẫn"

#: admin/views/tenant-edit.php:85
msgid "This URL is always available, no DNS configuration needed."
msgstr "URL này luôn khả dụng, không cần cấu hình DNS."

#. translators: %d: number of domains stored for the site.
#: admin/views/tenant-edit.php:99
#, php-format
msgid "Stored domains (%d): kept, not used for links in Path mode"
msgid_plural "Stored domains (%d): kept, not used for links in Path mode"
msgstr[0] "Tên miền đã lưu (%d): được giữ lại, không dùng cho liên kết ở chế độ Đường dẫn"

#: admin/views/tenant-edit.php:112
#: admin/views/tenant-edit.php:120
#: includes/class-grabwp-tenancy-admin.php:428
msgid "Enter domain (e.g., tenant1.grabwp.local)"
msgstr "Nhập tên miền (vd: tenant1.grabwp.local)"

#: admin/views/tenant-edit.php:126
msgid "Add New Domain"
msgstr "Thêm tên miền mới"

#: admin/views/tenant-edit.php:128
msgid "Valid format: example.com, subdomain.example.com (no http:// or www)"
msgstr "Định dạng hợp lệ: example.com, subdomain.example.com (không có http:// hoặc www)"

#: admin/views/tenant-edit.php:148
msgid "Update Tenant"
msgstr "Cập nhật tenant"

#: admin/views/tenant-edit.php:160
msgid "Need more control? GrabWP Tenancy Pro adds isolated databases (MySQL or SQLite), scheduled backups, cloud storage offload, and more for every client site."
msgstr "Cần kiểm soát nhiều hơn? GrabWP Tenancy Pro bổ sung cơ sở dữ liệu cách ly (MySQL hoặc SQLite), sao lưu theo lịch trình, chuyển tải lưu trữ đám mây và nhiều tính năng khác cho mỗi trang web khách hàng."

#: admin/views/tenants.php:18
#: includes/class-grabwp-tenancy-admin.php:294
msgid "Add New"
msgstr "Thêm mới"

#: admin/views/tenants.php:25
msgid "Manage your multi-tenant WordPress sites."
msgstr "Quản lý các tenant (site con)."

#: admin/views/tenants.php:42
msgid "No Tenants Found"
msgstr "Không tìm thấy tenant nào"

#: admin/views/tenants.php:43
msgid "Create your first tenant to get started with multi-tenancy."
msgstr "Tạo tenant đầu tiên để bắt đầu sử dụng multi-tenancy."

#: admin/views/tenants.php:45
msgid "Create Your First Tenant"
msgstr "Tạo tenant đầu tiên"

#: admin/views/tenants.php:65
msgid "Need more isolation?"
msgstr "Cần sự cách ly nhiều hơn?"

#: admin/views/tenants.php:66
msgid "GrabWP Tenancy Pro supports plugin & theme management,  seperated MySQL or SQLite, scheduled backups, cloud storage offload, and customization options for every client site."
msgstr "GrabWP Tenancy Pro hỗ trợ quản lý plugin & theme, cơ sở dữ liệu MySQL hoặc SQLite tách biệt, sao lưu theo lịch trình, chuyển tải lưu trữ đám mây và các tùy chọn tùy chỉnh cho mọi trang web khách hàng."

#: admin/views/upgrade.php:17
msgid "Upgrade to GrabWP Tenancy Pro"
msgstr "Nâng cấp lên GrabWP Tenancy Pro"

#: admin/views/upgrade.php:19
msgid "GrabWP Tenancy Pro gives you the tools to manage client sites at scale: scheduled backups, dedicated databases, cloud storage offload, and more."
msgstr "GrabWP Tenancy Pro cung cấp cho bạn các công cụ để quản lý các trang web khách hàng ở quy mô lớn: sao lưu theo lịch trình, cơ sở dữ liệu chuyên dụng, chuyển tải lưu trữ đám mây, v.v."

#: admin/views/upgrade.php:25
msgid "Feature"
msgstr "Tính năng"

#: admin/views/upgrade.php:26
msgid "Free"
msgstr "Miễn phí"

#: admin/views/upgrade.php:32
msgid "Multiple tenants via shared MySQL"
msgstr "Nhiều tenant qua MySQL dùng chung"

#: admin/views/upgrade.php:37
msgid "Dedicated database per tenant (MySQL / SQLite)"
msgstr "Cơ sở dữ liệu chuyên dụng cho từng tenant (MySQL / SQLite)"

#: admin/views/upgrade.php:42
msgid "Full tenant backup and restore"
msgstr "Sao lưu và khôi phục toàn bộ tenant"

#: admin/views/upgrade.php:47
msgid "Scheduled automatic backups (daily, weekly, etc.)"
msgstr "Sao lưu tự động theo lịch trình (hàng ngày, hàng tuần, v.v.)"

#: admin/views/upgrade.php:52
msgid "Cloud offload to S3-compatible storage"
msgstr "Chuyển tải đám mây sang lưu trữ tương thích S3"

#: admin/views/upgrade.php:57
msgid "WP-CLI backup commands"
msgstr "Các lệnh sao lưu WP-CLI"

#: admin/views/upgrade.php:62
msgid "Cross-database migration (shared, dedicated, SQLite)"
msgstr "Di chuyển đa cơ sở dữ liệu (dùng chung, chuyên dụng, SQLite)"

#: admin/views/upgrade.php:67
msgid "Path alias routing (/site/my-shop/)"
msgstr "Định tuyến đường dẫn bí danh (/site/my-shop/)"

#: admin/views/upgrade.php:72
msgid "Extension management (symlink/copy/repair)"
msgstr "Quản lý tiện ích mở rộng (symlink/copy/repair)"

#: admin/views/upgrade.php:77
msgid "Storage driver selection (Local / S3)"
msgstr "Lựa chọn trình điều khiển lưu trữ (Local / S3)"

#: includes/backup/class-grabwp-tenancy-clone-admin.php:138
#: includes/backup/class-grabwp-tenancy-clone-admin.php:254
#: includes/backup/class-grabwp-tenancy-clone-admin.php:271
#: includes/class-grabwp-tenancy-admin.php:466
#: includes/class-grabwp-tenancy-tenant-tags-admin.php:114
msgid "Security check failed."
msgstr "Kiểm tra bảo mật thất bại."

#: includes/backup/class-grabwp-tenancy-clone-admin.php:191
msgid "Please select a target tenant."
msgstr "Vui lòng chọn tenant đích."

#: includes/backup/class-grabwp-tenancy-clone-admin.php:195
msgid "Cannot clone a tenant into itself."
msgstr "Không thể sao chép tenant vào chính nó."

#: includes/backup/class-grabwp-tenancy-clone-admin.php:208
#: includes/backup/class-grabwp-tenancy-clone.php:143
msgid "Target tenant not found."
msgstr "Không tìm thấy tenant đích."

#: includes/backup/class-grabwp-tenancy-clone-admin.php:266
#: includes/class-grabwp-tenancy-setup-wizard.php:739
#: includes/class-grabwp-tenancy-setup-wizard.php:757
#: includes/class-grabwp-tenancy-setup-wizard.php:795
#: includes/class-grabwp-tenancy-setup-wizard.php:994
#: includes/class-grabwp-tenancy-setup-wizard.php:1048
#: includes/class-grabwp-tenancy-setup-wizard.php:1536
#: includes/class-grabwp-tenancy-tenant-crud.php:38
#: includes/class-grabwp-tenancy-tenant-crud.php:100
#: includes/class-grabwp-tenancy-tenant-crud.php:148
#: includes/class-grabwp-tenancy-tenant-installer.php:536
msgid "Insufficient permissions."
msgstr "Không đủ quyền."

#: includes/backup/class-grabwp-tenancy-clone-db-exporter.php:88
msgid "Cannot open SQL output file."
msgstr "Không thể mở tệp SQL đầu ra."

#: includes/backup/class-grabwp-tenancy-clone.php:70
msgid "Clone job not found or expired."
msgstr "Tác vụ sao chép không tìm thấy hoặc đã hết hạn."

#: includes/backup/class-grabwp-tenancy-clone.php:75
msgid "Clone is already completed."
msgstr "Quá trình sao chép đã hoàn tất."

#: includes/backup/class-grabwp-tenancy-clone.php:115
msgid "Invalid source tenant ID."
msgstr "ID tenant nguồn không hợp lệ."

#: includes/backup/class-grabwp-tenancy-clone.php:118
msgid "Invalid target tenant ID."
msgstr "ID tenant đích không hợp lệ."

#: includes/backup/class-grabwp-tenancy-clone.php:129
msgid "Invalid clone step."
msgstr "Bước sao chép không hợp lệ."

#: includes/backup/class-grabwp-tenancy-clone.php:138
msgid "Source tenant not found."
msgstr "Không tìm thấy tenant nguồn."

#: includes/backup/class-grabwp-tenancy-clone.php:150
msgid "Cannot create temp staging directory."
msgstr "Không thể tạo thư mục tạm thời."

#: includes/backup/class-grabwp-tenancy-clone.php:157
msgid "Source and target tenants validated."
msgstr "Đã xác thực tenant nguồn và đích."

#: includes/backup/class-grabwp-tenancy-clone.php:171
msgid "Source database exported."
msgstr "Đã xuất cơ sở dữ liệu nguồn."

#: includes/backup/class-grabwp-tenancy-clone.php:182
msgid "Export files not found."
msgstr "Không tìm thấy tệp xuất."

#: includes/backup/class-grabwp-tenancy-clone.php:187
msgid "Export metadata is invalid."
msgstr "Metadata xuất không hợp lệ."

#: includes/backup/class-grabwp-tenancy-clone.php:195
msgid "Database imported into target tenant."
msgstr "Đã nhập cơ sở dữ liệu vào tenant đích."

#: includes/backup/class-grabwp-tenancy-clone.php:218
msgid "Uploads copied."
msgstr "Đã sao chép uploads."

#: includes/backup/class-grabwp-tenancy-clone.php:253
msgid "Site URLs updated."
msgstr "Đã cập nhật URL trang web."

#: includes/backup/class-grabwp-tenancy-clone.php:263
msgid "Clone complete."
msgstr "Sao chép hoàn tất."

#: includes/class-grabwp-tenancy-admin-form-handler.php:186
msgid "Failed to save settings. Please check file permissions."
msgstr "Lưu cài đặt thất bại. Vui lòng kiểm tra quyền tệp."

#: includes/class-grabwp-tenancy-admin-form-handler.php:234
msgid "The routing mode is set in wp-config.php and cannot be changed here."
msgstr "Chế độ định tuyến được đặt trong wp-config.php và không thể thay đổi tại đây."

#: includes/class-grabwp-tenancy-admin-form-handler.php:237
msgid "Invalid routing mode."
msgstr "Chế độ định tuyến không hợp lệ."

#: includes/class-grabwp-tenancy-admin-notice.php:61
msgid "load.php is not included in wp-config.php."
msgstr "load.php chưa được thêm vào wp-config.php."

#: includes/class-grabwp-tenancy-admin-notice.php:63
#: includes/class-grabwp-tenancy-admin-notice.php:73
#: includes/class-grabwp-tenancy-admin-notice.php:83
#: includes/class-grabwp-tenancy-admin-notice.php:119
msgid "View Status →"
msgstr "Xem trạng thái →"

#: includes/class-grabwp-tenancy-admin-notice.php:71
msgid "MU-plugin is not installed. Tenant features may not work."
msgstr "MU-plugin chưa được cài đặt. Các tính năng tenant có thể không hoạt động."

#: includes/class-grabwp-tenancy-admin-notice.php:81
msgid "Data directory is missing."
msgstr "Thiếu thư mục dữ liệu."

#: includes/class-grabwp-tenancy-admin-notice.php:117
msgid "Root .htaccess needs to be updated for tenant routing."
msgstr ".htaccess gốc cần được cập nhật để định tuyến tenant."

#: includes/class-grabwp-tenancy-admin-notice.php:174
msgid "Permission denied."
msgstr "Từ chối quyền truy cập."

#: includes/class-grabwp-tenancy-admin-notice.php:175
#: includes/class-grabwp-tenancy-installer.php:311
#: includes/class-grabwp-tenancy-installer.php:349
#: includes/class-grabwp-tenancy-installer.php:554
#: includes/class-grabwp-tenancy-installer.php:600
#: includes/class-grabwp-tenancy-installer.php:771
#: includes/class-grabwp-tenancy-installer.php:855
msgid "Run this from the main site."
msgstr "Hãy thực hiện thao tác này từ trang chính."

#: includes/class-grabwp-tenancy-admin-notice.php:200
msgid "Unknown action."
msgstr "Thao tác không xác định."

#. translators: 1: constant name, e.g. DISALLOW_FILE_EDIT, 2: its value, e.g. false
#: includes/class-grabwp-tenancy-admin.php:146
#, php-format
msgid "Your wp-config.php already sets %1$s to %2$s, so this setting has no effect. Remove that line to let GrabWP control it."
msgstr "Tệp wp-config.php của bạn đã đặt %1$s thành %2$s, nên cài đặt này không có tác dụng. Hãy xóa dòng đó để GrabWP kiểm soát."

#. translators: 1: constant name, e.g. DISALLOW_FILE_EDIT, 2: its value, e.g. false
#: includes/class-grabwp-tenancy-admin.php:153
#, php-format
msgid "Another plugin or file already sets %1$s to %2$s, so this setting has no effect."
msgstr "Một plugin hoặc tệp khác đã đặt %1$s thành %2$s, nên cài đặt này không có tác dụng."

#: includes/class-grabwp-tenancy-admin.php:228
msgid "GrabWP Tenancy Pro adds scheduled auto backups, offsite cloud storage, dedicated database isolation, and more for every client site."
msgstr "GrabWP Tenancy Pro bổ sung sao lưu tự động theo lịch trình, lưu trữ đám mây bên ngoài, cách ly cơ sở dữ liệu chuyên dụng, và nhiều tính năng khác cho mỗi trang web khách hàng."

#: includes/class-grabwp-tenancy-admin.php:274
msgid "Tenancy"
msgstr "Quản lý tenant"

#: includes/class-grabwp-tenancy-admin.php:284
#: includes/class-grabwp-tenancy-admin.php:285
msgid "All Tenants"
msgstr "Tất cả tenant"

#: includes/class-grabwp-tenancy-admin.php:302
#: includes/class-grabwp-tenancy-admin.php:303
msgid "Edit Tenant"
msgstr "Chỉnh sửa tenant"

#: includes/class-grabwp-tenancy-admin.php:430
msgid "Copied!"
msgstr "Đã sao chép!"

#: includes/class-grabwp-tenancy-admin.php:431
msgid "To confirm deletion, type the tenant ID:"
msgstr "Để xác nhận xóa, hãy nhập ID của tenant:"

#: includes/class-grabwp-tenancy-admin.php:432
msgid "Incorrect tenant ID. Deletion cancelled."
msgstr "ID tenant không đúng. Đã hủy việc xóa."

#: includes/class-grabwp-tenancy-admin.php:472
msgid "Tenant ID is required."
msgstr "Cần mã tenant."

#: includes/class-grabwp-tenancy-admin.php:477
#: includes/class-grabwp-tenancy-tenant-crud.php:114
#: includes/class-grabwp-tenancy-tenant-crud.php:177
msgid "Tenant not found."
msgstr "Không tìm thấy tenant."

#: includes/class-grabwp-tenancy-admin.php:550
msgid "Template not found."
msgstr "Không tìm thấy mẫu giao diện."

#: includes/class-grabwp-tenancy-admin.php:605
#: includes/class-grabwp-tenancy-tenant-crud.php:85
msgid "Tenant created successfully."
msgstr "Tạo tenant thành công."

#: includes/class-grabwp-tenancy-admin.php:607
msgid "Tenant deleted successfully."
msgstr "Xóa tenant thành công."

#: includes/class-grabwp-tenancy-admin.php:608
msgid "Settings saved successfully."
msgstr "Đã lưu cài đặt thành công."

#: includes/class-grabwp-tenancy-admin.php:609
msgid "Routing mode saved."
msgstr "Đã lưu chế độ định tuyến."

#: includes/class-grabwp-tenancy-diagnostics.php:102
msgid "Diagnostics are available on the main site only."
msgstr "Chẩn đoán chỉ có trên trang chính."

#: includes/class-grabwp-tenancy-diagnostics.php:109
msgid "Sorry, you are not allowed to read diagnostics."
msgstr "Xin lỗi, bạn không có quyền đọc chẩn đoán."

#: includes/class-grabwp-tenancy-diagnostics.php:212
msgid "Base Plugin Version"
msgstr "Phiên bản plugin cơ bản"

#: includes/class-grabwp-tenancy-diagnostics.php:214
msgid "Registered Tenants"
msgstr "Tenant đã đăng ký"

#. translators: 1: plugin version, 2: Active or Inactive
#: includes/class-grabwp-tenancy-diagnostics.php:221
#, php-format
msgid "%1$s, %2$s"
msgstr "%1$s, %2$s"

#. translators: 1: plugin version, 2: Active or Inactive
#: includes/class-grabwp-tenancy-diagnostics.php:221
msgid "Active"
msgstr "Kích hoạt"

#. translators: 1: plugin version, 2: Active or Inactive
#: includes/class-grabwp-tenancy-diagnostics.php:221
msgid "Inactive"
msgstr "Không kích hoạt"

#: includes/class-grabwp-tenancy-diagnostics.php:225
msgid "Web Server"
msgstr "Máy chủ web"

#: includes/class-grabwp-tenancy-diagnostics.php:227
msgid ".htaccess files are not used by Nginx. Configure tenant routing in your server block instead."
msgstr "Nginx không sử dụng tệp .htaccess. Hãy cấu hình định tuyến tenant trong khối server."

#: includes/class-grabwp-tenancy-diagnostics.php:231
msgid "mod_rewrite"
msgstr "mod_rewrite"

#: includes/class-grabwp-tenancy-diagnostics.php:231
msgid "Cannot detect (apache_get_modules unavailable)"
msgstr "Không thể phát hiện (apache_get_modules không khả dụng)"

#: includes/class-grabwp-tenancy-diagnostics.php:231
msgid "Path routing requires mod_rewrite. Query string routing (?site=id) will be used as fallback."
msgstr "Định tuyến đường dẫn yêu cầu mod_rewrite. Định tuyến chuỗi truy vấn (?site=id) sẽ được sử dụng làm dự phòng."

#: includes/class-grabwp-tenancy-diagnostics.php:236
msgid "PHP Version"
msgstr "Phiên bản PHP"

#: includes/class-grabwp-tenancy-diagnostics.php:237
msgid "PHP SAPI"
msgstr "PHP SAPI"

#: includes/class-grabwp-tenancy-diagnostics.php:238
msgid "PHP memory limit"
msgstr "Giới hạn bộ nhớ PHP"

#: includes/class-grabwp-tenancy-diagnostics.php:239
msgid "PHP time limit"
msgstr "Giới hạn thời gian PHP"

#: includes/class-grabwp-tenancy-diagnostics.php:240
msgid "Max upload size"
msgstr "Kích thước tải lên tối đa"

#: includes/class-grabwp-tenancy-diagnostics.php:241
msgid "PHP post max size"
msgstr "Kích thước POST tối đa của PHP"

#: includes/class-grabwp-tenancy-diagnostics.php:254
msgid "Sodium"
msgstr "Sodium"

#: includes/class-grabwp-tenancy-diagnostics.php:254
msgid "GrabWP Pro needs it to encrypt tenant database passwords."
msgstr "GrabWP Pro cần nó để mã hóa mật khẩu cơ sở dữ liệu của tenant."

#: includes/class-grabwp-tenancy-diagnostics.php:255
msgid "symlink()"
msgstr "symlink()"

#: includes/class-grabwp-tenancy-diagnostics.php:255
msgid "GrabWP Pro needs it for domain links."
msgstr "GrabWP Pro cần nó cho liên kết tên miền."

#: includes/class-grabwp-tenancy-diagnostics.php:256
msgid "ZipArchive"
msgstr "ZipArchive"

#: includes/class-grabwp-tenancy-diagnostics.php:256
msgid "Backups, restores and add-on installs need it."
msgstr "Sao lưu, khôi phục và cài đặt tiện ích bổ sung cần nó."

#: includes/class-grabwp-tenancy-diagnostics.php:257
msgid "PDO SQLite"
msgstr "PDO SQLite"

#: includes/class-grabwp-tenancy-diagnostics.php:257
msgid "Tenants with SQLite databases need it."
msgstr "Các tenant dùng cơ sở dữ liệu SQLite cần nó."

#: includes/class-grabwp-tenancy-diagnostics.php:258
msgid "Tokenizer"
msgstr "Tokenizer"

#: includes/class-grabwp-tenancy-diagnostics.php:258
msgid "The wp-config.php checks need it."
msgstr "Các kiểm tra wp-config.php cần nó."

#: includes/class-grabwp-tenancy-diagnostics.php:259
msgid "SimpleXML"
msgstr "SimpleXML"

#: includes/class-grabwp-tenancy-diagnostics.php:259
msgid "Backups to S3 storage need it."
msgstr "Sao lưu lên bộ nhớ S3 cần nó."

#: includes/class-grabwp-tenancy-diagnostics.php:260
msgid "OPcache"
msgstr "OPcache"

#: includes/class-grabwp-tenancy-diagnostics.php:261
msgid "cURL"
msgstr "cURL"

#: includes/class-grabwp-tenancy-diagnostics.php:262
msgid "mbstring"
msgstr "mbstring"

#: includes/class-grabwp-tenancy-diagnostics.php:267
msgid "Custom file"
msgstr "Tệp tùy chỉnh"

#: includes/class-grabwp-tenancy-diagnostics.php:276
msgid "WordPress directory"
msgstr "Thư mục WordPress"

#: includes/class-grabwp-tenancy-diagnostics.php:277
msgid "wp-content directory"
msgstr "Thư mục wp-content"

#: includes/class-grabwp-tenancy-diagnostics.php:278
msgid "Plugins directory"
msgstr "Thư mục plugin"

#: includes/class-grabwp-tenancy-diagnostics.php:279
msgid "Uploads directory"
msgstr "Thư mục tải lên"

#: includes/class-grabwp-tenancy-diagnostics.php:285
msgid "MU-Plugins Dir Writable"
msgstr "Thư mục MU-Plugins có thể ghi"

#: includes/class-grabwp-tenancy-diagnostics.php:285
msgid "Auto-install of MU-plugin will not work. Manual installation required."
msgstr "Tự động cài đặt MU-plugin sẽ không hoạt động. Cần cài đặt thủ công."

#: includes/class-grabwp-tenancy-diagnostics.php:286
msgid "Data Dir Writable"
msgstr "Thư mục dữ liệu có thể ghi"

#: includes/class-grabwp-tenancy-diagnostics.php:286
msgid "Plugin needs write access to create tenant directories and manage configuration files."
msgstr "Plugin cần quyền ghi để tạo thư mục tenant và quản lý tệp cấu hình."

#: includes/class-grabwp-tenancy-diagnostics.php:298
msgid "WordPress Version"
msgstr "Phiên bản WordPress"

#: includes/class-grabwp-tenancy-diagnostics.php:299
msgid "Site language"
msgstr "Ngôn ngữ trang web"

#: includes/class-grabwp-tenancy-diagnostics.php:300
msgid "Environment type"
msgstr "Loại môi trường"

#: includes/class-grabwp-tenancy-diagnostics.php:301
msgid "Permalink structure"
msgstr "Cấu trúc đường dẫn tĩnh"

#: includes/class-grabwp-tenancy-diagnostics.php:302
msgid "HTTPS"
msgstr "HTTPS"

#: includes/class-grabwp-tenancy-diagnostics.php:303
msgid "WordPress Multisite"
msgstr "WordPress Multisite"

#: includes/class-grabwp-tenancy-diagnostics.php:303
msgid "GrabWP Tenancy is not designed for Multisite."
msgstr "GrabWP Tenancy không được thiết kế cho Multisite."

#: includes/class-grabwp-tenancy-diagnostics.php:304
msgid "Object cache drop-in"
msgstr "Drop-in bộ nhớ đệm đối tượng"

#: includes/class-grabwp-tenancy-diagnostics.php:305
msgid "Page cache drop-in"
msgstr "Drop-in bộ nhớ đệm trang"

#: includes/class-grabwp-tenancy-diagnostics.php:310
msgid "Server"
msgstr "Máy chủ"

#: includes/class-grabwp-tenancy-diagnostics.php:315
msgid "PHP extensions"
msgstr "Tiện ích mở rộng PHP"

#: includes/class-grabwp-tenancy-diagnostics.php:320
msgid "Database"
msgstr "Cơ sở dữ liệu"

#: includes/class-grabwp-tenancy-diagnostics.php:322
msgid "Database Engine"
msgstr "Công cụ cơ sở dữ liệu"

#: includes/class-grabwp-tenancy-diagnostics.php:323
msgid "Database server version"
msgstr "Phiên bản máy chủ cơ sở dữ liệu"

#: includes/class-grabwp-tenancy-diagnostics.php:324
msgid "Table prefix"
msgstr "Tiền tố bảng"

#: includes/class-grabwp-tenancy-diagnostics.php:325
msgid "Database charset"
msgstr "Bộ ký tự cơ sở dữ liệu"

#: includes/class-grabwp-tenancy-diagnostics.php:330
msgid "WordPress constants"
msgstr "Hằng số WordPress"

#: includes/class-grabwp-tenancy-diagnostics.php:335
msgid "Writable directories"
msgstr "Thư mục có quyền ghi"

#: includes/class-grabwp-tenancy-installer.php:317
#: includes/class-grabwp-tenancy-installer.php:355
#: includes/class-grabwp-tenancy-installer.php:777
msgid "Could not read wp-config.php."
msgstr "Không thể đọc wp-config.php."

#: includes/class-grabwp-tenancy-installer.php:322
msgid "HTTPS detection is already in wp-config.php."
msgstr "Nhận diện HTTPS đã có trong wp-config.php."

#: includes/class-grabwp-tenancy-installer.php:328
msgid "Could not find where to add the code in wp-config.php. Add it by hand."
msgstr "Không tìm thấy vị trí để thêm mã trong wp-config.php. Hãy thêm thủ công."

#: includes/class-grabwp-tenancy-installer.php:333
msgid "HTTPS detection added to wp-config.php."
msgstr "Đã thêm nhận diện HTTPS vào wp-config.php."

#: includes/class-grabwp-tenancy-installer.php:363
msgid "HTTPS detection by GrabWP was not in wp-config.php."
msgstr "Không có phần nhận diện HTTPS của GrabWP trong wp-config.php."

#: includes/class-grabwp-tenancy-installer.php:380
msgid "HTTPS detection removed from wp-config.php."
msgstr "Đã xóa nhận diện HTTPS khỏi wp-config.php."

#. translators: %s: file name.
#: includes/class-grabwp-tenancy-installer.php:441
#, php-format
msgid "%s is not writable. Add the code by hand."
msgstr "Không thể ghi vào %s. Hãy thêm mã thủ công."

#. translators: %s: file name.
#: includes/class-grabwp-tenancy-installer.php:445
#, php-format
msgid "%s would not be valid PHP after the change, so nothing was changed."
msgstr "%s sẽ không phải là mã PHP hợp lệ sau khi thay đổi, nên không có gì bị thay đổi."

#. translators: %s: file name.
#: includes/class-grabwp-tenancy-installer.php:451
#, php-format
msgid "Could not save a backup of %s, so nothing was changed."
msgstr "Không thể lưu bản sao lưu của %s, nên không có gì bị thay đổi."

#. translators: %s: file name(s).
#: includes/class-grabwp-tenancy-installer.php:469
#, php-format
msgid "Could not write %s. The folder must be writable. Add the code by hand."
msgstr "Không thể ghi %s. Thư mục phải có quyền ghi. Hãy thêm mã thủ công."

#. translators: %s: file name(s).
#: includes/class-grabwp-tenancy-installer.php:498
#, php-format
msgid "The site did not load after the change, so %s was put back as it was."
msgstr "Trang web không tải được sau khi thay đổi, nên %s đã được khôi phục về như cũ."

#. translators: %s: file name(s).
#: includes/class-grabwp-tenancy-installer.php:500
#, php-format
msgid "The site did not load after the change and %s could not be put back. Restore it from the backup in the GrabWP data folder."
msgstr "Trang web không tải được sau khi thay đổi và không thể khôi phục %s về như cũ. Hãy khôi phục từ bản sao lưu trong thư mục dữ liệu GrabWP."

#: includes/class-grabwp-tenancy-installer.php:560
msgid "The site address already uses https."
msgstr "Địa chỉ trang web đã dùng https."

#: includes/class-grabwp-tenancy-installer.php:564
msgid "The site address cannot be switched here yet. Check again and follow the steps in the card."
msgstr "Chưa thể chuyển đổi địa chỉ trang web tại đây. Hãy kiểm tra lại và làm theo các bước trong thẻ."

#: includes/class-grabwp-tenancy-installer.php:580
msgid "Could not save the https address. Nothing was changed."
msgstr "Không thể lưu địa chỉ https. Không có gì bị thay đổi."

#: includes/class-grabwp-tenancy-installer.php:584
msgid "The site address now uses https."
msgstr "Địa chỉ trang web hiện đã dùng https."

#: includes/class-grabwp-tenancy-installer.php:604
msgid "There is no address change to undo."
msgstr "Không có thay đổi địa chỉ nào để hoàn tác."

#: includes/class-grabwp-tenancy-installer.php:608
msgid "The site address was changed since, so it was not undone. Edit it in Settings, General."
msgstr "Địa chỉ trang web đã được thay đổi sau đó, nên không được hoàn tác. Hãy chỉnh sửa trong Cài đặt, Tổng quan."

#: includes/class-grabwp-tenancy-installer.php:616
msgid "The site address is back to what it was."
msgstr "Địa chỉ trang web đã trở lại như cũ."

#. translators: %d: number of sites in the Multisite network.
#: includes/class-grabwp-tenancy-installer.php:785
#, php-format
msgid "This is a Multisite network with %d sites, so nothing was changed. Back up or move those sites first."
msgstr "Đây là mạng Multisite có %d trang web, nên không có gì bị thay đổi. Hãy sao lưu hoặc di chuyển các trang web đó trước."

#. translators: %s: list of file, line and code to edit by hand.
#: includes/class-grabwp-tenancy-installer.php:796
#, php-format
msgid "Some wp-config.php settings must be removed by hand, so nothing was changed: %s"
msgstr "Một số thiết lập trong wp-config.php phải được xóa thủ công nên chưa có thay đổi nào: %s"

#: includes/class-grabwp-tenancy-installer.php:804
msgid "No settings that stop GrabWP were left in wp-config.php."
msgstr "Không còn thiết lập nào trong wp-config.php làm GrabWP ngừng hoạt động."

#: includes/class-grabwp-tenancy-installer.php:811
msgid "Could not save the site address. Nothing was changed."
msgstr "Không thể lưu địa chỉ trang. Không có gì bị thay đổi."

#: includes/class-grabwp-tenancy-installer.php:838
msgid "Settings that stop GrabWP were removed from wp-config.php. Log in again if asked, then activate plugins that were network activated."
msgstr "Đã xóa khỏi wp-config.php các thiết lập làm GrabWP ngừng hoạt động. Hãy đăng nhập lại nếu được yêu cầu, sau đó kích hoạt các plugin từng được kích hoạt cho toàn mạng."

#: includes/class-grabwp-tenancy-installer.php:859
msgid "There is no Multisite cleanup to undo."
msgstr "Không có thao tác dọn dẹp Multisite nào để hoàn tác."

#. translators: %s: file name.
#: includes/class-grabwp-tenancy-installer.php:873
#, php-format
msgid "%s was changed since the Multisite cleanup, so nothing was undone. The old copy is kept in the GrabWP data folder."
msgstr "%s đã bị thay đổi kể từ lần dọn dẹp Multisite, nên chưa hoàn tác gì. Bản sao cũ vẫn được giữ trong thư mục dữ liệu GrabWP."

#. translators: %s: file name.
#: includes/class-grabwp-tenancy-installer.php:886
#, php-format
msgid "The backup of %s is missing or changed, so nothing was undone."
msgstr "Bản sao lưu của %s bị thiếu hoặc đã thay đổi, nên chưa hoàn tác gì."

#: includes/class-grabwp-tenancy-installer.php:907
msgid "The removed settings are back in wp-config.php."
msgstr "Các thiết lập đã xóa đã được đưa trở lại wp-config.php."

#. translators: 1: file name, 2: line number, 3: code on that line.
#: includes/class-grabwp-tenancy-installer.php:970
#, php-format
msgid "%1$s line %2$d: %3$s"
msgstr "%1$s dòng %2$d: %3$s"

#: includes/class-grabwp-tenancy-integrity-watchdog.php:660
msgid "GrabWP lost some of its own code in these files and put it back. Other edits were kept:"
msgstr "GrabWP đã mất một phần mã của chính nó trong các file này và đã đặt lại. Các chỉnh sửa khác được giữ nguyên:"

#: includes/class-grabwp-tenancy-integrity-watchdog.php:663
msgid "GrabWP could not put back its own code in these files because they are empty, broken or not writable, so it left them as they are and kept the last good copy in the integrity snapshots folder. Check them now:"
msgstr "GrabWP không thể đặt lại mã của chính nó trong các file này vì chúng trống, bị hỏng hoặc không ghi được, nên đã giữ nguyên chúng và lưu bản tốt gần nhất trong thư mục ảnh chụp toàn vẹn. Hãy kiểm tra ngay:"

#: includes/class-grabwp-tenancy-integrity-watchdog.php:678
msgid "See grabwp_debug.log for details. To remove a GrabWP block on purpose, turn protection off on the Status page first."
msgstr "Xem grabwp_debug.log để biết chi tiết. Để chủ động xóa một khối GrabWP, hãy tắt bảo vệ trên trang Trạng thái trước."

#: includes/class-grabwp-tenancy-integrity-watchdog.php:680
#: includes/class-grabwp-tenancy-setup-wizard.php:700
#: includes/class-grabwp-tenancy-setup-wizard.php:727
msgid "Dismiss"
msgstr "Bỏ qua"

#: includes/class-grabwp-tenancy-loader.php:381
msgid "This admin access link is not valid. Open the site admin again from the main site."
msgstr "Liên kết truy cập quản trị này không hợp lệ. Hãy mở lại trang quản trị từ trang chính."

#: includes/class-grabwp-tenancy-loader.php:382
msgid "This admin access link has expired. Open the site admin again from the main site."
msgstr "Liên kết truy cập quản trị này đã hết hạn. Hãy mở lại trang quản trị từ trang chính."

#: includes/class-grabwp-tenancy-loader.php:383
msgid "This admin access link was made for a different site address."
msgstr "Liên kết truy cập quản trị này được tạo cho một địa chỉ trang web khác."

#: includes/class-grabwp-tenancy-loader.php:384
msgid "This site could not be identified."
msgstr "Không thể xác định trang web này."

#: includes/class-grabwp-tenancy-loader.php:385
msgid "No administrator account was found in this site. The site may not be installed yet."
msgstr "Không tìm thấy tài khoản quản trị viên nào trên trang web này. Có thể trang web chưa được cài đặt."

#: includes/class-grabwp-tenancy-routing.php:80
msgid "Path"
msgstr "Đường dẫn"

#: includes/class-grabwp-tenancy-routing.php:82
msgid "Domain"
msgstr "Tên miền"

#: includes/class-grabwp-tenancy-routing.php:84
msgid "Path and domain"
msgstr "Đường dẫn và tên miền"

#. translators: %s: path of tenants.php.
#: includes/class-grabwp-tenancy-routing.php:168
#, php-format
msgid "%s does not exist yet. It is created when you save."
msgstr "%s chưa tồn tại. Tệp sẽ được tạo khi bạn lưu."

#. translators: %s: folder of tenants.php.
#: includes/class-grabwp-tenancy-routing.php:171
#, php-format
msgid "The folder %s is not writable by the web server, so tenants.php cannot be saved. Make the folder writable."
msgstr "Máy chủ web không có quyền ghi vào thư mục %s, nên không thể lưu tenants.php. Hãy cấp quyền ghi cho thư mục này."

#. translators: %s: path of tenants.php.
#: includes/class-grabwp-tenancy-routing.php:174
#, php-format
msgid "%s cannot be read by the web server, so it cannot be updated safely. Make it readable and writable."
msgstr "Máy chủ web không thể đọc %s, nên không thể cập nhật an toàn. Hãy cấp quyền đọc và ghi cho tệp này."

#. translators: %s: path of tenants.php.
#: includes/class-grabwp-tenancy-routing.php:177
#, php-format
msgid "%s is not writable by the web server. Make the file writable."
msgstr "Máy chủ web không có quyền ghi vào %s. Hãy cấp quyền ghi cho tệp này."

#: includes/class-grabwp-tenancy-routing.php:179
msgid "Could not write tenants.php. Check file permissions."
msgstr "Không thể ghi tệp tenants.php. Vui lòng kiểm tra quyền tệp."

#: includes/class-grabwp-tenancy-settings.php:123
msgid "Disable Install Plugins & Themes"
msgstr "Tắt cài đặt plugin & giao diện"

#: includes/class-grabwp-tenancy-settings.php:126
msgid "Tenant admins cannot install, update or delete plugins and themes."
msgstr "Quản trị viên tenant không thể cài đặt, cập nhật hoặc xóa plugin và giao diện."

#: includes/class-grabwp-tenancy-settings.php:131
msgid "Disable Plugin & Theme File Editor"
msgstr "Tắt trình sửa tệp plugin & giao diện"

#: includes/class-grabwp-tenancy-settings.php:134
msgid "Tenant admins cannot use the built-in code editor for plugin and theme files."
msgstr "Quản trị viên tenant không thể dùng trình sửa mã tích hợp sẵn cho các tệp plugin và giao diện."

#: includes/class-grabwp-tenancy-settings.php:139
msgid "Hide Plugins Menu"
msgstr "Ẩn menu Plugin"

#: includes/class-grabwp-tenancy-settings.php:142
msgid "Removes the Plugins menu from tenant dashboards."
msgstr "Ẩn menu Plugin khỏi bảng điều khiển của tenant."

#: includes/class-grabwp-tenancy-settings.php:145
msgid "Hide Appearance Menu"
msgstr "Ẩn menu Giao diện"

#: includes/class-grabwp-tenancy-settings.php:148
msgid "Removes the Appearance menu (themes) from tenant dashboards."
msgstr "Ẩn menu Giao diện (theme) khỏi bảng điều khiển của tenant."

#: includes/class-grabwp-tenancy-settings.php:151
msgid "Hide Themes Screen"
msgstr "Ẩn trang chọn giao diện"

#: includes/class-grabwp-tenancy-settings.php:154
msgid "Tenant admins keep Customize, Menus and Widgets under Appearance but cannot browse, install or switch themes. Has no effect when Hide Appearance Menu is on."
msgstr "Quản trị viên của trang web vẫn dùng được Tùy biến, Menu và Widget trong Giao diện nhưng không thể duyệt, cài đặt hoặc đổi giao diện. Không có tác dụng khi Ẩn menu Giao diện đang bật."

#: includes/class-grabwp-tenancy-settings.php:157
msgid "Hide GrabWP Plugins"
msgstr "Ẩn plugin GrabWP"

#: includes/class-grabwp-tenancy-settings.php:160
msgid "Hides every GrabWP plugin and the SQLite plugin from the tenant Plugins list, so tenants cannot turn them off by mistake."
msgstr "Ẩn mọi plugin GrabWP và plugin SQLite khỏi danh sách Plugin của tenant để tránh việc tenant vô tình tắt chúng."

#: includes/class-grabwp-tenancy-settings.php:163
msgid "Disable WP-Cron"
msgstr "Tắt WP-Cron"

#: includes/class-grabwp-tenancy-settings.php:166
msgid "Turns off the built-in task scheduler on tenant sites. Run a server cron job instead."
msgstr "Tắt bộ lập lịch tác vụ tích hợp sẵn trên các trang tenant. Hãy chạy cron job trên máy chủ để thay thế."

#: includes/class-grabwp-tenancy-settings.php:171
msgid "Disable XML-RPC"
msgstr "Tắt XML-RPC"

#: includes/class-grabwp-tenancy-settings.php:174
msgid "Turns off the old remote publishing API, a common target of password-guessing attacks."
msgstr "Tắt API đăng bài từ xa kiểu cũ, vốn là mục tiêu phổ biến của các cuộc tấn công dò mật khẩu."

#: includes/class-grabwp-tenancy-settings.php:177
msgid "Post Revisions to Keep"
msgstr "Số bản thảo bài viết lưu giữ"

#: includes/class-grabwp-tenancy-settings.php:180
msgid "How many older versions of each post to keep. 0 turns revisions off."
msgstr "Số phiên bản cũ của mỗi bài viết được giữ lại. Nhập 0 để tắt lưu bản sửa đổi."

#: includes/class-grabwp-tenancy-settings.php:187
msgid "Days Before Trash Is Emptied"
msgstr "Số ngày trước khi dọn sạch Thùng rác"

#: includes/class-grabwp-tenancy-settings.php:190
msgid "Deleted items stay in the Trash this many days. 0 deletes them right away."
msgstr "Các mục đã xóa sẽ nằm trong Thùng rác theo số ngày này. Nhập 0 để xóa vĩnh viễn ngay lập tức."

#: includes/class-grabwp-tenancy-settings.php:197
msgid "Block External Requests"
msgstr "Chặn kết nối ra bên ngoài"

#: includes/class-grabwp-tenancy-settings.php:200
msgid "Tenant sites cannot connect to other websites, except the allowed hosts below."
msgstr "Các trang tenant không thể kết nối tới trang web khác, ngoại trừ các máy chủ được cho phép bên dưới."

#: includes/class-grabwp-tenancy-settings.php:205
msgid "Allowed Hosts When Blocked"
msgstr "Máy chủ được phép khi chặn"

#: includes/class-grabwp-tenancy-settings.php:208
msgid "Comma-separated host names tenant sites can still reach when external requests are blocked. Wildcards like *.wordpress.org work."
msgstr "Danh sách tên máy chủ (ngăn cách bởi dấu phẩy) mà các trang tenant vẫn có thể kết nối khi bật chặn kết nối bên ngoài. Có hỗ trợ ký tự đại diện như *.wordpress.org."

#: includes/class-grabwp-tenancy-setup-wizard.php:139
msgid "Welcome"
msgstr "Chào mừng"

#: includes/class-grabwp-tenancy-setup-wizard.php:143
#: includes/class-grabwp-tenancy-setup-wizard.php:151
msgid "Continue"
msgstr "Tiếp tục"

#: includes/class-grabwp-tenancy-setup-wizard.php:154
msgid "Custom domains"
msgstr "Tên miền riêng"

#: includes/class-grabwp-tenancy-setup-wizard.php:155
msgid "Give any site its own domain from Tenancy > All Tenants > Edit."
msgstr "Gán tên miền riêng cho bất kỳ trang web nào tại Quản lý tenant > Tất cả tenant > Chỉnh sửa."

#: includes/class-grabwp-tenancy-setup-wizard.php:165
msgid "First site"
msgstr "Trang web đầu tiên"

#: includes/class-grabwp-tenancy-setup-wizard.php:170
msgid "Create site"
msgstr "Tạo trang web"

#: includes/class-grabwp-tenancy-setup-wizard.php:173
msgid "More sites"
msgstr "Thêm trang web"

#: includes/class-grabwp-tenancy-setup-wizard.php:174
msgid "Add as many as you need from Tenancy > Add New."
msgstr "Thêm bao nhiêu trang tùy ý từ Quản lý tenant > Thêm mới."

#: includes/class-grabwp-tenancy-setup-wizard.php:178
msgid "Copies of a site"
msgstr "Bản sao trang web"

#: includes/class-grabwp-tenancy-setup-wizard.php:179
msgid "Clone a finished site from its row in Tenancy > All Tenants to start the next one faster."
msgstr "Sao chép một trang web đã hoàn chỉnh ngay tại dòng của trang đó trong Quản lý tenant > Tất cả tenant để tạo trang tiếp theo nhanh hơn."

#: includes/class-grabwp-tenancy-setup-wizard.php:186
msgid "Done"
msgstr "Hoàn tất"

#: includes/class-grabwp-tenancy-setup-wizard.php:355
#: includes/class-grabwp-tenancy-setup-wizard.php:646
msgid "Resume setup wizard"
msgstr "Tiếp tục trình hướng dẫn thiết lập"

#: includes/class-grabwp-tenancy-setup-wizard.php:355
msgid "Run setup wizard"
msgstr "Chạy trình hướng dẫn thiết lập"

#. translators: %s: name of the button on the Status page, "Resume setup wizard".
#: includes/class-grabwp-tenancy-setup-wizard.php:645
#, php-format
msgid "Setup paused. The steps you saved are kept. You can resume any time with \"%s\" on this Status page."
msgstr "Đã tạm dừng thiết lập. Các bước bạn đã lưu vẫn được giữ nguyên. Bạn có thể tiếp tục bất cứ lúc nào bằng nút \"%s\" trên trang Trạng thái này."

#. translators: %d: number of setup steps left.
#: includes/class-grabwp-tenancy-setup-wizard.php:691
#, php-format
msgid "GrabWP: finish setup to get your first site running (%d step left)."
msgid_plural "GrabWP: finish setup to get your first site running (%d steps left)."
msgstr[0] "GrabWP: hoàn tất thiết lập để chạy trang web đầu tiên (còn %d bước)."

#: includes/class-grabwp-tenancy-setup-wizard.php:697
msgid "Continue setup"
msgstr "Tiếp tục thiết lập"

#. translators: %s: plugin names, e.g. "GrabWP Tenancy Pro and GrabWP Tenancy WaaS".
#: includes/class-grabwp-tenancy-setup-wizard.php:718
#, php-format
msgid "Finish activating %s, then run the setup wizard."
msgstr "Hoàn tất kích hoạt %s, sau đó chạy trình hướng dẫn thiết lập."

#: includes/class-grabwp-tenancy-setup-wizard.php:724
msgid "Run the setup wizard"
msgstr "Chạy trình hướng dẫn thiết lập"

#: includes/class-grabwp-tenancy-setup-wizard.php:1054
msgid "Unknown setup step."
msgstr "Bước thiết lập không xác định."

#: includes/class-grabwp-tenancy-setup-wizard.php:1129
msgid "Simple"
msgstr "Đơn giản"

#: includes/class-grabwp-tenancy-setup-wizard.php:1130
msgid "Advanced"
msgstr "Nâng cao"

#: includes/class-grabwp-tenancy-setup-wizard.php:1138
msgid "Recommended"
msgstr "Khuyên dùng"

#: includes/class-grabwp-tenancy-setup-wizard.php:1191
msgid "Later, you can add:"
msgstr "Sau này, bạn có thể thêm:"

#: includes/class-grabwp-tenancy-setup-wizard.php:1294
#: includes/class-grabwp-tenancy-setup-wizard.php:1298
msgid "Choose how visitors reach your sites."
msgstr "Chọn cách khách truy cập vào các trang web của bạn."

#: includes/class-grabwp-tenancy-setup-wizard.php:1300
msgid "Sites already exist, so their addresses would change. Change the mode in Tenancy > Settings > Routing, which lists the affected sites."
msgstr "Đã có các trang web tồn tại nên địa chỉ của chúng sẽ thay đổi. Hãy đổi chế độ tại Quản lý tenant > Cài đặt > Định tuyến để xem danh sách các trang web bị ảnh hưởng."

#: includes/class-grabwp-tenancy-setup-wizard.php:1319
msgid "Your first site opens on a path address right away. No DNS needed."
msgstr "Trang web đầu tiên của bạn sẽ mở ngay qua địa chỉ đường dẫn. Không cần DNS."

#: includes/class-grabwp-tenancy-setup-wizard.php:1320
msgid "Your first site opens on its own domain. Point that domain to this server (DNS) first."
msgstr "Trang web đầu tiên của bạn sẽ mở trên tên miền riêng. Hãy trỏ tên miền đó về máy chủ này (DNS) trước."

#: includes/class-grabwp-tenancy-setup-wizard.php:1321
msgid "Your first site opens on a path address right away. You can give it its own domain now or later."
msgstr "Trang web đầu tiên của bạn sẽ mở ngay qua địa chỉ đường dẫn. Bạn có thể gán tên miền riêng cho trang ngay bây giờ hoặc sau này."

#: includes/class-grabwp-tenancy-setup-wizard.php:1334
msgid "Create your first site"
msgstr "Tạo trang web đầu tiên của bạn"

#: includes/class-grabwp-tenancy-setup-wizard.php:1336
msgid "My First Site"
msgstr "Trang web đầu tiên của tôi"

#: includes/class-grabwp-tenancy-setup-wizard.php:1405
msgid "Pick a site from the list."
msgstr "Chọn một trang web trong danh sách."

#: includes/class-grabwp-tenancy-setup-wizard.php:1414
msgid "Enter a site title (up to 100 characters)."
msgstr "Nhập tiêu đề trang web (tối đa 100 ký tự)."

#: includes/class-grabwp-tenancy-setup-wizard.php:1418
msgid "Enter a valid admin email."
msgstr "Nhập email quản trị hợp lệ."

#: includes/class-grabwp-tenancy-setup-wizard.php:1435
msgid "Enter the domain of the site. Domain routing needs a domain for every site."
msgstr "Nhập tên miền của trang web. Định tuyến theo tên miền yêu cầu mỗi trang web phải có một tên miền."

#: includes/class-grabwp-tenancy-setup-wizard.php:1436
msgid "Enter the custom domain, or choose Path URL."
msgstr "Nhập tên miền riêng, hoặc chọn URL đường dẫn."

#: includes/class-grabwp-tenancy-setup-wizard.php:1580
msgid "Server checked"
msgstr "Đã kiểm tra máy chủ"

#. translators: %s: tenant ID.
#: includes/class-grabwp-tenancy-setup-wizard.php:1596
#, php-format
msgid "Site %s created and installed"
msgstr "Đã tạo và cài đặt trang web %s"

#. translators: %s: tenant ID.
#: includes/class-grabwp-tenancy-setup-wizard.php:1599
#, php-format
msgid "Site %s created; WordPress is not installed yet"
msgstr "Đã tạo trang web %s; WordPress chưa được cài đặt"

#. translators: %s: tenant ID.
#: includes/class-grabwp-tenancy-setup-wizard.php:1602
#, php-format
msgid "Site %s created; GrabWP could not confirm that WordPress is installed"
msgstr "Đã tạo trang web %s; GrabWP không thể xác nhận WordPress đã được cài đặt hay chưa"

#: includes/class-grabwp-tenancy-setup-wizard.php:1612
msgid "First site: Skipped"
msgstr "Trang web đầu tiên: Đã bỏ qua"

#: includes/class-grabwp-tenancy-setup-wizard.php:1630
msgid "Map a custom domain"
msgstr "Gắn tên miền riêng"

#: includes/class-grabwp-tenancy-setup-wizard.php:1631
msgid "Give this site its own domain, like my-shop.com."
msgstr "Gán tên miền riêng cho trang web này, ví dụ my-shop.com."

#: includes/class-grabwp-tenancy-setup-wizard.php:1636
msgid "Add more sites"
msgstr "Thêm nhiều trang web hơn"

#: includes/class-grabwp-tenancy-setup-wizard.php:1637
msgid "Each one separate, all from this WordPress."
msgstr "Mỗi trang hoạt động riêng biệt, tất cả từ chính WordPress này."

#. translators: %s: name of a setup item.
#: includes/class-grabwp-tenancy-setup-wizard.php:1673
#, php-format
msgid "%s: Skipped"
msgstr "%s: Đã bỏ qua"

#: includes/class-grabwp-tenancy-status-checker.php:181
msgid "Multiple tenants.php files detected"
msgstr "Phát hiện nhiều file tenants.php"

#: includes/class-grabwp-tenancy-status-checker.php:182
msgid "Only one tenants.php is loaded at boot. Stale copies at other locations may cause confusion during debugging or migration. Remove unused copies."
msgstr "Chỉ có một file tenants.php được tải lúc khởi động. Các bản sao cũ ở các vị trí khác có thể gây nhầm lẫn trong quá trình gỡ lỗi hoặc di chuyển. Hãy xóa các bản sao không dùng đến."

#: includes/class-grabwp-tenancy-status-checker.php:208
msgid "Multiple global config.php files detected"
msgstr "Phát hiện nhiều file config.php toàn cục"

#: includes/class-grabwp-tenancy-status-checker.php:209
msgid "Pro global configuration exists at both new and legacy locations. Boot loads the new path first; changes saved to the other copy are silently ignored. Remove the unused copy."
msgstr "Cấu hình toàn cục Pro tồn tại ở cả vị trí mới và cũ. Quá trình khởi động tải đường dẫn mới trước tiên; những thay đổi lưu vào bản sao kia sẽ bị bỏ qua. Hãy xóa bản sao không dùng đến."

#: includes/class-grabwp-tenancy-status-checker.php:219
msgid "Data directory inside uploads/"
msgstr "Thư mục dữ liệu nằm trong uploads/"

#: includes/class-grabwp-tenancy-status-checker.php:220
msgid "Tenant data is inside wp-content/uploads/ — exposed to media upload scanners, backup tools, and CDN sync. Recommended: wp-content/grabwp-tenancy/."
msgstr "Dữ liệu tenant nằm trong thư mục wp-content/uploads/ - hiển thị đối với trình quét tải lên phương tiện, công cụ sao lưu và đồng bộ CDN. Khuyên dùng: wp-content/grabwp-tenancy/."

#: includes/class-grabwp-tenancy-status-checker.php:229
msgid "Pro config directory inside uploads/"
msgstr "Thư mục cấu hình Pro nằm trong uploads/"

#: includes/class-grabwp-tenancy-status-checker.php:230
msgid "Pro tenant configs are inside wp-content/uploads/. Recommended: wp-content/grabwp-tenancy-pro/."
msgstr "Cấu hình tenant Pro nằm trong wp-content/uploads/. Khuyên dùng: wp-content/grabwp-tenancy-pro/."

#: includes/class-grabwp-tenancy-status-checker.php:240
msgid "SQLite directory inside uploads/"
msgstr "Thư mục SQLite nằm trong uploads/"

#: includes/class-grabwp-tenancy-status-checker.php:241
msgid "SQLite databases are inside wp-content/uploads/. Recommended: wp-content/grabwp-tenancy-sqlite/."
msgstr "Cơ sở dữ liệu SQLite nằm trong wp-content/uploads/. Khuyên dùng: wp-content/grabwp-tenancy-sqlite/."

#: includes/class-grabwp-tenancy-status-checker.php:260
msgid "Directory paths hardcoded in wp-config.php"
msgstr "Các đường dẫn thư mục được hardcode trong wp-config.php"

#: includes/class-grabwp-tenancy-status-checker.php:261
msgid "Constants defined before load.php override all auto-detection and Pro admin directory settings."
msgstr "Các hằng số được định nghĩa trước file load.php sẽ ghi đè tất cả cài đặt tự động phát hiện và cài đặt thư mục quản trị Pro."

#: includes/class-grabwp-tenancy-status-checker.php:276
msgid "Multiple tenant-aliases.php files detected"
msgstr "Phát hiện nhiều file tenant-aliases.php"

#: includes/class-grabwp-tenancy-status-checker.php:277
msgid "Only the copy at the active base directory is loaded. Remove stale copies to prevent confusion."
msgstr "Chỉ bản sao ở thư mục cơ sở đang hoạt động mới được tải. Hãy xóa các bản sao cũ để tránh gây nhầm lẫn."

#: includes/class-grabwp-tenancy-status-checker.php:293
msgid "Unknown"
msgstr "Không xác định"

#: includes/class-grabwp-tenancy-tenant-crud.php:71
msgid "Failed to generate a unique tenant ID. Please try again."
msgstr "Không thể tạo ID tenant duy nhất. Vui lòng thử lại."

#: includes/class-grabwp-tenancy-tenant-crud.php:91
msgid "Failed to create tenant."
msgstr "Tạo tenant thất bại."

#: includes/class-grabwp-tenancy-tenant-crud.php:104
#: includes/class-grabwp-tenancy-tenant-crud.php:152
#: includes/class-grabwp-tenancy-tenant-installer.php:540
msgid "Invalid tenant ID."
msgstr "Mã tenant không hợp lệ."

#: includes/class-grabwp-tenancy-tenant-crud.php:121
msgid "Failed to delete tenant."
msgstr "Xóa tenant thất bại."

#: includes/class-grabwp-tenancy-tenant-crud.php:133
msgid "Tenant deleted successfully. All files and database tables removed."
msgstr "Tenant đã được xóa thành công. Tất cả files và database tables đã được xóa."

#: includes/class-grabwp-tenancy-tenant-crud.php:135
msgid "Tenant deleted successfully. Files removed, but some database tables may remain."
msgstr "Tenant đã được xóa thành công. Files đã được xóa, nhưng một số database tables có thể còn lại."

#: includes/class-grabwp-tenancy-tenant-crud.php:138
msgid "Tenant deleted, but some files or database tables may remain."
msgstr "Tenant đã được xóa, nhưng một số files hoặc database tables có thể còn lại."

#: includes/class-grabwp-tenancy-tenant-crud.php:187
msgid "Failed to update tenant."
msgstr "Cập nhật tenant thất bại."

#: includes/class-grabwp-tenancy-tenant-crud.php:207
msgid "Please enter at least one valid domain."
msgstr "Vui lòng nhập ít nhất một tên miền hợp lệ."

#: includes/class-grabwp-tenancy-tenant-crud.php:215
#, php-format
msgid "Domain(s) already in use by other tenants: %s. Each domain can only be assigned to one tenant."
msgstr "Tên miền đã được sử dụng bởi tenant khác: %s. Mỗi tên miền chỉ có thể gán cho một tenant."

#: includes/class-grabwp-tenancy-tenant-crud.php:216
#, php-format
msgid "Domain(s) already in use: %s. Each domain can only be assigned to one tenant."
msgstr "Tên miền đã được sử dụng: %s. Mỗi tên miền chỉ có thể gán cho một tenant."

#: includes/class-grabwp-tenancy-tenant-crud.php:247
msgid "Domain mode needs at least one domain for each site."
msgstr "Chế độ Tên miền cần ít nhất một tên miền cho mỗi trang web."

#: includes/class-grabwp-tenancy-tenant-crud.php:257
msgid "Could not read tenants.php, so nothing was changed. Check the file and its permissions."
msgstr "Không thể đọc tệp tenants.php nên chưa có thay đổi nào được thực hiện. Vui lòng kiểm tra tệp và quyền truy cập tệp."

#. translators: %d: HTTP status code.
#: includes/class-grabwp-tenancy-tenant-installer.php:441
#, php-format
msgid "The address of the new site was answered by the main site or a proxy (HTTP %d), not by the new site. The web server may not have loaded the new site yet; wait a minute and try again."
msgstr "Địa chỉ của trang web mới được phản hồi bởi trang chính hoặc proxy (HTTP %d), chứ không phải bởi trang web mới. Máy chủ web có thể chưa tải trang web mới; hãy đợi một phút rồi thử lại."

#. translators: %d: HTTP status code.
#: includes/class-grabwp-tenancy-tenant-installer.php:447
#: includes/class-grabwp-tenancy-tenant-installer.php:619
#, php-format
msgid "The site answered with HTTP %d."
msgstr "Trang web phản hồi với mã HTTP %d."

#. translators: 1: reason, 2: administrator username.
#: includes/class-grabwp-tenancy-tenant-installer.php:606
#, php-format
msgid "WordPress may be installed, but GrabWP could not confirm it: %1$s If it is, log in as %2$s with the password shown here."
msgstr "WordPress có thể đã được cài đặt, nhưng GrabWP không thể xác nhận: %1$s Nếu đã cài đặt, hãy đăng nhập bằng tài khoản %2$s với mật khẩu hiển thị ở đây."

#: includes/class-grabwp-tenancy-theme-screen-lock.php:99
msgid "Themes are managed by your host. You can still customize your current theme, menus and widgets from the Appearance menu."
msgstr "Giao diện do nhà cung cấp hosting của bạn quản lý. Bạn vẫn có thể tùy biến giao diện hiện tại, menu và widget từ menu Giao diện."

#: includes/class-grabwp-tenancy-theme-screen-lock.php:100
msgid "Themes unavailable"
msgstr "Không thể dùng màn hình Giao diện"

#. translators: 1: line number, 2: PHP code on that line.
#: admin/views/partials/setup-hosting-card.php:136
#, php-format
msgid "Line %1$d: %2$s (inside a condition, check it)"
msgstr "Dòng %1$d: %2$s (nằm trong câu lệnh điều kiện, hãy kiểm tra)"

#. translators: 1: tenant ID, 2: date and time of the change (UTC).
#: includes/class-grabwp-tenancy-integrity-watchdog.php:674
#, php-format
msgid "tenant %1$s, %2$s"
msgstr "tenant %1$s, %2$s"

#: admin/class-grabwp-tenancy-list-table.php:88
#: admin/views/partials/tenant-management-rows.php:32
msgid "Tags"
msgstr "Thẻ"

#: admin/class-grabwp-tenancy-list-table.php:534
msgid "No tenants found with this tag."
msgstr "Không tìm thấy tenant nào có thẻ này."

#: admin/class-grabwp-tenancy-list-table.php:661
msgid "Filter by tag"
msgstr "Lọc theo thẻ"

#: admin/class-grabwp-tenancy-list-table.php:663
msgid "All tags"
msgstr "Tất cả thẻ"

#. translators: 1: tag name, 2: number of tenants with the tag.
#: admin/class-grabwp-tenancy-list-table.php:669
#, php-format
msgid "%1$s (%2$d)"
msgstr "%1$s (%2$d)"

#: admin/class-grabwp-tenancy-list-table.php:677
msgid "Filter"
msgstr "Lọc"

#: admin/class-grabwp-tenancy-list-table.php:680
msgid "Search by ID, name, domain or tag..."
msgstr "Tìm theo ID, tên, tên miền hoặc thẻ..."

#: admin/class-grabwp-tenancy-tag-list-table.php:59
#: admin/views/partials/tenant-management-rows.php:24
#: admin/views/tenant-tag-edit.php:36
msgid "Name"
msgstr "Tên"

#: admin/class-grabwp-tenancy-tag-list-table.php:60
#: admin/views/tenant-tag-edit.php:43
msgid "Slug"
msgstr "Slug"

#: admin/class-grabwp-tenancy-tag-list-table.php:61
msgid "Tenants"
msgstr "Tenant"

#: admin/class-grabwp-tenancy-tag-list-table.php:83
msgid "Delete"
msgstr "Xóa"

#. translators: %s: tag name.
#: admin/class-grabwp-tenancy-tag-list-table.php:158
#, php-format
msgid "Select %s"
msgstr "Chọn %s"

#. translators: %s: tag name.
#: admin/class-grabwp-tenancy-tag-list-table.php:206
#, php-format
msgid "Edit %s"
msgstr "Chỉnh sửa %s"

#. translators: %s: tag name.
#: admin/class-grabwp-tenancy-tag-list-table.php:208
#, php-format
msgid "Delete %s"
msgstr "Xóa %s"

#: admin/class-grabwp-tenancy-tag-list-table.php:210
msgid "Delete this tag?"
msgstr "Xóa thẻ này?"

#. translators: %d: number of tenants that carry the tag.
#: admin/class-grabwp-tenancy-tag-list-table.php:213
#, php-format
msgid "Delete this tag? It is removed from %d tenant."
msgid_plural "Delete this tag? It is removed from %d tenants."
msgstr[0] "Xóa thẻ này? Thẻ sẽ được gỡ khỏi %d tenant."

#: admin/class-grabwp-tenancy-tag-list-table.php:232
msgid "No tags found."
msgstr "Không tìm thấy thẻ nào."

#: admin/class-grabwp-tenancy-tag-list-table.php:235
#: admin/views/partials/tenant-management-rows.php:37
msgid "No tags yet."
msgstr "Chưa có thẻ nào."

#: admin/class-grabwp-tenancy-tag-list-table.php:236
#: admin/views/tenant-tag-edit.php:19
#: admin/views/tenant-tags.php:23
msgid "Add New Tag"
msgstr "Thêm thẻ mới"

#. translators: %s: file name.
#: admin/views/partials/settings-management.php:20
#, php-format
msgid "GrabWP cannot read %s in the GrabWP data folder, so names and tags cannot be saved. Fix or remove the file."
msgstr "GrabWP không thể đọc %s trong thư mục dữ liệu GrabWP, nên không thể lưu tên và thẻ. Hãy sửa hoặc xóa tệp này."

#: admin/views/partials/settings-management.php:30
msgid "Enable names and tags"
msgstr "Bật tên và thẻ"

#: admin/views/partials/settings-management.php:31
msgid "Adds a Name and Tags to each site in the tenant list and the Add New and Edit screens. Turning it off hides them and keeps what you saved."
msgstr "Thêm mục Tên và Thẻ cho mỗi trang web trong danh sách tenant cũng như trên màn hình Thêm mới và Chỉnh sửa. Khi tắt sẽ ẩn các mục này nhưng vẫn giữ lại dữ liệu bạn đã lưu."

#: admin/views/partials/tenant-management-rows.php:28
msgid "Optional. A short name to tell this site apart in the tenant list."
msgstr "Tùy chọn. Tên ngắn gọn để phân biệt trang web này trong danh sách tenant."

#: admin/views/partials/tenant-management-rows.php:47
msgid "New tags, comma separated"
msgstr "Thẻ mới, phân cách bằng dấu phẩy"

#: admin/views/partials/tenant-management-rows.php:52
msgid "Optional. Group sites with your own tags, then filter the tenant list by tag."
msgstr "Tùy chọn. Nhóm các trang web bằng thẻ riêng của bạn, sau đó lọc danh sách tenant theo thẻ."

#: admin/views/partials/tenant-management-rows.php:53
msgid "Manage tags"
msgstr "Quản lý thẻ"

#: admin/views/settings.php:28
msgid "Management"
msgstr "Quản lý"

#: admin/views/tenant-tag-edit.php:19
msgid "Edit Tag"
msgstr "Chỉnh sửa thẻ"

#: admin/views/tenant-tag-edit.php:23
msgid "Tag not found. It may have been deleted."
msgstr "Không tìm thấy thẻ. Có thể thẻ đã bị xóa."

#: admin/views/tenant-tag-edit.php:25
msgid "Back to Tags"
msgstr "Quay lại danh sách thẻ"

#: admin/views/tenant-tag-edit.php:47
msgid "Lowercase letters, numbers and hyphens. Changing it updates every tenant that has this tag."
msgstr "Chữ thường, chữ số và dấu gạch ngang. Thay đổi giá trị này sẽ cập nhật mọi tenant đang gắn thẻ này."

#: admin/views/tenant-tag-edit.php:48
msgid "Lowercase letters, numbers and hyphens. Leave it empty to make it from the name."
msgstr "Chữ thường, chữ số và dấu gạch ngang. Để trống sẽ tự động tạo từ tên."

#: admin/views/tenant-tag-edit.php:59
msgid "Update Tag"
msgstr "Cập nhật thẻ"

#: admin/views/tenant-tag-edit.php:59
msgid "Add Tag"
msgstr "Thêm thẻ"

#: admin/views/tenant-tags.php:21
#: includes/class-grabwp-tenancy-admin.php:314
#: includes/class-grabwp-tenancy-admin.php:315
#: includes/class-grabwp-tenancy-tenant-tags-admin.php:62
msgid "Tenant Tags"
msgstr "Thẻ tenant"

#: admin/views/tenant-tags.php:30
msgid "Tag saved."
msgstr "Đã lưu thẻ."

#: admin/views/tenant-tags.php:31
msgid "Tag deleted."
msgstr "Đã xóa thẻ."

#. translators: %d: number of tags deleted.
#: admin/views/tenant-tags.php:34
#, php-format
msgid "%d tag deleted."
msgid_plural "%d tags deleted."
msgstr[0] "Đã xóa %d thẻ."

#: admin/views/tenant-tags.php:47
msgid "Back to All Tenants"
msgstr "Quay lại Tất cả tenant"

#: admin/views/tenant-tags.php:51
msgid "Search Tags"
msgstr "Tìm kiếm thẻ"

#: admin/views/tenants.php:21
msgid "Manage Tags"
msgstr "Quản lý thẻ"

#: includes/class-grabwp-tenancy-admin-form-handler.php:283
msgid "The Management setting could not be saved. Check that the GrabWP data folder is writable."
msgstr "Không thể lưu cài đặt Quản lý. Hãy kiểm tra quyền ghi của thư mục dữ liệu GrabWP."

#: includes/class-grabwp-tenancy-admin-form-handler.php:297
msgid "Tenant saved, but names and tags could not be written. Check that the GrabWP data folder is writable."
msgstr "Đã lưu tenant, nhưng không thể ghi tên và thẻ. Hãy kiểm tra quyền ghi của thư mục dữ liệu GrabWP."

#: includes/class-grabwp-tenancy-management.php:227
#: includes/class-grabwp-tenancy-management.php:311
msgid "Enter a tag name."
msgstr "Nhập tên thẻ."

#: includes/class-grabwp-tenancy-management.php:239
msgid "The slug can use lowercase letters, numbers and hyphens only."
msgstr "Slug chỉ được dùng chữ thường, chữ số và dấu gạch ngang."

#: includes/class-grabwp-tenancy-management.php:245
msgid "That tag no longer exists."
msgstr "Thẻ đó không còn tồn tại."

#: includes/class-grabwp-tenancy-management.php:248
msgid "A tag with that slug already exists."
msgstr "Đã có thẻ sử dụng slug đó."

#: includes/class-grabwp-tenancy-management.php:728
msgid "Names and tags could not be written. Check that the GrabWP data folder is writable."
msgstr "Không thể ghi tên và thẻ. Hãy kiểm tra quyền ghi của thư mục dữ liệu GrabWP."

#: includes/class-grabwp-tenancy-tenant-tags-admin.php:58
#: includes/class-grabwp-tenancy-tenant-tags-admin.php:255
msgid "You are not allowed to manage tags."
msgstr "Bạn không có quyền quản lý thẻ."

#: includes/class-grabwp-tenancy-tenant-tags-admin.php:63
#: includes/class-grabwp-tenancy-tenant-tags-admin.php:259
msgid "Tenant names and tags are turned off."
msgstr "Tính năng tên và thẻ của tenant đang tắt."

#: includes/class-grabwp-tenancy-tenant-tags-admin.php:64
msgid "Turn them on in Settings > Management"
msgstr "Bật tính năng này trong Cài đặt > Quản lý"

#: includes/class-grabwp-tenancy-tenant-tags-admin.php:150
msgid "The tag could not be deleted. Check that the GrabWP data folder is writable."
msgstr "Không thể xóa thẻ. Hãy kiểm tra quyền ghi của thư mục dữ liệu GrabWP."

#: includes/class-grabwp-tenancy-tenant-tags-admin.php:165
msgid "The tags could not be deleted. Check that the GrabWP data folder is writable."
msgstr "Không thể xóa các thẻ. Hãy kiểm tra quyền ghi của thư mục dữ liệu GrabWP."

#: includes/class-grabwp-tenancy-tenant-tags-admin.php:231
msgid "Search or add tags"
msgstr "Tìm hoặc thêm thẻ"

#: includes/class-grabwp-tenancy-tenant-tags-admin.php:232
msgid "No tags found"
msgstr "Không tìm thấy thẻ nào"

#. translators: %s: tag name the user typed.
#: includes/class-grabwp-tenancy-tenant-tags-admin.php:234
#, php-format
msgid "Add new tag: %s"
msgstr "Thêm thẻ mới: %s"

#. translators: %s: tag name.
#: includes/class-grabwp-tenancy-tenant-tags-admin.php:236
#, php-format
msgid "Remove tag %s"
msgstr "Gỡ thẻ %s"

#. translators: %s: tag name.
#: includes/class-grabwp-tenancy-tenant-tags-admin.php:238
#, php-format
msgid "Tag %s added."
msgstr "Đã thêm thẻ %s."

#: includes/class-grabwp-tenancy-tenant-tags-admin.php:239
msgid "The tag could not be created."
msgstr "Không thể tạo thẻ."

#: includes/class-grabwp-tenancy-tenant-tags-admin.php:251
msgid "Security check failed. Reload the page and try again."
msgstr "Kiểm tra bảo mật thất bại. Hãy tải lại trang và thử lại."
