zigmini 1.0.0-beta.2 → 1.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +36 -3
- package/README.md +36 -3
- package/assets/agent/gateway-request-rules.md +1 -1
- package/assets/agent/gateway-rules.md +6 -1
- package/assets/android/zigmini.apk +0 -0
- package/assets/android/zigmini.apk.json +3 -3
- package/assets/build.json +1 -1
- package/assets/document-reader/document-reader +0 -0
- package/assets/document-reader/host-selector +0 -0
- package/assets/document-reader/manifest.json +27 -0
- package/docs/manual.ko.md +120 -11
- package/docs/manual.md +123 -12
- package/host/document-reader/DocumentRead.swift +370 -0
- package/host/document-reader/HostSelector.swift +192 -0
- package/host/document-reader/Protocol.swift +647 -0
- package/host/document-reader/main.swift +22 -0
- package/host/omo-bridge/agent-aside-tool.ts +119 -0
- package/host/omo-bridge/agent-aside.ts +522 -0
- package/host/omo-bridge/agent-collaboration-files.ts +282 -0
- package/host/omo-bridge/agent-collaboration.ts +385 -0
- package/host/omo-bridge/agent-control.ts +400 -28
- package/host/omo-bridge/agent-execution.sb +42 -0
- package/host/omo-bridge/agent-execution.ts +158 -0
- package/host/omo-bridge/agent-tool-adapters.ts +388 -0
- package/host/omo-bridge/agent-tool-permissions.ts +96 -0
- package/host/omo-bridge/aside-tabs.ts +41 -0
- package/host/omo-bridge/attachment-read.ts +100 -0
- package/host/omo-bridge/bridge.ts +10 -0
- package/host/omo-bridge/managed-call.ts +46 -0
- package/host/omo-bridge/task-control.ts +39 -5
- package/host/omo-check/patches/attachments-293/README.md +138 -0
- package/host/omo-check/patches/attachments-293/document-content.js +234 -0
- package/host/omo-check/patches/attachments-293/document-content.types.txt +91 -0
- package/host/omo-check/patches/attachments-293/omo-5.1.51-documents.patch +831 -0
- package/host/omo-check/patches/attachments-293/omo-5.1.51-gateway-port.manifest.json +471 -0
- package/host/omo-check/patches/omo-5.1.51-agent-tool-authority.patch +471 -0
- package/host/omo-check/patches/omo-5.1.51-chatgpt-terra.patch +21 -0
- package/host/omo-check/patches/omo-5.1.51-gateway-port.manifest.json +44 -6
- package/host/omo-check/patches/omo-5.1.51-memory-receipts.patch +5 -0
- package/package.json +5 -3
- package/src/agent/api.ts +345 -20
- package/src/agent/artifacts.ts +196 -0
- package/src/agent/aside-target-routes.ts +369 -0
- package/src/agent/aside-targets.ts +215 -0
- package/src/agent/collaboration-admission.ts +47 -0
- package/src/agent/collaboration-read.ts +117 -0
- package/src/agent/collaboration-session.ts +196 -0
- package/src/agent/collaboration-types.ts +258 -0
- package/src/agent/collaboration.ts +399 -0
- package/src/agent/definition.ts +65 -3
- package/src/agent/fields.ts +9 -3
- package/src/agent/file-core.ts +325 -0
- package/src/agent/files.ts +87 -8
- package/src/agent/list.ts +3 -3
- package/src/agent/managed-call.ts +144 -0
- package/src/agent/tool-catalog.ts +184 -0
- package/src/agent/tool-delivery.ts +359 -0
- package/src/agent/tool-permission-types.ts +81 -0
- package/src/agent/tool-permissions.ts +1366 -0
- package/src/attachments/api.ts +161 -0
- package/src/attachments/document-reader.ts +325 -0
- package/src/attachments/host-selector.ts +410 -0
- package/src/attachments/managed-binding.ts +83 -0
- package/src/attachments/prepare.ts +214 -0
- package/src/attachments/selector-port.ts +28 -0
- package/src/attachments/service.ts +729 -0
- package/src/attachments/store.ts +698 -0
- package/src/attachments/types.ts +123 -0
- package/src/cli/doctor.ts +30 -10
- package/src/decisions.ts +109 -10
- package/src/engine/apply-patch.ts +21 -0
- package/src/engine/compat.json +2 -1
- package/src/engine/install.ts +45 -4
- package/src/engine/sandbox-cell.ts +2 -0
- package/src/gc.ts +33 -225
- package/src/housekeeping/api.ts +163 -0
- package/src/housekeeping/audit.ts +61 -0
- package/src/housekeeping/collectors/agent-collaboration.ts +33 -0
- package/src/housekeeping/collectors/agent-drafts.ts +43 -0
- package/src/housekeeping/collectors/agent-file-trash.ts +36 -0
- package/src/housekeeping/collectors/agent-trash.ts +28 -0
- package/src/housekeeping/collectors/attachment-cleanup.ts +35 -0
- package/src/housekeeping/collectors/db-backup.ts +25 -0
- package/src/housekeeping/collectors/docker-build-cache.ts +29 -0
- package/src/housekeeping/collectors/docker-image.ts +135 -0
- package/src/housekeeping/collectors/omo-version.ts +32 -0
- package/src/housekeeping/collectors/orphan-test-process.ts +205 -0
- package/src/housekeeping/collectors/reconcile-work.ts +55 -0
- package/src/housekeeping/collectors/rpc-daemon.ts +39 -0
- package/src/housekeeping/collectors/shared.ts +149 -0
- package/src/housekeeping/collectors/temp-dir.ts +28 -0
- package/src/housekeeping/collectors/update-file.ts +25 -0
- package/src/housekeeping/collectors/worktree.ts +193 -0
- package/src/housekeeping/engine.ts +125 -0
- package/src/housekeeping/reconcile/work.ts +130 -0
- package/src/housekeeping/registry.ts +63 -0
- package/src/housekeeping/trash.ts +59 -0
- package/src/housekeeping/types.ts +31 -0
- package/src/hub.ts +1095 -41
- package/src/main.ts +230 -31
- package/src/message-references.ts +14 -5
- package/src/profile-prompt.ts +13 -1
- package/src/profile.ts +13 -5
- package/src/protocol.ts +41 -6
- package/src/security-allow.ts +79 -2
- package/src/security-check.ts +1 -1
- package/src/store.ts +1946 -23
- package/src/test-crash.ts +20 -0
- package/src/usage.ts +18 -7
- package/src/work-watch.ts +55 -7
- package/src/work.ts +192 -3
- package/web/DESIGN.md +35 -1
- package/web/agents.d.ts +189 -12
- package/web/agents.js +898 -39
- package/web/app.js +2634 -210
- package/web/attachments.d.ts +91 -0
- package/web/attachments.js +422 -0
- package/web/collaboration.d.ts +87 -0
- package/web/collaboration.js +290 -0
- package/web/decisions.d.ts +39 -2
- package/web/decisions.js +354 -2
- package/web/gc.d.ts +26 -5
- package/web/gc.js +113 -13
- package/web/i18n/agents.d.ts +4 -0
- package/web/i18n/agents.js +200 -8
- package/web/i18n/attachments.js +78 -0
- package/web/i18n/decisions.d.ts +4 -0
- package/web/i18n/decisions.js +68 -0
- package/web/i18n/gc.d.ts +4 -0
- package/web/i18n/gc.js +184 -2
- package/web/i18n/main.js +80 -8
- package/web/i18n/tour.d.ts +4 -0
- package/web/i18n/tour.js +37 -0
- package/web/index.html +20 -3
- package/web/profile.d.ts +2 -2
- package/web/profile.js +16 -10
- package/web/style.css +342 -21
- package/web/tooltip.d.ts +2 -0
- package/web/tooltip.js +12 -0
- package/web/tour.d.ts +57 -0
- package/web/tour.js +450 -0
package/web/i18n/agents.js
CHANGED
|
@@ -1,18 +1,46 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
en: {
|
|
3
3
|
"agents.origin.package": "Package default", "agents.origin.defaults": "Shared defaults", "agents.origin.agent": "Agent", "agents.origin.none": "No value",
|
|
4
|
-
"agents.stale.
|
|
4
|
+
"agents.stale.title": "The definition changed. The open session still uses the previous definition. Press New session to apply the changed definition.",
|
|
5
5
|
"agents.delete.hint": "Enter the agent name exactly to delete it. The conversation will be hidden; the definition and knowledge stay in the archive for 30 days.",
|
|
6
|
-
"agents.empty.list": "No agents yet", "agents.empty.trash": "The archive is empty", "agents.
|
|
6
|
+
"agents.empty.list": "No agents yet", "agents.empty.trash": "The archive is empty", "agents.files.none": "No files yet",
|
|
7
|
+
"agents.area.source": "Uploaded material", "agents.area.source.tip": "Files you upload here. The agent reads them with its read tool and gets the list at every turn; it cannot change them.",
|
|
8
|
+
"agents.area.outputs": "Outputs", "agents.area.outputs.tip": "Result files the agent writes. Ask it to save results to outputs/.",
|
|
9
|
+
"agents.area.notes": "Notes", "agents.area.notes.tip": "The agent's own notes (notes/, one daily note per working day) and its long-term memory (MEMORY.md). Shown here read-only.",
|
|
10
|
+
"agents.lastDaily": "Last daily note: {date}", "agents.lastDaily.none": "Last daily note: none yet", "agents.lastDaily.tip": "The agent writes notes/daily/<date>.md on each day it works. When a day's note is missing, it is reminded at its next turn.",
|
|
11
|
+
"agents.file.delete": "Delete", "agents.file.delete.label": "Delete {name}", "agents.file.delete.confirm": "A deleted file can be restored from Deleted files for 30 days. After that, Settings › Cleanup can move it to the Trash.",
|
|
12
|
+
"agents.file.deleted": "{name} was deleted. Restore it from Deleted files within 30 days.", "agents.file.restore": "Restore", "agents.file.restore.label": "Restore {name}", "agents.file.restored": "{path} was restored.",
|
|
13
|
+
"agents.files.trash": "Deleted files ({count})", "agents.files.trash.note": "Deleted files stay here for 30 days. After that, Settings › Cleanup lists them as candidates for the Trash.", "agents.files.trash.empty": "No deleted files",
|
|
14
|
+
"agents.error.file_not_deletable": "This file cannot be deleted", "agents.error.file_not_found": "File not found", "agents.error.invalid_path": "This path is not allowed",
|
|
15
|
+
"agents.file.download": "Download", "agents.file.download.label": "Download {name}", "agents.file.download.failed": "Could not download {name}: {reason}",
|
|
16
|
+
"agents.outputs.empty": "Results the agent makes appear here. Tell the agent: \"Save the result to outputs\".",
|
|
17
|
+
"agents.uploaded.one": "Uploaded: {name}. The agent uses it right away (no new session needed).", "agents.uploaded.many": "{count} files uploaded. The agent uses them right away (no new session needed).", "agents.uploaded.renamed": "A file with that name existed, so it was saved as {saved}.",
|
|
18
|
+
"agents.roleGuide.scope": "Scope", "agents.roleGuide.scope.text": "what this agent is responsible for",
|
|
19
|
+
"agents.roleGuide.tasks": "Tasks", "agents.roleGuide.tasks.text": "the order, the format and where results go (outputs/)",
|
|
20
|
+
"agents.roleGuide.limits": "Not to do", "agents.roleGuide.limits.text": "what is prohibited",
|
|
21
|
+
"agents.roleGuide.address": "Form of address", "agents.roleGuide.address.text": "To change how the agent addresses you, write something like 'Call the user ○○'. Without it, the profile nickname rule applies.",
|
|
22
|
+
"agents.cap.read": "Read files in its knowledge folder", "agents.cap.read.tip": "source/, outputs/, notes/ and MEMORY.md under knowledge/, with the read tool.",
|
|
23
|
+
"agents.cap.write": "Write to outputs/, notes/ and MEMORY.md", "agents.cap.write.tip": "Result files go to outputs/, notes to notes/, long-term memory to MEMORY.md (size limit). Writes anywhere else are refused.",
|
|
24
|
+
"agents.cap.history": "Search its own conversation history", "agents.cap.history.tip": "The zgw_agent_history_search tool reads only this agent's conversation.",
|
|
25
|
+
"agents.cap.ask": "Ask you a confirmation question", "agents.cap.ask.tip": "The ask_user_question tool; the question appears in the inbox.",
|
|
26
|
+
"agents.cap.web": "Web research (web_search, webfetch)", "agents.cap.web.on.tip": "Allowed by the Tools › Web research switch.", "agents.cap.web.off.tip": "Turn on the Tools › Web research switch to allow it.",
|
|
27
|
+
"agents.cap.skills": "{count} allowed skills: {names}", "agents.cap.skills.none": "Skills (no allowed skills)", "agents.cap.skills.tip": "Only the checked skills appear in this agent's / menu.",
|
|
28
|
+
"agents.cap.notify": "App notification when the reply ends", "agents.cap.notify.tip": "Allowed by the notification switch.",
|
|
29
|
+
"agents.cap.shell": "Shell or code execution", "agents.cap.shell.tip": "Shell and code execution bypass the knowledge folder path checks, so they are blocked.",
|
|
30
|
+
"agents.cap.source": "Change files in source/", "agents.cap.source.tip": "Uploaded files are read-only for the agent; upload a new file from this screen instead.",
|
|
31
|
+
"agents.cap.outside": "Files outside its knowledge folder", "agents.cap.outside.tip": "Every path is checked against knowledge/; symbolic links cannot leave it either.",
|
|
32
|
+
"agents.cap.works": "Manage gateway work", "agents.cap.works.tip": "The zgw_work_* tools belong to main only.",
|
|
33
|
+
"agents.cap.others": "See other agents' or main's conversations", "agents.cap.others.tip": "History search covers only its own conversation.",
|
|
7
34
|
"agents.field.schema.label": "Schema version", "agents.field.schema.help": "Definition format version. The current version is 1.",
|
|
8
35
|
"agents.field.name.label": "Name", "agents.field.name.help": "Shown in the sidebar and conversation header.",
|
|
9
36
|
"agents.field.description.label": "One-line purpose", "agents.field.description.help": "Up to 120 characters. Shown in lists and main's agent-list tool.",
|
|
10
37
|
"agents.field.icon.label": "Icon", "agents.field.icon.help": "One emoji.",
|
|
11
38
|
"agents.field.model.label": "Model", "agents.field.model.help": "Leave empty to use the gateway's current model. Fill in both fields or leave both empty.",
|
|
12
39
|
"agents.field.model.provider.label": "Provider", "agents.field.model.modelId.label": "Model ID",
|
|
13
|
-
"agents.field.thinking.label": "Thinking level", "agents.field.skills.label": "Allowed skills", "agents.field.skills.help": "
|
|
40
|
+
"agents.field.thinking.label": "Thinking level", "agents.field.skills.label": "Allowed skills", "agents.field.skills.help": "Check the skills this agent may use. Skills outside this list are hidden from its / menu.",
|
|
14
41
|
"agents.field.tools.label": "Tools", "agents.field.tools.web.label": "Web research (web_search, webfetch)", "agents.field.tools.bash.label": "Shell (prohibited)", "agents.field.tools.eval.label": "Code execution (prohibited)",
|
|
15
|
-
"agents.field.
|
|
42
|
+
"agents.field.tools.forbidden.help": "Why it is prohibited: shell and code execution bypass the knowledge folder path checks. This agent cannot run commands, install programs, or read or write files outside its knowledge folder.",
|
|
43
|
+
"agents.field.notify.label": "App notification when the reply ends", "agents.field.rules.label": "Rules", "agents.field.rules.gateway.label": "Shared rules", "agents.field.rules.install.label": "Override rules",
|
|
16
44
|
"agents.field.memory.label": "Long-term memory", "agents.field.memory.maxBytes.label": "MEMORY.md limit (bytes)", "agents.field.memory.maxBytes.help": "From 0 to 32768.",
|
|
17
45
|
"agents.error.required": "{label}: A value is required", "agents.error.integer": "{label}: Enter an integer", "agents.error.range": "{label}: Enter a value from {min} to {max}", "agents.error.option": "{label}: Choose one of {options}",
|
|
18
46
|
"agents.validation.name.required": "Enter a name", "agents.validation.description.required": "Enter a one-line purpose", "agents.validation.defaults.name": "Shared defaults cannot include a name", "agents.validation.defaults.description": "Shared defaults cannot include a one-line purpose",
|
|
@@ -21,21 +49,117 @@ export default {
|
|
|
21
49
|
"agents.error.name_mismatch": "The names do not match. Enter the agent name exactly", "agents.error.agent_busy": "A turn is running or a question is open. Try again when it finishes",
|
|
22
50
|
"agents.error.agent_not_found": "Agent not found", "agents.error.invalid_agent_definition": "Invalid definition", "agents.error.invalid_request": "Invalid request", "agents.error.too_large": "File is too large", "agents.error.missing_file": "Choose a file to upload", "agents.error.invalid_filename": "This file name is not allowed", "agents.error.file_exists": "A file with this name already exists", "agents.error.exists": "An agent with this ID already exists and cannot be restored", "agents.error.invalid_trash_entry": "Invalid archive entry", "agents.error.forbidden": "This device cannot make changes", "agents.error.method_not_allowed": "Request method is not allowed",
|
|
23
51
|
"agents.error.rejected": "Request rejected", "agents.file.folder": "Folder",
|
|
52
|
+
"agents.upload.drop": "Drop files here, or", "agents.upload.pick": "Choose files", "agents.upload.pick.tip": "Several files at once. Each file may be up to {max}.",
|
|
53
|
+
"agents.upload.tooLarge": "File is too large (max {max})", "agents.upload.retry": "Retry", "agents.upload.retry.label": "Retry uploading {name}",
|
|
54
|
+
"agents.upload.state.waiting": "Waiting", "agents.upload.state.queued": "Uploads after creation", "agents.upload.state.uploading": "Uploading {percent}%", "agents.upload.state.done": "Done", "agents.upload.state.failed": "Failed: {reason}",
|
|
55
|
+
"agents.draft.waiting": "Waiting for this draft's pending save…", "agents.draft.unsettled": "The newest changes may not be saved yet. Saving goes on.", "agents.newFiles.note": "Files picked here are uploaded right after the agent is created. The draft keeps only their names.", "agents.created.uploading": "\"{name}\" was created. Uploading {count} files…",
|
|
56
|
+
"agents.upload.rows.label": "Upload progress", "agents.upload.progress.label": "{name} upload progress", "agents.upload.network": "Could not reach the gateway. The file was not uploaded.",
|
|
57
|
+
"agents.draft.recovered": "Saving failed. Your latest text and file list are kept on this page. Check the connection and draft size, then edit to retry saving. Do not refresh or leave this page until saving succeeds.",
|
|
58
|
+
"agents.error.draft_closed": "This draft was already created or discarded, so it is no longer saved. Your text stays here.",
|
|
59
|
+
"agents.error.save.agent_busy": "The agent is being deleted, so it was not saved. Save again in a moment.", "agents.error.save.invalid_field": "The value of {label} is not valid.",
|
|
60
|
+
"agents.error.save.exists": "An agent with this ID already exists.", "agents.error.save.file_exists": "A file with this name already exists.", "agents.error.save.too_large": "The definition is too large to save.",
|
|
61
|
+
"agents.error.save.invalid_filename": "This file name cannot be used.", "agents.error.save.file_not_deletable": "This file cannot be deleted.", "agents.error.save.network": "Could not reach the gateway. What you typed is still here.",
|
|
62
|
+
"agents.apply.now": "Apply now", "agents.apply.done": "Applied in a new session",
|
|
63
|
+
"agents.apply.mismatch": "A new session opened, but it does not match the saved definition. Save again, then apply.",
|
|
64
|
+
"agents.apply.openFailed": "Could not open the new session. The changed definition applies when you send the next message.",
|
|
65
|
+
"agents.apply.turnRunning": "The agent is answering, so the change could not be applied now. Press again after the answer ends.",
|
|
66
|
+
"agents.apply.unconfirmed": "Could not confirm that the change was applied",
|
|
67
|
+
"agents.field.collaboration.label": "Collaboration", "agents.field.collaboration.targets.label": "Agents it may ask",
|
|
68
|
+
"agents.field.collaboration.targets.help": "Check the agents this agent may send requests to. The permission goes one way: for the other agent to ask back, check this agent in its own settings. Saving applies to new requests at once; nothing already delivered is taken back.",
|
|
69
|
+
"agents.targets.loading": "Loading the agent list…", "agents.targets.none": "No other agents yet. Create one first, then come back here.", "agents.targets.missing": "Missing",
|
|
70
|
+
"agents.targets.missing.tip": "This agent no longer exists. New requests to it are refused; uncheck it to remove the entry.",
|
|
71
|
+
"agents.file.origin.upload": "Uploaded", "agents.file.origin.upload.tip": "You uploaded this file here.",
|
|
72
|
+
"agents.file.origin.copy": "Collaboration copy", "agents.file.origin.copy.tip": "A copy this agent received from another agent through a collaboration request. The sender keeps the original.",
|
|
73
|
+
"agents.file.delete.copy": "This is a collaboration copy: deleting it removes only this agent's copy. The sender's original and anything the agent already read stay as they are.",
|
|
74
|
+
"collab.title.sent": "Collaboration request sent", "collab.title.received": "Collaboration request received",
|
|
75
|
+
"collab.kind.task": "Task", "collab.kind.question": "Question",
|
|
76
|
+
"collab.from": "From", "collab.to": "To", "collab.party.other": "Another agent", "collab.party.deleted": "Deleted agent",
|
|
77
|
+
"collab.state.queued": "Queued", "collab.state.running": "Running", "collab.state.waiting_peer": "Waiting for another agent", "collab.state.waiting_owner": "Waiting for your answer",
|
|
78
|
+
"collab.state.result_preparing": "Preparing the result", "collab.state.completed": "Completed", "collab.state.failed": "Failed", "collab.state.interrupted": "Interrupted",
|
|
79
|
+
"collab.state.cancel_requested": "Cancel requested", "collab.state.cancelled": "Cancelled", "collab.state.unresolved_delivery": "Delivery unconfirmed", "collab.state.version_conflict": "Definition changed", "collab.state.unconfirmed": "State unconfirmed",
|
|
80
|
+
"collab.note.unconfirmed": "The gateway has not reported this request's state yet. Recheck reads it again.",
|
|
81
|
+
"collab.note.waitingOwner": "The agent is waiting for you in the inbox. Answer its question or permission request there; the request continues afterwards.",
|
|
82
|
+
"collab.note.versionConflict": "The agent's definition changed while this request waited, so it was not run. Send it again if it is still needed.",
|
|
83
|
+
"collab.note.unresolvedDelivery": "The gateway cannot tell whether the agent received this request. It is not retried on its own; recheck later or cancel it.",
|
|
84
|
+
"collab.note.deliveryUnknown": "The connection dropped while this request was being delivered; its delivery is unconfirmed.",
|
|
85
|
+
"collab.note.blocked": "The gateway could not pass this request on ({code}).",
|
|
86
|
+
"collab.notice.blocked": "A collaboration input could not be passed on ({code}).", "collab.notice.waitingOwner": "A collaboration request is waiting for your answer in the inbox.", "collab.notice.deliveryUnknown": "The delivery of a collaboration request is unconfirmed after the connection dropped.",
|
|
87
|
+
"collab.result": "Result", "collab.result.none": "The reply carried no text.", "collab.replied": "Reply sent", "collab.files": "Files", "collab.inputs": "Files sent with the request", "collab.file.input": "Input file {n}",
|
|
88
|
+
"collab.download": "Download", "collab.download.label": "Download {name}", "collab.download.done": "{name} was saved; its checksum matched.",
|
|
89
|
+
"collab.download.failed": "Could not download {name}: {reason}", "collab.download.mismatch": "The checksum of {name} did not match the result, so it was not saved.",
|
|
90
|
+
"collab.download.unavailable": "Downloading needs the owner sign-in helper, which is not connected to this gateway yet.",
|
|
91
|
+
"collab.cancel": "Cancel request", "collab.cancel.label": "Cancel request {id}", "collab.cancel.requested": "Cancellation was requested. The state becomes final once the agent has stopped.",
|
|
92
|
+
"collab.cancel.done": "The request was cancelled.", "collab.cancel.state": "The gateway answered: the request is now {state}.",
|
|
93
|
+
"collab.cancel.unavailable": "Cancelling needs the owner sign-in helper, which is not connected to this gateway yet. The request was not cancelled.",
|
|
94
|
+
"collab.cancel.ownerRequired": "The gateway did not accept this browser as the owner, so the request was not cancelled.", "collab.cancel.notFound": "The gateway no longer knows this request.",
|
|
95
|
+
"collab.cancel.conflict": "The request changed in the meantime, so it was not cancelled. Recheck, then try again.", "collab.cancel.network": "Could not reach the gateway. The request was not cancelled.", "collab.cancel.failed": "Could not cancel: {reason}",
|
|
96
|
+
"collab.recheck": "Recheck", "collab.recheck.done": "The states were read again.", "collab.recheck.failed": "Could not read the states: {reason}",
|
|
97
|
+
"collab.reason.network": "could not reach the gateway", "collab.reason.ownerRequired": "this browser is not accepted as the owner", "collab.reason.notFound": "the file is not available", "collab.reason.changed": "the stored file no longer matches its checksum",
|
|
98
|
+
"agents.tool.title": "Tool permissions", "agents.tool.note": "Tools this agent may use after you allowed them in the inbox. Turning a switch off revokes the permission at once. Narrowing a scope applies at once; widening it asks for confirmation in the inbox.",
|
|
99
|
+
"agents.tool.state.allowed": "Allowed", "agents.tool.state.applying": "Applying", "agents.tool.state.revoked": "Revoked", "agents.tool.state.suspended": "Target needs confirmation", "agents.tool.state.blocked": "No access",
|
|
100
|
+
"agents.tool.access.open": "Tool access open · policy revision {revision}", "agents.tool.access.blocked": "All tool access blocked · policy revision {revision}",
|
|
101
|
+
"agents.tool.edit": "Edit scope", "agents.tool.revoke": "Revoke access", "agents.tool.revokeAll": "Revoke all tool access", "agents.tool.switch.label": "{tool} access",
|
|
102
|
+
"agents.tool.reallow": "To allow it again, allow the agent's next request in the inbox.", "agents.tool.meta": "Original confirmation {decision} · revision {revision}",
|
|
103
|
+
"agents.tool.pending": "Requests waiting in the inbox: {count}", "agents.tool.openInbox": "Open the inbox",
|
|
104
|
+
"agents.tool.empty": "No tools are allowed yet. When the agent asks for a tool, the request appears in the inbox.", "agents.tool.loading": "Loading tool permissions…",
|
|
105
|
+
"agents.tool.unsupported": "This gateway version does not support tool permission management yet.", "agents.tool.retry": "Retry",
|
|
106
|
+
"agents.tool.edit.operations": "Allowed operations", "agents.tool.edit.scope": "{key} (separate values with commas or line breaks)",
|
|
107
|
+
"agents.tool.edit.same": "Nothing changed.", "agents.tool.edit.narrow": "This narrows the scope. Saving applies it at once.", "agents.tool.edit.widen": "Approve the added scope. Until then only the current scope applies.",
|
|
108
|
+
"agents.tool.edit.removedOps": "Removed operations: {list}", "agents.tool.edit.addedOps": "Added operations: {list}", "agents.tool.edit.addedScope": "Added scope: {list}", "agents.tool.edit.removedScope": "Removed scope: {list}",
|
|
109
|
+
"agents.tool.edit.narrowed": "The scope was narrowed and applies at once.", "agents.tool.edit.sent": "A confirmation for the added scope was sent to the inbox. Until then only the current scope applies.",
|
|
110
|
+
"agents.tool.revoked": "Access revoked. This agent can no longer use this tool.", "agents.tool.revokedRunning": "Access revoked. Stopping the running operation.",
|
|
111
|
+
"agents.tool.revokedAll": "All tool access was revoked. New requests stay blocked until you allow one in the inbox.",
|
|
112
|
+
"agents.tool.all.confirm": "This revokes every tool permission of this agent and blocks new requests. Running operations are asked to stop. To use tools again, allow a new request in the inbox.", "agents.tool.all.keep": "Keep as is", "agents.tool.all.go": "Revoke all",
|
|
113
|
+
"agents.tool.error.grant": "This permission changed in the meantime. The latest content was reloaded.", "agents.tool.error.policy": "The permission policy changed in the meantime. The latest content was reloaded.",
|
|
114
|
+
"agents.tool.error.gone": "This permission no longer exists. The latest content was reloaded.", "agents.tool.error.unsupported": "This gateway version does not support scope editing yet. Revoking access still works.",
|
|
115
|
+
"agents.tool.error.expired": "This screen's confirmation session expired. A new session is ready; press again.", "agents.tool.error.forbidden": "Tool permissions cannot be changed from this screen. Use the web screen opened directly at the gateway address.",
|
|
116
|
+
"agents.tool.error.blocked": "All tool access of this agent is blocked.", "agents.tool.error.operation": "The same operation was already processed with different content. The latest content was reloaded.",
|
|
117
|
+
"agents.tool.error.invalid": "The gateway did not accept the request format. Reload the page and try again.", "agents.tool.error.network": "Could not reach the gateway. Nothing changed.", "agents.tool.error.generic": "The gateway could not process the request. Nothing changed.",
|
|
118
|
+
"agents.changedElsewhere": "This agent's definition was changed elsewhere. Your unsaved edits are kept; saving them writes this editor's version over that change.",
|
|
119
|
+
"agents.changedElsewhere.reloaded": "This agent's definition was changed elsewhere, so the editor now shows the saved definition.",
|
|
24
120
|
},
|
|
25
121
|
ko: {
|
|
26
122
|
"agents.origin.package": "패키지 기본값", "agents.origin.defaults": "공통", "agents.origin.agent": "에이전트", "agents.origin.none": "값 없음",
|
|
27
|
-
"agents.stale.
|
|
123
|
+
"agents.stale.title": "정의가 바뀌었습니다. 열린 세션은 이전 정의를 씁니다. 새 세션 버튼을 누르면 바뀐 정의가 적용됩니다.",
|
|
28
124
|
"agents.delete.hint": "삭제하려면 에이전트 이름을 정확히 입력하세요. 대화는 숨기고 정의와 지식은 보관함에 30일 동안 둡니다.",
|
|
29
|
-
"agents.empty.list": "아직 에이전트가 없습니다", "agents.empty.trash": "보관함이 비었습니다", "agents.
|
|
125
|
+
"agents.empty.list": "아직 에이전트가 없습니다", "agents.empty.trash": "보관함이 비었습니다", "agents.files.none": "아직 파일이 없습니다",
|
|
126
|
+
"agents.area.source": "올린 자료", "agents.area.source.tip": "여기서 올린 파일입니다. 에이전트는 read 도구로 읽고 매 턴 목록을 받습니다. 바꿀 수는 없습니다.",
|
|
127
|
+
"agents.area.outputs": "결과물", "agents.area.outputs.tip": "에이전트가 쓰는 결과 파일입니다. 결과를 outputs/에 저장해 달라고 말하세요.",
|
|
128
|
+
"agents.area.notes": "기록", "agents.area.notes.tip": "에이전트가 쓰는 기록(notes/, 일한 날마다 일일 기록 하나)과 장기 메모(MEMORY.md)입니다. 여기서는 보기만 합니다.",
|
|
129
|
+
"agents.lastDaily": "마지막 일일 기록: {date}", "agents.lastDaily.none": "마지막 일일 기록: 아직 없음", "agents.lastDaily.tip": "에이전트는 일한 날마다 notes/daily/<날짜>.md를 씁니다. 그날 기록이 없으면 다음 턴에 알림을 받습니다.",
|
|
130
|
+
"agents.file.delete": "삭제", "agents.file.delete.label": "{name} 삭제", "agents.file.delete.confirm": "삭제한 파일은 30일 동안 '삭제한 파일'에서 되살릴 수 있습니다. 그 뒤에는 설정의 '정리'에서 휴지통으로 옮길 수 있습니다.",
|
|
131
|
+
"agents.file.deleted": "{name}을(를) 삭제했습니다. 30일 안에 '삭제한 파일'에서 되살릴 수 있습니다.", "agents.file.restore": "되살리기", "agents.file.restore.label": "{name} 되살리기", "agents.file.restored": "{path}을(를) 되살렸습니다.",
|
|
132
|
+
"agents.files.trash": "삭제한 파일 ({count})", "agents.files.trash.note": "삭제한 파일은 30일 동안 여기에 남습니다. 그 뒤에는 설정의 '정리'에 휴지통으로 옮길 후보로 보입니다.", "agents.files.trash.empty": "삭제한 파일이 없습니다",
|
|
133
|
+
"agents.error.file_not_deletable": "이 파일은 삭제할 수 없습니다", "agents.error.file_not_found": "파일을 찾지 못했습니다", "agents.error.invalid_path": "이 경로는 쓸 수 없습니다",
|
|
134
|
+
"agents.file.download": "내려받기", "agents.file.download.label": "{name} 내려받기", "agents.file.download.failed": "{name}을(를) 내려받지 못했습니다: {reason}",
|
|
135
|
+
"agents.outputs.empty": "에이전트가 만든 결과물이 여기에 보입니다. 에이전트에게 '결과를 outputs에 저장해 줘'라고 말하세요.",
|
|
136
|
+
"agents.uploaded.one": "올렸습니다: {name}. 에이전트가 바로 씁니다(새 세션 필요 없음).", "agents.uploaded.many": "{count}개 파일을 올렸습니다. 에이전트가 바로 씁니다(새 세션 필요 없음).", "agents.uploaded.renamed": "같은 이름이 있어 {saved}로 저장했습니다.",
|
|
137
|
+
"agents.roleGuide.scope": "담당 범위", "agents.roleGuide.scope.text": "이 에이전트가 맡는 일",
|
|
138
|
+
"agents.roleGuide.tasks": "할 일", "agents.roleGuide.tasks.text": "순서·형식·결과물 위치(outputs/)",
|
|
139
|
+
"agents.roleGuide.limits": "하지 않을 일", "agents.roleGuide.limits.text": "금지 사항",
|
|
140
|
+
"agents.roleGuide.address": "호칭", "agents.roleGuide.address.text": "사용자를 부르는 방식을 바꾸려면 '사용자를 ○○라고 부르세요'처럼 적습니다. 적지 않으면 프로필 닉네임 규칙을 따릅니다.",
|
|
141
|
+
"agents.cap.read": "지식 폴더의 파일 읽기", "agents.cap.read.tip": "knowledge/ 아래 source/, outputs/, notes/, MEMORY.md를 read 도구로 읽습니다.",
|
|
142
|
+
"agents.cap.write": "outputs/·notes/·MEMORY.md 쓰기", "agents.cap.write.tip": "결과 파일은 outputs/, 기록은 notes/, 장기 메모는 MEMORY.md(크기 상한)에 씁니다. 다른 경로 쓰기는 거절됩니다.",
|
|
143
|
+
"agents.cap.history": "자기 대화 기록 검색", "agents.cap.history.tip": "zgw_agent_history_search 도구는 이 에이전트의 대화만 검색합니다.",
|
|
144
|
+
"agents.cap.ask": "확인 질문", "agents.cap.ask.tip": "ask_user_question 도구입니다. 질문은 확인함에 보입니다.",
|
|
145
|
+
"agents.cap.web": "웹 조사 (web_search, webfetch)", "agents.cap.web.on.tip": "도구 › 웹 리서치 스위치로 켰습니다.", "agents.cap.web.off.tip": "도구 › 웹 리서치 스위치를 켜면 할 수 있습니다.",
|
|
146
|
+
"agents.cap.skills": "허용 스킬 {count}개: {names}", "agents.cap.skills.none": "스킬 사용 (허용 스킬 없음)", "agents.cap.skills.tip": "체크한 스킬만 이 에이전트의 / 메뉴에 보입니다.",
|
|
147
|
+
"agents.cap.notify": "답이 끝나면 앱 알림", "agents.cap.notify.tip": "앱 알림 스위치로 켰습니다.",
|
|
148
|
+
"agents.cap.shell": "셸·코드 실행", "agents.cap.shell.tip": "셸과 코드 실행은 지식 폴더 경로 검사를 우회하므로 막혀 있습니다.",
|
|
149
|
+
"agents.cap.source": "source/ 수정", "agents.cap.source.tip": "올린 자료는 에이전트에게 읽기 전용입니다. 바꾸려면 이 화면에서 새 파일을 올립니다.",
|
|
150
|
+
"agents.cap.outside": "지식 폴더 밖 파일", "agents.cap.outside.tip": "모든 경로를 knowledge/ 기준으로 검사합니다. 심볼릭 링크로도 나갈 수 없습니다.",
|
|
151
|
+
"agents.cap.works": "게이트웨이 작업 관리", "agents.cap.works.tip": "zgw_work_* 도구는 main에게만 있습니다.",
|
|
152
|
+
"agents.cap.others": "다른 에이전트·main 대화 보기", "agents.cap.others.tip": "기록 검색은 자기 대화만 봅니다.",
|
|
30
153
|
"agents.field.schema.label": "스키마 버전", "agents.field.schema.help": "정의 형식의 버전입니다. 현재 버전은 1입니다.",
|
|
31
154
|
"agents.field.name.label": "이름", "agents.field.name.help": "사이드바와 대화 머리줄에 표시됩니다.",
|
|
32
155
|
"agents.field.description.label": "목적 한 줄", "agents.field.description.help": "120자 이하입니다. 목록과 main의 에이전트 목록 도구에 표시됩니다.",
|
|
33
156
|
"agents.field.icon.label": "아이콘", "agents.field.icon.help": "이모지 하나입니다.",
|
|
34
157
|
"agents.field.model.label": "모델", "agents.field.model.help": "비우면 게이트웨이의 현재 모델을 씁니다. 두 항목을 모두 채우거나 모두 비우세요.",
|
|
35
158
|
"agents.field.model.provider.label": "제공자", "agents.field.model.modelId.label": "모델 ID",
|
|
36
|
-
"agents.field.thinking.label": "사고 수준", "agents.field.skills.label": "허용할 스킬", "agents.field.skills.help": "
|
|
159
|
+
"agents.field.thinking.label": "사고 수준", "agents.field.skills.label": "허용할 스킬", "agents.field.skills.help": "이 에이전트가 쓸 수 있는 스킬을 체크합니다. 목록에 없는 스킬은 이 에이전트의 / 메뉴에 표시되지 않습니다.",
|
|
37
160
|
"agents.field.tools.label": "도구", "agents.field.tools.web.label": "웹 리서치 (web_search, webfetch)", "agents.field.tools.bash.label": "셸 (금지)", "agents.field.tools.eval.label": "코드 실행 (금지)",
|
|
38
|
-
"agents.field.
|
|
161
|
+
"agents.field.tools.forbidden.help": "금지 이유: 셸과 코드 실행은 지식 폴더 경로 검사를 우회합니다. 이 에이전트는 명령 실행, 프로그램 설치, 지식 폴더 밖 파일 읽기·쓰기를 할 수 없습니다.",
|
|
162
|
+
"agents.field.notify.label": "답변이 끝나면 앱 알림", "agents.field.rules.label": "규칙", "agents.field.rules.gateway.label": "공통 규칙", "agents.field.rules.install.label": "오버라이드 규칙",
|
|
39
163
|
"agents.field.memory.label": "장기 메모", "agents.field.memory.maxBytes.label": "MEMORY.md 상한 (바이트)", "agents.field.memory.maxBytes.help": "0부터 32768까지입니다.",
|
|
40
164
|
"agents.error.required": "{label}: 값을 입력하세요", "agents.error.integer": "{label}: 정수를 입력하세요", "agents.error.range": "{label}: {min}부터 {max}까지 입력하세요", "agents.error.option": "{label}: {options} 중 하나를 선택하세요",
|
|
41
165
|
"agents.validation.name.required": "이름을 입력하세요", "agents.validation.description.required": "목적을 한 줄로 입력하세요", "agents.validation.defaults.name": "공통 기본값에는 이름을 둘 수 없습니다", "agents.validation.defaults.description": "공통 기본값에는 목적 한 줄을 둘 수 없습니다",
|
|
@@ -44,5 +168,73 @@ export default {
|
|
|
44
168
|
"agents.error.name_mismatch": "이름이 다릅니다. 에이전트 이름을 똑같이 입력하세요", "agents.error.agent_busy": "진행 중인 턴이나 열린 질문이 있어 지금은 할 수 없습니다. 끝난 뒤 다시 시도하세요",
|
|
45
169
|
"agents.error.agent_not_found": "에이전트를 찾지 못했습니다", "agents.error.invalid_agent_definition": "정의가 올바르지 않습니다", "agents.error.invalid_request": "요청이 올바르지 않습니다", "agents.error.too_large": "파일이 너무 큽니다", "agents.error.missing_file": "올릴 파일을 고르세요", "agents.error.invalid_filename": "파일 이름을 쓸 수 없습니다", "agents.error.file_exists": "같은 이름의 파일이 이미 있습니다", "agents.error.exists": "같은 ID의 에이전트가 이미 있어 되살리지 못했습니다", "agents.error.invalid_trash_entry": "보관함 항목이 올바르지 않습니다", "agents.error.forbidden": "이 기기에서는 쓸 수 없습니다", "agents.error.method_not_allowed": "허용되지 않는 요청입니다",
|
|
46
170
|
"agents.error.rejected": "요청이 거절됐습니다", "agents.file.folder": "폴더",
|
|
171
|
+
"agents.upload.drop": "파일을 여기에 끌어다 놓거나", "agents.upload.pick": "파일 고르기", "agents.upload.pick.tip": "여러 파일을 한 번에 고를 수 있습니다. 파일 하나는 {max}까지입니다.",
|
|
172
|
+
"agents.upload.tooLarge": "파일이 너무 큽니다 (최대 {max})", "agents.upload.retry": "다시 시도", "agents.upload.retry.label": "{name} 다시 올리기",
|
|
173
|
+
"agents.upload.state.waiting": "대기", "agents.upload.state.queued": "만들기 뒤 올립니다", "agents.upload.state.uploading": "올리는 중 {percent}%", "agents.upload.state.done": "완료", "agents.upload.state.failed": "실패: {reason}",
|
|
174
|
+
"agents.draft.waiting": "저장 중인 내용을 기다리는 중입니다…", "agents.draft.unsettled": "최근 변경이 아직 저장되지 않았을 수 있습니다. 저장은 계속합니다.", "agents.newFiles.note": "여기서 고른 파일은 에이전트를 만든 뒤 바로 올립니다. 임시 저장에는 파일 이름만 남습니다.", "agents.created.uploading": "\"{name}\"을(를) 만들었습니다. 파일 {count}개를 올립니다…",
|
|
175
|
+
"agents.upload.rows.label": "업로드 진행", "agents.upload.progress.label": "{name} 업로드 진행", "agents.upload.network": "게이트웨이에 연결하지 못했습니다. 파일을 올리지 못했습니다.",
|
|
176
|
+
"agents.draft.recovered": "임시 저장에 실패했습니다. 최신 본문과 파일 목록은 이 페이지에 남아 있습니다. 연결 상태와 초안 크기를 확인한 뒤 내용을 편집하면 다시 저장합니다. 저장될 때까지 새로고침하거나 페이지를 떠나지 마세요.",
|
|
177
|
+
"agents.error.draft_closed": "이 임시 저장은 이미 만들었거나 버려서 더 저장하지 않습니다. 쓴 내용은 그대로 있습니다.",
|
|
178
|
+
"agents.error.save.agent_busy": "에이전트를 지우는 중이라 저장하지 못했습니다. 잠시 뒤 다시 저장하세요.", "agents.error.save.invalid_field": "{label} 값이 올바르지 않습니다.",
|
|
179
|
+
"agents.error.save.exists": "같은 ID의 에이전트가 이미 있습니다.", "agents.error.save.file_exists": "같은 이름의 파일이 이미 있습니다.", "agents.error.save.too_large": "정의가 너무 커서 저장하지 못했습니다.",
|
|
180
|
+
"agents.error.save.invalid_filename": "이 파일 이름은 쓸 수 없습니다.", "agents.error.save.file_not_deletable": "이 파일은 삭제할 수 없습니다.", "agents.error.save.network": "게이트웨이에 연결하지 못했습니다. 쓴 내용은 그대로 있습니다.",
|
|
181
|
+
"agents.apply.now": "지금 적용", "agents.apply.done": "새 세션에 적용했습니다",
|
|
182
|
+
"agents.apply.mismatch": "새 세션을 열었지만 저장한 정의와 다릅니다. 다시 저장한 뒤 적용하세요.",
|
|
183
|
+
"agents.apply.openFailed": "새 세션을 열지 못했습니다. 다음 메시지를 보낼 때 바뀐 정의로 열립니다.",
|
|
184
|
+
"agents.apply.turnRunning": "답하는 중이라 지금 적용하지 못했습니다. 답이 끝난 뒤 다시 누르세요.",
|
|
185
|
+
"agents.apply.unconfirmed": "적용을 확인하지 못했습니다",
|
|
186
|
+
"agents.field.collaboration.label": "협업", "agents.field.collaboration.targets.label": "요청을 보낼 수 있는 에이전트",
|
|
187
|
+
"agents.field.collaboration.targets.help": "이 에이전트가 요청을 보낼 수 있는 에이전트를 고르세요. 허용은 한 방향입니다. 상대가 되물으려면 상대의 설정에서 이 에이전트를 골라야 합니다. 저장하면 새 요청부터 바로 적용되고, 이미 전달된 내용은 되돌리지 않습니다.",
|
|
188
|
+
"agents.targets.loading": "에이전트 목록을 불러오는 중…", "agents.targets.none": "다른 에이전트가 아직 없습니다. 먼저 에이전트를 만든 뒤 여기서 고르세요.", "agents.targets.missing": "없음",
|
|
189
|
+
"agents.targets.missing.tip": "이 에이전트는 더 이상 없습니다. 새 요청은 거절되며, 체크를 풀면 항목이 빠집니다.",
|
|
190
|
+
"agents.file.origin.upload": "직접 올림", "agents.file.origin.upload.tip": "여기서 직접 올린 파일입니다.",
|
|
191
|
+
"agents.file.origin.copy": "협업 사본", "agents.file.origin.copy.tip": "협업 요청으로 다른 에이전트에게서 받은 사본입니다. 원본은 보낸 쪽에 그대로 있습니다.",
|
|
192
|
+
"agents.file.delete.copy": "이 파일은 협업 사본입니다. 지우면 이 에이전트의 사본만 사라지고, 보낸 쪽의 원본과 에이전트가 이미 읽은 내용은 그대로입니다.",
|
|
193
|
+
"collab.title.sent": "보낸 협업 요청", "collab.title.received": "받은 협업 요청",
|
|
194
|
+
"collab.kind.task": "작업", "collab.kind.question": "질문",
|
|
195
|
+
"collab.from": "보낸 쪽", "collab.to": "받는 쪽", "collab.party.other": "다른 에이전트", "collab.party.deleted": "삭제된 에이전트",
|
|
196
|
+
"collab.state.queued": "대기 중", "collab.state.running": "진행 중", "collab.state.waiting_peer": "다른 에이전트의 답 대기", "collab.state.waiting_owner": "내 답 대기",
|
|
197
|
+
"collab.state.result_preparing": "결과 준비 중", "collab.state.completed": "완료", "collab.state.failed": "실패", "collab.state.interrupted": "중단됨",
|
|
198
|
+
"collab.state.cancel_requested": "취소 요청됨", "collab.state.cancelled": "취소됨", "collab.state.unresolved_delivery": "전달 미확인", "collab.state.version_conflict": "정의 변경으로 미실행", "collab.state.unconfirmed": "상태 미확인",
|
|
199
|
+
"collab.note.unconfirmed": "게이트웨이가 이 요청의 상태를 아직 알려 주지 않았습니다. 다시 확인을 누르면 다시 읽습니다.",
|
|
200
|
+
"collab.note.waitingOwner": "에이전트가 확인함에서 내 답을 기다립니다. 질문이나 허가 요청에 답하면 요청이 이어집니다.",
|
|
201
|
+
"collab.note.versionConflict": "요청이 기다리는 동안 에이전트의 정의가 바뀌어 실행하지 않았습니다. 아직 필요하면 다시 요청하세요.",
|
|
202
|
+
"collab.note.unresolvedDelivery": "에이전트가 이 요청을 받았는지 게이트웨이가 확인하지 못했습니다. 저절로 다시 보내지 않으니, 나중에 다시 확인하거나 취소하세요.",
|
|
203
|
+
"collab.note.deliveryUnknown": "이 요청을 전달하는 중에 연결이 끊겨 전달 여부를 확인하지 못했습니다.",
|
|
204
|
+
"collab.note.blocked": "게이트웨이가 이 요청을 넘기지 못했습니다({code}).",
|
|
205
|
+
"collab.notice.blocked": "협업 입력을 넘기지 못했습니다({code}).", "collab.notice.waitingOwner": "협업 요청이 확인함에서 내 답을 기다립니다.", "collab.notice.deliveryUnknown": "연결이 끊긴 뒤 협업 요청의 전달 여부를 확인하지 못했습니다.",
|
|
206
|
+
"collab.result": "결과", "collab.result.none": "회신에 본문이 없습니다.", "collab.replied": "회신 보냄", "collab.files": "파일", "collab.inputs": "요청과 함께 보낸 파일", "collab.file.input": "입력 파일 {n}",
|
|
207
|
+
"collab.download": "내려받기", "collab.download.label": "{name} 내려받기", "collab.download.done": "{name}을(를) 저장했습니다. 검증값이 일치합니다.",
|
|
208
|
+
"collab.download.failed": "{name}을(를) 내려받지 못했습니다: {reason}", "collab.download.mismatch": "{name}의 검증값이 결과와 달라 저장하지 않았습니다.",
|
|
209
|
+
"collab.download.unavailable": "내려받기는 소유자 확인 도우미가 필요한데, 이 게이트웨이에 아직 연결되지 않았습니다.",
|
|
210
|
+
"collab.cancel": "요청 취소", "collab.cancel.label": "요청 {id} 취소", "collab.cancel.requested": "취소를 요청했습니다. 에이전트가 멈추면 상태가 확정됩니다.",
|
|
211
|
+
"collab.cancel.done": "요청을 취소했습니다.", "collab.cancel.state": "게이트웨이 응답: 요청은 지금 {state} 상태입니다.",
|
|
212
|
+
"collab.cancel.unavailable": "취소는 소유자 확인 도우미가 필요한데, 이 게이트웨이에 아직 연결되지 않았습니다. 요청은 취소되지 않았습니다.",
|
|
213
|
+
"collab.cancel.ownerRequired": "게이트웨이가 이 브라우저를 소유자로 인정하지 않아 요청을 취소하지 못했습니다.", "collab.cancel.notFound": "게이트웨이에 더 이상 없는 요청입니다.",
|
|
214
|
+
"collab.cancel.conflict": "그사이 요청 상태가 바뀌어 취소하지 못했습니다. 다시 확인한 뒤 시도하세요.", "collab.cancel.network": "게이트웨이에 연결하지 못했습니다. 요청은 취소되지 않았습니다.", "collab.cancel.failed": "취소하지 못했습니다: {reason}",
|
|
215
|
+
"collab.recheck": "다시 확인", "collab.recheck.done": "상태를 다시 읽었습니다.", "collab.recheck.failed": "상태를 읽지 못했습니다: {reason}",
|
|
216
|
+
"collab.reason.network": "게이트웨이에 연결하지 못했습니다", "collab.reason.ownerRequired": "이 브라우저가 소유자로 인정되지 않았습니다", "collab.reason.notFound": "파일을 받을 수 없습니다", "collab.reason.changed": "저장된 파일이 검증값과 맞지 않습니다",
|
|
217
|
+
"agents.tool.title": "도구 권한", "agents.tool.note": "확인함에서 허용한 뒤 이 에이전트가 쓸 수 있는 도구입니다. 스위치를 끄면 바로 회수합니다. 범위를 줄이면 바로 적용되고, 넓히면 확인함에서 확인합니다.",
|
|
218
|
+
"agents.tool.state.allowed": "허가됨", "agents.tool.state.applying": "반영 중", "agents.tool.state.revoked": "회수됨", "agents.tool.state.suspended": "대상 확인 필요", "agents.tool.state.blocked": "권한 없음",
|
|
219
|
+
"agents.tool.access.open": "도구 접근 열림 · 정책 개정 {revision}", "agents.tool.access.blocked": "전체 도구 접근 차단됨 · 정책 개정 {revision}",
|
|
220
|
+
"agents.tool.edit": "범위 편집", "agents.tool.revoke": "권한 회수", "agents.tool.revokeAll": "전체 도구 접근 회수", "agents.tool.switch.label": "{tool} 권한",
|
|
221
|
+
"agents.tool.reallow": "다시 허용하려면 에이전트가 요청할 때 확인함에서 허용해 주세요.", "agents.tool.meta": "원래 확인 {decision} · 개정 {revision}",
|
|
222
|
+
"agents.tool.pending": "확인함에서 기다리는 요청 {count}건", "agents.tool.openInbox": "확인함 열기",
|
|
223
|
+
"agents.tool.empty": "허용한 도구가 없습니다. 에이전트가 도구를 요청하면 확인함에 나타납니다.", "agents.tool.loading": "도구 권한을 불러오는 중입니다…",
|
|
224
|
+
"agents.tool.unsupported": "이 게이트웨이 버전은 도구 권한 관리를 아직 지원하지 않습니다.", "agents.tool.retry": "다시 시도",
|
|
225
|
+
"agents.tool.edit.operations": "허용 동작", "agents.tool.edit.scope": "{key} (쉼표나 줄바꿈으로 구분)",
|
|
226
|
+
"agents.tool.edit.same": "바뀐 내용이 없습니다.", "agents.tool.edit.narrow": "범위를 줄입니다. 저장하면 바로 적용됩니다.", "agents.tool.edit.widen": "추가 범위를 확인합니다. 확인 전까지는 기존 범위만 유효합니다.",
|
|
227
|
+
"agents.tool.edit.removedOps": "빼는 동작: {list}", "agents.tool.edit.addedOps": "추가 동작: {list}", "agents.tool.edit.addedScope": "추가 범위: {list}", "agents.tool.edit.removedScope": "빼는 범위: {list}",
|
|
228
|
+
"agents.tool.edit.narrowed": "범위를 줄였습니다. 바로 적용됩니다.", "agents.tool.edit.sent": "추가 범위 확인 요청을 확인함에 보냈습니다. 확인 전까지는 기존 범위만 유효합니다.",
|
|
229
|
+
"agents.tool.revoked": "권한을 회수했습니다. 이 에이전트는 이 도구를 더 쓰지 못합니다.", "agents.tool.revokedRunning": "권한을 회수했습니다. 실행 중인 작업의 중단을 확인하고 있습니다.",
|
|
230
|
+
"agents.tool.revokedAll": "모든 도구 권한을 회수했습니다. 새 요청은 확인함에서 다시 허용할 때까지 막힙니다.",
|
|
231
|
+
"agents.tool.all.confirm": "이 에이전트의 모든 도구 권한을 회수하고 새 요청도 막습니다. 실행 중인 작업은 중단을 요청합니다. 다시 쓰려면 확인함에서 새로 허용해야 합니다.", "agents.tool.all.keep": "그대로 두기", "agents.tool.all.go": "전체 회수",
|
|
232
|
+
"agents.tool.error.grant": "이 권한이 그사이 바뀌었습니다. 최신 내용을 다시 불러왔습니다.", "agents.tool.error.policy": "권한 정책이 그사이 바뀌었습니다. 최신 내용을 다시 불러왔습니다.",
|
|
233
|
+
"agents.tool.error.gone": "이 권한은 이미 없습니다. 최신 내용을 다시 불러왔습니다.", "agents.tool.error.unsupported": "이 게이트웨이 버전은 아직 범위 편집을 지원하지 않습니다. 권한 회수는 쓸 수 있습니다.",
|
|
234
|
+
"agents.tool.error.expired": "이 화면의 확인 세션이 만료되었습니다. 새 세션을 받았으니 다시 눌러 주세요.", "agents.tool.error.forbidden": "이 화면에서는 도구 권한을 바꿀 수 없습니다. 게이트웨이 주소로 직접 연 웹 화면에서 바꿔 주세요.",
|
|
235
|
+
"agents.tool.error.blocked": "이 에이전트의 도구 접근이 전체 차단되어 있습니다.", "agents.tool.error.operation": "같은 작업이 다른 내용으로 이미 처리되었습니다. 최신 내용을 다시 불러왔습니다.",
|
|
236
|
+
"agents.tool.error.invalid": "요청 형식을 게이트웨이가 받지 않았습니다. 화면을 새로 고친 뒤 다시 시도해 주세요.", "agents.tool.error.network": "게이트웨이에 연결하지 못했습니다. 바뀐 것은 없습니다.", "agents.tool.error.generic": "게이트웨이가 요청을 처리하지 못했습니다. 바뀐 것은 없습니다.",
|
|
237
|
+
"agents.changedElsewhere": "이 에이전트의 정의가 다른 곳에서 바뀌었습니다. 저장하지 않은 수정은 그대로 두었고, 저장하면 이 편집기의 내용이 그 변경을 덮어씁니다.",
|
|
238
|
+
"agents.changedElsewhere.reloaded": "이 에이전트의 정의가 다른 곳에서 바뀌어 편집기를 저장된 내용으로 다시 불러왔습니다.",
|
|
47
239
|
},
|
|
48
240
|
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
en: {
|
|
3
|
+
"documents.button": "Mac files", "documents.title": "Files on this Mac",
|
|
4
|
+
"documents.unsupported": "This gateway does not support Mac file attachments.",
|
|
5
|
+
"documents.offline": "Reconnect to select or send files.", "documents.empty": "No matching files in this directory.",
|
|
6
|
+
"documents.loading": "Loading files…", "documents.parent": "Parent", "documents.home": "Home",
|
|
7
|
+
"documents.computer": "Computer", "documents.hidden": "Show hidden files", "documents.next": "Next 50",
|
|
8
|
+
"documents.query": "Search this folder",
|
|
9
|
+
"documents.close": "Close file picker", "documents.retry": "Retry", "documents.remove": "Remove {name}",
|
|
10
|
+
"documents.selecting": "Selecting", "documents.snapshotting": "Saving snapshot", "documents.sealed": "Snapshot saved",
|
|
11
|
+
"documents.preparing": "Preparing", "documents.ready": "Ready", "documents.bound": "Sent",
|
|
12
|
+
"documents.error": "Failed", "documents.discarded": "Removed", "documents.revoked": "Unavailable",
|
|
13
|
+
"documents.encoding": "Text encoding for {name}", "documents.chooseEncoding": "Choose encoding",
|
|
14
|
+
"documents.prepare": "Prepare again", "documents.pending": "Wait until every file is ready, or remove failed files.",
|
|
15
|
+
"documents.sending": "Waiting for message acceptance", "documents.uncertain": "Acceptance is unconfirmed. Retry sends the same submission.",
|
|
16
|
+
"documents.limit": "A message can include at most four distinct documents.", "documents.queryLong": "Use at most 200 characters.",
|
|
17
|
+
"documents.text": "Text", "documents.pages": "Page images", "documents.ocr": "OCR text",
|
|
18
|
+
"documents.native-document": "PDF input", "documents.disabled": "Not selectable",
|
|
19
|
+
"documents.symlink_not_allowed": "Links cannot be selected", "documents.host_access_denied": "Mac access denied",
|
|
20
|
+
"documents.encoding_required": "Choose a text encoding", "documents.invalid_pdf": "Invalid PDF",
|
|
21
|
+
"documents.password_required": "Password-protected PDF", "documents.processing_limit": "Processing limit exceeded",
|
|
22
|
+
"documents.unsupported_encoding": "Cannot decode with this encoding", "documents.file_changed": "File changed; select it again",
|
|
23
|
+
"documents.picker_expired": "Picker expired; open it again", "documents.retrySubmission": "Retry submission",
|
|
24
|
+
"documents.unknownError": "An unexpected error occurred. Try again.",
|
|
25
|
+
"documents.discardFailed": "The file snapshot could not be discarded. It stays unsent until the gateway reclaims it.",
|
|
26
|
+
"documents.entry.unsupported": "Unsupported file type", "documents.entry.size_limit": "Empty or larger than 10 MiB",
|
|
27
|
+
"documents.entry.hardlink": "Hard links cannot be selected", "documents.entry.nonregular": "Link or special file",
|
|
28
|
+
"documents.entry.host_access_denied": "Mac access denied", "documents.entry.symlink_not_allowed": "Links cannot be selected",
|
|
29
|
+
"documents.revoke": "Revoke", "documents.revokeLabel": "Revoke {name}",
|
|
30
|
+
"documents.revokeConfirm": "Revoke {name}? The agent can no longer read it and it can no longer be downloaded. What was already read, downloaded copies and anything made from the file stay as they are.",
|
|
31
|
+
"documents.revoking": "Revoking…",
|
|
32
|
+
"documents.revokeCaveat": "Revoked. Not taken back: what the agent already read, downloaded copies, outputs made from the file, and copies already handed to collaborating agents.",
|
|
33
|
+
"documents.delivery.cancelled": "The pending delivery was cancelled.", "documents.delivery.consumed": "The agent had already received the file.",
|
|
34
|
+
"documents.delivery.already_dispatched": "The message had already been delivered.", "documents.delivery.uncertain": "Whether the agent received the file is unknown.",
|
|
35
|
+
"documents.attachment_not_found": "The gateway has no record of this file.", "documents.attachment_cas_conflict": "The file changed meanwhile. Try again.",
|
|
36
|
+
"documents.attachment_scope_mismatch": "This file does not belong to this conversation.", "documents.attachment_owner_inactive": "This device no longer has access to files.",
|
|
37
|
+
"documents.attachment_provider_invalid": "The gateway is not ready. Try again later.", "documents.attachment_tombstoned": "Already cleaned up.",
|
|
38
|
+
"documents.attachment_reference_unavailable": "The grant no longer exists.", "documents.attachment_revoked": "Already revoked.",
|
|
39
|
+
},
|
|
40
|
+
ko: {
|
|
41
|
+
"documents.button": "Mac 파일", "documents.title": "이 Mac의 파일",
|
|
42
|
+
"documents.unsupported": "이 게이트웨이는 Mac 파일 첨부를 지원하지 않습니다.",
|
|
43
|
+
"documents.offline": "파일을 선택하거나 보내려면 다시 연결하세요.", "documents.empty": "이 폴더에 일치하는 파일이 없습니다.",
|
|
44
|
+
"documents.loading": "파일 목록을 불러오는 중입니다.", "documents.parent": "상위 폴더", "documents.home": "홈",
|
|
45
|
+
"documents.computer": "컴퓨터", "documents.hidden": "숨김 파일 표시", "documents.next": "다음 50개",
|
|
46
|
+
"documents.query": "이 폴더에서 검색",
|
|
47
|
+
"documents.close": "파일 선택 닫기", "documents.retry": "다시 시도", "documents.remove": "{name} 첨부 빼기",
|
|
48
|
+
"documents.selecting": "선택 중", "documents.snapshotting": "사본 저장 중", "documents.sealed": "사본 저장됨",
|
|
49
|
+
"documents.preparing": "준비 중", "documents.ready": "준비됨", "documents.bound": "보냄",
|
|
50
|
+
"documents.error": "실패", "documents.discarded": "뺌", "documents.revoked": "사용 불가",
|
|
51
|
+
"documents.encoding": "{name}의 문자 인코딩", "documents.chooseEncoding": "인코딩 선택",
|
|
52
|
+
"documents.prepare": "다시 준비", "documents.pending": "모든 파일의 준비가 끝날 때까지 기다리거나 실패한 파일을 빼세요.",
|
|
53
|
+
"documents.sending": "메시지 수락을 확인하는 중입니다.", "documents.uncertain": "수락 여부가 확인되지 않았습니다. 다시 시도해도 같은 전송 번호를 사용합니다.",
|
|
54
|
+
"documents.limit": "한 메시지에는 서로 다른 문서를 최대 4개까지 넣을 수 있습니다.", "documents.queryLong": "검색어는 200자 이내로 입력하세요.",
|
|
55
|
+
"documents.text": "텍스트", "documents.pages": "페이지 이미지", "documents.ocr": "OCR 텍스트",
|
|
56
|
+
"documents.native-document": "PDF 입력", "documents.disabled": "선택할 수 없음",
|
|
57
|
+
"documents.symlink_not_allowed": "링크는 선택할 수 없습니다.", "documents.host_access_denied": "Mac 접근 권한이 없습니다.",
|
|
58
|
+
"documents.encoding_required": "문자 인코딩을 선택하세요.", "documents.invalid_pdf": "올바르지 않은 PDF입니다.",
|
|
59
|
+
"documents.password_required": "암호로 잠긴 PDF입니다.", "documents.processing_limit": "처리 한도를 넘었습니다.",
|
|
60
|
+
"documents.unsupported_encoding": "이 인코딩으로 읽을 수 없습니다.", "documents.file_changed": "파일이 바뀌었습니다. 다시 선택하세요.",
|
|
61
|
+
"documents.picker_expired": "선택 시간이 만료되었습니다. 다시 여세요.", "documents.retrySubmission": "같은 전송 다시 시도",
|
|
62
|
+
"documents.unknownError": "예상하지 못한 오류가 발생했습니다. 다시 시도하세요.",
|
|
63
|
+
"documents.discardFailed": "파일 사본을 폐기하지 못했습니다. 게이트웨이가 회수할 때까지 보내지 않은 상태로 남습니다.",
|
|
64
|
+
"documents.entry.unsupported": "지원하지 않는 파일 형식", "documents.entry.size_limit": "비어 있거나 10 MiB를 넘는 파일",
|
|
65
|
+
"documents.entry.hardlink": "하드 링크는 선택할 수 없음", "documents.entry.nonregular": "링크 또는 특수 파일",
|
|
66
|
+
"documents.entry.host_access_denied": "Mac 접근 권한이 없습니다.", "documents.entry.symlink_not_allowed": "링크는 선택할 수 없습니다.",
|
|
67
|
+
"documents.revoke": "회수", "documents.revokeLabel": "{name} 권한 회수",
|
|
68
|
+
"documents.revokeConfirm": "{name}의 권한을 회수할까요? 에이전트는 더 읽을 수 없고 내려받기도 막힙니다. 이미 읽은 내용, 내려받은 사본, 그 파일로 만든 결과물은 그대로 남습니다.",
|
|
69
|
+
"documents.revoking": "회수하는 중입니다.",
|
|
70
|
+
"documents.revokeCaveat": "회수했습니다. 에이전트가 이미 읽은 내용, 내려받은 사본, 그 파일로 만든 결과물, 협업 에이전트에게 이미 넘긴 사본은 되돌리지 못합니다.",
|
|
71
|
+
"documents.delivery.cancelled": "대기 중이던 전달을 취소했습니다.", "documents.delivery.consumed": "에이전트가 이미 파일을 받았습니다.",
|
|
72
|
+
"documents.delivery.already_dispatched": "메시지는 이미 전달된 뒤였습니다.", "documents.delivery.uncertain": "에이전트가 파일을 받았는지 알 수 없습니다.",
|
|
73
|
+
"documents.attachment_not_found": "게이트웨이에 이 파일의 기록이 없습니다.", "documents.attachment_cas_conflict": "그 사이 파일 상태가 바뀌었습니다. 다시 시도하세요.",
|
|
74
|
+
"documents.attachment_scope_mismatch": "이 대화의 파일이 아닙니다.", "documents.attachment_owner_inactive": "이 기기는 더 이상 파일에 접근할 수 없습니다.",
|
|
75
|
+
"documents.attachment_provider_invalid": "게이트웨이가 준비되지 않았습니다. 잠시 뒤 다시 시도하세요.", "documents.attachment_tombstoned": "이미 정리된 파일입니다.",
|
|
76
|
+
"documents.attachment_reference_unavailable": "권한 기록이 더 이상 없습니다.", "documents.attachment_revoked": "이미 회수한 파일입니다.",
|
|
77
|
+
},
|
|
78
|
+
};
|
package/web/i18n/decisions.js
CHANGED
|
@@ -9,6 +9,40 @@ export default {
|
|
|
9
9
|
"decisions.route.live_response": "Send to the active request", "decisions.route.follow_up_command": "Send as a follow-up instruction",
|
|
10
10
|
"decisions.reason.receipt_unknown": "Delivery was not confirmed", "decisions.reason.user_deferred": "You chose to answer later", "decisions.reason.source_changed": "The question changed", "decisions.reason.recheck_incomplete": "The status check has not finished", "decisions.reason.engine_wait_closed": "The original request ended without an answer", "decisions.reason.engine_wait_cancelled": "The original request was cancelled", "decisions.reason.request_missing": "The original request was not found", "decisions.reason.owner_disconnected": "The responsible session disconnected", "decisions.reason.binding_unknown": "The original request status is unknown", "decisions.reason.owner_unknown": "The current responsible session is unknown", "decisions.reason.parked": "The responsible session is paused", "decisions.reason.command_pending": "Sending the follow-up instruction", "decisions.reason.timeout": "The deadline passed", "decisions.reason.report_only": "The current owner asked this question again", "decisions.reason.main_released": "This question is waiting for an answer", "decisions.reason.instructions_changed": "A new instruction was added after the question", "decisions.reason.context_changed": "A new instruction was added after the question", "decisions.reason.recheck_requested": "A status check was requested", "decisions.reason.request_permission_requested": "A new permission request was sent",
|
|
11
11
|
"decisions.wait.work_ended": "This work is {status}, so it cannot continue. You can only view the original request and its history.", "decisions.wait.requested": "{reason}. Waiting for the responsible session to respond.", "decisions.wait.answer_sending": "Sending the answer.", "decisions.wait.recheck": "{reason}. Check the current status.", "decisions.wait.live": "Waiting for an answer.", "decisions.wait.permission_expired": "The permission request expired. The previous approval will not be reused. A new approval is required for the current action.", "decisions.wait.expired": "The deadline passed, but a decision is still required. Your answer will continue with the current work status.", "decisions.wait.report_only": "The current owner asked this question again. Your answer will be sent as given.", "decisions.wait.main_released": "This question is waiting for an answer. The conversation continues while it waits. Your answer will be sent as given.", "decisions.wait.unknown": "{reason}. Check the current status.", "decisions.wait.work_status": "Work status: {status}{reason}.",
|
|
12
|
+
"decisions.tool.title": "Tool access request", "decisions.tool.action.title": "Confirm one action", "decisions.tool.action.duration": "This action only, once", "decisions.tool.action.note": "Allowing runs exactly this action on this element once. A changed element or value asks again.", "decisions.tool.action.restriction": "Nothing else is clicked, typed or posted.", "decisions.tool.label.agent": "Agent", "decisions.tool.label.source": "Request source", "decisions.tool.label.tool": "Tool", "decisions.tool.label.target": "Target", "decisions.tool.label.operation": "Operation", "decisions.tool.label.duration": "Duration",
|
|
13
|
+
"decisions.tool.duration": "Until revoked", "decisions.tool.source.user": "Direct request", "decisions.tool.source.peer": "Request from collaborating agent {name}", "decisions.tool.source.owner": "Request from a collaboration you started",
|
|
14
|
+
"decisions.tool.note": "If you allow this, the same target and operation will not ask again.", "decisions.tool.restriction.read": "Posting, typing and actions in other tabs are not allowed.", "decisions.tool.restriction.other": "Actions outside this operation and target are not allowed.",
|
|
15
|
+
"decisions.tool.allow": "Allow this scope", "decisions.tool.deny": "Do not allow", "decisions.tool.target.select": "The tab you select", "decisions.tool.target.exact": "The exact arguments of this call", "decisions.tool.target.none": "No narrower scope",
|
|
16
|
+
"decisions.tool.outcome.allowed": "Access allowed. The same target and operation will not ask again.", "decisions.tool.outcome.denied": "Access was not granted. Nothing was run.", "decisions.tool.outcome.cancelled": "The request was cancelled. Nothing was run.",
|
|
17
|
+
"decisions.tool.name.zgw_aside": "Aside", "decisions.tool.name.zgw_attachment_read": "Attached file reader", "decisions.tool.name.web_search": "Web search", "decisions.tool.name.webfetch": "Web page fetch", "decisions.tool.name.zgw_agent_request": "Collaboration request",
|
|
18
|
+
"decisions.tool.name.zgw_agent_result": "Collaboration result", "decisions.tool.name.zgw_agent_requests": "Collaboration request list", "decisions.tool.name.zgw_agent_cancel": "Collaboration request cancellation", "decisions.tool.name.zgw_agent_files": "Collaboration files",
|
|
19
|
+
"decisions.tool.op.zgw_aside.read": "Read tab", "decisions.tool.op.zgw_aside.screenshot": "Capture tab", "decisions.tool.op.zgw_aside.open_owned": "Open a work tab", "decisions.tool.op.zgw_aside.navigate_owned": "Move a work tab", "decisions.tool.op.zgw_aside.click": "Click", "decisions.tool.op.zgw_aside.fill": "Type", "decisions.tool.op.zgw_aside.close_owned": "Close a work tab",
|
|
20
|
+
"decisions.tool.desc.zgw_aside.read": "Read the page text and images", "decisions.tool.desc.zgw_aside.screenshot": "Capture the page as an image", "decisions.tool.desc.zgw_aside.click": "Click the chosen element", "decisions.tool.desc.zgw_aside.fill": "Type into the chosen field", "decisions.tool.desc.zgw_aside.open_owned": "Open a new tab for its own work", "decisions.tool.desc.zgw_aside.navigate_owned": "Move its own tab to a page", "decisions.tool.desc.zgw_aside.close_owned": "Close its own tab",
|
|
21
|
+
"decisions.tool.op.read": "Read", "decisions.tool.op.write": "Write", "decisions.tool.op.edit": "Edit", "decisions.tool.op.list": "List", "decisions.tool.op.search": "Search", "decisions.tool.op.fetch": "Fetch", "decisions.tool.op.execute": "Run", "decisions.tool.op.invoke_exact": "Run this call as is", "decisions.tool.op.open": "Open", "decisions.tool.op.send": "Send", "decisions.tool.op.delete": "Delete",
|
|
22
|
+
"decisions.tool.error.response": "This request can only be answered with the Allow this scope or Do not allow buttons.", "decisions.tool.error.principal": "This screen's confirmation credential could not be verified. Reload the page and try again.",
|
|
23
|
+
"decisions.tool.error.digest": "The request changed. Check the latest content and answer again.", "decisions.tool.error.blocked": "All tool access of this agent is blocked. Check the agent settings first.",
|
|
24
|
+
"decisions.tool.error.grant": "This permission changed in the meantime. Check the current state and try again.", "decisions.tool.error.gone": "This permission no longer exists. It may have been revoked already.",
|
|
25
|
+
"decisions.tool.error.policy": "The permission policy changed in the meantime. Reload the list and try again.", "decisions.tool.error.expired": "This screen's confirmation session expired. A new session is ready; press again.",
|
|
26
|
+
"decisions.tool.error.forbidden": "Tool access cannot be confirmed from this screen. Use the web screen opened directly at the gateway address.", "decisions.tool.error.operation": "The same operation was already processed with different content. Check the current state.",
|
|
27
|
+
"decisions.tool.error.invalid": "The gateway did not accept the request format. Reload the page and try again.", "decisions.tool.error.epoch": "The agent was recreated or its access was revoked, so this request is no longer valid.",
|
|
28
|
+
"decisions.tool.error.duplicate": "The same tool request is already being handled. Check the latest inbox item.", "decisions.tool.error.missing": "This confirmation item no longer exists.",
|
|
29
|
+
"decisions.tool.error.generic": "The gateway could not process the request. Try again in a moment.",
|
|
30
|
+
"decisions.artifact.title": "File read review", "decisions.artifact.label.agent": "Reading agent", "decisions.artifact.label.file": "File", "decisions.artifact.label.part": "Requested part", "decisions.artifact.label.findings": "Security check",
|
|
31
|
+
"decisions.artifact.agent.main": "{name} (main conversation)", "decisions.artifact.part.raw": "Whole file", "decisions.artifact.part.text": "Text", "decisions.artifact.part.page": "Page {page}", "decisions.artifact.part.pages": "Pages {start}-{end}",
|
|
32
|
+
"decisions.artifact.findings.item": "{kind}: {count}", "decisions.artifact.findings.none": "No flagged values", "decisions.artifact.findings.unknown": "No summary was recorded for this hold",
|
|
33
|
+
"decisions.artifact.unscanned": "Page {pages} has no text layer, so it could not be checked automatically. Look at it yourself before allowing.",
|
|
34
|
+
"decisions.artifact.question": "Allow sends this part of the file to the agent. Do not allow keeps it back. The flagged values themselves are never shown here.",
|
|
35
|
+
"decisions.artifact.allow": "Allow this read", "decisions.artifact.deny": "Do not allow",
|
|
36
|
+
"decisions.artifact.chip.allowed": "Allowed", "decisions.artifact.chip.denied": "Not allowed", "decisions.artifact.chip.cancelled": "Cancelled", "decisions.artifact.chip.invalidated": "No longer valid",
|
|
37
|
+
"decisions.artifact.outcome.allowed.waiting": "Allowed. The read continues when the agent's current turn ends.", "decisions.artifact.outcome.allowed.resumed": "Allowed. The agent is continuing the read.", "decisions.artifact.outcome.allowed.released": "Allowed. The agent received this part of the file.",
|
|
38
|
+
"decisions.artifact.outcome.allowed.stopped": "Allowed, but the read could not continue ({state}). Nothing was sent.",
|
|
39
|
+
"decisions.artifact.outcome.denied": "Not allowed. Nothing of the file was sent.", "decisions.artifact.outcome.cancelled": "The review was cancelled. Nothing of the file was sent.",
|
|
40
|
+
"decisions.artifact.outcome.invalidated": "This read is no longer valid because the file or its access changed. Nothing was sent.",
|
|
41
|
+
"decisions.artifact.error.conflict": "The hold changed in the meantime. The latest state was loaded; check it and answer again.", "decisions.artifact.error.ownerRequired": "The gateway did not accept this browser as the owner, so nothing was processed.",
|
|
42
|
+
"decisions.artifact.error.unavailable": "This action is not available on this screen yet.", "decisions.artifact.error.network": "The gateway could not be reached. Whether it was processed is unknown; check the latest state.",
|
|
43
|
+
"decisions.artifact.error.gone": "This review item no longer exists.", "decisions.artifact.error.failed": "The gateway could not process the request ({reason}).",
|
|
44
|
+
"decisions.artifact.kind.private-key": "Private key", "decisions.artifact.kind.token": "Token / API key", "decisions.artifact.kind.credential": "Password / auth / cookie value", "decisions.artifact.kind.home-path": "Home folder path",
|
|
45
|
+
"decisions.artifact.kind.internal-address": "Internal IP / host", "decisions.artifact.kind.email": "Email address", "decisions.artifact.kind.phone": "Phone number", "decisions.artifact.kind.device-id": "Phone or device ID", "decisions.artifact.kind.other": "Other security value",
|
|
12
46
|
},
|
|
13
47
|
ko: {
|
|
14
48
|
"decisions.dismiss.hide.prompt": "확인함에서 지웁니다. 질문과 답변 기록은 남습니다.", "decisions.dismiss.hide.confirm": "삭제",
|
|
@@ -20,5 +54,39 @@ export default {
|
|
|
20
54
|
"decisions.route.live_response": "실행 중인 요청에 바로 전달", "decisions.route.follow_up_command": "후속 지시로 전달",
|
|
21
55
|
"decisions.reason.receipt_unknown": "전달 확인을 받지 못했습니다", "decisions.reason.user_deferred": "나중에 답하기로 미뤘습니다", "decisions.reason.source_changed": "질문 내용이 바뀌었습니다", "decisions.reason.recheck_incomplete": "재확인 결과가 아직 오지 않았습니다", "decisions.reason.engine_wait_closed": "원래 요청이 답 없이 끝났습니다", "decisions.reason.engine_wait_cancelled": "원래 요청이 취소됐습니다", "decisions.reason.request_missing": "원래 요청을 찾을 수 없습니다", "decisions.reason.owner_disconnected": "담당 세션 연결이 끊겼습니다", "decisions.reason.binding_unknown": "원래 요청 상태를 알 수 없습니다", "decisions.reason.owner_unknown": "현재 담당 세션을 확인할 수 없습니다", "decisions.reason.parked": "담당 세션이 잠시 멈춰 있습니다", "decisions.reason.command_pending": "후속 지시를 보내는 중입니다", "decisions.reason.timeout": "기한이 지났습니다", "decisions.reason.report_only": "현재 담당이 다시 낸 질문입니다", "decisions.reason.main_released": "답을 기다리는 질문입니다", "decisions.reason.instructions_changed": "질문 이후 새 지시가 추가됐습니다", "decisions.reason.context_changed": "질문 이후 새 지시가 추가됐습니다", "decisions.reason.recheck_requested": "현재 상황 확인을 요청했습니다", "decisions.reason.request_permission_requested": "새 승인 요청을 보냈습니다",
|
|
22
56
|
"decisions.wait.work_ended": "작업이 {status} 상태라 더 실행할 수 없습니다. 원문과 이력만 볼 수 있습니다.", "decisions.wait.requested": "{reason}. 담당 세션의 응답을 기다립니다.", "decisions.wait.answer_sending": "답변을 전달하는 중입니다.", "decisions.wait.recheck": "{reason}. 현재 상황을 확인해 주세요.", "decisions.wait.live": "지금 답을 기다리고 있습니다.", "decisions.wait.permission_expired": "승인 요청 기한이 지났습니다. 이전 승인은 다시 쓰지 않습니다. 현재 실행 내용에 대해 새 승인을 받아야 합니다.", "decisions.wait.expired": "기한은 지났지만 결정은 아직 필요합니다. 답하면 현재 작업 상황에 맞춰 이어서 전달합니다.", "decisions.wait.report_only": "현재 담당이 다시 낸 질문입니다. 답하면 그대로 전달합니다.", "decisions.wait.main_released": "답을 기다리는 질문입니다. 그동안 대화는 멈추지 않습니다. 답하면 그대로 전달합니다.", "decisions.wait.unknown": "{reason}. 현재 상황을 확인해 주세요.", "decisions.wait.work_status": "작업 상태: {status}{reason}.",
|
|
57
|
+
"decisions.tool.title": "도구 사용 허가", "decisions.tool.action.title": "동작 한 번 확인", "decisions.tool.action.duration": "이 동작 한 번만", "decisions.tool.action.note": "허용하면 이 요소에 이 동작을 정확히 한 번 실행합니다. 요소나 값이 바뀌면 다시 묻습니다.", "decisions.tool.action.restriction": "다른 클릭, 입력, 게시는 하지 않습니다.", "decisions.tool.label.agent": "에이전트", "decisions.tool.label.source": "요청 경로", "decisions.tool.label.tool": "도구", "decisions.tool.label.target": "대상", "decisions.tool.label.operation": "동작", "decisions.tool.label.duration": "유지 기간",
|
|
58
|
+
"decisions.tool.duration": "권한을 회수할 때까지", "decisions.tool.source.user": "직접 요청", "decisions.tool.source.peer": "협업 에이전트 {name}의 의뢰", "decisions.tool.source.owner": "내가 보낸 협업 요청의 의뢰",
|
|
59
|
+
"decisions.tool.note": "허용하면 같은 대상과 동작에서는 다음부터 다시 묻지 않습니다.", "decisions.tool.restriction.read": "게시, 입력, 다른 탭의 조작은 허용하지 않습니다.", "decisions.tool.restriction.other": "이 동작과 대상 밖의 조작은 허용하지 않습니다.",
|
|
60
|
+
"decisions.tool.allow": "이 범위 허용", "decisions.tool.deny": "허용하지 않음", "decisions.tool.target.select": "선택한 탭", "decisions.tool.target.exact": "이 호출의 인자 그대로", "decisions.tool.target.none": "더 좁힌 범위 없음",
|
|
61
|
+
"decisions.tool.outcome.allowed": "권한을 허용했습니다. 같은 대상과 동작에서는 다시 묻지 않습니다.", "decisions.tool.outcome.denied": "권한을 허용하지 않았습니다. 도구는 실행하지 않았습니다.", "decisions.tool.outcome.cancelled": "확인을 취소했습니다. 도구는 실행하지 않았습니다.",
|
|
62
|
+
"decisions.tool.name.zgw_aside": "Aside", "decisions.tool.name.zgw_attachment_read": "첨부 파일 읽기", "decisions.tool.name.web_search": "웹 검색", "decisions.tool.name.webfetch": "웹 페이지 가져오기", "decisions.tool.name.zgw_agent_request": "협업 요청",
|
|
63
|
+
"decisions.tool.name.zgw_agent_result": "협업 결과 회신", "decisions.tool.name.zgw_agent_requests": "협업 요청 목록", "decisions.tool.name.zgw_agent_cancel": "협업 요청 취소", "decisions.tool.name.zgw_agent_files": "협업 파일",
|
|
64
|
+
"decisions.tool.op.zgw_aside.read": "탭 읽기", "decisions.tool.op.zgw_aside.screenshot": "탭 화면 캡처", "decisions.tool.op.zgw_aside.open_owned": "작업 탭 열기", "decisions.tool.op.zgw_aside.navigate_owned": "작업 탭 이동", "decisions.tool.op.zgw_aside.click": "클릭", "decisions.tool.op.zgw_aside.fill": "입력", "decisions.tool.op.zgw_aside.close_owned": "작업 탭 닫기",
|
|
65
|
+
"decisions.tool.desc.zgw_aside.read": "페이지 본문과 이미지 읽기", "decisions.tool.desc.zgw_aside.screenshot": "페이지 화면을 이미지로 캡처", "decisions.tool.desc.zgw_aside.click": "선택한 요소 클릭", "decisions.tool.desc.zgw_aside.fill": "선택한 입력란에 입력", "decisions.tool.desc.zgw_aside.open_owned": "자기 작업용 새 탭 열기", "decisions.tool.desc.zgw_aside.navigate_owned": "자기 작업 탭을 페이지로 이동", "decisions.tool.desc.zgw_aside.close_owned": "자기 작업 탭 닫기",
|
|
66
|
+
"decisions.tool.op.read": "읽기", "decisions.tool.op.write": "쓰기", "decisions.tool.op.edit": "수정", "decisions.tool.op.list": "목록 보기", "decisions.tool.op.search": "검색", "decisions.tool.op.fetch": "가져오기", "decisions.tool.op.execute": "실행", "decisions.tool.op.invoke_exact": "이 호출 그대로 실행", "decisions.tool.op.open": "열기", "decisions.tool.op.send": "보내기", "decisions.tool.op.delete": "삭제",
|
|
67
|
+
"decisions.tool.error.response": "이 요청은 '이 범위 허용' 또는 '허용하지 않음' 버튼으로만 답할 수 있습니다.", "decisions.tool.error.principal": "이 화면의 확인 자격을 확인하지 못했습니다. 화면을 새로 고친 뒤 다시 시도해 주세요.",
|
|
68
|
+
"decisions.tool.error.digest": "요청 내용이 바뀌었습니다. 최신 내용을 확인한 뒤 다시 답해 주세요.", "decisions.tool.error.blocked": "이 에이전트의 도구 접근이 전체 차단되어 있습니다. 에이전트 설정에서 먼저 확인해 주세요.",
|
|
69
|
+
"decisions.tool.error.grant": "이 권한이 그사이 바뀌었습니다. 현재 상태를 확인한 뒤 다시 시도해 주세요.", "decisions.tool.error.gone": "이 권한을 더 찾을 수 없습니다. 이미 회수되었을 수 있습니다.",
|
|
70
|
+
"decisions.tool.error.policy": "권한 정책이 그사이 바뀌었습니다. 목록을 다시 불러온 뒤 시도해 주세요.", "decisions.tool.error.expired": "이 화면의 확인 세션이 만료되었습니다. 새 세션을 받았으니 다시 눌러 주세요.",
|
|
71
|
+
"decisions.tool.error.forbidden": "이 화면에서는 도구 권한을 확인할 수 없습니다. 게이트웨이 주소로 직접 연 웹 화면에서 확인해 주세요.", "decisions.tool.error.operation": "같은 작업이 다른 내용으로 이미 처리되었습니다. 현재 상태를 확인해 주세요.",
|
|
72
|
+
"decisions.tool.error.invalid": "요청 형식을 게이트웨이가 받지 않았습니다. 화면을 새로 고친 뒤 다시 시도해 주세요.", "decisions.tool.error.epoch": "에이전트가 다시 만들어지거나 권한이 전체 회수되어 이 요청은 더 유효하지 않습니다.",
|
|
73
|
+
"decisions.tool.error.duplicate": "같은 도구 요청이 이미 처리 중입니다. 확인함의 최신 항목을 확인해 주세요.", "decisions.tool.error.missing": "이 확인 항목을 더 찾을 수 없습니다.",
|
|
74
|
+
"decisions.tool.error.generic": "게이트웨이가 요청을 처리하지 못했습니다. 잠시 뒤 다시 시도해 주세요.",
|
|
75
|
+
"decisions.artifact.title": "파일 읽기 검토", "decisions.artifact.label.agent": "읽는 에이전트", "decisions.artifact.label.file": "파일", "decisions.artifact.label.part": "요청한 부분", "decisions.artifact.label.findings": "보안검사",
|
|
76
|
+
"decisions.artifact.agent.main": "{name} (메인 대화)", "decisions.artifact.part.raw": "파일 전체", "decisions.artifact.part.text": "텍스트", "decisions.artifact.part.page": "{page}쪽", "decisions.artifact.part.pages": "{start}-{end}쪽",
|
|
77
|
+
"decisions.artifact.findings.item": "{kind} {count}건", "decisions.artifact.findings.none": "검출된 값 없음", "decisions.artifact.findings.unknown": "이 보류에는 요약이 기록되지 않았습니다",
|
|
78
|
+
"decisions.artifact.unscanned": "{pages}쪽은 글자 층이 없어 자동으로 검사하지 못했습니다. 허용하기 전에 직접 확인해 주세요.",
|
|
79
|
+
"decisions.artifact.question": "허용하면 파일의 이 부분이 에이전트에게 전달됩니다. 허용하지 않으면 전달하지 않습니다. 검출된 값 자체는 여기에 보이지 않습니다.",
|
|
80
|
+
"decisions.artifact.allow": "이 읽기 허용", "decisions.artifact.deny": "허용하지 않음",
|
|
81
|
+
"decisions.artifact.chip.allowed": "허용함", "decisions.artifact.chip.denied": "허용 안 함", "decisions.artifact.chip.cancelled": "취소됨", "decisions.artifact.chip.invalidated": "무효",
|
|
82
|
+
"decisions.artifact.outcome.allowed.waiting": "허용했습니다. 에이전트의 현재 차례가 끝나면 읽기를 이어서 진행합니다.", "decisions.artifact.outcome.allowed.resumed": "허용했습니다. 에이전트가 읽기를 이어서 진행하고 있습니다.", "decisions.artifact.outcome.allowed.released": "허용했습니다. 에이전트가 파일의 이 부분을 받았습니다.",
|
|
83
|
+
"decisions.artifact.outcome.allowed.stopped": "허용했지만 읽기를 이어가지 못했습니다 ({state}). 파일 내용은 전달하지 않았습니다.",
|
|
84
|
+
"decisions.artifact.outcome.denied": "허용하지 않았습니다. 파일 내용은 전달하지 않았습니다.", "decisions.artifact.outcome.cancelled": "검토가 취소되었습니다. 파일 내용은 전달하지 않았습니다.",
|
|
85
|
+
"decisions.artifact.outcome.invalidated": "파일이나 접근 권한이 바뀌어 이 읽기는 더 유효하지 않습니다. 파일 내용은 전달하지 않았습니다.",
|
|
86
|
+
"decisions.artifact.error.conflict": "그사이 보류 상태가 바뀌었습니다. 최신 상태를 다시 불러왔으니 확인한 뒤 다시 답해 주세요.", "decisions.artifact.error.ownerRequired": "게이트웨이가 이 브라우저를 소유자로 인정하지 않아 처리하지 않았습니다.",
|
|
87
|
+
"decisions.artifact.error.unavailable": "이 화면에서는 아직 이 동작을 쓸 수 없습니다.", "decisions.artifact.error.network": "게이트웨이에 연결하지 못했습니다. 처리 여부를 알 수 없으니 최신 상태를 확인해 주세요.",
|
|
88
|
+
"decisions.artifact.error.gone": "이 검토 항목을 더 찾을 수 없습니다.", "decisions.artifact.error.failed": "게이트웨이가 요청을 처리하지 못했습니다 ({reason}).",
|
|
89
|
+
"decisions.artifact.kind.private-key": "비밀키", "decisions.artifact.kind.token": "토큰·API 키", "decisions.artifact.kind.credential": "비밀번호·인증·쿠키 값", "decisions.artifact.kind.home-path": "홈 폴더 경로",
|
|
90
|
+
"decisions.artifact.kind.internal-address": "내부 IP·호스트", "decisions.artifact.kind.email": "이메일 주소", "decisions.artifact.kind.phone": "전화번호", "decisions.artifact.kind.device-id": "기기 식별값", "decisions.artifact.kind.other": "기타 보안 값",
|
|
23
91
|
},
|
|
24
92
|
};
|
package/web/i18n/gc.d.ts
ADDED