feat(browser): replace the preview proxy with a real browser panel and an agent web tool (#2883)
The preview panel worked by proxying a dev server through OpenChamber's own origin and rewriting the HTML that came back. Anything the rewriter did not anticipate broke, and pages that refuse to be embedded never loaded at all. This deletes the proxy (-1604 lines and its tests) and merges the preview and browser panels into one surface backed by a real Chromium view. What the panel is now - A `<webview>` in its own session partition: logins and cookies persist, hot reload works because nothing is rewritten, DevTools are one click away. - Annotation: pick one element, drag a region, or draw freehand, write a note, and it reaches chat with a screenshot of the visible page with the marks on it. - Toolbar: hard reload, page zoom, device sizes, a light/dark switch that applies to the page rather than the app, and cookie/cache clearing scoped to the panel alone. - Several pages at once, each tab showing the page's own favicon, and an address bar that suggests pages already visited in this project. - Dev servers are listed from what is actually listening on the machine, checked against what a project announced, so a server is offered no matter how it was started. One that is still starting is waited for instead of failing. Remote dev servers The desktop app binds a local port and pipes raw bytes to the OpenChamber host over the existing authenticated connection, so the page keeps its own origin at the root of its own host. The reachable set is exactly what discovery reports and is re-checked per connection, so an authenticated client cannot dial arbitrary local services on the host. Links and redirects to another loopback port stay on the machine that served the page. A tunnel that cannot be opened is reported; it is never replaced by the plain loopback URL, which would answer from the user's own machine under a remote address. Agent control Browser actions are a separate `openchamber_web` tool: open, snapshot, click, type, scroll, inspect computed styles, resize between mobile/tablet/desktop, and capture a screenshot into `.openchamber/screenshots/` in the project. The existing `openchamber` tool keeps sessions, worktrees and scheduled tasks. Each has its own setting in the new Settings -> General -> OpenChamber Tools section, and the plugin is not injected at all when both are off. Capability belongs to the connected client, not to configuration: a client declares on its event stream that it can drive a page, which only a Chromium host does. Exactly one client performs each request — it claims the request before acting, and the first claim wins — because deciding by whose result arrives first would be too late for a click that already happened. No client listening is answered immediately with an explanation rather than a timeout. Runtime boundaries Web tabs get a plain iframe that can display a page but not inspect one. The VS Code extension no longer offers the surface at all, since nothing that makes the panel worth having works there. Mobile is unaffected. Native boundary Camera, microphone, location and device-picker requests from panel pages are denied — Electron grants them by default when no handler is set, and the panel loads whatever address the user types. Page capture, appearance emulation and storage clearing verify that their target belongs to the panel's own session instead of trusting a web-contents id from the renderer. Persisted state Stored `preview` tabs migrate to `browser` (v13 -> v14). Context panel tab limits are now per surface, so filling one surface no longer evicts another's tabs. Address history is stored per project and per runtime. Documentation `preview.mdx` and `desktop-browser.mdx` rewritten across all locales, the agent tool settings path corrected, new `DOCUMENTATION.md` for the browser-control broker and the dev tunnel, and the `ui-api-decoupling` skill updated where it still described the deleted proxy.
This commit is contained in:
committed by
GitHub
parent
50613bb170
commit
a5aa32446d
@@ -943,6 +943,13 @@ export const settingsDict = {
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeUnsupported': 'Verhindern des Schlafens wird auf diesem System nicht unterstützt',
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed': 'Fehler beim Aktualisieren der Einstellung für Wachbleiben',
|
||||
'settings.openchamber.opencodeCli.title': 'OpenCode CLI',
|
||||
'settings.openchamber.tools.title': 'OpenChamber-Werkzeuge',
|
||||
'settings.openchamber.tools.field.agentControlTool': 'Agenten-Steuerungswerkzeug',
|
||||
'settings.openchamber.tools.field.agentControlToolAria': 'Das Agenten-Steuerungswerkzeug aktivieren',
|
||||
'settings.openchamber.tools.field.agentControlToolInfo': 'Lässt Agenten deine Arbeit per Chat orchestrieren: Sitzungen und Arbeitsbereiche starten, Prompts an andere Agenten delegieren und geplante Aufgaben verwalten. Fügt jeder Sitzung eine kleine Werkzeugbeschreibung hinzu. Gilt nach einem Neustart von OpenCode.',
|
||||
'settings.openchamber.tools.field.agentWebTool': 'OpenChamber-Web-Werkzeug',
|
||||
'settings.openchamber.tools.field.agentWebToolAria': 'Das OpenChamber-Web-Werkzeug aktivieren',
|
||||
'settings.openchamber.tools.field.agentWebToolInfo': 'Lässt Agenten die Seite im Browser-Panel von OpenChamber ansehen und bedienen: eine URL öffnen, den Inhalt lesen, klicken, tippen, scrollen und zwischen mobiler und Desktop-Ansicht wechseln. Fügt jeder Sitzung eine kleine Werkzeugbeschreibung hinzu. Gilt nach einem Neustart von OpenCode.',
|
||||
'settings.openchamber.opencodeCli.tooltipPrefix': 'Optionaler absoluter Pfad zur',
|
||||
'settings.openchamber.opencodeCli.tooltipSuffix': 'Binary.',
|
||||
'settings.openchamber.opencodeCli.field.binaryPath': 'OpenCode Binary-Pfad',
|
||||
@@ -2092,9 +2099,6 @@ export const settingsDict = {
|
||||
'settings.openchamber.desktopNetwork.field.macMenuBarDescription': 'Erfordert einen Neustart der App. Wenn deaktiviert, erstellt OpenChamber weder den Menüleisten-Eintrag noch führt es dessen Sitzungs-, Genehmigungs- und Nutzungsaktualisierungen aus.',
|
||||
'settings.openchamber.desktopPassword.actions.showPassword': 'Passwort anzeigen',
|
||||
'settings.openchamber.desktopPassword.actions.hidePassword': 'Passwort verbergen',
|
||||
'settings.openchamber.opencodeCli.field.agentControlTool': 'Agenten-Steuerungswerkzeug',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolAria': 'Das Agenten-Steuerungswerkzeug aktivieren',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolInfo': 'Lässt Agenten deine Arbeit per Chat orchestrieren: Sitzungen und Arbeitsbereiche starten, Prompts an andere Agenten delegieren und geplante Aufgaben verwalten. Fügt jeder Sitzung eine kleine Werkzeugbeschreibung hinzu. Gilt nach Speichern + Neuladen.',
|
||||
'settings.openchamber.defaults.walkthroughModel.title': 'Walkthrough-Modell ändern',
|
||||
'settings.openchamber.defaults.walkthroughModel.description': 'Die KI-Prüfung deiner Änderungen benötigt strukturierten Output und Platz für einen ganzen Diff, den ein günstiges kleines Modell oft nicht liefern kann. Modelle, die der Katalog als nicht in der Lage zu strukturiertem Output meldet, werden in diesem Auswahlfeld ausgeblendet. Lasse es leer, dann wird das kleine Modell verwendet.',
|
||||
'settings.openchamber.defaults.walkthroughModel.overrideModel': 'Walkthrough-Modell',
|
||||
|
||||
@@ -1046,9 +1046,62 @@ export const dict = {
|
||||
'contextPanel.mode.browser': 'Browser',
|
||||
'contextPanel.browser.open': 'Browser-Panel öffnen',
|
||||
'contextPanel.browser.addressAria': 'Browser-Adresse',
|
||||
'contextPanel.browser.history.label': 'Zuletzt besuchte Adressen',
|
||||
'contextPanel.browser.history.forget': 'Aus dem Verlauf entfernen',
|
||||
'contextPanel.browser.newTab': 'Neuer Browser-Tab',
|
||||
'contextPanel.browser.empty': 'Webbrowser',
|
||||
'contextPanel.browser.emptyHint': 'Geben Sie oben eine Adresse ein, um mit dem Surfen im Web zu beginnen',
|
||||
'contextPanel.browser.inspectUnavailable': 'Diese Seite kann nicht aus dem Browser-Panel inspectiert werden.',
|
||||
'contextPanel.browser.back': 'Zurück',
|
||||
'contextPanel.browser.forward': 'Vorwärts',
|
||||
'contextPanel.browser.reload': 'Neu laden',
|
||||
'contextPanel.browser.hardReload': 'Ohne Cache neu laden',
|
||||
'contextPanel.browser.zoomIn': 'Vergrößern',
|
||||
'contextPanel.browser.zoomOut': 'Verkleinern',
|
||||
'contextPanel.browser.zoomReset': 'Zoom zurücksetzen',
|
||||
'contextPanel.browser.clearCookies': 'Cookies löschen',
|
||||
'contextPanel.browser.clearCache': 'Cache löschen',
|
||||
'contextPanel.browser.clearedCookies': 'Cookies gelöscht',
|
||||
'contextPanel.browser.clearedCache': 'Cache gelöscht',
|
||||
'contextPanel.browser.clearFailed': 'Browserdaten konnten nicht gelöscht werden',
|
||||
'contextPanel.browser.stop': 'Stoppen',
|
||||
'contextPanel.browser.openExternal': 'Im Systembrowser öffnen',
|
||||
'contextPanel.browser.devTools': 'DevTools öffnen',
|
||||
'contextPanel.browser.deviceToolbar': 'Geräteleiste umschalten',
|
||||
'contextPanel.browser.device.preset': 'Gerätevorlage',
|
||||
'contextPanel.browser.device.responsive': 'Responsiv',
|
||||
'contextPanel.browser.device.width': 'Viewport-Breite',
|
||||
'contextPanel.browser.device.height': 'Viewport-Höhe',
|
||||
'contextPanel.browser.device.rotate': 'Drehen',
|
||||
'contextPanel.browser.device.schemeSystem': 'Auto',
|
||||
'contextPanel.browser.device.schemeLight': 'Hell',
|
||||
'contextPanel.browser.device.schemeDark': 'Dunkel',
|
||||
'contextPanel.browser.device.schemeFailed': 'Das Seitenaussehen konnte nicht geändert werden',
|
||||
'contextPanel.browser.frameTitle': 'Browser',
|
||||
'contextPanel.browser.loadFailed': 'Diese Seite konnte nicht geladen werden',
|
||||
'contextPanel.browser.waitingForServer': 'Warte auf den Dev-Server',
|
||||
'contextPanel.browser.waitingForServerHint': 'Er nimmt noch keine Verbindungen an. Die Seite lädt, sobald er es tut.',
|
||||
'contextPanel.browser.tunnelFailed': 'Dieser Dev-Server war nicht erreichbar',
|
||||
'contextPanel.browser.tunnelFailedHint': '{url} läuft auf der Maschine, auf der OpenChamber läuft, und die Verbindung dorthin ließ sich nicht öffnen. Von deiner eigenen Maschine wird hier nichts angezeigt.',
|
||||
'contextPanel.browser.loadFailedUnknown': 'Die Seite war nicht erreichbar.',
|
||||
'contextPanel.browser.crashed': 'Diese Seite reagiert nicht mehr',
|
||||
'contextPanel.browser.crashedHint': 'Die Seite ist mehrfach abgestürzt. Lade neu, um es erneut zu versuchen.',
|
||||
'contextPanel.browser.devServers.title': 'Laufende Dev-Server',
|
||||
'projectActions.toast.multipleServers': 'Mehrere Server gestartet — wähle einen im Browser-Panel',
|
||||
'contextPanel.browser.devServers.justStarted': 'Gerade gestartet',
|
||||
'contextPanel.browser.devServers.unavailable': 'Laufende Dev-Server konnten nicht geprüft werden.',
|
||||
'contextPanel.browser.devServers.remoteOnly': 'Diese laufen auf dem Rechner, der OpenChamber hostet. Zum Öffnen wird die Desktop-App benötigt.',
|
||||
'contextPanel.browser.annotate.toggle': 'Seite annotieren',
|
||||
'contextPanel.browser.annotate.intro': 'Dies ist eine annotierte Auswahl aus dem integrierten Browser.',
|
||||
'contextPanel.browser.annotate.attached': 'Annotation an den Chat angehängt',
|
||||
'contextPanel.browser.annotate.noSession': 'Öffne eine Chat-Sitzung, bevor du eine Annotation anhängst',
|
||||
'contextPanel.browser.annotate.noPage': 'Lade eine Seite, bevor du annotierst',
|
||||
'contextPanel.browser.annotate.failed': 'Diese Seite konnte nicht annotiert werden',
|
||||
'contextPanel.browser.annotate.tool.element': 'Element',
|
||||
'contextPanel.browser.annotate.tool.region': 'Bereich',
|
||||
'contextPanel.browser.annotate.tool.draw': 'Zeichnen',
|
||||
'contextPanel.browser.annotate.commentPlaceholder': 'Änderung beschreiben...',
|
||||
'contextPanel.browser.annotate.submit': 'Anhängen',
|
||||
'contextPanel.browser.trustNotice': 'Seiten, die hier geöffnet werden, laufen mit vollständigem Zugriff auf OpenChamber — erforderlich für Inspect und Screenshots. Öffnen Sie nur Seiten, denen Sie vertrauen: Eine bösartige Seite könnte Ihre Daten lesen oder in Ihrem Namen handeln.',
|
||||
'contextPanel.tab.closeTabAria': '{label}-Registerkarte schließen',
|
||||
'contextPanel.actions.collapsePanel': 'Panel einklappen',
|
||||
|
||||
@@ -1005,15 +1005,19 @@ export const settingsDict = {
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeUnsupported': 'Preventing sleep is not supported on this system',
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed': 'Failed to update keep awake setting',
|
||||
'settings.openchamber.opencodeCli.title': 'OpenCode CLI',
|
||||
'settings.openchamber.tools.title': 'OpenChamber Tools',
|
||||
'settings.openchamber.tools.field.agentControlTool': 'Agent control tool',
|
||||
'settings.openchamber.tools.field.agentControlToolAria': 'Enable the agent control tool',
|
||||
'settings.openchamber.tools.field.agentControlToolInfo': 'Let agents orchestrate your work from chat: spin up sessions and worktrees, delegate prompts to other agents, and manage scheduled tasks. Adds a small tool description to each session. Applies after OpenCode restarts.',
|
||||
'settings.openchamber.tools.field.agentWebTool': 'OpenChamber Web tool',
|
||||
'settings.openchamber.tools.field.agentWebToolAria': 'Enable the OpenChamber Web tool',
|
||||
'settings.openchamber.tools.field.agentWebToolInfo': 'Let agents look at and interact with the page in OpenChamber\'s browser panel: open a URL, read the page, click, type, scroll, and switch between mobile and desktop layouts. Adds a small tool description to each session. Applies after OpenCode restarts.',
|
||||
'settings.openchamber.opencodeCli.tooltipPrefix': 'Optional absolute path to the',
|
||||
'settings.openchamber.opencodeCli.tooltipSuffix': 'binary.',
|
||||
'settings.openchamber.opencodeCli.field.binaryPath': 'OpenCode Binary Path',
|
||||
'settings.openchamber.opencodeCli.field.binaryPathPlaceholder': '/Users/you/.bun/bin/opencode',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotifications': 'Show OpenCode update notifications',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotificationsAria': 'Show OpenCode update notifications',
|
||||
'settings.openchamber.opencodeCli.field.agentControlTool': 'Agent control tool',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolAria': 'Enable the agent control tool',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolInfo': 'Let agents orchestrate your work from chat: spin up sessions and worktrees, delegate prompts to other agents, and manage scheduled tasks. Adds a small tool description to each session. Applies after Save + Reload.',
|
||||
'settings.openchamber.opencodeCli.actions.browseAria': 'Browse for OpenCode binary path',
|
||||
'settings.openchamber.opencodeCli.actions.browse': 'Browse',
|
||||
'settings.openchamber.opencodeCli.actions.saveAndReload': 'Save + Reload',
|
||||
|
||||
@@ -1195,9 +1195,62 @@ export const dict = {
|
||||
'contextRail.editorTree.toggle': 'Toggle file tree',
|
||||
'contextPanel.browser.open': 'Open browser panel',
|
||||
'contextPanel.browser.addressAria': 'Browser address',
|
||||
'contextPanel.browser.history.label': 'Recent addresses',
|
||||
'contextPanel.browser.history.forget': 'Remove from history',
|
||||
'contextPanel.browser.newTab': 'New browser tab',
|
||||
'contextPanel.browser.empty': 'Web browser',
|
||||
'contextPanel.browser.emptyHint': 'Enter an address above to start browsing the web',
|
||||
'contextPanel.browser.inspectUnavailable': 'This page cannot be inspected from the browser panel.',
|
||||
'contextPanel.browser.back': 'Back',
|
||||
'contextPanel.browser.forward': 'Forward',
|
||||
'contextPanel.browser.reload': 'Reload',
|
||||
'contextPanel.browser.hardReload': 'Reload ignoring cache',
|
||||
'contextPanel.browser.zoomIn': 'Zoom in',
|
||||
'contextPanel.browser.zoomOut': 'Zoom out',
|
||||
'contextPanel.browser.zoomReset': 'Reset zoom',
|
||||
'contextPanel.browser.clearCookies': 'Clear cookies',
|
||||
'contextPanel.browser.clearCache': 'Clear cache',
|
||||
'contextPanel.browser.clearedCookies': 'Cookies cleared',
|
||||
'contextPanel.browser.clearedCache': 'Cache cleared',
|
||||
'contextPanel.browser.clearFailed': 'Could not clear browsing data',
|
||||
'contextPanel.browser.stop': 'Stop',
|
||||
'contextPanel.browser.openExternal': 'Open in system browser',
|
||||
'contextPanel.browser.devTools': 'Open DevTools',
|
||||
'contextPanel.browser.deviceToolbar': 'Toggle device toolbar',
|
||||
'contextPanel.browser.device.preset': 'Device preset',
|
||||
'contextPanel.browser.device.responsive': 'Responsive',
|
||||
'contextPanel.browser.device.width': 'Viewport width',
|
||||
'contextPanel.browser.device.height': 'Viewport height',
|
||||
'contextPanel.browser.device.rotate': 'Rotate',
|
||||
'contextPanel.browser.device.schemeSystem': 'Auto',
|
||||
'contextPanel.browser.device.schemeLight': 'Light',
|
||||
'contextPanel.browser.device.schemeDark': 'Dark',
|
||||
'contextPanel.browser.device.schemeFailed': 'Could not change the page appearance',
|
||||
'contextPanel.browser.frameTitle': 'Browser',
|
||||
'contextPanel.browser.loadFailed': 'This page could not be loaded',
|
||||
'contextPanel.browser.waitingForServer': 'Waiting for the dev server',
|
||||
'contextPanel.browser.waitingForServerHint': 'It is not accepting connections yet. This page will load as soon as it does.',
|
||||
'contextPanel.browser.tunnelFailed': 'This dev server could not be reached',
|
||||
'contextPanel.browser.tunnelFailedHint': '{url} runs on the machine OpenChamber is on, and the connection to it could not be opened. Nothing from your own machine is shown here.',
|
||||
'contextPanel.browser.loadFailedUnknown': 'The page could not be reached.',
|
||||
'contextPanel.browser.crashed': 'This page stopped responding',
|
||||
'contextPanel.browser.crashedHint': 'The page crashed repeatedly. Reload to try again.',
|
||||
'contextPanel.browser.devServers.title': 'Running dev servers',
|
||||
'projectActions.toast.multipleServers': 'Several servers started — pick one in the browser panel',
|
||||
'contextPanel.browser.devServers.justStarted': 'Just started',
|
||||
'contextPanel.browser.devServers.unavailable': 'Could not check for running dev servers.',
|
||||
'contextPanel.browser.devServers.remoteOnly': 'These run on the machine hosting OpenChamber. Opening them needs the desktop app.',
|
||||
'contextPanel.browser.annotate.toggle': 'Annotate page',
|
||||
'contextPanel.browser.annotate.intro': 'This is an annotated selection from the in-app browser.',
|
||||
'contextPanel.browser.annotate.attached': 'Annotation attached to chat',
|
||||
'contextPanel.browser.annotate.noSession': 'Open a chat session before attaching an annotation',
|
||||
'contextPanel.browser.annotate.noPage': 'Load a page before annotating',
|
||||
'contextPanel.browser.annotate.failed': 'Could not annotate this page',
|
||||
'contextPanel.browser.annotate.tool.element': 'Element',
|
||||
'contextPanel.browser.annotate.tool.region': 'Region',
|
||||
'contextPanel.browser.annotate.tool.draw': 'Draw',
|
||||
'contextPanel.browser.annotate.commentPlaceholder': 'Describe the change...',
|
||||
'contextPanel.browser.annotate.submit': 'Attach',
|
||||
'contextPanel.browser.trustNotice': 'Pages opened here run with full access to OpenChamber — needed for inspect and screenshots. Only open sites you trust: a malicious page could read your data or act on your behalf.',
|
||||
'contextPanel.tab.closeTabAria': 'Close {label} tab',
|
||||
'contextPanel.actions.collapsePanel': 'Collapse panel',
|
||||
|
||||
@@ -973,15 +973,19 @@ export const settingsDict = {
|
||||
"settings.openchamber.desktopNetwork.error.keepAwakeUnsupported": "Evitar la suspensión no es compatible con este sistema",
|
||||
"settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed": "No se pudo actualizar la opción de mantener activo",
|
||||
"settings.openchamber.opencodeCli.title": "CLI de OpenCode",
|
||||
"settings.openchamber.tools.title": "Herramientas de OpenChamber",
|
||||
"settings.openchamber.tools.field.agentControlTool": "Herramienta de control para agentes",
|
||||
"settings.openchamber.tools.field.agentControlToolAria": "Activar la herramienta de control para agentes",
|
||||
"settings.openchamber.tools.field.agentControlToolInfo": "Permite que los agentes orquesten tu trabajo desde el chat: crear sesiones y worktrees, delegar prompts a otros agentes y gestionar tareas programadas. Añade una pequeña descripción de herramienta a cada sesión. Se aplica tras reiniciar OpenCode.",
|
||||
"settings.openchamber.tools.field.agentWebTool": "Herramienta OpenChamber Web",
|
||||
"settings.openchamber.tools.field.agentWebToolAria": "Activar la herramienta OpenChamber Web",
|
||||
"settings.openchamber.tools.field.agentWebToolInfo": "Permite que los agentes vean la página en el panel de navegador de OpenChamber e interactúen con ella: abrir una URL, leer el contenido, hacer clic, escribir, desplazarse y alternar entre diseño móvil y de escritorio. Añade una pequeña descripción de herramienta a cada sesión. Se aplica tras reiniciar OpenCode.",
|
||||
"settings.openchamber.opencodeCli.tooltipPrefix": "Ruta absoluta opcional al",
|
||||
"settings.openchamber.opencodeCli.tooltipSuffix": "ejecutable.",
|
||||
"settings.openchamber.opencodeCli.field.binaryPath": "Ruta del ejecutable de OpenCode",
|
||||
"settings.openchamber.opencodeCli.field.binaryPathPlaceholder": "/Users/you/.bun/bin/opencode",
|
||||
"settings.openchamber.opencodeCli.field.showUpdateNotifications": "Mostrar notificaciones de actualización de OpenCode",
|
||||
"settings.openchamber.opencodeCli.field.showUpdateNotificationsAria": "Mostrar notificaciones de actualización de OpenCode",
|
||||
"settings.openchamber.opencodeCli.field.agentControlTool": "Herramienta de control para agentes",
|
||||
"settings.openchamber.opencodeCli.field.agentControlToolAria": "Activar la herramienta de control para agentes",
|
||||
"settings.openchamber.opencodeCli.field.agentControlToolInfo": "Permite que los agentes orquesten tu trabajo desde el chat: crear sesiones y worktrees, delegar prompts a otros agentes y gestionar tareas programadas. Añade una pequeña descripción de herramienta a cada sesión. Se aplica tras Save + Reload.",
|
||||
"settings.openchamber.opencodeCli.actions.browseAria": "Buscar ruta del ejecutable de OpenCode",
|
||||
"settings.openchamber.opencodeCli.actions.browse": "Buscar",
|
||||
"settings.openchamber.opencodeCli.actions.saveAndReload": "Guardar + Recargar",
|
||||
|
||||
@@ -1196,9 +1196,62 @@ export const dict: Record<I18nKey, string> = {
|
||||
"contextRail.editorTree.toggle": "Alternar árbol de archivos",
|
||||
"contextPanel.browser.open": "Abrir panel del navegador",
|
||||
"contextPanel.browser.addressAria": "Dirección del navegador",
|
||||
"contextPanel.browser.history.label": "Direcciones recientes",
|
||||
"contextPanel.browser.history.forget": "Quitar del historial",
|
||||
"contextPanel.browser.newTab": "Nueva pestaña del navegador",
|
||||
"contextPanel.browser.empty": "Navegador web",
|
||||
"contextPanel.browser.emptyHint": "Ingrese una dirección arriba para comenzar a navegar",
|
||||
"contextPanel.browser.inspectUnavailable": "Esta página no se puede inspeccionar desde el panel del navegador.",
|
||||
"contextPanel.browser.back": "Atrás",
|
||||
"contextPanel.browser.forward": "Adelante",
|
||||
"contextPanel.browser.reload": "Recargar",
|
||||
"contextPanel.browser.hardReload": "Recargar ignorando la caché",
|
||||
"contextPanel.browser.zoomIn": "Acercar",
|
||||
"contextPanel.browser.zoomOut": "Alejar",
|
||||
"contextPanel.browser.zoomReset": "Restablecer zoom",
|
||||
"contextPanel.browser.clearCookies": "Borrar cookies",
|
||||
"contextPanel.browser.clearCache": "Borrar caché",
|
||||
"contextPanel.browser.clearedCookies": "Cookies borradas",
|
||||
"contextPanel.browser.clearedCache": "Caché borrada",
|
||||
"contextPanel.browser.clearFailed": "No se pudieron borrar los datos de navegación",
|
||||
"contextPanel.browser.stop": "Detener",
|
||||
"contextPanel.browser.openExternal": "Abrir en el navegador del sistema",
|
||||
"contextPanel.browser.devTools": "Abrir DevTools",
|
||||
"contextPanel.browser.deviceToolbar": "Barra de dispositivos",
|
||||
"contextPanel.browser.device.preset": "Preajuste de dispositivo",
|
||||
"contextPanel.browser.device.responsive": "Adaptable",
|
||||
"contextPanel.browser.device.width": "Ancho del viewport",
|
||||
"contextPanel.browser.device.height": "Alto del viewport",
|
||||
"contextPanel.browser.device.rotate": "Rotar",
|
||||
"contextPanel.browser.device.schemeSystem": "Auto",
|
||||
"contextPanel.browser.device.schemeLight": "Claro",
|
||||
"contextPanel.browser.device.schemeDark": "Oscuro",
|
||||
"contextPanel.browser.device.schemeFailed": "No se pudo cambiar la apariencia de la página",
|
||||
"contextPanel.browser.frameTitle": "Navegador",
|
||||
"contextPanel.browser.loadFailed": "No se pudo cargar esta página",
|
||||
"contextPanel.browser.waitingForServer": "Esperando al servidor de desarrollo",
|
||||
"contextPanel.browser.waitingForServerHint": "Todavía no acepta conexiones. La página se cargará en cuanto lo haga.",
|
||||
"contextPanel.browser.tunnelFailed": "No se pudo alcanzar este servidor de desarrollo",
|
||||
"contextPanel.browser.tunnelFailedHint": "{url} se ejecuta en la máquina donde está OpenChamber y no se pudo abrir la conexión con ella. Aquí no se muestra nada de tu propia máquina.",
|
||||
"contextPanel.browser.loadFailedUnknown": "No se pudo acceder a la página.",
|
||||
"contextPanel.browser.crashed": "Esta página dejó de responder",
|
||||
"contextPanel.browser.crashedHint": "La página falló varias veces seguidas. Recarga para volver a intentarlo.",
|
||||
"contextPanel.browser.devServers.title": "Servidores de desarrollo activos",
|
||||
"projectActions.toast.multipleServers": "Se iniciaron varios servidores: elige uno en el panel del navegador",
|
||||
"contextPanel.browser.devServers.justStarted": "Recién iniciados",
|
||||
"contextPanel.browser.devServers.unavailable": "No se pudieron comprobar los servidores de desarrollo activos.",
|
||||
"contextPanel.browser.devServers.remoteOnly": "Se ejecutan en la máquina que aloja OpenChamber. Abrirlos requiere la aplicación de escritorio.",
|
||||
"contextPanel.browser.annotate.toggle": "Anotar página",
|
||||
"contextPanel.browser.annotate.intro": "Esta es una selección anotada del navegador integrado.",
|
||||
"contextPanel.browser.annotate.attached": "Anotación adjuntada al chat",
|
||||
"contextPanel.browser.annotate.noSession": "Abre una sesión de chat antes de adjuntar una anotación",
|
||||
"contextPanel.browser.annotate.noPage": "Carga una página antes de anotar",
|
||||
"contextPanel.browser.annotate.failed": "No se pudo anotar esta página",
|
||||
"contextPanel.browser.annotate.tool.element": "Elemento",
|
||||
"contextPanel.browser.annotate.tool.region": "Región",
|
||||
"contextPanel.browser.annotate.tool.draw": "Dibujar",
|
||||
"contextPanel.browser.annotate.commentPlaceholder": "Describe el cambio...",
|
||||
"contextPanel.browser.annotate.submit": "Adjuntar",
|
||||
"contextPanel.browser.trustNotice": "Las páginas que abras aquí se ejecutan con acceso completo a OpenChamber: necesario para la inspección y las capturas. Abre solo sitios de confianza: una página maliciosa podría leer tus datos o actuar en tu nombre.",
|
||||
"contextPanel.tab.closeTabAria": "Cerrar pestaña {label}",
|
||||
"contextPanel.actions.collapsePanel": "Colapsar panel",
|
||||
|
||||
@@ -891,15 +891,19 @@ export const settingsDict = {
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeUnsupported': 'La prévention de la veille n\'est pas prise en charge sur ce système',
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed': 'Échec de la mise à jour du paramètre de maintien en éveil',
|
||||
'settings.openchamber.opencodeCli.title': 'OpenCode CLI',
|
||||
'settings.openchamber.tools.title': 'Outils OpenChamber',
|
||||
'settings.openchamber.tools.field.agentControlTool': 'Outil de contrôle pour les agents',
|
||||
'settings.openchamber.tools.field.agentControlToolAria': 'Activer l’outil de contrôle pour les agents',
|
||||
'settings.openchamber.tools.field.agentControlToolInfo': 'Laissez les agents orchestrer votre travail depuis le chat : créer des sessions et des worktrees, déléguer des prompts à d’autres agents et gérer les tâches planifiées. Ajoute une courte description d’outil à chaque session. Appliqué après le redémarrage d’OpenCode.',
|
||||
'settings.openchamber.tools.field.agentWebTool': 'Outil OpenChamber Web',
|
||||
'settings.openchamber.tools.field.agentWebToolAria': 'Activer l’outil OpenChamber Web',
|
||||
'settings.openchamber.tools.field.agentWebToolInfo': 'Laissez les agents consulter la page dans le panneau navigateur d’OpenChamber et interagir avec elle : ouvrir une URL, lire le contenu, cliquer, saisir du texte, faire défiler et basculer entre les mises en page mobile et bureau. Ajoute une courte description d’outil à chaque session. Appliqué après le redémarrage d’OpenCode.',
|
||||
'settings.openchamber.opencodeCli.tooltipPrefix': 'Chemin absolu facultatif vers le',
|
||||
'settings.openchamber.opencodeCli.tooltipSuffix': 'binaire.',
|
||||
'settings.openchamber.opencodeCli.field.binaryPath': 'Chemin binaire OpenCode',
|
||||
'settings.openchamber.opencodeCli.field.binaryPathPlaceholder': '/Users/you/.bun/bin/opencode',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotifications': 'Afficher les notifications de mise à jour de OpenCode',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotificationsAria': 'Afficher les notifications de mise à jour de OpenCode',
|
||||
'settings.openchamber.opencodeCli.field.agentControlTool': 'Outil de contrôle pour les agents',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolAria': 'Activer l’outil de contrôle pour les agents',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolInfo': 'Laissez les agents orchestrer votre travail depuis le chat : créer des sessions et des worktrees, déléguer des prompts à d’autres agents et gérer les tâches planifiées. Ajoute une courte description d’outil à chaque session. Appliqué après Save + Reload.',
|
||||
'settings.openchamber.opencodeCli.actions.browseAria': 'Rechercher le chemin binaire OpenCode',
|
||||
'settings.openchamber.opencodeCli.actions.browse': 'Parcourir',
|
||||
'settings.openchamber.opencodeCli.actions.saveAndReload': 'Enregistrer + Recharger',
|
||||
|
||||
@@ -1015,6 +1015,9 @@ export const dict = {
|
||||
'contextRail.editorTree.toggle': 'Afficher/masquer l’arborescence de fichiers',
|
||||
'contextPanel.browser.open': 'Ouvrir le panneau du navigateur',
|
||||
'contextPanel.browser.addressAria': 'Adresse du navigateur',
|
||||
'contextPanel.browser.history.label': 'Adresses récentes',
|
||||
'contextPanel.browser.history.forget': 'Retirer de l’historique',
|
||||
'contextPanel.browser.newTab': 'Nouvel onglet du navigateur',
|
||||
'contextPanel.browser.empty': 'Navigateur Internet',
|
||||
'contextPanel.browser.emptyHint': 'Entrez une adresse ci-dessus pour commencer à naviguer sur le Web',
|
||||
'contextPanel.tab.closeTabAria': 'Fermer l\'onglet {label}',
|
||||
@@ -2869,6 +2872,56 @@ export const dict = {
|
||||
'worktree.bootstrap.toast.failedDescription': 'Le worktree a été créé, mais la configuration en arrière-plan ne s’est pas terminée.',
|
||||
'worktree.bootstrap.toast.timeoutDescription': 'Le worktree a été créé, mais la configuration en arrière-plan a expiré.',
|
||||
'contextPanel.browser.inspectUnavailable': 'Cette page ne peut pas être inspectée depuis le panneau de navigateur.',
|
||||
'contextPanel.browser.back': 'Retour',
|
||||
'contextPanel.browser.forward': 'Suivant',
|
||||
'contextPanel.browser.reload': 'Recharger',
|
||||
'contextPanel.browser.hardReload': 'Recharger en ignorant le cache',
|
||||
'contextPanel.browser.zoomIn': 'Zoom avant',
|
||||
'contextPanel.browser.zoomOut': 'Zoom arrière',
|
||||
'contextPanel.browser.zoomReset': 'Réinitialiser le zoom',
|
||||
'contextPanel.browser.clearCookies': 'Effacer les cookies',
|
||||
'contextPanel.browser.clearCache': 'Vider le cache',
|
||||
'contextPanel.browser.clearedCookies': 'Cookies effacés',
|
||||
'contextPanel.browser.clearedCache': 'Cache vidé',
|
||||
'contextPanel.browser.clearFailed': 'Impossible d’effacer les données de navigation',
|
||||
'contextPanel.browser.stop': 'Arrêter',
|
||||
'contextPanel.browser.openExternal': 'Ouvrir dans le navigateur système',
|
||||
'contextPanel.browser.devTools': 'Ouvrir les DevTools',
|
||||
'contextPanel.browser.deviceToolbar': 'Barre d’appareils',
|
||||
'contextPanel.browser.device.preset': 'Préréglage d’appareil',
|
||||
'contextPanel.browser.device.responsive': 'Adaptatif',
|
||||
'contextPanel.browser.device.width': 'Largeur du viewport',
|
||||
'contextPanel.browser.device.height': 'Hauteur du viewport',
|
||||
'contextPanel.browser.device.rotate': 'Pivoter',
|
||||
'contextPanel.browser.device.schemeSystem': 'Auto',
|
||||
'contextPanel.browser.device.schemeLight': 'Clair',
|
||||
'contextPanel.browser.device.schemeDark': 'Sombre',
|
||||
'contextPanel.browser.device.schemeFailed': 'Impossible de changer l’apparence de la page',
|
||||
'contextPanel.browser.frameTitle': 'Navigateur',
|
||||
'contextPanel.browser.loadFailed': 'Impossible de charger cette page',
|
||||
'contextPanel.browser.waitingForServer': 'En attente du serveur de développement',
|
||||
'contextPanel.browser.waitingForServerHint': 'Il n’accepte pas encore de connexions. La page se chargera dès que ce sera le cas.',
|
||||
'contextPanel.browser.tunnelFailed': 'Ce serveur de dev n’a pas pu être atteint',
|
||||
'contextPanel.browser.tunnelFailedHint': '{url} tourne sur la machine où se trouve OpenChamber, et la connexion vers elle n’a pas pu être ouverte. Rien de votre propre machine n’est affiché ici.',
|
||||
'contextPanel.browser.loadFailedUnknown': 'La page n’a pas pu être atteinte.',
|
||||
'contextPanel.browser.crashed': 'Cette page ne répond plus',
|
||||
'contextPanel.browser.crashedHint': 'La page a planté plusieurs fois de suite. Rechargez pour réessayer.',
|
||||
'contextPanel.browser.devServers.title': 'Serveurs de développement actifs',
|
||||
'projectActions.toast.multipleServers': 'Plusieurs serveurs ont démarré — choisissez-en un dans le panneau navigateur',
|
||||
'contextPanel.browser.devServers.justStarted': 'Démarrés à l’instant',
|
||||
'contextPanel.browser.devServers.unavailable': 'Impossible de vérifier les serveurs de développement actifs.',
|
||||
'contextPanel.browser.devServers.remoteOnly': 'Ils tournent sur la machine qui héberge OpenChamber. Les ouvrir nécessite l’application de bureau.',
|
||||
'contextPanel.browser.annotate.toggle': 'Annoter la page',
|
||||
'contextPanel.browser.annotate.intro': 'Ceci est une sélection annotée du navigateur intégré.',
|
||||
'contextPanel.browser.annotate.attached': 'Annotation jointe à la discussion',
|
||||
'contextPanel.browser.annotate.noSession': 'Ouvrez une session de discussion avant de joindre une annotation',
|
||||
'contextPanel.browser.annotate.noPage': 'Chargez une page avant d’annoter',
|
||||
'contextPanel.browser.annotate.failed': 'Impossible d’annoter cette page',
|
||||
'contextPanel.browser.annotate.tool.element': 'Élément',
|
||||
'contextPanel.browser.annotate.tool.region': 'Zone',
|
||||
'contextPanel.browser.annotate.tool.draw': 'Dessin',
|
||||
'contextPanel.browser.annotate.commentPlaceholder': 'Décrivez le changement...',
|
||||
'contextPanel.browser.annotate.submit': 'Joindre',
|
||||
'contextPanel.browser.trustNotice': 'Les pages ouvertes ici s’exécutent avec un accès complet à OpenChamber — nécessaire pour l’inspection et les captures d’écran. N’ouvrez que des sites de confiance : une page malveillante pourrait lire vos données ou agir en votre nom.',
|
||||
'filesView.diagram.closeDiagramView': 'Fermer la vue diagramme',
|
||||
'filesView.diagram.saveDiagram': 'Enregistrer le diagramme',
|
||||
|
||||
@@ -1006,15 +1006,19 @@ export const settingsDict = {
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeUnsupported': 'このシステムではスリープ防止はサポートされていません',
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed': 'スリープ防止設定の更新に失敗しました',
|
||||
'settings.openchamber.opencodeCli.title': 'OpenCode CLI',
|
||||
'settings.openchamber.tools.title': 'OpenChamber ツール',
|
||||
'settings.openchamber.tools.field.agentControlTool': 'エージェント制御ツール',
|
||||
'settings.openchamber.tools.field.agentControlToolAria': 'エージェント制御ツールを有効にする',
|
||||
'settings.openchamber.tools.field.agentControlToolInfo': 'エージェントがチャットから作業をオーケストレーションできるようにします。セッションや worktree の作成、他のエージェントへのプロンプト委任、スケジュールタスクの管理が可能です。各セッションに小さなツール説明が追加されます。OpenCode の再起動後に適用されます。',
|
||||
'settings.openchamber.tools.field.agentWebTool': 'OpenChamber Web ツール',
|
||||
'settings.openchamber.tools.field.agentWebToolAria': 'OpenChamber Web ツールを有効にする',
|
||||
'settings.openchamber.tools.field.agentWebToolInfo': 'エージェントが OpenChamber のブラウザーパネルでページを確認し操作できるようにします。URL を開く、内容を読む、クリック、入力、スクロール、モバイルとデスクトップのレイアウト切り替えが可能です。各セッションに小さなツール説明が追加されます。OpenCode の再起動後に適用されます。',
|
||||
'settings.openchamber.opencodeCli.tooltipPrefix': '以下への絶対パス(任意):',
|
||||
'settings.openchamber.opencodeCli.tooltipSuffix': 'バイナリ。',
|
||||
'settings.openchamber.opencodeCli.field.binaryPath': 'OpenCode バイナリパス',
|
||||
'settings.openchamber.opencodeCli.field.binaryPathPlaceholder': '/Users/you/.bun/bin/opencode',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotifications': 'OpenCode のアップデート通知を表示',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotificationsAria': 'OpenCode のアップデート通知を表示',
|
||||
'settings.openchamber.opencodeCli.field.agentControlTool': 'エージェント制御ツール',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolAria': 'エージェント制御ツールを有効にする',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolInfo': 'エージェントがチャットから作業をオーケストレーションできるようにします。セッションや worktree の作成、他のエージェントへのプロンプト委任、スケジュールタスクの管理が可能です。各セッションに小さなツール説明が追加されます。Save + Reload 後に適用されます。',
|
||||
'settings.openchamber.opencodeCli.actions.browseAria': 'OpenCode バイナリパスを参照',
|
||||
'settings.openchamber.opencodeCli.actions.browse': '参照',
|
||||
'settings.openchamber.opencodeCli.actions.saveAndReload': '保存して再読み込み',
|
||||
|
||||
@@ -1192,9 +1192,62 @@ export const dict: Record<I18nKey, string> = {
|
||||
'contextRail.editorTree.toggle': 'ファイルツリーの表示切替',
|
||||
'contextPanel.browser.open': 'ブラウザパネルを開く',
|
||||
'contextPanel.browser.addressAria': 'ブラウザアドレス',
|
||||
'contextPanel.browser.history.label': '最近のアドレス',
|
||||
'contextPanel.browser.history.forget': '履歴から削除',
|
||||
'contextPanel.browser.newTab': '新しいブラウザタブ',
|
||||
'contextPanel.browser.empty': 'ウェブブラウザ',
|
||||
'contextPanel.browser.emptyHint': '上のアドレスバーにURLを入力してウェブを閲覧',
|
||||
'contextPanel.browser.inspectUnavailable': 'このページはブラウザパネルから検査できません。',
|
||||
'contextPanel.browser.back': '戻る',
|
||||
'contextPanel.browser.forward': '進む',
|
||||
'contextPanel.browser.reload': '再読み込み',
|
||||
'contextPanel.browser.hardReload': 'キャッシュを無視して再読み込み',
|
||||
'contextPanel.browser.zoomIn': '拡大',
|
||||
'contextPanel.browser.zoomOut': '縮小',
|
||||
'contextPanel.browser.zoomReset': 'ズームをリセット',
|
||||
'contextPanel.browser.clearCookies': 'Cookie を削除',
|
||||
'contextPanel.browser.clearCache': 'キャッシュを削除',
|
||||
'contextPanel.browser.clearedCookies': 'Cookie を削除しました',
|
||||
'contextPanel.browser.clearedCache': 'キャッシュを削除しました',
|
||||
'contextPanel.browser.clearFailed': '閲覧データを削除できませんでした',
|
||||
'contextPanel.browser.stop': '停止',
|
||||
'contextPanel.browser.openExternal': 'システムブラウザで開く',
|
||||
'contextPanel.browser.devTools': 'DevTools を開く',
|
||||
'contextPanel.browser.deviceToolbar': 'デバイスツールバー',
|
||||
'contextPanel.browser.device.preset': 'デバイスプリセット',
|
||||
'contextPanel.browser.device.responsive': 'レスポンシブ',
|
||||
'contextPanel.browser.device.width': 'ビューポートの幅',
|
||||
'contextPanel.browser.device.height': 'ビューポートの高さ',
|
||||
'contextPanel.browser.device.rotate': '回転',
|
||||
'contextPanel.browser.device.schemeSystem': '自動',
|
||||
'contextPanel.browser.device.schemeLight': 'ライト',
|
||||
'contextPanel.browser.device.schemeDark': 'ダーク',
|
||||
'contextPanel.browser.device.schemeFailed': 'ページの外観を変更できませんでした',
|
||||
'contextPanel.browser.frameTitle': 'ブラウザ',
|
||||
'contextPanel.browser.loadFailed': 'このページを読み込めませんでした',
|
||||
'contextPanel.browser.waitingForServer': '開発サーバーを待っています',
|
||||
'contextPanel.browser.waitingForServerHint': 'まだ接続を受け付けていません。受け付け次第このページを読み込みます。',
|
||||
'contextPanel.browser.tunnelFailed': 'この開発サーバーに接続できませんでした',
|
||||
'contextPanel.browser.tunnelFailedHint': '{url} は OpenChamber が動いているマシン上にあり、そこへの接続を開けませんでした。あなたのマシンの内容はここには表示されません。',
|
||||
'contextPanel.browser.loadFailedUnknown': 'ページに到達できませんでした。',
|
||||
'contextPanel.browser.crashed': 'このページは応答しなくなりました',
|
||||
'contextPanel.browser.crashedHint': 'ページが繰り返しクラッシュしました。再読み込みして、もう一度お試しください。',
|
||||
'contextPanel.browser.devServers.title': '実行中の開発サーバー',
|
||||
'projectActions.toast.multipleServers': '複数のサーバーが起動しました。ブラウザパネルで選んでください',
|
||||
'contextPanel.browser.devServers.justStarted': '起動したばかり',
|
||||
'contextPanel.browser.devServers.unavailable': '実行中の開発サーバーを確認できませんでした。',
|
||||
'contextPanel.browser.devServers.remoteOnly': 'これらは OpenChamber を動かしているマシン上で動作しています。開くにはデスクトップアプリが必要です。',
|
||||
'contextPanel.browser.annotate.toggle': 'ページに注釈を付ける',
|
||||
'contextPanel.browser.annotate.intro': 'これはアプリ内ブラウザで注釈を付けた選択範囲です。',
|
||||
'contextPanel.browser.annotate.attached': '注釈をチャットに添付しました',
|
||||
'contextPanel.browser.annotate.noSession': '注釈を添付する前にチャットセッションを開いてください',
|
||||
'contextPanel.browser.annotate.noPage': '注釈を付ける前にページを読み込んでください',
|
||||
'contextPanel.browser.annotate.failed': 'このページに注釈を付けられませんでした',
|
||||
'contextPanel.browser.annotate.tool.element': '要素',
|
||||
'contextPanel.browser.annotate.tool.region': '範囲',
|
||||
'contextPanel.browser.annotate.tool.draw': '描画',
|
||||
'contextPanel.browser.annotate.commentPlaceholder': '変更内容を記述...',
|
||||
'contextPanel.browser.annotate.submit': '添付',
|
||||
'contextPanel.browser.trustNotice': 'ここで開かれたページはOpenChamberへの完全なアクセス権を持ちます — 検査とスクリーンショットに必要です。信頼できるサイトのみを開いてください: 悪意のあるページがデータを読み取ったりあなたの代わりに行動したりする可能性があります。',
|
||||
'contextPanel.tab.closeTabAria': '{label}タブを閉じる',
|
||||
'contextPanel.actions.collapsePanel': 'パネルを折りたたむ',
|
||||
|
||||
@@ -973,15 +973,19 @@ export const settingsDict = {
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeUnsupported': '이 시스템에서는 절전 방지를 지원하지 않습니다',
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed': '절전 방지 설정을 업데이트하지 못했습니다',
|
||||
'settings.openchamber.opencodeCli.title': 'OpenCode CLI',
|
||||
'settings.openchamber.tools.title': 'OpenChamber 도구',
|
||||
'settings.openchamber.tools.field.agentControlTool': '에이전트 제어 도구',
|
||||
'settings.openchamber.tools.field.agentControlToolAria': '에이전트 제어 도구 활성화',
|
||||
'settings.openchamber.tools.field.agentControlToolInfo': '에이전트가 채팅에서 작업을 오케스트레이션할 수 있습니다. 세션과 worktree 생성, 다른 에이전트에게 프롬프트 위임, 예약 작업 관리가 가능합니다. 각 세션에 작은 도구 설명이 추가됩니다. OpenCode를 다시 시작하면 적용됩니다.',
|
||||
'settings.openchamber.tools.field.agentWebTool': 'OpenChamber Web 도구',
|
||||
'settings.openchamber.tools.field.agentWebToolAria': 'OpenChamber Web 도구 활성화',
|
||||
'settings.openchamber.tools.field.agentWebToolInfo': '에이전트가 OpenChamber 브라우저 패널에서 페이지를 확인하고 조작할 수 있습니다. URL 열기, 내용 읽기, 클릭, 입력, 스크롤, 모바일과 데스크톱 레이아웃 전환이 가능합니다. 각 세션에 작은 도구 설명이 추가됩니다. OpenCode를 다시 시작하면 적용됩니다.',
|
||||
'settings.openchamber.opencodeCli.tooltipPrefix': '선택적 절대 경로:',
|
||||
'settings.openchamber.opencodeCli.tooltipSuffix': 'binary.',
|
||||
'settings.openchamber.opencodeCli.field.binaryPath': 'OpenCode binary 경로',
|
||||
'settings.openchamber.opencodeCli.field.binaryPathPlaceholder': '/Users/you/.bun/bin/opencode',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotifications': 'OpenCode 업데이트 알림 표시',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotificationsAria': 'OpenCode 업데이트 알림 표시',
|
||||
'settings.openchamber.opencodeCli.field.agentControlTool': '에이전트 제어 도구',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolAria': '에이전트 제어 도구 활성화',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolInfo': '에이전트가 채팅에서 작업을 오케스트레이션할 수 있습니다. 세션과 worktree 생성, 다른 에이전트에게 프롬프트 위임, 예약 작업 관리가 가능합니다. 각 세션에 작은 도구 설명이 추가됩니다. Save + Reload 후 적용됩니다.',
|
||||
'settings.openchamber.opencodeCli.actions.browseAria': 'OpenCode binary 경로 찾아보기',
|
||||
'settings.openchamber.opencodeCli.actions.browse': '찾아보기',
|
||||
'settings.openchamber.opencodeCli.actions.saveAndReload': '저장 + 다시 로드',
|
||||
|
||||
@@ -1196,9 +1196,62 @@ export const dict: Record<I18nKey, string> = {
|
||||
'contextRail.editorTree.toggle': '파일 트리 표시 전환',
|
||||
'contextPanel.browser.open': '브라우저 패널 열기',
|
||||
'contextPanel.browser.addressAria': '브라우저 주소',
|
||||
'contextPanel.browser.history.label': '최근 주소',
|
||||
'contextPanel.browser.history.forget': '기록에서 제거',
|
||||
'contextPanel.browser.newTab': '새 브라우저 탭',
|
||||
'contextPanel.browser.empty': '웹 브라우저',
|
||||
'contextPanel.browser.emptyHint': '위에 주소를 입력하여 탐색을 시작하세요',
|
||||
'contextPanel.browser.inspectUnavailable': '브라우저 패널에서 이 페이지를 검사할 수 없습니다.',
|
||||
'contextPanel.browser.back': '뒤로',
|
||||
'contextPanel.browser.forward': '앞으로',
|
||||
'contextPanel.browser.reload': '새로고침',
|
||||
'contextPanel.browser.hardReload': '캐시를 무시하고 새로고침',
|
||||
'contextPanel.browser.zoomIn': '확대',
|
||||
'contextPanel.browser.zoomOut': '축소',
|
||||
'contextPanel.browser.zoomReset': '확대/축소 초기화',
|
||||
'contextPanel.browser.clearCookies': '쿠키 삭제',
|
||||
'contextPanel.browser.clearCache': '캐시 삭제',
|
||||
'contextPanel.browser.clearedCookies': '쿠키를 삭제했습니다',
|
||||
'contextPanel.browser.clearedCache': '캐시를 삭제했습니다',
|
||||
'contextPanel.browser.clearFailed': '브라우징 데이터를 삭제하지 못했습니다',
|
||||
'contextPanel.browser.stop': '중지',
|
||||
'contextPanel.browser.openExternal': '시스템 브라우저에서 열기',
|
||||
'contextPanel.browser.devTools': 'DevTools 열기',
|
||||
'contextPanel.browser.deviceToolbar': '디바이스 도구 모음',
|
||||
'contextPanel.browser.device.preset': '디바이스 프리셋',
|
||||
'contextPanel.browser.device.responsive': '반응형',
|
||||
'contextPanel.browser.device.width': '뷰포트 너비',
|
||||
'contextPanel.browser.device.height': '뷰포트 높이',
|
||||
'contextPanel.browser.device.rotate': '회전',
|
||||
'contextPanel.browser.device.schemeSystem': '자동',
|
||||
'contextPanel.browser.device.schemeLight': '라이트',
|
||||
'contextPanel.browser.device.schemeDark': '다크',
|
||||
'contextPanel.browser.device.schemeFailed': '페이지 외관을 바꾸지 못했습니다',
|
||||
'contextPanel.browser.frameTitle': '브라우저',
|
||||
'contextPanel.browser.loadFailed': '이 페이지를 불러오지 못했습니다',
|
||||
'contextPanel.browser.waitingForServer': '개발 서버를 기다리는 중',
|
||||
'contextPanel.browser.waitingForServerHint': '아직 연결을 받지 않습니다. 준비되는 대로 이 페이지를 불러옵니다.',
|
||||
'contextPanel.browser.tunnelFailed': '이 개발 서버에 연결하지 못했습니다',
|
||||
'contextPanel.browser.tunnelFailedHint': '{url} 은(는) OpenChamber가 실행 중인 컴퓨터에 있으며, 그곳으로의 연결을 열지 못했습니다. 이 화면에는 사용자 컴퓨터의 내용이 표시되지 않습니다.',
|
||||
'contextPanel.browser.loadFailedUnknown': '페이지에 접근할 수 없습니다.',
|
||||
'contextPanel.browser.crashed': '이 페이지가 응답하지 않습니다',
|
||||
'contextPanel.browser.crashedHint': '페이지가 반복해서 중단되었습니다. 다시 시도하려면 새로 고치세요.',
|
||||
'contextPanel.browser.devServers.title': '실행 중인 개발 서버',
|
||||
'projectActions.toast.multipleServers': '여러 서버가 시작되었습니다. 브라우저 패널에서 선택하세요',
|
||||
'contextPanel.browser.devServers.justStarted': '방금 시작됨',
|
||||
'contextPanel.browser.devServers.unavailable': '실행 중인 개발 서버를 확인하지 못했습니다.',
|
||||
'contextPanel.browser.devServers.remoteOnly': '이 서버들은 OpenChamber가 실행 중인 컴퓨터에 있습니다. 열려면 데스크톱 앱이 필요합니다.',
|
||||
'contextPanel.browser.annotate.toggle': '페이지에 주석 달기',
|
||||
'contextPanel.browser.annotate.intro': '앱 내 브라우저에서 주석을 단 선택 영역입니다.',
|
||||
'contextPanel.browser.annotate.attached': '주석을 채팅에 첨부했습니다',
|
||||
'contextPanel.browser.annotate.noSession': '주석을 첨부하기 전에 채팅 세션을 여세요',
|
||||
'contextPanel.browser.annotate.noPage': '주석을 달기 전에 페이지를 불러오세요',
|
||||
'contextPanel.browser.annotate.failed': '이 페이지에 주석을 달 수 없습니다',
|
||||
'contextPanel.browser.annotate.tool.element': '요소',
|
||||
'contextPanel.browser.annotate.tool.region': '영역',
|
||||
'contextPanel.browser.annotate.tool.draw': '그리기',
|
||||
'contextPanel.browser.annotate.commentPlaceholder': '변경 사항을 설명하세요...',
|
||||
'contextPanel.browser.annotate.submit': '첨부',
|
||||
'contextPanel.browser.trustNotice': '여기서 여는 페이지는 OpenChamber에 대한 전체 액세스 권한으로 실행됩니다 — 검사와 스크린샷에 필요합니다. 신뢰하는 사이트만 여세요: 악성 페이지가 데이터를 읽거나 사용자를 대신해 동작할 수 있습니다.',
|
||||
'contextPanel.preview.actions.reload': '미리보기 새로고침',
|
||||
'contextPanel.preview.actions.openExternal': '브라우저에서 열기',
|
||||
|
||||
@@ -854,12 +854,16 @@ export const settingsDict = {
|
||||
'settings.openchamber.opencodeCli.field.binaryPathPlaceholder': '/Users/you/.bun/bin/opencode',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotifications': 'Pokazuj powiadomienia o aktualizacjach OpenCode',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotificationsAria': 'Pokazuj powiadomienia o aktualizacjach OpenCode',
|
||||
'settings.openchamber.opencodeCli.field.agentControlTool': 'Narzędzie sterowania dla agentów',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolAria': 'Włącz narzędzie sterowania dla agentów',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolInfo': 'Pozwól agentom orkiestrować Twoją pracę z czatu: tworzyć sesje i worktree, delegować prompty innym agentom oraz zarządzać zaplanowanymi zadaniami. Dodaje krótki opis narzędzia do każdej sesji. Zastosowane po Save + Reload.',
|
||||
'settings.openchamber.opencodeCli.tipMiddle': 'zmienna środowiskowa, ale to ustawienie jest zapisywane w',
|
||||
'settings.openchamber.opencodeCli.tipPrefix': 'Wskazówka: możesz również użyć',
|
||||
'settings.openchamber.opencodeCli.title': 'OpenCode CLI',
|
||||
'settings.openchamber.tools.title': 'Narzędzia OpenChamber',
|
||||
'settings.openchamber.tools.field.agentControlTool': 'Narzędzie sterowania dla agentów',
|
||||
'settings.openchamber.tools.field.agentControlToolAria': 'Włącz narzędzie sterowania dla agentów',
|
||||
'settings.openchamber.tools.field.agentControlToolInfo': 'Pozwól agentom orkiestrować Twoją pracę z czatu: tworzyć sesje i worktree, delegować prompty innym agentom oraz zarządzać zaplanowanymi zadaniami. Dodaje krótki opis narzędzia do każdej sesji. Zastosowane po ponownym uruchomieniu OpenCode.',
|
||||
'settings.openchamber.tools.field.agentWebTool': 'Narzędzie OpenChamber Web',
|
||||
'settings.openchamber.tools.field.agentWebToolAria': 'Włącz narzędzie OpenChamber Web',
|
||||
'settings.openchamber.tools.field.agentWebToolInfo': 'Pozwól agentom oglądać stronę w panelu przeglądarki OpenChamber i wchodzić z nią w interakcję: otwierać adres URL, czytać treść, klikać, pisać, przewijać i przełączać między układem mobilnym a desktopowym. Dodaje krótki opis narzędzia do każdej sesji. Zastosowane po ponownym uruchomieniu OpenCode.',
|
||||
'settings.openchamber.opencodeCli.tooltipPrefix': 'Opcjonalna ścieżka absolutna do',
|
||||
'settings.openchamber.opencodeCli.tooltipSuffix': 'pliku binarnego.',
|
||||
'settings.openchamber.passkeys.actions.add': 'Dodaj klucz dostępu (passkey)',
|
||||
|
||||
@@ -1510,9 +1510,62 @@ export const dict: Record<I18nKey, string> = {
|
||||
'contextRail.editorTree.toggle': 'Przełącz drzewo plików',
|
||||
'contextPanel.browser.open': 'Otwórz panel przeglądarki',
|
||||
'contextPanel.browser.addressAria': 'Adres przeglądarki',
|
||||
'contextPanel.browser.history.label': 'Ostatnie adresy',
|
||||
'contextPanel.browser.history.forget': 'Usuń z historii',
|
||||
'contextPanel.browser.newTab': 'Nowa karta przeglądarki',
|
||||
'contextPanel.browser.empty': 'Przeglądarka internetowa',
|
||||
'contextPanel.browser.emptyHint': 'Wprowadź adres powyżej, aby rozpocząć przeglądanie',
|
||||
'contextPanel.browser.inspectUnavailable': 'Nie można sprawdzić tej strony z panelu przeglądarki.',
|
||||
'contextPanel.browser.back': 'Wstecz',
|
||||
'contextPanel.browser.forward': 'Dalej',
|
||||
'contextPanel.browser.reload': 'Odśwież',
|
||||
'contextPanel.browser.hardReload': 'Przeładuj z pominięciem pamięci podręcznej',
|
||||
'contextPanel.browser.zoomIn': 'Powiększ',
|
||||
'contextPanel.browser.zoomOut': 'Pomniejsz',
|
||||
'contextPanel.browser.zoomReset': 'Zresetuj powiększenie',
|
||||
'contextPanel.browser.clearCookies': 'Wyczyść pliki cookie',
|
||||
'contextPanel.browser.clearCache': 'Wyczyść pamięć podręczną',
|
||||
'contextPanel.browser.clearedCookies': 'Pliki cookie wyczyszczone',
|
||||
'contextPanel.browser.clearedCache': 'Pamięć podręczna wyczyszczona',
|
||||
'contextPanel.browser.clearFailed': 'Nie udało się wyczyścić danych przeglądania',
|
||||
'contextPanel.browser.stop': 'Zatrzymaj',
|
||||
'contextPanel.browser.openExternal': 'Otwórz w przeglądarce systemowej',
|
||||
'contextPanel.browser.devTools': 'Otwórz DevTools',
|
||||
'contextPanel.browser.deviceToolbar': 'Pasek urządzeń',
|
||||
'contextPanel.browser.device.preset': 'Ustawienie urządzenia',
|
||||
'contextPanel.browser.device.responsive': 'Responsywny',
|
||||
'contextPanel.browser.device.width': 'Szerokość widoku',
|
||||
'contextPanel.browser.device.height': 'Wysokość widoku',
|
||||
'contextPanel.browser.device.rotate': 'Obróć',
|
||||
'contextPanel.browser.device.schemeSystem': 'Auto',
|
||||
'contextPanel.browser.device.schemeLight': 'Jasny',
|
||||
'contextPanel.browser.device.schemeDark': 'Ciemny',
|
||||
'contextPanel.browser.device.schemeFailed': 'Nie udało się zmienić wyglądu strony',
|
||||
'contextPanel.browser.frameTitle': 'Przeglądarka',
|
||||
'contextPanel.browser.loadFailed': 'Nie udało się wczytać tej strony',
|
||||
'contextPanel.browser.waitingForServer': 'Czekanie na serwer deweloperski',
|
||||
'contextPanel.browser.waitingForServerHint': 'Jeszcze nie przyjmuje połączeń. Strona wczyta się, gdy tylko zacznie.',
|
||||
'contextPanel.browser.tunnelFailed': 'Nie udało się połączyć z tym serwerem deweloperskim',
|
||||
'contextPanel.browser.tunnelFailedHint': '{url} działa na maszynie, na której jest OpenChamber, i nie udało się otworzyć do niej połączenia. Nic z twojej własnej maszyny nie jest tu pokazywane.',
|
||||
'contextPanel.browser.loadFailedUnknown': 'Nie udało się połączyć ze stroną.',
|
||||
'contextPanel.browser.crashed': 'Ta strona przestała odpowiadać',
|
||||
'contextPanel.browser.crashedHint': 'Strona kilkakrotnie uległa awarii. Odśwież, aby spróbować ponownie.',
|
||||
'contextPanel.browser.devServers.title': 'Działające serwery deweloperskie',
|
||||
'projectActions.toast.multipleServers': 'Uruchomiło się kilka serwerów — wybierz jeden w panelu przeglądarki',
|
||||
'contextPanel.browser.devServers.justStarted': 'Właśnie uruchomione',
|
||||
'contextPanel.browser.devServers.unavailable': 'Nie udało się sprawdzić działających serwerów deweloperskich.',
|
||||
'contextPanel.browser.devServers.remoteOnly': 'Działają na komputerze, na którym uruchomiony jest OpenChamber. Do ich otwarcia potrzebna jest aplikacja desktopowa.',
|
||||
'contextPanel.browser.annotate.toggle': 'Dodaj adnotację do strony',
|
||||
'contextPanel.browser.annotate.intro': 'To jest opatrzony adnotacją fragment z wbudowanej przeglądarki.',
|
||||
'contextPanel.browser.annotate.attached': 'Adnotacja dołączona do czatu',
|
||||
'contextPanel.browser.annotate.noSession': 'Otwórz sesję czatu przed dołączeniem adnotacji',
|
||||
'contextPanel.browser.annotate.noPage': 'Wczytaj stronę przed dodaniem adnotacji',
|
||||
'contextPanel.browser.annotate.failed': 'Nie udało się dodać adnotacji do tej strony',
|
||||
'contextPanel.browser.annotate.tool.element': 'Element',
|
||||
'contextPanel.browser.annotate.tool.region': 'Obszar',
|
||||
'contextPanel.browser.annotate.tool.draw': 'Rysuj',
|
||||
'contextPanel.browser.annotate.commentPlaceholder': 'Opisz zmianę...',
|
||||
'contextPanel.browser.annotate.submit': 'Dołącz',
|
||||
'contextPanel.browser.trustNotice': 'Strony otwierane tutaj działają z pełnym dostępem do OpenChamber — jest to wymagane do inspekcji i zrzutów ekranu. Otwieraj tylko zaufane witryny: złośliwa strona może odczytać Twoje dane lub działać w Twoim imieniu.',
|
||||
'contextPanel.preview.actions.openExternal': 'Otwórz w przeglądarce',
|
||||
'contextPanel.preview.actions.reload': 'Odśwież podgląd',
|
||||
|
||||
@@ -973,15 +973,19 @@ export const settingsDict = {
|
||||
"settings.openchamber.desktopNetwork.error.keepAwakeUnsupported": "Impedir suspensão não é compatível com este sistema",
|
||||
"settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed": "Não foi possível atualizar a opção de manter ativo",
|
||||
"settings.openchamber.opencodeCli.title": "CLI do OpenCode",
|
||||
"settings.openchamber.tools.title": "Ferramentas do OpenChamber",
|
||||
"settings.openchamber.tools.field.agentControlTool": "Ferramenta de controle para agentes",
|
||||
"settings.openchamber.tools.field.agentControlToolAria": "Ativar a ferramenta de controle para agentes",
|
||||
"settings.openchamber.tools.field.agentControlToolInfo": "Permita que agentes orquestrem seu trabalho pelo chat: criar sessões e worktrees, delegar prompts a outros agentes e gerenciar tarefas agendadas. Adiciona uma pequena descrição de ferramenta a cada sessão. Aplicado após reiniciar o OpenCode.",
|
||||
"settings.openchamber.tools.field.agentWebTool": "Ferramenta OpenChamber Web",
|
||||
"settings.openchamber.tools.field.agentWebToolAria": "Ativar a ferramenta OpenChamber Web",
|
||||
"settings.openchamber.tools.field.agentWebToolInfo": "Permita que agentes vejam a página no painel de navegador do OpenChamber e interajam com ela: abrir uma URL, ler o conteúdo, clicar, digitar, rolar e alternar entre layout móvel e desktop. Adiciona uma pequena descrição de ferramenta a cada sessão. Aplicado após reiniciar o OpenCode.",
|
||||
"settings.openchamber.opencodeCli.tooltipPrefix": "Caminho absoluto opcional para o",
|
||||
"settings.openchamber.opencodeCli.tooltipSuffix": "executável.",
|
||||
"settings.openchamber.opencodeCli.field.binaryPath": "Caminho do executável do OpenCode",
|
||||
"settings.openchamber.opencodeCli.field.binaryPathPlaceholder": "/Users/you/.bun/bin/opencode",
|
||||
"settings.openchamber.opencodeCli.field.showUpdateNotifications": "Mostrar notificações de atualização do OpenCode",
|
||||
"settings.openchamber.opencodeCli.field.showUpdateNotificationsAria": "Mostrar notificações de atualização do OpenCode",
|
||||
"settings.openchamber.opencodeCli.field.agentControlTool": "Ferramenta de controle para agentes",
|
||||
"settings.openchamber.opencodeCli.field.agentControlToolAria": "Ativar a ferramenta de controle para agentes",
|
||||
"settings.openchamber.opencodeCli.field.agentControlToolInfo": "Permita que agentes orquestrem seu trabalho pelo chat: criar sessões e worktrees, delegar prompts a outros agentes e gerenciar tarefas agendadas. Adiciona uma pequena descrição de ferramenta a cada sessão. Aplicado após Save + Reload.",
|
||||
"settings.openchamber.opencodeCli.actions.browseAria": "Buscar caminho do executável do OpenCode",
|
||||
"settings.openchamber.opencodeCli.actions.browse": "Buscar",
|
||||
"settings.openchamber.opencodeCli.actions.saveAndReload": "Salvar + Recarregar",
|
||||
|
||||
@@ -1196,9 +1196,62 @@ export const dict: Record<I18nKey, string> = {
|
||||
"contextRail.editorTree.toggle": "Alternar árvore de arquivos",
|
||||
"contextPanel.browser.open": "Abrir painel do navegador",
|
||||
"contextPanel.browser.addressAria": "Endereço do navegador",
|
||||
"contextPanel.browser.history.label": "Endereços recentes",
|
||||
"contextPanel.browser.history.forget": "Remover do histórico",
|
||||
"contextPanel.browser.newTab": "Nova aba do navegador",
|
||||
"contextPanel.browser.empty": "Navegador web",
|
||||
"contextPanel.browser.emptyHint": "Digite um endereço acima para começar a navegar",
|
||||
"contextPanel.browser.inspectUnavailable": "Esta página não pode ser inspecionada pelo painel do navegador.",
|
||||
"contextPanel.browser.back": "Voltar",
|
||||
"contextPanel.browser.forward": "Avançar",
|
||||
"contextPanel.browser.reload": "Recarregar",
|
||||
"contextPanel.browser.hardReload": "Recarregar ignorando o cache",
|
||||
"contextPanel.browser.zoomIn": "Ampliar",
|
||||
"contextPanel.browser.zoomOut": "Reduzir",
|
||||
"contextPanel.browser.zoomReset": "Redefinir zoom",
|
||||
"contextPanel.browser.clearCookies": "Limpar cookies",
|
||||
"contextPanel.browser.clearCache": "Limpar cache",
|
||||
"contextPanel.browser.clearedCookies": "Cookies limpos",
|
||||
"contextPanel.browser.clearedCache": "Cache limpo",
|
||||
"contextPanel.browser.clearFailed": "Não foi possível limpar os dados de navegação",
|
||||
"contextPanel.browser.stop": "Parar",
|
||||
"contextPanel.browser.openExternal": "Abrir no navegador do sistema",
|
||||
"contextPanel.browser.devTools": "Abrir DevTools",
|
||||
"contextPanel.browser.deviceToolbar": "Barra de dispositivos",
|
||||
"contextPanel.browser.device.preset": "Predefinição de dispositivo",
|
||||
"contextPanel.browser.device.responsive": "Responsivo",
|
||||
"contextPanel.browser.device.width": "Largura da viewport",
|
||||
"contextPanel.browser.device.height": "Altura da viewport",
|
||||
"contextPanel.browser.device.rotate": "Girar",
|
||||
"contextPanel.browser.device.schemeSystem": "Auto",
|
||||
"contextPanel.browser.device.schemeLight": "Claro",
|
||||
"contextPanel.browser.device.schemeDark": "Escuro",
|
||||
"contextPanel.browser.device.schemeFailed": "Não foi possível mudar a aparência da página",
|
||||
"contextPanel.browser.frameTitle": "Navegador",
|
||||
"contextPanel.browser.loadFailed": "Não foi possível carregar esta página",
|
||||
"contextPanel.browser.waitingForServer": "Aguardando o servidor de desenvolvimento",
|
||||
"contextPanel.browser.waitingForServerHint": "Ele ainda não aceita conexões. A página carregará assim que aceitar.",
|
||||
"contextPanel.browser.tunnelFailed": "Não foi possível alcançar este servidor de desenvolvimento",
|
||||
"contextPanel.browser.tunnelFailedHint": "{url} roda na máquina onde o OpenChamber está e não foi possível abrir a conexão com ela. Nada da sua própria máquina é mostrado aqui.",
|
||||
"contextPanel.browser.loadFailedUnknown": "Não foi possível acessar a página.",
|
||||
"contextPanel.browser.crashed": "Esta página parou de responder",
|
||||
"contextPanel.browser.crashedHint": "A página falhou várias vezes seguidas. Recarregue para tentar de novo.",
|
||||
"contextPanel.browser.devServers.title": "Servidores de desenvolvimento em execução",
|
||||
"projectActions.toast.multipleServers": "Vários servidores iniciaram — escolha um no painel do navegador",
|
||||
"contextPanel.browser.devServers.justStarted": "Recém-iniciados",
|
||||
"contextPanel.browser.devServers.unavailable": "Não foi possível verificar os servidores de desenvolvimento em execução.",
|
||||
"contextPanel.browser.devServers.remoteOnly": "Eles rodam na máquina que hospeda o OpenChamber. Abri-los exige o aplicativo desktop.",
|
||||
"contextPanel.browser.annotate.toggle": "Anotar página",
|
||||
"contextPanel.browser.annotate.intro": "Esta é uma seleção anotada do navegador integrado.",
|
||||
"contextPanel.browser.annotate.attached": "Anotação anexada ao chat",
|
||||
"contextPanel.browser.annotate.noSession": "Abra uma sessão de chat antes de anexar uma anotação",
|
||||
"contextPanel.browser.annotate.noPage": "Carregue uma página antes de anotar",
|
||||
"contextPanel.browser.annotate.failed": "Não foi possível anotar esta página",
|
||||
"contextPanel.browser.annotate.tool.element": "Elemento",
|
||||
"contextPanel.browser.annotate.tool.region": "Região",
|
||||
"contextPanel.browser.annotate.tool.draw": "Desenhar",
|
||||
"contextPanel.browser.annotate.commentPlaceholder": "Descreva a mudança...",
|
||||
"contextPanel.browser.annotate.submit": "Anexar",
|
||||
"contextPanel.browser.trustNotice": "As páginas abertas aqui são executadas com acesso total ao OpenChamber — necessário para inspeção e capturas de tela. Abra apenas sites confiáveis: uma página maliciosa pode ler seus dados ou agir em seu nome.",
|
||||
"contextPanel.tab.closeTabAria": "Fechar aba {label}",
|
||||
"contextPanel.actions.collapsePanel": "Recolher painel",
|
||||
|
||||
@@ -973,15 +973,19 @@ export const settingsDict = {
|
||||
"settings.openchamber.desktopNetwork.error.keepAwakeUnsupported": "Запобігання сну не підтримується на цій системі",
|
||||
"settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed": "Не вдалося оновити налаштування утримання комп’ютера активним",
|
||||
"settings.openchamber.opencodeCli.title": "OpenCode CLI",
|
||||
"settings.openchamber.tools.title": "Інструменти OpenChamber",
|
||||
"settings.openchamber.tools.field.agentControlTool": "Інструмент керування для агентів",
|
||||
"settings.openchamber.tools.field.agentControlToolAria": "Увімкнути інструмент керування для агентів",
|
||||
"settings.openchamber.tools.field.agentControlToolInfo": "Дозвольте агентам оркеструвати вашу роботу з чату: створювати сесії та worktree, делегувати запити іншим агентам і керувати запланованими задачами. Додає невеликий опис інструмента до кожної сесії. Застосовується після перезапуску OpenCode.",
|
||||
"settings.openchamber.tools.field.agentWebTool": "Інструмент OpenChamber Web",
|
||||
"settings.openchamber.tools.field.agentWebToolAria": "Увімкнути інструмент OpenChamber Web",
|
||||
"settings.openchamber.tools.field.agentWebToolInfo": "Дозвольте агентам переглядати сторінку в панелі браузера OpenChamber і взаємодіяти з нею: відкривати URL, читати вміст, клікати, вводити текст, гортати та перемикатися між мобільним і десктопним виглядом. Додає невеликий опис інструмента до кожної сесії. Застосовується після перезапуску OpenCode.",
|
||||
"settings.openchamber.opencodeCli.tooltipPrefix": "Додатковий абсолютний шлях до",
|
||||
"settings.openchamber.opencodeCli.tooltipSuffix": "бінарного файлу.",
|
||||
"settings.openchamber.opencodeCli.field.binaryPath": "Шлях до бінарного файлу OpenCode",
|
||||
"settings.openchamber.opencodeCli.field.binaryPathPlaceholder": "/Users/you/.bun/bin/opencode",
|
||||
"settings.openchamber.opencodeCli.field.showUpdateNotifications": "Показувати сповіщення про оновлення OpenCode",
|
||||
"settings.openchamber.opencodeCli.field.showUpdateNotificationsAria": "Показувати сповіщення про оновлення OpenCode",
|
||||
"settings.openchamber.opencodeCli.field.agentControlTool": "Інструмент керування для агентів",
|
||||
"settings.openchamber.opencodeCli.field.agentControlToolAria": "Увімкнути інструмент керування для агентів",
|
||||
"settings.openchamber.opencodeCli.field.agentControlToolInfo": "Дозвольте агентам оркеструвати вашу роботу з чату: створювати сесії та worktree, делегувати запити іншим агентам і керувати запланованими задачами. Додає невеликий опис інструмента до кожної сесії. Застосовується після Save + Reload.",
|
||||
"settings.openchamber.opencodeCli.actions.browseAria": "Вибрати шлях до виконуваного файла OpenCode",
|
||||
"settings.openchamber.opencodeCli.actions.browse": "Огляд",
|
||||
"settings.openchamber.opencodeCli.actions.saveAndReload": "Зберегти й перезавантажити",
|
||||
|
||||
@@ -1196,9 +1196,62 @@ export const dict: Record<I18nKey, string> = {
|
||||
"contextRail.editorTree.toggle": "Перемкнути дерево файлів",
|
||||
"contextPanel.browser.open": "Відкрити панель браузера",
|
||||
"contextPanel.browser.addressAria": "Адреса браузера",
|
||||
"contextPanel.browser.history.label": "Нещодавні адреси",
|
||||
"contextPanel.browser.history.forget": "Прибрати з історії",
|
||||
"contextPanel.browser.newTab": "Нова вкладка браузера",
|
||||
"contextPanel.browser.empty": "Веб-браузер",
|
||||
"contextPanel.browser.emptyHint": "Введіть адресу вище, щоб почати перегляд",
|
||||
"contextPanel.browser.inspectUnavailable": "Цю сторінку неможливо інспектувати з панелі браузера.",
|
||||
"contextPanel.browser.back": "Назад",
|
||||
"contextPanel.browser.forward": "Вперед",
|
||||
"contextPanel.browser.reload": "Перезавантажити",
|
||||
"contextPanel.browser.hardReload": "Перезавантажити без кешу",
|
||||
"contextPanel.browser.zoomIn": "Збільшити",
|
||||
"contextPanel.browser.zoomOut": "Зменшити",
|
||||
"contextPanel.browser.zoomReset": "Скинути масштаб",
|
||||
"contextPanel.browser.clearCookies": "Очистити cookies",
|
||||
"contextPanel.browser.clearCache": "Очистити кеш",
|
||||
"contextPanel.browser.clearedCookies": "Cookies очищено",
|
||||
"contextPanel.browser.clearedCache": "Кеш очищено",
|
||||
"contextPanel.browser.clearFailed": "Не вдалося очистити дані браузера",
|
||||
"contextPanel.browser.stop": "Зупинити",
|
||||
"contextPanel.browser.openExternal": "Відкрити в системному браузері",
|
||||
"contextPanel.browser.devTools": "Відкрити DevTools",
|
||||
"contextPanel.browser.deviceToolbar": "Панель пристроїв",
|
||||
"contextPanel.browser.device.preset": "Пресет пристрою",
|
||||
"contextPanel.browser.device.responsive": "Адаптивно",
|
||||
"contextPanel.browser.device.width": "Ширина вьюпорта",
|
||||
"contextPanel.browser.device.height": "Висота вьюпорта",
|
||||
"contextPanel.browser.device.rotate": "Повернути",
|
||||
"contextPanel.browser.device.schemeSystem": "Авто",
|
||||
"contextPanel.browser.device.schemeLight": "Світла",
|
||||
"contextPanel.browser.device.schemeDark": "Темна",
|
||||
"contextPanel.browser.device.schemeFailed": "Не вдалося змінити оформлення сторінки",
|
||||
"contextPanel.browser.frameTitle": "Браузер",
|
||||
"contextPanel.browser.loadFailed": "Не вдалося завантажити цю сторінку",
|
||||
"contextPanel.browser.waitingForServer": "Очікування dev-сервера",
|
||||
"contextPanel.browser.waitingForServerHint": "Він ще не приймає зʼєднання. Сторінка завантажиться, щойно почне.",
|
||||
"contextPanel.browser.tunnelFailed": "Не вдалося дістатися цього dev-сервера",
|
||||
"contextPanel.browser.tunnelFailedHint": "{url} працює на машині, де запущено OpenChamber, і зʼєднання з ним відкрити не вдалося. Нічого зі своєї машини тут не показано.",
|
||||
"contextPanel.browser.loadFailedUnknown": "Не вдалося звернутися до сторінки.",
|
||||
"contextPanel.browser.crashed": "Ця сторінка перестала відповідати",
|
||||
"contextPanel.browser.crashedHint": "Сторінка аварійно завершувалась кілька разів поспіль. Перезавантажте, щоб спробувати ще раз.",
|
||||
"contextPanel.browser.devServers.title": "Запущені dev-сервери",
|
||||
"projectActions.toast.multipleServers": "Запустилося кілька серверів — оберіть у панелі браузера",
|
||||
"contextPanel.browser.devServers.justStarted": "Щойно запущені",
|
||||
"contextPanel.browser.devServers.unavailable": "Не вдалося перевірити запущені dev-сервери.",
|
||||
"contextPanel.browser.devServers.remoteOnly": "Вони працюють на машині, де запущено OpenChamber. Щоб їх відкрити, потрібен десктопний застосунок.",
|
||||
"contextPanel.browser.annotate.toggle": "Анотувати сторінку",
|
||||
"contextPanel.browser.annotate.intro": "Це анотований фрагмент із вбудованого браузера.",
|
||||
"contextPanel.browser.annotate.attached": "Анотацію додано до чату",
|
||||
"contextPanel.browser.annotate.noSession": "Відкрийте сесію чату, перш ніж додавати анотацію",
|
||||
"contextPanel.browser.annotate.noPage": "Завантажте сторінку, перш ніж анотувати",
|
||||
"contextPanel.browser.annotate.failed": "Не вдалося анотувати цю сторінку",
|
||||
"contextPanel.browser.annotate.tool.element": "Елемент",
|
||||
"contextPanel.browser.annotate.tool.region": "Область",
|
||||
"contextPanel.browser.annotate.tool.draw": "Малювання",
|
||||
"contextPanel.browser.annotate.commentPlaceholder": "Опишіть зміну...",
|
||||
"contextPanel.browser.annotate.submit": "Додати",
|
||||
"contextPanel.browser.trustNotice": "Сторінки, відкриті тут, працюють із повним доступом до OpenChamber — це потрібно для inspect і скріншотів. Відкривайте лише сайти, яким довіряєте: шкідлива сторінка може прочитати ваші дані чи діяти від вашого імені.",
|
||||
"contextPanel.tab.closeTabAria": "Закрити вкладку {label}",
|
||||
"contextPanel.actions.collapsePanel": "Згорнути панель",
|
||||
|
||||
@@ -973,15 +973,19 @@ export const settingsDict = {
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeUnsupported': '此系统不支持防止睡眠',
|
||||
'settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed': '更新保持唤醒设置失败',
|
||||
'settings.openchamber.opencodeCli.title': 'OpenCode CLI',
|
||||
'settings.openchamber.tools.title': 'OpenChamber 工具',
|
||||
'settings.openchamber.tools.field.agentControlTool': '智能体控制工具',
|
||||
'settings.openchamber.tools.field.agentControlToolAria': '启用智能体控制工具',
|
||||
'settings.openchamber.tools.field.agentControlToolInfo': '让智能体在聊天中编排你的工作:创建会话和 worktree、将提示委派给其他智能体、管理计划任务。会为每个会话添加少量工具说明。在 OpenCode 重启后生效。',
|
||||
'settings.openchamber.tools.field.agentWebTool': 'OpenChamber Web 工具',
|
||||
'settings.openchamber.tools.field.agentWebToolAria': '启用 OpenChamber Web 工具',
|
||||
'settings.openchamber.tools.field.agentWebToolInfo': '让智能体在 OpenChamber 浏览器面板中查看并操作页面:打开网址、读取内容、点击、输入、滚动,以及在移动端与桌面端布局之间切换。会为每个会话添加少量工具说明。在 OpenCode 重启后生效。',
|
||||
'settings.openchamber.opencodeCli.tooltipPrefix': '可选的',
|
||||
'settings.openchamber.opencodeCli.tooltipSuffix': '二进制绝对路径。',
|
||||
'settings.openchamber.opencodeCli.field.binaryPath': 'OpenCode 可执行文件路径',
|
||||
'settings.openchamber.opencodeCli.field.binaryPathPlaceholder': '/Users/you/.bun/bin/opencode',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotifications': '显示 OpenCode 更新通知',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotificationsAria': '显示 OpenCode 更新通知',
|
||||
'settings.openchamber.opencodeCli.field.agentControlTool': '智能体控制工具',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolAria': '启用智能体控制工具',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolInfo': '让智能体在聊天中编排你的工作:创建会话和 worktree、将提示委派给其他智能体、管理计划任务。会为每个会话添加少量工具说明。在 Save + Reload 后生效。',
|
||||
'settings.openchamber.opencodeCli.actions.browseAria': '浏览 OpenCode 可执行文件路径',
|
||||
'settings.openchamber.opencodeCli.actions.browse': '浏览',
|
||||
'settings.openchamber.opencodeCli.actions.saveAndReload': '保存并重载',
|
||||
|
||||
@@ -1196,9 +1196,62 @@ export const dict: Record<I18nKey, string> = {
|
||||
'contextRail.editorTree.toggle': '切换文件树',
|
||||
'contextPanel.browser.open': '打开浏览器面板',
|
||||
'contextPanel.browser.addressAria': '浏览器地址',
|
||||
'contextPanel.browser.history.label': '最近访问的地址',
|
||||
'contextPanel.browser.history.forget': '从历史记录中移除',
|
||||
'contextPanel.browser.newTab': '新建浏览器标签页',
|
||||
'contextPanel.browser.empty': '网页浏览器',
|
||||
'contextPanel.browser.emptyHint': '在上方输入网址开始浏览',
|
||||
'contextPanel.browser.inspectUnavailable': '无法从浏览器面板检查此页面。',
|
||||
'contextPanel.browser.back': '后退',
|
||||
'contextPanel.browser.forward': '前进',
|
||||
'contextPanel.browser.reload': '重新加载',
|
||||
'contextPanel.browser.hardReload': '忽略缓存重新加载',
|
||||
'contextPanel.browser.zoomIn': '放大',
|
||||
'contextPanel.browser.zoomOut': '缩小',
|
||||
'contextPanel.browser.zoomReset': '重置缩放',
|
||||
'contextPanel.browser.clearCookies': '清除 Cookie',
|
||||
'contextPanel.browser.clearCache': '清除缓存',
|
||||
'contextPanel.browser.clearedCookies': '已清除 Cookie',
|
||||
'contextPanel.browser.clearedCache': '已清除缓存',
|
||||
'contextPanel.browser.clearFailed': '无法清除浏览数据',
|
||||
'contextPanel.browser.stop': '停止',
|
||||
'contextPanel.browser.openExternal': '在系统浏览器中打开',
|
||||
'contextPanel.browser.devTools': '打开开发者工具',
|
||||
'contextPanel.browser.deviceToolbar': '设备工具栏',
|
||||
'contextPanel.browser.device.preset': '设备预设',
|
||||
'contextPanel.browser.device.responsive': '自适应',
|
||||
'contextPanel.browser.device.width': '视口宽度',
|
||||
'contextPanel.browser.device.height': '视口高度',
|
||||
'contextPanel.browser.device.rotate': '旋转',
|
||||
'contextPanel.browser.device.schemeSystem': '自动',
|
||||
'contextPanel.browser.device.schemeLight': '浅色',
|
||||
'contextPanel.browser.device.schemeDark': '深色',
|
||||
'contextPanel.browser.device.schemeFailed': '无法更改页面外观',
|
||||
'contextPanel.browser.frameTitle': '浏览器',
|
||||
'contextPanel.browser.loadFailed': '无法加载此页面',
|
||||
'contextPanel.browser.waitingForServer': '正在等待开发服务器',
|
||||
'contextPanel.browser.waitingForServerHint': '它还没有开始接受连接。一旦可用,本页就会加载。',
|
||||
'contextPanel.browser.tunnelFailed': '无法连接到这个开发服务器',
|
||||
'contextPanel.browser.tunnelFailedHint': '{url} 运行在 OpenChamber 所在的机器上,无法与其建立连接。这里不会显示你本机上的任何内容。',
|
||||
'contextPanel.browser.loadFailedUnknown': '无法访问该页面。',
|
||||
'contextPanel.browser.crashed': '此页面已停止响应',
|
||||
'contextPanel.browser.crashedHint': '页面反复崩溃。请重新加载后再试。',
|
||||
'contextPanel.browser.devServers.title': '正在运行的开发服务器',
|
||||
'projectActions.toast.multipleServers': '启动了多个服务器 — 请在浏览器面板中选择',
|
||||
'contextPanel.browser.devServers.justStarted': '刚刚启动',
|
||||
'contextPanel.browser.devServers.unavailable': '无法检查正在运行的开发服务器。',
|
||||
'contextPanel.browser.devServers.remoteOnly': '它们运行在托管 OpenChamber 的那台机器上。要打开它们需要桌面应用。',
|
||||
'contextPanel.browser.annotate.toggle': '标注页面',
|
||||
'contextPanel.browser.annotate.intro': '这是来自应用内浏览器的标注选区。',
|
||||
'contextPanel.browser.annotate.attached': '标注已附加到聊天',
|
||||
'contextPanel.browser.annotate.noSession': '附加标注前请先打开聊天会话',
|
||||
'contextPanel.browser.annotate.noPage': '标注前请先加载页面',
|
||||
'contextPanel.browser.annotate.failed': '无法标注此页面',
|
||||
'contextPanel.browser.annotate.tool.element': '元素',
|
||||
'contextPanel.browser.annotate.tool.region': '区域',
|
||||
'contextPanel.browser.annotate.tool.draw': '绘制',
|
||||
'contextPanel.browser.annotate.commentPlaceholder': '描述所需更改...',
|
||||
'contextPanel.browser.annotate.submit': '附加',
|
||||
'contextPanel.browser.trustNotice': '在此打开的页面以对 OpenChamber 的完全访问权限运行 — 检查和截图需要此权限。仅打开你信任的站点:恶意页面可能读取你的数据或以你的身份执行操作。',
|
||||
'contextPanel.tab.closeTabAria': '关闭 {label} 标签',
|
||||
'contextPanel.actions.collapsePanel': '折叠面板',
|
||||
|
||||
@@ -947,15 +947,19 @@
|
||||
'settings.openchamber.desktopNetwork.error.saveFailed': '儲存桌面設定失敗',
|
||||
'settings.openchamber.desktopNetwork.error.savedRestartFailed': '已儲存,但重新啟動應用程式失敗',
|
||||
'settings.openchamber.opencodeCli.title': 'OpenCode CLI',
|
||||
'settings.openchamber.tools.title': 'OpenChamber 工具',
|
||||
'settings.openchamber.tools.field.agentControlTool': '智慧代理控制工具',
|
||||
'settings.openchamber.tools.field.agentControlToolAria': '啟用智慧代理控制工具',
|
||||
'settings.openchamber.tools.field.agentControlToolInfo': '讓代理從聊天中協調你的工作:建立工作階段與 worktree、將提示委派給其他代理、管理排程任務。會為每個工作階段加入少量工具說明。在 OpenCode 重新啟動後生效。',
|
||||
'settings.openchamber.tools.field.agentWebTool': 'OpenChamber Web 工具',
|
||||
'settings.openchamber.tools.field.agentWebToolAria': '啟用 OpenChamber Web 工具',
|
||||
'settings.openchamber.tools.field.agentWebToolInfo': '讓代理在 OpenChamber 瀏覽器面板中檢視並操作頁面:開啟網址、讀取內容、點擊、輸入、捲動,以及在行動版與桌面版版面之間切換。會為每個工作階段加入少量工具說明。在 OpenCode 重新啟動後生效。',
|
||||
'settings.openchamber.opencodeCli.tooltipPrefix': '可選的',
|
||||
'settings.openchamber.opencodeCli.tooltipSuffix': '二進位檔絕對路徑。',
|
||||
'settings.openchamber.opencodeCli.field.binaryPath': 'OpenCode 可執行檔路徑',
|
||||
'settings.openchamber.opencodeCli.field.binaryPathPlaceholder': '/Users/you/.bun/bin/opencode',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotifications': '顯示 OpenCode 更新通知',
|
||||
'settings.openchamber.opencodeCli.field.showUpdateNotificationsAria': '顯示 OpenCode 更新通知',
|
||||
'settings.openchamber.opencodeCli.field.agentControlTool': '智慧代理控制工具',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolAria': '啟用智慧代理控制工具',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolInfo': '讓代理從聊天中協調你的工作:建立工作階段與 worktree、將提示委派給其他代理、管理排程任務。會為每個工作階段加入少量工具說明。在 Save + Reload 後生效。',
|
||||
'settings.openchamber.opencodeCli.actions.browseAria': '瀏覽 OpenCode 可執行檔路徑',
|
||||
'settings.openchamber.opencodeCli.actions.browse': '瀏覽',
|
||||
'settings.openchamber.opencodeCli.actions.saveAndReload': '儲存並重新載入',
|
||||
|
||||
@@ -1208,9 +1208,62 @@ export const dict: Record<I18nKey, string> = {
|
||||
'contextRail.editorTree.toggle': '切換檔案樹',
|
||||
'contextPanel.browser.open': '開啟瀏覽器面板',
|
||||
'contextPanel.browser.addressAria': '瀏覽器網址',
|
||||
'contextPanel.browser.history.label': '最近造訪的網址',
|
||||
'contextPanel.browser.history.forget': '從歷史紀錄中移除',
|
||||
'contextPanel.browser.newTab': '新增瀏覽器分頁',
|
||||
'contextPanel.browser.empty': '網頁瀏覽器',
|
||||
'contextPanel.browser.emptyHint': '在上方輸入網址開始瀏覽',
|
||||
'contextPanel.browser.inspectUnavailable': '無法從瀏覽器面板檢查此頁面。',
|
||||
'contextPanel.browser.back': '上一頁',
|
||||
'contextPanel.browser.forward': '下一頁',
|
||||
'contextPanel.browser.reload': '重新載入',
|
||||
'contextPanel.browser.hardReload': '忽略快取重新載入',
|
||||
'contextPanel.browser.zoomIn': '放大',
|
||||
'contextPanel.browser.zoomOut': '縮小',
|
||||
'contextPanel.browser.zoomReset': '重設縮放',
|
||||
'contextPanel.browser.clearCookies': '清除 Cookie',
|
||||
'contextPanel.browser.clearCache': '清除快取',
|
||||
'contextPanel.browser.clearedCookies': '已清除 Cookie',
|
||||
'contextPanel.browser.clearedCache': '已清除快取',
|
||||
'contextPanel.browser.clearFailed': '無法清除瀏覽資料',
|
||||
'contextPanel.browser.stop': '停止',
|
||||
'contextPanel.browser.openExternal': '在系統瀏覽器中開啟',
|
||||
'contextPanel.browser.devTools': '開啟開發者工具',
|
||||
'contextPanel.browser.deviceToolbar': '裝置工具列',
|
||||
'contextPanel.browser.device.preset': '裝置預設',
|
||||
'contextPanel.browser.device.responsive': '自適應',
|
||||
'contextPanel.browser.device.width': '視口寬度',
|
||||
'contextPanel.browser.device.height': '視口高度',
|
||||
'contextPanel.browser.device.rotate': '旋轉',
|
||||
'contextPanel.browser.device.schemeSystem': '自動',
|
||||
'contextPanel.browser.device.schemeLight': '淺色',
|
||||
'contextPanel.browser.device.schemeDark': '深色',
|
||||
'contextPanel.browser.device.schemeFailed': '無法變更頁面外觀',
|
||||
'contextPanel.browser.frameTitle': '瀏覽器',
|
||||
'contextPanel.browser.loadFailed': '無法載入此頁面',
|
||||
'contextPanel.browser.waitingForServer': '正在等待開發伺服器',
|
||||
'contextPanel.browser.waitingForServerHint': '它尚未開始接受連線。一旦可用,本頁就會載入。',
|
||||
'contextPanel.browser.tunnelFailed': '無法連線到這個開發伺服器',
|
||||
'contextPanel.browser.tunnelFailedHint': '{url} 執行在 OpenChamber 所在的機器上,無法與其建立連線。這裡不會顯示你本機上的任何內容。',
|
||||
'contextPanel.browser.loadFailedUnknown': '無法連線到該頁面。',
|
||||
'contextPanel.browser.crashed': '此頁面已停止回應',
|
||||
'contextPanel.browser.crashedHint': '頁面反覆當機。請重新載入後再試。',
|
||||
'contextPanel.browser.devServers.title': '執行中的開發伺服器',
|
||||
'projectActions.toast.multipleServers': '啟動了多個伺服器 — 請在瀏覽器面板中選擇',
|
||||
'contextPanel.browser.devServers.justStarted': '剛剛啟動',
|
||||
'contextPanel.browser.devServers.unavailable': '無法檢查執行中的開發伺服器。',
|
||||
'contextPanel.browser.devServers.remoteOnly': '它們執行在託管 OpenChamber 的那台機器上。要開啟它們需要桌面應用程式。',
|
||||
'contextPanel.browser.annotate.toggle': '標註頁面',
|
||||
'contextPanel.browser.annotate.intro': '這是來自應用程式內建瀏覽器的標註選取範圍。',
|
||||
'contextPanel.browser.annotate.attached': '標註已附加至聊天',
|
||||
'contextPanel.browser.annotate.noSession': '附加標註前請先開啟聊天工作階段',
|
||||
'contextPanel.browser.annotate.noPage': '標註前請先載入頁面',
|
||||
'contextPanel.browser.annotate.failed': '無法標註此頁面',
|
||||
'contextPanel.browser.annotate.tool.element': '元素',
|
||||
'contextPanel.browser.annotate.tool.region': '區域',
|
||||
'contextPanel.browser.annotate.tool.draw': '繪製',
|
||||
'contextPanel.browser.annotate.commentPlaceholder': '描述所需變更...',
|
||||
'contextPanel.browser.annotate.submit': '附加',
|
||||
'contextPanel.browser.trustNotice': '在此開啟的頁面以對 OpenChamber 的完整存取權限執行 — 檢查與截圖需要此權限。僅開啟你信任的網站:惡意頁面可能讀取你的資料或以你的身分執行操作。',
|
||||
'contextPanel.tab.closeTabAria': '關閉 {label} 分頁',
|
||||
'contextPanel.actions.collapsePanel': '摺疊面板',
|
||||
|
||||
Reference in New Issue
Block a user