@neurocode-ai/app 1.18.8

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.
Files changed (577) hide show
  1. package/AGENTS.md +35 -0
  2. package/README.md +50 -0
  3. package/V1_API_MIGRATION.md +220 -0
  4. package/bunfig.toml +3 -0
  5. package/create-effect-simplification-spec.md +515 -0
  6. package/e2e/performance/AGENTS.md +13 -0
  7. package/e2e/performance/README.md +79 -0
  8. package/e2e/performance/benchmark.ts +144 -0
  9. package/e2e/performance/chrome-trace.ts +95 -0
  10. package/e2e/performance/playwright.config.ts +20 -0
  11. package/e2e/performance/playwright.uncapped.config.ts +13 -0
  12. package/e2e/performance/timeline/first-navigation-benchmark.spec.ts +87 -0
  13. package/e2e/performance/timeline/first-navigation-metrics.ts +32 -0
  14. package/e2e/performance/timeline/first-navigation-probe.ts +86 -0
  15. package/e2e/performance/timeline/home-tab-navigation-benchmark.spec.ts +114 -0
  16. package/e2e/performance/timeline/navigation-milestones.ts +128 -0
  17. package/e2e/performance/timeline/review-pane-scaling-benchmark.spec.ts +312 -0
  18. package/e2e/performance/timeline/session-parent-hydration-benchmark.spec.ts +172 -0
  19. package/e2e/performance/timeline/session-tab-flash.spec.ts +67 -0
  20. package/e2e/performance/timeline/session-tab-repaint-probe.ts +251 -0
  21. package/e2e/performance/timeline/session-tab-switch-benchmark.spec.ts +144 -0
  22. package/e2e/performance/timeline/session-tab-switch-metrics.ts +59 -0
  23. package/e2e/performance/timeline/session-tab-switch-probe.ts +226 -0
  24. package/e2e/performance/timeline/session-timeline-benchmark.fixture.ts +504 -0
  25. package/e2e/performance/timeline/session-timeline-benchmark.spec.ts +306 -0
  26. package/e2e/performance/timeline/session-timeline-profile.ts +40 -0
  27. package/e2e/performance/timeline/session-timeline-stream-probe.ts +547 -0
  28. package/e2e/performance/timeline/session-timeline-stress.fixture.ts +369 -0
  29. package/e2e/performance/timeline/timeline-test-helpers.ts +134 -0
  30. package/e2e/performance/timeline-stability/README.md +61 -0
  31. package/e2e/performance/timeline-stability/adverse.spec.ts +250 -0
  32. package/e2e/performance/timeline-stability/context-matrix.spec.ts +192 -0
  33. package/e2e/performance/timeline-stability/environment-matrix.spec.ts +113 -0
  34. package/e2e/performance/timeline-stability/file-matrix.spec.ts +121 -0
  35. package/e2e/performance/timeline-stability/file-mutation.spec.ts +113 -0
  36. package/e2e/performance/timeline-stability/fixture.test.ts +68 -0
  37. package/e2e/performance/timeline-stability/fixture.ts +566 -0
  38. package/e2e/performance/timeline-stability/interaction.spec.ts +242 -0
  39. package/e2e/performance/timeline-stability/lifecycle.spec.ts +157 -0
  40. package/e2e/performance/timeline-stability/oracle-browser.spec.ts +75 -0
  41. package/e2e/performance/timeline-stability/playwright.config.ts +17 -0
  42. package/e2e/performance/timeline-stability/scroll-interaction.spec.ts +353 -0
  43. package/e2e/performance/timeline-stability/shell-matrix.spec.ts +255 -0
  44. package/e2e/performance/timeline-stability/tool-mutation.spec.ts +106 -0
  45. package/e2e/performance/timeline-stability/tools.spec.ts +198 -0
  46. package/e2e/performance/timeline-stability/transition-matrix.spec.ts +272 -0
  47. package/e2e/performance/unit/chrome-trace-write.test.ts +15 -0
  48. package/e2e/performance/unit/first-navigation-metrics.test.ts +32 -0
  49. package/e2e/performance/unit/mock-server.test.ts +46 -0
  50. package/e2e/performance/unit/navigation-milestones.test.ts +34 -0
  51. package/e2e/performance/unit/session-tab-repaint-probe.test.ts +42 -0
  52. package/e2e/performance/unit/session-tab-switch-metrics.test.ts +86 -0
  53. package/e2e/performance/unit/session-tab-switch-probe.test.ts +55 -0
  54. package/e2e/performance/unit/session-timeline-stream-probe.test.ts +14 -0
  55. package/e2e/performance/unit/session-timeline-visual-tracking.test.ts +16 -0
  56. package/e2e/performance/unit/timeline-test-helpers.test.ts +10 -0
  57. package/e2e/performance/unit/visual-stability.test.ts +392 -0
  58. package/e2e/regression/cross-server-tab-close.spec.ts +153 -0
  59. package/e2e/regression/file-browser-sidebar-tab-switch.spec.ts +150 -0
  60. package/e2e/regression/legacy-new-session.spec.ts +41 -0
  61. package/e2e/regression/new-session-panel-corner.spec.ts +83 -0
  62. package/e2e/regression/prompt-input-v2-command-draft.spec.ts +50 -0
  63. package/e2e/regression/prompt-thinking-level.spec.ts +84 -0
  64. package/e2e/regression/remote-session-settings.spec.ts +302 -0
  65. package/e2e/regression/remote-tab-busy.spec.ts +131 -0
  66. package/e2e/regression/review-image-flash.spec.ts +202 -0
  67. package/e2e/regression/review-line-comment.spec.ts +158 -0
  68. package/e2e/regression/review-open-file.spec.ts +163 -0
  69. package/e2e/regression/review-state-persistence.spec.ts +155 -0
  70. package/e2e/regression/review-tab-switch.spec.ts +147 -0
  71. package/e2e/regression/review-terminal-stacked.spec.ts +308 -0
  72. package/e2e/regression/session-list-path-loading.spec.ts +41 -0
  73. package/e2e/regression/session-request-docks.spec.ts +221 -0
  74. package/e2e/regression/session-timeline-accessibility.spec.ts +22 -0
  75. package/e2e/regression/session-timeline-collapse-state.spec.ts +439 -0
  76. package/e2e/regression/session-timeline-context-resize.spec.ts +374 -0
  77. package/e2e/regression/session-timeline-context-state.spec.ts +31 -0
  78. package/e2e/regression/session-timeline-file-projection.spec.ts +52 -0
  79. package/e2e/regression/session-timeline-file-state.spec.ts +94 -0
  80. package/e2e/regression/session-timeline-history-root.spec.ts +242 -0
  81. package/e2e/regression/session-timeline-lifecycle-state.spec.ts +111 -0
  82. package/e2e/regression/session-timeline-locale-projection.spec.ts +25 -0
  83. package/e2e/regression/session-timeline-projection.spec.ts +287 -0
  84. package/e2e/regression/session-timeline-reasoning-projection.spec.ts +93 -0
  85. package/e2e/regression/session-timeline-reducer-projection.spec.ts +43 -0
  86. package/e2e/regression/session-timeline-shell-outline.spec.ts +228 -0
  87. package/e2e/regression/session-timeline-tool-projection.spec.ts +99 -0
  88. package/e2e/regression/session-timeline-tool-state.spec.ts +77 -0
  89. package/e2e/regression/session-timeline-transport.spec.ts +116 -0
  90. package/e2e/regression/session-todo-dock-navigation.spec.ts +190 -0
  91. package/e2e/regression/subagent-child-navigation.spec.ts +203 -0
  92. package/e2e/regression/tab-navigate-mousedown.spec.ts +127 -0
  93. package/e2e/regression/terminal-composer-focus.spec.ts +227 -0
  94. package/e2e/regression/terminal-hidden.spec.ts +117 -0
  95. package/e2e/regression/terminal-tab-switch.spec.ts +165 -0
  96. package/e2e/reproduction/timeline-suspense/index.html +34 -0
  97. package/e2e/reproduction/timeline-suspense/main.tsx +315 -0
  98. package/e2e/reproduction/timeline-suspense/playwright.config.ts +34 -0
  99. package/e2e/reproduction/timeline-suspense/timeline-suspense.repro.ts +179 -0
  100. package/e2e/reproduction/timeline-suspense/vite.config.ts +7 -0
  101. package/e2e/smoke/session-timeline.fixture.ts +315 -0
  102. package/e2e/smoke/session-timeline.spec.ts +740 -0
  103. package/e2e/tsconfig.json +20 -0
  104. package/e2e/utils/errors.ts +18 -0
  105. package/e2e/utils/mock-server.ts +443 -0
  106. package/e2e/utils/sse-transport.ts +312 -0
  107. package/e2e/utils/visual-stability/analyzer.ts +209 -0
  108. package/e2e/utils/visual-stability/capture.ts +51 -0
  109. package/e2e/utils/visual-stability/index.ts +8 -0
  110. package/e2e/utils/visual-stability/invariant.ts +112 -0
  111. package/e2e/utils/visual-stability/model.ts +47 -0
  112. package/e2e/utils/visual-stability/probe.ts +226 -0
  113. package/e2e/utils/visual-stability/regions.ts +18 -0
  114. package/e2e/utils/visual-stability/reporter.ts +63 -0
  115. package/e2e/utils/visual-stability/scenario.ts +20 -0
  116. package/e2e/utils/visual-stability.ts +54 -0
  117. package/e2e/utils/waits.ts +11 -0
  118. package/happydom.ts +75 -0
  119. package/index.html +28 -0
  120. package/package.json +96 -0
  121. package/playwright.config.ts +45 -0
  122. package/public/_headers +17 -0
  123. package/public/apple-touch-icon-v3.png +1 -0
  124. package/public/apple-touch-icon.png +1 -0
  125. package/public/assets/Inter.ttf +0 -0
  126. package/public/assets/JetBrainsMonoNerdFontMono-Regular.woff2 +0 -0
  127. package/public/favicon-96x96-v3.png +1 -0
  128. package/public/favicon-96x96.png +1 -0
  129. package/public/favicon-v3.ico +1 -0
  130. package/public/favicon-v3.svg +1 -0
  131. package/public/favicon.ico +1 -0
  132. package/public/favicon.svg +1 -0
  133. package/public/oc-theme-preload.js +40 -0
  134. package/public/site.webmanifest +1 -0
  135. package/public/social-share-zen.png +1 -0
  136. package/public/social-share.png +1 -0
  137. package/public/web-app-manifest-192x192.png +1 -0
  138. package/public/web-app-manifest-512x512.png +1 -0
  139. package/src/addons/serialize.test.ts +327 -0
  140. package/src/addons/serialize.ts +642 -0
  141. package/src/app.tsx +659 -0
  142. package/src/assets/help/home.png +0 -0
  143. package/src/assets/help/introducing-tabs.mp4 +0 -0
  144. package/src/assets/help/placeholder.png +0 -0
  145. package/src/assets/help/tabs.png +0 -0
  146. package/src/components/command-palette.ts +281 -0
  147. package/src/components/command-tooltip-keybind.test.ts +22 -0
  148. package/src/components/command-tooltip-keybind.ts +11 -0
  149. package/src/components/debug-bar.tsx +550 -0
  150. package/src/components/dialog-command-palette-v2.css +220 -0
  151. package/src/components/dialog-command-palette-v2.tsx +342 -0
  152. package/src/components/dialog-connect-provider.stories.tsx +73 -0
  153. package/src/components/dialog-connect-provider.tsx +1178 -0
  154. package/src/components/dialog-custom-provider-form.ts +158 -0
  155. package/src/components/dialog-custom-provider.test.ts +80 -0
  156. package/src/components/dialog-custom-provider.tsx +330 -0
  157. package/src/components/dialog-edit-project-v2.tsx +156 -0
  158. package/src/components/dialog-edit-project.tsx +170 -0
  159. package/src/components/dialog-fork.tsx +104 -0
  160. package/src/components/dialog-manage-models.tsx +265 -0
  161. package/src/components/dialog-release-notes.tsx +144 -0
  162. package/src/components/dialog-select-directory-v2.css +107 -0
  163. package/src/components/dialog-select-directory-v2.tsx +378 -0
  164. package/src/components/dialog-select-directory.tsx +191 -0
  165. package/src/components/dialog-select-file.tsx +189 -0
  166. package/src/components/dialog-select-mcp.tsx +92 -0
  167. package/src/components/dialog-select-model-search.test.ts +19 -0
  168. package/src/components/dialog-select-model-search.ts +18 -0
  169. package/src/components/dialog-select-model-unpaid-v2.stories.tsx +55 -0
  170. package/src/components/dialog-select-model-unpaid-v2.tsx +175 -0
  171. package/src/components/dialog-select-model-unpaid.tsx +147 -0
  172. package/src/components/dialog-select-model.tsx +549 -0
  173. package/src/components/dialog-select-server.tsx +722 -0
  174. package/src/components/dialog-settings.tsx +94 -0
  175. package/src/components/dialog-usage-exceeded.tsx +44 -0
  176. package/src/components/directory-picker-domain.test.ts +248 -0
  177. package/src/components/directory-picker-domain.ts +407 -0
  178. package/src/components/directory-picker-policy.ts +7 -0
  179. package/src/components/directory-picker.test.ts +21 -0
  180. package/src/components/directory-picker.tsx +45 -0
  181. package/src/components/edit-project.ts +122 -0
  182. package/src/components/file-tree-v2-model.test.ts +74 -0
  183. package/src/components/file-tree-v2-model.ts +107 -0
  184. package/src/components/file-tree-v2.tsx +299 -0
  185. package/src/components/file-tree.test.ts +80 -0
  186. package/src/components/file-tree.tsx +509 -0
  187. package/src/components/help-button.tsx +148 -0
  188. package/src/components/link.tsx +26 -0
  189. package/src/components/model-tooltip.tsx +124 -0
  190. package/src/components/pierre-tree.test.ts +23 -0
  191. package/src/components/prompt-input/attachments.test.ts +108 -0
  192. package/src/components/prompt-input/attachments.ts +228 -0
  193. package/src/components/prompt-input/build-request-parts.test.ts +396 -0
  194. package/src/components/prompt-input/build-request-parts.ts +213 -0
  195. package/src/components/prompt-input/context-items.tsx +98 -0
  196. package/src/components/prompt-input/contracts.ts +57 -0
  197. package/src/components/prompt-input/drag-overlay.tsx +25 -0
  198. package/src/components/prompt-input/editor-dom.test.ts +99 -0
  199. package/src/components/prompt-input/editor-dom.ts +148 -0
  200. package/src/components/prompt-input/files.ts +98 -0
  201. package/src/components/prompt-input/history-store.ts +47 -0
  202. package/src/components/prompt-input/history.test.ts +153 -0
  203. package/src/components/prompt-input/history.ts +256 -0
  204. package/src/components/prompt-input/image-attachments.css +43 -0
  205. package/src/components/prompt-input/image-attachments.tsx +168 -0
  206. package/src/components/prompt-input/paste.ts +24 -0
  207. package/src/components/prompt-input/placeholder.test.ts +48 -0
  208. package/src/components/prompt-input/placeholder.ts +20 -0
  209. package/src/components/prompt-input/slash-popover.tsx +376 -0
  210. package/src/components/prompt-input/submission-state.ts +33 -0
  211. package/src/components/prompt-input/submit.test.ts +598 -0
  212. package/src/components/prompt-input/submit.ts +634 -0
  213. package/src/components/prompt-input/transient-state.ts +46 -0
  214. package/src/components/prompt-input-v2.tsx +592 -0
  215. package/src/components/prompt-input.stories.tsx +223 -0
  216. package/src/components/prompt-input.tsx +1790 -0
  217. package/src/components/prompt-project-selector.tsx +593 -0
  218. package/src/components/prompt-workspace-selector.tsx +128 -0
  219. package/src/components/server/server-row-menu.tsx +96 -0
  220. package/src/components/server/server-row.tsx +127 -0
  221. package/src/components/session/index.ts +7 -0
  222. package/src/components/session/open-in-app-v2.tsx +98 -0
  223. package/src/components/session/open-in-app.tsx +229 -0
  224. package/src/components/session/session-context-breakdown.test.ts +61 -0
  225. package/src/components/session/session-context-breakdown.ts +132 -0
  226. package/src/components/session/session-context-format.ts +20 -0
  227. package/src/components/session/session-context-metrics.test.ts +99 -0
  228. package/src/components/session/session-context-metrics.ts +65 -0
  229. package/src/components/session/session-context-tab.tsx +343 -0
  230. package/src/components/session/session-header.tsx +568 -0
  231. package/src/components/session/session-new-design-view.tsx +16 -0
  232. package/src/components/session/session-new-view.tsx +91 -0
  233. package/src/components/session/session-sortable-tab-v2.tsx +74 -0
  234. package/src/components/session/session-sortable-tab.tsx +78 -0
  235. package/src/components/session/session-sortable-terminal-tab-v2.tsx +284 -0
  236. package/src/components/session/session-sortable-terminal-tab.tsx +193 -0
  237. package/src/components/session-context-usage.tsx +169 -0
  238. package/src/components/settings-dialog.tsx +43 -0
  239. package/src/components/settings-general.tsx +794 -0
  240. package/src/components/settings-keybinds.tsx +553 -0
  241. package/src/components/settings-list.tsx +5 -0
  242. package/src/components/settings-models.tsx +149 -0
  243. package/src/components/settings-providers.tsx +264 -0
  244. package/src/components/settings-server-picker.tsx +106 -0
  245. package/src/components/settings-servers.tsx +33 -0
  246. package/src/components/settings-v2/dialog-server-v2.tsx +134 -0
  247. package/src/components/settings-v2/dialog-settings-v2.tsx +98 -0
  248. package/src/components/settings-v2/general.tsx +722 -0
  249. package/src/components/settings-v2/index.tsx +1 -0
  250. package/src/components/settings-v2/interface-transition.stories.tsx +76 -0
  251. package/src/components/settings-v2/interface-transition.tsx +54 -0
  252. package/src/components/settings-v2/models.tsx +138 -0
  253. package/src/components/settings-v2/parts/list.tsx +6 -0
  254. package/src/components/settings-v2/parts/row.tsx +20 -0
  255. package/src/components/settings-v2/providers.tsx +264 -0
  256. package/src/components/settings-v2/servers.tsx +139 -0
  257. package/src/components/settings-v2/settings-v2.css +675 -0
  258. package/src/components/status-popover-body.tsx +514 -0
  259. package/src/components/status-popover-indicator.test.ts +36 -0
  260. package/src/components/status-popover-indicator.ts +20 -0
  261. package/src/components/status-popover.tsx +190 -0
  262. package/src/components/terminal.tsx +759 -0
  263. package/src/components/titlebar-history.test.ts +63 -0
  264. package/src/components/titlebar-history.ts +57 -0
  265. package/src/components/titlebar-session-events.test.ts +32 -0
  266. package/src/components/titlebar-session-events.ts +35 -0
  267. package/src/components/titlebar-tab-gesture.test.ts +33 -0
  268. package/src/components/titlebar-tab-gesture.ts +17 -0
  269. package/src/components/titlebar-tab-nav.css +100 -0
  270. package/src/components/titlebar-tab-nav.tsx +429 -0
  271. package/src/components/titlebar-tab-popover.css +127 -0
  272. package/src/components/titlebar-tab-popover.tsx +92 -0
  273. package/src/components/titlebar-tab-strip.tsx +333 -0
  274. package/src/components/titlebar.css +77 -0
  275. package/src/components/titlebar.tsx +776 -0
  276. package/src/components/ui/drawer.tsx +119 -0
  277. package/src/components/updater-action.test.ts +26 -0
  278. package/src/components/updater-action.ts +51 -0
  279. package/src/components/virtual-scroll-element.test.ts +18 -0
  280. package/src/components/virtual-scroll-element.ts +4 -0
  281. package/src/components/windows-app-menu.tsx +131 -0
  282. package/src/constants/file-picker.ts +89 -0
  283. package/src/context/closed-tabs.ts +40 -0
  284. package/src/context/command-keybind.test.ts +69 -0
  285. package/src/context/command.test.ts +55 -0
  286. package/src/context/command.tsx +467 -0
  287. package/src/context/comments.test.ts +188 -0
  288. package/src/context/comments.tsx +261 -0
  289. package/src/context/directory-sync.ts +155 -0
  290. package/src/context/file/content-cache.ts +88 -0
  291. package/src/context/file/path.test.ts +360 -0
  292. package/src/context/file/path.ts +151 -0
  293. package/src/context/file/tree-store.ts +174 -0
  294. package/src/context/file/types.ts +41 -0
  295. package/src/context/file/view-cache.ts +147 -0
  296. package/src/context/file/watcher.test.ts +149 -0
  297. package/src/context/file/watcher.ts +53 -0
  298. package/src/context/file-content-eviction-accounting.test.ts +65 -0
  299. package/src/context/file.tsx +303 -0
  300. package/src/context/global-sync/bootstrap.test.ts +231 -0
  301. package/src/context/global-sync/bootstrap.ts +536 -0
  302. package/src/context/global-sync/child-store.test.ts +276 -0
  303. package/src/context/global-sync/child-store.ts +396 -0
  304. package/src/context/global-sync/event-reducer.test.ts +616 -0
  305. package/src/context/global-sync/event-reducer.ts +478 -0
  306. package/src/context/global-sync/eviction.ts +28 -0
  307. package/src/context/global-sync/home-session-index.test.ts +154 -0
  308. package/src/context/global-sync/home-session-index.ts +174 -0
  309. package/src/context/global-sync/mcp.test.ts +54 -0
  310. package/src/context/global-sync/mcp.ts +19 -0
  311. package/src/context/global-sync/queue.test.ts +46 -0
  312. package/src/context/global-sync/queue.ts +87 -0
  313. package/src/context/global-sync/session-cache.test.ts +104 -0
  314. package/src/context/global-sync/session-cache.ts +62 -0
  315. package/src/context/global-sync/session-load.ts +33 -0
  316. package/src/context/global-sync/session-trim.test.ts +59 -0
  317. package/src/context/global-sync/session-trim.ts +57 -0
  318. package/src/context/global-sync/types.ts +135 -0
  319. package/src/context/global-sync/utils.test.ts +133 -0
  320. package/src/context/global-sync/utils.ts +171 -0
  321. package/src/context/global.tsx +161 -0
  322. package/src/context/highlights.tsx +233 -0
  323. package/src/context/language.tsx +243 -0
  324. package/src/context/layout-helpers.ts +38 -0
  325. package/src/context/layout-scroll.test.ts +64 -0
  326. package/src/context/layout-scroll.ts +126 -0
  327. package/src/context/layout-tabs.test.ts +82 -0
  328. package/src/context/layout-tabs.ts +103 -0
  329. package/src/context/layout.test.ts +69 -0
  330. package/src/context/layout.tsx +1075 -0
  331. package/src/context/local-agent.test.ts +29 -0
  332. package/src/context/local-agent.ts +7 -0
  333. package/src/context/local.tsx +417 -0
  334. package/src/context/mcp.ts +19 -0
  335. package/src/context/model-variant.test.ts +86 -0
  336. package/src/context/model-variant.ts +52 -0
  337. package/src/context/models.tsx +173 -0
  338. package/src/context/notification.tsx +478 -0
  339. package/src/context/permission-auto-respond.test.ts +125 -0
  340. package/src/context/permission-auto-respond.ts +60 -0
  341. package/src/context/permission.tsx +484 -0
  342. package/src/context/platform.tsx +142 -0
  343. package/src/context/prompt-state.test.ts +29 -0
  344. package/src/context/prompt-state.ts +266 -0
  345. package/src/context/prompt.tsx +170 -0
  346. package/src/context/sdk.tsx +17 -0
  347. package/src/context/server-sdk.test.ts +196 -0
  348. package/src/context/server-sdk.tsx +444 -0
  349. package/src/context/server-session-v2-reducer.test.ts +156 -0
  350. package/src/context/server-session-v2-reducer.ts +502 -0
  351. package/src/context/server-session.test.ts +1638 -0
  352. package/src/context/server-session.ts +1425 -0
  353. package/src/context/server-sync.test.ts +231 -0
  354. package/src/context/server-sync.tsx +753 -0
  355. package/src/context/server.test.ts +245 -0
  356. package/src/context/server.tsx +360 -0
  357. package/src/context/settings.test.ts +79 -0
  358. package/src/context/settings.tsx +531 -0
  359. package/src/context/sync-optimistic.test.ts +123 -0
  360. package/src/context/sync.tsx +119 -0
  361. package/src/context/tab-memory.ts +36 -0
  362. package/src/context/tabs.test.ts +107 -0
  363. package/src/context/tabs.tsx +387 -0
  364. package/src/context/terminal-title.ts +24 -0
  365. package/src/context/terminal.test.ts +91 -0
  366. package/src/context/terminal.tsx +546 -0
  367. package/src/custom-elements.d.ts +1 -0
  368. package/src/desktop-menu.test.ts +13 -0
  369. package/src/desktop-menu.ts +223 -0
  370. package/src/entry.tsx +182 -0
  371. package/src/env.d.ts +31 -0
  372. package/src/hooks/provider-catalog.test.ts +59 -0
  373. package/src/hooks/provider-catalog.ts +27 -0
  374. package/src/hooks/use-providers.ts +71 -0
  375. package/src/i18n/ar.ts +1008 -0
  376. package/src/i18n/br.ts +1024 -0
  377. package/src/i18n/bs.ts +1100 -0
  378. package/src/i18n/da.ts +1092 -0
  379. package/src/i18n/de.ts +1037 -0
  380. package/src/i18n/en.ts +1102 -0
  381. package/src/i18n/es.ts +1108 -0
  382. package/src/i18n/fr.ts +1037 -0
  383. package/src/i18n/ja.ts +1016 -0
  384. package/src/i18n/ko.ts +1015 -0
  385. package/src/i18n/no.ts +1111 -0
  386. package/src/i18n/parity.test.ts +118 -0
  387. package/src/i18n/pl.ts +1024 -0
  388. package/src/i18n/ru.ts +1103 -0
  389. package/src/i18n/th.ts +1087 -0
  390. package/src/i18n/tr.ts +1106 -0
  391. package/src/i18n/uk.ts +1105 -0
  392. package/src/i18n/zh.ts +1078 -0
  393. package/src/i18n/zht.ts +1074 -0
  394. package/src/index.css +330 -0
  395. package/src/index.ts +30 -0
  396. package/src/pages/directory-layout.tsx +122 -0
  397. package/src/pages/error-description.test.ts +17 -0
  398. package/src/pages/error-description.ts +11 -0
  399. package/src/pages/error.tsx +372 -0
  400. package/src/pages/home/home-controller.ts +108 -0
  401. package/src/pages/home/home-projects-controller.tsx +128 -0
  402. package/src/pages/home/home-projects-view.tsx +615 -0
  403. package/src/pages/home/home-projects.tsx +40 -0
  404. package/src/pages/home/home-scroll-controller.ts +145 -0
  405. package/src/pages/home/home-session-search-controller.ts +114 -0
  406. package/src/pages/home/home-sessions-controller.tsx +314 -0
  407. package/src/pages/home/home-sessions-view.tsx +550 -0
  408. package/src/pages/home/home-sessions.tsx +48 -0
  409. package/src/pages/home/legacy-home.tsx +142 -0
  410. package/src/pages/home-session-archive.test.ts +51 -0
  411. package/src/pages/home-session-archive.ts +27 -0
  412. package/src/pages/home-session-open.test.ts +31 -0
  413. package/src/pages/home-session-open.ts +14 -0
  414. package/src/pages/home.tsx +50 -0
  415. package/src/pages/layout/deep-links.ts +50 -0
  416. package/src/pages/layout/helpers.test.ts +321 -0
  417. package/src/pages/layout/helpers.ts +150 -0
  418. package/src/pages/layout/inline-editor.tsx +126 -0
  419. package/src/pages/layout/project-avatar-state.ts +49 -0
  420. package/src/pages/layout/session-tab-avatar.tsx +60 -0
  421. package/src/pages/layout/sidebar-items.tsx +335 -0
  422. package/src/pages/layout/sidebar-project.tsx +377 -0
  423. package/src/pages/layout/sidebar-shell.tsx +125 -0
  424. package/src/pages/layout/sidebar-workspace.tsx +488 -0
  425. package/src/pages/layout-new.tsx +53 -0
  426. package/src/pages/layout.tsx +2441 -0
  427. package/src/pages/new-session.tsx +282 -0
  428. package/src/pages/session/composer/index.ts +4 -0
  429. package/src/pages/session/composer/prompt-model-selection.ts +133 -0
  430. package/src/pages/session/composer/session-composer-controls.ts +129 -0
  431. package/src/pages/session/composer/session-composer-region-controller.ts +145 -0
  432. package/src/pages/session/composer/session-composer-region.tsx +168 -0
  433. package/src/pages/session/composer/session-composer-state.test.ts +138 -0
  434. package/src/pages/session/composer/session-composer-state.ts +204 -0
  435. package/src/pages/session/composer/session-followup-dock.tsx +109 -0
  436. package/src/pages/session/composer/session-permission-dock.tsx +74 -0
  437. package/src/pages/session/composer/session-question-dock.tsx +640 -0
  438. package/src/pages/session/composer/session-request-tree.ts +52 -0
  439. package/src/pages/session/composer/session-revert-dock.stories.tsx +124 -0
  440. package/src/pages/session/composer/session-revert-dock.tsx +188 -0
  441. package/src/pages/session/composer/session-todo-dock.tsx +277 -0
  442. package/src/pages/session/composer/todo-panel-motion.stories.tsx +622 -0
  443. package/src/pages/session/file-tab-scroll.test.ts +40 -0
  444. package/src/pages/session/file-tab-scroll.ts +67 -0
  445. package/src/pages/session/file-tabs.tsx +800 -0
  446. package/src/pages/session/handoff.ts +36 -0
  447. package/src/pages/session/helpers.test.ts +214 -0
  448. package/src/pages/session/helpers.ts +209 -0
  449. package/src/pages/session/message-gesture.test.ts +62 -0
  450. package/src/pages/session/message-gesture.ts +21 -0
  451. package/src/pages/session/message-id-from-hash.ts +6 -0
  452. package/src/pages/session/new-session-layout.ts +2 -0
  453. package/src/pages/session/review-tab.tsx +172 -0
  454. package/src/pages/session/session-layout.ts +30 -0
  455. package/src/pages/session/session-lineage.ts +69 -0
  456. package/src/pages/session/session-model-helpers.test.ts +151 -0
  457. package/src/pages/session/session-model-helpers.ts +63 -0
  458. package/src/pages/session/session-ownership.ts +37 -0
  459. package/src/pages/session/session-panel-layout.test.ts +19 -0
  460. package/src/pages/session/session-panel-layout.ts +6 -0
  461. package/src/pages/session/session-panel-width.test.ts +52 -0
  462. package/src/pages/session/session-panel-width.ts +19 -0
  463. package/src/pages/session/session-side-panel.tsx +865 -0
  464. package/src/pages/session/terminal-label.ts +16 -0
  465. package/src/pages/session/terminal-panel-v2.tsx +352 -0
  466. package/src/pages/session/terminal-panel.test.ts +25 -0
  467. package/src/pages/session/terminal-panel.tsx +343 -0
  468. package/src/pages/session/timeline/measure.test.ts +30 -0
  469. package/src/pages/session/timeline/measure.ts +5 -0
  470. package/src/pages/session/timeline/message-timeline.tsx +1864 -0
  471. package/src/pages/session/timeline/model.test.ts +95 -0
  472. package/src/pages/session/timeline/model.ts +128 -0
  473. package/src/pages/session/timeline/observe-element-offset.test.ts +199 -0
  474. package/src/pages/session/timeline/observe-element-offset.ts +73 -0
  475. package/src/pages/session/timeline/projection.test.ts +96 -0
  476. package/src/pages/session/timeline/projection.ts +81 -0
  477. package/src/pages/session/timeline/row-reconciliation.ts +56 -0
  478. package/src/pages/session/timeline/rows-current.test.ts +170 -0
  479. package/src/pages/session/timeline/rows.ts +344 -0
  480. package/src/pages/session/timeline/summary-diffs.test.ts +42 -0
  481. package/src/pages/session/timeline/summary-diffs.ts +20 -0
  482. package/src/pages/session/timeline/timeline-row.ts +80 -0
  483. package/src/pages/session/timeline/virtual-items.ts +3 -0
  484. package/src/pages/session/usage-exceeded-dialogs.tsx +104 -0
  485. package/src/pages/session/use-composer-commands.tsx +83 -0
  486. package/src/pages/session/use-session-commands.tsx +606 -0
  487. package/src/pages/session/use-session-hash-scroll.test.ts +16 -0
  488. package/src/pages/session/use-session-hash-scroll.ts +202 -0
  489. package/src/pages/session/v2/review-diff-kinds.test.ts +70 -0
  490. package/src/pages/session/v2/review-diff-kinds.ts +62 -0
  491. package/src/pages/session/v2/review-panel-v2-state.ts +41 -0
  492. package/src/pages/session/v2/review-panel-v2.tsx +255 -0
  493. package/src/pages/session/v2/session-file-browser-tab.tsx +181 -0
  494. package/src/pages/session/v2/session-file-list-v2.tsx +166 -0
  495. package/src/pages/session.tsx +2385 -0
  496. package/src/sst-env.d.ts +12 -0
  497. package/src/theme-preload.test.ts +46 -0
  498. package/src/updater.ts +17 -0
  499. package/src/utils/agent.ts +44 -0
  500. package/src/utils/aim.ts +138 -0
  501. package/src/utils/base64.ts +10 -0
  502. package/src/utils/comment-note.ts +88 -0
  503. package/src/utils/diffs.test.ts +75 -0
  504. package/src/utils/diffs.ts +50 -0
  505. package/src/utils/file-manager.ts +24 -0
  506. package/src/utils/id.ts +93 -0
  507. package/src/utils/notification-click.test.ts +27 -0
  508. package/src/utils/notification-click.ts +13 -0
  509. package/src/utils/path-key.ts +24 -0
  510. package/src/utils/persist.test.ts +211 -0
  511. package/src/utils/persist.ts +661 -0
  512. package/src/utils/prompt.test.ts +44 -0
  513. package/src/utils/prompt.ts +203 -0
  514. package/src/utils/refcount.test.ts +49 -0
  515. package/src/utils/refcount.ts +32 -0
  516. package/src/utils/runtime-adapters.test.ts +64 -0
  517. package/src/utils/runtime-adapters.ts +39 -0
  518. package/src/utils/same.ts +6 -0
  519. package/src/utils/scoped-cache.test.ts +69 -0
  520. package/src/utils/scoped-cache.ts +104 -0
  521. package/src/utils/search-keydown.ts +116 -0
  522. package/src/utils/server-compat.test.ts +193 -0
  523. package/src/utils/server-compat.ts +512 -0
  524. package/src/utils/server-errors.test.ts +175 -0
  525. package/src/utils/server-errors.ts +109 -0
  526. package/src/utils/server-health.test.ts +178 -0
  527. package/src/utils/server-health.ts +172 -0
  528. package/src/utils/server-protocol.test.ts +40 -0
  529. package/src/utils/server-protocol.ts +35 -0
  530. package/src/utils/server-scope.test.ts +61 -0
  531. package/src/utils/server-scope.ts +73 -0
  532. package/src/utils/server.test.ts +23 -0
  533. package/src/utils/server.ts +62 -0
  534. package/src/utils/session-message.test.ts +214 -0
  535. package/src/utils/session-message.ts +355 -0
  536. package/src/utils/session-route.test.ts +71 -0
  537. package/src/utils/session-route.ts +39 -0
  538. package/src/utils/session-title.ts +7 -0
  539. package/src/utils/session.test.ts +94 -0
  540. package/src/utils/session.ts +37 -0
  541. package/src/utils/solid-dnd.tsx +49 -0
  542. package/src/utils/sound.ts +102 -0
  543. package/src/utils/terminal-websocket-url.test.ts +80 -0
  544. package/src/utils/terminal-websocket-url.ts +35 -0
  545. package/src/utils/terminal-writer.test.ts +64 -0
  546. package/src/utils/terminal-writer.ts +65 -0
  547. package/src/utils/time.ts +22 -0
  548. package/src/utils/toast.tsx +34 -0
  549. package/src/utils/uuid.test.ts +78 -0
  550. package/src/utils/uuid.ts +12 -0
  551. package/src/utils/worktree.test.ts +58 -0
  552. package/src/utils/worktree.ts +76 -0
  553. package/src/wsl/add-server-probes.ts +57 -0
  554. package/src/wsl/context.tsx +36 -0
  555. package/src/wsl/dialog-add-server.tsx +463 -0
  556. package/src/wsl/dialog-add-wsl-server.css +392 -0
  557. package/src/wsl/settings-model.test.ts +231 -0
  558. package/src/wsl/settings-model.ts +341 -0
  559. package/src/wsl/settings.tsx +173 -0
  560. package/src/wsl/types.ts +85 -0
  561. package/sst-env.d.ts +10 -0
  562. package/test-browser/command-palette.test.ts +78 -0
  563. package/test-browser/motion-spring.test.ts +20 -0
  564. package/test-browser/prompt-attachments.test.ts +90 -0
  565. package/test-browser/prompt-persistence.test.ts +71 -0
  566. package/test-browser/prompt-scope.test.ts +14 -0
  567. package/test-browser/prompt-submission-state.test.ts +73 -0
  568. package/test-browser/prompt-transient-state.test.ts +38 -0
  569. package/test-browser/review-panel-v2-state.test.ts +65 -0
  570. package/test-browser/session-lineage.test.ts +231 -0
  571. package/test-browser/session-ownership.test.ts +45 -0
  572. package/test-browser/solid-virtual.test.ts +112 -0
  573. package/test-browser/toast-owner.test.ts +26 -0
  574. package/tsconfig.json +26 -0
  575. package/vendor/opencode-ai-client-1.17.13.tgz +0 -0
  576. package/vite.config.ts +33 -0
  577. package/vite.js +48 -0
package/src/i18n/ko.ts ADDED
@@ -0,0 +1,1015 @@
1
+ export const dict = {
2
+ "command.category.suggested": "추천",
3
+ "command.category.view": "보기",
4
+ "command.category.project": "프로젝트",
5
+ "command.category.provider": "공급자",
6
+ "command.category.server": "서버",
7
+ "command.category.session": "세션",
8
+ "command.category.theme": "테마",
9
+ "command.category.language": "언어",
10
+ "command.category.file": "파일",
11
+ "command.category.context": "컨텍스트",
12
+ "command.category.terminal": "터미널",
13
+ "command.category.model": "모델",
14
+ "command.category.mcp": "MCP",
15
+ "command.category.agent": "에이전트",
16
+ "command.category.permissions": "권한",
17
+ "command.category.workspace": "작업 공간",
18
+ "command.category.settings": "설정",
19
+ "theme.scheme.system": "시스템",
20
+ "theme.scheme.light": "라이트",
21
+ "theme.scheme.dark": "다크",
22
+ "command.sidebar.toggle": "사이드바 토글",
23
+ "command.project.open": "프로젝트 열기",
24
+ "command.provider.connect": "공급자 연결",
25
+ "command.server.switch": "서버 전환",
26
+ "command.settings.open": "설정 열기",
27
+ "command.session.previous": "이전 세션",
28
+ "command.session.next": "다음 세션",
29
+ "command.session.previous.unseen": "이전 읽지 않은 세션",
30
+ "command.session.next.unseen": "다음 읽지 않은 세션",
31
+ "command.session.archive": "세션 보관",
32
+ "command.palette": "명령 팔레트",
33
+ "command.theme.cycle": "테마 순환",
34
+ "command.theme.set": "테마 사용: {{theme}}",
35
+ "command.theme.scheme.cycle": "색상 테마 순환",
36
+ "command.theme.scheme.set": "색상 테마 사용: {{scheme}}",
37
+ "command.language.cycle": "언어 순환",
38
+ "command.language.set": "언어 사용: {{language}}",
39
+ "command.session.new": "새 세션",
40
+ "command.file.open": "파일 열기",
41
+ "command.tab.close": "탭 닫기",
42
+ "command.context.addSelection": "선택 영역을 컨텍스트에 추가",
43
+ "command.context.addSelection.description": "현재 파일에서 선택한 줄을 추가",
44
+ "command.input.focus": "입력창 포커스",
45
+ "command.terminal.toggle": "터미널 토글",
46
+ "command.fileTree.toggle": "파일 트리 토글",
47
+ "command.review.toggle": "검토 토글",
48
+ "command.terminal.new": "새 터미널",
49
+ "command.terminal.new.description": "새 터미널 탭 생성",
50
+ "command.steps.toggle": "단계 토글",
51
+ "command.steps.toggle.description": "현재 메시지의 단계 표시/숨기기",
52
+ "command.message.previous": "이전 메시지",
53
+ "command.message.previous.description": "이전 사용자 메시지로 이동",
54
+ "command.message.next": "다음 메시지",
55
+ "command.message.next.description": "다음 사용자 메시지로 이동",
56
+ "command.model.choose": "모델 선택",
57
+ "command.model.choose.description": "다른 모델 선택",
58
+ "command.mcp.toggle": "MCP 토글",
59
+ "command.mcp.toggle.description": "MCP 토글",
60
+ "command.agent.cycle": "에이전트 순환",
61
+ "command.agent.cycle.description": "다음 에이전트로 전환",
62
+ "command.agent.cycle.reverse": "에이전트 역순환",
63
+ "command.agent.cycle.reverse.description": "이전 에이전트로 전환",
64
+ "command.model.variant.cycle": "생각 수준 순환",
65
+ "command.model.variant.cycle.description": "다음 생각 수준으로 전환",
66
+ "command.prompt.mode.shell": "셸",
67
+ "command.prompt.mode.normal": "프롬프트",
68
+ "command.permissions.autoaccept.enable": "권한 자동 수락",
69
+ "command.permissions.autoaccept.disable": "권한 자동 수락 중지",
70
+ "command.workspace.toggle": "작업 공간 전환",
71
+ "command.workspace.toggle.description": "사이드바에서 다중 작업 공간 활성화 또는 비활성화",
72
+ "command.session.undo": "실행 취소",
73
+ "command.session.undo.description": "마지막 메시지 실행 취소",
74
+ "command.session.redo": "다시 실행",
75
+ "command.session.redo.description": "마지막 실행 취소된 메시지 다시 실행",
76
+ "command.session.compact": "세션 압축",
77
+ "command.session.compact.description": "컨텍스트 크기를 줄이기 위해 세션 요약",
78
+ "command.session.fork": "메시지에서 분기",
79
+ "command.session.fork.description": "이전 메시지에서 새 세션 생성",
80
+ "command.session.share": "세션 공유",
81
+ "command.session.share.description": "이 세션을 공유하고 URL을 클립보드에 복사",
82
+ "command.session.unshare": "세션 공유 중지",
83
+ "command.session.unshare.description": "이 세션 공유 중지",
84
+ "palette.search.placeholder": "파일, 명령어 및 세션 검색",
85
+ "palette.search.placeholder.home": "명령어 및 세션 검색",
86
+ "palette.empty": "결과 없음",
87
+ "palette.group.commands": "명령어",
88
+ "palette.group.files": "파일",
89
+ "dialog.provider.search.placeholder": "공급자 검색",
90
+ "dialog.provider.empty": "공급자 없음",
91
+ "dialog.provider.group.popular": "인기",
92
+ "dialog.provider.group.other": "기타",
93
+ "dialog.provider.tag.recommended": "추천",
94
+ "dialog.provider.NeuroCode.note": "Claude, GPT, Gemini 등을 포함한 엄선된 모델",
95
+ "dialog.provider.NeuroCode.tagline": "신뢰할 수 있는 최적화 모델",
96
+ "dialog.provider.NeuroCodeGo.tagline": "모두를 위한 저렴한 구독",
97
+ "dialog.provider.anthropic.note": "Claude Pro/Max 또는 API 키로 연결",
98
+ "dialog.provider.copilot.note": "Copilot 또는 API 키로 연결",
99
+ "dialog.provider.openai.note": "ChatGPT Pro/Plus 또는 API 키로 연결",
100
+ "dialog.provider.google.note": "빠르고 구조화된 응답을 위한 Gemini 모델",
101
+ "dialog.provider.openrouter.note": "모든 지원 모델을 단일 공급자에서 액세스",
102
+ "dialog.provider.vercel.note": "스마트 라우팅을 통한 AI 모델 통합 액세스",
103
+ "dialog.model.select.title": "모델 선택",
104
+ "dialog.model.search.placeholder": "모델 검색",
105
+ "dialog.model.empty": "모델 결과 없음",
106
+ "dialog.model.manage": "모델 관리",
107
+ "dialog.model.manage.description": "모델 선택기에 표시할 모델 사용자 지정",
108
+ "dialog.model.manage.provider.toggle": "모든 {{provider}} 모델 토글",
109
+ "dialog.model.unpaid.freeModels.title": "NeuroCode에서 제공하는 무료 모델",
110
+ "dialog.model.unpaid.addMore.title": "인기 공급자의 모델 추가",
111
+ "dialog.provider.viewAll": "더 많은 공급자 보기",
112
+ "provider.connect.title": "{{provider}} 연결",
113
+ "provider.connect.title.anthropicProMax": "Claude Pro/Max로 로그인",
114
+ "provider.connect.selectMethod": "{{provider}} 로그인 방법 선택",
115
+ "provider.connect.method.apiKey": "API 키",
116
+ "provider.connect.status.inProgress": "인증 진행 중...",
117
+ "provider.connect.status.waiting": "인증 대기 중...",
118
+ "provider.connect.status.failed": "인증 실패: {{error}}",
119
+ "provider.connect.apiKey.description":
120
+ "{{provider}} API 키를 입력하여 계정을 연결하고 NeuroCode에서 {{provider}} 모델을 사용하세요.",
121
+ "provider.connect.apiKey.label": "{{provider}} API 키",
122
+ "provider.connect.apiKey.placeholder": "API 키",
123
+ "provider.connect.apiKey.required": "API 키가 필요합니다",
124
+ "provider.connect.NeuroCodeZen.line1":
125
+ "NeuroCode Zen은 코딩 에이전트를 위해 최적화된 신뢰할 수 있는 엄선된 모델에 대한 액세스를 제공합니다.",
126
+ "provider.connect.NeuroCodeZen.line2": "단일 API 키로 Claude, GPT, Gemini, GLM 등 다양한 모델에 액세스할 수 있습니다.",
127
+ "provider.connect.NeuroCodeZen.visit.prefix": "다음 ",
128
+ "provider.connect.NeuroCodeZen.visit.link": "NeuroCode.ai/zen",
129
+ "provider.connect.NeuroCodeZen.visit.suffix": "을 방문하여 API 키를 받으세요.",
130
+ "provider.connect.oauth.code.visit.prefix": "다음 ",
131
+ "provider.connect.oauth.code.visit.link": "이 링크",
132
+ "provider.connect.oauth.code.visit.suffix":
133
+ "를 방문하여 인증 코드를 받아 계정을 연결하고 NeuroCode에서 {{provider}} 모델을 사용하세요.",
134
+ "provider.connect.oauth.code.label": "{{method}} 인증 코드",
135
+ "provider.connect.oauth.code.placeholder": "인증 코드",
136
+ "provider.connect.oauth.code.required": "인증 코드가 필요합니다",
137
+ "provider.connect.oauth.code.invalid": "유효하지 않은 인증 코드",
138
+ "provider.connect.oauth.auto.visit.prefix": "다음 ",
139
+ "provider.connect.oauth.auto.visit.link": "이 링크",
140
+ "provider.connect.oauth.auto.visit.suffix":
141
+ "를 방문하고 아래 코드를 입력하여 계정을 연결하고 NeuroCode에서 {{provider}} 모델을 사용하세요.",
142
+ "provider.connect.oauth.auto.confirmationCode": "확인 코드",
143
+ "provider.connect.toast.connected.title": "{{provider}} 연결됨",
144
+ "provider.connect.toast.connected.description": "이제 {{provider}} 모델을 사용할 수 있습니다.",
145
+ "provider.custom.title": "사용자 지정 공급자",
146
+ "provider.custom.description.prefix": "OpenAI 호환 공급자를 구성합니다. ",
147
+ "provider.custom.description.link": "공급자 구성 문서",
148
+ "provider.custom.description.suffix": "를 참조하세요.",
149
+ "provider.custom.field.providerID.label": "공급자 ID",
150
+ "provider.custom.field.providerID.placeholder": "myprovider",
151
+ "provider.custom.field.providerID.description": "소문자, 숫자, 하이픈 또는 밑줄",
152
+ "provider.custom.field.name.label": "표시 이름",
153
+ "provider.custom.field.name.placeholder": "내 AI 공급자",
154
+ "provider.custom.field.baseURL.label": "기본 URL",
155
+ "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1",
156
+ "provider.custom.field.apiKey.label": "API 키",
157
+ "provider.custom.field.apiKey.placeholder": "API 키",
158
+ "provider.custom.field.apiKey.description": "선택 사항입니다. 헤더를 통해 인증을 관리하는 경우 비워 두세요.",
159
+ "provider.custom.models.label": "모델",
160
+ "provider.custom.models.id.label": "ID",
161
+ "provider.custom.models.id.placeholder": "model-id",
162
+ "provider.custom.models.name.label": "이름",
163
+ "provider.custom.models.name.placeholder": "표시 이름",
164
+ "provider.custom.models.remove": "모델 제거",
165
+ "provider.custom.models.add": "모델 추가",
166
+ "provider.custom.headers.label": "헤더 (선택 사항)",
167
+ "provider.custom.headers.key.label": "헤더",
168
+ "provider.custom.headers.key.placeholder": "헤더 이름",
169
+ "provider.custom.headers.value.label": "값",
170
+ "provider.custom.headers.value.placeholder": "값",
171
+ "provider.custom.headers.remove": "헤더 제거",
172
+ "provider.custom.headers.add": "헤더 추가",
173
+ "provider.custom.error.providerID.required": "공급자 ID가 필요합니다",
174
+ "provider.custom.error.providerID.format": "소문자, 숫자, 하이픈 또는 밑줄을 사용하세요",
175
+ "provider.custom.error.providerID.exists": "해당 공급자 ID가 이미 존재합니다",
176
+ "provider.custom.error.name.required": "표시 이름이 필요합니다",
177
+ "provider.custom.error.baseURL.required": "기본 URL이 필요합니다",
178
+ "provider.custom.error.baseURL.format": "http:// 또는 https://로 시작해야 합니다",
179
+ "provider.custom.error.required": "필수",
180
+ "provider.custom.error.duplicate": "중복",
181
+ "provider.disconnect.toast.disconnected.title": "{{provider}} 연결 해제됨",
182
+ "provider.disconnect.toast.disconnected.description": "{{provider}} 모델을 더 이상 사용할 수 없습니다.",
183
+ "model.tag.free": "무료",
184
+ "model.tag.latest": "최신",
185
+ "model.provider.anthropic": "Anthropic",
186
+ "model.provider.openai": "OpenAI",
187
+ "model.provider.google": "Google",
188
+ "model.provider.xai": "xAI",
189
+ "model.provider.meta": "Meta",
190
+ "model.input.text": "텍스트",
191
+ "model.input.image": "이미지",
192
+ "model.input.audio": "오디오",
193
+ "model.input.video": "비디오",
194
+ "model.input.pdf": "pdf",
195
+ "model.tooltip.allows": "지원: {{inputs}}",
196
+ "model.tooltip.reasoning.allowed": "추론 허용",
197
+ "model.tooltip.reasoning.none": "추론 없음",
198
+ "model.tooltip.context": "컨텍스트 제한 {{limit}}",
199
+ "common.search.placeholder": "검색",
200
+ "common.goBack": "뒤로 가기",
201
+ "common.goForward": "앞으로 가기",
202
+ "common.loading": "로딩 중",
203
+ "common.loading.ellipsis": "...",
204
+ "common.cancel": "취소",
205
+ "common.connect": "연결",
206
+ "common.disconnect": "연결 해제",
207
+ "common.continue": "제출",
208
+ "common.submit": "제출",
209
+ "common.save": "저장",
210
+ "common.saving": "저장 중...",
211
+ "common.default": "기본값",
212
+ "common.attachment": "첨부 파일",
213
+ "prompt.placeholder.shell": "셸 명령어 입력... {{example}}",
214
+ "prompt.placeholder.normal": '무엇이든 물어보세요... "{{example}}"',
215
+ "prompt.placeholder.simple": "무엇이든 물어보세요...",
216
+ "prompt.placeholder.summarizeComments": "댓글 요약…",
217
+ "prompt.placeholder.summarizeComment": "댓글 요약…",
218
+ "prompt.mode.shell": "셸",
219
+ "prompt.mode.normal": "프롬프트",
220
+ "prompt.mode.shell.exit": "종료하려면 esc",
221
+ "prompt.example.1": "코드베이스의 TODO 수정",
222
+ "prompt.example.2": "이 프로젝트의 기술 스택이 무엇인가요?",
223
+ "prompt.example.3": "고장 난 테스트 수정",
224
+ "prompt.example.4": "인증 작동 방식 설명",
225
+ "prompt.example.5": "보안 취약점 찾기 및 수정",
226
+ "prompt.example.6": "사용자 서비스에 단위 테스트 추가",
227
+ "prompt.example.7": "이 함수를 더 읽기 쉽게 리팩터링",
228
+ "prompt.example.8": "이 오류는 무엇을 의미하나요?",
229
+ "prompt.example.9": "이 문제 디버깅 도와줘",
230
+ "prompt.example.10": "API 문서 생성",
231
+ "prompt.example.11": "데이터베이스 쿼리 최적화",
232
+ "prompt.example.12": "입력 유효성 검사 추가",
233
+ "prompt.example.13": "...를 위한 새 컴포넌트 생성",
234
+ "prompt.example.14": "이 프로젝트를 어떻게 배포하나요?",
235
+ "prompt.example.15": "모범 사례를 기준으로 내 코드 검토",
236
+ "prompt.example.16": "이 함수에 오류 처리 추가",
237
+ "prompt.example.17": "이 정규식 패턴 설명",
238
+ "prompt.example.18": "이것을 TypeScript로 변환",
239
+ "prompt.example.19": "코드베이스 전체에 로깅 추가",
240
+ "prompt.example.20": "오래된 종속성은 무엇인가요?",
241
+ "prompt.example.21": "마이그레이션 스크립트 작성 도와줘",
242
+ "prompt.example.22": "이 엔드포인트에 캐싱 구현",
243
+ "prompt.example.23": "이 목록에 페이지네이션 추가",
244
+ "prompt.example.24": "...를 위한 CLI 명령어 생성",
245
+ "prompt.example.25": "여기서 환경 변수는 어떻게 작동하나요?",
246
+ "prompt.popover.emptyResults": "일치하는 결과 없음",
247
+ "prompt.popover.emptyCommands": "일치하는 명령어 없음",
248
+ "prompt.dropzone.label": "이미지, PDF 또는 텍스트 파일을 이곳에 드롭하세요",
249
+ "prompt.dropzone.file.label": "드롭하여 파일 @멘션 추가",
250
+ "prompt.slash.badge.custom": "사용자 지정",
251
+ "prompt.slash.badge.skill": "스킬",
252
+ "prompt.slash.badge.mcp": "mcp",
253
+ "prompt.context.active": "활성",
254
+ "prompt.context.includeActiveFile": "활성 파일 포함",
255
+ "prompt.context.removeActiveFile": "컨텍스트에서 활성 파일 제거",
256
+ "prompt.context.removeFile": "컨텍스트에서 파일 제거",
257
+ "prompt.action.attachFile": "파일 첨부",
258
+ "prompt.menu.addImagesAndFiles": "파일 및 기타 항목 추가",
259
+ "prompt.menu.imagesAndFiles": "이미지 및 파일",
260
+ "prompt.menu.commands": "명령어",
261
+ "prompt.menu.context": "컨텍스트",
262
+ "prompt.menu.shellCommand": "셸 명령",
263
+ "prompt.attachment.remove": "첨부 파일 제거",
264
+ "prompt.action.send": "전송",
265
+ "prompt.action.stop": "중지",
266
+ "prompt.toast.pasteUnsupported.title": "지원되지 않는 첨부 파일",
267
+ "prompt.toast.pasteUnsupported.description": "이미지, PDF 또는 텍스트 파일만 첨부할 수 있습니다.",
268
+ "prompt.toast.modelAgentRequired.title": "에이전트 및 모델 선택",
269
+ "prompt.toast.modelAgentRequired.description": "프롬프트를 보내기 전에 에이전트와 모델을 선택하세요.",
270
+ "prompt.toast.worktreeCreateFailed.title": "작업 트리 생성 실패",
271
+ "prompt.toast.sessionCreateFailed.title": "세션 생성 실패",
272
+ "prompt.toast.shellSendFailed.title": "셸 명령 전송 실패",
273
+ "prompt.toast.commandSendFailed.title": "명령 전송 실패",
274
+ "prompt.toast.promptSendFailed.title": "프롬프트 전송 실패",
275
+ "prompt.toast.promptSendFailed.description": "세션을 가져올 수 없습니다",
276
+ "dialog.mcp.title": "MCP",
277
+ "dialog.mcp.description": "{{total}}개 중 {{enabled}}개 활성화됨",
278
+ "dialog.mcp.empty": "구성된 MCP 없음",
279
+ "dialog.lsp.empty": "파일 유형에서 자동 감지된 LSP",
280
+ "dialog.plugins.empty": "NeuroCode.json에 구성된 플러그인",
281
+ "mcp.status.connected": "연결됨",
282
+ "mcp.status.failed": "실패",
283
+ "mcp.status.needs_auth": "인증 필요",
284
+ "mcp.auth.clickToAuthenticate": "클릭하여 인증",
285
+ "mcp.status.disabled": "비활성화됨",
286
+ "dialog.fork.empty": "분기할 메시지 없음",
287
+ "dialog.directory.search.placeholder": "폴더 검색",
288
+ "dialog.directory.empty": "폴더 없음",
289
+ "dialog.directory.action.selectFile": "파일 선택",
290
+ "dialog.directory.action.selectFolder": "폴더 선택",
291
+ "dialog.directory.root": "루트",
292
+ "dialog.directory.parent": "상위 폴더",
293
+ "dialog.directory.readError": "이 폴더를 읽을 수 없습니다",
294
+ "dialog.server.title": "서버",
295
+ "dialog.server.description": "이 앱이 연결할 NeuroCode 서버를 전환합니다.",
296
+ "dialog.server.search.placeholder": "서버 검색",
297
+ "dialog.server.empty": "서버 없음",
298
+ "dialog.server.add.title": "서버 추가",
299
+ "dialog.server.add.url": "서버 URL",
300
+ "dialog.server.add.placeholder": "http://localhost:4096",
301
+ "dialog.server.add.error": "서버에 연결할 수 없습니다",
302
+ "dialog.server.add.checking": "확인 중...",
303
+ "dialog.server.add.button": "서버 추가",
304
+ "dialog.server.add.name": "서버 이름 (선택 사항)",
305
+ "dialog.server.add.namePlaceholder": "Localhost",
306
+ "dialog.server.add.username": "사용자 이름 (선택 사항)",
307
+ "dialog.server.add.password": "비밀번호 (선택 사항)",
308
+ "dialog.server.edit.title": "서버 편집",
309
+ "dialog.server.default.title": "기본 서버",
310
+ "dialog.server.default.description":
311
+ "로컬 서버를 시작하는 대신 앱 실행 시 이 서버에 연결합니다. 다시 시작해야 합니다.",
312
+ "dialog.server.default.none": "선택된 서버 없음",
313
+ "dialog.server.default.set": "현재 서버를 기본값으로 설정",
314
+ "dialog.server.default.clear": "지우기",
315
+ "dialog.server.action.remove": "서버 제거",
316
+ "dialog.server.menu.edit": "편집",
317
+ "dialog.server.menu.default": "기본값으로 설정",
318
+ "dialog.server.menu.defaultRemove": "기본값 제거",
319
+ "dialog.server.menu.delete": "삭제",
320
+ "dialog.server.current": "현재 서버",
321
+ "dialog.server.status.default": "기본값",
322
+ "dialog.project.edit.title": "프로젝트 편집",
323
+ "dialog.project.edit.name": "이름",
324
+ "dialog.project.edit.icon": "아이콘",
325
+ "dialog.project.edit.icon.alt": "프로젝트 아이콘",
326
+ "dialog.project.edit.icon.hint": "이미지를 클릭하거나 드래그하세요",
327
+ "dialog.project.edit.icon.recommended": "권장: 128x128px",
328
+ "dialog.project.edit.color": "색상",
329
+ "dialog.project.edit.color.select": "{{color}} 색상 선택",
330
+ "dialog.project.edit.worktree.startup": "작업 공간 시작 스크립트",
331
+ "dialog.project.edit.worktree.startup.description": "새 작업 공간(작업 트리)을 만든 뒤 실행됩니다.",
332
+ "dialog.project.edit.worktree.startup.placeholder": "예: bun install",
333
+ "context.breakdown.title": "컨텍스트 분석",
334
+ "context.breakdown.note": '입력 토큰의 대략적인 분석입니다. "기타"에는 도구 정의 및 오버헤드가 포함됩니다.',
335
+ "context.breakdown.system": "시스템",
336
+ "context.breakdown.user": "사용자",
337
+ "context.breakdown.assistant": "어시스턴트",
338
+ "context.breakdown.tool": "도구 호출",
339
+ "context.breakdown.other": "기타",
340
+ "context.systemPrompt.title": "시스템 프롬프트",
341
+ "context.rawMessages.title": "원시 메시지",
342
+ "context.stats.session": "세션",
343
+ "context.stats.messages": "메시지",
344
+ "context.stats.provider": "공급자",
345
+ "context.stats.model": "모델",
346
+ "context.stats.limit": "컨텍스트 제한",
347
+ "context.stats.totalTokens": "총 토큰",
348
+ "context.stats.usage": "사용량",
349
+ "context.stats.inputTokens": "입력 토큰",
350
+ "context.stats.outputTokens": "출력 토큰",
351
+ "context.stats.reasoningTokens": "추론 토큰",
352
+ "context.stats.cacheTokens": "캐시 토큰 (읽기/쓰기)",
353
+ "context.stats.userMessages": "사용자 메시지",
354
+ "context.stats.assistantMessages": "어시스턴트 메시지",
355
+ "context.stats.totalCost": "총 비용",
356
+ "context.stats.sessionCreated": "세션 생성됨",
357
+ "context.stats.lastActivity": "최근 활동",
358
+ "context.usage.tokens": "토큰",
359
+ "context.usage.usage": "사용량",
360
+ "context.usage.cost": "비용",
361
+ "context.usage.clickToView": "컨텍스트를 보려면 클릭",
362
+ "context.usage.view": "컨텍스트 사용량 보기",
363
+ "language.en": "English",
364
+ "language.zh": "简体中文",
365
+ "language.zht": "繁體中文",
366
+ "language.ko": "한국어",
367
+ "language.de": "Deutsch",
368
+ "language.es": "Español",
369
+ "language.fr": "Français",
370
+ "language.da": "Dansk",
371
+ "language.ja": "日本語",
372
+ "language.pl": "Polski",
373
+ "language.ru": "Русский",
374
+ "language.ar": "العربية",
375
+ "language.no": "Norsk",
376
+ "language.br": "Português (Brasil)",
377
+ "language.bs": "Bosanski",
378
+ "language.th": "ไทย",
379
+ "language.tr": "Türkçe",
380
+ "toast.language.title": "언어",
381
+ "toast.language.description": "{{language}}(으)로 전환됨",
382
+ "toast.theme.title": "테마 전환됨",
383
+ "toast.scheme.title": "색상 테마",
384
+ "toast.workspace.enabled.title": "작업 공간 활성화됨",
385
+ "toast.workspace.enabled.description": "이제 사이드바에 여러 작업 트리가 표시됩니다",
386
+ "toast.workspace.disabled.title": "작업 공간 비활성화됨",
387
+ "toast.workspace.disabled.description": "사이드바에 메인 작업 트리만 표시됩니다",
388
+ "toast.permissions.autoaccept.on.title": "권한 자동 수락 중",
389
+ "toast.permissions.autoaccept.on.description": "권한 요청이 자동으로 승인됩니다",
390
+ "toast.permissions.autoaccept.off.title": "권한 자동 수락 중지됨",
391
+ "toast.permissions.autoaccept.off.description": "권한 요청에 승인이 필요합니다",
392
+ "toast.model.none.title": "선택된 모델 없음",
393
+ "toast.model.none.description": "이 세션을 요약하려면 공급자를 연결하세요",
394
+ "toast.file.loadFailed.title": "파일 로드 실패",
395
+ "toast.file.listFailed.title": "파일 목록을 불러오지 못했습니다",
396
+ "toast.context.noLineSelection.title": "줄 선택 없음",
397
+ "toast.context.noLineSelection.description": "먼저 파일 탭에서 줄 범위를 선택하세요.",
398
+ "toast.session.share.copyFailed.title": "URL 클립보드 복사 실패",
399
+ "toast.session.share.success.title": "세션 공유됨",
400
+ "toast.session.share.success.description": "공유 URL이 클립보드에 복사되었습니다!",
401
+ "toast.session.share.failed.title": "세션 공유 실패",
402
+ "toast.session.share.failed.description": "세션을 공유하는 동안 오류가 발생했습니다",
403
+ "toast.session.unshare.success.title": "세션 공유 해제됨",
404
+ "toast.session.unshare.success.description": "세션 공유가 성공적으로 해제되었습니다!",
405
+ "toast.session.unshare.failed.title": "세션 공유 해제 실패",
406
+ "toast.session.unshare.failed.description": "세션 공유를 해제하는 동안 오류가 발생했습니다",
407
+ "toast.session.listFailed.title": "{{project}}에 대한 세션을 로드하지 못했습니다",
408
+ "toast.update.title": "업데이트 가능",
409
+ "toast.update.description": "NeuroCode의 새 버전({{version}})을 설치할 수 있습니다.",
410
+ "toast.update.action.installRestart": "설치 및 다시 시작",
411
+ "toast.update.action.notYet": "나중에",
412
+ "error.page.title": "문제가 발생했습니다",
413
+ "error.page.description": "애플리케이션을 로드하는 동안 오류가 발생했습니다.",
414
+ "error.page.details.label": "오류 세부 정보",
415
+ "error.page.action.restart": "다시 시작",
416
+ "error.page.action.report": "오류 신고",
417
+ "error.page.action.reported": "오류가 신고됨",
418
+ "error.page.action.checking": "확인 중...",
419
+ "error.page.action.checkUpdates": "업데이트 확인",
420
+ "error.page.action.updateTo": "{{version}} 버전으로 업데이트",
421
+ "error.page.report.prefix": "이 오류를 NeuroCode 팀에 제보해 주세요: ",
422
+ "error.page.report.discord": "Discord",
423
+ "error.page.version": "버전: {{version}}",
424
+ "error.dev.rootNotFound":
425
+ "루트 요소를 찾을 수 없습니다. index.html에 추가하는 것을 잊으셨나요? 또는 id 속성의 철자가 틀렸을 수 있습니다.",
426
+ "error.serverSync.connectFailed": "서버에 연결할 수 없습니다. `{{url}}`에서 서버가 실행 중인가요?",
427
+ "directory.error.invalidUrl": "URL에 유효하지 않은 디렉터리가 있습니다.",
428
+ "error.chain.unknown": "알 수 없는 오류",
429
+ "error.chain.causedBy": "원인:",
430
+ "error.chain.apiError": "API 오류",
431
+ "error.chain.status": "상태: {{status}}",
432
+ "error.chain.retryable": "재시도 가능: {{retryable}}",
433
+ "error.chain.responseBody": "응답 본문:\n{{body}}",
434
+ "error.chain.didYouMean": "혹시 {{suggestions}}을(를) 의미하셨나요?",
435
+ "error.chain.modelNotFound": "모델을 찾을 수 없음: {{provider}}/{{model}}",
436
+ "error.chain.checkConfig": "구성(NeuroCode.json)의 공급자/모델 이름을 확인하세요",
437
+ "error.chain.mcpFailed": 'MCP 서버 "{{name}}" 실패. 참고: NeuroCode는 아직 MCP 인증을 지원하지 않습니다.',
438
+ "error.chain.providerAuthFailed": "공급자 인증 실패 ({{provider}}): {{message}}",
439
+ "error.chain.providerInitFailed": '공급자 "{{provider}}" 초기화 실패. 자격 증명과 구성을 확인하세요.',
440
+ "error.chain.configJsonInvalid": "{{path}}의 구성 파일이 유효한 JSON(C)가 아닙니다",
441
+ "error.chain.configJsonInvalidWithMessage": "{{path}}의 구성 파일이 유효한 JSON(C)가 아닙니다: {{message}}",
442
+ "error.chain.configDirectoryTypo":
443
+ '{{path}}의 "{{dir}}" 디렉터리가 유효하지 않습니다. 디렉터리 이름을 "{{suggestion}}"으로 변경하거나 제거하세요. 이는 흔한 오타입니다.',
444
+ "error.chain.configFrontmatterError": "{{path}}의 frontmatter 파싱 실패:\n{{message}}",
445
+ "error.chain.configInvalid": "{{path}}의 구성 파일이 유효하지 않습니다",
446
+ "error.chain.configInvalidWithMessage": "{{path}}의 구성 파일이 유효하지 않습니다: {{message}}",
447
+ "notification.permission.title": "권한 필요",
448
+ "notification.permission.description": "{{projectName}}의 {{sessionTitle}}에서 권한이 필요합니다",
449
+ "notification.question.title": "질문",
450
+ "notification.question.description": "{{projectName}}의 {{sessionTitle}}에서 질문이 있습니다",
451
+ "notification.action.goToSession": "세션으로 이동",
452
+ "notification.session.responseReady.title": "응답 준비됨",
453
+ "notification.session.error.title": "세션 오류",
454
+ "notification.session.error.fallbackDescription": "오류가 발생했습니다",
455
+ "home.recentProjects": "최근 프로젝트",
456
+ "home.empty.title": "최근 프로젝트 없음",
457
+ "home.empty.description": "로컬 프로젝트를 열어 시작하세요",
458
+ "session.tab.session": "세션",
459
+ "session.tab.review": "검토",
460
+ "session.tab.context": "컨텍스트",
461
+ "session.panel.reviewAndFiles": "검토 및 파일",
462
+ "session.review.filesChanged": "{{count}}개 파일 변경됨",
463
+ "session.review.change.one": "변경",
464
+ "session.review.change.other": "변경",
465
+ "session.review.loadingChanges": "변경 사항 로드 중...",
466
+ "session.review.empty": "이 세션에 변경 사항이 아직 없습니다",
467
+ "session.review.noVcs": "Git 버전 관리 시스템이 감지되지 않아 변경 사항이 표시되지 않습니다",
468
+ "session.review.noSnapshot": "구성에서 스냅샷 추적이 비활성화되어 있어 세션 변경 사항을 사용할 수 없습니다",
469
+ "session.review.noChanges": "변경 없음",
470
+ "session.files.selectToOpen": "열 파일을 선택하세요",
471
+ "session.files.all": "모든 파일",
472
+ "session.files.empty": "파일 없음",
473
+ "session.files.binaryContent": "바이너리 파일 (내용을 표시할 수 없음)",
474
+ "session.messages.renderEarlier": "이전 메시지 렌더링",
475
+ "session.messages.loadingEarlier": "이전 메시지 로드 중...",
476
+ "session.messages.loadEarlier": "이전 메시지 로드",
477
+ "session.messages.loading": "메시지 로드 중...",
478
+ "session.messages.jumpToLatest": "최신으로 이동",
479
+ "session.context.addToContext": "컨텍스트에 {{selection}} 추가",
480
+ "session.todo.title": "할 일",
481
+ "session.todo.collapse": "접기",
482
+ "session.todo.expand": "펼치기",
483
+ "session.followupDock.summary.one": "{{count}}개의 대기 중인 메시지",
484
+ "session.followupDock.summary.other": "{{count}}개의 대기 중인 메시지",
485
+ "session.followupDock.sendNow": "지금 전송",
486
+ "session.followupDock.edit": "편집",
487
+ "session.followupDock.collapse": "대기 중인 메시지 접기",
488
+ "session.followupDock.expand": "대기 중인 메시지 펼치기",
489
+ "session.revertDock.summary.one": "{{count}}개의 롤백된 메시지",
490
+ "session.revertDock.summary.other": "{{count}}개의 롤백된 메시지",
491
+ "session.revertDock.collapse": "롤백된 메시지 접기",
492
+ "session.revertDock.expand": "롤백된 메시지 펼치기",
493
+ "session.revertDock.restore": "메시지 복원",
494
+ "session.new.title": "무엇이든 만들기",
495
+ "session.new.worktree.main": "메인 브랜치",
496
+ "session.new.worktree.mainWithBranch": "메인 브랜치 ({{branch}})",
497
+ "session.new.worktree.create": "새 작업 트리 생성",
498
+ "session.new.lastModified": "최근 수정",
499
+ "session.header.search.placeholder": "{{project}} 검색",
500
+ "session.header.searchFiles": "파일 검색",
501
+ "session.header.openIn": "다음에서 열기",
502
+ "session.header.open.action": "{{app}} 열기",
503
+ "session.header.open.ariaLabel": "{{app}}에서 열기",
504
+ "session.header.open.menu": "열기 옵션",
505
+ "session.header.open.copyPath": "경로 복사",
506
+ "status.popover.trigger": "상태",
507
+ "status.popover.ariaLabel": "서버 구성",
508
+ "status.popover.tab.servers": "서버",
509
+ "status.popover.tab.mcp": "MCP",
510
+ "status.popover.tab.lsp": "LSP",
511
+ "status.popover.tab.plugins": "플러그인",
512
+ "status.popover.action.manageServers": "서버 관리",
513
+ "session.share.popover.title": "웹에 게시",
514
+ "session.share.popover.description.shared": "이 세션은 웹에 공개되었습니다. 링크가 있는 누구나 액세스할 수 있습니다.",
515
+ "session.share.popover.description.unshared":
516
+ "세션을 웹에 공개적으로 공유합니다. 링크가 있는 누구나 액세스할 수 있습니다.",
517
+ "session.share.action.share": "공유",
518
+ "session.share.action.publish": "게시",
519
+ "session.share.action.publishing": "게시 중...",
520
+ "session.share.action.unpublish": "게시 취소",
521
+ "session.share.action.unpublishing": "게시 취소 중...",
522
+ "session.share.action.view": "보기",
523
+ "session.share.copy.copied": "복사됨",
524
+ "session.share.copy.copyLink": "링크 복사",
525
+ "lsp.tooltip.none": "LSP 서버 없음",
526
+ "lsp.label.connected": "{{count}} LSP",
527
+ "prompt.loading": "프롬프트 로드 중...",
528
+ "terminal.loading": "터미널 로드 중...",
529
+ "terminal.title": "터미널",
530
+ "terminal.title.numbered": "터미널 {{number}}",
531
+ "terminal.close": "터미널 닫기",
532
+ "terminal.connectionLost.title": "연결 끊김",
533
+ "terminal.connectionLost.description":
534
+ "터미널 연결이 중단되었습니다. 서버가 재시작하면 이런 일이 발생할 수 있습니다.",
535
+ "common.closeTab": "탭 닫기",
536
+ "common.dismiss": "닫기",
537
+ "common.requestFailed": "요청 실패",
538
+ "common.moreOptions": "더 많은 옵션",
539
+ "common.learnMore": "더 알아보기",
540
+ "common.rename": "이름 바꾸기",
541
+ "common.reset": "초기화",
542
+ "common.archive": "보관",
543
+ "common.delete": "삭제",
544
+ "common.close": "닫기",
545
+ "common.edit": "편집",
546
+ "common.loadMore": "더 불러오기",
547
+ "common.key.esc": "ESC",
548
+ "sidebar.menu.toggle": "메뉴 토글",
549
+ "sidebar.nav.projectsAndSessions": "프로젝트 및 세션",
550
+ "sidebar.settings": "설정",
551
+ "sidebar.help": "도움말",
552
+ "sidebar.workspaces.enable": "작업 공간 활성화",
553
+ "sidebar.workspaces.disable": "작업 공간 비활성화",
554
+ "sidebar.gettingStarted.title": "시작하기",
555
+ "sidebar.gettingStarted.line1": "NeuroCode에는 무료 모델이 포함되어 있어 즉시 시작할 수 있습니다.",
556
+ "sidebar.gettingStarted.line2": "Claude, GPT, Gemini 등을 포함한 모델을 사용하려면 공급자를 연결하세요.",
557
+ "sidebar.project.recentSessions": "최근 세션",
558
+ "sidebar.project.viewAllSessions": "모든 세션 보기",
559
+ "sidebar.project.clearNotifications": "알림 지우기",
560
+ "app.name.desktop": "Neurocode Desktop",
561
+ "settings.section.desktop": "데스크톱",
562
+ "settings.section.server": "서버",
563
+ "settings.tab.general": "일반",
564
+ "settings.tab.shortcuts": "단축키",
565
+ "settings.desktop.section.wsl": "WSL",
566
+ "settings.desktop.wsl.title": "WSL 통합",
567
+ "settings.desktop.wsl.description": "Windows의 WSL 내부에서 NeuroCode 서버를 실행합니다.",
568
+ "settings.general.section.appearance": "모양",
569
+ "settings.general.section.notifications": "시스템 알림",
570
+ "settings.general.section.updates": "업데이트",
571
+ "settings.general.section.sounds": "효과음",
572
+ "settings.general.section.feed": "피드",
573
+ "settings.general.section.display": "디스플레이",
574
+ "settings.general.row.language.title": "언어",
575
+ "settings.general.row.language.description": "NeuroCode 표시 언어 변경",
576
+ "settings.general.row.appearance.title": "모양",
577
+ "settings.general.row.appearance.description": "기기에서 NeuroCode가 보이는 방식 사용자 지정",
578
+ "settings.general.row.colorScheme.title": "색상 테마",
579
+ "settings.general.row.colorScheme.description": "NeuroCode가 시스템, 라이트 또는 다크 테마를 따를지 선택하세요",
580
+ "settings.general.row.theme.title": "테마",
581
+ "settings.general.row.theme.description": "NeuroCode 테마 사용자 지정",
582
+ "settings.general.row.font.title": "코드 글꼴",
583
+ "settings.general.row.font.description": "코드 블록에 사용되는 글꼴을 사용자 지정",
584
+ "settings.general.row.terminalFont.title": "터미널 글꼴",
585
+ "settings.general.row.terminalFont.description": "터미널에서 사용할 글꼴을 설정합니다",
586
+ "settings.general.row.uiFont.title": "UI 글꼴",
587
+ "settings.general.row.uiFont.description": "인터페이스 전반에 사용되는 글꼴을 사용자 지정",
588
+ "settings.general.row.followup.title": "후속 조치 동작",
589
+ "settings.general.row.followup.description": "후속 프롬프트를 즉시 실행할지 대기열에 넣을지 선택하세요",
590
+ "settings.general.row.followup.option.queue": "대기열",
591
+ "settings.general.row.followup.option.steer": "조종",
592
+ "settings.general.row.reasoningSummaries.title": "추론 요약 표시",
593
+ "settings.general.row.reasoningSummaries.description": "타임라인에 모델 추론 요약 표시",
594
+ "settings.general.row.shellToolPartsExpanded.title": "shell 도구 파트 펼치기",
595
+ "settings.general.row.shellToolPartsExpanded.description":
596
+ "타임라인에서 기본적으로 shell 도구 파트를 펼친 상태로 표시합니다",
597
+ "settings.general.row.editToolPartsExpanded.title": "edit 도구 파트 펼치기",
598
+ "settings.general.row.editToolPartsExpanded.description":
599
+ "타임라인에서 기본적으로 edit, write, patch 도구 파트를 펼친 상태로 표시합니다",
600
+ "settings.general.row.wayland.title": "네이티브 Wayland 사용",
601
+ "settings.general.row.wayland.description": "Wayland에서 X11 폴백을 비활성화합니다. 다시 시작해야 합니다.",
602
+ "settings.general.row.wayland.tooltip":
603
+ "혼합 주사율 모니터가 있는 Linux에서는 네이티브 Wayland가 더 안정적일 수 있습니다.",
604
+ "settings.general.row.releaseNotes.title": "릴리스 노트",
605
+ "settings.general.row.releaseNotes.description": "업데이트 후 '새 소식' 팝업 표시",
606
+ "settings.updates.row.startup.title": "시작 시 업데이트 확인",
607
+ "settings.updates.row.startup.description": "NeuroCode를 실행할 때 업데이트를 자동으로 확인합니다",
608
+ "settings.updates.row.check.title": "업데이트 확인",
609
+ "settings.updates.row.check.description": "업데이트를 수동으로 확인하고, 사용 가능하면 설치합니다",
610
+ "settings.updates.action.checkNow": "지금 확인",
611
+ "settings.updates.action.checking": "확인 중...",
612
+ "settings.updates.toast.latest.title": "최신 상태입니다",
613
+ "settings.updates.toast.latest.description": "현재 최신 버전의 NeuroCode를 사용 중입니다.",
614
+ "sound.option.none": "없음",
615
+ "sound.option.alert01": "알림 01",
616
+ "sound.option.alert02": "알림 02",
617
+ "sound.option.alert03": "알림 03",
618
+ "sound.option.alert04": "알림 04",
619
+ "sound.option.alert05": "알림 05",
620
+ "sound.option.alert06": "알림 06",
621
+ "sound.option.alert07": "알림 07",
622
+ "sound.option.alert08": "알림 08",
623
+ "sound.option.alert09": "알림 09",
624
+ "sound.option.alert10": "알림 10",
625
+ "sound.option.bipbop01": "빕-밥 01",
626
+ "sound.option.bipbop02": "빕-밥 02",
627
+ "sound.option.bipbop03": "빕-밥 03",
628
+ "sound.option.bipbop04": "빕-밥 04",
629
+ "sound.option.bipbop05": "빕-밥 05",
630
+ "sound.option.bipbop06": "빕-밥 06",
631
+ "sound.option.bipbop07": "빕-밥 07",
632
+ "sound.option.bipbop08": "빕-밥 08",
633
+ "sound.option.bipbop09": "빕-밥 09",
634
+ "sound.option.bipbop10": "빕-밥 10",
635
+ "sound.option.staplebops01": "스테이플밥스 01",
636
+ "sound.option.staplebops02": "스테이플밥스 02",
637
+ "sound.option.staplebops03": "스테이플밥스 03",
638
+ "sound.option.staplebops04": "스테이플밥스 04",
639
+ "sound.option.staplebops05": "스테이플밥스 05",
640
+ "sound.option.staplebops06": "스테이플밥스 06",
641
+ "sound.option.staplebops07": "스테이플밥스 07",
642
+ "sound.option.nope01": "아니오 01",
643
+ "sound.option.nope02": "아니오 02",
644
+ "sound.option.nope03": "아니오 03",
645
+ "sound.option.nope04": "아니오 04",
646
+ "sound.option.nope05": "아니오 05",
647
+ "sound.option.nope06": "아니오 06",
648
+ "sound.option.nope07": "아니오 07",
649
+ "sound.option.nope08": "아니오 08",
650
+ "sound.option.nope09": "아니오 09",
651
+ "sound.option.nope10": "아니오 10",
652
+ "sound.option.nope11": "아니오 11",
653
+ "sound.option.nope12": "아니오 12",
654
+ "sound.option.yup01": "네 01",
655
+ "sound.option.yup02": "네 02",
656
+ "sound.option.yup03": "네 03",
657
+ "sound.option.yup04": "네 04",
658
+ "sound.option.yup05": "네 05",
659
+ "sound.option.yup06": "네 06",
660
+ "settings.general.notifications.agent.title": "에이전트",
661
+ "settings.general.notifications.agent.description": "에이전트가 완료되거나 주의가 필요할 때 시스템 알림 표시",
662
+ "settings.general.notifications.permissions.title": "권한",
663
+ "settings.general.notifications.permissions.description": "권한이 필요할 때 시스템 알림 표시",
664
+ "settings.general.notifications.errors.title": "오류",
665
+ "settings.general.notifications.errors.description": "오류가 발생했을 때 시스템 알림 표시",
666
+ "settings.general.sounds.agent.title": "에이전트",
667
+ "settings.general.sounds.agent.description": "에이전트가 완료되거나 주의가 필요할 때 소리 재생",
668
+ "settings.general.sounds.permissions.title": "권한",
669
+ "settings.general.sounds.permissions.description": "권한이 필요할 때 소리 재생",
670
+ "settings.general.sounds.errors.title": "오류",
671
+ "settings.general.sounds.errors.description": "오류가 발생했을 때 소리 재생",
672
+ "settings.shortcuts.title": "키보드 단축키",
673
+ "settings.shortcuts.reset.button": "기본값으로 초기화",
674
+ "settings.shortcuts.reset.toast.title": "단축키 초기화됨",
675
+ "settings.shortcuts.reset.toast.description": "키보드 단축키가 기본값으로 초기화되었습니다.",
676
+ "settings.shortcuts.conflict.title": "단축키가 이미 사용 중임",
677
+ "settings.shortcuts.conflict.description": "{{keybind}}은(는) 이미 {{titles}}에 할당되어 있습니다.",
678
+ "settings.shortcuts.unassigned": "할당되지 않음",
679
+ "settings.shortcuts.pressKeys": "키 누르기",
680
+ "settings.shortcuts.search.placeholder": "단축키 검색",
681
+ "settings.shortcuts.search.empty": "단축키를 찾을 수 없습니다",
682
+ "settings.shortcuts.group.general": "일반",
683
+ "settings.shortcuts.group.session": "세션",
684
+ "settings.shortcuts.group.navigation": "탐색",
685
+ "settings.shortcuts.group.modelAndAgent": "모델 및 에이전트",
686
+ "settings.shortcuts.group.terminal": "터미널",
687
+ "settings.shortcuts.group.prompt": "프롬프트",
688
+ "settings.providers.title": "공급자",
689
+ "settings.providers.description": "공급자 설정은 여기서 구성할 수 있습니다.",
690
+ "settings.providers.section.connected": "연결된 공급자",
691
+ "settings.providers.connected.empty": "연결된 공급자 없음",
692
+ "settings.providers.section.popular": "인기 공급자",
693
+ "settings.providers.tag.environment": "환경",
694
+ "settings.providers.tag.config": "구성",
695
+ "settings.providers.tag.custom": "사용자 지정",
696
+ "settings.providers.tag.other": "기타",
697
+ "settings.models.title": "모델",
698
+ "settings.models.description": "모델 설정은 여기서 구성할 수 있습니다.",
699
+ "settings.agents.title": "에이전트",
700
+ "settings.agents.description": "에이전트 설정은 여기서 구성할 수 있습니다.",
701
+ "settings.commands.title": "명령어",
702
+ "settings.commands.description": "명령어 설정은 여기서 구성할 수 있습니다.",
703
+ "settings.mcp.title": "MCP",
704
+ "settings.mcp.description": "MCP 설정은 여기서 구성할 수 있습니다.",
705
+ "settings.permissions.title": "권한",
706
+ "settings.permissions.description": "서버가 기본적으로 사용할 수 있는 도구를 제어합니다.",
707
+ "settings.permissions.section.tools": "도구",
708
+ "settings.permissions.toast.updateFailed.title": "권한 업데이트 실패",
709
+ "settings.permissions.action.allow": "허용",
710
+ "settings.permissions.action.ask": "묻기",
711
+ "settings.permissions.action.deny": "거부",
712
+ "settings.permissions.tool.read.title": "읽기",
713
+ "settings.permissions.tool.read.description": "파일 읽기 (파일 경로와 일치)",
714
+ "settings.permissions.tool.edit.title": "편집",
715
+ "settings.permissions.tool.edit.description": "파일 수정 (편집, 쓰기, 패치 및 다중 편집 포함)",
716
+ "settings.permissions.tool.glob.title": "Glob",
717
+ "settings.permissions.tool.glob.description": "glob 패턴을 사용하여 파일 일치",
718
+ "settings.permissions.tool.grep.title": "Grep",
719
+ "settings.permissions.tool.grep.description": "정규식을 사용하여 파일 내용 검색",
720
+ "settings.permissions.tool.list.title": "목록",
721
+ "settings.permissions.tool.list.description": "디렉터리 내 파일 나열",
722
+ "settings.permissions.tool.bash.title": "Bash",
723
+ "settings.permissions.tool.bash.description": "셸 명령어 실행",
724
+ "settings.permissions.tool.task.title": "작업",
725
+ "settings.permissions.tool.task.description": "하위 에이전트 실행",
726
+ "settings.permissions.tool.skill.title": "기술",
727
+ "settings.permissions.tool.skill.description": "이름으로 기술 로드",
728
+ "settings.permissions.tool.lsp.title": "LSP",
729
+ "settings.permissions.tool.lsp.description": "언어 서버 쿼리 실행",
730
+ "settings.permissions.tool.todowrite.title": "할 일 쓰기",
731
+ "settings.permissions.tool.todowrite.description": "할 일 목록 업데이트",
732
+ "settings.permissions.tool.webfetch.title": "웹 가져오기",
733
+ "settings.permissions.tool.webfetch.description": "URL에서 콘텐츠 가져오기",
734
+ "settings.permissions.tool.websearch.title": "웹 검색",
735
+ "settings.permissions.tool.websearch.description": "웹 검색",
736
+ "settings.permissions.tool.external_directory.title": "외부 디렉터리",
737
+ "settings.permissions.tool.external_directory.description": "프로젝트 디렉터리 외부의 파일에 액세스",
738
+ "settings.permissions.tool.doom_loop.title": "무한 반복",
739
+ "settings.permissions.tool.doom_loop.description": "동일한 입력으로 반복되는 도구 호출 감지",
740
+ "session.delete.failed.title": "세션 삭제 실패",
741
+ "session.delete.title": "세션 삭제",
742
+ "session.delete.confirm": '"{{name}}" 세션을 삭제하시겠습니까?',
743
+ "session.delete.button": "세션 삭제",
744
+ "workspace.new": "새 작업 공간",
745
+ "workspace.type.local": "로컬",
746
+ "workspace.type.sandbox": "샌드박스",
747
+ "workspace.create.failed.title": "작업 공간 생성 실패",
748
+ "workspace.delete.failed.title": "작업 공간 삭제 실패",
749
+ "workspace.resetting.title": "작업 공간 재설정 중",
750
+ "workspace.resetting.description": "잠시 시간이 걸릴 수 있습니다.",
751
+ "workspace.reset.failed.title": "작업 공간 재설정 실패",
752
+ "workspace.reset.success.title": "작업 공간 재설정됨",
753
+ "workspace.reset.success.description": "작업 공간이 이제 기본 브랜치와 일치합니다.",
754
+ "workspace.error.stillPreparing": "작업 공간이 아직 준비 중입니다",
755
+ "workspace.status.checking": "병합되지 않은 변경 사항 확인 중...",
756
+ "workspace.status.error": "Git 상태를 확인할 수 없습니다.",
757
+ "workspace.status.clean": "병합되지 않은 변경 사항이 감지되지 않았습니다.",
758
+ "workspace.status.dirty": "이 작업 공간에서 병합되지 않은 변경 사항이 감지되었습니다.",
759
+ "workspace.delete.title": "작업 공간 삭제",
760
+ "workspace.delete.confirm": '"{{name}}" 작업 공간을 삭제하시겠습니까?',
761
+ "workspace.delete.button": "작업 공간 삭제",
762
+ "workspace.reset.title": "작업 공간 재설정",
763
+ "workspace.reset.confirm": '"{{name}}" 작업 공간을 재설정하시겠습니까?',
764
+ "workspace.reset.button": "작업 공간 재설정",
765
+ "workspace.reset.archived.none": "활성 세션이 보관되지 않습니다.",
766
+ "workspace.reset.archived.one": "1개의 세션이 보관됩니다.",
767
+ "workspace.reset.archived.many": "{{count}}개의 세션이 보관됩니다.",
768
+ "workspace.reset.note": "이 작업은 작업 공간을 기본 브랜치와 일치하도록 재설정합니다.",
769
+ "common.open": "열기",
770
+ "dialog.releaseNotes.action.getStarted": "시작하기",
771
+ "dialog.releaseNotes.action.next": "다음",
772
+ "dialog.releaseNotes.action.hideFuture": "다시 보지 않기",
773
+ "dialog.releaseNotes.media.alt": "릴리스 미리보기",
774
+ "toast.project.reloadFailed.title": "{{project}} 다시 불러오기 실패",
775
+ "error.server.invalidConfiguration": "잘못된 구성",
776
+ "common.moreCountSuffix": " (외 {{count}}개)",
777
+ "common.time.justNow": "방금 전",
778
+ "common.time.minutesAgo.short": "{{count}}분 전",
779
+ "common.time.hoursAgo.short": "{{count}}시간 전",
780
+ "common.time.daysAgo.short": "{{count}}일 전",
781
+ "settings.providers.connected.environmentDescription": "환경 변수에서 연결됨",
782
+ "settings.providers.custom.description": "기본 URL로 OpenAI 호환 공급자를 추가합니다.",
783
+
784
+ "app.server.unreachable": "{{server}}에 연결할 수 없습니다",
785
+ "app.server.retrying": "자동으로 재시도 중...",
786
+ "app.server.otherServers": "다른 서버",
787
+ "dialog.server.add.usernamePlaceholder": "사용자 이름",
788
+ "dialog.server.add.passwordPlaceholder": "비밀번호",
789
+ "server.row.noUsername": "사용자 이름 없음",
790
+ "session.review.noVcs.createGit.title": "Git 저장소 생성",
791
+ "session.review.noVcs.createGit.description": "이 프로젝트의 변경 사항을 추적, 검토 및 실행 취소",
792
+ "session.review.noVcs.createGit.actionLoading": "Git 저장소 생성 중...",
793
+ "session.review.noVcs.createGit.action": "Git 저장소 생성",
794
+ "session.todo.progress": "{{total}}개의 할 일 중 {{done}}개 완료",
795
+ "session.question.progress": "{{total}}개의 질문 중 {{current}}개",
796
+ "session.header.open.finder": "Finder",
797
+ "session.header.open.fileExplorer": "파일 탐색기",
798
+ "session.header.open.fileManager": "파일 관리자",
799
+ "session.header.open.app.vscode": "VS Code",
800
+ "session.header.open.app.cursor": "Cursor",
801
+ "session.header.open.app.zed": "Zed",
802
+ "session.header.open.app.textmate": "TextMate",
803
+ "session.header.open.app.antigravity": "Antigravity",
804
+ "session.header.open.app.terminal": "터미널",
805
+ "session.header.open.app.iterm2": "iTerm2",
806
+ "session.header.open.app.ghostty": "Ghostty",
807
+ "session.header.open.app.warp": "Warp",
808
+ "session.header.open.app.xcode": "Xcode",
809
+ "session.header.open.app.androidStudio": "Android Studio",
810
+ "session.header.open.app.powershell": "PowerShell",
811
+ "session.header.open.app.sublimeText": "Sublime Text",
812
+ "debugBar.ariaLabel": "개발 성능 진단",
813
+ "debugBar.na": "해당 없음",
814
+ "debugBar.nav.label": "NAV",
815
+ "debugBar.nav.tip":
816
+ "세션 페이지에 닿은 마지막 완료된 라우트 전환. 라우터 시작부터 정착 후 첫 번째 페인트까지 측정됨.",
817
+ "debugBar.fps.label": "FPS",
818
+ "debugBar.fps.tip": "지난 5초간의 초당 프레임 수.",
819
+ "debugBar.frame.label": "FRAME",
820
+ "debugBar.frame.tip": "지난 5초간의 최악의 프레임 시간.",
821
+ "debugBar.jank.label": "JANK",
822
+ "debugBar.jank.tip": "지난 5초간 32ms를 초과한 프레임.",
823
+ "debugBar.long.label": "LONG",
824
+ "debugBar.long.tip": "지난 5초간의 차단된 시간 및 긴 작업 수. 최대 작업: {{max}}.",
825
+ "debugBar.delay.label": "DELAY",
826
+ "debugBar.delay.tip": "지난 5초간 관찰된 최악의 입력 지연.",
827
+ "debugBar.inp.label": "INP",
828
+ "debugBar.inp.tip": "지난 5초간의 대략적인 상호작용 지속 시간. 이것은 공식 Web Vitals INP가 아닌 INP와 유사합니다.",
829
+ "debugBar.cls.label": "CLS",
830
+ "debugBar.cls.tip": "현재 앱 수명 동안의 누적 레이아웃 이동.",
831
+ "debugBar.mem.label": "MEM",
832
+ "debugBar.mem.tipUnavailable": "사용된 JS 힙 대 힙 제한. Chromium 전용.",
833
+ "debugBar.mem.tip": "사용된 JS 힙 대 힙 제한. {{limit}} 중 {{used}}.",
834
+ "common.key.ctrl": "Ctrl",
835
+ "common.key.alt": "Alt",
836
+ "common.key.shift": "Shift",
837
+ "common.key.meta": "Meta",
838
+ "common.key.space": "Space",
839
+ "common.key.backspace": "Backspace",
840
+ "common.key.enter": "Enter",
841
+ "common.key.tab": "Tab",
842
+ "common.key.delete": "Delete",
843
+ "common.key.home": "Home",
844
+ "common.key.end": "End",
845
+ "common.key.pageUp": "Page Up",
846
+ "common.key.pageDown": "Page Down",
847
+ "common.key.insert": "Insert",
848
+ "common.unknown": "알 수 없음",
849
+ "error.page.circular": "[순환]",
850
+ "error.serverSDK.noServerAvailable": "사용 가능한 서버 없음",
851
+ "error.serverSDK.serverNotAvailable": "서버를 사용할 수 없음",
852
+ "error.childStore.persistedCacheCreateFailed": "영구 캐시 생성 실패",
853
+ "error.childStore.persistedProjectMetadataCreateFailed": "영구 프로젝트 메타데이터 생성 실패",
854
+ "error.childStore.persistedProjectIconCreateFailed": "영구 프로젝트 아이콘 생성 실패",
855
+ "error.childStore.storeCreateFailed": "저장소 생성 실패",
856
+ "terminal.connectionLost.abnormalClose": "WebSocket이 비정상적으로 닫힘: {{code}}",
857
+
858
+ "command.project.previous": "이전 프로젝트",
859
+ "command.project.next": "다음 프로젝트",
860
+ "command.project.index": "{{index}}번 프로젝트로 전환",
861
+ "command.tab.reopenClosed": "닫은 탭 다시 열기",
862
+ "model.tooltip.context.label": "컨텍스트",
863
+ "model.tooltip.inputs": "입력",
864
+ "model.tooltip.model": "모델",
865
+ "model.tooltip.provider": "공급자",
866
+ "model.tooltip.reasoning": "추론",
867
+ "common.clear": "지우기",
868
+ "session.child.promptDisabled": "하위 에이전트 세션에는 프롬프트를 입력할 수 없습니다.",
869
+ "session.child.backToParent": "메인 세션으로 돌아가기.",
870
+
871
+ "wsl.server.add": "WSL 서버 추가",
872
+ "wsl.server.addShort": "WSL 추가",
873
+ "wsl.server.label": "WSL",
874
+ "wsl.server.menu.label": "WSL 서버",
875
+ "wsl.server.retryStart": "시작 재시도",
876
+ "wsl.server.updating": "업데이트 중...",
877
+ "wsl.onboarding.step.distro": "배포판 선택",
878
+ "wsl.onboarding.step.NeuroCode": "NeuroCode",
879
+ "wsl.onboarding.checkingRuntime": "WSL 확인 중...",
880
+ "wsl.onboarding.restartRequired": "WSL 설치를 완료하려면 Windows를 다시 시작해야 합니다.",
881
+ "wsl.onboarding.ready": "WSL이 준비되었습니다.",
882
+ "wsl.onboarding.required": "계속하려면 WSL이 필요합니다.",
883
+ "wsl.onboarding.checkingDistros": "배포판 확인 중...",
884
+ "wsl.onboarding.installingDistro": "{{distro}} 배포판 설치 중...",
885
+ "wsl.onboarding.checkingDistro": "{{distro}} 배포판 확인 중...",
886
+ "wsl.onboarding.listingDistros": "배포판 목록 확인 중...",
887
+ "wsl.onboarding.distroReady": "{{distro}} 배포판이 준비되었습니다.",
888
+ "wsl.onboarding.distroNotInstalled": "{{distro}} 배포판이 아직 설치되지 않았습니다.",
889
+ "wsl.onboarding.openDistroOnce": "설정을 완료하려면 {{distro}} 배포판을 한 번 여세요.",
890
+ "wsl.onboarding.finishingDistro": "{{distro}} 배포판 설정을 마무리하는 중입니다.",
891
+ "wsl.onboarding.pickDistro": "배포판을 선택하거나 아래에서 설치하세요.",
892
+ "wsl.onboarding.checkingNeuroCode": "NeuroCode 확인 중...",
893
+ "wsl.onboarding.checkingNeuroCodeIn": "{{distro}}에서 NeuroCode 확인 중...",
894
+ "wsl.onboarding.updatingNeuroCode": "NeuroCode 업데이트 중...",
895
+ "wsl.onboarding.updatingNeuroCodeIn": "{{distro}}에서 NeuroCode 업데이트 중...",
896
+ "wsl.onboarding.updateNeuroCodeIn": "{{distro}}에서 NeuroCode를 업데이트하세요.",
897
+ "wsl.onboarding.updateNeuroCode": "NeuroCode 업데이트",
898
+ "wsl.onboarding.NeuroCodeReadyIn": "{{distro}}에서 NeuroCode를 사용할 준비가 되었습니다.",
899
+ "wsl.onboarding.NeuroCodeReady": "NeuroCode가 준비되었습니다.",
900
+ "wsl.onboarding.installNeuroCodeIn": "{{distro}}에 NeuroCode를 설치하세요.",
901
+ "wsl.onboarding.installNeuroCode": "NeuroCode 설치",
902
+ "wsl.onboarding.chooseDistroFirst": "먼저 배포판을 선택하세요.",
903
+ "wsl.onboarding.loadFailed": "WSL 상태를 불러오지 못했습니다.",
904
+ "wsl.onboarding.loading": "로딩 중...",
905
+ "wsl.onboarding.installedDistros": "설치된 배포판",
906
+ "wsl.onboarding.checkAgain": "다시 확인",
907
+ "wsl.onboarding.distroStatus.ready": "준비됨",
908
+ "wsl.onboarding.distroStatus.checking": "확인 중...",
909
+ "wsl.onboarding.distroStatus.NeuroCodeMissing": "NeuroCode가 설치되지 않음",
910
+ "wsl.onboarding.distroStatus.missingTools": "bash, curl 없음",
911
+ "wsl.onboarding.distroStatus.unsupported": "지원되지 않음 · WSL 2 사용",
912
+ "wsl.onboarding.needAnotherDistro": "다른 배포판이 필요하신가요?",
913
+ "wsl.onboarding.needAnotherDistroHint": "WSL 카탈로그에서 Linux 배포판을 설치하세요",
914
+ "wsl.onboarding.wslNotInstalled.title": "WSL이 설치되지 않음",
915
+ "wsl.onboarding.wslNotInstalled.description":
916
+ "NeuroCode에서 WSL 서버를 추가하려면 WSL (Windows Subsystem for Linux)이 필요합니다",
917
+ "wsl.onboarding.wslUnavailable.title": "WSL을 사용할 수 없음",
918
+ "wsl.onboarding.wslUnavailable.description": "NeuroCode에서 이 컴퓨터의 WSL을 확인할 수 없습니다.",
919
+ "wsl.onboarding.installWsl": "WSL 설치",
920
+ "wsl.onboarding.windowsRestartRequired": "WSL 설치를 완료하려면 Windows를 다시 시작한 다음 NeuroCode를 다시 여세요.",
921
+ "wsl.onboarding.next": "다음",
922
+ "wsl.onboarding.refresh": "새로 고침",
923
+ "wsl.onboarding.allDistrosAdded": "설치된 모든 배포판이 이미 추가되었습니다.",
924
+ "wsl.onboarding.noDistros": "아직 감지된 배포판이 없습니다.",
925
+ "wsl.onboarding.install": "설치",
926
+ "wsl.onboarding.installing": "설치 중...",
927
+ "wsl.onboarding.installDistro": "배포판 설치",
928
+ "wsl.onboarding.searchDistros": "배포판 검색",
929
+ "wsl.onboarding.wsl2Required": "WSL 2가 필요합니다.",
930
+ "wsl.onboarding.toolsRequired": "이 배포판에는 bash와 curl이 필요합니다.",
931
+ "wsl.onboarding.openTerminal": "터미널 열기",
932
+ "wsl.onboarding.path": "경로: {{path}}",
933
+ "wsl.onboarding.notFound": "찾을 수 없음",
934
+ "wsl.onboarding.version": "버전: {{version}}",
935
+ "wsl.onboarding.unknown": "알 수 없음",
936
+ "wsl.onboarding.desktopVersion": "데스크톱 {{version}}",
937
+ "wsl.onboarding.versionMismatch": "설치된 버전이 데스크톱 앱 버전과 일치하지 않습니다.",
938
+ "wsl.onboarding.adding": "추가 중...",
939
+
940
+ "language.uk": "Українська",
941
+ "error.page.description.localServerStartup": "로컬 서버를 시작하는 동안 오류가 발생했습니다.",
942
+ "error.page.action.exportLogs": "로그 내보내기",
943
+
944
+ "home.title": "홈",
945
+ "home.projects": "프로젝트",
946
+ "home.project.add": "프로젝트 추가",
947
+ "home.recentlyClosed": "최근에 닫은 항목",
948
+ "home.server.collapse": "서버 프로젝트 접기",
949
+ "home.server.expand": "서버 프로젝트 펼치기",
950
+ "home.sessions.search.placeholder": "세션 검색",
951
+ "home.sessions.search.placeholder.scoped": "{{scope}}에서 세션 검색",
952
+ "home.sessions.search.sessions": "세션",
953
+ "home.sessions.search.noResults": "{{query}}에 해당하는 세션을 찾을 수 없습니다",
954
+ "home.sessions.empty": "아직 아무것도 없습니다",
955
+ "home.sessions.empty.description": "세션을 생성하여 시작하세요",
956
+ "home.sessions.group.today": "오늘",
957
+ "home.sessions.group.yesterday": "어제",
958
+ "home.sessions.group.older": "이전",
959
+ "home.providerTip": "75개 이상의 제공업체에 연결하여 Claude, GPT, Gemini 등의 다른 모델을 사용하세요",
960
+
961
+ "session.tab.unknown": "알 수 없는 세션",
962
+ "session.error.notFound": "이 세션을 찾을 수 없습니다",
963
+ "session.error.notFound.description": "이 탭은 이 서버에 더 이상 존재하지 않는 세션을 가리킵니다.",
964
+ "session.error.notFound.closeTab": "탭 닫기",
965
+ "session.error.serverConnection": "이 서버에 연결할 수 없습니다",
966
+ "session.review.noUncommittedChanges": "아직 커밋되지 않은 변경 사항이 없습니다",
967
+ "session.review.noBranchChanges": "아직 브랜치 변경 사항이 없습니다",
968
+ "session.question.minimize": "질문 최소화",
969
+ "session.question.restore": "질문 복원",
970
+ "session.question.pending.one": "{{count}}개의 대기 중인 질문",
971
+ "session.question.pending.other": "{{count}}개의 대기 중인 질문",
972
+ "session.new.project.new": "새 프로젝트",
973
+ "session.new.project.search": "프로젝트 검색",
974
+ "session.new.project.add": "프로젝트 추가",
975
+ "session.new.workspace.runIn": "세션 실행 위치",
976
+ "session.new.workspace.triggerLocal": "로컬",
977
+ "session.new.workspace.local": "로컬 저장소",
978
+ "session.new.workspace.existing": "작업 공간…",
979
+ "session.new.git.none": "Git 없음",
980
+
981
+ "sidebar.empty.title": "열린 프로젝트 없음",
982
+ "sidebar.empty.description": "프로젝트를 열어 시작하세요",
983
+
984
+ "settings.general.section.advanced": "고급",
985
+ "settings.general.row.shell.title": "터미널 셸",
986
+ "settings.general.row.shell.description":
987
+ "터미널에서 사용할 셸을 선택하세요. 호환되는 셸은 에이전트 도구 호출에도 사용됩니다.",
988
+ "settings.general.row.shell.autoDefault": "자동 (기본값)",
989
+ "settings.general.row.shell.terminalOnly": "터미널 전용",
990
+ "settings.general.row.showFileTree.title": "파일 트리",
991
+ "settings.general.row.showFileTree.description": "세션에 파일 트리 패널 표시",
992
+ "settings.general.row.showNavigation.title": "탐색 컨트롤",
993
+ "settings.general.row.showNavigation.description": "데스크톱 제목 표시줄에 뒤로 및 앞으로 버튼 표시",
994
+ "settings.general.row.showSearch.title": "명령 팔레트",
995
+ "settings.general.row.showSearch.description": "제목 표시줄에 검색 및 명령 팔레트 버튼 표시",
996
+ "settings.general.row.showTerminal.title": "터미널",
997
+ "settings.general.row.showTerminal.description": "데스크톱 제목 표시줄에 터미널 버튼 표시",
998
+ "settings.general.row.showStatus.title": "서버 상태",
999
+ "settings.general.row.showStatus.description": "제목 표시줄에 서버 상태 버튼 표시",
1000
+ "settings.general.row.mobileTitlebarBottom.title": "하단 탐색",
1001
+ "settings.general.row.mobileTitlebarBottom.description": "모바일에서 제목 표시줄과 세션 탭을 화면 하단에 배치",
1002
+ "settings.general.row.showCustomAgents.title": "사용자 지정 에이전트",
1003
+ "settings.general.row.showCustomAgents.description": "입력창에 에이전트 선택기 표시",
1004
+ "settings.general.row.newInterface.title": "새 레이아웃",
1005
+ "settings.general.row.newInterface.badge": "신규",
1006
+ "settings.general.row.newInterface.description":
1007
+ "새 탭과 홈 화면 레이아웃을 사용합니다. 제한된 기간 동안 레이아웃을 전환할 수 있습니다.",
1008
+ "settings.general.row.newInterfaceNotice.title": "이제 새 레이아웃을 사용 중입니다",
1009
+ "settings.general.row.newInterfaceNotice.description": "이전 레이아웃은 더 이상 사용할 수 없습니다",
1010
+ "settings.general.row.newInterfaceNotice.dismiss": "닫기",
1011
+ "settings.general.row.pinchZoom.title": "핀치 줌",
1012
+ "settings.general.row.pinchZoom.description": "트랙패드 핀치 및 Ctrl-스크롤 제스처로 확대/축소 허용",
1013
+ "settings.updates.action.downloading": "다운로드 중...",
1014
+ "settings.updates.action.installing": "설치 중...",
1015
+ }