@agent-native/core 0.75.5 → 0.76.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +48 -0
  3. package/corpus/core/docs/AGENTS.md +1 -0
  4. package/corpus/core/docs/content/client.md +15 -0
  5. package/corpus/core/docs/content/internationalization.md +145 -0
  6. package/corpus/core/docs/content/locales/ar-SA/internationalization.md +102 -0
  7. package/corpus/core/docs/content/locales/de-DE/internationalization.md +102 -0
  8. package/corpus/core/docs/content/locales/es-ES/internationalization.md +102 -0
  9. package/corpus/core/docs/content/locales/fr-FR/internationalization.md +102 -0
  10. package/corpus/core/docs/content/locales/hi-IN/internationalization.md +102 -0
  11. package/corpus/core/docs/content/locales/ja-JP/internationalization.md +114 -0
  12. package/corpus/core/docs/content/locales/ko-KR/internationalization.md +102 -0
  13. package/corpus/core/docs/content/locales/pt-BR/internationalization.md +102 -0
  14. package/corpus/core/docs/content/locales/zh-CN/internationalization.md +102 -0
  15. package/corpus/core/docs/content/skills-guide.md +19 -18
  16. package/corpus/core/package.json +7 -1
  17. package/corpus/core/src/agent/durable-background.ts +38 -2
  18. package/corpus/core/src/agent/production-agent.ts +54 -0
  19. package/corpus/core/src/agent/run-manager.ts +27 -0
  20. package/corpus/core/src/agent/run-store.ts +185 -4
  21. package/corpus/core/src/client/CommandMenu.tsx +16 -0
  22. package/corpus/core/src/client/app-providers.tsx +26 -1
  23. package/corpus/core/src/client/i18n.tsx +605 -0
  24. package/corpus/core/src/client/index.ts +28 -0
  25. package/corpus/core/src/index.browser.ts +25 -0
  26. package/corpus/core/src/localization/actions/get-localization-preference.ts +23 -0
  27. package/corpus/core/src/localization/actions/set-localization-preference.ts +30 -0
  28. package/corpus/core/src/localization/index.ts +2 -0
  29. package/corpus/core/src/localization/server.ts +131 -0
  30. package/corpus/core/src/localization/shared.ts +163 -0
  31. package/corpus/core/src/server/action-discovery.ts +8 -0
  32. package/corpus/core/src/server/agent-chat-plugin.ts +71 -0
  33. package/corpus/core/src/server/auth.ts +13 -0
  34. package/corpus/core/src/server/index.ts +8 -0
  35. package/corpus/core/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +5 -0
  36. package/corpus/core/src/templates/default/.agents/skills/internationalization/SKILL.md +77 -0
  37. package/corpus/core/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +6 -0
  38. package/corpus/core/src/templates/default/AGENTS.md +16 -15
  39. package/corpus/core/src/templates/default/app/i18n/en-US.ts +29 -0
  40. package/corpus/core/src/templates/default/app/i18n/index.ts +13 -0
  41. package/corpus/core/src/templates/default/app/root.tsx +20 -1
  42. package/corpus/core/src/templates/default/app/routes/_index.tsx +24 -9
  43. package/corpus/core/src/templates/default/app/routes/settings.tsx +67 -0
  44. package/corpus/core/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +5 -0
  45. package/corpus/core/src/templates/workspace-core/.agents/skills/internationalization/SKILL.md +77 -0
  46. package/corpus/core/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +6 -0
  47. package/corpus/core/src/vite/action-types-plugin.ts +10 -0
  48. package/corpus/templates/analytics/.agents/skills/self-modifying-code/SKILL.md +6 -0
  49. package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +12 -12
  50. package/corpus/templates/analytics/app/components/layout/Header.tsx +18 -15
  51. package/corpus/templates/analytics/app/components/layout/Layout.tsx +7 -5
  52. package/corpus/templates/analytics/app/components/layout/MobileNav.tsx +9 -3
  53. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +28 -26
  54. package/corpus/templates/analytics/app/i18n/ar-SA.ts +3 -0
  55. package/corpus/templates/analytics/app/i18n/de-DE.ts +3 -0
  56. package/corpus/templates/analytics/app/i18n/en-US.ts +3 -0
  57. package/corpus/templates/analytics/app/i18n/es-ES.ts +3 -0
  58. package/corpus/templates/analytics/app/i18n/fr-FR.ts +3 -0
  59. package/corpus/templates/analytics/app/i18n/hi-IN.ts +3 -0
  60. package/corpus/templates/analytics/app/i18n/index.ts +31 -0
  61. package/corpus/templates/analytics/app/i18n/ja-JP.ts +3 -0
  62. package/corpus/templates/analytics/app/i18n/ko-KR.ts +3 -0
  63. package/corpus/templates/analytics/app/i18n/pt-BR.ts +3 -0
  64. package/corpus/templates/analytics/app/i18n/zh-CN.ts +3 -0
  65. package/corpus/templates/analytics/app/i18n-data.ts +433 -0
  66. package/corpus/templates/analytics/app/pages/Settings.tsx +50 -16
  67. package/corpus/templates/analytics/app/pages/analyses/AnalysesList.tsx +2 -2
  68. package/corpus/templates/analytics/app/root.tsx +14 -1
  69. package/corpus/templates/analytics/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  70. package/corpus/templates/analytics/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  71. package/corpus/templates/assets/.agents/skills/self-modifying-code/SKILL.md +6 -0
  72. package/corpus/templates/assets/app/components/layout/Header.tsx +17 -8
  73. package/corpus/templates/assets/app/components/layout/Layout.tsx +10 -6
  74. package/corpus/templates/assets/app/components/layout/Sidebar.tsx +40 -23
  75. package/corpus/templates/assets/app/i18n/ar-SA.ts +3 -0
  76. package/corpus/templates/assets/app/i18n/de-DE.ts +3 -0
  77. package/corpus/templates/assets/app/i18n/en-US.ts +3 -0
  78. package/corpus/templates/assets/app/i18n/es-ES.ts +3 -0
  79. package/corpus/templates/assets/app/i18n/fr-FR.ts +3 -0
  80. package/corpus/templates/assets/app/i18n/hi-IN.ts +3 -0
  81. package/corpus/templates/assets/app/i18n/index.ts +31 -0
  82. package/corpus/templates/assets/app/i18n/ja-JP.ts +3 -0
  83. package/corpus/templates/assets/app/i18n/ko-KR.ts +3 -0
  84. package/corpus/templates/assets/app/i18n/pt-BR.ts +3 -0
  85. package/corpus/templates/assets/app/i18n/zh-CN.ts +3 -0
  86. package/corpus/templates/assets/app/i18n-data.ts +668 -0
  87. package/corpus/templates/assets/app/root.tsx +40 -15
  88. package/corpus/templates/assets/app/routes/_index.tsx +9 -10
  89. package/corpus/templates/assets/app/routes/settings.tsx +37 -6
  90. package/corpus/templates/assets/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  91. package/corpus/templates/assets/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  92. package/corpus/templates/brain/.agents/skills/adding-a-feature/SKILL.md +5 -0
  93. package/corpus/templates/brain/.agents/skills/self-modifying-code/SKILL.md +6 -0
  94. package/corpus/templates/brain/app/components/layout/Layout.tsx +12 -8
  95. package/corpus/templates/brain/app/components/layout/Sidebar.tsx +23 -12
  96. package/corpus/templates/brain/app/i18n/ar-SA.ts +3 -0
  97. package/corpus/templates/brain/app/i18n/de-DE.ts +3 -0
  98. package/corpus/templates/brain/app/i18n/en-US.ts +3 -0
  99. package/corpus/templates/brain/app/i18n/es-ES.ts +3 -0
  100. package/corpus/templates/brain/app/i18n/fr-FR.ts +3 -0
  101. package/corpus/templates/brain/app/i18n/hi-IN.ts +3 -0
  102. package/corpus/templates/brain/app/i18n/index.ts +31 -0
  103. package/corpus/templates/brain/app/i18n/ja-JP.ts +3 -0
  104. package/corpus/templates/brain/app/i18n/ko-KR.ts +3 -0
  105. package/corpus/templates/brain/app/i18n/pt-BR.ts +3 -0
  106. package/corpus/templates/brain/app/i18n/zh-CN.ts +3 -0
  107. package/corpus/templates/brain/app/i18n-data.ts +624 -0
  108. package/corpus/templates/brain/app/root.tsx +27 -12
  109. package/corpus/templates/brain/app/routes/knowledge.tsx +6 -6
  110. package/corpus/templates/brain/app/routes/ops.tsx +4 -4
  111. package/corpus/templates/brain/app/routes/search.tsx +4 -4
  112. package/corpus/templates/brain/app/routes/settings.tsx +48 -11
  113. package/corpus/templates/brain/app/routes/sources.tsx +3 -3
  114. package/corpus/templates/brain/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  115. package/corpus/templates/brain/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  116. package/corpus/templates/calendar/.agents/skills/self-modifying-code/SKILL.md +6 -0
  117. package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +2 -0
  118. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +16 -9
  119. package/corpus/templates/calendar/app/i18n/ar-SA.ts +57 -0
  120. package/corpus/templates/calendar/app/i18n/de-DE.ts +58 -0
  121. package/corpus/templates/calendar/app/i18n/en-US.ts +57 -0
  122. package/corpus/templates/calendar/app/i18n/es-ES.ts +58 -0
  123. package/corpus/templates/calendar/app/i18n/fr-FR.ts +58 -0
  124. package/corpus/templates/calendar/app/i18n/hi-IN.ts +57 -0
  125. package/corpus/templates/calendar/app/i18n/index.ts +31 -0
  126. package/corpus/templates/calendar/app/i18n/ja-JP.ts +58 -0
  127. package/corpus/templates/calendar/app/i18n/ko-KR.ts +57 -0
  128. package/corpus/templates/calendar/app/i18n/pt-BR.ts +57 -0
  129. package/corpus/templates/calendar/app/i18n/zh-CN.ts +57 -0
  130. package/corpus/templates/calendar/app/i18n-data.ts +516 -0
  131. package/corpus/templates/calendar/app/pages/CalendarView.tsx +2 -0
  132. package/corpus/templates/calendar/app/pages/Settings.tsx +63 -28
  133. package/corpus/templates/calendar/app/root.tsx +78 -7
  134. package/corpus/templates/calendar/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  135. package/corpus/templates/calendar/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  136. package/corpus/templates/chat/.agents/skills/adding-a-feature/SKILL.md +5 -0
  137. package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +6 -0
  138. package/corpus/templates/chat/app/components/layout/Header.tsx +17 -11
  139. package/corpus/templates/chat/app/components/layout/Layout.tsx +12 -8
  140. package/corpus/templates/chat/app/components/layout/Sidebar.tsx +47 -18
  141. package/corpus/templates/chat/app/i18n/ar-SA.ts +62 -0
  142. package/corpus/templates/chat/app/i18n/de-DE.ts +63 -0
  143. package/corpus/templates/chat/app/i18n/en-US.ts +63 -0
  144. package/corpus/templates/chat/app/i18n/es-ES.ts +63 -0
  145. package/corpus/templates/chat/app/i18n/fr-FR.ts +63 -0
  146. package/corpus/templates/chat/app/i18n/hi-IN.ts +63 -0
  147. package/corpus/templates/chat/app/i18n/index.ts +31 -0
  148. package/corpus/templates/chat/app/i18n/ja-JP.ts +63 -0
  149. package/corpus/templates/chat/app/i18n/ko-KR.ts +63 -0
  150. package/corpus/templates/chat/app/i18n/pt-BR.ts +63 -0
  151. package/corpus/templates/chat/app/i18n/zh-CN.ts +61 -0
  152. package/corpus/templates/chat/app/i18n-data.ts +475 -0
  153. package/corpus/templates/chat/app/root.tsx +18 -5
  154. package/corpus/templates/chat/app/routes/_index.tsx +9 -8
  155. package/corpus/templates/chat/app/routes/settings.tsx +86 -0
  156. package/corpus/templates/chat/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  157. package/corpus/templates/chat/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  158. package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +6 -0
  159. package/corpus/templates/clips/app/components/layout/Header.tsx +23 -17
  160. package/corpus/templates/clips/app/components/library/empty-state.tsx +10 -34
  161. package/corpus/templates/clips/app/components/library/library-layout.tsx +45 -34
  162. package/corpus/templates/clips/app/i18n/ar-SA.ts +182 -0
  163. package/corpus/templates/clips/app/i18n/de-DE.ts +184 -0
  164. package/corpus/templates/clips/app/i18n/en-US.ts +179 -0
  165. package/corpus/templates/clips/app/i18n/es-ES.ts +183 -0
  166. package/corpus/templates/clips/app/i18n/fr-FR.ts +184 -0
  167. package/corpus/templates/clips/app/i18n/hi-IN.ts +180 -0
  168. package/corpus/templates/clips/app/i18n/index.ts +41 -0
  169. package/corpus/templates/clips/app/i18n/ja-JP.ts +180 -0
  170. package/corpus/templates/clips/app/i18n/ko-KR.ts +178 -0
  171. package/corpus/templates/clips/app/i18n/pt-BR.ts +183 -0
  172. package/corpus/templates/clips/app/i18n/zh-CN.ts +173 -0
  173. package/corpus/templates/clips/app/root.tsx +104 -10
  174. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +154 -95
  175. package/corpus/templates/clips/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  176. package/corpus/templates/clips/changelog/2026-06-24-clips-now-includes-a-language-picker-and-simplified-chinese-ui.md +6 -0
  177. package/corpus/templates/clips/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  178. package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +6 -0
  179. package/corpus/templates/content/app/components/EmptyState.tsx +7 -5
  180. package/corpus/templates/content/app/components/ThemeToggle.tsx +4 -2
  181. package/corpus/templates/content/app/components/layout/Header.tsx +2 -0
  182. package/corpus/templates/content/app/components/layout/Layout.tsx +8 -7
  183. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +41 -1
  184. package/corpus/templates/content/app/i18n/ar-SA.ts +3 -0
  185. package/corpus/templates/content/app/i18n/de-DE.ts +3 -0
  186. package/corpus/templates/content/app/i18n/en-US.ts +3 -0
  187. package/corpus/templates/content/app/i18n/es-ES.ts +3 -0
  188. package/corpus/templates/content/app/i18n/fr-FR.ts +3 -0
  189. package/corpus/templates/content/app/i18n/hi-IN.ts +3 -0
  190. package/corpus/templates/content/app/i18n/index.ts +31 -0
  191. package/corpus/templates/content/app/i18n/ja-JP.ts +3 -0
  192. package/corpus/templates/content/app/i18n/ko-KR.ts +3 -0
  193. package/corpus/templates/content/app/i18n/pt-BR.ts +3 -0
  194. package/corpus/templates/content/app/i18n/zh-CN.ts +3 -0
  195. package/corpus/templates/content/app/i18n-data.ts +490 -0
  196. package/corpus/templates/content/app/root.tsx +110 -23
  197. package/corpus/templates/content/app/routes/_app.settings.tsx +84 -0
  198. package/corpus/templates/content/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  199. package/corpus/templates/content/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  200. package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +6 -0
  201. package/corpus/templates/design/app/components/layout/Header.tsx +16 -8
  202. package/corpus/templates/design/app/components/layout/Layout.tsx +8 -6
  203. package/corpus/templates/design/app/components/layout/Sidebar.tsx +25 -9
  204. package/corpus/templates/design/app/i18n/ar-SA.ts +3 -0
  205. package/corpus/templates/design/app/i18n/de-DE.ts +3 -0
  206. package/corpus/templates/design/app/i18n/en-US.ts +3 -0
  207. package/corpus/templates/design/app/i18n/es-ES.ts +3 -0
  208. package/corpus/templates/design/app/i18n/fr-FR.ts +3 -0
  209. package/corpus/templates/design/app/i18n/hi-IN.ts +3 -0
  210. package/corpus/templates/design/app/i18n/index.ts +31 -0
  211. package/corpus/templates/design/app/i18n/ja-JP.ts +3 -0
  212. package/corpus/templates/design/app/i18n/ko-KR.ts +3 -0
  213. package/corpus/templates/design/app/i18n/pt-BR.ts +3 -0
  214. package/corpus/templates/design/app/i18n/zh-CN.ts +3 -0
  215. package/corpus/templates/design/app/i18n-data.ts +350 -0
  216. package/corpus/templates/design/app/root.tsx +40 -15
  217. package/corpus/templates/design/app/routes/settings.tsx +43 -0
  218. package/corpus/templates/design/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  219. package/corpus/templates/design/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  220. package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +6 -0
  221. package/corpus/templates/dispatch/app/i18n/ar-SA.ts +3 -0
  222. package/corpus/templates/dispatch/app/i18n/de-DE.ts +3 -0
  223. package/corpus/templates/dispatch/app/i18n/en-US.ts +3 -0
  224. package/corpus/templates/dispatch/app/i18n/es-ES.ts +3 -0
  225. package/corpus/templates/dispatch/app/i18n/fr-FR.ts +3 -0
  226. package/corpus/templates/dispatch/app/i18n/hi-IN.ts +3 -0
  227. package/corpus/templates/dispatch/app/i18n/index.ts +31 -0
  228. package/corpus/templates/dispatch/app/i18n/ja-JP.ts +3 -0
  229. package/corpus/templates/dispatch/app/i18n/ko-KR.ts +3 -0
  230. package/corpus/templates/dispatch/app/i18n/pt-BR.ts +3 -0
  231. package/corpus/templates/dispatch/app/i18n/zh-CN.ts +3 -0
  232. package/corpus/templates/dispatch/app/i18n-data.ts +267 -0
  233. package/corpus/templates/dispatch/app/root.tsx +18 -4
  234. package/corpus/templates/dispatch/app/routes/settings.tsx +86 -0
  235. package/corpus/templates/dispatch/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  236. package/corpus/templates/dispatch/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  237. package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +6 -0
  238. package/corpus/templates/forms/app/components/layout/Header.tsx +16 -9
  239. package/corpus/templates/forms/app/components/layout/Layout.tsx +6 -4
  240. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +34 -17
  241. package/corpus/templates/forms/app/i18n/ar-SA.ts +58 -0
  242. package/corpus/templates/forms/app/i18n/de-DE.ts +59 -0
  243. package/corpus/templates/forms/app/i18n/en-US.ts +59 -0
  244. package/corpus/templates/forms/app/i18n/es-ES.ts +59 -0
  245. package/corpus/templates/forms/app/i18n/fr-FR.ts +59 -0
  246. package/corpus/templates/forms/app/i18n/hi-IN.ts +59 -0
  247. package/corpus/templates/forms/app/i18n/index.ts +31 -0
  248. package/corpus/templates/forms/app/i18n/ja-JP.ts +59 -0
  249. package/corpus/templates/forms/app/i18n/ko-KR.ts +59 -0
  250. package/corpus/templates/forms/app/i18n/pt-BR.ts +59 -0
  251. package/corpus/templates/forms/app/i18n/zh-CN.ts +56 -0
  252. package/corpus/templates/forms/app/root.tsx +65 -16
  253. package/corpus/templates/forms/app/routes/_app.settings.tsx +85 -0
  254. package/corpus/templates/forms/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  255. package/corpus/templates/forms/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  256. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +29 -17
  257. package/corpus/templates/macros/app/components/layout/Header.tsx +16 -10
  258. package/corpus/templates/macros/app/i18n/ar-SA.ts +54 -0
  259. package/corpus/templates/macros/app/i18n/de-DE.ts +55 -0
  260. package/corpus/templates/macros/app/i18n/en-US.ts +55 -0
  261. package/corpus/templates/macros/app/i18n/es-ES.ts +55 -0
  262. package/corpus/templates/macros/app/i18n/fr-FR.ts +55 -0
  263. package/corpus/templates/macros/app/i18n/hi-IN.ts +55 -0
  264. package/corpus/templates/macros/app/i18n/index.ts +31 -0
  265. package/corpus/templates/macros/app/i18n/ja-JP.ts +55 -0
  266. package/corpus/templates/macros/app/i18n/ko-KR.ts +55 -0
  267. package/corpus/templates/macros/app/i18n/pt-BR.ts +55 -0
  268. package/corpus/templates/macros/app/i18n/zh-CN.ts +53 -0
  269. package/corpus/templates/macros/app/root.tsx +65 -15
  270. package/corpus/templates/macros/app/routes/settings.tsx +85 -0
  271. package/corpus/templates/macros/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  272. package/corpus/templates/macros/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  273. package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +6 -0
  274. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +9 -4
  275. package/corpus/templates/mail/app/i18n/ar-SA.ts +33 -0
  276. package/corpus/templates/mail/app/i18n/de-DE.ts +33 -0
  277. package/corpus/templates/mail/app/i18n/en-US.ts +32 -0
  278. package/corpus/templates/mail/app/i18n/es-ES.ts +33 -0
  279. package/corpus/templates/mail/app/i18n/fr-FR.ts +33 -0
  280. package/corpus/templates/mail/app/i18n/hi-IN.ts +32 -0
  281. package/corpus/templates/mail/app/i18n/index.ts +31 -0
  282. package/corpus/templates/mail/app/i18n/ja-JP.ts +32 -0
  283. package/corpus/templates/mail/app/i18n/ko-KR.ts +33 -0
  284. package/corpus/templates/mail/app/i18n/pt-BR.ts +34 -0
  285. package/corpus/templates/mail/app/i18n/zh-CN.ts +32 -0
  286. package/corpus/templates/mail/app/pages/SettingsPage.tsx +67 -13
  287. package/corpus/templates/mail/app/root.tsx +20 -0
  288. package/corpus/templates/mail/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  289. package/corpus/templates/mail/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  290. package/corpus/templates/plan/.agents/skills/adding-a-feature/SKILL.md +5 -0
  291. package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +6 -0
  292. package/corpus/templates/plan/app/components/layout/Header.tsx +19 -12
  293. package/corpus/templates/plan/app/components/layout/Layout.tsx +11 -7
  294. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +41 -28
  295. package/corpus/templates/plan/app/i18n/ar-SA.ts +77 -0
  296. package/corpus/templates/plan/app/i18n/de-DE.ts +78 -0
  297. package/corpus/templates/plan/app/i18n/en-US.ts +78 -0
  298. package/corpus/templates/plan/app/i18n/es-ES.ts +78 -0
  299. package/corpus/templates/plan/app/i18n/fr-FR.ts +78 -0
  300. package/corpus/templates/plan/app/i18n/hi-IN.ts +78 -0
  301. package/corpus/templates/plan/app/i18n/index.ts +31 -0
  302. package/corpus/templates/plan/app/i18n/ja-JP.ts +79 -0
  303. package/corpus/templates/plan/app/i18n/ko-KR.ts +77 -0
  304. package/corpus/templates/plan/app/i18n/pt-BR.ts +78 -0
  305. package/corpus/templates/plan/app/i18n/zh-CN.ts +74 -0
  306. package/corpus/templates/plan/app/root.tsx +45 -8
  307. package/corpus/templates/plan/app/routes/settings.tsx +86 -0
  308. package/corpus/templates/plan/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  309. package/corpus/templates/plan/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  310. package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +6 -0
  311. package/corpus/templates/slides/app/components/layout/Header.tsx +23 -11
  312. package/corpus/templates/slides/app/components/layout/Layout.tsx +7 -6
  313. package/corpus/templates/slides/app/components/layout/Sidebar.tsx +23 -11
  314. package/corpus/templates/slides/app/i18n/ar-SA.ts +54 -0
  315. package/corpus/templates/slides/app/i18n/de-DE.ts +56 -0
  316. package/corpus/templates/slides/app/i18n/en-US.ts +55 -0
  317. package/corpus/templates/slides/app/i18n/es-ES.ts +55 -0
  318. package/corpus/templates/slides/app/i18n/fr-FR.ts +55 -0
  319. package/corpus/templates/slides/app/i18n/hi-IN.ts +55 -0
  320. package/corpus/templates/slides/app/i18n/index.ts +31 -0
  321. package/corpus/templates/slides/app/i18n/ja-JP.ts +55 -0
  322. package/corpus/templates/slides/app/i18n/ko-KR.ts +55 -0
  323. package/corpus/templates/slides/app/i18n/pt-BR.ts +55 -0
  324. package/corpus/templates/slides/app/i18n/zh-CN.ts +53 -0
  325. package/corpus/templates/slides/app/root.tsx +50 -8
  326. package/corpus/templates/slides/app/routes/settings.tsx +85 -0
  327. package/corpus/templates/slides/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  328. package/corpus/templates/slides/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  329. package/corpus/templates/videos/.agents/skills/self-modifying-code/SKILL.md +6 -0
  330. package/corpus/templates/videos/app/components/NewCompositionPopover.tsx +14 -9
  331. package/corpus/templates/videos/app/components/Sidebar.tsx +16 -9
  332. package/corpus/templates/videos/app/components/StudioHeader.tsx +12 -8
  333. package/corpus/templates/videos/app/components/layout/Header.tsx +21 -15
  334. package/corpus/templates/videos/app/components/layout/Layout.tsx +10 -7
  335. package/corpus/templates/videos/app/components/layout/NavSidebar.tsx +21 -6
  336. package/corpus/templates/videos/app/i18n/ar-SA.ts +73 -0
  337. package/corpus/templates/videos/app/i18n/de-DE.ts +75 -0
  338. package/corpus/templates/videos/app/i18n/en-US.ts +74 -0
  339. package/corpus/templates/videos/app/i18n/es-ES.ts +75 -0
  340. package/corpus/templates/videos/app/i18n/fr-FR.ts +75 -0
  341. package/corpus/templates/videos/app/i18n/hi-IN.ts +74 -0
  342. package/corpus/templates/videos/app/i18n/index.ts +31 -0
  343. package/corpus/templates/videos/app/i18n/ja-JP.ts +74 -0
  344. package/corpus/templates/videos/app/i18n/ko-KR.ts +74 -0
  345. package/corpus/templates/videos/app/i18n/pt-BR.ts +75 -0
  346. package/corpus/templates/videos/app/i18n/zh-CN.ts +72 -0
  347. package/corpus/templates/videos/app/pages/Index.tsx +11 -9
  348. package/corpus/templates/videos/app/root.tsx +45 -7
  349. package/corpus/templates/videos/app/routes/settings.tsx +85 -0
  350. package/corpus/templates/videos/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  351. package/corpus/templates/videos/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  352. package/dist/agent/durable-background.d.ts +15 -0
  353. package/dist/agent/durable-background.d.ts.map +1 -1
  354. package/dist/agent/durable-background.js +28 -2
  355. package/dist/agent/durable-background.js.map +1 -1
  356. package/dist/agent/production-agent.d.ts.map +1 -1
  357. package/dist/agent/production-agent.js +34 -1
  358. package/dist/agent/production-agent.js.map +1 -1
  359. package/dist/agent/run-manager.d.ts +8 -0
  360. package/dist/agent/run-manager.d.ts.map +1 -1
  361. package/dist/agent/run-manager.js +18 -1
  362. package/dist/agent/run-manager.js.map +1 -1
  363. package/dist/agent/run-store.d.ts +99 -0
  364. package/dist/agent/run-store.d.ts.map +1 -1
  365. package/dist/agent/run-store.js +155 -4
  366. package/dist/agent/run-store.js.map +1 -1
  367. package/dist/client/CommandMenu.d.ts +3 -0
  368. package/dist/client/CommandMenu.d.ts.map +1 -1
  369. package/dist/client/CommandMenu.js +9 -0
  370. package/dist/client/CommandMenu.js.map +1 -1
  371. package/dist/client/app-providers.d.ts +8 -1
  372. package/dist/client/app-providers.d.ts.map +1 -1
  373. package/dist/client/app-providers.js +7 -5
  374. package/dist/client/app-providers.js.map +1 -1
  375. package/dist/client/i18n.d.ts +54 -0
  376. package/dist/client/i18n.d.ts.map +1 -0
  377. package/dist/client/i18n.js +354 -0
  378. package/dist/client/i18n.js.map +1 -0
  379. package/dist/client/index.d.ts +2 -1
  380. package/dist/client/index.d.ts.map +1 -1
  381. package/dist/client/index.js +2 -1
  382. package/dist/client/index.js.map +1 -1
  383. package/dist/index.browser.d.ts +1 -1
  384. package/dist/index.browser.d.ts.map +1 -1
  385. package/dist/index.browser.js +1 -1
  386. package/dist/index.browser.js.map +1 -1
  387. package/dist/localization/actions/get-localization-preference.d.ts +4 -0
  388. package/dist/localization/actions/get-localization-preference.d.ts.map +1 -0
  389. package/dist/localization/actions/get-localization-preference.js +16 -0
  390. package/dist/localization/actions/get-localization-preference.js.map +1 -0
  391. package/dist/localization/actions/set-localization-preference.d.ts +6 -0
  392. package/dist/localization/actions/set-localization-preference.d.ts.map +1 -0
  393. package/dist/localization/actions/set-localization-preference.js +24 -0
  394. package/dist/localization/actions/set-localization-preference.js.map +1 -0
  395. package/dist/localization/index.d.ts +3 -0
  396. package/dist/localization/index.d.ts.map +1 -0
  397. package/dist/localization/index.js +3 -0
  398. package/dist/localization/index.js.map +1 -0
  399. package/dist/localization/server.d.ts +25 -0
  400. package/dist/localization/server.d.ts.map +1 -0
  401. package/dist/localization/server.js +69 -0
  402. package/dist/localization/server.js.map +1 -0
  403. package/dist/localization/shared.d.ts +25 -0
  404. package/dist/localization/shared.d.ts.map +1 -0
  405. package/dist/localization/shared.js +134 -0
  406. package/dist/localization/shared.js.map +1 -0
  407. package/dist/server/action-discovery.d.ts.map +1 -1
  408. package/dist/server/action-discovery.js +8 -0
  409. package/dist/server/action-discovery.js.map +1 -1
  410. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  411. package/dist/server/agent-chat-plugin.js +58 -1
  412. package/dist/server/agent-chat-plugin.js.map +1 -1
  413. package/dist/server/auth.d.ts.map +1 -1
  414. package/dist/server/auth.js +12 -0
  415. package/dist/server/auth.js.map +1 -1
  416. package/dist/server/index.d.ts +1 -0
  417. package/dist/server/index.d.ts.map +1 -1
  418. package/dist/server/index.js +1 -0
  419. package/dist/server/index.js.map +1 -1
  420. package/dist/templates/default/.agents/skills/adding-a-feature/SKILL.md +5 -0
  421. package/dist/templates/default/.agents/skills/internationalization/SKILL.md +77 -0
  422. package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +6 -0
  423. package/dist/templates/default/AGENTS.md +16 -15
  424. package/dist/templates/default/app/i18n/en-US.ts +29 -0
  425. package/dist/templates/default/app/i18n/index.ts +13 -0
  426. package/dist/templates/default/app/root.tsx +20 -1
  427. package/dist/templates/default/app/routes/_index.tsx +24 -9
  428. package/dist/templates/default/app/routes/settings.tsx +67 -0
  429. package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +5 -0
  430. package/dist/templates/workspace-core/.agents/skills/internationalization/SKILL.md +77 -0
  431. package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +6 -0
  432. package/dist/vite/action-types-plugin.d.ts.map +1 -1
  433. package/dist/vite/action-types-plugin.js +8 -0
  434. package/dist/vite/action-types-plugin.js.map +1 -1
  435. package/docs/AGENTS.md +1 -0
  436. package/docs/content/client.md +15 -0
  437. package/docs/content/internationalization.md +145 -0
  438. package/docs/content/locales/ar-SA/internationalization.md +102 -0
  439. package/docs/content/locales/de-DE/internationalization.md +102 -0
  440. package/docs/content/locales/es-ES/internationalization.md +102 -0
  441. package/docs/content/locales/fr-FR/internationalization.md +102 -0
  442. package/docs/content/locales/hi-IN/internationalization.md +102 -0
  443. package/docs/content/locales/ja-JP/internationalization.md +114 -0
  444. package/docs/content/locales/ko-KR/internationalization.md +102 -0
  445. package/docs/content/locales/pt-BR/internationalization.md +102 -0
  446. package/docs/content/locales/zh-CN/internationalization.md +102 -0
  447. package/docs/content/skills-guide.md +19 -18
  448. package/package.json +7 -1
  449. package/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +5 -0
  450. package/src/templates/default/.agents/skills/internationalization/SKILL.md +77 -0
  451. package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +6 -0
  452. package/src/templates/default/AGENTS.md +16 -15
  453. package/src/templates/default/app/i18n/en-US.ts +29 -0
  454. package/src/templates/default/app/i18n/index.ts +13 -0
  455. package/src/templates/default/app/root.tsx +20 -1
  456. package/src/templates/default/app/routes/_index.tsx +24 -9
  457. package/src/templates/default/app/routes/settings.tsx +67 -0
  458. package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +5 -0
  459. package/src/templates/workspace-core/.agents/skills/internationalization/SKILL.md +77 -0
  460. package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +6 -0
@@ -0,0 +1,183 @@
1
+ const messages = {
2
+ common: {
3
+ cancel: "Cancelar",
4
+ create: "Crear",
5
+ save: "Guardar",
6
+ saving: "Guardando…",
7
+ saveChanges: "Guardar cambios",
8
+ connected: "Conectado",
9
+ notConnected: "No conectado",
10
+ disconnect: "Desconectar",
11
+ disconnecting: "Desconectando...",
12
+ },
13
+ root: {
14
+ commandActions: "Acciones",
15
+ commandSearch: "Buscar",
16
+ commandAppearance: "Apariencia",
17
+ toggleTheme: "Cambiar tema",
18
+ extensionSignedInTitle: "Sesión iniciada",
19
+ extensionSignedInDescription:
20
+ "Abre de nuevo la extensión de Clips para empezar a grabar.",
21
+ gotIt: "Entendido",
22
+ },
23
+ navigation: {
24
+ brand: "Clips",
25
+ library: "Biblioteca",
26
+ spaces: "Espacios",
27
+ meetings: "Reuniones",
28
+ dictate: "Dictar",
29
+ archive: "Archivo",
30
+ trash: "Papelera",
31
+ settings: "Ajustes",
32
+ notifications: "Notificaciones",
33
+ insights: "Información",
34
+ space: "Espacio",
35
+ folder: "Carpeta",
36
+ extensions: "Extensiones",
37
+ newRecording: "Nueva grabación",
38
+ folders: "Carpetas",
39
+ newFolder: "Nueva carpeta",
40
+ noSpaces: "Aún no hay espacios",
41
+ desktopCta: "Obtener la app de escritorio",
42
+ desktopTitle: "Obtén la app de escritorio de Clips.",
43
+ desktopBody:
44
+ "Graba desde la barra de menús, con atajo global y actualizaciones automáticas.",
45
+ expandSidebar: "Expandir barra lateral",
46
+ collapseSidebar: "Contraer barra lateral",
47
+ agentEmptyState: "¿Cómo puedo ayudarte con tus grabaciones?",
48
+ agentSuggestionSummary: "Resume mi última grabación",
49
+ agentSuggestionPricing: "Encuentra dónde mencioné precios",
50
+ agentSuggestionFiller: "Quita las muletillas de este clip",
51
+ createFolderError: "Error al crear",
52
+ folderCreated: "Carpeta creada",
53
+ folderNamePlaceholder: "Nombre de la carpeta",
54
+ },
55
+ empty: {
56
+ library: {
57
+ title: "Tu biblioteca está vacía",
58
+ body: "Captura tu primera grabación de pantalla y aparecerá aquí, lista para compartir.",
59
+ cta: "Grabar tu primer Clip",
60
+ },
61
+ folder: {
62
+ title: "Esta carpeta está vacía",
63
+ body: "Arrastra grabaciones aquí o pulsa grabar para empezar algo nuevo en esta carpeta.",
64
+ cta: "Grabar aquí",
65
+ },
66
+ space: {
67
+ title: "Aún no hay grabaciones en este espacio",
68
+ body: "Comparte una grabación con el espacio o graba algo nuevo; tu equipo lo verá aquí.",
69
+ cta: "Grabar para este espacio",
70
+ },
71
+ archive: {
72
+ title: "No hay nada archivado",
73
+ body: "Las grabaciones archivadas se ocultan de la biblioteca, pero se conservan. Siempre puedes restaurarlas más tarde.",
74
+ },
75
+ trash: {
76
+ title: "La papelera está vacía",
77
+ body: "Las grabaciones eliminadas aparecen aquí durante 30 días antes de eliminarse permanentemente.",
78
+ },
79
+ search: {
80
+ title: "Sin coincidencias",
81
+ body: "Prueba con otro término de búsqueda o revisa los filtros.",
82
+ },
83
+ },
84
+ settings: {
85
+ openAgentSettings: "Abrir ajustes del agente",
86
+ agentDescription:
87
+ "Abre los ajustes del agente en la barra lateral para modelos, claves API, automatizaciones, voz y otros controles.",
88
+ agentTitle: "Ajustes del agente",
89
+ title: "Ajustes",
90
+ intro: "Preferencias y servicios conectados para este espacio de Clips.",
91
+ languageTitle: "Idioma",
92
+ languageDescription:
93
+ "Elige el idioma de la interfaz para esta cuenta. Clips lo recordará en todos tus dispositivos.",
94
+ languageLabel: "Idioma de la interfaz",
95
+ profile: "Perfil",
96
+ email: "Correo electrónico",
97
+ displayName: "Nombre visible",
98
+ displayNamePlaceholder: "Tu nombre",
99
+ playback: "Reproducción",
100
+ defaultPlaybackSpeed: "Velocidad de reproducción predeterminada",
101
+ playbackDescription:
102
+ "Se aplica automáticamente cuando abres una grabación.",
103
+ transcript: "Transcripción",
104
+ transcriptCleanup: "Limpieza en segundo plano",
105
+ transcriptCleanupDescription:
106
+ "Muestra la transcripción nativa de inmediato y luego la mejora en segundo plano cuando esté disponible.",
107
+ notifications: "Notificaciones",
108
+ emailNotifications: "Notificaciones por correo",
109
+ emailNotificationsDescription:
110
+ "Recibe un correo cuando alguien comenta, reacciona o comparte una grabación contigo.",
111
+ saved: "Ajustes guardados",
112
+ saveFailed: "No se pudo guardar",
113
+ builderConnectedToast: "Builder.io conectado",
114
+ videoStorage: "Almacenamiento de vídeo",
115
+ videoStorageDescription:
116
+ "Builder.io es la ruta principal de almacenamiento para las subidas de Clips. S3 está disponible si necesitas usar tu propio bucket.",
117
+ checkingBuilder: "Comprobando Builder.io",
118
+ builderConnected: "Builder.io conectado",
119
+ connectBuilder: "Conectar Builder.io",
120
+ builderConnectedFor: "Usando Builder.io para {{orgName}}.",
121
+ builderConnectedGeneric:
122
+ "Los clips nuevos usan el proveedor Builder.io conectado.",
123
+ builderIncludes:
124
+ "Incluye almacenamiento de objetos, subidas y transcripción gestionada para clips nuevos.",
125
+ s3Title: "Almacenamiento compatible con S3",
126
+ secondary: "Secundario",
127
+ active: "Activo",
128
+ s3BuilderConnectedDescription:
129
+ "Úsalo solo si este espacio debe subir a tu propio bucket en lugar de Builder.io.",
130
+ s3CurrentProvider: "Usando actualmente {{providerName}}.",
131
+ s3OwnBucketDescription:
132
+ "Usa tu propio bucket si no quieres almacenamiento de Builder.io.",
133
+ configureS3: "Configurar S3",
134
+ hideS3: "Ocultar S3",
135
+ saveStorage: "Guardar almacenamiento",
136
+ storageSaved: "Ajustes de almacenamiento guardados",
137
+ storageRequired: "Endpoint, bucket, access key y secret son obligatorios.",
138
+ apiSetup: "Configuración de IA",
139
+ apiSetupDescription:
140
+ "Builder.io es la ruta predeterminada para créditos de IA gestionados. Las claves de proveedor son opcionales y pueden añadirse aquí.",
141
+ builderEasySetup: "Builder.io es la configuración más sencilla",
142
+ builderAiAvailable:
143
+ "Los créditos de IA incluidos y la transcripción gestionada están disponibles para Clips.",
144
+ builderAiDescription:
145
+ "Conecta Builder primero para usar créditos de IA incluidos, almacenamiento de objetos, subidas y transcripción gestionada.",
146
+ providerKeyTitle: "Usar tu propia clave de proveedor",
147
+ providerKeyDescription:
148
+ "Añade claves de Anthropic, OpenAI, Gemini, Groq u OpenRouter para uso facturado por proveedor.",
149
+ providerKeysSet: "{{count}} configuradas",
150
+ checkingProviderKeys: "Comprobando claves de proveedor…",
151
+ keySet: "Configurada",
152
+ replaceKey: "Reemplazar clave…",
153
+ pasteProviderKey: "Pega primero una clave de proveedor.",
154
+ apiKeySaved: "Clave de API guardada",
155
+ apiKeyFailed: "No se pudo guardar la clave",
156
+ slackTitle: "Agent-Native Clips para Slack",
157
+ slackDescription:
158
+ "Comparte un clip público, pega el enlace en Slack y se reproducirá en línea, sin pasos adicionales para quienes lo vean. Conecta cada espacio una sola vez.",
159
+ checkingSlack: "Comprobando Slack",
160
+ slackConnected_one: "{{count}} espacio conectado",
161
+ slackConnected_many: "{{count}} espacios conectados",
162
+ slackConnected_other: "{{count}} espacios conectados",
163
+ slackOauthNeeded: "Se necesitan credenciales OAuth",
164
+ slackPreviewDescription:
165
+ "Los enlaces públicos de Clips pueden mostrarse como vistas previas reproducibles en Slack.",
166
+ connectSlack: "Conectar Slack",
167
+ slackClientMissing:
168
+ "Configura SLACK_CLIENT_ID y SLACK_CLIENT_SECRET para este despliegue antes de conectar espacios.",
169
+ slackSigningMissing:
170
+ "Configura SLACK_SIGNING_SECRET para verificar los callbacks de eventos de Slack.",
171
+ connectedBy: "Conectado por {{email}}",
172
+ disconnectSlackLabel: "Desconectar {{team}}",
173
+ slackConnectedToast: "Slack conectado",
174
+ slackCheckedToast: "Conexión de Slack comprobada",
175
+ slackDisconnectedToast: "Slack desconectado",
176
+ disconnectSlackTitle: "¿Desconectar Slack?",
177
+ disconnectSlackDescription:
178
+ "Clips eliminará el token de bot almacenado para {{team}} y dejará de enviar vistas previas reproducibles de Slack.",
179
+ thisWorkspace: "este espacio",
180
+ },
181
+ };
182
+
183
+ export default messages;
@@ -0,0 +1,184 @@
1
+ const messages = {
2
+ common: {
3
+ cancel: "Annuler",
4
+ create: "Créer",
5
+ save: "Enregistrer",
6
+ saving: "Enregistrement…",
7
+ saveChanges: "Enregistrer les modifications",
8
+ connected: "Connecté",
9
+ notConnected: "Non connecté",
10
+ disconnect: "Déconnecter",
11
+ disconnecting: "Déconnexion...",
12
+ },
13
+ root: {
14
+ commandActions: "Actions",
15
+ commandSearch: "Rechercher",
16
+ commandAppearance: "Apparence",
17
+ toggleTheme: "Changer de thème",
18
+ extensionSignedInTitle: "Connecté",
19
+ extensionSignedInDescription:
20
+ "Ouvrez à nouveau l’extension Clips pour commencer l’enregistrement.",
21
+ gotIt: "Compris",
22
+ },
23
+ navigation: {
24
+ brand: "Clips",
25
+ library: "Bibliothèque",
26
+ spaces: "Espaces",
27
+ meetings: "Réunions",
28
+ dictate: "Dicter",
29
+ archive: "Archive",
30
+ trash: "Corbeille",
31
+ settings: "Paramètres",
32
+ notifications: "Notifications",
33
+ insights: "Analyses",
34
+ space: "Espace",
35
+ folder: "Dossier",
36
+ extensions: "Extensions",
37
+ newRecording: "Nouvel enregistrement",
38
+ folders: "Dossiers",
39
+ newFolder: "Nouveau dossier",
40
+ noSpaces: "Aucun espace pour le moment",
41
+ desktopCta: "Obtenir l’app de bureau",
42
+ desktopTitle: "Obtenez l’app de bureau Clips.",
43
+ desktopBody:
44
+ "Enregistrez depuis la barre de menus, utilisez un raccourci global et profitez des mises à jour automatiques.",
45
+ expandSidebar: "Développer la barre latérale",
46
+ collapseSidebar: "Réduire la barre latérale",
47
+ agentEmptyState: "Comment puis-je vous aider avec vos enregistrements ?",
48
+ agentSuggestionSummary: "Résume mon dernier enregistrement",
49
+ agentSuggestionPricing: "Trouve où j’ai mentionné les prix",
50
+ agentSuggestionFiller: "Supprime les mots de remplissage de ce clip",
51
+ createFolderError: "Échec de la création",
52
+ folderCreated: "Dossier créé",
53
+ folderNamePlaceholder: "Nom du dossier",
54
+ },
55
+ empty: {
56
+ library: {
57
+ title: "Votre bibliothèque est vide",
58
+ body: "Capturez votre premier enregistrement d’écran et il apparaîtra ici, prêt à partager.",
59
+ cta: "Enregistrer votre premier Clip",
60
+ },
61
+ folder: {
62
+ title: "Ce dossier est vide",
63
+ body: "Glissez-y des enregistrements ou lancez l’enregistrement pour commencer dans ce dossier.",
64
+ cta: "Enregistrer ici",
65
+ },
66
+ space: {
67
+ title: "Aucun enregistrement dans cet espace pour le moment",
68
+ body: "Partagez un enregistrement avec l’espace ou créez-en un nouveau ; votre équipe le verra ici.",
69
+ cta: "Enregistrer pour cet espace",
70
+ },
71
+ archive: {
72
+ title: "Rien dans l’archive",
73
+ body: "Les enregistrements archivés sont masqués de la bibliothèque, mais conservés. Vous pourrez toujours les restaurer plus tard.",
74
+ },
75
+ trash: {
76
+ title: "La corbeille est vide",
77
+ body: "Les enregistrements supprimés restent ici pendant 30 jours avant d’être supprimés définitivement.",
78
+ },
79
+ search: {
80
+ title: "Aucun résultat",
81
+ body: "Essayez un autre terme de recherche ou vérifiez vos filtres.",
82
+ },
83
+ },
84
+ settings: {
85
+ openAgentSettings: "Ouvrir les paramètres de l’agent",
86
+ agentDescription:
87
+ "Ouvrez les paramètres de l’agent dans la barre latérale pour les modèles, clés API, automatisations, voix et autres contrôles.",
88
+ agentTitle: "Paramètres de l’agent",
89
+ title: "Paramètres",
90
+ intro: "Préférences et services connectés pour cet espace Clips.",
91
+ languageTitle: "Langue",
92
+ languageDescription:
93
+ "Choisissez la langue de l’interface pour ce compte. Clips s’en souviendra sur tous vos appareils.",
94
+ languageLabel: "Langue de l’interface",
95
+ profile: "Profil",
96
+ email: "E-mail",
97
+ displayName: "Nom affiché",
98
+ displayNamePlaceholder: "Votre nom",
99
+ playback: "Lecture",
100
+ defaultPlaybackSpeed: "Vitesse de lecture par défaut",
101
+ playbackDescription:
102
+ "Appliquée automatiquement quand vous ouvrez un enregistrement.",
103
+ transcript: "Transcription",
104
+ transcriptCleanup: "Nettoyage en arrière-plan",
105
+ transcriptCleanupDescription:
106
+ "Affichez immédiatement la transcription native, puis nettoyez-la en arrière-plan lorsqu’elle est disponible.",
107
+ notifications: "Notifications",
108
+ emailNotifications: "Notifications par e-mail",
109
+ emailNotificationsDescription:
110
+ "Recevez un e-mail lorsqu’une personne commente, réagit ou partage un enregistrement avec vous.",
111
+ saved: "Paramètres enregistrés",
112
+ saveFailed: "Échec de l’enregistrement",
113
+ builderConnectedToast: "Builder.io connecté",
114
+ videoStorage: "Stockage vidéo",
115
+ videoStorageDescription:
116
+ "Builder.io est le chemin de stockage principal pour les téléversements Clips. S3 est disponible si vous devez utiliser votre propre bucket.",
117
+ checkingBuilder: "Vérification de Builder.io",
118
+ builderConnected: "Builder.io connecté",
119
+ connectBuilder: "Connecter Builder.io",
120
+ builderConnectedFor: "Utilisation de Builder.io pour {{orgName}}.",
121
+ builderConnectedGeneric:
122
+ "Les nouveaux clips utilisent le fournisseur Builder.io connecté.",
123
+ builderIncludes:
124
+ "Inclut le stockage objet, les téléversements et la transcription gérée pour les nouveaux clips.",
125
+ s3Title: "Stockage compatible S3",
126
+ secondary: "Secondaire",
127
+ active: "Actif",
128
+ s3BuilderConnectedDescription:
129
+ "À utiliser uniquement si cet espace doit téléverser vers votre propre bucket plutôt que Builder.io.",
130
+ s3CurrentProvider: "Utilisation actuelle de {{providerName}}.",
131
+ s3OwnBucketDescription:
132
+ "Utilisez votre propre bucket si vous ne voulez pas du stockage Builder.io.",
133
+ configureS3: "Configurer S3",
134
+ hideS3: "Masquer S3",
135
+ saveStorage: "Enregistrer le stockage",
136
+ storageSaved: "Paramètres de stockage enregistrés",
137
+ storageRequired:
138
+ "Endpoint, bucket, access key et secret sont obligatoires.",
139
+ apiSetup: "Configuration IA",
140
+ apiSetupDescription:
141
+ "Builder.io est le chemin par défaut pour les crédits IA gérés. Les clés de fournisseur sont facultatives et peuvent être ajoutées ici.",
142
+ builderEasySetup: "Builder.io est la configuration la plus simple",
143
+ builderAiAvailable:
144
+ "Les crédits IA inclus et la transcription gérée sont disponibles pour Clips.",
145
+ builderAiDescription:
146
+ "Connectez Builder d’abord pour les crédits IA inclus, le stockage objet, les téléversements et la transcription gérée.",
147
+ providerKeyTitle: "Utiliser votre propre clé fournisseur",
148
+ providerKeyDescription:
149
+ "Ajoutez des clés Anthropic, OpenAI, Gemini, Groq ou OpenRouter pour une utilisation facturée par fournisseur.",
150
+ providerKeysSet: "{{count}} définies",
151
+ checkingProviderKeys: "Vérification des clés fournisseur…",
152
+ keySet: "Définie",
153
+ replaceKey: "Remplacer la clé…",
154
+ pasteProviderKey: "Collez d’abord une clé fournisseur.",
155
+ apiKeySaved: "Clé API enregistrée",
156
+ apiKeyFailed: "Échec de l’enregistrement de la clé",
157
+ slackTitle: "Agent-Native Clips pour Slack",
158
+ slackDescription:
159
+ "Partagez un clip public, collez le lien dans Slack, et il se lit directement, sans étape supplémentaire pour les spectateurs. Connectez chaque espace une seule fois.",
160
+ checkingSlack: "Vérification de Slack",
161
+ slackConnected_one: "{{count}} espace connecté",
162
+ slackConnected_many: "{{count}} espaces connectés",
163
+ slackConnected_other: "{{count}} espaces connectés",
164
+ slackOauthNeeded: "Identifiants OAuth requis",
165
+ slackPreviewDescription:
166
+ "Les liens Clips publics peuvent s’afficher comme aperçus lisibles dans Slack.",
167
+ connectSlack: "Connecter Slack",
168
+ slackClientMissing:
169
+ "Définissez SLACK_CLIENT_ID et SLACK_CLIENT_SECRET pour ce déploiement avant de connecter des espaces.",
170
+ slackSigningMissing:
171
+ "Définissez SLACK_SIGNING_SECRET afin de vérifier les callbacks d’événements Slack.",
172
+ connectedBy: "Connecté par {{email}}",
173
+ disconnectSlackLabel: "Déconnecter {{team}}",
174
+ slackConnectedToast: "Slack connecté",
175
+ slackCheckedToast: "Connexion Slack vérifiée",
176
+ slackDisconnectedToast: "Slack déconnecté",
177
+ disconnectSlackTitle: "Déconnecter Slack ?",
178
+ disconnectSlackDescription:
179
+ "Clips supprimera le token bot stocké pour {{team}} et cessera d’envoyer des aperçus Slack lisibles.",
180
+ thisWorkspace: "cet espace",
181
+ },
182
+ };
183
+
184
+ export default messages;
@@ -0,0 +1,180 @@
1
+ const messages = {
2
+ common: {
3
+ cancel: "रद्द करें",
4
+ create: "बनाएँ",
5
+ save: "सहेजें",
6
+ saving: "सहेजा जा रहा है…",
7
+ saveChanges: "बदलाव सहेजें",
8
+ connected: "कनेक्टेड",
9
+ notConnected: "कनेक्टेड नहीं",
10
+ disconnect: "डिस्कनेक्ट करें",
11
+ disconnecting: "डिस्कनेक्ट किया जा रहा है...",
12
+ },
13
+ root: {
14
+ commandActions: "कार्रवाइयाँ",
15
+ commandSearch: "खोजें",
16
+ commandAppearance: "दिखावट",
17
+ toggleTheme: "थीम बदलें",
18
+ extensionSignedInTitle: "साइन इन हो गया",
19
+ extensionSignedInDescription:
20
+ "रिकॉर्डिंग शुरू करने के लिए Clips एक्सटेंशन फिर से खोलें।",
21
+ gotIt: "समझ गया",
22
+ },
23
+ navigation: {
24
+ brand: "Clips",
25
+ library: "लाइब्रेरी",
26
+ spaces: "स्पेस",
27
+ meetings: "मीटिंग्स",
28
+ dictate: "डिक्टेट",
29
+ archive: "आर्काइव",
30
+ trash: "ट्रैश",
31
+ settings: "सेटिंग्स",
32
+ notifications: "सूचनाएँ",
33
+ insights: "इनसाइट्स",
34
+ space: "स्पेस",
35
+ folder: "फ़ोल्डर",
36
+ extensions: "एक्सटेंशन",
37
+ newRecording: "नई रिकॉर्डिंग",
38
+ folders: "फ़ोल्डर",
39
+ newFolder: "नया फ़ोल्डर",
40
+ noSpaces: "अभी कोई स्पेस नहीं",
41
+ desktopCta: "डेस्कटॉप ऐप पाएँ",
42
+ desktopTitle: "Clips डेस्कटॉप ऐप पाएँ।",
43
+ desktopBody: "मेनू बार, ग्लोबल शॉर्टकट और ऑटो-अपडेट से रिकॉर्ड करें।",
44
+ expandSidebar: "साइडबार फैलाएँ",
45
+ collapseSidebar: "साइडबार समेटें",
46
+ agentEmptyState: "आपकी रिकॉर्डिंग में मैं कैसे मदद कर सकता हूँ?",
47
+ agentSuggestionSummary: "मेरी पिछली रिकॉर्डिंग का सारांश दें",
48
+ agentSuggestionPricing: "जहाँ मैंने कीमतों का ज़िक्र किया है वह ढूँढें",
49
+ agentSuggestionFiller: "इस क्लिप से फिलर शब्द हटाएँ",
50
+ createFolderError: "बनाने में विफल",
51
+ folderCreated: "फ़ोल्डर बन गया",
52
+ folderNamePlaceholder: "फ़ोल्डर का नाम",
53
+ },
54
+ empty: {
55
+ library: {
56
+ title: "आपकी लाइब्रेरी खाली है",
57
+ body: "अपनी पहली स्क्रीन रिकॉर्डिंग कैप्चर करें और वह यहाँ शेयर करने के लिए तैयार मिलेगी।",
58
+ cta: "अपना पहला Clip रिकॉर्ड करें",
59
+ },
60
+ folder: {
61
+ title: "यह फ़ोल्डर खाली है",
62
+ body: "रिकॉर्डिंग खींचकर लाएँ या इस फ़ोल्डर में कुछ नया शुरू करने के लिए रिकॉर्ड दबाएँ।",
63
+ cta: "यहाँ रिकॉर्ड करें",
64
+ },
65
+ space: {
66
+ title: "इस स्पेस में अभी कोई रिकॉर्डिंग नहीं",
67
+ body: "स्पेस के साथ रिकॉर्डिंग शेयर करें या कुछ नया रिकॉर्ड करें; आपकी टीम इसे यहाँ देखेगी।",
68
+ cta: "इस स्पेस के लिए रिकॉर्ड करें",
69
+ },
70
+ archive: {
71
+ title: "कुछ भी आर्काइव नहीं",
72
+ body: "आर्काइव की गई रिकॉर्डिंग लाइब्रेरी से छिपी रहती हैं लेकिन सुरक्षित रहती हैं। आप उन्हें बाद में कभी भी पुनर्स्थापित कर सकते हैं।",
73
+ },
74
+ trash: {
75
+ title: "ट्रैश खाली है",
76
+ body: "मिटाई गई रिकॉर्डिंग स्थायी रूप से हटने से पहले 30 दिनों तक यहाँ दिखाई देती हैं।",
77
+ },
78
+ search: {
79
+ title: "कोई परिणाम नहीं",
80
+ body: "कोई दूसरा खोज शब्द आज़माएँ या अपने फ़िल्टर जाँचें।",
81
+ },
82
+ },
83
+ settings: {
84
+ openAgentSettings: "एजेंट सेटिंग्स खोलें",
85
+ agentDescription:
86
+ "मॉडल, API कुंजियों, ऑटोमेशन, आवाज़ और अन्य एजेंट नियंत्रणों के लिए साइडबार सेटिंग्स खोलें।",
87
+ agentTitle: "एजेंट सेटिंग्स",
88
+ title: "सेटिंग्स",
89
+ intro: "इस Clips वर्कस्पेस के लिए प्राथमिकताएँ और कनेक्टेड सेवाएँ।",
90
+ languageTitle: "भाषा",
91
+ languageDescription:
92
+ "इस खाते के लिए इंटरफ़ेस भाषा चुनें। Clips इसे आपके डिवाइसों पर याद रखेगा।",
93
+ languageLabel: "इंटरफ़ेस भाषा",
94
+ profile: "प्रोफ़ाइल",
95
+ email: "ईमेल",
96
+ displayName: "दिखने वाला नाम",
97
+ displayNamePlaceholder: "आपका नाम",
98
+ playback: "प्लेबैक",
99
+ defaultPlaybackSpeed: "डिफ़ॉल्ट प्लेबैक गति",
100
+ playbackDescription: "रिकॉर्डिंग खोलने पर अपने आप लागू होती है।",
101
+ transcript: "ट्रांसक्रिप्ट",
102
+ transcriptCleanup: "बैकग्राउंड सफ़ाई",
103
+ transcriptCleanupDescription:
104
+ "नेटिव ट्रांसक्रिप्ट तुरंत दिखाएँ, फिर उपलब्ध होने पर बैकग्राउंड में साफ़ करें।",
105
+ notifications: "सूचनाएँ",
106
+ emailNotifications: "ईमेल सूचनाएँ",
107
+ emailNotificationsDescription:
108
+ "जब कोई टिप्पणी करे, प्रतिक्रिया दे या आपके साथ रिकॉर्डिंग शेयर करे तो ईमेल पाएँ।",
109
+ saved: "सेटिंग्स सहेजी गईं",
110
+ saveFailed: "सहेजने में विफल",
111
+ builderConnectedToast: "Builder.io कनेक्टेड",
112
+ videoStorage: "वीडियो स्टोरेज",
113
+ videoStorageDescription:
114
+ "Builder.io Clips अपलोड के लिए मुख्य स्टोरेज पथ है। अपना bucket लाने की ज़रूरत हो तो S3 उपलब्ध है।",
115
+ checkingBuilder: "Builder.io जाँचा जा रहा है",
116
+ builderConnected: "Builder.io कनेक्टेड",
117
+ connectBuilder: "Builder.io कनेक्ट करें",
118
+ builderConnectedFor: "{{orgName}} के लिए Builder.io इस्तेमाल हो रहा है।",
119
+ builderConnectedGeneric:
120
+ "नई क्लिप्स कनेक्टेड Builder.io प्रोवाइडर का उपयोग करती हैं।",
121
+ builderIncludes:
122
+ "नई क्लिप्स के लिए ऑब्जेक्ट स्टोरेज, अपलोड और मैनेज्ड ट्रांसक्रिप्शन शामिल हैं।",
123
+ s3Title: "S3-संगत स्टोरेज",
124
+ secondary: "सेकेंडरी",
125
+ active: "सक्रिय",
126
+ s3BuilderConnectedDescription:
127
+ "इसे केवल तब इस्तेमाल करें जब यह वर्कस्पेस Builder.io के बजाय आपके अपने bucket में अपलोड करे।",
128
+ s3CurrentProvider: "अभी {{providerName}} इस्तेमाल हो रहा है।",
129
+ s3OwnBucketDescription:
130
+ "यदि आप Builder.io स्टोरेज नहीं चाहते हैं तो अपना bucket इस्तेमाल करें।",
131
+ configureS3: "S3 कॉन्फ़िगर करें",
132
+ hideS3: "S3 छिपाएँ",
133
+ saveStorage: "स्टोरेज सहेजें",
134
+ storageSaved: "स्टोरेज सेटिंग्स सहेजी गईं",
135
+ storageRequired: "Endpoint, bucket, access key और secret आवश्यक हैं।",
136
+ apiSetup: "AI सेटअप",
137
+ apiSetupDescription:
138
+ "Builder.io मैनेज्ड AI क्रेडिट का डिफ़ॉल्ट पथ है। प्रोवाइडर कीज़ वैकल्पिक हैं और यहाँ जोड़ी जा सकती हैं।",
139
+ builderEasySetup: "Builder.io सबसे आसान सेटअप है",
140
+ builderAiAvailable:
141
+ "Clips के लिए शामिल AI क्रेडिट और मैनेज्ड ट्रांसक्रिप्शन उपलब्ध हैं।",
142
+ builderAiDescription:
143
+ "शामिल AI क्रेडिट, ऑब्जेक्ट स्टोरेज, अपलोड और मैनेज्ड ट्रांसक्रिप्शन के लिए पहले Builder कनेक्ट करें।",
144
+ providerKeyTitle: "अपनी प्रोवाइडर की लाएँ",
145
+ providerKeyDescription:
146
+ "प्रोवाइडर-बिल्ड उपयोग के लिए Anthropic, OpenAI, Gemini, Groq या OpenRouter कीज़ जोड़ें।",
147
+ providerKeysSet: "{{count}} सेट",
148
+ checkingProviderKeys: "प्रोवाइडर कीज़ जाँची जा रही हैं…",
149
+ keySet: "सेट",
150
+ replaceKey: "की बदलें…",
151
+ pasteProviderKey: "पहले प्रोवाइडर की पेस्ट करें।",
152
+ apiKeySaved: "API की सहेजी गई",
153
+ apiKeyFailed: "की सहेजने में विफल",
154
+ slackTitle: "Slack के लिए Agent-Native Clips",
155
+ slackDescription:
156
+ "पब्लिक क्लिप शेयर करें, लिंक Slack में पेस्ट करें और वह inline चलेगी — दर्शकों के लिए कोई अतिरिक्त कदम नहीं। हर वर्कस्पेस को एक बार कनेक्ट करें।",
157
+ checkingSlack: "Slack जाँचा जा रहा है",
158
+ slackConnected_one: "{{count}} वर्कस्पेस कनेक्टेड",
159
+ slackConnected_other: "{{count}} वर्कस्पेस कनेक्टेड",
160
+ slackOauthNeeded: "OAuth क्रेडेंशियल चाहिए",
161
+ slackPreviewDescription:
162
+ "पब्लिक Clips लिंक Slack में चलने योग्य प्रीव्यू के रूप में दिख सकते हैं।",
163
+ connectSlack: "Slack कनेक्ट करें",
164
+ slackClientMissing:
165
+ "वर्कस्पेस कनेक्ट करने से पहले इस डिप्लॉयमेंट के लिए SLACK_CLIENT_ID और SLACK_CLIENT_SECRET सेट करें।",
166
+ slackSigningMissing:
167
+ "Slack इवेंट callbacks सत्यापित करने के लिए SLACK_SIGNING_SECRET सेट करें।",
168
+ connectedBy: "{{email}} द्वारा कनेक्टेड",
169
+ disconnectSlackLabel: "{{team}} डिस्कनेक्ट करें",
170
+ slackConnectedToast: "Slack कनेक्टेड",
171
+ slackCheckedToast: "Slack कनेक्शन जाँचा गया",
172
+ slackDisconnectedToast: "Slack डिस्कनेक्टेड",
173
+ disconnectSlackTitle: "Slack डिस्कनेक्ट करें?",
174
+ disconnectSlackDescription:
175
+ "Clips {{team}} के लिए संग्रहीत bot token हटा देगा और चलने योग्य Slack previews भेजना बंद कर देगा।",
176
+ thisWorkspace: "यह वर्कस्पेस",
177
+ },
178
+ };
179
+
180
+ export default messages;
@@ -0,0 +1,41 @@
1
+ import enUS from "./en-US";
2
+ import type {
3
+ AgentNativeI18nCatalog,
4
+ LocaleCode,
5
+ LocaleMessages,
6
+ } from "@agent-native/core/client";
7
+
8
+ export async function loadI18nMessages(
9
+ locale: LocaleCode,
10
+ ): Promise<LocaleMessages | null> {
11
+ switch (locale) {
12
+ case "en-US":
13
+ return enUS;
14
+ case "zh-CN":
15
+ return (await import("./zh-CN")).default;
16
+ case "es-ES":
17
+ return (await import("./es-ES")).default;
18
+ case "fr-FR":
19
+ return (await import("./fr-FR")).default;
20
+ case "de-DE":
21
+ return (await import("./de-DE")).default;
22
+ case "ja-JP":
23
+ return (await import("./ja-JP")).default;
24
+ case "ko-KR":
25
+ return (await import("./ko-KR")).default;
26
+ case "pt-BR":
27
+ return (await import("./pt-BR")).default;
28
+ case "hi-IN":
29
+ return (await import("./hi-IN")).default;
30
+ case "ar-SA":
31
+ return (await import("./ar-SA")).default;
32
+ default:
33
+ return null;
34
+ }
35
+ }
36
+
37
+ export const i18nCatalog = {
38
+ sourceLocale: "en-US",
39
+ messages: enUS,
40
+ loadMessages: loadI18nMessages,
41
+ } satisfies AgentNativeI18nCatalog;