mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-05-24 10:32:45 +00:00
467 lines
18 KiB
JSON
467 lines
18 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."
|
|
},
|
|
"system": {
|
|
"section": "Hệ thống",
|
|
"restartHint": "Khởi động lại nanobot để áp dụng thay đổi runtime.",
|
|
"restart": "Khởi động lại nanobot",
|
|
"restarting": "Đang khởi động lại..."
|
|
},
|
|
"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 workspace nanobot của bạn."
|
|
}
|
|
},
|
|
"sidebar": {
|
|
"collapse": "Thu gọn thanh bên",
|
|
"toggleTheme": "Chuyển giao diện",
|
|
"newChat": "Cuộc trò chuyện mới",
|
|
"viewOptions": "View",
|
|
"compactList": "Compact list",
|
|
"showPreviews": "Show previews",
|
|
"showTimestamps": "Show time",
|
|
"sortLabel": "Sort",
|
|
"sortUpdated": "Recently updated",
|
|
"sortCreated": "Recently created",
|
|
"sortTitle": "Title A-Z",
|
|
"recent": "Gần đây",
|
|
"refreshSessions": "Làm mới phiên",
|
|
"settings": "Cài đặt",
|
|
"language": {
|
|
"label": "Ngôn ngữ",
|
|
"ariaLabel": "Đổi ngôn ngữ"
|
|
},
|
|
"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."
|
|
},
|
|
"settings": {
|
|
"backToChat": "Quay lại trò chuyện",
|
|
"sidebar": {
|
|
"title": "Cài đặt",
|
|
"ariaLabel": "Các mục cài đặt"
|
|
},
|
|
"nav": {
|
|
"general": "Chung",
|
|
"byok": "BYOK",
|
|
"overview": "Overview",
|
|
"appearance": "Appearance",
|
|
"models": "Models",
|
|
"providers": "Providers",
|
|
"image": "Image",
|
|
"web": "Web",
|
|
"runtime": "Runtime",
|
|
"advanced": "Advanced"
|
|
},
|
|
"sections": {
|
|
"interface": "Giao diện",
|
|
"ai": "AI",
|
|
"system": "Hệ thống",
|
|
"status": "Status",
|
|
"localPreferences": "Local preferences",
|
|
"presets": "Presets",
|
|
"webSearch": "Web search",
|
|
"webBehavior": "Behavior",
|
|
"identity": "Identity",
|
|
"safety": "Safety",
|
|
"integrations": "Integrations"
|
|
},
|
|
"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",
|
|
"configPath": "Đường dẫn cấu hình",
|
|
"activePreset": "Active preset",
|
|
"gateway": "Gateway",
|
|
"restartState": "Restart state",
|
|
"selectedPreset": "Selected preset",
|
|
"presetModel": "Preset model",
|
|
"density": "Density",
|
|
"activityMode": "Activity detail",
|
|
"codeWrap": "Code wrapping",
|
|
"maxResults": "Max results",
|
|
"timeout": "Timeout",
|
|
"jinaReader": "Jina reader",
|
|
"botName": "Bot name",
|
|
"botIcon": "Bot icon",
|
|
"timezone": "Timezone",
|
|
"toolHintMaxLength": "Tool hint length",
|
|
"workspacePath": "Workspace path",
|
|
"heartbeat": "Heartbeat",
|
|
"dream": "Dream",
|
|
"unifiedSession": "Unified session",
|
|
"restrictWorkspace": "Restrict to workspace",
|
|
"execTool": "Exec tool",
|
|
"execSandbox": "Exec sandbox",
|
|
"ssrfWhitelist": "SSRF whitelist",
|
|
"mcpServers": "MCP servers",
|
|
"pathAppend": "PATH append",
|
|
"configurationDocs": "Configuration docs"
|
|
},
|
|
"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.",
|
|
"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.",
|
|
"botName": "Shown in runtime surfaces that use the configured bot identity.",
|
|
"botIcon": "Short emoji or text shown beside the bot name.",
|
|
"timezone": "IANA timezone used by runtime context and schedules.",
|
|
"toolHintMaxLength": "Maximum characters shown in tool progress hints.",
|
|
"advancedReadOnly": "Advanced safety controls are read-only in WebUI. Edit config.json intentionally when needed."
|
|
},
|
|
"values": {
|
|
"light": "Sáng",
|
|
"dark": "Tối",
|
|
"notAvailable": "Không khả dụng",
|
|
"enabled": "Enabled",
|
|
"disabled": "Disabled",
|
|
"restartRequired": "Restart required",
|
|
"liveReload": "Live reload ready",
|
|
"comfortable": "Comfortable",
|
|
"compact": "Compact",
|
|
"auto": "Auto",
|
|
"expanded": "Expanded",
|
|
"on": "On",
|
|
"off": "Off",
|
|
"configured": "Configured",
|
|
"notConfigured": "Not configured"
|
|
},
|
|
"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.",
|
|
"savedRestart": "Đã lưu. Khởi động lại nanobot để áp dụng."
|
|
},
|
|
"actions": {
|
|
"save": "Lưu",
|
|
"saving": "Đang lưu",
|
|
"edit": "Sửa",
|
|
"cancel": "Hủy",
|
|
"openDocs": "Open docs"
|
|
},
|
|
"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.",
|
|
"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."
|
|
}
|
|
},
|
|
"overview": {
|
|
"model": "Current model",
|
|
"providers": "Providers",
|
|
"configuredCount": "{{count}} configured",
|
|
"totalProviders": "{{count}} available",
|
|
"webSearch": "Web search",
|
|
"workspace": "Workspace"
|
|
},
|
|
"providers": {
|
|
"searchPlaceholder": "Search providers",
|
|
"noMatches": "No providers match this search."
|
|
}
|
|
},
|
|
"chat": {
|
|
"fallbackTitle": "Trò chuyện {{id}}",
|
|
"loading": "Đang tải…",
|
|
"noSessions": "Chưa có phiên nào.",
|
|
"showMore": "Hiển thị thêm {{count}}",
|
|
"actions": "Tác vụ cho cuộc trò chuyện {{title}}",
|
|
"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",
|
|
"renameSave": "Save",
|
|
"archive": "Archive",
|
|
"unarchive": "Unarchive",
|
|
"showArchived": "Show archived",
|
|
"hideArchived": "Hide archived",
|
|
"delete": "Xóa",
|
|
"newChat": "Cuộc trò chuyện mới",
|
|
"groups": {
|
|
"pinned": "Pinned",
|
|
"all": "Chats",
|
|
"today": "Today",
|
|
"yesterday": "Yesterday",
|
|
"earlier": "Earlier",
|
|
"archived": "Archived"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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": {
|
|
"description": "Hãy đặt câu hỏi, tiếp tục công việc cục bộ hoặc bắt đầu một luồng mới.",
|
|
"greeting": "Tôi có thể giúp gì cho bạn?",
|
|
"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."
|
|
}
|
|
},
|
|
"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."
|
|
}
|
|
}
|
|
},
|
|
"header": {
|
|
"toggleSidebar": "Bật/tắt thanh bên"
|
|
},
|
|
"composer": {
|
|
"placeholderThread": "Nhập tin nhắn…",
|
|
"placeholderHero": "Bạn đang nghĩ gì?",
|
|
"placeholderOpening": "Đang mở cuộc trò chuyện 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",
|
|
"send": "Gửi tin nhắn",
|
|
"stop": "Dừng phản hồi",
|
|
"attachImage": "Đính kèm ảnh",
|
|
"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"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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."
|
|
},
|
|
"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 đó."
|
|
},
|
|
"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."
|
|
},
|
|
"help": {
|
|
"title": "Hiển thị trợ giúp",
|
|
"description": "Liệt kê các lệnh slash có sẵn."
|
|
}
|
|
}
|
|
},
|
|
"goalStateCloseAria": "Đóng mục tiêu"
|
|
},
|
|
"scrollToBottom": "Cuộn xuống cuối",
|
|
"loadEarlier": "Tải tin nhắn trước đó"
|
|
},
|
|
"message": {
|
|
"streaming": "đang truyền",
|
|
"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",
|
|
"turnLatencyTitle": "Thời gian phản hồi (end-to-end)"
|
|
},
|
|
"lightbox": {
|
|
"title": "Xem trước ảnh",
|
|
"open": "Xem ảnh",
|
|
"prev": "Ảnh trước",
|
|
"next": "Ảnh tiếp theo",
|
|
"close": "Đóng xem trước"
|
|
},
|
|
"code": {
|
|
"fallbackLanguage": "mã",
|
|
"copyAria": "Sao chép mã",
|
|
"copy": "Sao chép",
|
|
"copied": "Đã sao chép"
|
|
},
|
|
"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."
|
|
}
|
|
}
|
|
}
|