feat(webui): add project workspaces and access controls (#4007)
* feat(webui): add project workspaces and access controls * feat(webui): add project workspaces and access controls * refactor(tools): centralize workspace access resolution * refactor(webui): remove unused workspace host state * fix(webui): hide estimated file edit label * fix(webui): clarify file edit deletion feedback * fix(webui): label deleted file activity * fix(webui): flatten file edit activity rows * fix(core): remove path-only patch deletion * fix(core): keep apply patch non-destructive * refactor(webui): trim workspace host plumbing * fix(tools): register exec with tools config
This commit is contained in:
@@ -71,7 +71,7 @@ export function detectNavigatorLocale(): SupportedLocale {
|
||||
}
|
||||
|
||||
export function resolveInitialLocale(): SupportedLocale {
|
||||
return readStoredLocale() ?? detectNavigatorLocale();
|
||||
return readStoredLocale() ?? defaultLocale;
|
||||
}
|
||||
|
||||
export function persistLocale(locale: SupportedLocale): void {
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
"section": "System",
|
||||
"restartHint": "Restart nanobot to apply runtime changes.",
|
||||
"restart": "Restart nanobot",
|
||||
"restarting": "Restarting..."
|
||||
"restarting": "Restarting...",
|
||||
"restartEngine": "Restart engine",
|
||||
"restartingEngine": "Restarting engine..."
|
||||
},
|
||||
"restart": {
|
||||
"completed": "Restart completed in {{seconds}}s."
|
||||
@@ -40,25 +42,13 @@
|
||||
},
|
||||
"sidebar": {
|
||||
"navigation": "Sidebar navigation",
|
||||
"globalActions": "Global actions",
|
||||
"collapse": "Collapse sidebar",
|
||||
"toggleTheme": "Toggle theme",
|
||||
"home": "Home",
|
||||
"newChat": "New chat",
|
||||
"searchAria": "Search",
|
||||
"viewOptions": "View",
|
||||
"compactList": "Compact list",
|
||||
"showPreviews": "Show previews",
|
||||
"showTimestamps": "Show time",
|
||||
"sortLabel": "Sort",
|
||||
"sortUpdated": "Recently updated",
|
||||
"sortCreated": "Recently created",
|
||||
"sortTitle": "Title A-Z",
|
||||
"searchPlaceholder": "Search",
|
||||
"searchResults": "Results",
|
||||
"noSearchResults": "No matching chats.",
|
||||
"recent": "Recent",
|
||||
"refreshSessions": "Refresh sessions",
|
||||
"settings": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
@@ -80,11 +70,11 @@
|
||||
"models": "Models",
|
||||
"providers": "Providers",
|
||||
"image": "Image",
|
||||
"web": "Web",
|
||||
"browser": "Web",
|
||||
"cliApps": "CLI Apps",
|
||||
"mcp": "MCP",
|
||||
"runtime": "Runtime",
|
||||
"advanced": "Advanced",
|
||||
"runtime": "System",
|
||||
"advanced": "Security",
|
||||
"apps": "Apps"
|
||||
},
|
||||
"sections": {
|
||||
@@ -101,10 +91,11 @@
|
||||
"cliApps": "CLI apps",
|
||||
"mcp": "MCP services",
|
||||
"identity": "Identity",
|
||||
"safety": "Safety",
|
||||
"webuiSafety": "Web safety",
|
||||
"capabilities": "Capabilities",
|
||||
"integrations": "Integrations",
|
||||
"apps": "Apps"
|
||||
"apps": "Apps",
|
||||
"nativeHost": "Native host",
|
||||
"hostSafety": "App safety"
|
||||
},
|
||||
"models": {
|
||||
"selectModel": "Select model",
|
||||
@@ -112,6 +103,7 @@
|
||||
"newConfiguration": "New model configuration",
|
||||
"newConfigurationHelp": "Save a provider and model as a one-click option.",
|
||||
"configurationName": "Name",
|
||||
"configurationNameHelp": "Rename this saved model configuration.",
|
||||
"configurationNamePlaceholder": "Fast writing"
|
||||
},
|
||||
"rows": {
|
||||
@@ -147,20 +139,14 @@
|
||||
"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",
|
||||
"workspacePath": "Default workspace",
|
||||
"localServiceAccess": "Local services",
|
||||
"webuiDefaultAccess": "Default access",
|
||||
"cliAppsCatalog": "Catalog",
|
||||
"cliAppsFilter": "Filter",
|
||||
"configurationDocs": "Configuration docs"
|
||||
"engine": "Engine",
|
||||
"logs": "Logs",
|
||||
"diagnostics": "Diagnostics"
|
||||
},
|
||||
"help": {
|
||||
"theme": "Switch between light and dark appearance.",
|
||||
@@ -187,13 +173,18 @@
|
||||
"defaultAspectRatio": "Used when the prompt does not choose an aspect ratio.",
|
||||
"defaultImageSize": "Size hint sent to providers that support it.",
|
||||
"maxImagesPerTurn": "Upper bound for one generate_image request.",
|
||||
"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.",
|
||||
"cliAppsCatalog": "Install only the app-specific CLI adapters nanobot can run locally; desktop apps stay untouched.",
|
||||
"botName": "Shown wherever nanobot uses a display name.",
|
||||
"botIcon": "Short emoji or text shown with the bot name.",
|
||||
"timezone": "Used for schedules and time-aware replies.",
|
||||
"cliAppsCatalog": "Install only the app-specific CLI adapters nanobot can run locally; native apps stay untouched.",
|
||||
"cliAppsFilter": "Search by app, category, or capability.",
|
||||
"advancedReadOnly": "Advanced safety controls are read-only in WebUI. Edit config.json intentionally when needed."
|
||||
"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.",
|
||||
"logs": "Open the native engine log folder.",
|
||||
"diagnostics": "Export a small runtime report for support.",
|
||||
"localServiceAccessNative": "Allow Full Access shell commands to reach services on this Mac.",
|
||||
"webuiDefaultAccessNative": "Used by native chats without a project-specific permission."
|
||||
},
|
||||
"timezone": {
|
||||
"select": "Select timezone",
|
||||
@@ -298,8 +289,12 @@
|
||||
"expanded": "Expanded",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"defaultPermission": "Default Permission",
|
||||
"fullAccess": "Full Access",
|
||||
"configured": "Configured",
|
||||
"notConfigured": "Not configured"
|
||||
"notConfigured": "Not configured",
|
||||
"pending": "Pending",
|
||||
"restartingEngine": "Restarting"
|
||||
},
|
||||
"status": {
|
||||
"loading": "Loading settings...",
|
||||
@@ -309,14 +304,24 @@
|
||||
"savedRestart": "Saved. Restart nanobot to apply.",
|
||||
"restartAfterSaving": "Save changes, then restart when ready.",
|
||||
"savedRestartApply": "Saved. Restart when ready.",
|
||||
"imageProviderRestart": "Image provider changes saved. Restart when ready."
|
||||
"imageProviderRestart": "Image provider changes saved. Restart when ready.",
|
||||
"hostRestartAfterSaving": "Save changes and nanobot will restart its engine.",
|
||||
"hostRestartPending": "Saved. Restarting engine when ready.",
|
||||
"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."
|
||||
},
|
||||
"actions": {
|
||||
"save": "Save",
|
||||
"saving": "Saving",
|
||||
"edit": "Edit",
|
||||
"cancel": "Cancel",
|
||||
"openDocs": "Open docs"
|
||||
"open": "Open",
|
||||
"export": "Export",
|
||||
"opening": "Opening...",
|
||||
"exporting": "Exporting..."
|
||||
},
|
||||
"byok": {
|
||||
"description": "Bring your own provider keys. Nanobot reads these values from the current config and only configured providers can be selected in General.",
|
||||
@@ -397,6 +402,19 @@
|
||||
"featured": "Featured",
|
||||
"loading": "Loading Apps...",
|
||||
"empty": "No apps match this filter."
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
@@ -404,7 +422,10 @@
|
||||
"loading": "Loading…",
|
||||
"noSessions": "No sessions yet.",
|
||||
"showMore": "Show {{count}} more",
|
||||
"collapsed": "{{count}} hidden chats",
|
||||
"showLess": "Show less",
|
||||
"actions": "Chat actions for {{title}}",
|
||||
"newInProject": "Start a new chat in {{project}}",
|
||||
"activity": {
|
||||
"running": "Agent running",
|
||||
"complete": "Agent finished"
|
||||
@@ -415,6 +436,9 @@
|
||||
"renameTitle": "Rename chat",
|
||||
"renameDescription": "Choose a local sidebar name for this chat.",
|
||||
"renamePlaceholder": "Chat name",
|
||||
"renameProjectTitle": "Rename project",
|
||||
"renameProjectDescription": "Choose a local sidebar name for this project.",
|
||||
"renameProjectPlaceholder": "Project name",
|
||||
"renameSave": "Save",
|
||||
"archive": "Archive",
|
||||
"unarchive": "Unarchive",
|
||||
@@ -425,6 +449,7 @@
|
||||
"groups": {
|
||||
"pinned": "Pinned",
|
||||
"all": "Chats",
|
||||
"projects": "Projects",
|
||||
"today": "Today",
|
||||
"yesterday": "Yesterday",
|
||||
"earlier": "Earlier",
|
||||
@@ -448,7 +473,12 @@
|
||||
"thread": {
|
||||
"loadingConversation": "Loading conversation…",
|
||||
"empty": {
|
||||
"greeting": "What can I do for you?",
|
||||
"greetings": {
|
||||
"workOn": "What should we work on?",
|
||||
"start": "Where should we start?",
|
||||
"build": "What are we building today?",
|
||||
"tackle": "What should we tackle together?"
|
||||
},
|
||||
"quickActions": {
|
||||
"plan": {
|
||||
"title": "Create a project plan",
|
||||
@@ -632,6 +662,13 @@
|
||||
"decode_failed": "Couldn't decode this image",
|
||||
"too_large": "Image is too large — try a smaller one",
|
||||
"io": "Couldn't read this file"
|
||||
},
|
||||
"workspace": {
|
||||
"accessAria": "Workspace access mode",
|
||||
"projectAria": "Choose project",
|
||||
"projectPlaceholder": "Select project",
|
||||
"default": "Default Permission",
|
||||
"full": "Full Access"
|
||||
}
|
||||
},
|
||||
"scrollToBottom": "Scroll to bottom",
|
||||
@@ -690,6 +727,19 @@
|
||||
"messageTooBig": {
|
||||
"title": "Message too large",
|
||||
"body": "The server rejected your last message because it exceeded the size limit. Remove some images or try smaller files, then send again."
|
||||
},
|
||||
"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": "Paste path",
|
||||
"manualPlaceholder": "/Users/name/project",
|
||||
"usePath": "Use Path",
|
||||
"absolutePathRequired": "Enter an absolute folder path on this machine."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
"section": "Sistema",
|
||||
"restartHint": "Reinicia nanobot para aplicar los cambios de ejecución.",
|
||||
"restart": "Reiniciar nanobot",
|
||||
"restarting": "Reiniciando..."
|
||||
"restarting": "Reiniciando...",
|
||||
"restartEngine": "Reiniciar motor",
|
||||
"restartingEngine": "Reiniciando motor..."
|
||||
},
|
||||
"restart": {
|
||||
"completed": "Reinicio completado en {{seconds}} s."
|
||||
@@ -40,25 +42,13 @@
|
||||
},
|
||||
"sidebar": {
|
||||
"navigation": "Navegación de la barra lateral",
|
||||
"globalActions": "Acciones globales",
|
||||
"collapse": "Contraer barra lateral",
|
||||
"toggleTheme": "Cambiar tema",
|
||||
"home": "Inicio",
|
||||
"newChat": "Nuevo chat",
|
||||
"searchAria": "Buscar",
|
||||
"viewOptions": "View",
|
||||
"compactList": "Compact list",
|
||||
"showPreviews": "Show previews",
|
||||
"showTimestamps": "Show time",
|
||||
"sortLabel": "Sort",
|
||||
"sortUpdated": "Recently updated",
|
||||
"sortCreated": "Recently created",
|
||||
"sortTitle": "Title A-Z",
|
||||
"searchPlaceholder": "Buscar",
|
||||
"searchResults": "Resultados",
|
||||
"noSearchResults": "No hay chats coincidentes.",
|
||||
"recent": "Recientes",
|
||||
"refreshSessions": "Actualizar sesiones",
|
||||
"settings": "Configuración",
|
||||
"language": {
|
||||
"label": "Idioma",
|
||||
@@ -80,9 +70,9 @@
|
||||
"models": "Models",
|
||||
"providers": "Providers",
|
||||
"image": "Image",
|
||||
"web": "Web",
|
||||
"runtime": "Runtime",
|
||||
"advanced": "Advanced",
|
||||
"browser": "Web",
|
||||
"runtime": "Sistema",
|
||||
"advanced": "Security",
|
||||
"cliApps": "Apps CLI",
|
||||
"mcp": "MCP",
|
||||
"apps": "Apps"
|
||||
@@ -99,12 +89,13 @@
|
||||
"webSearch": "Web search",
|
||||
"webBehavior": "Behavior",
|
||||
"identity": "Identity",
|
||||
"safety": "Safety",
|
||||
"webuiSafety": "Web safety",
|
||||
"capabilities": "Capacidades",
|
||||
"integrations": "Integrations",
|
||||
"cliApps": "Apps CLI",
|
||||
"mcp": "Servicios MCP",
|
||||
"apps": "Apps"
|
||||
"apps": "Apps",
|
||||
"nativeHost": "App",
|
||||
"hostSafety": "App safety"
|
||||
},
|
||||
"rows": {
|
||||
"theme": "Tema",
|
||||
@@ -137,22 +128,16 @@
|
||||
"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",
|
||||
"workspacePath": "Workspace predeterminado",
|
||||
"localServiceAccess": "Local services",
|
||||
"webuiDefaultAccess": "Default access",
|
||||
"currentModel": "Modelo actual",
|
||||
"brandLogos": "Logotipos de marca",
|
||||
"cliAppsCatalog": "Catálogo de apps CLI",
|
||||
"cliAppsFilter": "Filtro de apps CLI"
|
||||
"cliAppsFilter": "Filtro de apps CLI",
|
||||
"engine": "Motor",
|
||||
"logs": "Registros",
|
||||
"diagnostics": "Diagnóstico"
|
||||
},
|
||||
"help": {
|
||||
"theme": "Cambia entre apariencia clara y oscura.",
|
||||
@@ -175,17 +160,22 @@
|
||||
"defaultAspectRatio": "Se usa cuando el prompt no elige una relación de aspecto.",
|
||||
"defaultImageSize": "Sugerencia de tamaño enviada a los proveedores que la admiten.",
|
||||
"maxImagesPerTurn": "Límite superior para una solicitud generate_image.",
|
||||
"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.",
|
||||
"botName": "Se muestra donde nanobot usa un nombre visible.",
|
||||
"botIcon": "Emoji o texto corto mostrado junto al nombre del bot.",
|
||||
"timezone": "Se usa para programaciones y respuestas sensibles al tiempo.",
|
||||
"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.",
|
||||
"currentModel": "Elige el modelo que nanobot usará para las próximas respuestas.",
|
||||
"selectedModelProvider": "Lo define el modelo seleccionado.",
|
||||
"selectedModelValue": "Lo define el modelo seleccionado.",
|
||||
"brandLogos": "Los logotipos se cargan desde los dominios de las marcas con una reserva de icono local.",
|
||||
"cliAppsCatalog": "Explora CLIs de apps que nanobot puede ejecutar localmente.",
|
||||
"cliAppsFilter": "Busca por app, categoría o capacidad."
|
||||
"cliAppsFilter": "Busca por app, categoría o capacidad.",
|
||||
"logs": "Abre la carpeta de registros del motor de escritorio.",
|
||||
"diagnostics": "Exporta un pequeño informe de runtime para soporte.",
|
||||
"localServiceAccessNative": "Allow Full Access shell commands to reach services on this Mac.",
|
||||
"webuiDefaultAccessNative": "Used by native chats without a project-specific permission."
|
||||
},
|
||||
"values": {
|
||||
"light": "Claro",
|
||||
@@ -201,8 +191,12 @@
|
||||
"expanded": "Expanded",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"defaultPermission": "Default Permission",
|
||||
"fullAccess": "Full Access",
|
||||
"configured": "Configured",
|
||||
"notConfigured": "Not configured"
|
||||
"notConfigured": "Not configured",
|
||||
"pending": "Pendiente",
|
||||
"restartingEngine": "Reiniciando"
|
||||
},
|
||||
"status": {
|
||||
"loading": "Cargando configuración...",
|
||||
@@ -212,14 +206,24 @@
|
||||
"savedRestart": "Guardado. Reinicia nanobot para aplicar.",
|
||||
"restartAfterSaving": "Guarda los cambios y reinicia cuando estés listo.",
|
||||
"savedRestartApply": "Guardado. Reinicia cuando estés listo.",
|
||||
"imageProviderRestart": "Cambios del proveedor de imágenes guardados. Reinicia cuando estés listo."
|
||||
"imageProviderRestart": "Cambios del proveedor de imágenes guardados. Reinicia cuando estés listo.",
|
||||
"hostRestartAfterSaving": "Guarda los cambios y nanobot reiniciará su motor.",
|
||||
"hostRestartPending": "Guardado. Reiniciando el motor cuando esté listo.",
|
||||
"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."
|
||||
},
|
||||
"actions": {
|
||||
"save": "Guardar",
|
||||
"saving": "Guardando",
|
||||
"edit": "Editar",
|
||||
"cancel": "Cancelar",
|
||||
"openDocs": "Open docs"
|
||||
"open": "Abrir",
|
||||
"export": "Exportar",
|
||||
"opening": "Opening...",
|
||||
"exporting": "Exporting..."
|
||||
},
|
||||
"byok": {
|
||||
"description": "Usa tus propias claves de proveedor. Nanobot lee estos valores desde la configuración actual, y solo los proveedores configurados se pueden elegir en General.",
|
||||
@@ -290,6 +294,7 @@
|
||||
"newConfiguration": "Nueva configuración de modelo",
|
||||
"newConfigurationHelp": "Guarda un proveedor y un modelo como una opción de un clic.",
|
||||
"configurationName": "Nombre",
|
||||
"configurationNameHelp": "Cambia el nombre de esta configuración de modelo guardada.",
|
||||
"configurationNamePlaceholder": "Escritura rápida"
|
||||
},
|
||||
"timezone": {
|
||||
@@ -397,6 +402,19 @@
|
||||
"featured": "Destacadas",
|
||||
"loading": "Cargando apps...",
|
||||
"empty": "Ninguna app coincide con este filtro."
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
@@ -404,7 +422,10 @@
|
||||
"loading": "Cargando…",
|
||||
"noSessions": "Todavía no hay sesiones.",
|
||||
"showMore": "Mostrar {{count}} más",
|
||||
"collapsed": "{{count}} chats ocultos",
|
||||
"showLess": "Mostrar menos",
|
||||
"actions": "Acciones del chat {{title}}",
|
||||
"newInProject": "Iniciar un chat nuevo en {{project}}",
|
||||
"activity": {
|
||||
"running": "Agent running",
|
||||
"complete": "Agent finished"
|
||||
@@ -415,6 +436,9 @@
|
||||
"renameTitle": "Rename chat",
|
||||
"renameDescription": "Choose a local sidebar name for this chat.",
|
||||
"renamePlaceholder": "Chat name",
|
||||
"renameProjectTitle": "Rename project",
|
||||
"renameProjectDescription": "Choose a local sidebar name for this project.",
|
||||
"renameProjectPlaceholder": "Project name",
|
||||
"renameSave": "Save",
|
||||
"archive": "Archive",
|
||||
"unarchive": "Unarchive",
|
||||
@@ -425,6 +449,7 @@
|
||||
"groups": {
|
||||
"pinned": "Pinned",
|
||||
"all": "Chats",
|
||||
"projects": "Projects",
|
||||
"today": "Today",
|
||||
"yesterday": "Yesterday",
|
||||
"earlier": "Earlier",
|
||||
@@ -448,7 +473,12 @@
|
||||
"thread": {
|
||||
"loadingConversation": "Cargando conversación…",
|
||||
"empty": {
|
||||
"greeting": "¿Qué puedo hacer por ti?",
|
||||
"greetings": {
|
||||
"workOn": "¿En qué trabajamos juntos?",
|
||||
"start": "¿Por dónde empezamos?",
|
||||
"build": "¿Qué construimos hoy?",
|
||||
"tackle": "¿Qué resolvemos juntos?"
|
||||
},
|
||||
"quickActions": {
|
||||
"plan": {
|
||||
"title": "Crear un plan de proyecto",
|
||||
@@ -632,6 +662,13 @@
|
||||
"mcpBadge": "MCP",
|
||||
"cliDescription": "Usar @{{name}} como app CLI local",
|
||||
"mcpDescription": "Usar @{{name}} como servidor MCP"
|
||||
},
|
||||
"workspace": {
|
||||
"accessAria": "Workspace access mode",
|
||||
"projectAria": "Elegir proyecto",
|
||||
"projectPlaceholder": "Seleccionar proyecto",
|
||||
"default": "Default Permission",
|
||||
"full": "Full Access"
|
||||
}
|
||||
},
|
||||
"scrollToBottom": "Desplazarse al final",
|
||||
@@ -690,6 +727,19 @@
|
||||
"messageTooBig": {
|
||||
"title": "Mensaje demasiado grande",
|
||||
"body": "El servidor rechazó tu último mensaje por superar el tamaño permitido. Quita algunas imágenes o usa archivos más pequeños y vuelve a enviarlo."
|
||||
},
|
||||
"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": "Pegar ruta",
|
||||
"manualPlaceholder": "/Users/name/project",
|
||||
"usePath": "Use Path",
|
||||
"absolutePathRequired": "Enter an absolute folder path on this machine."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
"section": "Système",
|
||||
"restartHint": "Redémarrez nanobot pour appliquer les changements d’exécution.",
|
||||
"restart": "Redémarrer nanobot",
|
||||
"restarting": "Redémarrage..."
|
||||
"restarting": "Redémarrage...",
|
||||
"restartEngine": "Redémarrer le moteur",
|
||||
"restartingEngine": "Redémarrage du moteur..."
|
||||
},
|
||||
"restart": {
|
||||
"completed": "Redémarrage terminé en {{seconds}} s."
|
||||
@@ -40,25 +42,13 @@
|
||||
},
|
||||
"sidebar": {
|
||||
"navigation": "Navigation de la barre latérale",
|
||||
"globalActions": "Actions globales",
|
||||
"collapse": "Réduire la barre latérale",
|
||||
"toggleTheme": "Changer de thème",
|
||||
"home": "Accueil",
|
||||
"newChat": "Nouvelle discussion",
|
||||
"searchAria": "Rechercher",
|
||||
"viewOptions": "View",
|
||||
"compactList": "Compact list",
|
||||
"showPreviews": "Show previews",
|
||||
"showTimestamps": "Show time",
|
||||
"sortLabel": "Sort",
|
||||
"sortUpdated": "Recently updated",
|
||||
"sortCreated": "Recently created",
|
||||
"sortTitle": "Title A-Z",
|
||||
"searchPlaceholder": "Rechercher",
|
||||
"searchResults": "Résultats",
|
||||
"noSearchResults": "Aucun chat correspondant.",
|
||||
"recent": "Récentes",
|
||||
"refreshSessions": "Actualiser les sessions",
|
||||
"settings": "Paramètres",
|
||||
"language": {
|
||||
"label": "Langue",
|
||||
@@ -80,9 +70,9 @@
|
||||
"models": "Models",
|
||||
"providers": "Providers",
|
||||
"image": "Image",
|
||||
"web": "Web",
|
||||
"runtime": "Runtime",
|
||||
"advanced": "Advanced",
|
||||
"browser": "Web",
|
||||
"runtime": "Système",
|
||||
"advanced": "Security",
|
||||
"cliApps": "Apps CLI",
|
||||
"mcp": "MCP",
|
||||
"apps": "Apps"
|
||||
@@ -99,12 +89,13 @@
|
||||
"webSearch": "Web search",
|
||||
"webBehavior": "Behavior",
|
||||
"identity": "Identity",
|
||||
"safety": "Safety",
|
||||
"webuiSafety": "Web safety",
|
||||
"capabilities": "Capacités",
|
||||
"integrations": "Integrations",
|
||||
"cliApps": "Apps CLI",
|
||||
"mcp": "Services MCP",
|
||||
"apps": "Apps"
|
||||
"apps": "Apps",
|
||||
"nativeHost": "App",
|
||||
"hostSafety": "App safety"
|
||||
},
|
||||
"rows": {
|
||||
"theme": "Thème",
|
||||
@@ -137,22 +128,16 @@
|
||||
"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",
|
||||
"workspacePath": "Espace de travail par défaut",
|
||||
"localServiceAccess": "Local services",
|
||||
"webuiDefaultAccess": "Default access",
|
||||
"currentModel": "Modèle actuel",
|
||||
"brandLogos": "Logos de marque",
|
||||
"cliAppsCatalog": "Catalogue d'apps CLI",
|
||||
"cliAppsFilter": "Filtre des apps CLI"
|
||||
"cliAppsFilter": "Filtre des apps CLI",
|
||||
"engine": "Moteur",
|
||||
"logs": "Journaux",
|
||||
"diagnostics": "Diagnostics"
|
||||
},
|
||||
"help": {
|
||||
"theme": "Basculer entre les apparences claire et sombre.",
|
||||
@@ -175,17 +160,22 @@
|
||||
"defaultAspectRatio": "Utilisé lorsque le prompt ne choisit pas de format.",
|
||||
"defaultImageSize": "Indication de taille envoyée aux fournisseurs qui la prennent en charge.",
|
||||
"maxImagesPerTurn": "Limite supérieure pour une requête generate_image.",
|
||||
"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.",
|
||||
"botName": "Affiché partout où nanobot utilise un nom visible.",
|
||||
"botIcon": "Emoji ou texte court affiché avec le nom du bot.",
|
||||
"timezone": "Utilisé pour les planifications et les réponses sensibles à l’heure.",
|
||||
"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.",
|
||||
"currentModel": "Choisissez le modèle que nanobot utilisera pour les prochaines réponses.",
|
||||
"selectedModelProvider": "Défini par le modèle sélectionné.",
|
||||
"selectedModelValue": "Défini par le modèle sélectionné.",
|
||||
"brandLogos": "Les logos sont chargés depuis les domaines des marques avec une icône locale en secours.",
|
||||
"cliAppsCatalog": "Parcourez les CLIs d'apps que nanobot peut exécuter localement.",
|
||||
"cliAppsFilter": "Recherchez par app, catégorie ou capacité."
|
||||
"cliAppsFilter": "Recherchez par app, catégorie ou capacité.",
|
||||
"logs": "Ouvrir le dossier des journaux du moteur natif.",
|
||||
"diagnostics": "Exporter un petit rapport runtime pour le support.",
|
||||
"localServiceAccessNative": "Allow Full Access shell commands to reach services on this Mac.",
|
||||
"webuiDefaultAccessNative": "Used by native chats without a project-specific permission."
|
||||
},
|
||||
"values": {
|
||||
"light": "Clair",
|
||||
@@ -201,8 +191,12 @@
|
||||
"expanded": "Expanded",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"defaultPermission": "Default Permission",
|
||||
"fullAccess": "Full Access",
|
||||
"configured": "Configured",
|
||||
"notConfigured": "Not configured"
|
||||
"notConfigured": "Not configured",
|
||||
"pending": "En attente",
|
||||
"restartingEngine": "Redémarrage"
|
||||
},
|
||||
"status": {
|
||||
"loading": "Chargement des paramètres...",
|
||||
@@ -212,14 +206,24 @@
|
||||
"savedRestart": "Enregistré. Redémarrez nanobot pour appliquer.",
|
||||
"restartAfterSaving": "Enregistrez les modifications, puis redémarrez lorsque vous êtes prêt.",
|
||||
"savedRestartApply": "Enregistré. Redémarrez lorsque vous êtes prêt.",
|
||||
"imageProviderRestart": "Modifications du fournisseur d’images enregistrées. Redémarrez lorsque vous êtes prêt."
|
||||
"imageProviderRestart": "Modifications du fournisseur d’images enregistrées. Redémarrez lorsque vous êtes prêt.",
|
||||
"hostRestartAfterSaving": "Enregistrez les changements et nanobot redémarrera son moteur.",
|
||||
"hostRestartPending": "Enregistré. Redémarrage du moteur quand il sera prêt.",
|
||||
"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."
|
||||
},
|
||||
"actions": {
|
||||
"save": "Enregistrer",
|
||||
"saving": "Enregistrement",
|
||||
"edit": "Modifier",
|
||||
"cancel": "Annuler",
|
||||
"openDocs": "Open docs"
|
||||
"open": "Ouvrir",
|
||||
"export": "Exporter",
|
||||
"opening": "Opening...",
|
||||
"exporting": "Exporting..."
|
||||
},
|
||||
"byok": {
|
||||
"description": "Utilisez vos propres clés de fournisseur. Nanobot lit ces valeurs depuis la configuration actuelle, et seuls les fournisseurs configurés peuvent être sélectionnés dans Général.",
|
||||
@@ -290,6 +294,7 @@
|
||||
"newConfiguration": "Nouvelle configuration de modèle",
|
||||
"newConfigurationHelp": "Enregistrez un fournisseur et un modèle comme option en un clic.",
|
||||
"configurationName": "Nom",
|
||||
"configurationNameHelp": "Renommez cette configuration de modèle enregistrée.",
|
||||
"configurationNamePlaceholder": "Rédaction rapide"
|
||||
},
|
||||
"timezone": {
|
||||
@@ -397,6 +402,19 @@
|
||||
"featured": "En vedette",
|
||||
"loading": "Chargement des apps...",
|
||||
"empty": "Aucune app ne correspond à ce filtre."
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
@@ -404,7 +422,10 @@
|
||||
"loading": "Chargement…",
|
||||
"noSessions": "Aucune session pour le moment.",
|
||||
"showMore": "Afficher {{count}} de plus",
|
||||
"collapsed": "{{count}} discussions masquées",
|
||||
"showLess": "Afficher moins",
|
||||
"actions": "Actions de la discussion {{title}}",
|
||||
"newInProject": "Démarrer une nouvelle discussion dans {{project}}",
|
||||
"activity": {
|
||||
"running": "Agent running",
|
||||
"complete": "Agent finished"
|
||||
@@ -415,6 +436,9 @@
|
||||
"renameTitle": "Rename chat",
|
||||
"renameDescription": "Choose a local sidebar name for this chat.",
|
||||
"renamePlaceholder": "Chat name",
|
||||
"renameProjectTitle": "Rename project",
|
||||
"renameProjectDescription": "Choose a local sidebar name for this project.",
|
||||
"renameProjectPlaceholder": "Project name",
|
||||
"renameSave": "Save",
|
||||
"archive": "Archive",
|
||||
"unarchive": "Unarchive",
|
||||
@@ -425,6 +449,7 @@
|
||||
"groups": {
|
||||
"pinned": "Pinned",
|
||||
"all": "Chats",
|
||||
"projects": "Projects",
|
||||
"today": "Today",
|
||||
"yesterday": "Yesterday",
|
||||
"earlier": "Earlier",
|
||||
@@ -448,7 +473,12 @@
|
||||
"thread": {
|
||||
"loadingConversation": "Chargement de la conversation…",
|
||||
"empty": {
|
||||
"greeting": "Que puis-je faire pour vous ?",
|
||||
"greetings": {
|
||||
"workOn": "Sur quoi travaillons-nous ensemble ?",
|
||||
"start": "Par où commence-t-on ?",
|
||||
"build": "Que construisons-nous aujourd'hui ?",
|
||||
"tackle": "Que résout-on ensemble ?"
|
||||
},
|
||||
"quickActions": {
|
||||
"plan": {
|
||||
"title": "Créer un plan de projet",
|
||||
@@ -632,6 +662,13 @@
|
||||
"mcpBadge": "MCP",
|
||||
"cliDescription": "Utiliser @{{name}} comme app CLI locale",
|
||||
"mcpDescription": "Utiliser @{{name}} comme serveur MCP"
|
||||
},
|
||||
"workspace": {
|
||||
"accessAria": "Workspace access mode",
|
||||
"projectAria": "Choisir un projet",
|
||||
"projectPlaceholder": "Sélectionner un projet",
|
||||
"default": "Default Permission",
|
||||
"full": "Full Access"
|
||||
}
|
||||
},
|
||||
"scrollToBottom": "Faire défiler vers le bas",
|
||||
@@ -690,6 +727,19 @@
|
||||
"messageTooBig": {
|
||||
"title": "Message trop volumineux",
|
||||
"body": "Le serveur a rejeté votre dernier message car il dépasse la taille autorisée. Retirez des images ou choisissez des fichiers plus légers, puis renvoyez-le."
|
||||
},
|
||||
"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": "Coller un chemin",
|
||||
"manualPlaceholder": "/Users/name/project",
|
||||
"usePath": "Use Path",
|
||||
"absolutePathRequired": "Enter an absolute folder path on this machine."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
"section": "Sistem",
|
||||
"restartHint": "Mulai ulang nanobot untuk menerapkan perubahan runtime.",
|
||||
"restart": "Mulai ulang nanobot",
|
||||
"restarting": "Memulai ulang..."
|
||||
"restarting": "Memulai ulang...",
|
||||
"restartEngine": "Mulai ulang engine",
|
||||
"restartingEngine": "Memulai ulang engine..."
|
||||
},
|
||||
"restart": {
|
||||
"completed": "Mulai ulang selesai dalam {{seconds}} dtk."
|
||||
@@ -40,25 +42,13 @@
|
||||
},
|
||||
"sidebar": {
|
||||
"navigation": "Navigasi bilah samping",
|
||||
"globalActions": "Aksi global",
|
||||
"collapse": "Ciutkan sidebar",
|
||||
"toggleTheme": "Ganti tema",
|
||||
"home": "Beranda",
|
||||
"newChat": "Obrolan baru",
|
||||
"searchAria": "Cari",
|
||||
"viewOptions": "View",
|
||||
"compactList": "Compact list",
|
||||
"showPreviews": "Show previews",
|
||||
"showTimestamps": "Show time",
|
||||
"sortLabel": "Sort",
|
||||
"sortUpdated": "Recently updated",
|
||||
"sortCreated": "Recently created",
|
||||
"sortTitle": "Title A-Z",
|
||||
"searchPlaceholder": "Cari",
|
||||
"searchResults": "Hasil",
|
||||
"noSearchResults": "Tidak ada chat yang cocok.",
|
||||
"recent": "Terbaru",
|
||||
"refreshSessions": "Segarkan sesi",
|
||||
"settings": "Pengaturan",
|
||||
"language": {
|
||||
"label": "Bahasa",
|
||||
@@ -80,9 +70,9 @@
|
||||
"models": "Models",
|
||||
"providers": "Providers",
|
||||
"image": "Image",
|
||||
"web": "Web",
|
||||
"runtime": "Runtime",
|
||||
"advanced": "Advanced",
|
||||
"browser": "Web",
|
||||
"runtime": "Sistem",
|
||||
"advanced": "Security",
|
||||
"cliApps": "Aplikasi CLI",
|
||||
"mcp": "MCP",
|
||||
"apps": "Aplikasi"
|
||||
@@ -99,12 +89,13 @@
|
||||
"webSearch": "Web search",
|
||||
"webBehavior": "Behavior",
|
||||
"identity": "Identity",
|
||||
"safety": "Safety",
|
||||
"webuiSafety": "Web safety",
|
||||
"capabilities": "Kapabilitas",
|
||||
"integrations": "Integrations",
|
||||
"cliApps": "App CLI",
|
||||
"mcp": "Layanan MCP",
|
||||
"apps": "Aplikasi"
|
||||
"apps": "Aplikasi",
|
||||
"nativeHost": "Native host",
|
||||
"hostSafety": "App safety"
|
||||
},
|
||||
"rows": {
|
||||
"theme": "Tema",
|
||||
@@ -137,22 +128,16 @@
|
||||
"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",
|
||||
"workspacePath": "Workspace default",
|
||||
"localServiceAccess": "Local services",
|
||||
"webuiDefaultAccess": "Default access",
|
||||
"currentModel": "Model saat ini",
|
||||
"brandLogos": "Logo merek",
|
||||
"cliAppsCatalog": "Katalog aplikasi CLI",
|
||||
"cliAppsFilter": "Filter aplikasi CLI"
|
||||
"cliAppsFilter": "Filter aplikasi CLI",
|
||||
"engine": "Engine",
|
||||
"logs": "Log",
|
||||
"diagnostics": "Diagnostik"
|
||||
},
|
||||
"help": {
|
||||
"theme": "Beralih antara tampilan terang dan gelap.",
|
||||
@@ -175,17 +160,22 @@
|
||||
"defaultAspectRatio": "Digunakan saat prompt tidak memilih rasio aspek.",
|
||||
"defaultImageSize": "Petunjuk ukuran yang dikirim ke penyedia yang mendukungnya.",
|
||||
"maxImagesPerTurn": "Batas atas untuk satu permintaan generate_image.",
|
||||
"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.",
|
||||
"botName": "Ditampilkan di tempat nanobot memakai nama tampilan.",
|
||||
"botIcon": "Emoji atau teks pendek yang tampil bersama nama bot.",
|
||||
"timezone": "Dipakai untuk jadwal dan balasan yang peka waktu.",
|
||||
"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.",
|
||||
"currentModel": "Pilih model yang digunakan nanobot untuk balasan berikutnya.",
|
||||
"selectedModelProvider": "Ditentukan oleh model yang dipilih.",
|
||||
"selectedModelValue": "Ditentukan oleh model yang dipilih.",
|
||||
"brandLogos": "Logo dimuat dari domain merek dengan ikon lokal sebagai cadangan.",
|
||||
"cliAppsCatalog": "Jelajahi CLI aplikasi yang dapat dijalankan nanobot secara lokal.",
|
||||
"cliAppsFilter": "Cari berdasarkan aplikasi, kategori, atau kemampuan."
|
||||
"cliAppsFilter": "Cari berdasarkan aplikasi, kategori, atau kemampuan.",
|
||||
"logs": "Buka folder log native engine.",
|
||||
"diagnostics": "Ekspor laporan runtime kecil untuk dukungan.",
|
||||
"localServiceAccessNative": "Allow Full Access shell commands to reach services on this Mac.",
|
||||
"webuiDefaultAccessNative": "Used by native chats without a project-specific permission."
|
||||
},
|
||||
"values": {
|
||||
"light": "Terang",
|
||||
@@ -201,8 +191,12 @@
|
||||
"expanded": "Expanded",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"defaultPermission": "Default Permission",
|
||||
"fullAccess": "Full Access",
|
||||
"configured": "Configured",
|
||||
"notConfigured": "Not configured"
|
||||
"notConfigured": "Not configured",
|
||||
"pending": "Tertunda",
|
||||
"restartingEngine": "Memulai ulang"
|
||||
},
|
||||
"status": {
|
||||
"loading": "Memuat pengaturan...",
|
||||
@@ -212,14 +206,24 @@
|
||||
"savedRestart": "Tersimpan. Mulai ulang nanobot untuk menerapkan.",
|
||||
"restartAfterSaving": "Simpan perubahan, lalu restart saat siap.",
|
||||
"savedRestartApply": "Tersimpan. Restart saat siap.",
|
||||
"imageProviderRestart": "Perubahan penyedia gambar tersimpan. Restart saat siap."
|
||||
"imageProviderRestart": "Perubahan penyedia gambar tersimpan. Restart saat siap.",
|
||||
"hostRestartAfterSaving": "Simpan perubahan dan nanobot akan memulai ulang engine.",
|
||||
"hostRestartPending": "Tersimpan. Engine akan dimulai ulang saat siap.",
|
||||
"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."
|
||||
},
|
||||
"actions": {
|
||||
"save": "Simpan",
|
||||
"saving": "Menyimpan",
|
||||
"edit": "Edit",
|
||||
"cancel": "Batal",
|
||||
"openDocs": "Open docs"
|
||||
"open": "Buka",
|
||||
"export": "Ekspor",
|
||||
"opening": "Opening...",
|
||||
"exporting": "Exporting..."
|
||||
},
|
||||
"byok": {
|
||||
"description": "Gunakan kunci provider Anda sendiri. Nanobot membaca nilai ini dari config saat ini, dan hanya provider yang sudah dikonfigurasi yang bisa dipilih di Umum.",
|
||||
@@ -290,6 +294,7 @@
|
||||
"newConfiguration": "Konfigurasi model baru",
|
||||
"newConfigurationHelp": "Simpan penyedia dan model sebagai opsi sekali klik.",
|
||||
"configurationName": "Nama",
|
||||
"configurationNameHelp": "Ganti nama konfigurasi model yang tersimpan ini.",
|
||||
"configurationNamePlaceholder": "Penulisan cepat"
|
||||
},
|
||||
"timezone": {
|
||||
@@ -397,6 +402,19 @@
|
||||
"featured": "Unggulan",
|
||||
"loading": "Memuat aplikasi...",
|
||||
"empty": "Tidak ada aplikasi yang cocok dengan filter ini."
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
@@ -404,7 +422,10 @@
|
||||
"loading": "Memuat…",
|
||||
"noSessions": "Belum ada sesi.",
|
||||
"showMore": "Tampilkan {{count}} lagi",
|
||||
"collapsed": "{{count}} obrolan diciutkan",
|
||||
"showLess": "Tampilkan lebih sedikit",
|
||||
"actions": "Aksi obrolan untuk {{title}}",
|
||||
"newInProject": "Mulai obrolan baru di {{project}}",
|
||||
"activity": {
|
||||
"running": "Agent running",
|
||||
"complete": "Agent finished"
|
||||
@@ -415,6 +436,9 @@
|
||||
"renameTitle": "Rename chat",
|
||||
"renameDescription": "Choose a local sidebar name for this chat.",
|
||||
"renamePlaceholder": "Chat name",
|
||||
"renameProjectTitle": "Rename project",
|
||||
"renameProjectDescription": "Choose a local sidebar name for this project.",
|
||||
"renameProjectPlaceholder": "Project name",
|
||||
"renameSave": "Save",
|
||||
"archive": "Archive",
|
||||
"unarchive": "Unarchive",
|
||||
@@ -425,6 +449,7 @@
|
||||
"groups": {
|
||||
"pinned": "Pinned",
|
||||
"all": "Chats",
|
||||
"projects": "Projects",
|
||||
"today": "Today",
|
||||
"yesterday": "Yesterday",
|
||||
"earlier": "Earlier",
|
||||
@@ -448,7 +473,12 @@
|
||||
"thread": {
|
||||
"loadingConversation": "Memuat percakapan…",
|
||||
"empty": {
|
||||
"greeting": "Apa yang bisa saya bantu?",
|
||||
"greetings": {
|
||||
"workOn": "Apa yang kita kerjakan bersama?",
|
||||
"start": "Kita mulai dari mana?",
|
||||
"build": "Apa yang kita bangun hari ini?",
|
||||
"tackle": "Apa yang kita selesaikan bersama?"
|
||||
},
|
||||
"quickActions": {
|
||||
"plan": {
|
||||
"title": "Buat rencana proyek",
|
||||
@@ -632,6 +662,13 @@
|
||||
"mcpBadge": "MCP",
|
||||
"cliDescription": "Gunakan @{{name}} sebagai aplikasi CLI lokal",
|
||||
"mcpDescription": "Gunakan @{{name}} sebagai server MCP"
|
||||
},
|
||||
"workspace": {
|
||||
"accessAria": "Workspace access mode",
|
||||
"projectAria": "Pilih proyek",
|
||||
"projectPlaceholder": "Pilih proyek",
|
||||
"default": "Default Permission",
|
||||
"full": "Full Access"
|
||||
}
|
||||
},
|
||||
"scrollToBottom": "Gulir ke bawah",
|
||||
@@ -690,6 +727,19 @@
|
||||
"messageTooBig": {
|
||||
"title": "Pesan terlalu besar",
|
||||
"body": "Server menolak pesan terakhir karena melebihi batas ukuran. Hapus beberapa gambar atau gunakan berkas yang lebih kecil, lalu coba lagi."
|
||||
},
|
||||
"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": "Tempel path",
|
||||
"manualPlaceholder": "/Users/name/project",
|
||||
"usePath": "Use Path",
|
||||
"absolutePathRequired": "Enter an absolute folder path on this machine."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
"section": "システム",
|
||||
"restartHint": "実行時の変更を適用するには nanobot を再起動します。",
|
||||
"restart": "nanobot を再起動",
|
||||
"restarting": "再起動中..."
|
||||
"restarting": "再起動中...",
|
||||
"restartEngine": "エンジンを再起動",
|
||||
"restartingEngine": "エンジンを再起動中..."
|
||||
},
|
||||
"restart": {
|
||||
"completed": "{{seconds}} 秒で再起動が完了しました。"
|
||||
@@ -40,25 +42,13 @@
|
||||
},
|
||||
"sidebar": {
|
||||
"navigation": "サイドバーのナビゲーション",
|
||||
"globalActions": "グローバル操作",
|
||||
"collapse": "サイドバーを閉じる",
|
||||
"toggleTheme": "テーマを切り替える",
|
||||
"home": "ホーム",
|
||||
"newChat": "新しいチャット",
|
||||
"searchAria": "検索",
|
||||
"viewOptions": "View",
|
||||
"compactList": "Compact list",
|
||||
"showPreviews": "Show previews",
|
||||
"showTimestamps": "Show time",
|
||||
"sortLabel": "Sort",
|
||||
"sortUpdated": "Recently updated",
|
||||
"sortCreated": "Recently created",
|
||||
"sortTitle": "Title A-Z",
|
||||
"searchPlaceholder": "検索",
|
||||
"searchResults": "検索結果",
|
||||
"noSearchResults": "一致するチャットはありません。",
|
||||
"recent": "最近のチャット",
|
||||
"refreshSessions": "セッションを更新",
|
||||
"settings": "設定",
|
||||
"language": {
|
||||
"label": "言語",
|
||||
@@ -80,9 +70,9 @@
|
||||
"models": "Models",
|
||||
"providers": "Providers",
|
||||
"image": "Image",
|
||||
"web": "Web",
|
||||
"runtime": "Runtime",
|
||||
"advanced": "Advanced",
|
||||
"browser": "Web",
|
||||
"runtime": "システム",
|
||||
"advanced": "Security",
|
||||
"cliApps": "CLI アプリ",
|
||||
"mcp": "MCP",
|
||||
"apps": "アプリ"
|
||||
@@ -99,12 +89,13 @@
|
||||
"webSearch": "Web search",
|
||||
"webBehavior": "Behavior",
|
||||
"identity": "Identity",
|
||||
"safety": "Safety",
|
||||
"webuiSafety": "Web safety",
|
||||
"capabilities": "機能",
|
||||
"integrations": "Integrations",
|
||||
"cliApps": "CLI アプリ",
|
||||
"mcp": "MCP サービス",
|
||||
"apps": "アプリ"
|
||||
"apps": "アプリ",
|
||||
"nativeHost": "App",
|
||||
"hostSafety": "App safety"
|
||||
},
|
||||
"rows": {
|
||||
"theme": "テーマ",
|
||||
@@ -137,22 +128,16 @@
|
||||
"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",
|
||||
"workspacePath": "デフォルトワークスペース",
|
||||
"localServiceAccess": "Local services",
|
||||
"webuiDefaultAccess": "Default access",
|
||||
"currentModel": "現在のモデル",
|
||||
"brandLogos": "ブランドロゴ",
|
||||
"cliAppsCatalog": "CLI アプリカタログ",
|
||||
"cliAppsFilter": "CLI アプリフィルター"
|
||||
"cliAppsFilter": "CLI アプリフィルター",
|
||||
"engine": "エンジン",
|
||||
"logs": "ログ",
|
||||
"diagnostics": "診断"
|
||||
},
|
||||
"help": {
|
||||
"theme": "ライト表示とダーク表示を切り替えます。",
|
||||
@@ -175,17 +160,22 @@
|
||||
"defaultAspectRatio": "プロンプトでアスペクト比が指定されていない場合に使用します。",
|
||||
"defaultImageSize": "対応しているプロバイダーへ送信するサイズ指定です。",
|
||||
"maxImagesPerTurn": "1 回の generate_image リクエストで生成できる画像数の上限です。",
|
||||
"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.",
|
||||
"botName": "nanobot が表示名を使う場所に表示されます。",
|
||||
"botIcon": "Bot 名の横に表示する短い emoji またはテキストです。",
|
||||
"timezone": "スケジュールと時刻を考慮する返信に使用します。",
|
||||
"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.",
|
||||
"currentModel": "今後の返信で nanobot が使用するモデルを選択します。",
|
||||
"selectedModelProvider": "選択したモデルによって設定されます。",
|
||||
"selectedModelValue": "選択したモデルによって設定されます。",
|
||||
"brandLogos": "ロゴはブランドのドメインから読み込まれ、ローカルアイコンにフォールバックします。",
|
||||
"cliAppsCatalog": "nanobot がローカルで実行できるアプリ CLI を探します。",
|
||||
"cliAppsFilter": "アプリ、カテゴリ、機能で検索します。"
|
||||
"cliAppsFilter": "アプリ、カテゴリ、機能で検索します。",
|
||||
"logs": "Appエンジンのログフォルダを開きます。",
|
||||
"diagnostics": "サポート用の小さなランタイムレポートを書き出します。",
|
||||
"localServiceAccessNative": "Allow Full Access shell commands to reach services on this Mac.",
|
||||
"webuiDefaultAccessNative": "Used by native chats without a project-specific permission."
|
||||
},
|
||||
"values": {
|
||||
"light": "ライト",
|
||||
@@ -201,8 +191,12 @@
|
||||
"expanded": "Expanded",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"defaultPermission": "Default Permission",
|
||||
"fullAccess": "Full Access",
|
||||
"configured": "Configured",
|
||||
"notConfigured": "Not configured"
|
||||
"notConfigured": "Not configured",
|
||||
"pending": "保留中",
|
||||
"restartingEngine": "再起動中"
|
||||
},
|
||||
"status": {
|
||||
"loading": "設定を読み込んでいます...",
|
||||
@@ -212,14 +206,24 @@
|
||||
"savedRestart": "保存しました。反映するには nanobot を再起動してください。",
|
||||
"restartAfterSaving": "変更を保存してから、準備ができたら再起動してください。",
|
||||
"savedRestartApply": "保存しました。準備ができたら再起動してください。",
|
||||
"imageProviderRestart": "画像プロバイダーの変更を保存しました。準備ができたら再起動してください。"
|
||||
"imageProviderRestart": "画像プロバイダーの変更を保存しました。準備ができたら再起動してください。",
|
||||
"hostRestartAfterSaving": "保存すると nanobot がエンジンを再起動します。",
|
||||
"hostRestartPending": "保存しました。準備ができたらエンジンを再起動します。",
|
||||
"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."
|
||||
},
|
||||
"actions": {
|
||||
"save": "保存",
|
||||
"saving": "保存中",
|
||||
"edit": "編集",
|
||||
"cancel": "キャンセル",
|
||||
"openDocs": "Open docs"
|
||||
"open": "開く",
|
||||
"export": "書き出す",
|
||||
"opening": "Opening...",
|
||||
"exporting": "Exporting..."
|
||||
},
|
||||
"byok": {
|
||||
"description": "自分の provider キーを使います。Nanobot は現在の config から値を読み込み、設定済みの provider だけを一般設定で選択できます。",
|
||||
@@ -290,6 +294,7 @@
|
||||
"newConfiguration": "新しいモデル設定",
|
||||
"newConfigurationHelp": "プロバイダーとモデルをワンクリックの選択肢として保存します。",
|
||||
"configurationName": "名前",
|
||||
"configurationNameHelp": "保存済みのモデル設定の名前を変更します。",
|
||||
"configurationNamePlaceholder": "高速ライティング"
|
||||
},
|
||||
"timezone": {
|
||||
@@ -397,6 +402,19 @@
|
||||
"featured": "おすすめ",
|
||||
"loading": "アプリを読み込み中...",
|
||||
"empty": "このフィルターに一致するアプリはありません。"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
@@ -404,7 +422,10 @@
|
||||
"loading": "読み込み中…",
|
||||
"noSessions": "まだセッションがありません。",
|
||||
"showMore": "さらに {{count}} 件表示",
|
||||
"collapsed": "{{count}} 件のチャットを折りたたみ中",
|
||||
"showLess": "折りたたむ",
|
||||
"actions": "「{{title}}」のチャット操作",
|
||||
"newInProject": "「{{project}}」で新しいチャットを開始",
|
||||
"activity": {
|
||||
"running": "Agent running",
|
||||
"complete": "Agent finished"
|
||||
@@ -415,6 +436,9 @@
|
||||
"renameTitle": "Rename chat",
|
||||
"renameDescription": "Choose a local sidebar name for this chat.",
|
||||
"renamePlaceholder": "Chat name",
|
||||
"renameProjectTitle": "Rename project",
|
||||
"renameProjectDescription": "Choose a local sidebar name for this project.",
|
||||
"renameProjectPlaceholder": "Project name",
|
||||
"renameSave": "Save",
|
||||
"archive": "Archive",
|
||||
"unarchive": "Unarchive",
|
||||
@@ -425,6 +449,7 @@
|
||||
"groups": {
|
||||
"pinned": "Pinned",
|
||||
"all": "Chats",
|
||||
"projects": "Projects",
|
||||
"today": "Today",
|
||||
"yesterday": "Yesterday",
|
||||
"earlier": "Earlier",
|
||||
@@ -448,7 +473,12 @@
|
||||
"thread": {
|
||||
"loadingConversation": "会話を読み込み中…",
|
||||
"empty": {
|
||||
"greeting": "何をお手伝いしましょうか?",
|
||||
"greetings": {
|
||||
"workOn": "一緒に何に取り組みましょうか?",
|
||||
"start": "今日はどこから始めましょう?",
|
||||
"build": "今日は何を作りましょうか?",
|
||||
"tackle": "一緒に何を解決しましょう?"
|
||||
},
|
||||
"quickActions": {
|
||||
"plan": {
|
||||
"title": "プロジェクト計画を作成",
|
||||
@@ -632,6 +662,13 @@
|
||||
"mcpBadge": "MCP",
|
||||
"cliDescription": "@{{name}} をローカル CLI アプリとして使用",
|
||||
"mcpDescription": "@{{name}} を MCP サーバーとして使用"
|
||||
},
|
||||
"workspace": {
|
||||
"accessAria": "Workspace access mode",
|
||||
"projectAria": "プロジェクトを選択",
|
||||
"projectPlaceholder": "プロジェクトを選択",
|
||||
"default": "Default Permission",
|
||||
"full": "Full Access"
|
||||
}
|
||||
},
|
||||
"scrollToBottom": "一番下へスクロール",
|
||||
@@ -690,6 +727,19 @@
|
||||
"messageTooBig": {
|
||||
"title": "メッセージが大きすぎます",
|
||||
"body": "サイズ上限を超えたため、直前のメッセージはサーバーに拒否されました。画像を減らすか、より小さいファイルに差し替えて再送してください。"
|
||||
},
|
||||
"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": "パスを貼り付け",
|
||||
"manualPlaceholder": "/Users/name/project",
|
||||
"usePath": "Use Path",
|
||||
"absolutePathRequired": "Enter an absolute folder path on this machine."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
"section": "시스템",
|
||||
"restartHint": "런타임 변경 사항을 적용하려면 nanobot을 다시 시작하세요.",
|
||||
"restart": "nanobot 다시 시작",
|
||||
"restarting": "다시 시작 중..."
|
||||
"restarting": "다시 시작 중...",
|
||||
"restartEngine": "엔진 다시 시작",
|
||||
"restartingEngine": "엔진 다시 시작 중..."
|
||||
},
|
||||
"restart": {
|
||||
"completed": "{{seconds}}초 만에 다시 시작되었습니다."
|
||||
@@ -40,25 +42,13 @@
|
||||
},
|
||||
"sidebar": {
|
||||
"navigation": "사이드바 탐색",
|
||||
"globalActions": "전역 작업",
|
||||
"collapse": "사이드바 접기",
|
||||
"toggleTheme": "테마 전환",
|
||||
"home": "홈",
|
||||
"newChat": "새 채팅",
|
||||
"searchAria": "검색",
|
||||
"viewOptions": "View",
|
||||
"compactList": "Compact list",
|
||||
"showPreviews": "Show previews",
|
||||
"showTimestamps": "Show time",
|
||||
"sortLabel": "Sort",
|
||||
"sortUpdated": "Recently updated",
|
||||
"sortCreated": "Recently created",
|
||||
"sortTitle": "Title A-Z",
|
||||
"searchPlaceholder": "검색",
|
||||
"searchResults": "결과",
|
||||
"noSearchResults": "일치하는 채팅이 없습니다.",
|
||||
"recent": "최근 대화",
|
||||
"refreshSessions": "세션 새로고침",
|
||||
"settings": "설정",
|
||||
"language": {
|
||||
"label": "언어",
|
||||
@@ -80,9 +70,9 @@
|
||||
"models": "Models",
|
||||
"providers": "Providers",
|
||||
"image": "Image",
|
||||
"web": "Web",
|
||||
"runtime": "Runtime",
|
||||
"advanced": "Advanced",
|
||||
"browser": "Web",
|
||||
"runtime": "시스템",
|
||||
"advanced": "Security",
|
||||
"cliApps": "CLI 앱",
|
||||
"mcp": "MCP",
|
||||
"apps": "앱"
|
||||
@@ -99,12 +89,13 @@
|
||||
"webSearch": "Web search",
|
||||
"webBehavior": "Behavior",
|
||||
"identity": "Identity",
|
||||
"safety": "Safety",
|
||||
"webuiSafety": "Web safety",
|
||||
"capabilities": "기능",
|
||||
"integrations": "Integrations",
|
||||
"cliApps": "CLI 앱",
|
||||
"mcp": "MCP 서비스",
|
||||
"apps": "앱"
|
||||
"apps": "앱",
|
||||
"nativeHost": "App",
|
||||
"hostSafety": "App safety"
|
||||
},
|
||||
"rows": {
|
||||
"theme": "테마",
|
||||
@@ -137,22 +128,16 @@
|
||||
"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",
|
||||
"workspacePath": "기본 작업공간",
|
||||
"localServiceAccess": "Local services",
|
||||
"webuiDefaultAccess": "Default access",
|
||||
"currentModel": "현재 모델",
|
||||
"brandLogos": "브랜드 로고",
|
||||
"cliAppsCatalog": "CLI 앱 카탈로그",
|
||||
"cliAppsFilter": "CLI 앱 필터"
|
||||
"cliAppsFilter": "CLI 앱 필터",
|
||||
"engine": "엔진",
|
||||
"logs": "로그",
|
||||
"diagnostics": "진단"
|
||||
},
|
||||
"help": {
|
||||
"theme": "밝은 모드와 어두운 모드를 전환합니다.",
|
||||
@@ -175,17 +160,22 @@
|
||||
"defaultAspectRatio": "프롬프트에서 가로세로 비율을 선택하지 않았을 때 사용됩니다.",
|
||||
"defaultImageSize": "지원하는 제공자에게 보내는 크기 힌트입니다.",
|
||||
"maxImagesPerTurn": "한 번의 generate_image 요청에 대한 상한입니다.",
|
||||
"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.",
|
||||
"botName": "nanobot이 표시 이름을 쓰는 곳에 표시됩니다.",
|
||||
"botIcon": "Bot 이름 옆에 표시할 짧은 emoji 또는 텍스트입니다.",
|
||||
"timezone": "예약과 시간 인식 답변에 사용됩니다.",
|
||||
"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.",
|
||||
"currentModel": "nanobot이 새 답변에 사용할 모델을 선택합니다.",
|
||||
"selectedModelProvider": "선택한 모델에서 설정됩니다.",
|
||||
"selectedModelValue": "선택한 모델에서 설정됩니다.",
|
||||
"brandLogos": "로고는 브랜드 도메인에서 불러오며, 실패하면 로컬 아이콘을 사용합니다.",
|
||||
"cliAppsCatalog": "nanobot이 로컬에서 실행할 수 있는 앱 CLI를 살펴봅니다.",
|
||||
"cliAppsFilter": "앱, 카테고리 또는 기능으로 검색합니다."
|
||||
"cliAppsFilter": "앱, 카테고리 또는 기능으로 검색합니다.",
|
||||
"logs": "App 엔진 로그 폴더를 엽니다.",
|
||||
"diagnostics": "지원용 작은 런타임 보고서를 내보냅니다.",
|
||||
"localServiceAccessNative": "Allow Full Access shell commands to reach services on this Mac.",
|
||||
"webuiDefaultAccessNative": "Used by native chats without a project-specific permission."
|
||||
},
|
||||
"values": {
|
||||
"light": "라이트",
|
||||
@@ -201,8 +191,12 @@
|
||||
"expanded": "Expanded",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"defaultPermission": "Default Permission",
|
||||
"fullAccess": "Full Access",
|
||||
"configured": "Configured",
|
||||
"notConfigured": "Not configured"
|
||||
"notConfigured": "Not configured",
|
||||
"pending": "대기 중",
|
||||
"restartingEngine": "다시 시작 중"
|
||||
},
|
||||
"status": {
|
||||
"loading": "설정을 불러오는 중...",
|
||||
@@ -212,14 +206,24 @@
|
||||
"savedRestart": "저장되었습니다. 적용하려면 nanobot을 재시작하세요.",
|
||||
"restartAfterSaving": "변경 사항을 저장한 뒤 준비되면 재시작하세요.",
|
||||
"savedRestartApply": "저장되었습니다. 준비되면 재시작하세요.",
|
||||
"imageProviderRestart": "이미지 제공자 변경 사항이 저장되었습니다. 준비되면 재시작하세요."
|
||||
"imageProviderRestart": "이미지 제공자 변경 사항이 저장되었습니다. 준비되면 재시작하세요.",
|
||||
"hostRestartAfterSaving": "저장하면 nanobot이 엔진을 다시 시작합니다.",
|
||||
"hostRestartPending": "저장되었습니다. 준비되면 엔진을 다시 시작합니다.",
|
||||
"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."
|
||||
},
|
||||
"actions": {
|
||||
"save": "저장",
|
||||
"saving": "저장 중",
|
||||
"edit": "편집",
|
||||
"cancel": "취소",
|
||||
"openDocs": "Open docs"
|
||||
"open": "열기",
|
||||
"export": "내보내기",
|
||||
"opening": "Opening...",
|
||||
"exporting": "Exporting..."
|
||||
},
|
||||
"byok": {
|
||||
"description": "직접 provider 키를 가져옵니다. Nanobot은 현재 config에서 값을 읽고, 설정된 provider만 일반 설정에서 선택할 수 있습니다.",
|
||||
@@ -290,6 +294,7 @@
|
||||
"newConfiguration": "새 모델 구성",
|
||||
"newConfigurationHelp": "제공자와 모델을 한 번에 선택할 수 있는 옵션으로 저장합니다.",
|
||||
"configurationName": "이름",
|
||||
"configurationNameHelp": "저장된 모델 구성의 이름을 변경합니다.",
|
||||
"configurationNamePlaceholder": "빠른 글쓰기"
|
||||
},
|
||||
"timezone": {
|
||||
@@ -397,6 +402,19 @@
|
||||
"featured": "추천",
|
||||
"loading": "앱 불러오는 중...",
|
||||
"empty": "이 필터와 일치하는 앱이 없습니다."
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
@@ -404,7 +422,10 @@
|
||||
"loading": "불러오는 중…",
|
||||
"noSessions": "아직 세션이 없습니다.",
|
||||
"showMore": "{{count}}개 더 보기",
|
||||
"collapsed": "{{count}}개 채팅 접힘",
|
||||
"showLess": "접기",
|
||||
"actions": "{{title}} 채팅 작업",
|
||||
"newInProject": "{{project}}에서 새 채팅 시작",
|
||||
"activity": {
|
||||
"running": "Agent running",
|
||||
"complete": "Agent finished"
|
||||
@@ -415,6 +436,9 @@
|
||||
"renameTitle": "Rename chat",
|
||||
"renameDescription": "Choose a local sidebar name for this chat.",
|
||||
"renamePlaceholder": "Chat name",
|
||||
"renameProjectTitle": "Rename project",
|
||||
"renameProjectDescription": "Choose a local sidebar name for this project.",
|
||||
"renameProjectPlaceholder": "Project name",
|
||||
"renameSave": "Save",
|
||||
"archive": "Archive",
|
||||
"unarchive": "Unarchive",
|
||||
@@ -425,6 +449,7 @@
|
||||
"groups": {
|
||||
"pinned": "Pinned",
|
||||
"all": "Chats",
|
||||
"projects": "Projects",
|
||||
"today": "Today",
|
||||
"yesterday": "Yesterday",
|
||||
"earlier": "Earlier",
|
||||
@@ -448,7 +473,12 @@
|
||||
"thread": {
|
||||
"loadingConversation": "대화 불러오는 중…",
|
||||
"empty": {
|
||||
"greeting": "무엇을 도와드릴까요?",
|
||||
"greetings": {
|
||||
"workOn": "우리 무엇을 함께 해볼까요?",
|
||||
"start": "오늘은 어디서 시작할까요?",
|
||||
"build": "오늘은 무엇을 만들어볼까요?",
|
||||
"tackle": "함께 무엇을 해결할까요?"
|
||||
},
|
||||
"quickActions": {
|
||||
"plan": {
|
||||
"title": "프로젝트 계획 만들기",
|
||||
@@ -632,6 +662,13 @@
|
||||
"mcpBadge": "MCP",
|
||||
"cliDescription": "@{{name}}을 로컬 CLI 앱으로 사용",
|
||||
"mcpDescription": "@{{name}}을 MCP 서버로 사용"
|
||||
},
|
||||
"workspace": {
|
||||
"accessAria": "Workspace access mode",
|
||||
"projectAria": "프로젝트 선택",
|
||||
"projectPlaceholder": "프로젝트 선택",
|
||||
"default": "Default Permission",
|
||||
"full": "Full Access"
|
||||
}
|
||||
},
|
||||
"scrollToBottom": "맨 아래로 스크롤",
|
||||
@@ -690,6 +727,19 @@
|
||||
"messageTooBig": {
|
||||
"title": "메시지가 너무 큽니다",
|
||||
"body": "마지막 메시지가 서버의 크기 제한을 초과하여 거부되었습니다. 이미지를 줄이거나 더 작은 파일로 바꿔서 다시 보내 주세요."
|
||||
},
|
||||
"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": "경로 붙여넣기",
|
||||
"manualPlaceholder": "/Users/name/project",
|
||||
"usePath": "Use Path",
|
||||
"absolutePathRequired": "Enter an absolute folder path on this machine."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
"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..."
|
||||
"restarting": "Đang khởi động lại...",
|
||||
"restartEngine": "Khởi động lại engine",
|
||||
"restartingEngine": "Đang khởi động lại engine..."
|
||||
},
|
||||
"restart": {
|
||||
"completed": "Khởi động lại hoàn tất sau {{seconds}} giây."
|
||||
@@ -40,25 +42,13 @@
|
||||
},
|
||||
"sidebar": {
|
||||
"navigation": "Điều hướng thanh bên",
|
||||
"globalActions": "Hành động toàn cục",
|
||||
"collapse": "Thu gọn thanh bên",
|
||||
"toggleTheme": "Chuyển giao diện",
|
||||
"home": "Trang chủ",
|
||||
"newChat": "Cuộc trò chuyện mới",
|
||||
"searchAria": "Tìm kiếm",
|
||||
"viewOptions": "View",
|
||||
"compactList": "Compact list",
|
||||
"showPreviews": "Show previews",
|
||||
"showTimestamps": "Show time",
|
||||
"sortLabel": "Sort",
|
||||
"sortUpdated": "Recently updated",
|
||||
"sortCreated": "Recently created",
|
||||
"sortTitle": "Title A-Z",
|
||||
"searchPlaceholder": "Tìm kiếm",
|
||||
"searchResults": "Kết quả",
|
||||
"noSearchResults": "Không có cuộc trò chuyện phù hợp.",
|
||||
"recent": "Gần đây",
|
||||
"refreshSessions": "Làm mới phiên",
|
||||
"settings": "Cài đặt",
|
||||
"language": {
|
||||
"label": "Ngôn ngữ",
|
||||
@@ -80,9 +70,9 @@
|
||||
"models": "Models",
|
||||
"providers": "Providers",
|
||||
"image": "Image",
|
||||
"web": "Web",
|
||||
"runtime": "Runtime",
|
||||
"advanced": "Advanced",
|
||||
"browser": "Web",
|
||||
"runtime": "Hệ thống",
|
||||
"advanced": "Security",
|
||||
"cliApps": "Ứng dụng CLI",
|
||||
"mcp": "MCP",
|
||||
"apps": "Ứng dụng"
|
||||
@@ -99,12 +89,13 @@
|
||||
"webSearch": "Web search",
|
||||
"webBehavior": "Behavior",
|
||||
"identity": "Identity",
|
||||
"safety": "Safety",
|
||||
"webuiSafety": "Web safety",
|
||||
"capabilities": "Khả năng",
|
||||
"integrations": "Integrations",
|
||||
"cliApps": "Ứng dụng CLI",
|
||||
"mcp": "Dịch vụ MCP",
|
||||
"apps": "Ứng dụng"
|
||||
"apps": "Ứng dụng",
|
||||
"nativeHost": "Native host",
|
||||
"hostSafety": "App safety"
|
||||
},
|
||||
"rows": {
|
||||
"theme": "Giao diện",
|
||||
@@ -137,22 +128,16 @@
|
||||
"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",
|
||||
"workspacePath": "Workspace mặc định",
|
||||
"localServiceAccess": "Local services",
|
||||
"webuiDefaultAccess": "Default access",
|
||||
"currentModel": "Mô hình hiện tại",
|
||||
"brandLogos": "Logo thương hiệu",
|
||||
"cliAppsCatalog": "Danh mục ứng dụng CLI",
|
||||
"cliAppsFilter": "Bộ lọc ứng dụng CLI"
|
||||
"cliAppsFilter": "Bộ lọc ứng dụng CLI",
|
||||
"engine": "Engine",
|
||||
"logs": "Nhật ký",
|
||||
"diagnostics": "Chẩn đoán"
|
||||
},
|
||||
"help": {
|
||||
"theme": "Chuyển giữa giao diện sáng và tối.",
|
||||
@@ -175,17 +160,22 @@
|
||||
"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.",
|
||||
"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.",
|
||||
"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.",
|
||||
"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ộ.",
|
||||
"cliAppsFilter": "Tìm theo ứng dụng, danh mục hoặc khả năng."
|
||||
"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.",
|
||||
"webuiDefaultAccessNative": "Used by native chats without a project-specific permission."
|
||||
},
|
||||
"values": {
|
||||
"light": "Sáng",
|
||||
@@ -201,8 +191,12 @@
|
||||
"expanded": "Expanded",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"defaultPermission": "Default Permission",
|
||||
"fullAccess": "Full Access",
|
||||
"configured": "Configured",
|
||||
"notConfigured": "Not configured"
|
||||
"notConfigured": "Not configured",
|
||||
"pending": "Đang chờ",
|
||||
"restartingEngine": "Đang khởi động lại"
|
||||
},
|
||||
"status": {
|
||||
"loading": "Đang tải cài đặt...",
|
||||
@@ -212,14 +206,24 @@
|
||||
"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."
|
||||
"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."
|
||||
},
|
||||
"actions": {
|
||||
"save": "Lưu",
|
||||
"saving": "Đang lưu",
|
||||
"edit": "Sửa",
|
||||
"cancel": "Hủy",
|
||||
"openDocs": "Open docs"
|
||||
"open": "Mở",
|
||||
"export": "Xuất",
|
||||
"opening": "Opening...",
|
||||
"exporting": "Exporting..."
|
||||
},
|
||||
"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.",
|
||||
@@ -290,6 +294,7 @@
|
||||
"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",
|
||||
"configurationNameHelp": "Đổi tên cấu hình mô hình đã lưu này.",
|
||||
"configurationNamePlaceholder": "Viết nhanh"
|
||||
},
|
||||
"timezone": {
|
||||
@@ -397,6 +402,19 @@
|
||||
"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."
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
@@ -404,7 +422,10 @@
|
||||
"loading": "Đang tải…",
|
||||
"noSessions": "Chưa có phiên nào.",
|
||||
"showMore": "Hiển thị thêm {{count}}",
|
||||
"collapsed": "Đã thu gọn {{count}} cuộc trò chuyện",
|
||||
"showLess": "Thu gọn",
|
||||
"actions": "Tác vụ cho cuộc trò chuyện {{title}}",
|
||||
"newInProject": "Bắt đầu cuộc trò chuyện mới trong {{project}}",
|
||||
"activity": {
|
||||
"running": "Agent running",
|
||||
"complete": "Agent finished"
|
||||
@@ -415,6 +436,9 @@
|
||||
"renameTitle": "Rename chat",
|
||||
"renameDescription": "Choose a local sidebar name for this chat.",
|
||||
"renamePlaceholder": "Chat name",
|
||||
"renameProjectTitle": "Rename project",
|
||||
"renameProjectDescription": "Choose a local sidebar name for this project.",
|
||||
"renameProjectPlaceholder": "Project name",
|
||||
"renameSave": "Save",
|
||||
"archive": "Archive",
|
||||
"unarchive": "Unarchive",
|
||||
@@ -425,6 +449,7 @@
|
||||
"groups": {
|
||||
"pinned": "Pinned",
|
||||
"all": "Chats",
|
||||
"projects": "Projects",
|
||||
"today": "Today",
|
||||
"yesterday": "Yesterday",
|
||||
"earlier": "Earlier",
|
||||
@@ -448,7 +473,12 @@
|
||||
"thread": {
|
||||
"loadingConversation": "Đang tải cuộc trò chuyện…",
|
||||
"empty": {
|
||||
"greeting": "Tôi có thể giúp gì cho bạn?",
|
||||
"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",
|
||||
@@ -632,6 +662,13 @@
|
||||
"mcpBadge": "MCP",
|
||||
"cliDescription": "Dùng @{{name}} như ứng dụng CLI cục bộ",
|
||||
"mcpDescription": "Dùng @{{name}} như máy chủ MCP"
|
||||
},
|
||||
"workspace": {
|
||||
"accessAria": "Workspace access mode",
|
||||
"projectAria": "Chọn dự án",
|
||||
"projectPlaceholder": "Chọn dự án",
|
||||
"default": "Default Permission",
|
||||
"full": "Full Access"
|
||||
}
|
||||
},
|
||||
"scrollToBottom": "Cuộn xuống cuối",
|
||||
@@ -690,6 +727,19 @@
|
||||
"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": "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."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
"section": "系统",
|
||||
"restartHint": "重启 nanobot 以应用运行时更改。",
|
||||
"restart": "重启 nanobot",
|
||||
"restarting": "正在重启..."
|
||||
"restarting": "正在重启...",
|
||||
"restartEngine": "重启引擎",
|
||||
"restartingEngine": "正在重启引擎..."
|
||||
},
|
||||
"restart": {
|
||||
"completed": "重启已完成,用时 {{seconds}} 秒。"
|
||||
@@ -40,25 +42,13 @@
|
||||
},
|
||||
"sidebar": {
|
||||
"navigation": "侧边栏导航",
|
||||
"globalActions": "全局操作",
|
||||
"collapse": "收起侧边栏",
|
||||
"toggleTheme": "切换主题",
|
||||
"home": "首页",
|
||||
"newChat": "新建对话",
|
||||
"searchAria": "搜索",
|
||||
"viewOptions": "视图",
|
||||
"compactList": "紧凑列表",
|
||||
"showPreviews": "显示预览",
|
||||
"showTimestamps": "显示时间",
|
||||
"sortLabel": "排序",
|
||||
"sortUpdated": "最近更新",
|
||||
"sortCreated": "最近创建",
|
||||
"sortTitle": "标题 A-Z",
|
||||
"searchPlaceholder": "搜索",
|
||||
"searchResults": "搜索结果",
|
||||
"noSearchResults": "没有匹配的会话。",
|
||||
"recent": "最近对话",
|
||||
"refreshSessions": "刷新会话",
|
||||
"settings": "设置",
|
||||
"language": {
|
||||
"label": "语言",
|
||||
@@ -80,11 +70,11 @@
|
||||
"models": "模型",
|
||||
"providers": "提供商",
|
||||
"image": "图片",
|
||||
"web": "网页",
|
||||
"browser": "网页",
|
||||
"cliApps": "CLI 应用",
|
||||
"mcp": "MCP",
|
||||
"runtime": "运行时",
|
||||
"advanced": "高级",
|
||||
"runtime": "系统",
|
||||
"advanced": "安全",
|
||||
"apps": "应用"
|
||||
},
|
||||
"sections": {
|
||||
@@ -101,10 +91,11 @@
|
||||
"cliApps": "CLI 应用",
|
||||
"mcp": "MCP 服务",
|
||||
"identity": "身份",
|
||||
"safety": "安全",
|
||||
"webuiSafety": "网页端安全",
|
||||
"capabilities": "能力",
|
||||
"integrations": "集成",
|
||||
"apps": "应用"
|
||||
"apps": "应用",
|
||||
"nativeHost": "App",
|
||||
"hostSafety": "App 安全"
|
||||
},
|
||||
"models": {
|
||||
"selectModel": "选择模型",
|
||||
@@ -112,6 +103,7 @@
|
||||
"newConfiguration": "新建模型配置",
|
||||
"newConfigurationHelp": "把服务商和模型保存为一个可直接切换的选项。",
|
||||
"configurationName": "名称",
|
||||
"configurationNameHelp": "重命名这个已保存的模型配置。",
|
||||
"configurationNamePlaceholder": "快速写作"
|
||||
},
|
||||
"rows": {
|
||||
@@ -147,20 +139,14 @@
|
||||
"botName": "Bot 名称",
|
||||
"botIcon": "Bot 图标",
|
||||
"timezone": "时区",
|
||||
"toolHintMaxLength": "工具提示长度",
|
||||
"workspacePath": "工作区路径",
|
||||
"heartbeat": "Heartbeat",
|
||||
"dream": "Dream",
|
||||
"unifiedSession": "统一会话",
|
||||
"restrictWorkspace": "限制在工作区内",
|
||||
"execTool": "Exec 工具",
|
||||
"execSandbox": "Exec 沙箱",
|
||||
"ssrfWhitelist": "SSRF 白名单",
|
||||
"mcpServers": "MCP 服务器",
|
||||
"pathAppend": "PATH 追加",
|
||||
"workspacePath": "默认工作区",
|
||||
"localServiceAccess": "本机服务",
|
||||
"webuiDefaultAccess": "默认权限",
|
||||
"cliAppsCatalog": "目录",
|
||||
"cliAppsFilter": "筛选",
|
||||
"configurationDocs": "配置文档"
|
||||
"engine": "引擎",
|
||||
"logs": "日志",
|
||||
"diagnostics": "诊断"
|
||||
},
|
||||
"help": {
|
||||
"theme": "在浅色和深色外观之间切换。",
|
||||
@@ -187,13 +173,18 @@
|
||||
"defaultAspectRatio": "当提示词没有选择比例时使用。",
|
||||
"defaultImageSize": "发送给支持该能力的服务商的尺寸提示。",
|
||||
"maxImagesPerTurn": "单次 generate_image 请求允许的图片上限。",
|
||||
"botName": "显示在使用 bot 身份的运行时界面里。",
|
||||
"botName": "显示在 nanobot 使用名称的地方。",
|
||||
"botIcon": "显示在 bot 名称旁的短 emoji 或文本。",
|
||||
"timezone": "运行时上下文和计划任务使用的 IANA 时区。",
|
||||
"toolHintMaxLength": "工具进度提示显示的最大字符数。",
|
||||
"timezone": "用于计划任务和需要时间感知的回复。",
|
||||
"cliAppsCatalog": "只安装 nanobot 在本机调用应用时需要的 CLI 适配层,不触碰应用本体。",
|
||||
"cliAppsFilter": "按应用、分类或能力搜索。",
|
||||
"advancedReadOnly": "高级安全控制在 WebUI 中只读;需要时请谨慎编辑 config.json。"
|
||||
"localServiceAccess": "允许完全访问模式下的 shell 命令访问 localhost 服务。",
|
||||
"webuiDefaultAccess": "用于没有单独选择权限的网页端对话。",
|
||||
"securityManagedControls": "网页抓取始终保护本机、内网和元数据服务。核心渠道安全仍由 config.json 管理。",
|
||||
"logs": "打开App引擎日志文件夹。",
|
||||
"diagnostics": "导出一份用于支持排查的运行时报告。",
|
||||
"localServiceAccessNative": "允许完全访问模式下的 shell 命令访问这台 Mac 上的服务。",
|
||||
"webuiDefaultAccessNative": "用于没有单独选择权限的原生 App 对话。"
|
||||
},
|
||||
"timezone": {
|
||||
"select": "选择时区",
|
||||
@@ -298,8 +289,12 @@
|
||||
"expanded": "展开",
|
||||
"on": "开",
|
||||
"off": "关",
|
||||
"defaultPermission": "默认权限",
|
||||
"fullAccess": "完全访问",
|
||||
"configured": "已配置",
|
||||
"notConfigured": "未配置"
|
||||
"notConfigured": "未配置",
|
||||
"pending": "待应用",
|
||||
"restartingEngine": "正在重启"
|
||||
},
|
||||
"status": {
|
||||
"loading": "正在加载设置...",
|
||||
@@ -309,14 +304,24 @@
|
||||
"savedRestart": "已保存。重启 nanobot 后生效。",
|
||||
"restartAfterSaving": "保存后,可在合适时重启。",
|
||||
"savedRestartApply": "已保存,可稍后重启。",
|
||||
"imageProviderRestart": "图片服务商改动已保存,可稍后重启。"
|
||||
"imageProviderRestart": "图片服务商改动已保存,可稍后重启。",
|
||||
"hostRestartAfterSaving": "保存后,nanobot 会自动重启引擎。",
|
||||
"hostRestartPending": "已保存,将在合适时重启引擎。",
|
||||
"hostApiUnavailable": "宿主操作只能在原生 App 内使用。",
|
||||
"logsOpened": "已打开日志文件夹。",
|
||||
"logsOpenFailed": "无法打开日志文件夹。",
|
||||
"diagnosticsExported": "诊断已导出到 {{path}}。",
|
||||
"diagnosticsExportFailed": "无法导出诊断。"
|
||||
},
|
||||
"actions": {
|
||||
"save": "保存",
|
||||
"saving": "保存中",
|
||||
"edit": "编辑",
|
||||
"cancel": "取消",
|
||||
"openDocs": "打开文档"
|
||||
"open": "打开",
|
||||
"export": "导出",
|
||||
"opening": "打开中...",
|
||||
"exporting": "导出中..."
|
||||
},
|
||||
"byok": {
|
||||
"description": "自带服务商密钥。Nanobot 会从当前 config 读取这些值,只有已配置的服务商才能在通用设置里选择。",
|
||||
@@ -397,6 +402,19 @@
|
||||
"featured": "精选",
|
||||
"loading": "正在加载应用...",
|
||||
"empty": "没有符合筛选条件的应用。"
|
||||
},
|
||||
"oauth": {
|
||||
"authentication": "OAuth 认证",
|
||||
"signIn": "登录",
|
||||
"signingIn": "正在登录…",
|
||||
"signInAgain": "重新登录",
|
||||
"signOut": "退出登录",
|
||||
"signedInAs": "已登录为 {{account}}",
|
||||
"signInHelp": "在这台设备上登录;不会把 API key 写入配置。",
|
||||
"signInRequired": "需要登录",
|
||||
"signInBeforeSaving": "先登录这个 OAuth 提供商,然后再保存为当前模型提供商。",
|
||||
"signedIn": "已登录",
|
||||
"notSignedIn": "未登录"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
@@ -404,7 +422,10 @@
|
||||
"loading": "加载中…",
|
||||
"noSessions": "还没有会话。",
|
||||
"showMore": "再显示 {{count}} 个",
|
||||
"collapsed": "已折叠 {{count}} 个对话",
|
||||
"showLess": "收起",
|
||||
"actions": "“{{title}}” 的会话操作",
|
||||
"newInProject": "在 {{project}} 中开始新对话",
|
||||
"activity": {
|
||||
"running": "Agent 正在运行",
|
||||
"complete": "Agent 已完成"
|
||||
@@ -415,6 +436,9 @@
|
||||
"renameTitle": "重命名对话",
|
||||
"renameDescription": "为这个对话设置一个仅用于 WebUI 侧边栏的名称。",
|
||||
"renamePlaceholder": "对话名称",
|
||||
"renameProjectTitle": "重命名项目",
|
||||
"renameProjectDescription": "为这个项目设置一个仅用于 WebUI 侧边栏的名称。",
|
||||
"renameProjectPlaceholder": "项目名称",
|
||||
"renameSave": "保存",
|
||||
"archive": "归档",
|
||||
"unarchive": "取消归档",
|
||||
@@ -425,6 +449,7 @@
|
||||
"groups": {
|
||||
"pinned": "置顶",
|
||||
"all": "对话",
|
||||
"projects": "项目",
|
||||
"today": "今天",
|
||||
"yesterday": "昨天",
|
||||
"earlier": "更早",
|
||||
@@ -448,7 +473,12 @@
|
||||
"thread": {
|
||||
"loadingConversation": "正在加载对话…",
|
||||
"empty": {
|
||||
"greeting": "我可以帮你做什么?",
|
||||
"greetings": {
|
||||
"workOn": "我们要一起做点什么?",
|
||||
"start": "今天从哪里开始?",
|
||||
"build": "今天一起构建什么?",
|
||||
"tackle": "我们要一起解决什么?"
|
||||
},
|
||||
"quickActions": {
|
||||
"plan": {
|
||||
"title": "创建项目计划",
|
||||
@@ -632,7 +662,14 @@
|
||||
"too_large": "图片太大,请换一张小一点的",
|
||||
"io": "无法读取该文件"
|
||||
},
|
||||
"goalStateCloseAria": "关闭目标"
|
||||
"goalStateCloseAria": "关闭目标",
|
||||
"workspace": {
|
||||
"accessAria": "工作区访问权限",
|
||||
"projectAria": "选择项目",
|
||||
"projectPlaceholder": "选择项目",
|
||||
"default": "默认权限",
|
||||
"full": "完全访问权限"
|
||||
}
|
||||
},
|
||||
"scrollToBottom": "滚动到底部",
|
||||
"loadEarlier": "加载更早消息"
|
||||
@@ -690,6 +727,19 @@
|
||||
"messageTooBig": {
|
||||
"title": "消息过大",
|
||||
"body": "服务端因超过大小限制拒收了上一条消息。可移除部分图片或使用更小的图片后重试。"
|
||||
},
|
||||
"workspaceScopeRejected": {
|
||||
"title": "工作区未更改",
|
||||
"body": "网关拒绝了请求的项目或访问权限,Nanobot 已继续使用之前的工作区。"
|
||||
}
|
||||
},
|
||||
"workspace": {
|
||||
"dialog": {
|
||||
"defaultProject": "默认工作区",
|
||||
"manual": "粘贴路径",
|
||||
"manualPlaceholder": "/Users/name/project",
|
||||
"usePath": "使用路径",
|
||||
"absolutePathRequired": "请输入这台机器上的绝对文件夹路径。"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
"section": "系統",
|
||||
"restartHint": "重新啟動 nanobot 以套用執行階段變更。",
|
||||
"restart": "重新啟動 nanobot",
|
||||
"restarting": "正在重新啟動..."
|
||||
"restarting": "正在重新啟動...",
|
||||
"restartEngine": "重新啟動引擎",
|
||||
"restartingEngine": "正在重新啟動引擎..."
|
||||
},
|
||||
"restart": {
|
||||
"completed": "重新啟動已完成,耗時 {{seconds}} 秒。"
|
||||
@@ -40,25 +42,13 @@
|
||||
},
|
||||
"sidebar": {
|
||||
"navigation": "側邊欄導覽",
|
||||
"globalActions": "全域操作",
|
||||
"collapse": "收合側邊欄",
|
||||
"toggleTheme": "切換主題",
|
||||
"home": "首頁",
|
||||
"newChat": "新增對話",
|
||||
"searchAria": "搜尋",
|
||||
"viewOptions": "檢視",
|
||||
"compactList": "緊湊列表",
|
||||
"showPreviews": "顯示預覽",
|
||||
"showTimestamps": "顯示時間",
|
||||
"sortLabel": "排序",
|
||||
"sortUpdated": "最近更新",
|
||||
"sortCreated": "最近建立",
|
||||
"sortTitle": "標題 A-Z",
|
||||
"searchPlaceholder": "搜尋",
|
||||
"searchResults": "搜尋結果",
|
||||
"noSearchResults": "沒有符合的對話。",
|
||||
"recent": "最近對話",
|
||||
"refreshSessions": "重新整理會話",
|
||||
"settings": "設定",
|
||||
"language": {
|
||||
"label": "語言",
|
||||
@@ -80,9 +70,9 @@
|
||||
"models": "Models",
|
||||
"providers": "Providers",
|
||||
"image": "Image",
|
||||
"web": "Web",
|
||||
"runtime": "Runtime",
|
||||
"advanced": "Advanced",
|
||||
"browser": "Web",
|
||||
"runtime": "系統",
|
||||
"advanced": "Security",
|
||||
"cliApps": "CLI 應用",
|
||||
"mcp": "MCP",
|
||||
"apps": "應用"
|
||||
@@ -99,12 +89,13 @@
|
||||
"webSearch": "Web search",
|
||||
"webBehavior": "Behavior",
|
||||
"identity": "Identity",
|
||||
"safety": "Safety",
|
||||
"webuiSafety": "網頁端安全",
|
||||
"capabilities": "功能",
|
||||
"integrations": "Integrations",
|
||||
"cliApps": "CLI 應用",
|
||||
"mcp": "MCP 服務",
|
||||
"apps": "應用"
|
||||
"apps": "應用",
|
||||
"nativeHost": "App",
|
||||
"hostSafety": "App 安全"
|
||||
},
|
||||
"rows": {
|
||||
"theme": "主題",
|
||||
@@ -137,22 +128,16 @@
|
||||
"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",
|
||||
"workspacePath": "預設工作區",
|
||||
"localServiceAccess": "Local services",
|
||||
"webuiDefaultAccess": "Default access",
|
||||
"currentModel": "目前模型",
|
||||
"brandLogos": "品牌標誌",
|
||||
"cliAppsCatalog": "CLI 應用目錄",
|
||||
"cliAppsFilter": "CLI 應用篩選"
|
||||
"cliAppsFilter": "CLI 應用篩選",
|
||||
"engine": "引擎",
|
||||
"logs": "日誌",
|
||||
"diagnostics": "診斷"
|
||||
},
|
||||
"help": {
|
||||
"theme": "在淺色與深色外觀之間切換。",
|
||||
@@ -175,17 +160,22 @@
|
||||
"defaultAspectRatio": "當提示詞未指定長寬比時使用。",
|
||||
"defaultImageSize": "傳送給支援此功能的服務商的尺寸提示。",
|
||||
"maxImagesPerTurn": "單次 generate_image 請求的上限。",
|
||||
"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.",
|
||||
"botName": "顯示在 nanobot 使用名稱的地方。",
|
||||
"botIcon": "顯示在 bot 名稱旁的短 emoji 或文字。",
|
||||
"timezone": "用於排程與需要時間感知的回覆。",
|
||||
"localServiceAccess": "允許完全存取模式下的 shell 命令存取 localhost 服務。",
|
||||
"webuiDefaultAccess": "用於沒有單獨選擇權限的網頁端對話。",
|
||||
"securityManagedControls": "Web fetches always protect local, private, and metadata services. Core channel safety stays in config.json.",
|
||||
"currentModel": "選擇 nanobot 接下來回覆時使用的模型。",
|
||||
"selectedModelProvider": "由目前模型決定。",
|
||||
"selectedModelValue": "由目前模型決定。",
|
||||
"brandLogos": "標誌會從品牌網域載入,並提供本地圖示作為備援。",
|
||||
"cliAppsCatalog": "瀏覽 nanobot 可在本機執行的應用 CLI。",
|
||||
"cliAppsFilter": "按應用、分類或能力搜尋。"
|
||||
"cliAppsFilter": "按應用、分類或能力搜尋。",
|
||||
"logs": "開啟App引擎日誌資料夾。",
|
||||
"diagnostics": "匯出一份供支援排查用的執行階段報告。",
|
||||
"localServiceAccessNative": "允許完全存取模式下的 shell 命令存取這台 Mac 上的服務。",
|
||||
"webuiDefaultAccessNative": "用於沒有單獨選擇權限的原生 App 對話。"
|
||||
},
|
||||
"values": {
|
||||
"light": "淺色",
|
||||
@@ -201,8 +191,12 @@
|
||||
"expanded": "Expanded",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"defaultPermission": "Default Permission",
|
||||
"fullAccess": "Full Access",
|
||||
"configured": "Configured",
|
||||
"notConfigured": "Not configured"
|
||||
"notConfigured": "Not configured",
|
||||
"pending": "待套用",
|
||||
"restartingEngine": "正在重新啟動"
|
||||
},
|
||||
"status": {
|
||||
"loading": "正在載入設定...",
|
||||
@@ -212,14 +206,24 @@
|
||||
"savedRestart": "已儲存。重新啟動 nanobot 後生效。",
|
||||
"restartAfterSaving": "儲存變更後,可在準備好時重新啟動。",
|
||||
"savedRestartApply": "已儲存,可在準備好時重新啟動。",
|
||||
"imageProviderRestart": "圖片服務商變更已儲存,可在準備好時重新啟動。"
|
||||
"imageProviderRestart": "圖片服務商變更已儲存,可在準備好時重新啟動。",
|
||||
"hostRestartAfterSaving": "儲存後,nanobot 會自動重新啟動引擎。",
|
||||
"hostRestartPending": "已儲存,將在適當時重新啟動引擎。",
|
||||
"hostApiUnavailable": "宿主操作只能在原生 App 內使用。",
|
||||
"logsOpened": "已開啟日誌資料夾。",
|
||||
"logsOpenFailed": "無法開啟日誌資料夾。",
|
||||
"diagnosticsExported": "診斷已匯出到 {{path}}。",
|
||||
"diagnosticsExportFailed": "無法匯出診斷。"
|
||||
},
|
||||
"actions": {
|
||||
"save": "儲存",
|
||||
"saving": "儲存中",
|
||||
"edit": "編輯",
|
||||
"cancel": "取消",
|
||||
"openDocs": "Open docs"
|
||||
"open": "開啟",
|
||||
"export": "匯出",
|
||||
"opening": "開啟中...",
|
||||
"exporting": "匯出中..."
|
||||
},
|
||||
"byok": {
|
||||
"description": "自帶 provider key。Nanobot 會從目前 config 讀取這些值,只有已設定的 provider 才能在一般設定中選擇。",
|
||||
@@ -290,6 +294,7 @@
|
||||
"newConfiguration": "新增模型設定",
|
||||
"newConfigurationHelp": "把服務商和模型儲存為一個可直接切換的選項。",
|
||||
"configurationName": "名稱",
|
||||
"configurationNameHelp": "重新命名這個已儲存的模型配置。",
|
||||
"configurationNamePlaceholder": "快速寫作"
|
||||
},
|
||||
"timezone": {
|
||||
@@ -397,6 +402,19 @@
|
||||
"featured": "精選",
|
||||
"loading": "正在載入應用...",
|
||||
"empty": "沒有符合篩選條件的應用。"
|
||||
},
|
||||
"oauth": {
|
||||
"authentication": "OAuth 驗證",
|
||||
"signIn": "登入",
|
||||
"signingIn": "正在登入…",
|
||||
"signInAgain": "重新登入",
|
||||
"signOut": "登出",
|
||||
"signedInAs": "已登入為 {{account}}",
|
||||
"signInHelp": "在這台裝置上登入;不會把 API key 寫入設定。",
|
||||
"signInRequired": "需要登入",
|
||||
"signInBeforeSaving": "請先登入這個 OAuth 提供商,再儲存為目前模型提供商。",
|
||||
"signedIn": "已登入",
|
||||
"notSignedIn": "未登入"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
@@ -404,7 +422,10 @@
|
||||
"loading": "載入中…",
|
||||
"noSessions": "目前還沒有會話。",
|
||||
"showMore": "再顯示 {{count}} 個",
|
||||
"collapsed": "已折疊 {{count}} 個對話",
|
||||
"showLess": "收起",
|
||||
"actions": "「{{title}}」的會話操作",
|
||||
"newInProject": "在 {{project}} 中開始新對話",
|
||||
"activity": {
|
||||
"running": "Agent 正在執行",
|
||||
"complete": "Agent 已完成"
|
||||
@@ -415,6 +436,9 @@
|
||||
"renameTitle": "重新命名對話",
|
||||
"renameDescription": "為這個對話設定僅用於 WebUI 側邊欄的名稱。",
|
||||
"renamePlaceholder": "對話名稱",
|
||||
"renameProjectTitle": "重新命名專案",
|
||||
"renameProjectDescription": "為這個專案設定僅用於 WebUI 側邊欄的名稱。",
|
||||
"renameProjectPlaceholder": "專案名稱",
|
||||
"renameSave": "儲存",
|
||||
"archive": "封存",
|
||||
"unarchive": "取消封存",
|
||||
@@ -425,6 +449,7 @@
|
||||
"groups": {
|
||||
"pinned": "置頂",
|
||||
"all": "對話",
|
||||
"projects": "專案",
|
||||
"today": "今天",
|
||||
"yesterday": "昨天",
|
||||
"earlier": "更早",
|
||||
@@ -448,7 +473,12 @@
|
||||
"thread": {
|
||||
"loadingConversation": "正在載入對話…",
|
||||
"empty": {
|
||||
"greeting": "我可以幫你做什麼?",
|
||||
"greetings": {
|
||||
"workOn": "我們要一起做點什麼?",
|
||||
"start": "今天從哪裡開始?",
|
||||
"build": "今天一起構建什麼?",
|
||||
"tackle": "我們要一起解決什麼?"
|
||||
},
|
||||
"quickActions": {
|
||||
"plan": {
|
||||
"title": "建立專案計畫",
|
||||
@@ -632,6 +662,13 @@
|
||||
"mcpBadge": "MCP",
|
||||
"cliDescription": "使用 @{{name}} 呼叫本機 CLI",
|
||||
"mcpDescription": "使用 @{{name}} 呼叫 MCP 服務"
|
||||
},
|
||||
"workspace": {
|
||||
"accessAria": "工作區存取權限",
|
||||
"projectAria": "選擇專案",
|
||||
"projectPlaceholder": "選擇專案",
|
||||
"default": "預設權限",
|
||||
"full": "完全存取權限"
|
||||
}
|
||||
},
|
||||
"scrollToBottom": "捲動到底部",
|
||||
@@ -690,6 +727,19 @@
|
||||
"messageTooBig": {
|
||||
"title": "訊息過大",
|
||||
"body": "伺服器因超過大小限制拒收了上一則訊息。可移除部分圖片或改用較小的圖片後再試。"
|
||||
},
|
||||
"workspaceScopeRejected": {
|
||||
"title": "工作區未變更",
|
||||
"body": "閘道拒絕了要求的專案或存取權限,Nanobot 已繼續使用先前的工作區。"
|
||||
}
|
||||
},
|
||||
"workspace": {
|
||||
"dialog": {
|
||||
"defaultProject": "預設工作區",
|
||||
"manual": "貼上路徑",
|
||||
"manualPlaceholder": "/Users/name/project",
|
||||
"usePath": "使用路徑",
|
||||
"absolutePathRequired": "請輸入這台機器上的絕對資料夾路徑。"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user