# Copyright (C) 2026 AI House
# This file is distributed under the GPL-2.0-or-later license.
# Translation of MyBot into vi. Source strings are English.
msgid ""
msgstr ""
'"Project-Id-Version: MyBot 1.22.0\n"'
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/aihouse/\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
'"Language: vi\n"'
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Domain: aihouse\n"

msgid "— something on this site returned false from the mybot_feature_enabled filter."
msgstr "— có gì đó trên site này trả về false từ filter mybot_feature_enabled."

msgid "… and %s more items."
msgstr "… và %s mục khác."

msgid "· left details %d times"
msgstr "· đã để lại thông tin %d lần"

msgid "\"Automatic\" is the most cost-effective: it only searches when the question looks like it needs knowledge."
msgstr "\"Tự động\" tiết kiệm chi phí nhất: chỉ tra cứu khi câu hỏi có dấu hiệu cần tri thức."

msgid "(no id)"
msgstr "(không có mã)"

msgid "(nothing)"
msgstr "(không có)"

msgid "[%1$s] A question is waiting for a human: %2$s"
msgstr "[%1$s] Có câu hỏi đang chờ nhân viên trả lời: %2$s"

msgid "#%1$d · %2$d attempts · %3$s ago"
msgstr "#%1$d · %2$d lần thử · %3$s trước"

msgid "%1$s (%2$s)"
msgstr "%1$s (%2$s)"

msgid "%1$s hit the token limit of %2$d tokens before writing an answer (model: %3$s). Raise Max tokens, or choose a model that answers directly."
msgstr "%1$s chạm giới hạn %2$d token trước khi viết được câu trả lời (model: %3$s). Hãy tăng Max tokens, hoặc chọn model trả lời trực tiếp."

msgid "%1$s of %2$s published items carry a fingerprint."
msgstr "%1$s trong %2$s mục đang publish đã có dấu vân tay."

msgid "%1$s returned no text (finish reason: %2$s). Check that the model ID exists and is a chat model."
msgstr "%1$s không trả về nội dung nào (lý do kết thúc: %2$s). Kiểm tra lại mã model có tồn tại và có phải model chat hay không."

msgid "%1$s returned reasoning text but no answer: this is a reasoning model and it spent the whole %2$d-token budget on thinking. Model in use: %3$s. Choose a plain \"instruct\" or \"chat\" model, or raise Max tokens — and keep in mind that a reasoning model is slower, so the request timeout matters too."
msgstr "%1$s trả về phần suy luận mà không có câu trả lời: đây là model suy luận và nó đã dùng hết ngân sách %2$d token cho phần suy nghĩ. Model đang dùng: %3$s. Hãy chọn model loại \"instruct\" hoặc \"chat\" thường, hoặc tăng Max tokens — và lưu ý model suy luận chạy chậm hơn nên thời gian chờ của request cũng quan trọng."

msgid "%1$s×%2$s px · %3$s · %4$s"
msgstr "%1$s×%2$s px · %3$s · %4$s"

msgid "%d items could not be saved."
msgstr "Có %d mục không ghi được."

msgid "%d items were queued for indexing into the vector DB."
msgstr "%d mục đã vào hàng đợi để nạp vào vector DB."

msgid "%s ago"
msgstr "%s trước"

msgid "%s customer(s) so far. The file opens in Excel with Vietnamese characters intact."
msgstr "%s khách tính đến nay. Tệp mở bằng Excel vẫn giữ đúng tiếng Việt."

msgid "%s is not on the list of models that can read an image, so no picture would be sent to it."
msgstr "%s không có trong danh sách model đọc được hình ảnh, nên sẽ không có hình nào được gửi tới nó."

msgid "%s is on the list of models that can read an image."
msgstr "%s có trong danh sách model đọc được hình ảnh."

msgid "%s item(s) unchanged, so they were not indexed again."
msgstr "%s mục không đổi nên không nạp lại."

msgid "%s returned an empty reply."
msgstr "%s trả về câu trả lời rỗng."

msgid "%s returned no vectors."
msgstr "%s không trả về vector nào."

msgid "⚠️ The knowledge lock is ON and nothing is indexed yet, so the bot refuses EVERY question — including \"hello\". Index your content above."
msgstr "⚠️ Khoá tri thức đang BẬT mà chưa nạp nội dung nào, nên bot từ chối MỌI câu hỏi — kể cả \"xin chào\". Hãy nạp nội dung ở bước trên."

msgid "20 seconds maximum. On shared hosting, 8 is a good value."
msgstr "Tối đa 20 giây. Trên shared hosting nên để 8."

msgid "A key is saved for this provider. Press the button to prove it answers, and to try the model."
msgstr "Đã lưu một khoá cho nhà cung cấp này. Bấm nút để chứng minh nó trả lời được, và để thử model."

msgid "A path or a URL on this site. When this item is cited, the widget shows it as a link. Links to other sites are refused."
msgstr "Đường dẫn hoặc URL trên chính site này. Khi mục này được trích dẫn, khung chat hiện nó thành liên kết. Liên kết tới site khác sẽ bị từ chối."

msgid "A picture a visitor sent with a question"
msgstr "Ảnh khách gửi kèm câu hỏi"

msgid "A question from this conversation was just sent. Please wait a few minutes before sending another."
msgstr "Bạn vừa gửi một câu hỏi từ cuộc trò chuyện này. Vui lòng chờ vài phút trước khi gửi câu khác."

msgid "A question the knowledge base can answer should come back with a score above your Minimum score, and the source it came from. If nothing clears the threshold, the wording is not in your content — try the words your pages actually use."
msgstr "Một câu mà kho tri thức trả lời được phải cho điểm cao hơn ngưỡng Minimum score, kèm nguồn nó lấy từ đó. Nếu không đoạn nào vượt ngưỡng thì cách diễn đạt đó không có trong nội dung của bạn — hãy thử bằng chữ mà chính các trang của bạn dùng."

msgid "A row was written and read back as request #%d, so saving works."
msgstr "Đã ghi được một dòng và đọc lại thành yêu cầu #%d, nghĩa là việc lưu chạy được."

msgid "A short invitation shown next to the button after a few seconds, for example \"Need help? Ask us anything.\" It appears once per visitor: closing it, or opening the chat, retires it for good. It is off until you set a delay on the General tab."
msgstr "Lời mời ngắn hiện cạnh nút sau vài giây, ví dụ \"Cần hỗ trợ? Cứ hỏi chúng tôi.\" Mỗi khách chỉ thấy một lần: đóng nó, hoặc mở khung chat, là nó không hiện lại nữa. Mục này tắt cho tới khi bạn đặt số giây ở tab General."

msgid "A stored chunk matched itself at %s"
msgstr "Một đoạn đã lưu khớp với chính nó ở mức %s"

msgid "A valid email address is required so we can reply."
msgstr "Cần một địa chỉ email hợp lệ để chúng tôi trả lời."

msgid "A visitor may ask what this website holds about them, or ask you to delete it. WordPress answers both under Tools → Export Personal Data and Tools → Erase Personal Data, and this plugin registers itself there: searching for their phone number or email address finds and removes these rows."
msgstr "Khách có quyền hỏi website này đang giữ gì về họ, hoặc yêu cầu xoá. WordPress trả lời cả hai việc đó ở Công cụ → Xuất dữ liệu cá nhân và Công cụ → Xoá dữ liệu cá nhân, và plugin này đã tự đăng ký ở đó: tìm bằng số điện thoại hoặc email là ra và xoá được những dòng này."

msgid "A webhook is sent only when “Ask the visitor for an email address and save the question for a human” is switched on, under RAG (2b)."
msgstr "Webhook chỉ được gửi khi mục “Xin email của khách và lưu câu hỏi để nhân viên trả lời” đang bật, ở tab RAG (2b)."

msgid "Actions"
msgstr "Thao tác"

msgid "Add content or a file"
msgstr "Thêm nội dung hoặc tệp"

msgid "Add knowledge item"
msgstr "Thêm mục tri thức"

msgid "Add-on"
msgstr "Add-on"

msgid "Add-on key"
msgstr "Khoá add-on"

msgid "Add-ons"
msgstr "Add-on"

msgid "Add-ons are separate plugins that add features to AI House. This screen lists what is installed and which features are switched on."
msgstr "Add-on là các plugin riêng, thêm tính năng cho AI House. Màn hình này liệt kê những gì đã cài và tính năng nào đang bật."

msgid "Add-ons that could not register"
msgstr "Add-on không đăng ký được"

msgid "After several consecutive failures, the plugin stops calling the provider for a period."
msgstr "Sau nhiều lỗi liên tiếp, plugin ngừng gọi nhà cung cấp trong một khoảng thời gian."

msgid "After this many consecutive failures, the plugin stops calling the provider."
msgstr "Sau ngần này lỗi liên tiếp, plugin ngừng gọi nhà cung cấp."

msgid "Agreed to be contacted"
msgstr "Đồng ý được liên hệ"

msgid "AI House"
msgstr "AI House"

msgid "AI House — Hybrid AI Chat"
msgstr "AI House — Hybrid AI Chat"

msgid "AI House Knowledge"
msgstr "Tri thức AI House"

msgid "AI House navigation"
msgstr "Điều hướng AI House"

msgid "AI House on its own is complete: nothing is locked, nothing expires, and no feature of the core waits for an add-on. Add-ons exist for work that only some sites need — connecting to a shop, sending messages through a specific channel, or answering questions about orders."
msgstr "Bản thân AI House đã đầy đủ: không có gì bị khoá, không có gì hết hạn, và không tính năng nào của core phải chờ add-on. Add-on tồn tại cho những việc chỉ một số site cần — nối với shop, gửi tin qua một kênh cụ thể, hoặc trả lời câu hỏi về đơn hàng."

msgid "AI House POSTs the request as JSON to this URL. In n8n add a Webhook node, copy its Production URL here, then let the workflow deliver the message to Slack, Telegram, Zalo, a Google Sheet, a CRM — anything. A failing webhook is recorded on the request and never blocks the visitor. Works with n8n, Zapier or Make."
msgstr "AI House gửi yêu cầu dưới dạng JSON (POST) tới địa chỉ này. Trong n8n, thêm một node Webhook, dán địa chỉ Production của nó vào đây, rồi để workflow chuyển tin nhắn tới Slack, Telegram, Zalo, Google Sheet, CRM — bất kỳ đâu. Webhook hỏng được ghi lại trên chính yêu cầu đó và không bao giờ chặn khách. Dùng được với n8n, Zapier hoặc Make."

msgid "AI House settings"
msgstr "Cài đặt AI House"

msgid "AI House settings sections"
msgstr "Các mục cài đặt AI House"

msgid "AI House visitor details"
msgstr "Thông tin khách hàng của AI House"

msgid "AI tuning"
msgstr "Tinh chỉnh AI"

msgid "All"
msgstr "Tất cả"

msgid "Also copy conversations to Supabase"
msgstr "Ghi thêm một bản hội thoại sang Supabase"

msgid "Always"
msgstr "Luôn luôn"

msgid "An add-on is a separate plugin, so it is switched on and off in the WordPress plugins list — AI House only decides which of its features may run, and a key is how that is recorded."
msgstr "Add-on là một plugin riêng, nên nó được bật/tắt trong danh sách plugin của WordPress — AI House chỉ quyết định tính năng nào của nó được chạy, và khoá là cách ghi nhớ điều đó."

msgid "an unknown time"
msgstr "không rõ thời điểm"

msgid "Another add-on already registered this id."
msgstr "Đã có add-on khác đăng ký mã định danh này."

msgid "another chunk"
msgstr "một đoạn khác"

msgid "Answer cache"
msgstr "Cache câu trả lời"

msgid "Answer cache (seconds)"
msgstr "Cache câu trả lời (giây)"

msgid "Answered"
msgstr "Đã trả lời"

msgid "Anything you would like to add? (optional)"
msgstr "Bạn muốn bổ sung thêm điều gì? (không bắt buộc)"

msgid "API key"
msgstr "Khoá API"

msgid "API key encryption"
msgstr "Mã hoá khoá API"

msgid "Are you sure you want to do this?"
msgstr "Bạn chắc chắn muốn thực hiện thao tác này?"

msgid "Ask something that is written on your site"
msgstr "Hỏi một câu có viết trên site của bạn"

msgid "Ask the assistant instead"
msgstr "Hỏi trợ lý thay thế"

msgid "Ask the visitor for an email address and save the question for a human"
msgstr "Xin email của khách và lưu câu hỏi để nhân viên trả lời"

msgid "Asynchronous logging"
msgstr "Ghi log bất đồng bộ"

msgid "Attempts"
msgstr "Lần thử"

msgid "Automatic (recommended)"
msgstr "Tự động (khuyến nghị)"

msgid "Average latency"
msgstr "Độ trễ trung bình"

msgid "Back to dashboard"
msgstr "Về bảng điều khiển"

msgid "Background job queue"
msgstr "Hàng đợi tác vụ nền"

msgid "Background jobs that gave up"
msgstr "Job nền đã bỏ cuộc"

msgid "Batch logs and write them via cron (recommended)"
msgstr "Gom log rồi ghi theo lô bằng cron (khuyến nghị)"

msgid "Batched log writes and knowledge indexing run here."
msgstr "Log ghi theo lô và việc nạp tri thức chạy ở đây."

msgid "Beside the icon"
msgstr "Bên cạnh icon"

msgid "Bot"
msgstr "Bot"

msgid "Bot name"
msgstr "Tên bot"

msgid "Bot name, welcome message, placeholder, button text"
msgstr "Tên trợ lý, lời chào, ô nhập, chữ trên nút"

msgid "Bottom left"
msgstr "Góc trái dưới"

msgid "Bottom right"
msgstr "Góc phải dưới"

msgid "Breaker open duration (seconds)"
msgstr "Thời gian mở cầu dao (giây)"

msgid "Cache hits"
msgstr "Trúng cache"

msgid "characters"
msgstr "ký tự"

msgid "Characters per chunk when splitting content."
msgstr "Số ký tự mỗi đoạn khi cắt nội dung."

msgid "Characters repeated between two adjacent chunks."
msgstr "Số ký tự lặp lại giữa hai đoạn liền kề."

msgid "Chat button text position"
msgstr "Vị trí chữ trên nút chat"

msgid "Chatbot health, queue and knowledge progress."
msgstr "Tình trạng chatbot, hàng đợi và tiến độ tri thức."

msgid "Check API keys, the server environment and the circuit breaker."
msgstr "Kiểm tra khoá API, môi trường máy chủ và cầu dao."

msgid "Check this key"
msgstr "Kiểm khoá này"

msgid "Checking the API key..."
msgstr "Đang kiểm tra khoá API..."

msgid "Choose \"Inline\" if you only use the shortcode."
msgstr "Chọn \"Nhúng\" nếu chỉ dùng shortcode."

msgid "Choose another file"
msgstr "Chọn file khác"

msgid "Chunk size"
msgstr "Kích thước đoạn"

msgid "Chunks to retrieve"
msgstr "Số đoạn truy hồi"

msgid "Circuit breaker"
msgstr "Cầu dao"

msgid "Citation link"
msgstr "Link trích dẫn"

msgid "Clear indexing fingerprint"
msgstr "Xoá dấu vết nạp"

msgid "Cleared the indexing fingerprint for %d items."
msgstr "Đã xoá dấu vết nạp của %d nội dung."

msgid "Clears the indexing fingerprint for all content. The next run processes everything again."
msgstr "Xoá dấu vết nạp của toàn bộ nội dung. Lần nạp sau sẽ xử lý lại từ đầu."

msgid "Click Preview to check before importing."
msgstr "Bấm Xem trước để kiểm tra trước khi nhập."

msgid "Close"
msgstr "Đóng"

msgid "Close chat"
msgstr "Đóng khung chat"

msgid "Closed"
msgstr "Đã đóng"

msgid "Closest chunk: %s"
msgstr "Đoạn gần nhất: %s"

msgid "Connect an AI provider"
msgstr "Kết nối nhà cung cấp AI"

msgid "Connected"
msgstr "Đã kết nối"

msgid "Connection tested."
msgstr "Đã kiểm tra kết nối."

msgid "Connections"
msgstr "Kết nối"

msgid "Consecutive failures:"
msgstr "Lỗi liên tiếp:"

msgid "Content"
msgstr "Nội dung"

msgid "Content is chunked, embedded, and written to the vector DB in small batches."
msgstr "Nội dung được cắt thành đoạn, embed, rồi ghi vào vector DB theo từng lô nhỏ."

msgid "Content the bot looks up when answering visitors."
msgstr "Nội dung bot dùng để tra cứu khi trả lời khách."

msgid "Content types to index"
msgstr "Loại nội dung nạp"

msgid "Conversation log"
msgstr "Log hội thoại"

msgid "Conversation: %s"
msgstr "Hội thoại: %s"

msgid "Conversations"
msgstr "Hội thoại"

msgid "Could not delete this item."
msgstr "Không xoá được mục này."

msgid "Could not generate a test vector."
msgstr "Không sinh được vector kiểm tra."

msgid "Could not generate a vector for the question."
msgstr "Không sinh được vector cho câu hỏi."

msgid "Could not load conversations"
msgstr "Không đọc được hội thoại"

msgid "Could not load information"
msgstr "Không đọc được thông tin"

msgid "Could not load statistics"
msgstr "Không đọc được số liệu"

msgid "Could not load status"
msgstr "Không đọc được trạng thái"

msgid "Could not read the file."
msgstr "Không đọc được file."

msgid "Counted separately per visitor."
msgstr "Tính riêng cho mỗi khách."

msgid "Created %1$d, updated %2$d, skipped %3$d items."
msgstr "Đã tạo %1$d, cập nhật %2$d, bỏ qua %3$d mục."

msgid "CSV (.csv) — two columns with a header row"
msgstr "CSV (.csv) — hai cột, có dòng tiêu đề"

msgid "Customers"
msgstr "Khách hàng"

msgid "Customers who left their details"
msgstr "Khách hàng đã để lại thông tin"

msgid "Dashboard"
msgstr "Bảng điều khiển"

msgid "Date"
msgstr "Ngày"

msgid "Decide what it may answer from"
msgstr "Quyết định trợ lý được trả lời bằng gì"

msgid "default"
msgstr "mặc định"

msgid "Default language"
msgstr "Ngôn ngữ mặc định"

msgid "Default system prompt"
msgstr "Chỉ dẫn hệ thống mặc định"

msgid "Delete"
msgstr "Xoá"

msgid "Delete all"
msgstr "Xoá toàn bộ"

msgid "Delete these details for good? This cannot be undone."
msgstr "Xoá vĩnh viễn thông tin này? Không khôi phục lại được."

msgid "Deleted %d old items before importing."
msgstr "Đã xoá %d mục cũ trước khi nhập."

msgid "Deleted all %d knowledge items."
msgstr "Đã xoá toàn bộ %d mục tri thức."

msgid "Deleted one knowledge item."
msgstr "Đã xoá một mục tri thức."

msgid "Details you left in the chat"
msgstr "Thông tin bạn để lại trong khung chat"

msgid "Detect automatically"
msgstr "Tự nhận diện"

msgid "Detect from file extension"
msgstr "Tự nhận diện theo phần mở rộng"

msgid "Diagnostics"
msgstr "Chẩn đoán"

msgid "Done"
msgstr "Hoàn tất"

msgid "Done."
msgstr "Hoàn tất."

msgid "Download CSV"
msgstr "Tải tệp CSV"

msgid "Drop a file here, or click to choose"
msgstr "Kéo file vào đây, hoặc bấm để chọn"

msgid "Each item in the file becomes a knowledge entry, then gets chunked and indexed into the vector DB."
msgstr "Mỗi mục trong file thành một mục tri thức, rồi được cắt đoạn và nạp vào vector DB."

msgid "Each job is retried three times with increasing delay before being marked as failed."
msgstr "Mỗi tác vụ được thử lại ba lần với thời gian lùi dần trước khi bị đánh dấu lỗi."

msgid "Each of these used up its retries. Run the matching action again — for indexing, \"Index knowledge\" picks up anything that never got a fingerprint."
msgstr "Mỗi job dưới đây đã dùng hết số lần thử. Hãy chạy lại thao tác tương ứng — với việc nạp tri thức, nút \"Index knowledge\" sẽ bắt được những bài chưa từng có dấu vân tay."

msgid "Edit knowledge item"
msgstr "Sửa mục tri thức"

msgid "Email (required)"
msgstr "Email (bắt buộc)"

msgid "Email address"
msgstr "Email"

msgid "Email me when a new question arrives"
msgstr "Gửi email cho tôi khi có câu hỏi mới"

msgid "Embed the chat widget"
msgstr "Nhúng khung chat"

msgid "Embedding API key"
msgstr "Khoá API embedding"

msgid "Embedding connection succeeded: %1$s returned %2$d dimensions."
msgstr "Kết nối embedding thành công: %1$s trả về %2$d chiều."

msgid "Embedding model"
msgstr "Mô hình embedding"

msgid "Embedding provider"
msgstr "Nhà cung cấp embedding"

msgid "Enable a language and save settings to reveal its content fields."
msgstr "Bật thêm ngôn ngữ rồi bấm Lưu cài đặt để phần cấu hình nội dung của ngôn ngữ đó xuất hiện."

msgid "Enable at least one language. The switcher appears only when two or more are enabled."
msgstr "Bật ít nhất một ngôn ngữ. Nút chọn chỉ hiện khi có từ hai ngôn ngữ trở lên."

msgid "Enable chatbot"
msgstr "Bật chatbot"

msgid "Enable the RAG branch"
msgstr "Bật nhánh RAG"

msgid "enabled"
msgstr "đang bật"

msgid "Enabled languages"
msgstr "Ngôn ngữ bật"

msgid "Environment"
msgstr "Môi trường"

msgid "Error"
msgstr "Lỗi"

msgid "Every item needed indexing."
msgstr "Mọi mục đều cần nạp."

msgid "Every minute (AI House)"
msgstr "Mỗi phút (AI House)"

msgid "Every way this plugin sends something OUT of your WordPress site, in one place. Nothing here is required: leave all of it empty and the assistant still works — it stores the conversation in WordPress and sends nothing anywhere."
msgstr "Mọi đường mà plugin này gửi thông tin RA NGOÀI website WordPress của bạn, gom về một chỗ. Không mục nào bắt buộc: để trống hết thì trợ lý vẫn chạy — nó lưu hội thoại trong WordPress và không gửi đi đâu cả."

msgid "Everyone who filled in the contact form in the chat, with the way they asked to be reached. These details are stored on this website only: they are never copied to Supabase, and the export below is the only way they leave it."
msgstr "Toàn bộ khách đã điền form liên hệ trong khung chat, kèm cách họ muốn được liên hệ. Thông tin chỉ nằm trên website này: KHÔNG bao giờ được sao sang Supabase, và tệp tải ở dưới là đường duy nhất đưa chúng ra ngoài."

msgid "Everything a visitor left through the chat widget, in one list. Reply by email, then mark the request answered or closed."
msgstr "Toàn bộ thông tin khách để lại qua khung chat, gom về một danh sách. Trả lời qua email, rồi đánh dấu đã trả lời hoặc đóng yêu cầu."

msgid "Extension points"
msgstr "Điểm mở rộng"

msgid "Extra information: %s"
msgstr "Thông tin bổ sung: %s"

msgid "Failed"
msgstr "Thất bại"

msgid "Failed job #%s"
msgstr "Job lỗi #%s"

msgid "Failed jobs"
msgstr "Tác vụ lỗi"

msgid "Failures before opening the breaker"
msgstr "Số lỗi để mở cầu dao"

msgid "Fallback reply"
msgstr "Câu trả lời dự phòng"

msgid "Features"
msgstr "Tính năng"

msgid "Finding an answer..."
msgstr "Đang tìm câu trả lời..."

msgid "Follow WordPress"
msgstr "Theo WordPress"

msgid "For developers"
msgstr "Dành cho lập trình viên"

msgid "Forces the LLM to answer in this language. Leave empty to use the default shown in the field hint."
msgstr "Buộc LLM trả lời đúng ngôn ngữ này. Để trống sẽ dùng câu mặc định hiện trong ô gợi ý."

msgid "Format"
msgstr "Định dạng"

msgid "Found it"
msgstr "Tìm thấy"

msgid "Four things stand between a fresh install and a working assistant. Each one below says whether it is done, and what to do if it is not — and nothing on this screen runs a test by itself, so opening it costs nothing."
msgstr "Bốn việc nằm giữa một bản cài mới và một trợ lý chạy được. Mỗi việc dưới đây nói rõ đã xong chưa, và phải làm gì nếu chưa — và không mục nào trên màn hình này tự chạy phép thử, nên mở nó không tốn gì."

msgid "Free models"
msgstr "Mô hình miễn phí"

msgid "Free models loaded from OpenRouter"
msgstr "Mô hình miễn phí nạp từ OpenRouter"

msgid "Free quota"
msgstr "Hạn mức miễn phí"

msgid "Free quota today: %1$s of %2$s requests left."
msgstr "Hạn mức miễn phí hôm nay: còn %1$s trên %2$s request."

msgid "Free quota: %s"
msgstr "Hạn mức miễn phí: %s"

msgid "Gemini returned an empty reply."
msgstr "Gemini trả về câu trả lời rỗng."

msgid "Gemini returned no content. Reason: %s"
msgstr "Gemini không trả về nội dung. Lý do: %s"

msgid "Gemini returned no vectors."
msgstr "Gemini không trả về vector nào."

msgid "General"
msgstr "Chung"

msgid "Get a key at %s. Accounts that have never purchased credits are limited to 20 requests per minute and 50 per day on free models."
msgstr "Lấy khoá tại %s. Tài khoản chưa nạp tiền chỉ được 20 request mỗi phút và 50 request mỗi ngày cho mô hình miễn phí."

msgid "Get started"
msgstr "Bắt đầu"

msgid "Give the assistant something to answer from"
msgstr "Cho trợ lý nội dung để trả lời"

msgid "Hand-over path · %1$s: %2$s"
msgstr "Đường gửi nhân viên · %1$s: %2$s"

msgid "Helpful"
msgstr "Hữu ích"

msgid "Hex colour code, for example #2563eb."
msgstr "Mã màu hex, ví dụ #2563eb."

msgid "How can we help?"
msgstr "Chúng tôi có thể giúp gì?"

msgid "How much retrieved text may be sent to the model at once. Raise it only if answers miss details that are in your content."
msgstr "Lượng chữ tra được phép gửi cho mô hình trong một lượt. Chỉ nâng lên nếu câu trả lời thiếu chi tiết vốn có trong nội dung của bạn."

msgid "How similar a chunk must be before it is used. Lower it (0.3 is a good start) when the bot answers without citing your content; raise it when it cites pages that are not relevant."
msgstr "Độ tương đồng tối thiểu để một đoạn nội dung được dùng. Hãy hạ xuống (0.3 là mức bắt đầu tốt) khi bot trả lời mà không trích dẫn nội dung của bạn; nâng lên khi nó trích dẫn những trang không liên quan."

msgid "How to reach them"
msgstr "Cách liên hệ"

msgid "I am sorry, I do not have the information to answer this one. Leave your email and someone from our team will reply to you directly."
msgstr "Rất tiếc, tôi chưa có thông tin để trả lời câu hỏi này. Bạn để lại email, nhân viên của chúng tôi sẽ trả lời trực tiếp."

msgid "Identifier"
msgstr "Mã định danh"

msgid "If the information above does not answer the question, say clearly that you do not have that information and append the exact token %s at the very end of your reply, on its own line. Do not use that token in any other case."
msgstr "Nếu thông tin ở trên không trả lời được câu hỏi, hãy nói rõ là bạn chưa có thông tin đó và thêm chính xác token %s vào cuối câu trả lời, trên một dòng riêng. Không dùng token đó trong bất kỳ trường hợp nào khác."

msgid "If you are a developer: an add-on registers itself on the %s action and declares the features it provides. The full list of extension points is in the plugin documentation, and the version it was written against is MYBOT_ADDON_API."
msgstr "Nếu bạn là lập trình viên: add-on tự đăng ký ở action %s và khai báo những tính năng nó cung cấp. Danh sách đầy đủ các điểm mở rộng nằm trong tài liệu plugin, và phiên bản mà nó được viết dựa trên là MYBOT_ADDON_API."

msgid "Import into knowledge"
msgstr "Nhập vào kho"

msgid "Import knowledge from file"
msgstr "Nhập tri thức từ file"

msgid "Import mode"
msgstr "Cách nhập"

msgid "Imported knowledge items"
msgstr "Mục tri thức đã nhập"

msgid "Index knowledge"
msgstr "Nạp tri thức"

msgid "Index missing items"
msgstr "Nạp phần còn thiếu"

msgid "Index website content into the vector DB for the RAG branch."
msgstr "Nạp nội dung website vào vector DB cho nhánh RAG."

msgid "Index your content first — this step searches what step 2 stored."
msgstr "Hãy nạp nội dung trước — bước này tra đúng những gì bước 2 đã lưu."

msgid "Indexed"
msgstr "Đã nạp"

msgid "Indexing progress"
msgstr "Tiến độ nạp vào vector DB"

msgid "Indexing runs on WP-Cron, capped at 15 seconds per batch so it stays within shared hosting limits. Leave this page open or visit your site a few times."
msgstr "Nạp tri thức chạy bằng WP-Cron, mỗi lô tối đa 15 giây để không vượt giới hạn của shared hosting. Hãy để trang này mở hoặc ghé thăm site vài lần."

msgid "Inline (shortcode only)"
msgstr "Nhúng (chỉ shortcode)"

msgid "Input placeholder"
msgstr "Gợi ý trong ô nhập"

msgid "Interface language"
msgstr "Ngôn ngữ giao diện"

msgid "Invalid JSON: %s"
msgstr "JSON không hợp lệ: %s"

msgid "Invitation bubble"
msgstr "Bong bóng mời chat"

msgid "Invitation bubble after (seconds)"
msgstr "Hiện bong bóng mời sau (giây)"

msgid "it contains something other than letters, digits or dashes."
msgstr "nó chứa ký tự không phải chữ, số hay dấu gạch ngang."

msgid "it is longer than the longest key this plugin issues."
msgstr "nó dài hơn khoá dài nhất mà plugin này phát hành."

msgid "it is shorter than the shortest key this plugin issues."
msgstr "nó ngắn hơn khoá ngắn nhất mà plugin này phát hành."

msgid "It is switched off now. The conversation log in WordPress is unaffected."
msgstr "Hiện đã tự tắt. Log hội thoại trong WordPress không bị ảnh hưởng gì."

msgid "It retries after this period."
msgstr "Hết thời gian này mới thử lại."

msgid "Items are still saved, but only indexed once you configure a vector store on the RAG tab."
msgstr "Mục vẫn được lưu, nhưng chỉ nạp vào vector DB sau khi bạn cấu hình kho vector ở tab RAG."

msgid "Items per batch"
msgstr "Bài mỗi lô"

msgid "Items processed in one background job."
msgstr "Số nội dung xử lý trong một tác vụ nền."

msgid "JSON (.json) — array of objects"
msgstr "JSON (.json) — mảng đối tượng"

msgid "JSON must be an array of items."
msgstr "JSON phải là một mảng các mục."

msgid "Keep logs (days)"
msgstr "Giữ log (ngày)"

msgid "Key"
msgstr "Khoá"

msgid "Key accepted and saved. Loaded %s models — pick one, then press Save."
msgstr "Khoá hợp lệ và đã được lưu. Đã nạp %s mô hình — chọn một mô hình rồi bấm Lưu."

msgid "Key accepted. Loaded %s models — pick one, then press Save."
msgstr "Khoá hợp lệ. Đã nạp %s mô hình — chọn một mô hình rồi bấm Lưu."

msgid "Key check:"
msgstr "Kiểm khoá:"

msgid "Knowledge"
msgstr "Tri thức"

msgid "Knowledge (RAG)"
msgstr "Tri thức (RAG)"

msgid "Knowledge base"
msgstr "Kho tri thức"

msgid "Knowledge item"
msgstr "Mục tri thức"

msgid "Knowledge lock"
msgstr "Khoá tri thức"

msgid "Language"
msgstr "Ngôn ngữ"

msgid "Language instruction"
msgstr "Chỉ dẫn ngôn ngữ"

msgid "language: %s"
msgstr "ngôn ngữ: %s"

msgid "Last failure at"
msgstr "Lỗi gần nhất lúc"

msgid "Last failure:"
msgstr "Lần lỗi gần nhất:"

msgid "Last knowledge lookup:"
msgstr "Lượt tra cứu tri thức gần nhất:"

msgid "Last knowledge lookup: %s"
msgstr "Lượt tra cứu tri thức gần nhất: %s"

msgid "Leave empty to keep the current value. You can define a constant in wp-config.php instead of storing it in the database."
msgstr "Để trống nếu không muốn đổi. Có thể khai báo hằng số trong wp-config.php thay vì lưu vào CSDL."

msgid "Leave empty to reuse the key of the embedding provider selected above — not the chat key."
msgstr "Để trống thì dùng khoá của nhà cung cấp embedding đã chọn ở trên — không phải khoá chat."

msgid "Leaving a question for a human is switched off on this site."
msgstr "Tính năng gửi câu hỏi cho nhân viên đang tắt trên site này."

msgid "Let visitors switch language in the chat widget"
msgstr "Cho khách đổi ngôn ngữ trên khung chat"

msgid "Limits & cost"
msgstr "Giới hạn & chi phí"

msgid "LLM connection succeeded."
msgstr "Kết nối LLM thành công."

msgid "LLM provider"
msgstr "Nhà cung cấp LLM"

msgid "Load free models"
msgstr "Nạp mô hình miễn phí"

msgid "Load models"
msgstr "Nạp danh sách mô hình"

msgid "Load paid models"
msgstr "Nạp mô hình trả phí"

msgid "Loaded %s free models. Pick one from the list below."
msgstr "Đã nạp %s mô hình miễn phí. Hãy chọn một mô hình trong danh sách bên dưới."

msgid "Loaded %s models. Pick one from the list below."
msgstr "Đã nạp %s mô hình. Hãy chọn một mô hình trong danh sách bên dưới."

msgid "Loaded %s paid models. Switch to Load free models for the free ones."
msgstr "Đã nạp %s mô hình trả phí. Bấm Nạp mô hình miễn phí nếu muốn xem các mô hình miễn phí."

msgid "Loading the AI House dashboard. If nothing appears, the settings form will load automatically."
msgstr "Đang tải bảng điều khiển AI House. Nếu không thấy gì, form cài đặt sẽ tự hiện ra."

msgid "Loading the free model list..."
msgstr "Đang nạp danh sách mô hình miễn phí..."

msgid "Loading the model list..."
msgstr "Đang nạp danh sách mô hình..."

msgid "Loading the paid model list..."
msgstr "Đang nạp danh sách mô hình trả phí..."

msgid "Loading…"
msgstr "Đang tải…"

msgid "Lock file: %s"
msgstr "Tệp khoá: %s"

msgid "Look this up"
msgstr "Tra thử câu này"

msgid "Look up your knowledge base before answering"
msgstr "Cho phép tra cứu tri thức trước khi trả lời"

msgid "Makes real calls to the LLM provider and vector store to confirm the API keys still work."
msgstr "Gọi thật tới nhà cung cấp LLM và kho vector để xác nhận khoá API còn hiệu lực."

msgid "Manually imported knowledge"
msgstr "Tri thức nhập tay"

msgid "Mark answered"
msgstr "Đánh dấu đã trả lời"

msgid "Markdown (.md) — each heading becomes one item"
msgstr "Markdown (.md) — mỗi heading là một mục"

msgid "Max tokens"
msgstr "Token tối đa"

msgid "Maximum context characters"
msgstr "Số ký tự ngữ cảnh tối đa"

msgid "Maximum length of the reply."
msgstr "Độ dài tối đa của câu trả lời."

msgid "Merge — keep existing items, only add and update"
msgstr "Gộp — giữ mục cũ, chỉ thêm và cập nhật"

msgid "message #%1$d · conversation %2$s"
msgstr "tin #%1$d · hội thoại %2$s"

msgid "messages"
msgstr "tin"

msgid "Messages are written in batches, so they can lag a few seconds behind the live chat. Try chatting on your site first."
msgstr "Tin nhắn được ghi theo lô nên có thể chậm vài giây so với lúc khách nhắn. Hãy thử chat trên trang chủ trước."

msgid "Minimum score"
msgstr "Điểm tương đồng tối thiểu"

msgid "Missing session ID."
msgstr "Thiếu mã phiên."

msgid "Model"
msgstr "Mô hình"

msgid "More chunks means more tokens. 4 is a sensible default."
msgstr "Càng nhiều càng tốn token. 4 là hợp lý."

msgid "Most recent fallback reply"
msgstr "Lần trả lời dự phòng gần nhất"

msgid "Multisite"
msgstr "Multisite"

msgid "Name"
msgstr "Tên"

msgid "Name: %1$s · Email: %2$s · Phone: %3$s"
msgstr "Tên: %1$s · Email: %2$s · Điện thoại: %3$s"

msgid "Namespace"
msgstr "Namespace"

msgid "Needs AI House"
msgstr "Cần AI House"

msgid "Never"
msgstr "Không bao giờ"

msgid "New"
msgstr "Mới"

msgid "New: %1$s · Answered: %2$s · Closed: %3$s"
msgstr "Mới: %1$s · Đã trả lời: %2$s · Đã đóng: %3$s"

msgid "Next"
msgstr "Sau"

msgid "No"
msgstr "Không"

msgid "No add-ons installed"
msgstr "Chưa cài add-on nào"

msgid "No answer"
msgstr "Không trả lời"

msgid "No API key configured for %s."
msgstr "Chưa cấu hình khoá API %s."

msgid "No content found to index."
msgstr "Không tìm thấy nội dung nào để nạp."

msgid "No conversations yet"
msgstr "Chưa có hội thoại nào"

msgid "No data yet."
msgstr "Chưa có dữ liệu."

msgid "No data."
msgstr "Không có dữ liệu."

msgid "No failed jobs."
msgstr "Không có tác vụ nào lỗi."

msgid "No Gemini API key configured."
msgstr "Chưa cấu hình khoá API Gemini."

msgid "No items found in the file. Check the selected format."
msgstr "Không tìm thấy mục nào trong file. Kiểm tra lại định dạng đã chọn."

msgid "No items yet. Import from a file above, or add them directly under AI House Knowledge in the admin menu."
msgstr "Chưa có mục nào. Hãy nhập từ file ở khung phía trên, hoặc thêm trực tiếp trong mục Tri thức AI House của menu quản trị."

msgid "No jobs are waiting."
msgstr "Không có tác vụ nào đang chờ."

msgid "No key yet for this provider. Paste one above: it is checked as soon as you paste it, and saved when the provider accepts it."
msgstr "Chưa có khoá cho nhà cung cấp này. Dán khoá vào ô phía trên: nó được kiểm ngay khi bạn dán, và được lưu khi nhà cung cấp chấp nhận."

msgid "No knowledge items yet."
msgstr "Chưa có mục tri thức nào."

msgid "No messages have been stored for this session yet."
msgstr "Phiên này chưa có tin nhắn nào được ghi."

msgid "No models came back this time. Paste a model ID from openrouter.ai/models instead."
msgstr "Lần này không có mô hình nào trả về. Hãy dán mã mô hình từ openrouter.ai/models."

msgid "No notification address is configured, so no email was sent."
msgstr "Chưa cấu hình địa chỉ nhận thông báo nên không có email nào được gửi."

msgid "No OpenSSL"
msgstr "Không có OpenSSL"

msgid "No requests with this status."
msgstr "Không có yêu cầu nào ở trạng thái này."

msgid "No test has been run in this session."
msgstr "Chưa chạy kiểm tra trong phiên này."

msgid "No vector store is selected on the RAG tab."
msgstr "Chưa chọn kho vector ở tab RAG."

msgid "Nobody has left their details yet. The form appears in the chat after a few questions, and there is a button for it in the message box at any time."
msgstr "Chưa có ai để lại thông tin. Form hiện ra trong khung chat sau vài câu hỏi, và luôn có một nút để mở form bất cứ lúc nào."

msgid "None (quick chat only)"
msgstr "Không dùng (chỉ chat nhanh)"

msgid "Not checked yet."
msgstr "Chưa kiểm lần nào."

msgid "Not configured"
msgstr "Chưa cấu hình"

msgid "Not found"
msgstr "Không thấy"

msgid "Not fully configured"
msgstr "Chưa đủ cấu hình"

msgid "Not helpful"
msgstr "Chưa đúng"

msgid "Not indexed"
msgstr "Chưa nạp"

msgid "not notified"
msgstr "chưa gửi thông báo"

msgid "Not now"
msgstr "Để sau"

msgid "Note"
msgstr "Ghi chú"

msgid "Nothing cleared the Minimum score of %2$s: the closest chunk scored %1$s. Lower Minimum score on the RAG tab, or index the knowledge again if that score looks wrong."
msgstr "Không đoạn nào vượt ngưỡng Minimum score %2$s: đoạn gần nhất chỉ được %1$s. Hãy hạ Minimum score ở tab RAG, hoặc nạp lại tri thức nếu điểm đó có vẻ sai."

msgid "Nothing cleared the Minimum score of %2$s: the closest chunk scored %1$s. The vectors themselves are fine — a stored chunk matched itself at %3$s — so this question has no matching content. Index the pages that answer it, or ask with words that appear in your content."
msgstr "Không đoạn nào vượt ngưỡng Minimum score %2$s: đoạn gần nhất chỉ được %1$s. Bản thân vector không có lỗi — một đoạn đã lưu khớp với chính nó ở mức %3$s — nên câu hỏi này không có nội dung tương ứng trong kho. Hãy nạp trang trả lời nó, hoặc hỏi bằng từ ngữ có trong nội dung của bạn."

msgid "Nothing cleared the Minimum score of %s, and the score of the closest chunk was not measured. Press \"Look this up\" on the RAG tab to see that score."
msgstr "Không đoạn nào vượt ngưỡng Minimum score %s, và điểm của đoạn gần nhất chưa được đo. Bấm \"Tra thử câu này\" ở tab RAG để xem điểm đó."

msgid "Nothing declared"
msgstr "Không khai báo gì"

msgid "Nothing has been sent yet. The form appears in the chat when the bot cannot answer a question — use it once to test the whole path."
msgstr "Chưa có yêu cầu nào được gửi. Form chỉ hiện trong khung chat khi bot không trả lời được — hãy thử một lần để kiểm tra toàn bộ đường đi."

msgid "Nothing is indexed yet, so the assistant can only answer from what it already knows."
msgstr "Chưa nạp gì cả, nên trợ lý chỉ trả lời được bằng những gì nó đã biết."

msgid "Nothing queued"
msgstr "Không có gì trong hàng đợi"

msgid "Nothing waiting"
msgstr "Không có việc đang chờ"

msgid "Nothing was entered, so there was nothing to check."
msgstr "Không nhập gì, nên không có gì để kiểm."

msgid "Nothing yet. When the bot cannot answer and a visitor leaves an email address, the question appears here."
msgstr "Chưa có gì. Khi bot không trả lời được và khách để lại email, câu hỏi sẽ hiện ở đây."

msgid "Notification addresses"
msgstr "Địa chỉ nhận thông báo"

msgid "Notification problem:"
msgstr "Trục trặc khi gửi thông báo:"

msgid "Notifications"
msgstr "Thông báo"

msgid "Object cache"
msgstr "Object cache"

msgid "Off"
msgstr "Tắt"

msgid "Off. Tick \"Also copy conversations to Supabase\" on the RAG tab to switch it on."
msgstr "Đang tắt. Hãy tick ô \"Also copy conversations to Supabase\" ở tab RAG để bật."

msgid "Older logs are deleted automatically every day."
msgstr "Log cũ hơn sẽ bị xoá tự động mỗi ngày."

msgid "On"
msgstr "Bật"

msgid "On, but no message has been copied yet. Press Test connection above: it writes a probe row to public.mybot_messages and removes it again, so a broken table or key shows up without waiting for a visitor."
msgstr "Đang bật, nhưng chưa tin nhắn nào được sao chép. Hãy bấm Test connection ở trên: nút đó ghi một dòng thăm dò vào public.mybot_messages rồi xoá lại, nên bảng hoặc khoá hỏng sẽ hiện ra ngay mà không phải chờ khách chat."

msgid "On, but the vector store URL or API key above is missing, so nothing can be copied."
msgstr "Đang bật, nhưng thiếu URL hoặc khoá API của kho vector ở trên nên không sao chép được gì."

msgid "On. Last successful copy %s ago."
msgstr "Đang bật. Lần sao chép thành công gần nhất: %s trước."

msgid "One or more addresses, separated by commas. Leave empty to use the site administrator address. ⚠️ On shared hosting wp_mail is often blocked or lands in spam — if no email arrives, set up an SMTP plugin, or use the webhook below, which does not depend on your mail server at all."
msgstr "Một hoặc nhiều địa chỉ, ngăn cách bằng dấu phẩy. Để trống thì dùng địa chỉ quản trị site. ⚠️ Trên shared hosting, wp_mail thường bị chặn hoặc vào spam — nếu không thấy email, hãy cài plugin SMTP, hoặc dùng webhook ở dưới vì nó không phụ thuộc máy chủ mail."

msgid "Only JPEG, PNG and WebP pictures can be sent."
msgstr "Chỉ gửi được ảnh JPEG, PNG và WebP."

msgid "Open"
msgstr "Đang mở"

msgid "Open AI House"
msgstr "Mở AI House"

msgid "Open chat"
msgstr "Mở khung chat"

msgid "Open means calls are paused to protect the server."
msgstr "Mở nghĩa là tạm ngừng gọi để bảo vệ máy chủ."

msgid "Open the request list: %s"
msgstr "Mở danh sách yêu cầu: %s"

msgid "OpenAI: gpt-4o-mini · Gemini: gemini-2.0-flash · OpenRouter: load the free or the paid list, then pick one. A model ID can always be typed by hand. Picking a model tries it with a real message."
msgstr "OpenAI: gpt-4o-mini · Gemini: gemini-2.0-flash · OpenRouter: nạp danh sách miễn phí hoặc trả phí rồi chọn một model. Luôn có thể gõ tay ID model. Chọn một model là plugin thử nó bằng một tin nhắn thật."

msgid "OpenAI: text-embedding-3-small (1536 dimensions) · Gemini: text-embedding-004 (768 dimensions) · OpenRouter: namespaced IDs such as openai/text-embedding-3-small. The vector column in your database must match the model you pick."
msgstr "OpenAI: text-embedding-3-small (1536 chiều) · Gemini: text-embedding-004 (768 chiều) · OpenRouter: mã có tiền tố, ví dụ openai/text-embedding-3-small. Cột vector trong CSDL phải khớp với model bạn chọn."

msgid "OpenRouter did not recognise this key. OpenRouter keys start with \"sk-or-v1-\", so check that the key belongs to OpenRouter and not to another provider. The provider said: %s"
msgstr "OpenRouter không nhận ra khoá này. Khoá của OpenRouter bắt đầu bằng \"sk-or-v1-\", nên hãy kiểm tra xem khoá có đúng của OpenRouter không (có thể bạn đang dán khoá của nhà cung cấp khác). Nhà cung cấp trả lời: %s"

msgid "OpenRouter offers free models — a good fit if you do not want to pay for AI yet."
msgstr "OpenRouter có mô hình miễn phí, phù hợp nếu bạn chưa muốn trả tiền cho AI."

msgid "OpenSSL available"
msgstr "Có OpenSSL"

msgid "Overlap"
msgstr "Chồng lấn"

msgid "Overview"
msgstr "Tổng quan"

msgid "Page %1$s of %2$s"
msgstr "Trang %1$s / %2$s"

msgid "Paid models loaded from OpenRouter"
msgstr "Mô hình trả phí nạp từ OpenRouter"

msgid "Paste the key you were sent when you bought the add-on. It is stored encrypted, the same way provider API keys are, and it is shown back to you only as its last characters."
msgstr "Dán khoá bạn nhận được khi mua add-on. Khoá được lưu dưới dạng mã hoá, giống như khoá API của nhà cung cấp, và chỉ hiện lại cho bạn phần ký tự cuối."

msgid "Pending"
msgstr "Đang chờ"

msgid "Per request only"
msgstr "Chỉ trong request"

msgid "Persistent"
msgstr "Bền"

msgid "Phone (optional)"
msgstr "Số điện thoại (không bắt buộc)"

msgid "Phone number"
msgstr "Số điện thoại"

msgid "Phone: %s"
msgstr "Điện thoại: %s"

msgid "PHP has no OpenSSL, so API keys will be stored in plain text. Define them as constants in wp-config.php instead of entering them here."
msgstr "PHP không có OpenSSL nên khoá API sẽ được lưu dạng thô. Hãy khai báo khoá bằng hằng số trong wp-config.php thay vì nhập vào đây."

msgid "Pick a loaded model…"
msgstr "Chọn một mô hình đã nạp…"

msgid "Pictures are kept out of the Media Library and served only to administrators, through a permission-checked link. They are deleted together with the conversation they belong to."
msgstr "Ảnh KHÔNG nằm trong Thư viện (Media Library): chúng chỉ hiện cho quản trị viên qua một liên kết có kiểm quyền, và bị xoá cùng hội thoại mà chúng thuộc về."

msgid "Pictures visitors sent (%s)"
msgstr "Ảnh khách đã gửi (%s)"

msgid "Pinecone is not configured."
msgstr "Chưa cấu hình Pinecone."

msgid "Plain text (.txt)"
msgstr "Văn bản (.txt)"

msgid "Plain text (.txt) — blocks separated by a --- line"
msgstr "Văn bản (.txt) — ngăn cách bằng dòng ---"

msgid "Please enter an email address so we can reply to you."
msgstr "Vui lòng điền email để chúng tôi trả lời được cho bạn."

msgid "Please leave a phone number or an email address so we can reach you."
msgstr "Bạn để lại số điện thoại hoặc email để chúng tôi liên hệ được nhé."

msgid "Please tell us your name."
msgstr "Bạn cho chúng tôi biết tên nhé."

msgid "Please type your question as well — the picture is sent together with it."
msgstr "Bạn nhập thêm câu hỏi giúp tôi nhé — ảnh sẽ được gửi kèm theo câu hỏi."

msgid "Plugin version"
msgstr "Phiên bản plugin"

msgid "Plugins"
msgstr "Plugin"

msgid "preferred"
msgstr "ưu tiên"

msgid "Preferred channel"
msgstr "Kênh ưu tiên"

msgid "Preview"
msgstr "Xem trước"

msgid "Previous"
msgstr "Trước"

msgid "Primary colour"
msgstr "Màu chủ đạo"

msgid "Processed %1$s of %2$s queued items."
msgstr "Đã nạp %1$s trong %2$s mục đã xếp hàng."

msgid "Processing"
msgstr "Đang xử lý"

msgid "Progress of indexing content into the vector DB."
msgstr "Tiến độ nạp nội dung vào vector DB."

msgid "Prove the knowledge base can be searched"
msgstr "Chứng minh kho tri thức tra được"

msgid "Provider"
msgstr "Nhà cung cấp"

msgid "Provider circuit breaker"
msgstr "Cầu dao nhà cung cấp"

msgid "Qdrant is not configured."
msgstr "Chưa cấu hình Qdrant."

msgid "Question to look up"
msgstr "Câu hỏi cần tra"

msgid "Question: %s"
msgstr "Câu hỏi: %s"

msgid "Questions for a human"
msgstr "Câu hỏi cần nhân viên trả lời"

msgid "Questions for a human:"
msgstr "Câu hỏi cho nhân viên:"

msgid "Questions per window"
msgstr "Số câu hỏi mỗi cửa sổ"

msgid "Questions you left for our team"
msgstr "Câu hỏi bạn để lại cho đội ngũ"

msgid "Queue failed"
msgstr "Hàng đợi lỗi"

msgid "Queue pending"
msgstr "Hàng đợi chờ"

msgid "Queued %1$d of %2$d items. Background processing will continue."
msgstr "Đã đưa %1$d trên %2$d nội dung vào hàng đợi. Quá trình chạy nền sẽ tiếp tục."

msgid "Quick actions"
msgstr "Hành động nhanh"

msgid "Quick chat calls the LLM directly. Deep answers use RAG over a vector DB. Every outbound call has a hard timeout and a circuit breaker."
msgstr "Chat nhanh gọi thẳng LLM. Hỏi sâu dùng RAG qua vector DB. Mọi lời gọi ra ngoài đều có timeout và cầu dao bảo vệ."

msgid "RAG is disabled, or the embedding and vector store keys are not fully configured."
msgstr "Chưa bật RAG hoặc chưa cấu hình đủ khoá embedding và kho vector."

msgid "RAG is off, or the embedding and vector store keys are not fully configured, so no vector can be created yet."
msgstr "RAG đang tắt, hoặc khoá embedding và kho vector chưa đủ, nên chưa tạo được vector nào."

msgid "RAG is off, so nothing was indexed — configure a vector store, then click Index knowledge."
msgstr "Chưa bật RAG nên chưa nạp vào vector DB — hãy cấu hình kho vector rồi bấm Nạp tri thức."

msgid "RAG not configured"
msgstr "RAG chưa cấu hình"

msgid "RAG ready"
msgstr "RAG sẵn sàng"

msgid "Rate limit"
msgstr "Hạn mức"

msgid "Re-index everything"
msgstr "Nạp lại toàn bộ"

msgid "Read %1$s items in %2$s format."
msgstr "Đọc được %1$s mục theo định dạng %2$s."

msgid "Ready"
msgstr "Sẵn sàng"

msgid "Ready to search. This is the check that matters: it proves the knowledge base can find your own words."
msgstr "Sẵn sàng tra cứu. Đây là phép kiểm quan trọng nhất: nó chứng minh kho tri thức tìm được chính chữ của bạn."

msgid "recent sessions"
msgstr "phiên gần nhất"

msgid "Refresh"
msgstr "Làm mới"

msgid "Remove the picture"
msgstr "Bỏ ảnh"

msgid "Reopen"
msgstr "Mở lại"

msgid "Replace — clear all knowledge first"
msgstr "Thay thế — xoá sạch kho tri thức trước"

msgid "Reply by email"
msgstr "Trả lời qua email"

msgid "Request #%d"
msgstr "Yêu cầu #%d"

msgid "Requests"
msgstr "Yêu cầu"

msgid "Requests (%d)"
msgstr "Yêu cầu (%d)"

msgid "REST API"
msgstr "REST API"

msgid "REST endpoints"
msgstr "Đường dẫn REST"

msgid "Retrieval tuning"
msgstr "Tinh chỉnh tra cứu"

msgid "Review what visitors asked and how the bot replied."
msgstr "Xem lại nội dung khách đã hỏi và bot đã trả lời."

msgid "Run test"
msgstr "Chạy kiểm tra"

msgid "Running configuration"
msgstr "Cấu hình đang chạy"

msgid "Running in background"
msgstr "Đang chạy nền"

msgid "Running in the background. Progress updates as WP-Cron runs."
msgstr "Đang chạy nền. Tiến độ cập nhật khi WP-Cron chạy."

msgid "Running the visitor path for the hand-over form..."
msgstr "Đang chạy thử đường đi của form gửi nhân viên..."

msgid "Save settings"
msgstr "Lưu cài đặt"

msgid "Schema version"
msgstr "Phiên bản schema"

msgid "Search"
msgstr "Tìm"

msgid "Search knowledge items"
msgstr "Tìm mục tri thức"

msgid "Search the help pages"
msgstr "Tìm trong trang hướng dẫn"

msgid "Searching the knowledge base..."
msgstr "Đang tra cứu tài liệu..."

msgid "Seconds before the invitation bubble appears, and 0 turns it off. It is shown once per visitor, and only while the chat is closed. The bubble text is written on the Language tab, per language."
msgstr "Số giây trước khi bong bóng mời hiện ra; 0 là tắt. Mỗi khách chỉ thấy một lần, và chỉ khi khung chat còn đóng. Nội dung bong bóng viết ở tab Ngôn ngữ, theo từng ngôn ngữ."

msgid "see the list"
msgstr "xem danh sách"

msgid "Send"
msgstr "Gửi"

msgid "Send a picture"
msgstr "Gửi ảnh"

msgid "Send my question to the team"
msgstr "Gửi câu hỏi cho nhân viên"

msgid "Sending..."
msgstr "Đang gửi..."

msgid "Sessions"
msgstr "Số phiên"

msgid "Set to 0 to disable. This is the single most effective way to cut load."
msgstr "Đặt 0 để tắt. Đây là cách giảm tải hiệu quả nhất."

msgid "Settings"
msgstr "Cài đặt"

msgid "Settings in use: %s"
msgstr "Cài đặt đang dùng: %s"

msgid "Show the switcher"
msgstr "Hiện nút chọn"

msgid "Show the tuning options (leave these alone unless something is wrong)"
msgstr "Hiện các mục tinh chỉnh (cứ để nguyên trừ khi có gì đó không ổn)"

msgid "Show the widget across the whole site"
msgstr "Hiển thị widget trên toàn site"

msgid "Showing %1$s of %2$s items."
msgstr "Hiện %1$s trên %2$s mục."

msgid "Showing %1$s–%2$s of %3$s."
msgstr "Đang xem %1$s–%2$s trong %3$s."

msgid "Shown inside the chat when the knowledge base has nothing to answer with, or when the model says it does not have the information. The question, the reply that failed and the contact details are stored in WordPress and listed below. How that question reaches a human — email or webhook — is configured on the Connections tab."
msgstr "Hiện ngay trong khung chat khi kho tri thức không có gì để trả lời, hoặc khi mô hình nói nó không có thông tin. Câu hỏi, câu trả lời không đạt và thông tin liên hệ được lưu trong WordPress và liệt kê ở dưới. Việc câu hỏi đó tới tay nhân viên bằng cách nào — email hay webhook — được cấu hình ở tab Kết nối."

msgid "Shown on the floating button, for example \"Contact us\". Leave it empty and the button is drawn as a plain round icon — which is what a site that never fills this in keeps seeing."
msgstr "Hiện trên nút chat nổi, ví dụ \"Liên hệ\". Để trống thì nút chỉ là một biểu tượng tròn như cũ — đúng những gì một site chưa từng điền ô này vẫn thấy."

msgid "Something went wrong. Please try again."
msgstr "Có lỗi xảy ra, vui lòng thử lại."

msgid "Sorry, the system is busy."
msgstr "Xin lỗi, hệ thống đang bận."

msgid "Source: %s"
msgstr "Nguồn: %s"

msgid "Sources"
msgstr "Nguồn tham khảo"

msgid "Starting knowledge indexing..."
msgstr "Bắt đầu nạp tri thức..."

msgid "Status"
msgstr "Tình trạng"

msgid "Stored messages"
msgstr "Tin nhắn đã lưu"

msgid "Supabase is not configured, so the conversation log was not mirrored."
msgstr "Chưa cấu hình Supabase nên log hội thoại không được ghi bản sao."

msgid "Supabase is not configured."
msgstr "Chưa cấu hình Supabase."

msgid "Supabase is the tidiest option: it stores vectors and can hold logs too."
msgstr "Supabase là lựa chọn gọn nhất: vừa lưu vector vừa lưu log."

msgid "Supabase log mirror problem:"
msgstr "Trục trặc khi ghi bản sao log sang Supabase:"

msgid "Supabase log mirror:"
msgstr "Bản sao log Supabase:"

msgid "Supabase log mirror: %s"
msgstr "Bản sao log Supabase: %s"

msgid "Supabase refused the key. The vector store key must be the service_role key, because the log table has row level security on with no policy."
msgstr "Supabase từ chối khoá. Khoá của kho vector phải là khoá service_role, vì bảng log bật row level security mà không có policy nào."

msgid "Supabase returned status %d."
msgstr "Supabase trả về mã %d."

msgid "Supabase: https://abc.supabase.co — Pinecone: index host — Qdrant: cluster URL."
msgstr "Supabase: https://abc.supabase.co — Pinecone: địa chỉ index — Qdrant: địa chỉ cluster."

msgid "Supports .md, .csv, .json, .txt"
msgstr "Hỗ trợ .md, .csv, .json, .txt"

msgid "Switched itself off after %d failures in a row. Untick and tick the option, then press Save, to start it again."
msgstr "Đã tự tắt sau %d lần hỏng liên tiếp. Hãy bỏ tick rồi tick lại ô đó, sau đó bấm Lưu để chạy lại."

msgid "switched off"
msgstr "đang tắt"

msgid "Switching the add-on plugin itself on or off happens in WordPress: %s."
msgstr "Việc bật/tắt chính plugin add-on nằm trong WordPress: %s."

msgid "System prompt"
msgstr "Chỉ dẫn hệ thống"

msgid "Templates:"
msgstr "File mẫu:"

msgid "Test (AI House)"
msgstr "Dòng thử (AI House)"

msgid "Test connection"
msgstr "Kiểm tra kết nối"

msgid "Test of the hand-over path. This row is deleted immediately."
msgstr "Dòng thử cho đường gửi nhân viên. Dòng này được xoá ngay sau khi ghi."

msgid "Test the hand-over path"
msgstr "Kiểm tra đường gửi câu hỏi cho nhân viên"

msgid "Testing the connection..."
msgstr "Đang kiểm tra kết nối..."

msgid "Text on the chat button"
msgstr "Chữ trên nút chat"

msgid "Thank you. Your question has been sent to our team, and we will reply by email."
msgstr "Cảm ơn bạn. Câu hỏi đã được gửi tới nhân viên và chúng tôi sẽ trả lời qua email."

msgid "Thank you. Your question was sent to our team, and we will reply by email."
msgstr "Cảm ơn bạn. Câu hỏi đã được gửi tới nhân viên và chúng tôi sẽ trả lời qua email."

msgid "Thanks for your feedback!"
msgstr "Cảm ơn phản hồi của bạn!"

msgid "That email address does not look right."
msgstr "Email này trông chưa đúng."

msgid "That file is not a picture this plugin can read."
msgstr "Tệp đó không phải là ảnh mà plugin này đọc được."

msgid "That file is not there, so the lock is off, and the plugin never creates it: a new install no longer arrives locked. To switch the lock on, make a file at that path containing the four-line MYBOT-LOCK block shown in the plugin readme — or upload this site's own policy file, which is what the lock is really for."
msgstr "Tệp đó không có, nên khoá đang TẮT, và plugin không bao giờ tự tạo tệp này: bản cài mới nay không còn khoá sẵn. Muốn BẬT khoá, hãy tạo một tệp tại đúng đường dẫn đó chứa khối MYBOT-LOCK bốn dòng như trong readme của plugin — hoặc tải lên chính tệp chính sách của site bạn, vì đó mới là mục đích thật của khoá."

msgid "That message has no picture at this position."
msgstr "Tin nhắn đó không có ảnh ở vị trí này."

msgid "That phone number does not look right."
msgstr "Số điện thoại này trông chưa đúng."

msgid "That picture could not be prepared. Please use a JPEG, PNG or WebP picture."
msgstr "Không xử lý được ảnh này. Vui lòng dùng ảnh JPEG, PNG hoặc WebP."

msgid "That picture could not be read."
msgstr "Không đọc được ảnh này."

msgid "That picture did not arrive in a form this plugin can read."
msgstr "Ảnh không đến ở dạng mà plugin này đọc được."

msgid "That picture is no longer on the server."
msgstr "Ảnh đó không còn trên máy chủ."

msgid "That picture is too large to send."
msgstr "Ảnh này quá lớn để gửi."

msgid "The \"%1$s\" channel could not deliver this request: %2$s"
msgstr "Kênh \"%1$s\" không gửi được yêu cầu này: %2$s"

msgid "The add-on did not declare an id."
msgstr "Add-on không khai mã định danh."

msgid "The AI provider is paused after repeated failures."
msgstr "Nhà cung cấp AI đang tạm nghỉ sau nhiều lỗi liên tiếp."

msgid "The API key is empty."
msgstr "Khoá API đang trống."

msgid "The bot answered: %s"
msgstr "Bot đã trả lời: %s"

msgid "The chatbot is currently disabled."
msgstr "Chatbot đang tạm tắt."

msgid "The circuit breaker opened to protect the server."
msgstr "Cầu dao đã mở để bảo vệ máy chủ."

msgid "The contacts table does not exist yet. Deactivate and activate the plugin once so the database upgrade can create it."
msgstr "Bảng khách hàng chưa có. Hãy tắt rồi bật lại plugin một lần để bản nâng cấp cơ sở dữ liệu tạo bảng đó."

msgid "The contacts table is missing. Deactivate and activate the plugin once so the database upgrade can run."
msgstr "Thiếu bảng khách hàng. Hãy tắt rồi bật lại plugin một lần để bản nâng cấp cơ sở dữ liệu chạy."

msgid "The embedding API key is empty, so a question cannot be turned into a vector."
msgstr "Khoá API tạo vector đang trống nên không thể chuyển câu hỏi thành vector."

msgid "The embedding provider answered with no vector for %s, so indexing cannot store anything."
msgstr "Nhà cung cấp embedding trả về rỗng cho %s, nên việc nạp tri thức không lưu được gì."

msgid "The embedding provider returned %2$d vectors for %1$d chunks (post %3$d). Nothing was written for this post: everything is re-sent on the next indexing run."
msgstr "Bộ sinh vector trả về %2$d vector cho %1$d đoạn (bài %3$d). Không có gì được ghi cho bài này: lần nạp sau sẽ gửi lại toàn bộ."

msgid "The feature \"%1$s\" is already declared by \"%2$s\". Feature names have to be unique, or a paid feature could be switched on by a free add-on that claims the same name."
msgstr "Tính năng \"%1$s\" đã được \"%2$s\" khai báo. Tên tính năng phải là duy nhất, nếu không một add-on miễn phí nhận trùng tên có thể bật được tính năng trả phí."

msgid "The feature is switched on."
msgstr "Tính năng đang bật."

msgid "The file exceeds %s. Split it and import in several passes."
msgstr "File vượt quá %s. Hãy chia nhỏ rồi nhập thành nhiều lần."

msgid "The file exists but has no MYBOT-LOCK block, so it is not a lock file and the lock stays off."
msgstr "Tệp có tồn tại nhưng không có khối MYBOT-LOCK, nên nó không phải tệp khoá và khoá vẫn tắt."

msgid "The file is empty."
msgstr "File rỗng."

msgid "The file is the switch, and this screen never writes to it: there is no button, no admin code, and nothing to lose. Two edits on the server change it — set the \"che-do\" line to \"che-do: off\" to pause the lock while keeping the file, or delete the file to remove the lock completely."
msgstr "Tệp CHÍNH LÀ công tắc, và màn hình này không bao giờ ghi vào tệp: không có nút, không có mã quản trị, không có gì để mất. Hai thao tác trên máy chủ đổi được nó — sửa dòng \"che-do\" thành \"che-do: off\" để tạm tắt mà giữ tệp, hoặc xoá tệp để bỏ khoá hoàn toàn."

msgid "The folder for visitor pictures could not be created on this server."
msgstr "Không tạo được thư mục chứa ảnh của khách trên máy chủ này."

msgid "The free daily quota is used up (%1$s/%2$s requests). It resets on the UTC day boundary."
msgstr "Đã dùng hết hạn mức miễn phí trong ngày (%1$s/%2$s request). Hạn mức làm mới theo ngày UTC."

msgid "The key check did not succeed: %s"
msgstr "Kiểm tra khoá không thành công: %s"

msgid "The key does not look like a key: %s"
msgstr "Khoá này không giống một khoá: %s"

msgid "The knowledge base cannot match its own text: a stored chunk scored only %1$s against itself, so the vectors in the store do not belong to the embedding model selected now — they were either built by a different model or paired with the wrong chunks when they were written. No threshold can fix that. Check the Embedding model on the RAG tab, then press Re-index everything (Index missing items skips content that has not changed). The closest chunk to this question scored %2$s."
msgstr "Kho tri thức không nhận ra chữ của chính nó: một đoạn đã lưu chỉ khớp với chính nó ở mức %1$s, nghĩa là vector trong kho không thuộc model embedding đang chọn — hoặc chúng được tạo bằng model khác, hoặc bị ghép nhầm với đoạn khác lúc ghi. Không ngưỡng nào chữa được lỗi này. Hãy kiểm tra Embedding model ở tab RAG rồi bấm Re-index everything (nút Index missing items sẽ bỏ qua nội dung chưa thay đổi). Đoạn gần nhất với câu hỏi này được %2$s."

msgid "The knowledge base is switched off on the RAG tab."
msgstr "Kho tri thức đang tắt ở tab RAG."

msgid "The knowledge base was not consulted: %s"
msgstr "Kho tri thức không được gọi: %s"

msgid "the Knowledge lock card"
msgstr "card Khoá tri thức"

msgid "The knowledge lock is off, so the assistant may answer from the model's general knowledge. Nothing on this screen switches it on: the switch is a file on your server, described on the Knowledge lock card below."
msgstr "Khoá tri thức đang TẮT, nên trợ lý có thể trả lời bằng kiến thức chung của mô hình. Không có gì trên màn hình này bật được khoá: công tắc là một tệp trên máy chủ, mô tả ở card Khoá tri thức bên dưới."

msgid "The knowledge lock is ON and there is content to answer from, so the assistant stays inside your website and spends no tokens on outside questions."
msgstr "Khoá tri thức đang BẬT và đã có nội dung để trả lời, nên trợ lý chỉ ở trong website của bạn và không tốn token cho câu hỏi ngoài kho."

msgid "The knowledge lock is on, so the knowledge base is always searched."
msgstr "Khoá tri thức đang bật, nên kho tri thức luôn được tra."

msgid "The language of the AI House admin screens. The choices are the translations that actually ship with the plugin; the chat widget follows the language your visitors choose, not this one."
msgstr "Ngôn ngữ của các màn hình quản trị AI House. Danh sách chỉ gồm những bản dịch có sẵn trong plugin; khung chat vẫn theo ngôn ngữ mà khách truy cập chọn, không theo ô này."

msgid "The last question was saved %2$s ago, as request #%1$d."
msgstr "Câu hỏi gần nhất đã được lưu cách đây %2$s, với mã yêu cầu #%1$d."

msgid "The last visitor attempt FAILED %2$s ago and was NOT saved: %1$s"
msgstr "Lần khách gửi gần nhất đã HỎNG cách đây %2$s và KHÔNG được lưu: %1$s"

msgid "The lock file does not say \"che-do: knowledge-only\" or \"che-do: off\", so the lock is treated as ON."
msgstr "Tệp khoá không ghi \"che-do: knowledge-only\" hay \"che-do: off\", nên khoá được coi là đang BẬT."

msgid "The lock file was written for block version %s, which this build does not know, so the lock is treated as ON."
msgstr "Tệp khoá được viết cho phiên bản khối %s, mà bản này không biết, nên khoá được coi là đang BẬT."

msgid "The lock is OFF. Without it, a short question or one the knowledge base cannot answer is still sent to the model, which then replies from its own general knowledge — the token cost the lock exists to stop."
msgstr "Khoá đang TẮT. Không có khoá, câu hỏi ngắn hoặc câu mà kho không trả lời được vẫn được gửi tới mô hình, và mô hình trả lời bằng kiến thức chung của nó — đúng khoản token mà khoá sinh ra để chặn."

msgid "The lock is ON. Every message is searched against the knowledge base, a question with nothing above the score floor is refused without calling the AI, and the model is told to use nothing but this website's content. Short greetings are still answered, under a stricter instruction."
msgstr "Khoá đang BẬT. Mọi tin nhắn đều được tra trong kho tri thức, câu hỏi không có đoạn nào vượt ngưỡng bị từ chối mà không gọi AI, và mô hình được yêu cầu chỉ dùng nội dung của website này. Câu chào hỏi ngắn vẫn được trả lời, dưới một chỉ dẫn chặt hơn."

msgid "The log mirror wrote a probe row into public.mybot_messages and removed it again, so conversations will be copied."
msgstr "Bản sao log đã ghi được một dòng thăm dò vào public.mybot_messages rồi xoá lại, nên hội thoại sẽ được sao chép."

msgid "The lookup failed before it could search: %s"
msgstr "Lượt tra cứu hỏng trước khi kịp tìm: %s"

msgid "The lookup worked: %1$d chunks cleared the Minimum score of %3$s, and the best scored %2$s."
msgstr "Tra cứu chạy được: %1$d đoạn vượt ngưỡng Minimum score %3$s, đoạn cao nhất được %2$s."

msgid "The message cannot be empty."
msgstr "Tin nhắn không được để trống."

msgid "The message is too long — 2000 characters maximum."
msgstr "Tin nhắn quá dài, tối đa 2000 ký tự."

msgid "The model configured for this site cannot read pictures, so this one was not sent."
msgstr "Mô hình đang cấu hình cho site này không đọc được ảnh, nên ảnh này không được gửi đi."

msgid "The picture could not be saved on this server."
msgstr "Không lưu được ảnh trên máy chủ này."

msgid "The provider returned HTTP %d."
msgstr "Nhà cung cấp trả về mã HTTP %d."

msgid "The provider, the API key and the model are on the %s tab, because they belong with \"get this working\". Everything below has a working default — change it only if you know why."
msgstr "Nhà cung cấp, khoá API và model nằm ở tab %s, vì chúng thuộc về việc \"làm cho nó chạy\". Mọi mục bên dưới đều có mặc định chạy được — chỉ đổi khi bạn biết vì sao."

msgid "The question contains the keyword \"%s\"."
msgstr "Câu hỏi có chứa từ khoá \"%s\"."

msgid "The question could not be sent. Please try again in a few minutes."
msgstr "Không gửi được câu hỏi. Vui lòng thử lại sau ít phút."

msgid "The question did not look like it needs the knowledge base. Set \"When to use RAG\" to Always to search for every question."
msgstr "Câu hỏi có vẻ không cần kho tri thức. Đặt \"When to use RAG\" thành Always nếu muốn tra cho mọi câu hỏi."

msgid "The question is long enough to need context."
msgstr "Câu hỏi đủ dài nên cần thêm ngữ cảnh."

msgid "The question is very short, so it was treated as small talk."
msgstr "Câu hỏi quá ngắn nên được coi là chào hỏi."

msgid "The question runs to %d words, long enough to need context."
msgstr "Câu hỏi có %d từ, đủ dài nên cần thêm ngữ cảnh."

msgid "The queue is still working: %s job(s) waiting."
msgstr "Hàng đợi còn chạy: %s job đang chờ."

msgid "The queue is still working: %s job(s) waiting. Leave this page open, or visit the site a few times so WP-Cron can run."
msgstr "Hàng đợi còn chạy: %s job đang chờ. Cứ để trang này mở, hoặc mở site vài lần để WP-Cron có dịp chạy."

msgid "The RAG tab says always to use the knowledge base."
msgstr "Tab RAG đang đặt Always nên luôn dùng kho tri thức."

msgid "The RAG tab says never to use the knowledge base."
msgstr "Tab RAG đang đặt Never nên không dùng kho tri thức."

msgid "the reason was not recorded."
msgstr "lý do không được ghi lại."

msgid "The reply came from the answer cache; the sources saved with it are repeated below."
msgstr "Câu trả lời lấy từ cache; nguồn đã lưu kèm được in lại bên dưới."

msgid "The request could not be saved."
msgstr "Không lưu được yêu cầu."

msgid "The request could not be updated."
msgstr "Không cập nhật được yêu cầu."

msgid "The requests table does not exist yet. Deactivate and activate the plugin once so the database upgrade can create it."
msgstr "Bảng yêu cầu chưa tồn tại. Hãy tắt rồi bật lại plugin một lần để quá trình nâng cấp CSDL tạo bảng."

msgid "The requests table does not exist. Deactivate and activate the plugin once so the database upgrade can create it."
msgstr "Bảng yêu cầu chưa tồn tại. Hãy tắt rồi bật lại plugin một lần để bước nâng cấp CSDL tạo bảng đó."

msgid "The requests table is missing. Deactivate and activate the plugin once so the database upgrade can run."
msgstr "Thiếu bảng yêu cầu. Hãy tắt rồi bật lại plugin một lần để quá trình nâng cấp CSDL chạy."

msgid "The response is not valid JSON."
msgstr "Phản hồi không phải JSON hợp lệ."

msgid "The row can be read back from the table."
msgstr "Đọc lại được dòng đó từ bảng."

msgid "The row was written but cannot be read back."
msgstr "Dòng đã được ghi nhưng không đọc lại được."

msgid "The shape is right — and nothing has been verified. This build has no licence server, so no key is checked against anything yet."
msgstr "Hình dạng đúng — và chưa có gì được xác minh. Bản này chưa có máy chủ cấp phép, nên chưa khoá nào được đối chiếu với gì cả."

msgid "The store answered with %2$s at %1$s for a vector it had just accepted, so the stored vectors were made by a different embedding model and every similarity score is meaningless. Re-index everything with the model now selected before trusting any citation."
msgstr "Kho trả về %2$s với điểm %1$s cho một vector vừa được ghi vào, nghĩa là vector trong kho được tạo bằng một model embedding khác và mọi điểm tương đồng đều vô nghĩa. Hãy nạp lại toàn bộ bằng model đang chọn trước khi tin vào bất kỳ trích dẫn nào."

msgid "The store found the chunk it had just been given, at %1$s (stored as %2$s): the vectors match the embedding model in use."
msgstr "Kho tìm lại được đúng đoạn vừa ghi vào, với điểm %1$s (lưu dưới mã %2$s): vector khớp với model embedding đang dùng."

msgid "The Supabase log mirror has now failed %d times in a row, so it has switched itself off. The conversation log is still complete in WordPress. Fix the problem and untick then tick the option again to restart it."
msgstr "Bản sao log trên Supabase đã hỏng %d lần liên tiếp nên nó tự tắt. Log hội thoại trong WordPress vẫn đầy đủ. Hãy sửa nguyên nhân rồi bỏ tick và tick lại ô đó để chạy lại."

msgid "The Supabase URL or API key is missing, so the log mirror cannot be tested."
msgstr "Thiếu URL hoặc khoá API của Supabase nên không kiểm tra được bản sao log."

msgid "The table does not match the current schema: either it still has the old id column instead of wp_id, or it is missing a column the plugin now writes (lang, tokens_in, tokens_out). Check the row count first — select count(*) from public.mybot_messages; — and if it is 0, run \"drop table if exists public.mybot_messages;\" and then the create table block from sql/supabase-schema.sql. If the table already holds rows you want to keep, use the repair block at the end of that file instead. Nothing has ever been written by the plugin, so 0 is what to expect."
msgstr "Bảng không khớp schema hiện tại: hoặc vẫn còn cột id cũ thay vì wp_id, hoặc thiếu một cột mà plugin nay ghi vào (lang, tokens_in, tokens_out). Hãy kiểm số dòng trước — select count(*) from public.mybot_messages; — nếu là 0 thì chạy \"drop table if exists public.mybot_messages;\" rồi chạy lại khối create table trong sql/supabase-schema.sql. Nếu bảng đã có dòng cần giữ thì dùng khối sửa bảng ở cuối file đó. Plugin chưa từng ghi được dòng nào nên con số cần thấy là 0."

msgid "The table exists: %s"
msgstr "Bảng đã tồn tại: %s"

msgid "The table is missing the column \"%s\", so it was created before that column existed. Check the row count first — select count(*) from public.mybot_messages; — and if it is 0, run \"drop table if exists public.mybot_messages;\" and then the create table block from sql/supabase-schema.sql. If the table already holds rows you want to keep, use the repair block at the end of that file instead, which adds the missing columns. Nothing has ever been written by the plugin, so 0 is what to expect."
msgstr "Bảng thiếu cột \"%s\", nghĩa là bảng được tạo từ bản schema cũ trước khi có cột đó. Hãy kiểm số dòng trước — select count(*) from public.mybot_messages; — nếu là 0 thì chạy \"drop table if exists public.mybot_messages;\" rồi chạy lại khối create table trong sql/supabase-schema.sql. Nếu bảng đã có dòng cần giữ thì dùng khối sửa bảng ở cuối file đó để thêm các cột còn thiếu. Plugin chưa từng ghi được dòng nào nên con số cần thấy là 0."

msgid "The table was not found. Run the mybot_messages block from sql/supabase-schema.sql in the Supabase SQL Editor."
msgstr "Không tìm thấy bảng. Hãy chạy khối mybot_messages trong sql/supabase-schema.sql ở Supabase SQL Editor."

msgid "The test message to %1$s did not succeed: %2$s"
msgstr "Tin nhắn thử tới %1$s không thành công: %2$s"

msgid "The test row could not be deleted. Remove request #%d by hand."
msgstr "Không xoá được dòng thử. Hãy xoá yêu cầu #%d bằng tay."

msgid "The test row was deleted again."
msgstr "Dòng thử đã được xoá lại."

msgid "The vector store accepted a chunk and then returned no rows when asked for that exact vector, so indexing writes into a table it cannot read back. Check the API key: with Supabase the store needs the service_role key, because row level security is on with no policy."
msgstr "Kho vector đã nhận một đoạn rồi trả về không dòng nào khi được hỏi đúng vector đó, nghĩa là việc nạp đang ghi vào một bảng mà nó không đọc lại được. Hãy kiểm khoá API: với Supabase phải dùng khoá service_role, vì bảng bật row level security mà không có policy nào."

msgid "The vector store accepted a search but refused a test write, so indexing will fail: %s — with Supabase this usually means the key is the public \"anon\" key; use the \"service_role\" key instead."
msgstr "Kho vector cho phép tìm kiếm nhưng từ chối một lần ghi thử, nên việc nạp tri thức sẽ hỏng: %s — với Supabase, điều này thường có nghĩa khoá đang dùng là khoá công khai \"anon\"; hãy dùng khoá \"service_role\"."

msgid "The vector store API key is empty."
msgstr "Khoá API của kho vector đang trống."

msgid "The vector store is not enabled."
msgstr "Chưa bật kho vector."

msgid "The vector store returned no rows at all, so the knowledge base looks empty. Check that indexing finished and that the table holds vectors."
msgstr "Kho vector không trả về dòng nào nên kho tri thức có vẻ trống. Kiểm tra xem quá trình nạp đã xong và bảng đã có vector chưa."

msgid "The vector store URL or API key is missing."
msgstr "Thiếu địa chỉ hoặc khoá API của kho vector."

msgid "The vector was written, but reading it back failed: %s"
msgstr "Vector đã được ghi, nhưng đọc lại thì hỏng: %s"

msgid "The webhook could not be called: %s"
msgstr "Không gọi được webhook: %s"

msgid "The widget was embedded for deep answers."
msgstr "Widget được nhúng ở chế độ trả lời sâu."

msgid "The widget was embedded for quick answers only."
msgstr "Widget được nhúng chỉ để trả lời nhanh."

msgid "The WordPress action mybot_support_request_created fires with the saved request, so a plugin can react without a webhook — and without sending the visitor’s details anywhere."
msgstr "Hook WordPress mybot_support_request_created được gọi kèm yêu cầu đã lưu, nên một plugin có thể phản ứng mà không cần webhook — và không phải gửi thông tin của khách đi đâu cả."

msgid "There are no items to import."
msgstr "Không có mục nào để nhập."

msgid "There is no question to send."
msgstr "Không có câu hỏi nào để gửi."

msgid "These details stay in WordPress only: they are not copied to Supabase, whose mirror holds conversations rather than contact information, and the dashboard does not list them. They are all on the %s screen, where you can read, reply to and close them."
msgstr "Thông tin này chỉ nằm trong WordPress: nó KHÔNG được sao chép sang Supabase (bảng sao bên đó chỉ chứa hội thoại, không chứa thông tin liên hệ), và dashboard cũng không liệt kê. Tất cả đều nằm ở màn hình %s, nơi bạn đọc, trả lời và đóng chúng."

msgid "These plugins are active in WordPress, but AI House refused their registration. Until it is fixed, their features do not exist as far as AI House is concerned — which is why the reason is printed here instead of only in the code."
msgstr "Những plugin này đang bật trong WordPress, nhưng AI House đã từ chối đăng ký chúng. Tới khi sửa xong, các tính năng của chúng không tồn tại đối với AI House — đó là lý do lý do từ chối được in ở đây thay vì chỉ nằm trong mã."

msgid "These texts are configured per language. Switch to the %s tab to edit them — the bot name is the title at the top of the chat window, so that is where your brand name goes."
msgstr "Những câu này được đặt theo từng ngôn ngữ. Chuyển sang tab %s để sửa — tên trợ lý chính là tiêu đề trên khung chat, nên tên thương hiệu của bạn điền ở đó."

msgid "This add-on declared a settings tab but no callback to fill it, so the tab is empty. That is a bug in the add-on, not in AI House."
msgstr "Add-on này khai một tab cài đặt nhưng không có hàm nào vẽ nội dung, nên tab trống. Đó là lỗi của add-on, không phải của AI House."

msgid "This add-on declared no named feature. It is registered and its code is loaded, but nothing in AI House can ask for it by name — which is usually a bug in the add-on rather than a decision."
msgstr "Add-on này không khai báo tính năng nào có tên. Nó vẫn được đăng ký và mã vẫn được nạp, nhưng không phần nào của AI House hỏi được nó theo tên — thường đó là lỗi của add-on chứ không phải một quyết định."

msgid "This add-on needs AI House %1$s or newer, and %2$s is installed. Update AI House, then activate the add-on again."
msgstr "Add-on này cần AI House %1$s trở lên, mà bản đang cài là %2$s. Hãy cập nhật AI House rồi kích hoạt lại add-on."

msgid "This AI House exposes add-on API version %1$s (%2$s). An add-on declares the AI House version it needs, and AI House refuses it when the installed core is older — so an add-on can never half-work against a core it was not written for."
msgstr "AI House này cung cấp API add-on phiên bản %1$s (%2$s). Add-on tự khai phiên bản AI House mà nó cần, và AI House từ chối nó khi core đang cài cũ hơn — nên một add-on không bao giờ chạy nửa vời trên core mà nó không được viết cho."

msgid "This build can store a key and tell you whether its shape is right. It cannot verify one, refuse one, or switch a feature off, because the licence server that would answer those questions does not exist yet — that is milestone M4 in the plugin documentation. Nothing on this site is waiting for a key, and nothing stops working without one."
msgstr "Bản này lưu được khoá và cho biết hình dạng của nó đúng hay sai. Nó không xác minh, không từ chối khoá, và không tắt tính năng nào, vì máy chủ cấp phép — thứ trả lời những câu hỏi đó — chưa tồn tại: đó là mốc M4 trong tài liệu plugin. Không có gì trên site này đang chờ khoá, và không có gì ngừng chạy khi thiếu khoá."

msgid "This is a partial count: the check stops after 2000 items so the page stays fast."
msgstr "Đây là con số một phần: phép đếm dừng sau 2000 mục để trang còn nhanh."

msgid "This key is checked as soon as you paste it, and saved when the provider accepts it — no need to press Save first."
msgstr "Khoá này được kiểm tra ngay khi bạn dán vào, và được lưu khi nhà cung cấp chấp nhận — không cần bấm Lưu trước."

msgid "This model answered the test message. Press Save to keep it: %s"
msgstr "Model này đã trả lời tin nhắn thử. Bấm Save để giữ lại: %s"

msgid "This model is a reasoning model: it spent the whole test budget thinking and wrote nothing. While it stays saved the chat answers every question with the fallback message, so no citation can appear. Pick a plain \"instruct\" or \"chat\" model instead: %s"
msgstr "Model này là model suy luận: nó dùng hết ngân sách của phép thử để suy nghĩ mà không viết gì. Chừng nào nó còn được lưu, khung chat sẽ trả câu dự phòng cho mọi câu hỏi nên không thể có trích dẫn. Hãy chọn model loại \"instruct\" hoặc \"chat\" thường: %s"

msgid "This question needs a person"
msgstr "Câu hỏi này cần nhân viên trả lời"

msgid "This queues one background job per batch and returns immediately. The queue runs on WP-Cron, so visit the site a few times if nothing seems to happen."
msgstr "Việc này xếp hàng một job nền cho mỗi lô rồi trả về ngay. Hàng đợi chạy bằng WP-Cron, nên hãy mở site vài lần nếu như không thấy gì xảy ra."

msgid "This server could not produce a safe file name for the picture."
msgstr "Không tạo được tên tệp an toàn cho ảnh trên máy chủ này."

msgid "This step has no switch on purpose. The knowledge lock is a file on your server, and %s below shows its path and its current state — nothing in this plugin writes to it any more."
msgstr "Bước này cố ý không có công tắc. Khoá tri thức là một tệp trên máy chủ của bạn, và %s bên dưới ghi đường dẫn cùng trạng thái hiện tại — không phần nào của plugin này ghi vào tệp đó nữa."

msgid "Those details have been deleted."
msgstr "Đã xoá thông tin đó."

msgid "Those details were already gone."
msgstr "Thông tin đó đã không còn."

msgid "Time"
msgstr "Thời điểm"

msgid "Timeout (seconds)"
msgstr "Timeout (giây)"

msgid "times"
msgstr "lượt"

msgid "Total messages"
msgstr "Tổng tin nhắn"

msgid "Try again"
msgstr "Thử lại"

msgid "Trying this model with a real message..."
msgstr "Đang thử model này bằng một tin nhắn thật..."

msgid "Turning this off writes to the database on every message — slightly faster, but heavier on MySQL."
msgstr "Tắt sẽ ghi ngay vào CSDL ở mỗi tin nhắn — nhanh hơn một chút nhưng tăng tải MySQL."

msgid "Type"
msgstr "Loại"

msgid "Type a question a visitor would ask, then run the lookup. This searches the vector store straight away and reports what came back: how many chunks cleared the threshold, and the score of the closest chunk. Use it when an answer arrives without citations."
msgstr "Gõ một câu như khách sẽ hỏi rồi bấm tra thử. Nút này tìm thẳng trong kho vector và cho biết kết quả: bao nhiêu đoạn vượt ngưỡng, và điểm của đoạn gần nhất. Dùng khi câu trả lời không có trích dẫn."

msgid "Type a question to look up first."
msgstr "Hãy gõ câu hỏi cần tra trước."

msgid "Type a question to look up."
msgstr "Hãy gõ câu hỏi cần tra."

msgid "Type at least two characters."
msgstr "Vui lòng nhập ít nhất hai ký tự."

msgid "unchanged"
msgstr "không đổi"

msgid "Under the icon"
msgstr "Dưới icon"

msgid "Unknown status."
msgstr "Trạng thái không hợp lệ."

msgid "Unsupported file format."
msgstr "Định dạng file không được hỗ trợ."

msgid "Unsupported provider: %s"
msgstr "Nhà cung cấp không được hỗ trợ: %s"

msgid "Unsupported vector store: %s"
msgstr "Kho vector không được hỗ trợ: %s"

msgid "up to"
msgstr "tối đa"

msgid "Use these to test with Postman or curl."
msgstr "Dùng để kiểm tra bằng Postman hoặc curl."

msgid "Used only when the matching language has no instruction of its own on the Language tab."
msgstr "Chỉ dùng khi ngôn ngữ tương ứng chưa có chỉ dẫn riêng ở tab Ngôn ngữ."

msgid "Used to separate data between sites. Applies to Pinecone and Qdrant only."
msgstr "Dùng để tách dữ liệu giữa các site. Chỉ áp dụng cho Pinecone và Qdrant."

msgid "Used when the AI provider fails or the circuit breaker is open."
msgstr "Dùng khi nhà cung cấp AI lỗi hoặc cầu dao đang mở."

msgid "Used when the visitor has not chosen, and as the fallback for empty fields."
msgstr "Dùng khi khách chưa chọn, và làm nguồn dự phòng cho các trường để trống."

msgid "Using the %s key"
msgstr "Đang dùng khoá của %s"

msgid "Vector check:"
msgstr "Phép kiểm vector:"

msgid "Vector check: %1$s (from %2$s ago)"
msgstr "Phép kiểm vector: %1$s (cách đây %2$s)"

msgid "Vector store"
msgstr "Kho vector"

msgid "Vector store API key"
msgstr "Khoá API kho vector"

msgid "Vector store connection succeeded."
msgstr "Kết nối kho vector thành công."

msgid "Vector store URL"
msgstr "Địa chỉ kho vector"

msgid "Visitor"
msgstr "Khách"

msgid "Visitor note:"
msgstr "Khách ghi thêm:"

msgid "Visitor questions and their contact details now live on their own screen: %s."
msgstr "Câu hỏi của khách và thông tin liên hệ nay nằm ở màn hình riêng: %s."

msgid "Visitors pick a language inside the chat widget, and the bot answers in it."
msgstr "Khách truy cập chọn ngôn ngữ ngay trên khung chat. Bot sẽ trả lời đúng ngôn ngữ đó."

msgid "Waiting for a human: %d."
msgstr "Đang chờ nhân viên trả lời: %d."

msgid "Waiting in queue: %s"
msgstr "Đang chờ trong hàng đợi: %s"

msgid "Warning:"
msgstr "Cảnh báo:"

msgid "Webhook URL"
msgstr "Địa chỉ webhook"

msgid "Welcome message"
msgstr "Lời chào"

msgid "What a key can and cannot do here:"
msgstr "Khoá làm được gì và không làm được gì ở đây:"

msgid "What the bot answered"
msgstr "Câu bot đã trả lời"

msgid "What the bot answered before handing over:"
msgstr "Câu bot đã trả lời trước khi chuyển cho nhân viên:"

msgid "What you agreed to"
msgstr "Nội dung bạn đã đồng ý"

msgid "When the bot cannot answer"
msgstr "Khi bot không trả lời được"

msgid "When to use RAG"
msgstr "Khi nào dùng RAG"

msgid "When you agreed"
msgstr "Thời điểm bạn đồng ý"

msgid "Where the text sits when you give the button a label on the Language tab. Under the icon keeps the button narrow; beside the icon makes the words easier to read."
msgstr "Chữ nằm ở đâu khi bạn đặt nhãn cho nút ở tab Ngôn ngữ. Dưới icon thì nút gọn bề ngang; bên cạnh icon thì chữ dễ đọc hơn."

msgid "While this line is red the chat answers every question with the fallback message, so no citation can appear yet: fix the model or the key first, then look at RAG."
msgstr "Khi dòng này còn đỏ, khung chat trả câu dự phòng cho mọi câu hỏi nên chưa thể có trích dẫn: hãy sửa model hoặc khoá trước, rồi mới xem tới RAG."

msgid "Why it was refused"
msgstr "Vì sao bị từ chối"

msgid "Widget position"
msgstr "Vị trí widget"

msgid "Will import %s items"
msgstr "Sẽ nhập %s mục"

msgid "Window length (seconds)"
msgstr "Độ dài cửa sổ (giây)"

msgid "WordPress always keeps the full log; this adds a second copy in the same Supabase project as the vectors, so the log can be read and queried from outside WordPress. Requires the table and the unique index from sql/supabase-schema.sql. It uses the vector store URL and key above, so it needs the service_role key. Visitor messages leave your WordPress database — only switch this on if that is acceptable for your site."
msgstr "WordPress luôn giữ bản log đầy đủ; ô này ghi thêm một bản sao vào đúng dự án Supabase đang chứa vector, để có thể đọc và truy vấn log từ ngoài WordPress. Cần bảng và khoá chính trong sql/supabase-schema.sql. Nó dùng URL và khoá của kho vector ở trên, nên phải là khoá service_role. Tin nhắn của khách sẽ rời khỏi CSDL WordPress — chỉ bật khi bạn thấy điều đó phù hợp với site của mình."

msgid "WordPress could not send the notification email. On shared hosting this is common: either set up an SMTP plugin, or use the webhook instead."
msgstr "WordPress không gửi được email thông báo. Trên shared hosting điều này rất thường gặp: hãy cài plugin SMTP, hoặc dùng webhook thay thế."

msgid "Working through these four steps is the whole setup. Everything on the other tabs has a working default and can be left alone until you want to change it."
msgstr "Đi hết bốn bước này là xong phần cài đặt. Mọi thứ ở các tab khác đều có mặc định chạy được, cứ để nguyên tới khi bạn muốn đổi."

msgid "Working..."
msgstr "Đang xử lý..."

msgid "Working…"
msgstr "Đang chạy…"

msgid "Writes one question, reads it back and deletes it again — it does not notify anybody and it does not change the Status card."
msgstr "Ghi một câu hỏi, đọc lại rồi xoá đi — không thông báo cho ai và không thay đổi card Status."

msgid "Yes"
msgstr "Có"

msgid "Yes, on %s"
msgstr "Có, lúc %s"

msgid "You are sending questions too fast. Please try again in a few seconds."
msgstr "Bạn gửi câu hỏi quá nhanh, vui lòng thử lại sau ít giây."

msgid "You do not have permission to access this page."
msgstr "Bạn không có quyền truy cập trang này."

msgid "You do not have permission to do this."
msgstr "Bạn không có quyền thực hiện thao tác này."

msgid "You have unsaved changes. Press Save first: Test connection reads the settings stored in the database, not the form."
msgstr "Bạn có thay đổi chưa lưu. Hãy bấm Save trước: Test connection đọc cài đặt đã lưu trong CSDL, chứ không đọc form."

msgid "Your content carries an indexing fingerprint, so the assistant can find it."
msgstr "Nội dung của bạn đã có dấu vân tay nạp, nên trợ lý tìm được."

msgid "Your content is indexed, so the assistant can find it."
msgstr "Nội dung của bạn đã được nạp, nên trợ lý tìm được."

msgid "Your details could not be saved."
msgstr "Không lưu được thông tin của bạn."

msgid "Your name"
msgstr "Tên của bạn"

msgid "Your question"
msgstr "Câu hỏi của bạn"

msgid "Your question on %s"
msgstr "Câu hỏi của bạn trên %s"

msgid "Your session has expired. Please reload the page."
msgstr "Phiên làm việc đã hết hạn, vui lòng tải lại trang."
