@opencode-ai/ui 0.0.0-beta-202606251302

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 (346) hide show
  1. package/LICENSE +21 -0
  2. package/package.json +110 -0
  3. package/src/assets/audio/alert-01.aac +0 -0
  4. package/src/assets/audio/alert-01.mp3 +0 -0
  5. package/src/assets/audio/alert-02.aac +0 -0
  6. package/src/assets/audio/alert-02.mp3 +0 -0
  7. package/src/assets/audio/alert-03.aac +0 -0
  8. package/src/assets/audio/alert-03.mp3 +0 -0
  9. package/src/assets/audio/alert-04.aac +0 -0
  10. package/src/assets/audio/alert-04.mp3 +0 -0
  11. package/src/assets/audio/alert-05.aac +0 -0
  12. package/src/assets/audio/alert-05.mp3 +0 -0
  13. package/src/assets/audio/alert-06.aac +0 -0
  14. package/src/assets/audio/alert-06.mp3 +0 -0
  15. package/src/assets/audio/alert-07.aac +0 -0
  16. package/src/assets/audio/alert-07.mp3 +0 -0
  17. package/src/assets/audio/alert-08.aac +0 -0
  18. package/src/assets/audio/alert-08.mp3 +0 -0
  19. package/src/assets/audio/alert-09.aac +0 -0
  20. package/src/assets/audio/alert-09.mp3 +0 -0
  21. package/src/assets/audio/alert-10.aac +0 -0
  22. package/src/assets/audio/alert-10.mp3 +0 -0
  23. package/src/assets/audio/bip-bop-01.aac +0 -0
  24. package/src/assets/audio/bip-bop-01.mp3 +0 -0
  25. package/src/assets/audio/bip-bop-02.aac +0 -0
  26. package/src/assets/audio/bip-bop-02.mp3 +0 -0
  27. package/src/assets/audio/bip-bop-03.aac +0 -0
  28. package/src/assets/audio/bip-bop-03.mp3 +0 -0
  29. package/src/assets/audio/bip-bop-04.aac +0 -0
  30. package/src/assets/audio/bip-bop-04.mp3 +0 -0
  31. package/src/assets/audio/bip-bop-05.aac +0 -0
  32. package/src/assets/audio/bip-bop-05.mp3 +0 -0
  33. package/src/assets/audio/bip-bop-06.aac +0 -0
  34. package/src/assets/audio/bip-bop-06.mp3 +0 -0
  35. package/src/assets/audio/bip-bop-07.aac +0 -0
  36. package/src/assets/audio/bip-bop-07.mp3 +0 -0
  37. package/src/assets/audio/bip-bop-08.aac +0 -0
  38. package/src/assets/audio/bip-bop-08.mp3 +0 -0
  39. package/src/assets/audio/bip-bop-09.aac +0 -0
  40. package/src/assets/audio/bip-bop-09.mp3 +0 -0
  41. package/src/assets/audio/bip-bop-10.aac +0 -0
  42. package/src/assets/audio/bip-bop-10.mp3 +0 -0
  43. package/src/assets/audio/nope-01.aac +0 -0
  44. package/src/assets/audio/nope-01.mp3 +0 -0
  45. package/src/assets/audio/nope-02.aac +0 -0
  46. package/src/assets/audio/nope-02.mp3 +0 -0
  47. package/src/assets/audio/nope-03.aac +0 -0
  48. package/src/assets/audio/nope-03.mp3 +0 -0
  49. package/src/assets/audio/nope-04.aac +0 -0
  50. package/src/assets/audio/nope-04.mp3 +0 -0
  51. package/src/assets/audio/nope-05.aac +0 -0
  52. package/src/assets/audio/nope-05.mp3 +0 -0
  53. package/src/assets/audio/nope-06.aac +0 -0
  54. package/src/assets/audio/nope-06.mp3 +0 -0
  55. package/src/assets/audio/nope-07.aac +0 -0
  56. package/src/assets/audio/nope-07.mp3 +0 -0
  57. package/src/assets/audio/nope-08.aac +0 -0
  58. package/src/assets/audio/nope-08.mp3 +0 -0
  59. package/src/assets/audio/nope-09.aac +0 -0
  60. package/src/assets/audio/nope-09.mp3 +0 -0
  61. package/src/assets/audio/nope-10.aac +0 -0
  62. package/src/assets/audio/nope-10.mp3 +0 -0
  63. package/src/assets/audio/nope-11.aac +0 -0
  64. package/src/assets/audio/nope-11.mp3 +0 -0
  65. package/src/assets/audio/nope-12.aac +0 -0
  66. package/src/assets/audio/nope-12.mp3 +0 -0
  67. package/src/assets/audio/staplebops-01.aac +0 -0
  68. package/src/assets/audio/staplebops-01.mp3 +0 -0
  69. package/src/assets/audio/staplebops-02.aac +0 -0
  70. package/src/assets/audio/staplebops-02.mp3 +0 -0
  71. package/src/assets/audio/staplebops-03.aac +0 -0
  72. package/src/assets/audio/staplebops-03.mp3 +0 -0
  73. package/src/assets/audio/staplebops-04.aac +0 -0
  74. package/src/assets/audio/staplebops-04.mp3 +0 -0
  75. package/src/assets/audio/staplebops-05.aac +0 -0
  76. package/src/assets/audio/staplebops-05.mp3 +0 -0
  77. package/src/assets/audio/staplebops-06.aac +0 -0
  78. package/src/assets/audio/staplebops-06.mp3 +0 -0
  79. package/src/assets/audio/staplebops-07.aac +0 -0
  80. package/src/assets/audio/staplebops-07.mp3 +0 -0
  81. package/src/assets/audio/yup-01.aac +0 -0
  82. package/src/assets/audio/yup-01.mp3 +0 -0
  83. package/src/assets/audio/yup-02.aac +0 -0
  84. package/src/assets/audio/yup-02.mp3 +0 -0
  85. package/src/assets/audio/yup-03.aac +0 -0
  86. package/src/assets/audio/yup-03.mp3 +0 -0
  87. package/src/assets/audio/yup-04.aac +0 -0
  88. package/src/assets/audio/yup-04.mp3 +0 -0
  89. package/src/assets/audio/yup-05.aac +0 -0
  90. package/src/assets/audio/yup-05.mp3 +0 -0
  91. package/src/assets/audio/yup-06.aac +0 -0
  92. package/src/assets/audio/yup-06.mp3 +0 -0
  93. package/src/assets/fonts/Inter.ttf +0 -0
  94. package/src/assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2 +0 -0
  95. package/src/assets/icons/app/android-studio.svg +369 -0
  96. package/src/assets/icons/app/antigravity.svg +97 -0
  97. package/src/assets/icons/app/cursor.svg +16 -0
  98. package/src/assets/icons/app/file-explorer.svg +20 -0
  99. package/src/assets/icons/app/finder.png +0 -0
  100. package/src/assets/icons/app/ghostty.svg +13 -0
  101. package/src/assets/icons/app/iterm2.svg +13 -0
  102. package/src/assets/icons/app/powershell.svg +14 -0
  103. package/src/assets/icons/app/sublimetext.svg +17 -0
  104. package/src/assets/icons/app/terminal.png +0 -0
  105. package/src/assets/icons/app/textmate.png +0 -0
  106. package/src/assets/icons/app/vscode.svg +39 -0
  107. package/src/assets/icons/app/warp.png +0 -0
  108. package/src/assets/icons/app/xcode.png +0 -0
  109. package/src/assets/icons/app/zed-dark.svg +15 -0
  110. package/src/assets/icons/app/zed.svg +15 -0
  111. package/src/components/accordion.css +123 -0
  112. package/src/components/accordion.tsx +92 -0
  113. package/src/components/animated-number.css +75 -0
  114. package/src/components/animated-number.tsx +109 -0
  115. package/src/components/app-icon.css +5 -0
  116. package/src/components/app-icon.tsx +85 -0
  117. package/src/components/app-icons/sprite.svg +114 -0
  118. package/src/components/app-icons/types.ts +21 -0
  119. package/src/components/avatar.css +49 -0
  120. package/src/components/avatar.tsx +55 -0
  121. package/src/components/button.css +194 -0
  122. package/src/components/button.tsx +33 -0
  123. package/src/components/card.css +94 -0
  124. package/src/components/card.tsx +123 -0
  125. package/src/components/checkbox.css +131 -0
  126. package/src/components/checkbox.tsx +43 -0
  127. package/src/components/collapsible.css +148 -0
  128. package/src/components/collapsible.tsx +48 -0
  129. package/src/components/context-menu.css +134 -0
  130. package/src/components/context-menu.tsx +308 -0
  131. package/src/components/dialog.css +181 -0
  132. package/src/components/dialog.tsx +72 -0
  133. package/src/components/diff-changes.css +42 -0
  134. package/src/components/diff-changes.tsx +115 -0
  135. package/src/components/dock-surface.css +23 -0
  136. package/src/components/dock-surface.tsx +54 -0
  137. package/src/components/dropdown-menu.css +135 -0
  138. package/src/components/dropdown-menu.tsx +308 -0
  139. package/src/components/favicon.tsx +13 -0
  140. package/src/components/file-icon.css +26 -0
  141. package/src/components/file-icon.tsx +588 -0
  142. package/src/components/file-icons/sprite.svg +11707 -0
  143. package/src/components/file-icons/types.ts +1095 -0
  144. package/src/components/font.tsx +1 -0
  145. package/src/components/hover-card.css +61 -0
  146. package/src/components/hover-card.tsx +32 -0
  147. package/src/components/icon-button.css +181 -0
  148. package/src/components/icon-button.tsx +29 -0
  149. package/src/components/icon.css +34 -0
  150. package/src/components/icon.tsx +169 -0
  151. package/src/components/image-preview.css +63 -0
  152. package/src/components/image-preview.tsx +32 -0
  153. package/src/components/inline-input.css +17 -0
  154. package/src/components/inline-input.tsx +22 -0
  155. package/src/components/keybind.css +18 -0
  156. package/src/components/keybind.tsx +20 -0
  157. package/src/components/list.css +331 -0
  158. package/src/components/list.tsx +394 -0
  159. package/src/components/logo.css +4 -0
  160. package/src/components/logo.tsx +62 -0
  161. package/src/components/motion-spring.tsx +58 -0
  162. package/src/components/popover.css +98 -0
  163. package/src/components/popover.tsx +153 -0
  164. package/src/components/progress-circle.css +12 -0
  165. package/src/components/progress-circle.tsx +57 -0
  166. package/src/components/progress.css +63 -0
  167. package/src/components/progress.tsx +39 -0
  168. package/src/components/provider-icon.css +5 -0
  169. package/src/components/provider-icon.tsx +25 -0
  170. package/src/components/provider-icons/sprite.svg +1135 -0
  171. package/src/components/provider-icons/types.ts +105 -0
  172. package/src/components/radio-group.css +187 -0
  173. package/src/components/radio-group.tsx +83 -0
  174. package/src/components/resize-handle.css +58 -0
  175. package/src/components/resize-handle.tsx +82 -0
  176. package/src/components/scroll-view.css +66 -0
  177. package/src/components/scroll-view.tsx +250 -0
  178. package/src/components/select.css +202 -0
  179. package/src/components/select.tsx +174 -0
  180. package/src/components/spinner.css +6 -0
  181. package/src/components/spinner.tsx +52 -0
  182. package/src/components/sticky-accordion-header.css +6 -0
  183. package/src/components/sticky-accordion-header.tsx +18 -0
  184. package/src/components/switch.css +132 -0
  185. package/src/components/switch.tsx +29 -0
  186. package/src/components/tabs.css +635 -0
  187. package/src/components/tabs.tsx +125 -0
  188. package/src/components/tag.css +37 -0
  189. package/src/components/tag.tsx +22 -0
  190. package/src/components/text-field.css +134 -0
  191. package/src/components/text-field.tsx +128 -0
  192. package/src/components/text-reveal.css +150 -0
  193. package/src/components/text-reveal.tsx +143 -0
  194. package/src/components/text-shimmer.css +119 -0
  195. package/src/components/text-shimmer.tsx +62 -0
  196. package/src/components/text-strikethrough.css +27 -0
  197. package/src/components/text-strikethrough.tsx +84 -0
  198. package/src/components/toast.css +236 -0
  199. package/src/components/toast.tsx +185 -0
  200. package/src/components/tooltip.css +74 -0
  201. package/src/components/tooltip.tsx +161 -0
  202. package/src/components/typewriter.css +14 -0
  203. package/src/components/typewriter.tsx +55 -0
  204. package/src/context/dialog.tsx +197 -0
  205. package/src/context/file.tsx +10 -0
  206. package/src/context/helper.tsx +38 -0
  207. package/src/context/i18n.tsx +38 -0
  208. package/src/context/index.ts +4 -0
  209. package/src/context/marked.tsx +522 -0
  210. package/src/context/worker-pool.tsx +20 -0
  211. package/src/custom-elements.d.ts +17 -0
  212. package/src/hooks/create-auto-scroll.tsx +237 -0
  213. package/src/hooks/index.ts +2 -0
  214. package/src/hooks/use-filtered-list.tsx +134 -0
  215. package/src/i18n/ar.ts +168 -0
  216. package/src/i18n/br.ts +168 -0
  217. package/src/i18n/bs.ts +172 -0
  218. package/src/i18n/da.ts +167 -0
  219. package/src/i18n/de.ts +173 -0
  220. package/src/i18n/en.ts +176 -0
  221. package/src/i18n/es.ts +168 -0
  222. package/src/i18n/fr.ts +168 -0
  223. package/src/i18n/ja.ts +167 -0
  224. package/src/i18n/ko.ts +168 -0
  225. package/src/i18n/no.ts +171 -0
  226. package/src/i18n/pl.ts +167 -0
  227. package/src/i18n/ru.ts +167 -0
  228. package/src/i18n/th.ts +169 -0
  229. package/src/i18n/tr.ts +174 -0
  230. package/src/i18n/uk.ts +167 -0
  231. package/src/i18n/zh.ts +171 -0
  232. package/src/i18n/zht.ts +171 -0
  233. package/src/storybook/fixtures.ts +51 -0
  234. package/src/storybook/scaffold.tsx +62 -0
  235. package/src/styles/animations.css +141 -0
  236. package/src/styles/base.css +404 -0
  237. package/src/styles/colors.css +772 -0
  238. package/src/styles/index.css +53 -0
  239. package/src/styles/tailwind/colors.css +285 -0
  240. package/src/styles/tailwind/index.css +78 -0
  241. package/src/styles/tailwind/utilities.css +131 -0
  242. package/src/styles/theme.css +609 -0
  243. package/src/styles/utilities.css +118 -0
  244. package/src/theme/color.ts +299 -0
  245. package/src/theme/context.tsx +370 -0
  246. package/src/theme/default-themes.ts +116 -0
  247. package/src/theme/index.ts +78 -0
  248. package/src/theme/loader.ts +112 -0
  249. package/src/theme/resolve.ts +540 -0
  250. package/src/theme/themes/amoled.json +49 -0
  251. package/src/theme/themes/aura.json +51 -0
  252. package/src/theme/themes/ayu.json +51 -0
  253. package/src/theme/themes/carbonfox.json +53 -0
  254. package/src/theme/themes/catppuccin-frappe.json +85 -0
  255. package/src/theme/themes/catppuccin-macchiato.json +85 -0
  256. package/src/theme/themes/catppuccin.json +45 -0
  257. package/src/theme/themes/cobalt2.json +87 -0
  258. package/src/theme/themes/cursor.json +91 -0
  259. package/src/theme/themes/dracula.json +49 -0
  260. package/src/theme/themes/everforest.json +89 -0
  261. package/src/theme/themes/flexoki.json +86 -0
  262. package/src/theme/themes/github.json +85 -0
  263. package/src/theme/themes/gruvbox.json +45 -0
  264. package/src/theme/themes/kanagawa.json +89 -0
  265. package/src/theme/themes/lucent-orng.json +87 -0
  266. package/src/theme/themes/material.json +87 -0
  267. package/src/theme/themes/matrix.json +113 -0
  268. package/src/theme/themes/mercury.json +86 -0
  269. package/src/theme/themes/monokai.json +49 -0
  270. package/src/theme/themes/nightowl.json +46 -0
  271. package/src/theme/themes/nord.json +46 -0
  272. package/src/theme/themes/oc-2.json +468 -0
  273. package/src/theme/themes/one-dark.json +89 -0
  274. package/src/theme/themes/onedarkpro.json +45 -0
  275. package/src/theme/themes/opencode.json +89 -0
  276. package/src/theme/themes/orng.json +87 -0
  277. package/src/theme/themes/osaka-jade.json +88 -0
  278. package/src/theme/themes/palenight.json +85 -0
  279. package/src/theme/themes/rosepine.json +85 -0
  280. package/src/theme/themes/shadesofpurple.json +51 -0
  281. package/src/theme/themes/solarized.json +49 -0
  282. package/src/theme/themes/synthwave84.json +87 -0
  283. package/src/theme/themes/tokyonight.json +47 -0
  284. package/src/theme/themes/vercel.json +90 -0
  285. package/src/theme/themes/vesper.json +51 -0
  286. package/src/theme/themes/zenburn.json +87 -0
  287. package/src/theme/types.ts +75 -0
  288. package/src/theme/v2/avatar.ts +48 -0
  289. package/src/theme/v2/default-primitives.ts +114 -0
  290. package/src/theme/v2/foreground.ts +60 -0
  291. package/src/theme/v2/mapping.ts +138 -0
  292. package/src/theme/v2/resolve.ts +153 -0
  293. package/src/v2/components/accordion-v2.css +139 -0
  294. package/src/v2/components/accordion-v2.tsx +86 -0
  295. package/src/v2/components/avatar-v2.css +70 -0
  296. package/src/v2/components/avatar-v2.tsx +59 -0
  297. package/src/v2/components/badge-v2.css +27 -0
  298. package/src/v2/components/badge-v2.tsx +20 -0
  299. package/src/v2/components/button-v2.css +186 -0
  300. package/src/v2/components/button-v2.tsx +35 -0
  301. package/src/v2/components/checkbox-v2.css +184 -0
  302. package/src/v2/components/checkbox-v2.tsx +65 -0
  303. package/src/v2/components/dialog-v2.css +150 -0
  304. package/src/v2/components/dialog-v2.tsx +93 -0
  305. package/src/v2/components/diff-changes-v2.css +24 -0
  306. package/src/v2/components/diff-changes-v2.tsx +28 -0
  307. package/src/v2/components/field-v2.css +94 -0
  308. package/src/v2/components/field-v2.tsx +265 -0
  309. package/src/v2/components/icon-button-v2.css +155 -0
  310. package/src/v2/components/icon-button-v2.tsx +37 -0
  311. package/src/v2/components/icon.tsx +129 -0
  312. package/src/v2/components/inline-input-v2.css +218 -0
  313. package/src/v2/components/inline-input-v2.tsx +90 -0
  314. package/src/v2/components/keybind-v2.css +76 -0
  315. package/src/v2/components/keybind-v2.tsx +30 -0
  316. package/src/v2/components/line-comment-v2.css +204 -0
  317. package/src/v2/components/line-comment-v2.tsx +155 -0
  318. package/src/v2/components/menu-v2.css +190 -0
  319. package/src/v2/components/menu-v2.tsx +225 -0
  320. package/src/v2/components/project-avatar-v2.css +126 -0
  321. package/src/v2/components/project-avatar-v2.tsx +64 -0
  322. package/src/v2/components/radio-v2.css +202 -0
  323. package/src/v2/components/radio-v2.tsx +72 -0
  324. package/src/v2/components/segmented-control-v2.css +80 -0
  325. package/src/v2/components/segmented-control-v2.tsx +208 -0
  326. package/src/v2/components/select-v2.css +285 -0
  327. package/src/v2/components/select-v2.tsx +208 -0
  328. package/src/v2/components/switch-v2.css +154 -0
  329. package/src/v2/components/switch-v2.tsx +28 -0
  330. package/src/v2/components/tab-state-indicator.tsx +37 -0
  331. package/src/v2/components/tabs-v2.css +225 -0
  332. package/src/v2/components/tabs-v2.tsx +147 -0
  333. package/src/v2/components/text-input-v2.css +145 -0
  334. package/src/v2/components/text-input-v2.tsx +67 -0
  335. package/src/v2/components/text-shimmer-v2.css +125 -0
  336. package/src/v2/components/text-shimmer-v2.tsx +63 -0
  337. package/src/v2/components/textarea-v2.css +78 -0
  338. package/src/v2/components/textarea-v2.tsx +31 -0
  339. package/src/v2/components/toast-v2.css +215 -0
  340. package/src/v2/components/toast-v2.tsx +144 -0
  341. package/src/v2/components/tooltip-v2.css +53 -0
  342. package/src/v2/components/tooltip-v2.tsx +146 -0
  343. package/src/v2/components/wordmark-v2.tsx +92 -0
  344. package/src/v2/styles/colors.css +172 -0
  345. package/src/v2/styles/tailwind.css +2 -0
  346. package/src/v2/styles/theme.css +441 -0
package/src/i18n/de.ts ADDED
@@ -0,0 +1,173 @@
1
+ import { dict as en } from "./en"
2
+
3
+ type Keys = keyof typeof en
4
+
5
+ export const dict = {
6
+ "ui.sessionReview.title": "Sitzungsänderungen",
7
+ "ui.sessionReview.title.lastTurn": "Änderungen der letzten Runde",
8
+ "ui.sessionReview.diffStyle.unified": "Vereinheitlicht",
9
+ "ui.sessionReview.diffStyle.split": "Geteilt",
10
+ "ui.sessionReview.openFile": "Datei öffnen",
11
+ "ui.sessionReview.selection.line": "Zeile {{line}}",
12
+ "ui.sessionReview.selection.lines": "Zeilen {{start}}-{{end}}",
13
+ "ui.sessionReview.expandAll": "Alle erweitern",
14
+ "ui.sessionReview.collapseAll": "Alle reduzieren",
15
+
16
+ "ui.sessionReview.change.added": "Hinzugefügt",
17
+ "ui.sessionReview.change.removed": "Entfernt",
18
+ "ui.sessionReview.change.modified": "Geändert",
19
+ "ui.sessionReview.image.loading": "Wird geladen...",
20
+ "ui.sessionReview.image.placeholder": "Bild",
21
+ "ui.sessionReview.largeDiff.title": "Diff zu groß zum Rendern",
22
+ "ui.sessionReview.largeDiff.meta": "Limit: {{limit}} geänderte Zeilen. Aktuell: {{current}} geänderte Zeilen.",
23
+ "ui.sessionReview.largeDiff.renderAnyway": "Trotzdem rendern",
24
+ "ui.fileMedia.kind.image": "bild",
25
+ "ui.fileMedia.kind.audio": "audio",
26
+ "ui.fileMedia.state.removed": "{{kind}} entfernt",
27
+ "ui.fileMedia.state.loading": "{{kind}} wird geladen",
28
+ "ui.fileMedia.state.error": "Fehler bei {{kind}}",
29
+ "ui.fileMedia.state.unavailable": "{{kind}} nicht verfügbar",
30
+ "ui.fileMedia.binary.title": "Binärdatei",
31
+ "ui.fileMedia.binary.description.path":
32
+ "{{path}} kann nicht angezeigt werden, da es sich um eine Binärdatei handelt.",
33
+ "ui.fileMedia.binary.description.default":
34
+ "Diese Datei kann nicht angezeigt werden, da es sich um eine Binärdatei handelt.",
35
+ "ui.lineComment.label.prefix": "Kommentar zu ",
36
+ "ui.lineComment.label.suffix": "",
37
+ "ui.lineComment.editorLabel.prefix": "Kommentiere ",
38
+ "ui.lineComment.editorLabel.suffix": "",
39
+ "ui.lineComment.placeholder": "Kommentar hinzufügen",
40
+ "ui.lineComment.submit": "Kommentieren",
41
+ "ui.sessionTurn.steps.show": "Schritte anzeigen",
42
+ "ui.sessionTurn.steps.hide": "Schritte ausblenden",
43
+ "ui.sessionTurn.summary.response": "Antwort",
44
+ "ui.sessionTurn.diff.showMore": "Weitere Änderungen anzeigen ({{count}})",
45
+
46
+ "ui.sessionTurn.retry.retrying": "erneuter Versuch",
47
+ "ui.sessionTurn.retry.inSeconds": "in {{seconds}}s",
48
+ "ui.sessionTurn.retry.attempt": "Versuch #{{attempt}}",
49
+ "ui.sessionTurn.retry.attemptLine": "{{line}} - Versuch #{{attempt}}",
50
+ "ui.sessionTurn.retry.geminiHot": "gemini ist gerade sehr überlastet",
51
+ "ui.sessionTurn.error.freeUsageExceeded": "Kostenloses Nutzungslimit überschritten",
52
+ "ui.sessionTurn.error.addCredits": "Guthaben aufladen",
53
+
54
+ "dialog.usageExceeded.freeTier.title": "Kostenloses Limit erreicht",
55
+ "dialog.usageExceeded.freeTier.description":
56
+ "Abonniere OpenCode Go für zuverlässigen Zugriff auf die besten Open-Source-Modelle, ab $5/Monat.",
57
+ "dialog.usageExceeded.freeTier.actionLabel": "Abonnieren",
58
+ "dialog.usageExceeded.accountRateLimit.title": "Go-Limit erreicht",
59
+ "dialog.usageExceeded.accountRateLimit.description":
60
+ "Nutzungslimit erreicht. Um dieses Modell jetzt weiter zu nutzen, aktiviere die Nutzung über dein verfügbares Guthaben",
61
+ "dialog.usageExceeded.accountRateLimit.actionLabel": "Einstellungen öffnen",
62
+
63
+ "ui.sessionTurn.status.delegating": "Arbeit delegieren",
64
+ "ui.sessionTurn.status.planning": "Nächste Schritte planen",
65
+ "ui.sessionTurn.status.gatheringContext": "Erkunden",
66
+ "ui.sessionTurn.status.gatheredContext": "Erkundet",
67
+ "ui.sessionTurn.status.searchingCodebase": "Codebasis durchsuchen",
68
+ "ui.sessionTurn.status.searchingWeb": "Web durchsuchen",
69
+ "ui.sessionTurn.status.makingEdits": "Änderungen vornehmen",
70
+ "ui.sessionTurn.status.runningCommands": "Befehle ausführen",
71
+ "ui.sessionTurn.status.thinking": "Denken",
72
+ "ui.sessionTurn.status.thinkingWithTopic": "Denken - {{topic}}",
73
+ "ui.sessionTurn.status.gatheringThoughts": "Gedanken sammeln",
74
+ "ui.sessionTurn.status.consideringNextSteps": "Nächste Schritte erwägen",
75
+
76
+ "ui.messagePart.questions.dismissed": "Fragen verworfen",
77
+ "ui.messagePart.compaction": "Sitzung komprimiert",
78
+ "ui.messagePart.context.read.one": "{{count}} Lesevorgang",
79
+ "ui.messagePart.context.read.other": "{{count}} Lesevorgänge",
80
+ "ui.messagePart.context.search.one": "{{count}} Suche",
81
+ "ui.messagePart.context.search.other": "{{count}} Suchen",
82
+ "ui.messagePart.context.list.one": "{{count}} Liste",
83
+ "ui.messagePart.context.list.other": "{{count}} Listen",
84
+ "ui.messagePart.diagnostic.error": "Fehler",
85
+ "ui.messagePart.title.edit": "Bearbeiten",
86
+ "ui.messagePart.title.write": "Schreiben",
87
+ "ui.messagePart.option.typeOwnAnswer": "Eigene Antwort eingeben",
88
+ "ui.messagePart.review.title": "Antworten überprüfen",
89
+
90
+ "ui.list.loading": "Laden",
91
+ "ui.list.empty": "Keine Ergebnisse",
92
+ "ui.list.clearFilter": "Filter löschen",
93
+ "ui.list.emptyWithFilter.prefix": "Keine Ergebnisse für",
94
+ "ui.list.emptyWithFilter.suffix": "",
95
+
96
+ "ui.messageNav.newMessage": "Neue Nachricht",
97
+
98
+ "ui.textField.copyToClipboard": "In die Zwischenablage kopieren",
99
+ "ui.textField.copyLink": "Link kopieren",
100
+ "ui.textField.copied": "Kopiert",
101
+
102
+ "ui.imagePreview.alt": "Bildvorschau",
103
+ "ui.scrollView.ariaLabel": "scrollbarer Inhalt",
104
+
105
+ "ui.tool.read": "Lesen",
106
+ "ui.tool.loaded": "Geladen",
107
+ "ui.tool.list": "Auflisten",
108
+ "ui.tool.glob": "Glob",
109
+ "ui.tool.grep": "Grep",
110
+ "ui.tool.webfetch": "Webabruf",
111
+ "ui.tool.websearch": "Websuche",
112
+ "ui.tool.shell": "Shell",
113
+ "ui.tool.patch": "Patch",
114
+ "ui.tool.todos": "Aufgaben",
115
+ "ui.tool.todos.read": "Aufgaben lesen",
116
+ "ui.tool.questions": "Fragen",
117
+ "ui.tool.agent": "{{type}} Agent",
118
+ "ui.tool.agent.default": "Agent",
119
+
120
+ "ui.common.file.one": "Datei",
121
+ "ui.common.file.other": "Dateien",
122
+ "ui.common.question.one": "Frage",
123
+ "ui.common.question.other": "Fragen",
124
+
125
+ "ui.common.add": "Hinzufügen",
126
+ "ui.common.back": "Zurück",
127
+ "ui.common.cancel": "Abbrechen",
128
+ "ui.common.confirm": "Bestätigen",
129
+ "ui.common.dismiss": "Verwerfen",
130
+ "ui.common.close": "Schließen",
131
+ "ui.common.next": "Weiter",
132
+ "ui.common.submit": "Absenden",
133
+
134
+ "ui.permission.deny": "Verweigern",
135
+ "ui.permission.allowAlways": "Immer erlauben",
136
+ "ui.permission.allowOnce": "Einmal erlauben",
137
+
138
+ "ui.message.expand": "Nachricht erweitern",
139
+ "ui.message.collapse": "Nachricht reduzieren",
140
+ "ui.message.copy": "Kopieren",
141
+ "ui.message.copyMessage": "Nachricht kopieren",
142
+ "ui.message.forkMessage": "In neue Sitzung abzweigen",
143
+ "ui.message.revertMessage": "Auf diesen Punkt zurücksetzen",
144
+ "ui.message.copyResponse": "Antwort kopieren",
145
+ "ui.message.copied": "Kopiert!",
146
+ "ui.message.interrupted": "Unterbrochen",
147
+ "ui.message.queued": "In Warteschlange",
148
+ "ui.message.attachment.alt": "Anhang",
149
+
150
+ "ui.patch.action.deleted": "Gelöscht",
151
+ "ui.patch.action.created": "Erstellt",
152
+ "ui.patch.action.moved": "Verschoben",
153
+ "ui.patch.action.patched": "Gepatched",
154
+
155
+ "ui.question.subtitle.answered": "{{count}} beantwortet",
156
+ "ui.question.answer.none": "(keine Antwort)",
157
+ "ui.question.review.notAnswered": "(nicht beantwortet)",
158
+ "ui.question.multiHint": "Alle zutreffenden auswählen",
159
+ "ui.question.singleHint": "Eine Antwort auswählen",
160
+ "ui.question.custom.placeholder": "Geben Sie Ihre Antwort ein...",
161
+
162
+ "ui.fileSearch.placeholder": "Suchen",
163
+ "ui.fileSearch.previousMatch": "Vorheriges Ergebnis",
164
+ "ui.fileSearch.nextMatch": "Nächstes Ergebnis",
165
+ "ui.fileSearch.close": "Suche schließen",
166
+ "ui.tool.task": "Aufgabe",
167
+ "ui.tool.skill": "Fähigkeit",
168
+ "ui.basicTool.called": "`{{tool}}` aufgerufen",
169
+ "ui.toolErrorCard.failed": "Fehlgeschlagen",
170
+ "ui.toolErrorCard.copyError": "Fehler kopieren",
171
+ "ui.message.duration.seconds": "{{count}}s",
172
+ "ui.message.duration.minutesSeconds": "{{minutes}}m {{seconds}}s",
173
+ } satisfies Partial<Record<Keys, string>>
package/src/i18n/en.ts ADDED
@@ -0,0 +1,176 @@
1
+ export const dict: Record<string, string> = {
2
+ "ui.sessionReview.title": "Session changes",
3
+ "ui.sessionReview.title.git": "Git changes",
4
+ "ui.sessionReview.title.branch": "Branch changes",
5
+ "ui.sessionReview.title.lastTurn": "Last turn changes",
6
+ "ui.sessionReview.diffStyle.unified": "Unified",
7
+ "ui.sessionReview.diffStyle.split": "Split",
8
+ "ui.sessionReview.expandAll": "Expand all",
9
+ "ui.sessionReview.collapseAll": "Collapse all",
10
+ "ui.sessionReview.change.added": "Added",
11
+ "ui.sessionReview.change.removed": "Removed",
12
+ "ui.sessionReview.change.modified": "Modified",
13
+ "ui.sessionReview.image.loading": "Loading...",
14
+ "ui.sessionReview.image.placeholder": "Image",
15
+ "ui.sessionReview.largeDiff.title": "Diff too large to render",
16
+ "ui.sessionReview.largeDiff.meta": "Limit: {{limit}} changed lines. Current: {{current}} changed lines.",
17
+ "ui.sessionReview.largeDiff.renderAnyway": "Render anyway",
18
+ "ui.sessionReview.openFile": "Open file",
19
+ "ui.sessionReview.selection.line": "line {{line}}",
20
+ "ui.sessionReview.selection.lines": "lines {{start}}-{{end}}",
21
+
22
+ "ui.fileMedia.kind.image": "image",
23
+ "ui.fileMedia.kind.audio": "audio",
24
+ "ui.fileMedia.state.removed": "Removed {{kind}} file.",
25
+ "ui.fileMedia.state.loading": "Loading {{kind}}...",
26
+ "ui.fileMedia.state.error": "Unable to load {{kind}}.",
27
+ "ui.fileMedia.state.unavailable": "{{kind}} preview unavailable.",
28
+ "ui.fileMedia.binary.title": "Binary file",
29
+ "ui.fileMedia.binary.description.path": "{{path}} is binary.",
30
+ "ui.fileMedia.binary.description.default": "Binary content",
31
+
32
+ "ui.lineComment.label.prefix": "Comment on ",
33
+ "ui.lineComment.label.suffix": "",
34
+ "ui.lineComment.editorLabel.prefix": "Commenting on ",
35
+ "ui.lineComment.editorLabel.suffix": "",
36
+ "ui.lineComment.placeholder": "Add comment",
37
+ "ui.lineComment.submit": "Comment",
38
+
39
+ "ui.sessionTurn.steps.show": "Show steps",
40
+ "ui.sessionTurn.steps.hide": "Hide steps",
41
+ "ui.sessionTurn.summary.response": "Response",
42
+ "ui.sessionTurn.diff.showMore": "Show more changes ({{count}})",
43
+ "ui.sessionTurn.diffs.changed": "Changed",
44
+ "ui.sessionTurn.diffs.showAll": "Show all",
45
+ "ui.sessionTurn.diffs.showLess": "Show less",
46
+ "ui.sessionTurn.diffs.more": "+{{count}} more files",
47
+
48
+ "ui.sessionTurn.retry.retrying": "retrying",
49
+ "ui.sessionTurn.retry.inSeconds": "in {{seconds}}s",
50
+ "ui.sessionTurn.retry.attempt": "attempt #{{attempt}}",
51
+ "ui.sessionTurn.retry.attemptLine": "{{line}} - attempt #{{attempt}}",
52
+ "ui.sessionTurn.retry.geminiHot": "gemini is way too hot right now",
53
+ "ui.sessionTurn.error.freeUsageExceeded": "Free usage exceeded",
54
+ "ui.sessionTurn.error.addCredits": "Add credits",
55
+
56
+ "dialog.usageExceeded.freeTier.title": "Free limit reached",
57
+ "dialog.usageExceeded.freeTier.description":
58
+ "Subscribe to OpenCode Go for reliable access to the best open-source models, starting at $5/month.",
59
+ "dialog.usageExceeded.freeTier.actionLabel": "Subscribe",
60
+ "dialog.usageExceeded.accountRateLimit.title": "Go limit reached",
61
+ "dialog.usageExceeded.accountRateLimit.description":
62
+ "Usage limit reached. To continue using this model now, enable usage from your available balance",
63
+ "dialog.usageExceeded.accountRateLimit.actionLabel": "Open settings",
64
+
65
+ "ui.sessionTurn.status.delegating": "Delegating work",
66
+ "ui.sessionTurn.status.planning": "Planning next steps",
67
+ "ui.sessionTurn.status.gatheringContext": "Exploring",
68
+ "ui.sessionTurn.status.gatheredContext": "Explored",
69
+ "ui.sessionTurn.status.searchingCodebase": "Searching the codebase",
70
+ "ui.sessionTurn.status.searchingWeb": "Searching the web",
71
+ "ui.sessionTurn.status.makingEdits": "Making edits",
72
+ "ui.sessionTurn.status.runningCommands": "Running commands",
73
+ "ui.sessionTurn.status.thinking": "Thinking",
74
+ "ui.sessionTurn.status.thinkingWithTopic": "Thinking - {{topic}}",
75
+ "ui.sessionTurn.status.gatheringThoughts": "Gathering thoughts",
76
+ "ui.sessionTurn.status.consideringNextSteps": "Considering next steps",
77
+
78
+ "ui.messagePart.diagnostic.error": "Error",
79
+ "ui.messagePart.title.edit": "Edit",
80
+ "ui.messagePart.title.write": "Write",
81
+ "ui.messagePart.option.typeOwnAnswer": "Type your own answer",
82
+ "ui.messagePart.review.title": "Review your answers",
83
+ "ui.messagePart.questions.dismissed": "Questions dismissed",
84
+ "ui.messagePart.compaction": "Session compacted",
85
+ "ui.messagePart.context.read.one": "{{count}} read",
86
+ "ui.messagePart.context.read.other": "{{count}} reads",
87
+ "ui.messagePart.context.search.one": "{{count}} search",
88
+ "ui.messagePart.context.search.other": "{{count}} searches",
89
+ "ui.messagePart.context.list.one": "{{count}} list",
90
+ "ui.messagePart.context.list.other": "{{count}} lists",
91
+
92
+ "ui.list.loading": "Loading",
93
+ "ui.list.empty": "No results",
94
+ "ui.list.clearFilter": "Clear filter",
95
+ "ui.list.emptyWithFilter.prefix": "No results for",
96
+ "ui.list.emptyWithFilter.suffix": "",
97
+
98
+ "ui.fileSearch.placeholder": "Find",
99
+ "ui.fileSearch.previousMatch": "Previous match",
100
+ "ui.fileSearch.nextMatch": "Next match",
101
+ "ui.fileSearch.close": "Close search",
102
+
103
+ "ui.messageNav.newMessage": "New message",
104
+
105
+ "ui.textField.copyToClipboard": "Copy to clipboard",
106
+ "ui.textField.copyLink": "Copy link",
107
+ "ui.textField.copied": "Copied",
108
+
109
+ "ui.imagePreview.alt": "Image preview",
110
+ "ui.scrollView.ariaLabel": "scrollable content",
111
+
112
+ "ui.tool.read": "Read",
113
+ "ui.tool.loaded": "Loaded",
114
+ "ui.tool.list": "List",
115
+ "ui.tool.glob": "Glob",
116
+ "ui.tool.grep": "Grep",
117
+ "ui.tool.task": "Task",
118
+ "ui.tool.webfetch": "Webfetch",
119
+ "ui.tool.websearch": "Web Search",
120
+ "ui.tool.shell": "Shell",
121
+ "ui.tool.patch": "Patch",
122
+ "ui.tool.todos": "To-dos",
123
+ "ui.tool.todos.read": "Read to-dos",
124
+ "ui.tool.questions": "Questions",
125
+ "ui.tool.agent": "{{type}} Agent",
126
+ "ui.tool.agent.default": "Agent",
127
+ "ui.tool.skill": "Skill",
128
+
129
+ "ui.basicTool.called": "Called `{{tool}}`",
130
+ "ui.toolErrorCard.failed": "Failed",
131
+ "ui.toolErrorCard.copyError": "Copy error",
132
+
133
+ "ui.common.file.one": "file",
134
+ "ui.common.file.other": "files",
135
+ "ui.common.question.one": "question",
136
+ "ui.common.question.other": "questions",
137
+
138
+ "ui.common.add": "Add",
139
+ "ui.common.back": "Back",
140
+ "ui.common.cancel": "Cancel",
141
+ "ui.common.confirm": "Confirm",
142
+ "ui.common.dismiss": "Dismiss",
143
+ "ui.common.close": "Close",
144
+ "ui.common.next": "Next",
145
+ "ui.common.submit": "Submit",
146
+
147
+ "ui.permission.deny": "Deny",
148
+ "ui.permission.allowAlways": "Allow always",
149
+ "ui.permission.allowOnce": "Allow once",
150
+
151
+ "ui.message.expand": "Expand message",
152
+ "ui.message.collapse": "Collapse message",
153
+ "ui.message.copy": "Copy",
154
+ "ui.message.copyMessage": "Copy message",
155
+ "ui.message.forkMessage": "Fork to new session",
156
+ "ui.message.revertMessage": "Revert message",
157
+ "ui.message.copyResponse": "Copy response",
158
+ "ui.message.copied": "Copied",
159
+ "ui.message.duration.seconds": "{{count}}s",
160
+ "ui.message.duration.minutesSeconds": "{{minutes}}m {{seconds}}s",
161
+ "ui.message.interrupted": "Interrupted",
162
+ "ui.message.queued": "Queued",
163
+ "ui.message.attachment.alt": "attachment",
164
+
165
+ "ui.patch.action.deleted": "Deleted",
166
+ "ui.patch.action.created": "Created",
167
+ "ui.patch.action.moved": "Moved",
168
+ "ui.patch.action.patched": "Patched",
169
+
170
+ "ui.question.subtitle.answered": "{{count}} answered",
171
+ "ui.question.answer.none": "(no answer)",
172
+ "ui.question.review.notAnswered": "(not answered)",
173
+ "ui.question.multiHint": "Select all answers that apply",
174
+ "ui.question.singleHint": "Select one answer",
175
+ "ui.question.custom.placeholder": "Type your answer...",
176
+ }
package/src/i18n/es.ts ADDED
@@ -0,0 +1,168 @@
1
+ export const dict = {
2
+ "ui.sessionReview.title": "Cambios de la sesión",
3
+ "ui.sessionReview.title.lastTurn": "Cambios del último turno",
4
+ "ui.sessionReview.diffStyle.unified": "Unificado",
5
+ "ui.sessionReview.diffStyle.split": "Dividido",
6
+ "ui.sessionReview.openFile": "Abrir archivo",
7
+ "ui.sessionReview.selection.line": "línea {{line}}",
8
+ "ui.sessionReview.selection.lines": "líneas {{start}}-{{end}}",
9
+ "ui.sessionReview.expandAll": "Expandir todo",
10
+ "ui.sessionReview.collapseAll": "Colapsar todo",
11
+ "ui.sessionReview.change.added": "Añadido",
12
+ "ui.sessionReview.change.removed": "Eliminado",
13
+ "ui.sessionReview.change.modified": "Modificado",
14
+ "ui.sessionReview.image.loading": "Cargando...",
15
+ "ui.sessionReview.image.placeholder": "Imagen",
16
+ "ui.sessionReview.largeDiff.title": "Diff demasiado grande para renderizar",
17
+ "ui.sessionReview.largeDiff.meta": "Límite: {{limit}} líneas modificadas. Actual: {{current}} líneas modificadas.",
18
+ "ui.sessionReview.largeDiff.renderAnyway": "Renderizar de todos modos",
19
+ "ui.fileMedia.kind.image": "imagen",
20
+ "ui.fileMedia.kind.audio": "audio",
21
+ "ui.fileMedia.state.removed": "Archivo de {{kind}} eliminado",
22
+ "ui.fileMedia.state.loading": "Cargando archivo de {{kind}}",
23
+ "ui.fileMedia.state.error": "Error en el archivo de {{kind}}",
24
+ "ui.fileMedia.state.unavailable": "Archivo de {{kind}} no disponible",
25
+ "ui.fileMedia.binary.title": "Archivo binario",
26
+ "ui.fileMedia.binary.description.path": "No se puede mostrar {{path}} porque es un archivo binario.",
27
+ "ui.fileMedia.binary.description.default": "No se puede mostrar este archivo porque es un archivo binario.",
28
+
29
+ "ui.lineComment.label.prefix": "Comentar en ",
30
+ "ui.lineComment.label.suffix": "",
31
+ "ui.lineComment.editorLabel.prefix": "Comentando en ",
32
+ "ui.lineComment.editorLabel.suffix": "",
33
+ "ui.lineComment.placeholder": "Añadir comentario",
34
+ "ui.lineComment.submit": "Comentar",
35
+
36
+ "ui.sessionTurn.steps.show": "Mostrar pasos",
37
+ "ui.sessionTurn.steps.hide": "Ocultar pasos",
38
+ "ui.sessionTurn.summary.response": "Respuesta",
39
+ "ui.sessionTurn.diff.showMore": "Mostrar más cambios ({{count}})",
40
+
41
+ "ui.sessionTurn.retry.retrying": "reintentando",
42
+ "ui.sessionTurn.retry.inSeconds": "en {{seconds}}s",
43
+ "ui.sessionTurn.retry.attempt": "intento #{{attempt}}",
44
+ "ui.sessionTurn.retry.attemptLine": "{{line}} - intento #{{attempt}}",
45
+ "ui.sessionTurn.retry.geminiHot": "gemini está demasiado saturado",
46
+ "ui.sessionTurn.error.freeUsageExceeded": "Límite de uso gratuito excedido",
47
+ "ui.sessionTurn.error.addCredits": "Añadir créditos",
48
+
49
+ "dialog.usageExceeded.freeTier.title": "Límite gratuito alcanzado",
50
+ "dialog.usageExceeded.freeTier.description":
51
+ "Suscríbete a OpenCode Go para acceso fiable a los mejores modelos de código abierto, desde $5/mes.",
52
+ "dialog.usageExceeded.freeTier.actionLabel": "Suscribirse",
53
+ "dialog.usageExceeded.accountRateLimit.title": "Límite de Go alcanzado",
54
+ "dialog.usageExceeded.accountRateLimit.description":
55
+ "Límite de uso alcanzado. Para seguir usando este modelo ahora, habilita el uso desde tu saldo disponible",
56
+ "dialog.usageExceeded.accountRateLimit.actionLabel": "Abrir configuración",
57
+
58
+ "ui.sessionTurn.status.delegating": "Delegando trabajo",
59
+ "ui.sessionTurn.status.planning": "Planificando siguientes pasos",
60
+ "ui.sessionTurn.status.gatheringContext": "Explorando",
61
+ "ui.sessionTurn.status.gatheredContext": "Explorado",
62
+ "ui.sessionTurn.status.searchingCodebase": "Buscando en la base de código",
63
+ "ui.sessionTurn.status.searchingWeb": "Buscando en la web",
64
+ "ui.sessionTurn.status.makingEdits": "Realizando ediciones",
65
+ "ui.sessionTurn.status.runningCommands": "Ejecutando comandos",
66
+ "ui.sessionTurn.status.thinking": "Pensando",
67
+ "ui.sessionTurn.status.thinkingWithTopic": "Pensando - {{topic}}",
68
+ "ui.sessionTurn.status.gatheringThoughts": "Recopilando pensamientos",
69
+ "ui.sessionTurn.status.consideringNextSteps": "Considerando siguientes pasos",
70
+
71
+ "ui.messagePart.questions.dismissed": "Preguntas descartadas",
72
+ "ui.messagePart.compaction": "Sesión compactada",
73
+ "ui.messagePart.context.read.one": "{{count}} lectura",
74
+ "ui.messagePart.context.read.other": "{{count}} lecturas",
75
+ "ui.messagePart.context.search.one": "{{count}} búsqueda",
76
+ "ui.messagePart.context.search.other": "{{count}} búsquedas",
77
+ "ui.messagePart.context.list.one": "{{count}} lista",
78
+ "ui.messagePart.context.list.other": "{{count}} listas",
79
+ "ui.messagePart.diagnostic.error": "Error",
80
+ "ui.messagePart.title.edit": "Editar",
81
+ "ui.messagePart.title.write": "Escribir",
82
+ "ui.messagePart.option.typeOwnAnswer": "Escribe tu propia respuesta",
83
+ "ui.messagePart.review.title": "Revisa tus respuestas",
84
+
85
+ "ui.list.loading": "Cargando",
86
+ "ui.list.empty": "Sin resultados",
87
+ "ui.list.clearFilter": "Borrar filtro",
88
+ "ui.list.emptyWithFilter.prefix": "Sin resultados para",
89
+ "ui.list.emptyWithFilter.suffix": "",
90
+
91
+ "ui.messageNav.newMessage": "Nuevo mensaje",
92
+
93
+ "ui.textField.copyToClipboard": "Copiar al portapapeles",
94
+ "ui.textField.copyLink": "Copiar enlace",
95
+ "ui.textField.copied": "Copiado",
96
+
97
+ "ui.imagePreview.alt": "Vista previa de imagen",
98
+ "ui.scrollView.ariaLabel": "contenido desplazable",
99
+
100
+ "ui.tool.read": "Leer",
101
+ "ui.tool.loaded": "Cargado",
102
+ "ui.tool.list": "Listar",
103
+ "ui.tool.glob": "Glob",
104
+ "ui.tool.grep": "Grep",
105
+ "ui.tool.webfetch": "Webfetch",
106
+ "ui.tool.websearch": "Búsqueda web",
107
+ "ui.tool.shell": "Shell",
108
+ "ui.tool.patch": "Parche",
109
+ "ui.tool.todos": "Tareas",
110
+ "ui.tool.todos.read": "Leer tareas",
111
+ "ui.tool.questions": "Preguntas",
112
+ "ui.tool.agent": "Agente {{type}}",
113
+ "ui.tool.agent.default": "Agente",
114
+
115
+ "ui.common.file.one": "archivo",
116
+ "ui.common.file.other": "archivos",
117
+ "ui.common.question.one": "pregunta",
118
+ "ui.common.question.other": "preguntas",
119
+
120
+ "ui.common.add": "Añadir",
121
+ "ui.common.back": "Atrás",
122
+ "ui.common.cancel": "Cancelar",
123
+ "ui.common.confirm": "Confirmar",
124
+ "ui.common.dismiss": "Descartar",
125
+ "ui.common.close": "Cerrar",
126
+ "ui.common.next": "Siguiente",
127
+ "ui.common.submit": "Enviar",
128
+
129
+ "ui.permission.deny": "Denegar",
130
+ "ui.permission.allowAlways": "Permitir siempre",
131
+ "ui.permission.allowOnce": "Permitir una vez",
132
+
133
+ "ui.message.expand": "Expandir mensaje",
134
+ "ui.message.collapse": "Colapsar mensaje",
135
+ "ui.message.copy": "Copiar",
136
+ "ui.message.copyMessage": "Copiar mensaje",
137
+ "ui.message.forkMessage": "Bifurcar a nueva sesión",
138
+ "ui.message.revertMessage": "Restablecer a este punto",
139
+ "ui.message.copyResponse": "Copiar respuesta",
140
+ "ui.message.copied": "¡Copiado!",
141
+ "ui.message.interrupted": "Interrumpido",
142
+ "ui.message.queued": "En cola",
143
+ "ui.message.attachment.alt": "adjunto",
144
+
145
+ "ui.patch.action.deleted": "Eliminado",
146
+ "ui.patch.action.created": "Creado",
147
+ "ui.patch.action.moved": "Movido",
148
+ "ui.patch.action.patched": "Parcheado",
149
+
150
+ "ui.question.subtitle.answered": "{{count}} respondidas",
151
+ "ui.question.answer.none": "(sin respuesta)",
152
+ "ui.question.review.notAnswered": "(no respondida)",
153
+ "ui.question.multiHint": "Selecciona todas las que correspondan",
154
+ "ui.question.singleHint": "Selecciona una respuesta",
155
+ "ui.question.custom.placeholder": "Escribe tu respuesta...",
156
+
157
+ "ui.fileSearch.placeholder": "Buscar",
158
+ "ui.fileSearch.previousMatch": "Anterior",
159
+ "ui.fileSearch.nextMatch": "Siguiente",
160
+ "ui.fileSearch.close": "Cerrar búsqueda",
161
+ "ui.tool.task": "Tarea",
162
+ "ui.tool.skill": "Habilidad",
163
+ "ui.basicTool.called": "Llamado `{{tool}}`",
164
+ "ui.toolErrorCard.failed": "Falló",
165
+ "ui.toolErrorCard.copyError": "Copiar error",
166
+ "ui.message.duration.seconds": "{{count}}s",
167
+ "ui.message.duration.minutesSeconds": "{{minutes}}m {{seconds}}s",
168
+ }