2026-04-19 06:39:06 +00:00
{
"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" ,
2026-04-21 14:33:44 +00:00
"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."
2026-04-19 06:39:06 +00:00
},
2026-05-22 23:02:55 +08:00
"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"
},
2026-05-08 09:40:15 +00:00
"system" : {
"section" : "Hệ thống" ,
"restartHint" : "Khởi động lại nanobot để áp dụng thay đổi runtime." ,
2026-05-08 15:31:52 +00:00
"restart" : "Khởi động lại nanobot" ,
2026-05-29 03:42:53 +08:00
"restarting" : "Đang khởi động lại..." ,
"restartEngine" : "Khởi động lại engine" ,
"restartingEngine" : "Đang khởi động lại engine..."
2026-05-08 09:40:15 +00:00
},
"restart" : {
"completed" : "Khởi động lại hoàn tất sau {{seconds}} giây."
},
2026-04-19 06:39:06 +00:00
"documentTitle" : {
"base" : "nanobot" ,
"chat" : "{{title}} · nanobot"
},
"meta" : {
"description" : "Giao diện web nanobot — trò chuyện với workspace nanobot của bạn."
}
},
"sidebar" : {
2026-05-22 23:02:55 +08:00
"navigation" : "Điều hướng thanh bên" ,
2026-04-19 06:39:06 +00:00
"collapse" : "Thu gọn thanh bên" ,
"newChat" : "Cuộc trò chuyện mới" ,
2026-05-22 23:02:55 +08:00
"searchAria" : "Tìm kiếm" ,
"searchPlaceholder" : "Tìm kiếm" ,
"searchResults" : "Kết quả" ,
"noSearchResults" : "Không có cuộc trò chuyện phù hợp." ,
2026-04-19 06:39:06 +00:00
"recent" : "Gần đây" ,
2026-05-08 15:31:52 +00:00
"settings" : "Cài đặt" ,
2026-04-19 06:39:06 +00:00
"language" : {
"label" : "Ngôn ngữ" ,
"ariaLabel" : "Đổi ngôn ngữ"
2026-05-25 20:07:02 +08:00
},
"apps" : "Ứng dụng"
2026-04-19 06:39:06 +00:00
},
2026-05-08 15:31:52 +00:00
"settings" : {
"backToChat" : "Quay lại trò chuyện" ,
"sidebar" : {
"title" : "Cài đặt" ,
"ariaLabel" : "Các mục cài đặt"
},
"nav" : {
"general" : "Chung" ,
2026-05-19 22:42:38 +08:00
"byok" : "BYOK" ,
"overview" : "Overview" ,
"appearance" : "Appearance" ,
"models" : "Models" ,
"providers" : "Providers" ,
"image" : "Image" ,
2026-05-29 03:42:53 +08:00
"browser" : "Web" ,
"runtime" : "Hệ thống" ,
"advanced" : "Security" ,
2026-05-24 13:38:37 +08:00
"cliApps" : "Ứng dụng CLI" ,
2026-05-25 20:07:02 +08:00
"mcp" : "MCP" ,
"apps" : "Ứng dụng"
2026-05-08 15:31:52 +00:00
},
"sections" : {
"interface" : "Giao diện" ,
"ai" : "AI" ,
2026-05-19 22:42:38 +08:00
"system" : "Hệ thống" ,
"status" : "Status" ,
"localPreferences" : "Local preferences" ,
"presets" : "Presets" ,
2026-05-22 23:02:55 +08:00
"imageGeneration" : "Tạo ảnh" ,
"imageDefaults" : "Mặc định" ,
2026-05-19 22:42:38 +08:00
"webSearch" : "Web search" ,
"webBehavior" : "Behavior" ,
"identity" : "Identity" ,
2026-05-29 03:42:53 +08:00
"webuiSafety" : "Web safety" ,
2026-05-22 23:02:55 +08:00
"capabilities" : "Khả năng" ,
2026-05-24 13:38:37 +08:00
"cliApps" : "Ứng dụng CLI" ,
2026-05-25 20:07:02 +08:00
"mcp" : "Dịch vụ MCP" ,
2026-05-29 03:42:53 +08:00
"apps" : "Ứng dụng" ,
"nativeHost" : "Native host" ,
"hostSafety" : "App safety"
2026-05-08 15:31:52 +00:00
},
"rows" : {
"theme" : "Giao diện" ,
"language" : "Ngôn ngữ" ,
"provider" : "Nhà cung cấp" ,
"model" : "Mô hình" ,
"restart" : "Khởi động lại nanobot" ,
2026-05-19 22:42:38 +08:00
"configPath" : "Đường dẫn cấu hình" ,
"activePreset" : "Active preset" ,
"gateway" : "Gateway" ,
"restartState" : "Restart state" ,
2026-05-22 23:02:55 +08:00
"pendingChanges" : "Thay đổi đang chờ" ,
2026-05-19 22:42:38 +08:00
"selectedPreset" : "Selected preset" ,
"presetModel" : "Preset model" ,
"density" : "Density" ,
"activityMode" : "Activity detail" ,
"codeWrap" : "Code wrapping" ,
"maxResults" : "Max results" ,
"timeout" : "Timeout" ,
"jinaReader" : "Jina reader" ,
2026-05-22 23:02:55 +08:00
"imageGeneration" : "Tạo ảnh" ,
"imageProvider" : "Nhà cung cấp ảnh" ,
"imageProviderStatus" : "Trạng thái nhà cung cấp" ,
"imageProviderBase" : "Cơ sở nhà cung cấp" ,
"imageModel" : "Mô hình ảnh" ,
"defaultAspectRatio" : "Tỷ lệ mặc định" ,
"defaultImageSize" : "Kích thước mặc định" ,
"maxImagesPerTurn" : "Số ảnh tối đa mỗi lượt" ,
"imageSaveDir" : "Thư mục lưu" ,
2026-05-19 22:42:38 +08:00
"botName" : "Bot name" ,
"botIcon" : "Bot icon" ,
"timezone" : "Timezone" ,
2026-05-29 03:42:53 +08:00
"workspacePath" : "Workspace mặc định" ,
"localServiceAccess" : "Local services" ,
"webuiDefaultAccess" : "Default access" ,
2026-05-24 13:38:37 +08:00
"currentModel" : "Mô hình hiện tại" ,
"brandLogos" : "Logo thương hiệu" ,
"cliAppsCatalog" : "Danh mục ứng dụng CLI" ,
2026-05-29 03:42:53 +08:00
"cliAppsFilter" : "Bộ lọc ứng dụng CLI" ,
"engine" : "Engine" ,
"logs" : "Nhật ký" ,
2026-05-29 04:23:30 +08:00
"diagnostics" : "Chẩn đoán" ,
"contextWindow" : "Context window"
2026-05-08 15:31:52 +00:00
},
"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" : "Đặt tên mô hình mặc định mà nanobot sử dụng." ,
2026-05-19 22:42:38 +08:00
"configPath" : "Tệp cấu hình gateway hiện đang dùng." ,
"selectedPreset" : "Named presets are read-only here; edit them in config.json." ,
"presetModel" : "Switch to Default to edit model and provider from the WebUI." ,
"density" : "Stored only in this browser." ,
"activityMode" : "Choose how much agent activity chrome to show by default." ,
"codeWrap" : "Keep long code lines readable on smaller screens." ,
"maxResults" : "Results returned by each web_search call." ,
"timeout" : "Seconds before a search provider request times out." ,
"jinaReader" : "Use Jina Reader for web_fetch when available." ,
2026-05-22 23:02:55 +08:00
"imageGeneration" : "Hiển thị generate_image trong chat khi có nhà cung cấp ảnh đã cấu hì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 nhà cung cấp từ Providers." ,
"imageModel" : "Tên mô hình gửi tới nhà cung cấp ảnh đã chọn." ,
"defaultAspectRatio" : "Được dùng khi prompt không chọn tỷ lệ khung hình." ,
"defaultImageSize" : "Gợi ý kích thước gửi tới các nhà cung cấp hỗ trợ." ,
"maxImagesPerTurn" : "Giới hạn trên cho một yêu cầu generate_image." ,
2026-05-29 03:42:53 +08:00
"botName" : "Hiển thị ở nơi nanobot dùng tên hiển thị." ,
"botIcon" : "Emoji hoặc văn bản ngắn hiển thị cùng tên bot." ,
"timezone" : "Dùng cho lịch hẹn và câu trả lời có yếu tố thời gian." ,
"localServiceAccess" : "Allow Full Access shell commands to reach localhost services." ,
"webuiDefaultAccess" : "Used by web chats without a project-specific permission." ,
"securityManagedControls" : "Web fetches always protect local, private, and metadata services. Core channel safety stays in config.json." ,
2026-05-24 13:38:37 +08:00
"currentModel" : "Chọn mô hình nanobot dùng cho các câu trả lời mới." ,
"selectedModelProvider" : "Được đặt bởi mô hình đã chọn." ,
"selectedModelValue" : "Được đặt bởi mô hình đã chọn." ,
"brandLogos" : "Logo được tải từ tên miền thương hiệu, có biểu tượng cục bộ làm dự phòng." ,
"cliAppsCatalog" : "Duyệt các CLI ứng dụng mà nanobot có thể chạy cục bộ." ,
2026-05-29 03:42:53 +08:00
"cliAppsFilter" : "Tìm theo ứng dụng, danh mục hoặc khả năng." ,
"logs" : "Mở thư mục nhật ký native engine." ,
"diagnostics" : "Xuất báo cáo runtime nhỏ để hỗ trợ." ,
"localServiceAccessNative" : "Allow Full Access shell commands to reach services on this Mac." ,
2026-05-29 04:23:30 +08:00
"webuiDefaultAccessNative" : "Used by native chats without a project-specific permission." ,
"contextWindow" : "Choose the default context budget for this model configuration."
2026-05-08 15:31:52 +00:00
},
"values" : {
"light" : "Sáng" ,
"dark" : "Tối" ,
2026-05-19 22:42:38 +08:00
"notAvailable" : "Không khả dụng" ,
"enabled" : "Enabled" ,
"disabled" : "Disabled" ,
2026-05-22 23:02:55 +08:00
"restartPending" : "Đang chờ khởi động lại" ,
"ready" : "Sẵn sàng" ,
2026-05-19 22:42:38 +08:00
"comfortable" : "Comfortable" ,
"compact" : "Compact" ,
"auto" : "Auto" ,
"expanded" : "Expanded" ,
"on" : "On" ,
"off" : "Off" ,
2026-05-29 03:42:53 +08:00
"defaultPermission" : "Default Permission" ,
"fullAccess" : "Full Access" ,
2026-05-19 22:42:38 +08:00
"configured" : "Configured" ,
2026-05-29 03:42:53 +08:00
"notConfigured" : "Not configured" ,
"pending" : "Đang chờ" ,
"restartingEngine" : "Đang khởi động lại"
2026-05-08 15:31:52 +00:00
},
"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." ,
2026-05-22 23:02:55 +08:00
"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." ,
2026-05-29 03:42:53 +08:00
"imageProviderRestart" : "Đã lưu thay đổi nhà cung cấp ảnh. Khởi động lại khi sẵn sàng." ,
"hostRestartAfterSaving" : "Lưu thay đổi và nanobot sẽ khởi động lại engine." ,
"hostRestartPending" : "Đã lưu. Sẽ khởi động lại engine khi sẵn sàng." ,
"hostApiUnavailable" : "Host actions are only available inside the native app." ,
"logsOpened" : "Opened logs folder." ,
"logsOpenFailed" : "Could not open logs folder." ,
"diagnosticsExported" : "Diagnostics exported to {{path}}." ,
"diagnosticsExportFailed" : "Could not export diagnostics."
2026-05-08 15:31:52 +00:00
},
"actions" : {
"save" : "Lưu" ,
"saving" : "Đang lưu" ,
"edit" : "Sửa" ,
2026-05-19 22:42:38 +08:00
"cancel" : "Hủy" ,
2026-05-29 03:42:53 +08:00
"open" : "Mở" ,
"export" : "Xuất" ,
"opening" : "Opening..." ,
"exporting" : "Exporting..."
2026-05-08 15:31:52 +00:00
},
"byok" : {
"description" : "Dùng key provider của riêng bạn. Nanobot đọc các giá trị này từ config hiện tại, và chỉ provider đã cấu hình mới có thể chọn trong Chung." ,
"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" : "API key" ,
"apiBase" : "API base" ,
"apiKeyPlaceholder" : "Nhập API key" ,
"apiKeyConfiguredPlaceholder" : "Để trống để giữ key hiện tại" ,
"configuredKeyHint" : "Key đã cấu hình" ,
"apiBasePlaceholder" : "Dùng mặc định của provider" ,
"apiKeyRequired" : "Cần API key để cấu hình provider này." ,
"showApiKey" : "Hiển thị API key" ,
"hideApiKey" : "Ẩn API key" ,
"noConfiguredProviders" : "Chưa có provider đã cấu hình" ,
"configureFirst" : "Hãy cấu hình provider trong BYOK trước." ,
2026-05-09 06:48:26 +00:00
"openByok" : "Mở BYOK" ,
"tabs" : {
"ariaLabel" : "Loại thông tin xác thực BYOK" ,
"llm" : "LLM" ,
"webSearch" : "Web Search"
},
"webSearch" : {
"provider" : "Search provider" ,
"providerHelp" : "Chọn backend mà công cụ web search sẽ dùng." ,
"selectProvider" : "Chọn provider" ,
"credentials" : "Thông tin xác thực" ,
"noCredentialRequired" : "Không cần key" ,
"noCredentialHelp" : "DuckDuckGo hoạt động mà không cần lưu API key." ,
"apiKeyHelp" : "Được lưu trong config và chỉ hiện dạng che sau khi lưu." ,
"baseUrl" : "Base URL" ,
"baseUrlHelp" : "SearXNG cần URL instance của bạn." ,
"baseUrlPlaceholder" : "https://search.example.com" ,
"apiKeyRequired" : "Provider tìm kiếm này cần API key." ,
"baseUrlRequired" : "SearXNG cần Base URL." ,
"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 web search mới."
}
2026-05-19 22:42:38 +08:00
},
"overview" : {
"model" : "Current model" ,
"providers" : "Providers" ,
"configuredCount" : "{{count}} configured" ,
"totalProviders" : "{{count}} available" ,
"webSearch" : "Web search" ,
2026-05-22 23:02:55 +08:00
"imageGeneration" : "Tạo ảnh" ,
2026-05-19 22:42:38 +08:00
"workspace" : "Workspace"
},
"providers" : {
"searchPlaceholder" : "Search providers" ,
2026-05-24 13:38:37 +08:00
"noMatches" : "No providers match this search." ,
"saveProvider" : "Lưu nhà cung cấp"
2026-05-22 23:02:55 +08:00
},
"image" : {
"selectProvider" : "Chọn nhà cung cấp" ,
"selectAspect" : "Chọn tỷ lệ" ,
"selectSize" : "Chọn kích thước" ,
"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."
2026-05-24 13:38:37 +08:00
},
"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 một lần nhấp." ,
"configurationName" : "Tên" ,
2026-05-29 03:42:53 +08:00
"configurationNameHelp" : "Đổi tên cấu hình mô hình đã lưu này." ,
2026-05-24 13:38:37 +08:00
"configurationNamePlaceholder" : "Viết nhanh"
},
"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ả."
},
"mcp" : {
"allCategories" : "Tất cả danh mục" ,
"summary" : "Đã bật {{installed}} / {{total}} preset" ,
"filterAll" : "Tất cả" ,
"filterInstalled" : "Đã bật" ,
"filterNotInstalled" : "Chưa bật" ,
"searchPlaceholder" : "Tìm preset 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" : "Args JSON" ,
"headers" : "Headers JSON" ,
"env" : "Env 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 preset MCP..." ,
"empty" : "Không có preset 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" ,
"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ụ."
},
"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."
2026-05-25 20:07:02 +08:00
},
"apps" : {
"description" : "Thêm CLI ứng dụng và dịch vụ MCP để nanobot dùng trong trò chuyện." ,
"cliLabel" : "CLI" ,
"mcpLabel" : "MCP" ,
"filterAll" : "Tất cả" ,
"filterCli" : "Ứng dụng CLI" ,
"filterMcp" : "Dịch vụ MCP" ,
"enabledSummary" : "{{count}} đã bật" ,
"caption" : "{{cli}} CLI · {{mcp}} MCP" ,
"searchPlaceholder" : "Tìm ứng dụng" ,
"featured" : "Nổi bật" ,
"loading" : "Đang tải ứng dụng..." ,
"empty" : "Không có ứng dụng nào khớp với bộ lọc này."
2026-05-29 03:42:53 +08:00
},
"oauth" : {
"authentication" : "OAuth authentication" ,
"signIn" : "Sign in" ,
"signingIn" : "Signing in..." ,
"signInAgain" : "Sign in again" ,
"signOut" : "Sign out" ,
"signedInAs" : "Signed in as {{account}}" ,
"signInHelp" : "Sign in from this device; no API key is stored in config." ,
"signInRequired" : "Sign in required" ,
"signInBeforeSaving" : "Sign in before saving this OAuth provider as the active model provider." ,
"signedIn" : "Signed in" ,
"notSignedIn" : "Not signed in"
2026-05-08 15:31:52 +00:00
}
},
2026-04-19 06:39:06 +00:00
"chat" : {
"fallbackTitle" : "Trò chuyện {{id}}" ,
"loading" : "Đang tải…" ,
"noSessions" : "Chưa có phiên nào." ,
2026-05-22 23:15:33 +08:00
"showMore" : "Hiển thị thêm {{count}}" ,
2026-05-29 03:42:53 +08:00
"collapsed" : "Đã thu gọn {{count}} cuộc trò chuyện" ,
"showLess" : "Thu gọn" ,
2026-04-19 06:39:06 +00:00
"actions" : "Tác vụ cho cuộc trò chuyện {{title}}" ,
2026-05-29 03:42:53 +08:00
"newInProject" : "Bắt đầu cuộc trò chuyện mới trong {{project}}" ,
2026-05-19 22:42:38 +08:00
"activity" : {
"running" : "Agent running" ,
"complete" : "Agent finished"
},
"pin" : "Pin" ,
"unpin" : "Unpin" ,
"rename" : "Rename" ,
"renameTitle" : "Rename chat" ,
"renameDescription" : "Choose a local sidebar name for this chat." ,
"renamePlaceholder" : "Chat name" ,
2026-05-29 03:42:53 +08:00
"renameProjectTitle" : "Rename project" ,
"renameProjectDescription" : "Choose a local sidebar name for this project." ,
"renameProjectPlaceholder" : "Project name" ,
2026-05-19 22:42:38 +08:00
"renameSave" : "Save" ,
"archive" : "Archive" ,
"unarchive" : "Unarchive" ,
"showArchived" : "Show archived" ,
"hideArchived" : "Hide archived" ,
2026-04-19 06:39:06 +00:00
"delete" : "Xóa" ,
2026-05-19 22:42:38 +08:00
"newChat" : "Cuộc trò chuyện mới" ,
"groups" : {
"pinned" : "Pinned" ,
"all" : "Chats" ,
2026-05-29 03:42:53 +08:00
"projects" : "Projects" ,
2026-05-19 22:42:38 +08:00
"today" : "Today" ,
"yesterday" : "Yesterday" ,
"earlier" : "Earlier" ,
"archived" : "Archived"
}
2026-04-19 06:39:06 +00:00
},
"deleteConfirm" : {
2026-05-08 13:28:34 +00:00
"title" : "Xóa cuộc trò chuyện này?" ,
"description" : "Không thể hoàn tác thao tác này." ,
2026-04-19 06:39:06 +00:00
"cancel" : "Hủy" ,
"confirm" : "Xóa"
},
"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" : {
2026-05-29 03:42:53 +08:00
"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ì?"
},
2026-05-06 15:54:15 +00:00
"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 workspace này."
}
2026-05-08 09:40:15 +00:00
},
"imageQuickActions" : {
"icon" : {
"title" : "Thiết kế biểu tượng app" ,
"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 sticker" ,
"prompt" : "Tạo một hình kiểu sticker 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 landing page."
},
"product" : {
"title" : "Mockup sản phẩm" ,
"prompt" : "Tạo một hình mockup 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."
}
2026-05-24 13:38:37 +08:00
}
2026-04-19 06:39:06 +00:00
},
"header" : {
2026-05-22 23:02:55 +08:00
"toggleSidebar" : "Bật/tắt thanh bên" ,
"newChat" : "Bắt đầu chat mới" ,
"toggleTheme" : "Chuyển chủ đề từ header" ,
"settings" : "Mở cài đặt"
2026-04-19 06:39:06 +00:00
},
"composer" : {
"placeholderThread" : "Nhập tin nhắn…" ,
"placeholderHero" : "Bạn đang nghĩ gì?" ,
"placeholderOpening" : "Đang mở cuộc trò chuyện mới…" ,
2026-05-01 12:38:22 -03:00
"placeholderStreaming" : "Mô hình đang trả lời…" ,
2026-04-19 06:39:06 +00:00
"inputAria" : "Ô nhập tin nhắn" ,
"sendHint" : "Enter để gửi · Shift+Enter để xuống dòng" ,
2026-05-16 01:14:11 +08:00
"runRuntimeTitle" : "Đang chạy · {{elapsed}}" ,
"goalStateStrip" : "Mục tiêu · {{label}}" ,
"goalStateFallback" : "Mục tiêu" ,
"goalStateExpandAria" : "Xem đầy đủ mục tiêu" ,
2026-05-16 04:42:58 +00:00
"goalStateSheetTitle" : "Mục tiêu" ,
2026-05-22 23:02:55 +08:00
"goalStateCloseAria" : "Đóng mục tiêu" ,
2026-04-21 10:29:47 +00:00
"send" : "Gửi tin nhắn" ,
2026-05-08 09:40:15 +00:00
"stop" : "Dừng phản hồi" ,
2026-04-21 10:29:47 +00:00
"attachImage" : "Đính kèm ảnh" ,
2026-05-08 09:40:15 +00:00
"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" : "Story 9:16" ,
"4_3" : "Ngang 4:3" ,
"16_9" : "Rộng 16:9"
}
},
2026-05-22 23:02:55 +08:00
"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"
2026-05-06 15:54:15 +00:00
},
"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" : "Dừng tác vụ hiện tại 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 agent đ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 runtime, provider và channel."
},
2026-05-24 20:56:07 +08:00
"model" : {
"title" : "Mô hình" ,
"description" : "Hiển thị hoặc chuyển preset mô hình đang hoạt động."
},
2026-05-06 15:54:15 +00:00
"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 snapshot Dream trước đó."
},
2026-05-16 01:14:11 +08:00
"goal" : {
"title" : "Mục tiêu dài hạn" ,
"description" : "Yêu cầu agent xử lý đây là mục tiêu nhiều bước kéo dài."
},
2026-05-06 15:54:15 +00:00
"help" : {
"title" : "Hiển thị trợ giúp" ,
"description" : "Liệt kê các lệnh slash có sẵn."
2026-05-24 20:56:07 +08:00
},
"pairing" : {
"title" : "Ghép nối" ,
"description" : "Quản lý yêu cầu ghép nối."
2026-05-06 15:54:15 +00:00
}
2026-05-24 20:56:07 +08:00
},
"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"
2026-05-06 15:54:15 +00:00
}
2026-05-16 04:42:58 +00:00
},
2026-05-22 23:02:55 +08:00
"encoding" : "Đang xử lý…" ,
"remove" : "Xóa tệp đính kèm" ,
"normalizedSizeHint" : "{{orig}} → {{current}} (tự động)" ,
"imageRejected" : {
"unsupported_type" : "Loại tệp không được hỗ trợ" ,
"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" : "Ảnh quá lớn — hãy thử ảnh nhỏ hơn" ,
"io" : "Không thể đọc tệp này"
2026-05-24 13:38:37 +08:00
},
"mentions" : {
2026-05-25 20:07:02 +08:00
"ariaLabel" : "Ứng dụng" ,
"label" : "Ứng dụng" ,
2026-05-24 13:38:37 +08:00
"cliGroup" : "Ứng dụng CLI" ,
2026-05-25 20:07:02 +08:00
"mcpGroup" : "Dịch vụ MCP" ,
2026-05-24 13:38:37 +08:00
"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"
2026-05-29 03:42:53 +08:00
},
"workspace" : {
"accessAria" : "Workspace access mode" ,
"projectAria" : "Chọn dự án" ,
"projectPlaceholder" : "Chọn dự án" ,
"default" : "Default Permission" ,
"full" : "Full Access"
2026-05-22 23:02:55 +08:00
}
2026-04-19 06:39:06 +00:00
},
2026-05-17 17:04:57 +08:00
"scrollToBottom" : "Cuộn xuống cuối" ,
"loadEarlier" : "Tải tin nhắn trước đó"
2026-04-19 06:39:06 +00:00
},
"message" : {
"streaming" : "đang truyền" ,
"assistantTyping" : "Trợ lý đang nhập" ,
"toolSingle" : "Đang dùng một công cụ" ,
2026-04-21 10:29:47 +00:00
"toolMany" : "Đã dùng {{count}} công cụ" ,
2026-05-16 01:14:11 +08:00
"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" ,
2026-05-22 23:02:55 +08:00
"copyReply" : "Sao chép trả lời" ,
"copiedReply" : "Đã sao chép trả lời" ,
2026-05-24 13:38:37 +08:00
"turnLatencyTitle" : "Thời gian phản hồi (end-to-end)" ,
"activityThinkingFor" : "Đang suy nghĩ trong {{duration}}" ,
2026-05-24 18:38:08 +08:00
"activityThought" : "Đã suy nghĩ" ,
2026-05-24 13:38:37 +08:00
"activityThoughtFor" : "Đã suy nghĩ 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"
2026-04-21 10:29:47 +00:00
},
"lightbox" : {
"title" : "Xem trước ảnh" ,
"open" : "Xem ảnh" ,
"prev" : "Ảnh trước" ,
"next" : "Ảnh tiếp theo" ,
"close" : "Đóng xem trước"
2026-04-19 06:39:06 +00:00
},
"code" : {
"fallbackLanguage" : "mã" ,
"copyAria" : "Sao chép mã" ,
"copy" : "Sao chép" ,
"copied" : "Đã sao chép"
2026-04-21 10:29:47 +00:00
},
"common" : {
"dismiss" : "Đóng"
},
"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."
2026-05-29 03:42:53 +08:00
},
"workspaceScopeRejected" : {
"title" : "Workspace was not changed" ,
"body" : "Nanobot kept the previous workspace because the requested project or access mode was rejected by the gateway."
}
},
"workspace" : {
"dialog" : {
"defaultProject" : "Default workspace" ,
"manual" : "Dán đường dẫn" ,
"manualPlaceholder" : "/Users/name/project" ,
"usePath" : "Use Path" ,
"absolutePathRequired" : "Enter an absolute folder path on this machine."
2026-04-21 10:29:47 +00:00
}
2026-04-19 06:39:06 +00:00
}
}