Files
nanobot/webui/src/i18n/locales/vi/common.json
T

1387 lines
65 KiB
JSON

{
"app": {
"brand": "nanobot",
"loading": {
"connecting": "Đang kết nối tới nanobot…",
"boot": "Đang tải nanobot…"
},
"error": {
"title": "Không thể kết nối tới nanobot",
"gatewayHint": "Hãy chắc chắn gateway đang chạy (`nanobot gateway`) và trang này được mở trên cùng máy."
},
"auth": {
"title": "Cần xác thực",
"hint": "Nhập secret được cấu hình là tokenIssueSecret trong cấu hình gateway.",
"placeholder": "Mật khẩu",
"submit": "Kết nối",
"invalid": "Mật khẩu không hợp lệ. Hãy thử lại."
},
"account": {
"section": "Tài khoản",
"logoutHint": "Ngắt kết nối trình duyệt này khỏi gateway.",
"logout": "Đăng xuất"
},
"system": {
"section": "Hệ thống",
"restartHint": "Khởi động lại nanobot để áp dụng thay đổi thời gian chạy.",
"restart": "Khởi động lại nanobot",
"restarting": "Đang khởi động lại...",
"restartEngine": "Khởi động lại bộ máy",
"restartingEngine": "Đang khởi động lại bộ máy..."
},
"restart": {
"completed": "Khởi động lại hoàn tất sau {{seconds}} giây."
},
"documentTitle": {
"base": "nanobot",
"chat": "{{title}} · nanobot"
},
"meta": {
"description": "Giao diện web nanobot — trò chuyện với không gian làm việc nanobot của bạn."
},
"pairing": {
"title": "Liên kết người dùng chat",
"description": "Nhập mã liên kết hiển thị trong cuộc trò chuyện.",
"code": "Mã liên kết",
"matched": "Đã khớp với {{channel}}. Đang kết nối...",
"expiresInline": "Mã hết hạn {{expires}}.",
"queueCount": "{{count}} đang chờ",
"noMatch": "Không có yêu cầu đang chờ nào khớp với mã này."
}
},
"temporaryChat": {
"title": "Trò chuyện tạm thời",
"retention": "Không được lưu vào lịch sử hoặc bộ nhớ.",
"expiration": "Tải lại, đóng trang hoặc mất kết nối sẽ kết thúc các cuộc trò chuyện này.",
"externalEffects": "Yêu cầu vẫn được gửi đến nhà cung cấp mô hình và thao tác công cụ có thể để lại thay đổi.",
"clear": "Xóa trò chuyện tạm thời",
"sectionTitle": "Trò chuyện tạm thời",
"closeAction": "Đóng trò chuyện tạm thời: {{title}}"
},
"sidebar": {
"navigation": "Điều hướng thanh bên",
"collapse": "Thu gọn thanh bên",
"newChat": "Chủ đề mới",
"searchAria": "Tìm kiếm",
"searchPlaceholder": "Tìm kiếm",
"searchResults": "Kết quả",
"noSearchResults": "Không có chủ đề phù hợp.",
"recent": "Chủ đề gần đây",
"settings": "Cài đặt",
"language": {
"label": "Ngôn ngữ",
"ariaLabel": "Đổi ngôn ngữ"
},
"apps": "Ứng dụng",
"automations": "Tự động hóa",
"skills": {
"title": "Kỹ năng"
}
},
"settings": {
"backToChat": "Quay lại chat",
"sidebar": {
"title": "Cài đặt",
"ariaLabel": "Mục cài đặt"
},
"nav": {
"general": "Chung",
"byok": "BYOK",
"overview": "Tổng quan",
"appearance": "Giao diện",
"models": "Mô hình",
"providers": "Nhà cung cấp",
"image": "Hình ảnh",
"voice": "Giọng nói",
"browser": "Trang web",
"channels": "Kênh",
"runtime": "Hệ thống",
"advanced": "Bảo mật",
"cliApps": "Ứng dụng CLI",
"mcp": "MCP",
"apps": "Ứng dụng",
"automations": "Tự động hóa",
"skills": "Kỹ năng"
},
"sections": {
"interface": "Giao diện",
"ai": "AI",
"system": "Hệ thống",
"about": "Giới thiệu",
"status": "Trạng thái",
"localPreferences": "Tùy chọn cục bộ",
"presets": "Cấu hình đặt trước",
"imageGeneration": "Tạo hình ảnh",
"imageDefaults": "Mặc định",
"webSearch": "Tìm kiếm web",
"webBehavior": "Hành vi",
"regional": "Khu vực",
"webuiSafety": "An toàn WebUI",
"capabilities": "Khả năng",
"cliApps": "Ứng dụng CLI",
"mcp": "Dịch vụ MCP",
"apps": "Ứng dụng",
"nativeHost": "Máy chủ gốc",
"hostSafety": "An toàn ứng dụng",
"voiceInput": "Nhập bằng giọng nói"
},
"rows": {
"theme": "Chủ đề",
"language": "Ngôn ngữ",
"provider": "Nhà cung cấp",
"model": "Mô hình",
"restart": "Khởi động lại nanobot",
"configPath": "Đường dẫn cấu hình",
"activePreset": "Cấu hình đặt trước đang dùng",
"gateway": "Cổng",
"restartState": "Trạng thái khởi động lại",
"pendingChanges": "Thay đổi chờ áp dụng",
"selectedPreset": "Cấu hình đặt trước đã chọn",
"presetModel": "Mô hình cấu hình đặt trước",
"density": "Mật độ",
"activityMode": "Chi tiết hoạt động",
"fileEditDisplay": "Hiển thị sửa tệp",
"codeWrap": "Xuống dòng mã",
"maxResults": "Kết quả tối đa",
"timeout": "Thời gian chờ",
"jinaReader": "Trình đọc Jina",
"imageGeneration": "Tạo hình ảnh",
"imageProvider": "Nhà cung cấp hình ảnh",
"imageProviderStatus": "Trạng thái nhà cung cấp",
"imageProviderBase": "Địa chỉ nhà cung cấp",
"imageModel": "Mô hình hình ảnh",
"defaultAspectRatio": "Tỷ lệ mặc định",
"defaultImageSize": "Kích thước mặc định",
"maxImagesPerTurn": "Ảnh tối đa mỗi lượt",
"imageSaveDir": "Thư mục lưu",
"timezone": "Múi giờ",
"workspacePath": "Không gian làm việc mặc định",
"localServiceAccess": "Dịch vụ cục bộ",
"webuiDefaultAccess": "Quyền mặc định",
"currentModel": "Cấu hình hiện tại",
"brandLogos": "Logo thương hiệu",
"cliAppsCatalog": "Danh mục",
"cliAppsFilter": "Bộ lọc",
"engine": "Bộ máy",
"logs": "Nhật ký",
"diagnostics": "Chẩn đoán",
"contextWindow": "Cửa sổ ngữ cảnh",
"transcription": "Chuyển giọng nói thành văn bản",
"transcriptionProvider": "Nhà cung cấp chuyển giọng nói",
"transcriptionProviderStatus": "Trạng thái nhà cung cấp chuyển giọng nói",
"transcriptionModel": "Mô hình chuyển giọng nói",
"transcriptionLanguage": "Ngôn ngữ",
"voiceLimits": "Giới hạn"
},
"help": {
"theme": "Chuyển giữa giao diện sáng và tối.",
"language": "Chọn ngôn ngữ dùng trong WebUI.",
"provider": "Chọn nhà cung cấp cho các yêu cầu mô hình mới.",
"model": "Chọn mô hình mà cấu hình sẵn này sử dụng.",
"configPath": "Tệp cấu hình gateway hiện đang dùng.",
"selectedPreset": "Cấu hình đặt trước có tên chỉ đọc tại đây; hãy chỉnh sửa trong config.json.",
"presetModel": "Chuyển sang Mặc định để chỉnh sửa mô hình và nhà cung cấp trong WebUI.",
"density": "Chỉ lưu trong trình duyệt này.",
"activityMode": "Chọn mức chi tiết hoạt động của tác nhân hiển thị mặc định.",
"fileEditDisplay": "Chọn hoạt động sửa tệp hiển thị số dòng hay khác biệt.",
"codeWrap": "Giữ các dòng mã dài dễ đọc trên màn hình nhỏ.",
"maxResults": "Số kết quả được trả về sau mỗi lần gọi web_search.",
"timeout": "Số giây trước khi yêu cầu của nhà cung cấp tìm kiếm hết thời gian.",
"jinaReader": "Dùng Jina Reader cho web_fetch khi có thể.",
"imageGeneration": "Hiển thị generate_image trong chat khi đã cấu hình nhà cung cấp hình ảnh.",
"imageProvider": "Chọn nhà cung cấp registry được generate_image sử dụng.",
"imageProviderStatus": "Tạo ảnh dùng lại thông tin xác thực từ mục Nhà cung cấp.",
"imageModel": "Tên mô hình gửi tới nhà cung cấp ảnh đã chọn.",
"defaultAspectRatio": "Được dùng khi lời nhắc không chọn tỷ lệ khung hình.",
"defaultImageSize": "Gợi ý kích thước gửi tới nhà cung cấp hỗ trợ.",
"maxImagesPerTurn": "Giới hạn trên cho một yêu cầu generate_image.",
"timezone": "Dùng cho lịch và các câu trả lời có yếu tố thời gian.",
"localServiceAccess": "Cho phép lệnh shell có quyền truy cập đầy đủ truy cập các dịch vụ cục bộ.",
"webuiDefaultAccess": "Dùng cho chat web không có quyền riêng theo dự án.",
"securityManagedControls": "Việc tải nội dung web luôn bảo vệ các dịch vụ cục bộ, riêng tư và siêu dữ liệu. Tính an toàn của các kênh cốt lõi vẫn do config.json quản lý.",
"currentModel": "Dùng cho các phản hồi mới.",
"selectedModelProvider": "Được đặt bởi mô hình đã chọn.",
"selectedModelValue": "Được đặt bởi mô hình đã chọn.",
"brandLogos": "Hiển thị logo nhà cung cấp bên thứ ba và CLI trong Cài đặt.",
"cliAppsCatalog": "Chỉ cài đặt các bộ chuyển đổi CLI ứng dụng mà nanobot có thể chạy cục bộ; ứng dụng gốc không bị thay đổi.",
"cliAppsFilter": "Tìm theo ứng dụng, danh mục hoặc khả năng.",
"logs": "Mở thư mục nhật ký của bộ máy gốc.",
"diagnostics": "Xuất báo cáo thời gian chạy ngắn để hỗ trợ.",
"localServiceAccessNative": "Cho phép lệnh shell có quyền truy cập đầy đủ truy cập các dịch vụ trên máy Mac này.",
"webuiDefaultAccessNative": "Dùng cho chat gốc không có quyền riêng theo dự án.",
"contextWindow": "Chọn ngân sách ngữ cảnh mặc định cho cấu hình mô hình này.",
"transcription": "Chuyển giọng nói từ micrô thành văn bản trước khi gửi. Tin nhắn thoại từ các kênh chat cũng dùng cùng cài đặt.",
"transcriptionProvider": "Dùng thông tin xác thực của nhà cung cấp tương ứng trong mục Nhà cung cấp.",
"transcriptionProviderStatus": "Khóa API nằm trong mục nhà cung cấp, không nằm trong cài đặt chuyển giọng nói.",
"transcriptionModel": "Giữ mô hình mặc định đã phân giải, trừ khi nhà cung cấp yêu cầu ID mô hình tùy chỉnh.",
"transcriptionLanguage": "Gợi ý ISO-639 tùy chọn, chẳng hạn en, zh, ja hoặc ko."
},
"values": {
"light": "Sáng",
"dark": "Tối",
"notAvailable": "Không khả dụng",
"enabled": "Đã bật",
"disabled": "Đã tắt",
"restartPending": "Chờ khởi động lại",
"ready": "Sẵn sàng",
"privateEngine": "Bộ máy riêng",
"unixSocket": "Socket Unix",
"defaultWorkspace": "Không gian làm việc mặc định",
"comfortable": "Thoải mái",
"compact": "Gọn",
"auto": "Tự động",
"expanded": "Mở rộng",
"default": "Mặc định",
"summary": "Tóm tắt",
"diff": "Khác biệt",
"collapsedDiff": "Khác biệt đã thu gọn",
"on": "Bật",
"off": "Tắt",
"defaultPermission": "Quyền mặc định",
"fullAccess": "Toàn quyền",
"configured": "Đã cấu hình",
"notConfigured": "Chưa cấu hình",
"pending": "Đang chờ",
"restartingEngine": "Đang khởi động lại",
"checking": "Đang kiểm tra",
"running": "Đang chạy",
"needsSetup": "Cần thiết lập"
},
"status": {
"loading": "Đang tải cài đặt...",
"loadError": "Không thể tải cài đặt",
"unsaved": "Có thay đổi chưa lưu.",
"upToDate": "Đã cập nhật.",
"savedRestart": "Đã lưu. Khởi động lại nanobot để áp dụng.",
"restartAfterSaving": "Lưu thay đổi, rồi khởi động lại khi sẵn sàng.",
"savedRestartApply": "Đã lưu. Khởi động lại khi sẵn sàng.",
"imageProviderRestart": "Đã lưu thay đổi nhà cung cấp ảnh. Khởi động lại khi sẵn sàng.",
"hostRestartAfterSaving": "Sau khi lưu, nanobot sẽ khởi động lại bộ máy.",
"hostRestartPending": "Đã lưu. Bộ máy sẽ khởi động lại khi sẵn sàng.",
"hostApiUnavailable": "Các thao tác máy chủ chỉ khả dụng trong ứng dụng gốc.",
"logsOpened": "Đã mở thư mục nhật ký.",
"logsOpenFailed": "Không thể mở thư mục nhật ký.",
"diagnosticsExported": "Đã xuất chẩn đoán tới {{path}}.",
"diagnosticsExportFailed": "Không thể xuất chẩn đoán."
},
"actions": {
"save": "Lưu",
"saving": "Đang lưu",
"saveOrder": "Lưu thứ tự",
"savePreset": "Lưu cấu hình đặt trước",
"delete": "Xóa",
"deleting": "Đang xóa...",
"edit": "Sửa",
"cancel": "Hủy",
"dismiss": "Bỏ qua",
"open": "Mở",
"export": "Xuất",
"opening": "Đang mở...",
"exporting": "Đang xuất..."
},
"byok": {
"description": "Dùng khóa nhà cung cấp của riêng bạn. Nanobot đọc các giá trị này từ cấu hình hiện tại và chỉ nhà cung cấp đã cấu hình mới có thể dùng trong cấu hình mô hình đặt trước.",
"configured": "Đã cấu hình",
"notConfigured": "Chưa cấu hình",
"configuredSection": "Đã cấu hình",
"notConfiguredSection": "Chưa cấu hình",
"showMore": "Hiển thị thêm {{count}}",
"showLess": "Thu gọn",
"apiKey": "Khóa API",
"apiBase": "Cơ sở API",
"apiKeyPlaceholder": "Nhập khóa API",
"apiKeyConfiguredPlaceholder": "Để trống để giữ khóa hiện tại",
"configuredKeyHint": "Khóa đã cấu hình",
"apiBasePlaceholder": "Dùng giá trị mặc định của nhà cung cấp",
"apiKeyRequired": "Cần khóa API để cấu hình nhà cung cấp này.",
"showApiKey": "Hiển thị khóa API",
"hideApiKey": "Ẩn khóa API",
"noConfiguredProviders": "Chưa có nhà cung cấp nào được cấu hình",
"configureFirst": "Hãy cấu hình nhà cung cấp trong BYOK trước.",
"openByok": "Mở BYOK",
"tabs": {
"ariaLabel": "Loại thông tin xác thực BYOK",
"llm": "LLM",
"webSearch": "Tìm kiếm web"
},
"webSearch": {
"provider": "Nhà cung cấp tìm kiếm",
"providerHelp": "Chọn hệ thống phụ trợ mà công cụ tìm kiếm web sẽ dùng.",
"selectProvider": "Chọn nhà cung cấp",
"credentials": "Thông tin xác thực",
"noCredentialRequired": "Không cần khóa",
"noCredentialHelp": "DuckDuckGo hoạt động mà không cần lưu khóa API.",
"apiKeyHelp": "Được lưu trong config và chỉ hiện dạng che sau khi lưu.",
"baseUrl": "URL cơ sở",
"baseUrlHelp": "SearXNG cần URL instance của bạn.",
"baseUrlPlaceholder": "https://search.example.com",
"apiKeyRequired": "Nhà cung cấp tìm kiếm này cần khóa API.",
"baseUrlRequired": "SearXNG cần URL cơ sở.",
"missingCredential": "Thêm thông tin bắt buộc trước khi lưu.",
"saveHint": "Thay đổi áp dụng cho các yêu cầu tìm kiếm trên web mới."
}
},
"overview": {
"model": "Mô hình hiện tại",
"providers": "Nhà cung cấp",
"configuredCount": "{{count}} đã cấu hình",
"totalProviders": "{{count}} khả dụng",
"webSearch": "Tìm kiếm web",
"imageGeneration": "Tạo hình ảnh",
"voiceInput": "Nhập bằng giọng nói",
"workspace": "Không gian làm việc"
},
"usage": {
"title": "Hoạt động token",
"shortTitle": "Mức dùng token",
"subtitle": "Mức dùng do nhà cung cấp báo cáo trong 12 tháng gần nhất.",
"empty": "Hoạt động token sẽ xuất hiện sau các phản hồi mô hình mới.",
"totalTokens": "Tổng token",
"peakTokens": "Đỉnh token",
"thirtyDayTokens": "Token 30 ngày",
"currentStreak": "Chuỗi hiện tại",
"longestStreak": "Chuỗi dài nhất",
"daysValue": "{{count}} ngày",
"last30": "30 ngày",
"activeDays": "Ngày hoạt động",
"requests": "Yêu cầu",
"estimated": "ước tính",
"includesEstimates": "bao gồm ước tính",
"cellTitle": "{{date}}: {{tokens}} tokens, {{requests}} yêu cầu",
"sources": {
"user": "Trò chuyện",
"api": "API",
"cron": "Tự động hóa",
"dream": "Bộ nhớ",
"system": "Hệ thống"
}
},
"providers": {
"title": "Nhà cung cấp mô hình",
"searchPlaceholder": "Tìm nhà cung cấp",
"noMatches": "Không có nhà cung cấp phù hợp.",
"addOwnProvider": "Thêm nhà cung cấp mô hình của bạn",
"customProvider": "Nhà cung cấp tùy chỉnh",
"customProviderName": "Tên nhà cung cấp",
"customProviderNamePlaceholder": "Nhà cung cấp mô hình của tôi",
"saveProvider": "Lưu nhà cung cấp",
"advancedOptions": "Tùy chọn nâng cao",
"saveAdvancedBeforeSignIn": "Lưu các thay đổi nâng cao trước khi đăng nhập.",
"apiType": "Loại API",
"proxy": "Proxy mạng",
"thinkingStyle": "Kiểu suy luận",
"region": "Khu vực",
"profile": "Hồ sơ",
"extraHeaders": "Header bổ sung",
"extraBody": "Body bổ sung",
"extraQuery": "Tham số truy vấn bổ sung",
"capabilityFastMode": "Chế độ nhanh",
"capabilityFastModeHelp": "Dùng tầng dịch vụ ưu tiên của OpenAI để phản hồi nhanh hơn. Tín dụng cũng sẽ được tiêu thụ nhanh hơn.",
"capabilityDeepSeekSearch": "Tìm kiếm web DeepSeek",
"capabilityDeepSeekSearchHelp": "Cho phép DeepSeek V4 Flash tìm kiếm trên web qua Responses API. Hoạt động tìm kiếm được hiển thị trong cuộc trò chuyện.",
"capabilityXSearch": "Tìm kiếm X",
"capabilityXSearchHelp": "Cho phép các mô hình Grok được hỗ trợ dùng X Search do xAI lưu trữ. Hoạt động tìm kiếm được hiển thị trong cuộc trò chuyện.",
"capabilityOpenAISearch": "Tìm kiếm web OpenAI",
"capabilityOpenAISearchHelp": "Cho phép các mô hình tương thích với Responses API tìm kiếm trên web. Hoạt động tìm kiếm được hiển thị trong cuộc trò chuyện."
},
"image": {
"selectProvider": "Chọn nhà cung cấp",
"selectAspect": "Chọn tỷ lệ",
"selectSize": "Chọn kích thước",
"selectModel": "Chọn mô hình ảnh",
"searchOrTypeModel": "Tìm kiếm hoặc nhập ID mô hình",
"typeModelId": "Nhập ID mô hình được nhà cung cấp này hỗ trợ.",
"configureProvider": "Cấu hình nhà cung cấp",
"missingCredential": "Cấu hình nhà cung cấp này trước khi bật tạo ảnh."
},
"capabilities": {
"providerSupport": "Hỗ trợ nhà cung cấp",
"providerInstallOnSave": "Hỗ trợ cần thiết sẽ được cài đặt tự động khi bạn lưu nhà cung cấp này.",
"searchSupport": "Hỗ trợ nhà cung cấp tìm kiếm",
"searchInstallOnSave": "Hỗ trợ Olostep sẽ được cài đặt tự động khi bạn lưu.",
"installing": "Đang cài đặt hỗ trợ..."
},
"models": {
"selectModel": "Chọn mô hình",
"addConfiguration": "Thêm cấu hình",
"newConfiguration": "Cấu hình mô hình mới",
"newConfigurationHelp": "Lưu nhà cung cấp và mô hình thành một lựa chọn nhanh.",
"configurationName": "Tên cấu hình",
"configurationNameHelp": "Đổi tên cấu hình mô hình đã lưu này.",
"configurationNamePlaceholder": "Viết nhanh",
"callOrder": "Thứ tự gọi mô hình",
"primary": "Chính",
"fallbackNumber": "Dự phòng {{number}}",
"addToOrder": "Bật cấu hình đặt trước",
"newPreset": "Cấu hình mô hình đặt trước mới",
"newPresetHelp": "Lưu mô hình có thể tái sử dụng cùng các thiết lập sinh nội dung.",
"presets": "Cấu hình mô hình đặt trước",
"editPreset": "Sửa cấu hình đặt trước",
"presetName": "Tên cấu hình đặt trước",
"presetNameHelp": "Tên ngắn dùng trong phần thiết lập mô hình.",
"presetNamePlaceholder": "Viết nhanh",
"advancedOptions": "Tùy chọn nâng cao",
"advancedSummary": "Ngữ cảnh {{context}} · Tối đa {{max}} token",
"maxTokens": "Token đầu ra tối đa",
"temperature": "Nhiệt độ",
"reasoningEffort": "Mức suy luận",
"convertTitle": "Chuyển đổi thiết lập mô hình hiện tại",
"convertHelp": "Chuyển mô hình chính và các mô hình dự phòng hiện có thành cấu hình đặt trước để quản lý thứ tự tại đây.",
"converting": "Đang chuyển đổi...",
"convertAction": "Chuyển thành cấu hình đặt trước",
"dragToReorder": "Kéo để sắp xếp lại",
"moveUp": "Di chuyển lên",
"moveDown": "Di chuyển xuống",
"removeFromOrder": "Tắt cấu hình đặt trước",
"inCallOrder": "Trong thứ tự gọi",
"disabled": "Đã tắt",
"noPresets": "Chưa có cấu hình mô hình đặt trước",
"noPresetsHelp": "Tạo cấu hình đặt trước rồi thêm vào thứ tự gọi.",
"removeBeforeDelete": "Hãy xóa cấu hình này khỏi thứ tự gọi trước khi xóa.",
"providerSetupRequired": "Cần cấu hình nhà cung cấp",
"configureProviderBeforeSaving": "Hãy cấu hình nhà cung cấp này trước khi lưu cấu hình đặt trước.",
"deletePresetTitle": "Xóa cấu hình mô hình đặt trước?",
"deletePresetHelp": "Thao tác này xóa cấu hình “{{name}}”. Thông tin xác thực của nhà cung cấp không bị ảnh hưởng.",
"searchModels": "Tìm kiếm hoặc nhập ID mô hình",
"useCustomModel": "Dùng",
"loadingModels": "Đang tải mô hình...",
"searchCatalog": "Tìm trong danh mục nhà cung cấp để chọn mô hình.",
"modelsAvailable": "khả dụng",
"noModelResults": "Không có mô hình phù hợp.",
"loadFailed": "Không tải được danh sách mô hình.",
"unsupportedModelList": "Nhập ID mô hình thủ công.",
"providerNotConfigured": "Hãy cấu hình nhà cung cấp này trước khi tải mô hình.",
"autoProviderCustomOnly": "Chế độ nhà cung cấp tự động dùng ID mô hình tùy chỉnh."
},
"timezone": {
"select": "Chọn múi giờ",
"search": "Tìm múi giờ",
"empty": "Không có múi giờ phù hợp."
},
"cliApps": {
"allCategories": "Tất cả danh mục",
"availableCount": "{{count}} ứng dụng",
"installedCount": "Đã cài {{count}}",
"summary": "Đã cài {{installed}} / {{total}} CLI",
"filterAll": "Tất cả",
"filterInstalled": "CLI đã cài",
"filterNotInstalled": "Chưa cài",
"searchPlaceholder": "Tìm CLI",
"statusInstalled": "Đã cài",
"statusAvailable": "Có sẵn",
"statusMissing": "Thiếu phụ thuộc",
"statusUnsupported": "Không hỗ trợ",
"statusNotInstalled": "Chưa cài",
"unsupported": "Không hỗ trợ",
"loading": "Đang tải ứng dụng CLI...",
"empty": "Không có ứng dụng CLI nào khớp bộ lọc này.",
"readyTitle": "@{{name}} đã sẵn sàng",
"readyStatus": "Sẵn sàng",
"readyPrompt": "Dùng @{{name}} để xem CLI này làm được gì.",
"readyTry": "Thử @{{name}}",
"readyCopied": "Đã sao chép",
"openChat": "Mở chat",
"requires": "Yêu cầu",
"test": "Kiểm tra CLI",
"update": "Cập nhật CLI",
"uninstall": "Gỡ CLI",
"install": "Cài CLI",
"unavailable": "Không khả dụng",
"noDescription": "Không có mô tả."
},
"about": {
"version": "Phiên bản",
"checking": "Đang kiểm tra...",
"checkForUpdates": "Kiểm tra bản cập nhật",
"upToDate": "Bạn đang dùng phiên bản mới nhất",
"updateAvailable": "Có bản cập nhật v{{version}}"
},
"mcp": {
"allCategories": "Tất cả danh mục",
"summary": "Đã bật {{installed}} / {{total}} cấu hình đặt trước",
"filterAll": "Tất cả",
"filterInstalled": "Đã bật",
"filterNotInstalled": "Chưa bật",
"searchPlaceholder": "Tìm cấu hình đặt trước MCP",
"moreOptions": "Tùy chọn MCP khác",
"moreOptionsSubtitle": "Thêm máy chủ tùy chỉnh hoặc nhập mcp.json.",
"customTitle": "MCP tùy chỉnh",
"customSubtitle": "Thêm bất kỳ máy chủ MCP stdio, HTTP hoặc SSE nào.",
"customAction": "Tùy chỉnh",
"importAction": "Nhập",
"serverName": "Tên máy chủ",
"serverUrl": "URL",
"transport": "Giao thức truyền",
"command": "Lệnh",
"args": "Đối số JSON",
"headers": "Header JSON",
"env": "Môi trường JSON",
"timeout": "Thời gian chờ công cụ",
"advancedOptions": "Tùy chọn nâng cao",
"hideAdvanced": "Ẩn nâng cao",
"saveCustom": "Lưu MCP",
"configImport": "Nhập mcp.json",
"importConfig": "Nhập",
"restartRequired": "Khởi động lại nanobot để kết nối các công cụ MCP đã cập nhật.",
"toolsFound": "{{count}} công cụ",
"loading": "Đang tải cấu hình đặt trước MCP...",
"empty": "Không có cấu hình đặt trước MCP nào khớp bộ lọc này.",
"openDocs": "Mở tài liệu",
"test": "Kiểm tra",
"remove": "Xóa",
"enable": "Bật",
"enabled": "Đã bật",
"setup": "Kết nối",
"configure": "Kết nối",
"connectTitle": "Kết nối {{name}}",
"connectHint": "Thêm khóa từ phần cài đặt tài khoản của bạn.",
"saveAndEnable": "Lưu và bật",
"updateSetup": "Cập nhật thiết lập",
"configured": "đã cấu hình",
"keepExisting": "Để trống để giữ giá trị hiện tại",
"statusConfigured": "Đã cấu hình",
"statusMissingCredentials": "Cần khóa",
"statusMissingDependency": "Cần phụ thuộc",
"statusComingSoon": "Sắp ra mắt",
"comingSoon": "Sắp ra mắt",
"statusNotInstalled": "Chưa bật",
"toolScope": "Công cụ",
"allTools": "Tất cả",
"noTools": "Không có",
"testForTools": "Chạy Kiểm tra để xem và chọn từng công cụ."
},
"api": {
"title": "Máy chủ API", "openaiCompatible": "API tương thích OpenAI", "description": "Kết nối SDK và tác nhân qua điểm cuối /v1 cục bộ.",
"start": "Khởi động API", "starting": "Đang khởi động...", "stop": "Dừng", "stopping": "Đang dừng...",
"access": "Truy cập", "thisDevice": "Thiết bị này", "localNetwork": "Mạng nội bộ",
"localHelp": "Chỉ thiết bị này có thể kết nối.", "networkHelp": "Thiết bị khác có thể kết nối; cần khóa API.",
"port": "Cổng", "portHelp": "API sử dụng cổng cục bộ này.", "apiKey": "Khóa API", "apiKeyHelp": "Client gửi khóa dưới dạng Bearer token.",
"apiKeyRequired": "Bắt buộc trước khi mở API ra mạng.", "apiKeyPlaceholder": "Nhập khóa API",
"autoInstall": "Hỗ trợ API sẽ tự động được cài khi khởi động."
},
"observability": {
"title": "Khả năng quan sát", "configured": "Thông tin xác thực tracing đã sẵn sàng cho nanobot.",
"environment": "Đặt LANGFUSE_SECRET_KEY và LANGFUSE_PUBLIC_KEY rồi khởi động lại nanobot.", "enable": "Bật hỗ trợ tracing"
},
"legal": {
"thirdPartyBrands": "Tên sản phẩm, logo và thương hiệu thuộc về chủ sở hữu tương ứng. Việc sử dụng chỉ nhằm nhận diện và không ngụ ý được xác nhận."
},
"apps": {
"description": "Thêm công cụ vào nanobot, sau đó dùng @ trong cuộc trò chuyện.",
"cliLabel": "Ứng dụng",
"mcpLabel": "Tích hợp",
"channelLabel": "Kênh",
"featureLabel": "Tính năng",
"filterAll": "Sẵn sàng",
"filterPlugins": "Plugin",
"filterCli": "Ứng dụng",
"filterMcp": "Tích hợp",
"enabledSummary": "{{count}} sẵn sàng",
"caption": "{{cli}} ứng dụng · {{mcp}} tích hợp",
"searchPlaceholder": "Tìm ứng dụng",
"featured": "Công cụ",
"loading": "Đang tải ứng dụng...",
"empty": "Không có công cụ phù hợp với chế độ xem này.",
"restartRequired": "Khởi động lại nanobot để áp dụng ứng dụng và tính năng đã cập nhật."
},
"channels": {
"description": "Kết nối nanobot với các ứng dụng chat. Cài đặt hỗ trợ chỉ thêm gói tích hợp; hầu hết kênh vẫn cần token hoặc cấu hình không gian làm việc.",
"caption": "{{enabled}} đã bật · {{total}} kênh",
"searchPlaceholder": "Tìm kênh",
"backToChannels": "Tất cả kênh",
"catalog": "Kênh",
"loading": "Đang tải kênh...",
"empty": "Không có kênh nào phù hợp.",
"restartRequired": "Khởi động lại nanobot để áp dụng hỗ trợ kênh đã cập nhật.",
"requires": "Yêu cầu: {{requirements}}",
"setUp": "Thiết lập",
"setupGuide": "Hướng dẫn thiết lập",
"setupSummary": "Bật chỉ kích hoạt hỗ trợ của nanobot. Thêm thông tin xác thực nền tảng rồi khởi động lại nanobot.",
"configKeys": "Khóa cấu hình",
"enable": "Bật kênh",
"disable": "Tắt kênh",
"needsConfig": "Cần cấu hình",
"connect": "Kết nối",
"reconnect": "Kết nối lại",
"advanced": "Nâng cao",
"checkAndEnable": "Kiểm tra và bật",
"checkConnection": "Kiểm tra kết nối",
"connectionChecks": "Kiểm tra kết nối",
"open": "Mở",
"checkedAndEnabled": "Đã kiểm tra và bật.",
"checking": "Đang kiểm tra...",
"checkOnly": "Chỉ kiểm tra",
"commandCopied": "Đã sao chép lệnh.",
"commandCopyFailed": "Không thể sao chép lệnh.",
"configuredInstances": "Đã cấu hình {{count}} phiên bản",
"connectPreview": "Bước tiếp theo là kết nối trong trình duyệt. Hiện tại, hãy chạy lệnh bên dưới.",
"copyCommand": "Sao chép lệnh",
"filterAll": "Tất cả",
"filterOff": "Tắt",
"filterOn": "Bật",
"helperCopied": "Đã sao chép {{name}}.",
"helperCopyFailed": "Không thể sao chép {{name}}.",
"hideSecret": "Ẩn khóa bí mật",
"instanceConfigured": "Đã cấu hình",
"instanceNeedsSetup": "Cần thiết lập",
"runtimeFailed": "Khởi động thất bại",
"runtimeStarting": "Đang khởi động",
"runtimeStopped": "Không chạy",
"managedByWebui": "Do WebUI quản lý",
"officialGuide": "Hướng dẫn chính thức",
"optional": "Tùy chọn",
"providerPreset": "Nhà cung cấp",
"requiredSetup": "Thiết lập bắt buộc",
"savedSecret": "Đã lưu",
"savedSecretPlaceholder": "Khóa bí mật đã lưu",
"savedSettings": "Đã lưu cài đặt.",
"saveSettings": "Lưu cài đặt",
"selectChannel": "Xem cài đặt {{name}}",
"setupSteps": "Các bước tiếp theo",
"showSecret": "Hiện khóa bí mật",
"toggleChannel": "Kênh {{name}}",
"toggleInstance": "Phiên bản {{name}}",
"tryIt": "Dùng thử",
"validationFailed": "Hãy kiểm tra thiết lập bắt buộc trước khi bật.",
"validation": {
"connected": "Đã kết nối",
"configured": "Đã cấu hình thủ công",
"needs_setup": "Cần thiết lập",
"invalid": "Không hợp lệ",
"unsupported": "Thiết lập thủ công"
}
},
"nanobotFeatures": {
"enabled": "Đã bật",
"enable": "Bật",
"disable": "Tắt",
"ready": "Sẵn sàng",
"missingDependency": "Thiếu gói hỗ trợ",
"installSupport": "Cài gói hỗ trợ",
"installConfirmTitle": "Cài hỗ trợ cho {{name}}?",
"installConfirmDescription": "nanobot sẽ thêm những gì {{name}} cần, rồi bật tính năng này. Tiếp tục?",
"installConfirmAction": "Cài và bật",
"websocketRequired": "Bắt buộc cho WebUI",
"channelDisabled": "Kênh đang tắt",
"notEnabled": "Chưa bật"
},
"automations": {
"filters": {
"all": "Tất cả",
"active": "Đang chạy",
"paused": "Đã tạm dừng",
"failed": "Cần xử lý",
"system": "Hệ thống"
},
"sort": {
"next": "Lần chạy tiếp theo",
"last": "Lần chạy trước",
"updated": "Đã cập nhật",
"name": "Tên"
},
"search": "Tìm tác vụ, tin nhắn, cuộc trò chuyện liên kết hoặc lịch",
"queue": "Hàng đợi",
"loading": "Đang tải tự động hóa...",
"noMatches": "Không có tự động hóa phù hợp với chế độ xem này.",
"empty": "Chưa có tự động hóa.",
"emptyHint": "Tạo từ nơi tác vụ sẽ chạy để nanobot giữ đúng ngữ cảnh.",
"oneShot": "Một lần",
"systemTask": "Tự động hóa do hệ thống quản lý",
"localTrigger": "Trình kích hoạt cục bộ",
"labels": {
"schedule": "Lịch",
"next": "Tiếp theo",
"origin": "Cuộc trò chuyện liên kết",
"created": "Đã tạo",
"updated": "Đã cập nhật"
},
"runNow": "Chạy ngay",
"pause": "Tạm dừng",
"resume": "Tiếp tục",
"edit": "Sửa",
"delete": "Xóa",
"protected": "Được bảo vệ",
"editTitle": "Sửa tự động hóa",
"save": "Lưu",
"commandCopied": "Đã sao chép",
"copyCommand": "Sao chép",
"deleteTitle": "Xóa tự động hóa",
"deleteDescription": "Thao tác này xóa {{name}} khỏi kho cron. Tin nhắn chat trước đó vẫn ở trong phiên.",
"cancel": "Hủy",
"status": {
"system": "Hệ thống",
"running": "Đang chạy",
"paused": "Đã tạm dừng",
"failed": "Thất bại",
"completed": "Hoàn tất",
"noSchedule": "Không có lịch",
"active": "Đang chạy"
},
"origin": {
"system": "Hệ thống",
"unknown": "Chưa liên kết cuộc trò chuyện"
},
"channels": {
"api": "API",
"cli": "CLI",
"dingtalk": "DingTalk",
"discord": "Discord",
"email": "Email",
"feishu": "Feishu",
"matrix": "Matrix",
"msteams": "Microsoft Teams",
"qq": "QQ",
"slack": "Slack",
"telegram": "Telegram",
"wechat": "WeChat",
"wecom": "WeCom",
"weixin": "WeChat",
"whatsapp": "WhatsApp"
},
"schedule": {
"at": "Vào {{time}}",
"every": "Mỗi {{duration}}",
"cron": "Cron {{expr}}",
"cronWithTz": "Cron {{expr}} · {{tz}}",
"withTz": "{{summary}} · {{tz}}",
"dailyAt": "Hằng ngày lúc {{time}}",
"weekdaysAt": "Ngày làm việc lúc {{time}}",
"hourlyAt": "Mỗi giờ tại :{{minute}}",
"hourlyWindow": "Mỗi giờ {{start}}-{{end}} tại :{{minute}}",
"local": "Trình kích hoạt cục bộ",
"custom": "Lịch tùy chỉnh"
},
"next": {
"paused": "Đã tạm dừng",
"pending": "Đang chạy",
"local": "Đang chờ kích hoạt",
"none": "Không có lần chạy tiếp theo"
},
"message": {
"showMore": "Hiển thị toàn bộ tin nhắn",
"showLess": "Thu gọn"
},
"fields": {
"name": "Tên",
"message": "Tin nhắn",
"command": "Lệnh",
"scheduleType": "Loại lịch",
"every": "Mỗi",
"unit": "Đơn vị",
"cronExpression": "Biểu thức cron",
"timezone": "Múi giờ",
"runAt": "Chạy lúc"
},
"scheduleTypes": {
"every": "Khoảng lặp",
"cron": "Cron",
"at": "Một lần"
},
"everyUnits": {
"second": "Giây",
"minute": "Phút",
"hour": "Giờ",
"day": "Ngày"
},
"validation": {
"nameRequired": "Tên là bắt buộc.",
"messageRequired": "Tin nhắn là bắt buộc.",
"intervalRequired": "Khoảng lặp phải là số dương.",
"cronRequired": "Biểu thức cron là bắt buộc.",
"timeRequired": "Thời gian chạy là bắt buộc.",
"futureRequired": "Thời gian chạy phải ở tương lai."
}
},
"oauth": {
"authentication": "Xác thực OAuth",
"signIn": "Đăng nhập",
"signingIn": "Đang đăng nhập...",
"signInAgain": "Đăng nhập lại",
"signOut": "Đăng xuất",
"signedInAs": "Đã đăng nhập bằng {{account}}",
"signInHelp": "Đăng nhập từ thiết bị này; khóa API không được lưu trong config.",
"remoteSignInHelp": "Chọn Đăng nhập để mở xAI trên máy tính của bạn, sau đó dán mã ủy quyền được hiển thị sau khi đăng nhập.",
"codexRemoteSignInHelp": "Đăng nhập trong trình duyệt này, sau đó dán lại URL callback localhost đầy đủ vào nanobot.",
"signInRequired": "Cần đăng nhập",
"signInBeforeSaving": "Hãy đăng nhập nhà cung cấp này trước khi lưu cấu hình đặt trước.",
"signedIn": "Đã đăng nhập",
"notSignedIn": "Chưa đăng nhập",
"proxyLabel": "Proxy mạng",
"proxySaveBeforeSignIn": "Hãy lưu thay đổi proxy trước khi đăng nhập.",
"saveProxy": "Lưu proxy",
"localCodeHelp": "Hoàn tất đăng nhập trong trình duyệt. nanobot thường tự động hoàn tất; nếu không, hãy dán mã ủy quyền bên dưới.",
"remoteCodeHelp": "Chọn Đăng nhập để mở xAI trên máy tính của bạn. Sau khi đăng nhập, hãy dán mã ủy quyền do xAI hiển thị bên dưới.",
"localCallbackHelp": "Hoàn tất đăng nhập trong trình duyệt. nanobot thường tự động hoàn tất; nếu không, hãy sao chép URL callback localhost đầy đủ từ thanh địa chỉ và dán vào bên dưới.",
"remoteCallbackHelp": "Mở ChatGPT trong trình duyệt này và hoàn tất đăng nhập. Khi trang localhost không tải được, hãy sao chép URL đầy đủ từ thanh địa chỉ và dán vào bên dưới.",
"authorizationCode": "Mã ủy quyền",
"callbackUrl": "URL callback đầy đủ",
"callbackUrlPlaceholder": "http://localhost:1455/auth/callback?code=…&state=…",
"openChatGPT": "Mở ChatGPT",
"pasteCallbackToContinue": "Dán URL callback để tiếp tục.",
"waitingForCallback": "Đang chờ callback từ trình duyệt…",
"finishSignIn": "Hoàn tất đăng nhập"
},
"skills": {
"description": "Xem các kỹ năng chỉ dẫn mà tác nhân này có thể tải trong cuộc trò chuyện.",
"caption": "{{available}} khả dụng · tổng {{total}}",
"views": "Chế độ xem kỹ năng",
"installedTab": "Đã cài đặt",
"discoverTab": "Khám phá",
"customGroup": "Tùy chỉnh",
"builtinGroup": "Tích hợp sẵn",
"otherGroup": "Khác",
"searchInstalled": "Tìm kỹ năng đã cài đặt",
"filterAll": "Tất cả",
"filterEnabled": "Đã bật",
"filterDisabled": "Đã tắt",
"noMatching": "Không có kỹ năng phù hợp.",
"statusDisabled": "Đã tắt",
"statusEnabled": "Đã bật",
"statusNeedsSetup": "Cần thiết lập",
"showLess": "Thu gọn",
"showMore": "Hiển thị thêm",
"enabledControl": "Sử dụng kỹ năng này",
"enabledDescription": "Cho phép tác nhân tải kỹ năng này khi các yêu cầu đã sẵn sàng.",
"enableSkill": "Bật {{name}}",
"disableSkill": "Tắt {{name}}",
"updateFailed": "Không thể cập nhật kỹ năng này.",
"deleteTitle": "Xóa kỹ năng",
"deleteDescription": "Xóa kỹ năng này khỏi không gian làm việc hiện tại.",
"deleteAction": "Xóa",
"deleteFailed": "Không thể xóa kỹ năng này.",
"deleteConfirmTitle": "Xóa {{name}}?",
"deleteConfirmDescription": "Thao tác này xóa các tệp kỹ năng khỏi không gian làm việc hiện tại và không thể hoàn tác.",
"deleteConfirmAction": "Xóa kỹ năng",
"instructionsTitle": "Hướng dẫn kỹ năng",
"setupRequired": "Cần thiết lập",
"setupDescription": "Cài đặt phần phụ thuộc còn thiếu trên máy chạy nanobot rồi kiểm tra lại.",
"copySetupCommand": "Sao chép lệnh thiết lập",
"checkAgain": "Kiểm tra lại",
"marketplaceSearchFailed": "Không thể tìm kiếm các chợ kỹ năng.",
"marketplaceInstallFailed": "Không thể cài đặt kỹ năng này.",
"marketplaceSearchPlaceholder": "Tìm kiếm kỹ năng",
"marketplaceSearchLabel": "Tìm kiếm kỹ năng",
"marketplaceSearching": "Đang tìm kiếm",
"marketplaceProviderFilter": "Nguồn kỹ năng",
"marketplaceProviderAll": "Tất cả",
"marketplaceTrendingTitle": "Xu hướng theo kho",
"marketplaceTrendingDescription": "Mỗi kho giữ bảng xếp hạng và số liệu cài đặt riêng.",
"marketplaceViewAll": "Xem tất cả",
"marketplaceTrendingUnavailable": "Các kỹ năng thịnh hành tạm thời không khả dụng.",
"marketplaceEmpty": "Không tìm thấy kỹ năng cho “{{query}}”.",
"marketplaceConfirmTitle": "Cài đặt {{name}}?",
"marketplaceConfirmDescription": "Kỹ năng của bên thứ ba này đến từ {{provider}} ({{source}}) và có thể chứa hướng dẫn hoặc tập lệnh thực thi.",
"marketplaceConfirmInstall": "Cài đặt kỹ năng",
"marketplaceOpen": "Mở {{name}} trên {{provider}}",
"marketplaceOpenProvider": "Mở {{provider}}",
"marketplaceInstalls24h": "{{formattedCount}} lượt cài đặt / 24 giờ",
"marketplaceInstalls": "{{formattedCount}} lượt cài đặt",
"marketplaceNpxRequired": "Cần Node.js có npx",
"marketplaceInstalling": "Đang cài đặt",
"marketplaceInstalled": "Đã cài đặt",
"marketplaceInstall": "Cài đặt",
"marketplaceNoTrend": "Chưa có xu hướng",
"marketplaceTrendLabel": "Xu hướng lượt cài đặt trong 8 tuần",
"featured": "Kỹ năng của tác nhân",
"empty": "Không có kỹ năng nào khả dụng.",
"sourceWorkspace": "Tùy chỉnh",
"sourceBuiltin": "Tích hợp",
"statusAvailable": "Khả dụng",
"statusUnavailable": "Không khả dụng",
"unavailableReason": "Thiếu: {{reason}}",
"openDetails": "Mở chi tiết {{name}}",
"loadingDetail": "Đang tải chi tiết kỹ năng...",
"loadFailed": "Không tải được chi tiết kỹ năng.",
"descriptionTitle": "Mô tả",
"source": "Nguồn",
"status": "Trạng thái",
"requirements": "Yêu cầu",
"noRequirements": "Không có yêu cầu rõ ràng.",
"commands": "Lệnh",
"environment": "Biến môi trường",
"missingCommands": "Thiếu CLI",
"missingEnvironment": "Thiếu ENV",
"unavailableReasonLabel": "Lý do không khả dụng",
"rawInstructions": "SKILL.md gốc",
"rawInstructionsEmpty": "Không có hướng dẫn gốc.",
"detailDescription": "Chi tiết cho {{name}}."
},
"voice": {
"selectProvider": "Chọn nhà cung cấp",
"configureProvider": "Cấu hình nhà cung cấp",
"languageAuto": "Tự động"
}
},
"chat": {
"fallbackTitle": "Chủ đề {{id}}",
"forkTitle": "Nhánh: {{title}}",
"loading": "Đang tải…",
"noSessions": "Chưa có phiên nào.",
"showMore": "Hiển thị thêm {{count}}",
"collapsed": "Đã thu gọn {{count}} chủ đề",
"showLess": "Thu gọn",
"actions": "Tác vụ cho chủ đề {{title}}",
"newInProject": "Bắt đầu chủ đề mới trong {{project}}",
"activity": {
"running": "Tác nhân đang chạy",
"complete": "Tác nhân đã hoàn tất",
"updated": "Hoạt động mới"
},
"pin": "Ghim",
"unpin": "Bỏ ghim",
"rename": "Đổi tên",
"renameTitle": "Đổi tên chủ đề",
"renameDescription": "Chọn tên hiển thị trong thanh bên cho chủ đề này.",
"renamePlaceholder": "Tên chủ đề",
"renameProjectTitle": "Đổi tên dự án",
"renameProjectDescription": "Chọn tên hiển thị cục bộ cho dự án này trên thanh bên.",
"renameProjectPlaceholder": "Tên dự án",
"renameSave": "Lưu",
"archive": "Lưu trữ",
"unarchive": "Bỏ lưu trữ",
"showArchived": "Hiện mục đã lưu trữ",
"hideArchived": "Ẩn mục đã lưu trữ",
"delete": "Xóa",
"newChat": "Chủ đề mới",
"groups": {
"pinned": "Đã ghim",
"all": "Chủ đề",
"projects": "Dự án",
"today": "Hôm nay",
"yesterday": "Hôm qua",
"earlier": "Trước đó",
"archived": "Đã lưu trữ"
}
},
"deleteConfirm": {
"title": "Xóa cuộc trò chuyện này?",
"description": "Không thể hoàn tác thao tác này.",
"cancel": "Hủy",
"confirm": "Xóa",
"automationsDescription": "Cuộc trò chuyện này có các tự động hóa đã lên lịch. Xóa cuộc trò chuyện cũng sẽ xóa chúng.",
"moreAutomations": "+ {{count}} mục nữa",
"confirmWithAutomations": "Xóa",
"schedule": {
"at": "{{time}}",
"every": "Mỗi {{duration}}",
"cron": "Cron {{expr}}",
"cronWithTz": "Cron {{expr}} · {{tz}}",
"local": "Trình kích hoạt cục bộ",
"unknown": "Lịch tùy chỉnh"
},
"next": {
"label": "Tiếp theo: {{time}}",
"disabled": "Đã tạm dừng",
"local": "Đang chờ kích hoạt",
"none": "Không có lần chạy tiếp theo"
}
},
"connection": {
"idle": "Rảnh",
"connecting": "Đang kết nối…",
"open": "Đã kết nối",
"reconnecting": "Đang kết nối lại…",
"closed": "Đã ngắt kết nối",
"error": "Lỗi kết nối"
},
"thread": {
"loadingConversation": "Đang tải cuộc trò chuyện…",
"empty": {
"greetings": {
"workOn": "Mình cùng làm gì tiếp?",
"start": "Hôm nay bắt đầu từ đâu?",
"build": "Hôm nay mình xây dựng gì?",
"tackle": "Mình cùng xử lý việc gì?"
},
"quickActions": {
"plan": {
"title": "Tạo kế hoạch dự án",
"prompt": "Tạo một kế hoạch dự án ngắn gọn cho việc tôi nên xây dựng tiếp theo."
},
"analyze": {
"title": "Phân tích dữ liệu này",
"prompt": "Giúp tôi phân tích dữ liệu này và chỉ ra các mẫu quan trọng nhất."
},
"brainstorm": {
"title": "Động não ý tưởng",
"prompt": "Động não vài ý tưởng thực tế và các đánh đổi cho vấn đề này."
},
"code": {
"title": "Viết mã",
"prompt": "Giúp tôi viết mã cho nhiệm vụ này, bắt đầu từ thay đổi hữu ích nhỏ nhất."
},
"summarize": {
"title": "Tóm tắt tài liệu này",
"prompt": "Tóm tắt tài liệu này và liệt kê các ý chính."
},
"more": {
"title": "Thêm",
"prompt": "Cho tôi xem vài cách hữu ích mà bạn có thể giúp trong không gian làm việc này."
}
},
"imageQuickActions": {
"icon": {
"title": "Thiết kế biểu tượng ứng dụng",
"prompt": "Tạo một biểu tượng ứng dụng 1:1 gọn gàng cho nanobot: robot thân thiện, phong cách vector đơn giản, bảng màu xanh trắng dịu, không có chữ."
},
"sticker": {
"title": "Tạo nhãn dán",
"prompt": "Tạo một hình kiểu nhãn dán dễ thương của trợ lý robot nhỏ, nền trông như trong suốt, biểu cảm và vui nhộn."
},
"poster": {
"title": "Tạo poster",
"prompt": "Tạo một ý tưởng poster chỉn chu cho trợ lý AI cá nhân, bố cục hiện đại, phân cấp thị giác rõ, phù hợp cho trang đích."
},
"product": {
"title": "Mô hình mẫu sản phẩm",
"prompt": "Tạo một hình mô hình mẫu sản phẩm gọn gàng cho ứng dụng web AI hội thoại, giao diện tối giản, ánh sáng cao cấp, khung thiết bị chân thực."
},
"portrait": {
"title": "Chân dung cách điệu",
"prompt": "Tạo chân dung cách điệu của một người bạn đồng hành AI thân thiện, ánh sáng mềm, chi tiết nhưng dễ gần, phong cách minh họa hiện đại."
},
"edit": {
"title": "Chỉnh sửa ảnh",
"prompt": "Giúp tôi chỉnh sửa một ảnh. Trước tiên hãy yêu cầu tôi tải lên hoặc chỉ định ảnh, rồi tạo kết quả đã chỉnh sửa."
}
}
},
"header": {
"toggleSidebar": "Bật/tắt thanh bên",
"newChat": "Bắt đầu chủ đề mới",
"toggleTheme": "Chuyển chủ đề từ header",
"settings": "Mở cài đặt",
"sessionInfo": "Chi tiết phiên"
},
"sessionInfo": {
"title": "Phiên",
"untitled": "Chủ đề chưa đặt tên",
"automations": "Tự động hóa",
"count": "{{count}}",
"loading": "Đang tải tự động hóa...",
"loadFailed": "Không thể tải tự động hóa.",
"empty": "Phiên này chưa có tự động hóa.",
"disabled": "Tắt",
"schedule": {
"at": "Lúc {{time}}",
"every": "Mỗi {{duration}}",
"cron": "Cron {{expr}}",
"cronWithTz": "Cron {{expr}} · {{tz}}",
"local": "Trình kích hoạt cục bộ",
"unknown": "Lịch tùy chỉnh"
},
"next": {
"label": "Tiếp theo {{time}}",
"pending": "Sắp chạy",
"disabled": "Đã tạm dừng",
"local": "Đang chờ kích hoạt",
"none": "Không có lần chạy tiếp theo"
}
},
"composer": {
"placeholderThread": "Nhập tin nhắn…",
"placeholderHero": "Bạn đang nghĩ gì?",
"placeholderOpening": "Đang mở chủ đề mới…",
"placeholderStreaming": "Mô hình đang trả lời…",
"inputAria": "Ô nhập tin nhắn",
"sendHint": "Enter để gửi · Shift+Enter để xuống dòng",
"runRuntimeTitle": "Đang chạy · {{elapsed}}",
"goalStateStrip": "Mục tiêu · {{label}}",
"goalStateFallback": "Mục tiêu",
"goalStateExpandAria": "Xem đầy đủ mục tiêu",
"goalStateSheetTitle": "Mục tiêu",
"goalStateCloseAria": "Đóng mục tiêu",
"send": "Gửi tin nhắn",
"stop": "Dừng phản hồi",
"quotedContext": "Ngữ cảnh được trích dẫn",
"removeQuotedContext": "Xóa ngữ cảnh được trích dẫn",
"modelNotConfigured": "Chưa cấu hình mô hình",
"configureModel": "Cấu hình mô hình",
"queued": {
"label": "Hướng dẫn đang chờ",
"guide": "Hướng dẫn",
"delete": "Xóa hướng dẫn",
"edit": "Sửa hướng dẫn",
"drag": "Kéo để sắp xếp"
},
"attachImage": "Đính kèm tệp",
"imageMode": {
"label": "Tạo ảnh",
"toggle": "Bật/tắt chế độ tạo ảnh",
"placeholder": "Mô tả hoặc chỉnh sửa ảnh…",
"aspectAria": "Tỷ lệ khung hình ảnh",
"aspectLabel": "Tỷ lệ ảnh",
"aspect": {
"auto": "Tự động",
"1_1": "Vuông 1:1",
"3_4": "Dọc 3:4",
"9_16": "Tin 9:16",
"4_3": "Ngang 4:3",
"16_9": "Rộng 16:9"
}
},
"tools": {
"search": "Tìm kiếm",
"reason": "Suy luận",
"deepResearch": "Nghiên cứu sâu",
"voice": "Nhập bằng giọng nói"
},
"voice": {
"hint": "Bấm để đọc chính tả hoặc nhấn giữ",
"stop": "Dừng ghi âm",
"transcribing": "Đang chép lời...",
"recordingStatus": "Đang ghi {{time}}"
},
"voiceErrors": {
"insecureContext": "Vì lý do bảo mật, Chrome và các trình duyệt khác chặn quyền truy cập micrô trên các trang HTTP từ xa. Mở WebUI này qua HTTPS để dùng tính năng nhập bằng giọng nói.",
"unsupported": "Trình duyệt này không hỗ trợ nhập bằng giọng nói.",
"permission": "Cho phép micrô trong thanh địa chỉ rồi thử lại.",
"notConfigured": "Hãy cấu hình nhà cung cấp chép lời trước.",
"tooLong": "Bản ghi âm quá dài.",
"tooShort": "Giữ lâu hơn một chút để ghi âm giọng nói.",
"noInput": "Không phát hiện đầu vào micrô.",
"noDevice": "Không tìm thấy micrô. Hãy kết nối rồi thử lại.",
"failed": "Không thể chép lời âm thanh."
},
"slash": {
"ariaLabel": "Lệnh slash",
"label": "lệnh",
"navigateHint": "↑↓ Chọn",
"selectHint": "Enter/Tab Chèn",
"closeHint": "Esc Đóng",
"commands": {
"new": {
"title": "Cuộc trò chuyện mới",
"description": "Đặt lại cuộc trò chuyện này và bắt đầu một cuộc trò chuyện mới."
},
"stop": {
"title": "Dừng tác vụ hiện tại",
"description": "Hủy lượt của tác nhân đang chạy trong cuộc trò chuyện này."
},
"restart": {
"title": "Khởi động lại nanobot",
"description": "Khởi động lại tiến trình bot tại chỗ."
},
"status": {
"title": "Hiển thị trạng thái",
"description": "Hiển thị trạng thái thời gian chạy, nhà cung cấp và kênh."
},
"model": {
"title": "Mô hình",
"description": "Hiển thị hoặc chuyển cấu hình đặt trước của mô hình đang hoạt động."
},
"history": {
"title": "Hiển thị lịch sử",
"description": "In N tin nhắn hội thoại đã lưu gần nhất."
},
"dream": {
"title": "Chạy Dream",
"description": "Kích hoạt thủ công quá trình hợp nhất bộ nhớ."
},
"dream_log": {
"title": "Hiển thị nhật ký Dream",
"description": "Hiển thị những gì lần hợp nhất Dream gần nhất đã thay đổi."
},
"dream_restore": {
"title": "Khôi phục bộ nhớ",
"description": "Đưa bộ nhớ về một ảnh chụp Dream trước đó."
},
"dream_prompt": {
"title": "Bộ nhớ Dream",
"description": "Cho Dream biết cách sắp xếp bộ nhớ của không gian làm việc này."
},
"goal": {
"title": "Mục tiêu dài hạn",
"description": "Yêu cầu tác nhân xử lý đây là mục tiêu nhiều bước kéo dài."
},
"trigger": {
"title": "Tạo trình kích hoạt cục bộ",
"description": "Tạo trình kích hoạt CLI gắn với phiên chat này."
},
"help": {
"title": "Hiển thị trợ giúp",
"description": "Liệt kê các lệnh slash có sẵn."
},
"pairing": {
"title": "Ghép nối",
"description": "Quản lý yêu cầu ghép nối."
}
},
"badges": {
"current": "Hiện tại",
"recent": "Gần đây"
},
"details": {
"goalActive": "Mục tiêu đang chạy",
"goalReady": "Bắt đầu mục tiêu duy trì",
"history": "Hiển thị tin nhắn gần đây",
"stopRunning": "Đang chạy"
}
},
"encoding": "Đang xử lý…",
"remove": "Xóa tệp đính kèm",
"normalizedSizeHint": "{{orig}} → {{current}} (tự động)",
"textTooLarge": "Nội dung tin nhắn quá lớn (tối đa {{max}})",
"imageRejected": {
"unsupported_type": "Loại tệp không được hỗ trợ",
"empty_file": "Không thể đính kèm tệp trống",
"too_many_attachments": "Tối đa {{max}} tệp đính kèm mỗi tin nhắn",
"too_many_images": "Tối đa {{max}} ảnh mỗi tin nhắn",
"magic_mismatch": "Tệp này không phải là một ảnh thực",
"decode_failed": "Không thể giải mã ảnh này",
"too_large": "Tệp quá lớn — hãy thử tệp nhỏ hơn",
"total_too_large": "Tổng dung lượng tệp đính kèm quá lớn — hãy xóa bớt hoặc dùng tệp nhỏ hơn",
"transport_too_large": "Tệp đính kèm này sẽ vượt quá giới hạn truyền tải của gateway",
"io": "Không thể đọc tệp này"
},
"mentions": {
"ariaLabel": "Đề cập",
"label": "Ứng dụng",
"cliGroup": "Ứng dụng CLI",
"mcpGroup": "Dịch vụ MCP",
"sessionGroup": "Cuộc trò chuyện Nanobot",
"cliBadge": "CLI",
"mcpBadge": "MCP",
"cliDescription": "Dùng @{{name}} như ứng dụng CLI cục bộ",
"mcpDescription": "Dùng @{{name}} như máy chủ MCP",
"cliTitle": "Ứng dụng CLI: {{name}}",
"mcpTitle": "Máy chủ MCP: {{name}}",
"sessionBadge": "Cuộc trò chuyện Nanobot",
"sessionDescription": "Tham chiếu @{{name}} như cuộc trò chuyện trước"
},
"workspace": {
"accessAria": "Chế độ truy cập không gian làm việc",
"projectAria": "Chọn dự án",
"projectPlaceholder": "Chọn dự án",
"default": "Quyền mặc định",
"defaultShort": "Mặc định",
"full": "Toàn quyền truy cập",
"fullShort": "Toàn quyền"
}
},
"scrollToBottom": "Cuộn xuống cuối",
"loadEarlier": "Tải tin nhắn trước đó",
"forkedFromHistory": "Tách nhánh từ lịch sử",
"promptNavigator": {
"open": "Mở trình điều hướng lời nhắc",
"title": "Lời nhắc",
"search": "Tìm lời nhắc",
"noResults": "Không có lời nhắc phù hợp.",
"jumpTo": "Nhảy tới lời nhắc: {{label}}",
"railAria": "Điều hướng lời nhắc của người dùng"
}
},
"message": {
"streaming": "đang truyền",
"delivery": {
"sending": "Đang gửi…",
"failed": "Chưa gửi"
},
"assistantTyping": "Trợ lý đang nhập",
"toolSingle": "Đang dùng một công cụ",
"toolMany": "Đã dùng {{count}} công cụ",
"toolSummary": "{{count}} công cụ",
"toolSummaryMany": "{{count}} công cụ",
"reasoningTools": "Suy luận · {{count}} công cụ",
"reasoningToolsSingular": "Suy luận · 1 công cụ",
"reasoning": "Suy luận",
"reasoningStreaming": "Đang suy nghĩ…",
"reasoningSummary": "Suy luận",
"agentActivitySummary": "{{reasoning}} bước · {{tools}} lần gọi công cụ",
"agentActivityToolsOnly": "{{tools}} lần gọi công cụ",
"agentActivityLiveSummary": "Đang chạy… · {{reasoning}} bước · {{tools}} lần gọi công cụ",
"agentActivityLiveToolsOnly": "Đang chạy… · {{tools}} lần gọi công cụ",
"imageAttachment": "Tệp hình ảnh đính kèm",
"videoAttachment": "Tệp video đính kèm",
"fileAttachment": "Tệp đính kèm",
"attachmentUnavailable": "Tệp đính kèm không khả dụng",
"dataTable": "Bảng dữ liệu",
"fileEditPreparing": "Đang chuẩn bị sửa tệp…",
"openLink": "Mở liên kết: {{label}}",
"openAttachment": "Mở {{name}}",
"skill": "Kỹ năng: {{name}}",
"askAboutSelection": "Hỏi về nội dung này",
"forkFromHere": "Tách nhánh",
"copyReply": "Sao chép",
"copiedReply": "Đã sao chép",
"turnLatencyTitle": "Thời gian phản hồi (end-to-end)",
"fileEditViewDiff": "Xem khác biệt",
"fileEditViewLargeDiff": "Xem khác biệt lớn",
"fileEditDiffLineCount": "{{count}} dòng",
"fileEditUnchangedLinesHidden": "Đã ẩn {{count}} dòng không đổi",
"fileEditShowMoreLines": "Hiển thị thêm {{count}} dòng",
"fileEditShowFewerLines": "Hiển thị ít dòng hơn",
"fileEditOpenFile": "Mở tệp",
"fileEditDiffTruncated": "Khác biệt đã bị cắt bớt. Mở tệp để xem toàn bộ thay đổi.",
"activityThinkingFor": "Đang suy nghĩ trong {{duration}}",
"activityThought": "Đã suy nghĩ",
"activityThoughtFor": "Đã suy nghĩ trong {{duration}}",
"activityWorkingFor": "Đang xử lý trong {{duration}}",
"activityWorked": "Đã xử lý",
"activityWorkedFor": "Đã xử lý trong {{duration}}",
"cliActivityRunningOne": "Đang dùng {{name}}",
"cliActivityRanOne": "Đã dùng {{name}}",
"cliActivityFailedOne": "{{name}} thất bại",
"cliActivityRunningMany": "Đang dùng {{count}} ứng dụng CLI",
"cliActivityRanMany": "Đã dùng {{count}} ứng dụng CLI",
"cliActivityFailedMany": "{{count}} ứng dụng CLI thất bại",
"cliRunRunning": "Đang dùng",
"cliRunRan": "Đã dùng",
"cliRunFailed": "Thất bại",
"automationSourceFallback": "Tự động hóa",
"automationTriggered": "Tự động kích hoạt"
},
"lightbox": {
"title": "Xem trước ảnh",
"open": "Xem ảnh",
"prev": "Ảnh trước",
"next": "Ảnh tiếp theo",
"close": "Đóng xem trước"
},
"filePreview": {
"aria": "Xem trước tệp",
"breadcrumb": "Đường dẫn tệp",
"close": "Đóng xem trước tệp",
"loading": "Đang tải bản xem trước...",
"failed": "Không thể xem trước tệp này.",
"routeMissing": "Xem trước tệp cần gateway mới nhất. Hãy khởi động lại nanobot gateway rồi thử lại.",
"resize": "Đổi kích thước bản xem trước tệp",
"truncated": "Bản xem trước bị cắt vì tệp này lớn."
},
"code": {
"fallbackLanguage": "mã",
"copyAria": "Sao chép mã",
"copy": "Sao chép",
"copied": "Đã sao chép"
},
"common": {
"dismiss": "Đóng",
"close": "Đóng",
"current": "Hiện tại",
"cancel": "Hủy"
},
"errors": {
"messageTooBig": {
"title": "Tin nhắn quá lớn",
"body": "Máy chủ đã từ chối tin nhắn trước vì vượt quá giới hạn kích thước. Hãy bớt ảnh hoặc chọn tệp nhỏ hơn rồi thử lại."
},
"workspaceScopeRejected": {
"title": "Không gian làm việc không thay đổi",
"body": "Gateway đã từ chối dự án hoặc chế độ truy cập được yêu cầu, nên Nanobot giữ không gian làm việc trước đó."
},
"turnRejected": {
"title": "Tin nhắn chưa được gửi",
"body": "Gateway đã từ chối tin nhắn này. Hãy kiểm tra nội dung hoặc tệp đính kèm rồi thử lại."
}
},
"workspace": {
"dialog": {
"defaultProject": "Không gian làm việc mặc định",
"manual": "Dán đường dẫn",
"manualPlaceholder": "/Users/name/project",
"usePath": "Dùng đường dẫn",
"absolutePathRequired": "Nhập đường dẫn thư mục tuyệt đối trên máy này."
}
}
}