@agent-native/core 0.75.4 → 0.76.0

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 (459) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +47 -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 +62 -28
  18. package/corpus/core/src/agent/production-agent.ts +16 -12
  19. package/corpus/core/src/cli/skills.ts +22 -4
  20. package/corpus/core/src/client/CommandMenu.tsx +16 -0
  21. package/corpus/core/src/client/app-providers.tsx +26 -1
  22. package/corpus/core/src/client/i18n.tsx +605 -0
  23. package/corpus/core/src/client/index.ts +28 -0
  24. package/corpus/core/src/deploy/build.ts +47 -113
  25. package/corpus/core/src/deploy/workspace-deploy.ts +62 -30
  26. package/corpus/core/src/index.browser.ts +25 -0
  27. package/corpus/core/src/localization/actions/get-localization-preference.ts +23 -0
  28. package/corpus/core/src/localization/actions/set-localization-preference.ts +30 -0
  29. package/corpus/core/src/localization/index.ts +2 -0
  30. package/corpus/core/src/localization/server.ts +131 -0
  31. package/corpus/core/src/localization/shared.ts +163 -0
  32. package/corpus/core/src/server/action-discovery.ts +8 -0
  33. package/corpus/core/src/server/index.ts +8 -0
  34. package/corpus/core/src/server/self-dispatch.ts +29 -2
  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/Header.tsx +18 -15
  50. package/corpus/templates/analytics/app/components/layout/Layout.tsx +7 -5
  51. package/corpus/templates/analytics/app/components/layout/MobileNav.tsx +9 -3
  52. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +5 -3
  53. package/corpus/templates/analytics/app/i18n/ar-SA.ts +3 -0
  54. package/corpus/templates/analytics/app/i18n/de-DE.ts +3 -0
  55. package/corpus/templates/analytics/app/i18n/en-US.ts +3 -0
  56. package/corpus/templates/analytics/app/i18n/es-ES.ts +3 -0
  57. package/corpus/templates/analytics/app/i18n/fr-FR.ts +3 -0
  58. package/corpus/templates/analytics/app/i18n/hi-IN.ts +3 -0
  59. package/corpus/templates/analytics/app/i18n/index.ts +31 -0
  60. package/corpus/templates/analytics/app/i18n/ja-JP.ts +3 -0
  61. package/corpus/templates/analytics/app/i18n/ko-KR.ts +3 -0
  62. package/corpus/templates/analytics/app/i18n/pt-BR.ts +3 -0
  63. package/corpus/templates/analytics/app/i18n/zh-CN.ts +3 -0
  64. package/corpus/templates/analytics/app/i18n-data.ts +433 -0
  65. package/corpus/templates/analytics/app/pages/Settings.tsx +50 -16
  66. package/corpus/templates/analytics/app/root.tsx +14 -1
  67. package/corpus/templates/analytics/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  68. package/corpus/templates/analytics/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  69. package/corpus/templates/assets/.agents/skills/self-modifying-code/SKILL.md +6 -0
  70. package/corpus/templates/assets/app/components/layout/Header.tsx +17 -8
  71. package/corpus/templates/assets/app/components/layout/Layout.tsx +10 -6
  72. package/corpus/templates/assets/app/components/layout/Sidebar.tsx +40 -23
  73. package/corpus/templates/assets/app/i18n/ar-SA.ts +3 -0
  74. package/corpus/templates/assets/app/i18n/de-DE.ts +3 -0
  75. package/corpus/templates/assets/app/i18n/en-US.ts +3 -0
  76. package/corpus/templates/assets/app/i18n/es-ES.ts +3 -0
  77. package/corpus/templates/assets/app/i18n/fr-FR.ts +3 -0
  78. package/corpus/templates/assets/app/i18n/hi-IN.ts +3 -0
  79. package/corpus/templates/assets/app/i18n/index.ts +31 -0
  80. package/corpus/templates/assets/app/i18n/ja-JP.ts +3 -0
  81. package/corpus/templates/assets/app/i18n/ko-KR.ts +3 -0
  82. package/corpus/templates/assets/app/i18n/pt-BR.ts +3 -0
  83. package/corpus/templates/assets/app/i18n/zh-CN.ts +3 -0
  84. package/corpus/templates/assets/app/i18n-data.ts +668 -0
  85. package/corpus/templates/assets/app/root.tsx +40 -15
  86. package/corpus/templates/assets/app/routes/_index.tsx +9 -10
  87. package/corpus/templates/assets/app/routes/settings.tsx +37 -6
  88. package/corpus/templates/assets/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  89. package/corpus/templates/assets/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  90. package/corpus/templates/brain/.agents/skills/adding-a-feature/SKILL.md +5 -0
  91. package/corpus/templates/brain/.agents/skills/self-modifying-code/SKILL.md +6 -0
  92. package/corpus/templates/brain/app/components/layout/Layout.tsx +12 -8
  93. package/corpus/templates/brain/app/components/layout/Sidebar.tsx +23 -12
  94. package/corpus/templates/brain/app/i18n/ar-SA.ts +3 -0
  95. package/corpus/templates/brain/app/i18n/de-DE.ts +3 -0
  96. package/corpus/templates/brain/app/i18n/en-US.ts +3 -0
  97. package/corpus/templates/brain/app/i18n/es-ES.ts +3 -0
  98. package/corpus/templates/brain/app/i18n/fr-FR.ts +3 -0
  99. package/corpus/templates/brain/app/i18n/hi-IN.ts +3 -0
  100. package/corpus/templates/brain/app/i18n/index.ts +31 -0
  101. package/corpus/templates/brain/app/i18n/ja-JP.ts +3 -0
  102. package/corpus/templates/brain/app/i18n/ko-KR.ts +3 -0
  103. package/corpus/templates/brain/app/i18n/pt-BR.ts +3 -0
  104. package/corpus/templates/brain/app/i18n/zh-CN.ts +3 -0
  105. package/corpus/templates/brain/app/i18n-data.ts +624 -0
  106. package/corpus/templates/brain/app/root.tsx +27 -12
  107. package/corpus/templates/brain/app/routes/settings.tsx +45 -8
  108. package/corpus/templates/brain/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  109. package/corpus/templates/brain/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  110. package/corpus/templates/calendar/.agents/skills/self-modifying-code/SKILL.md +6 -0
  111. package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +2 -0
  112. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +16 -9
  113. package/corpus/templates/calendar/app/i18n/ar-SA.ts +57 -0
  114. package/corpus/templates/calendar/app/i18n/de-DE.ts +58 -0
  115. package/corpus/templates/calendar/app/i18n/en-US.ts +57 -0
  116. package/corpus/templates/calendar/app/i18n/es-ES.ts +58 -0
  117. package/corpus/templates/calendar/app/i18n/fr-FR.ts +58 -0
  118. package/corpus/templates/calendar/app/i18n/hi-IN.ts +57 -0
  119. package/corpus/templates/calendar/app/i18n/index.ts +31 -0
  120. package/corpus/templates/calendar/app/i18n/ja-JP.ts +58 -0
  121. package/corpus/templates/calendar/app/i18n/ko-KR.ts +57 -0
  122. package/corpus/templates/calendar/app/i18n/pt-BR.ts +57 -0
  123. package/corpus/templates/calendar/app/i18n/zh-CN.ts +57 -0
  124. package/corpus/templates/calendar/app/i18n-data.ts +516 -0
  125. package/corpus/templates/calendar/app/pages/CalendarView.tsx +2 -0
  126. package/corpus/templates/calendar/app/pages/Settings.tsx +63 -28
  127. package/corpus/templates/calendar/app/root.tsx +78 -7
  128. package/corpus/templates/calendar/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  129. package/corpus/templates/calendar/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  130. package/corpus/templates/chat/.agents/skills/adding-a-feature/SKILL.md +5 -0
  131. package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +6 -0
  132. package/corpus/templates/chat/app/components/layout/Header.tsx +17 -11
  133. package/corpus/templates/chat/app/components/layout/Layout.tsx +12 -8
  134. package/corpus/templates/chat/app/components/layout/Sidebar.tsx +47 -18
  135. package/corpus/templates/chat/app/i18n/ar-SA.ts +62 -0
  136. package/corpus/templates/chat/app/i18n/de-DE.ts +63 -0
  137. package/corpus/templates/chat/app/i18n/en-US.ts +63 -0
  138. package/corpus/templates/chat/app/i18n/es-ES.ts +63 -0
  139. package/corpus/templates/chat/app/i18n/fr-FR.ts +63 -0
  140. package/corpus/templates/chat/app/i18n/hi-IN.ts +63 -0
  141. package/corpus/templates/chat/app/i18n/index.ts +31 -0
  142. package/corpus/templates/chat/app/i18n/ja-JP.ts +63 -0
  143. package/corpus/templates/chat/app/i18n/ko-KR.ts +63 -0
  144. package/corpus/templates/chat/app/i18n/pt-BR.ts +63 -0
  145. package/corpus/templates/chat/app/i18n/zh-CN.ts +61 -0
  146. package/corpus/templates/chat/app/i18n-data.ts +475 -0
  147. package/corpus/templates/chat/app/root.tsx +18 -5
  148. package/corpus/templates/chat/app/routes/_index.tsx +9 -8
  149. package/corpus/templates/chat/app/routes/settings.tsx +86 -0
  150. package/corpus/templates/chat/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  151. package/corpus/templates/chat/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  152. package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +6 -0
  153. package/corpus/templates/clips/app/components/layout/Header.tsx +23 -17
  154. package/corpus/templates/clips/app/components/library/empty-state.tsx +10 -34
  155. package/corpus/templates/clips/app/components/library/library-layout.tsx +45 -34
  156. package/corpus/templates/clips/app/i18n/ar-SA.ts +182 -0
  157. package/corpus/templates/clips/app/i18n/de-DE.ts +184 -0
  158. package/corpus/templates/clips/app/i18n/en-US.ts +179 -0
  159. package/corpus/templates/clips/app/i18n/es-ES.ts +183 -0
  160. package/corpus/templates/clips/app/i18n/fr-FR.ts +184 -0
  161. package/corpus/templates/clips/app/i18n/hi-IN.ts +180 -0
  162. package/corpus/templates/clips/app/i18n/index.ts +41 -0
  163. package/corpus/templates/clips/app/i18n/ja-JP.ts +180 -0
  164. package/corpus/templates/clips/app/i18n/ko-KR.ts +178 -0
  165. package/corpus/templates/clips/app/i18n/pt-BR.ts +183 -0
  166. package/corpus/templates/clips/app/i18n/zh-CN.ts +173 -0
  167. package/corpus/templates/clips/app/root.tsx +104 -10
  168. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +154 -95
  169. package/corpus/templates/clips/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  170. package/corpus/templates/clips/changelog/2026-06-24-chrome-extension-setup-now-shows-a-clear-all-done-confirmati.md +6 -0
  171. package/corpus/templates/clips/changelog/2026-06-24-clips-now-includes-a-language-picker-and-simplified-chinese-ui.md +6 -0
  172. package/corpus/templates/clips/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  173. package/corpus/templates/clips/chrome-extension/src/permission.html +60 -0
  174. package/corpus/templates/clips/chrome-extension/src/permission.ts +28 -15
  175. package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +6 -0
  176. package/corpus/templates/content/app/components/EmptyState.tsx +7 -5
  177. package/corpus/templates/content/app/components/ThemeToggle.tsx +4 -2
  178. package/corpus/templates/content/app/components/layout/Header.tsx +2 -0
  179. package/corpus/templates/content/app/components/layout/Layout.tsx +8 -7
  180. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +41 -1
  181. package/corpus/templates/content/app/i18n/ar-SA.ts +3 -0
  182. package/corpus/templates/content/app/i18n/de-DE.ts +3 -0
  183. package/corpus/templates/content/app/i18n/en-US.ts +3 -0
  184. package/corpus/templates/content/app/i18n/es-ES.ts +3 -0
  185. package/corpus/templates/content/app/i18n/fr-FR.ts +3 -0
  186. package/corpus/templates/content/app/i18n/hi-IN.ts +3 -0
  187. package/corpus/templates/content/app/i18n/index.ts +31 -0
  188. package/corpus/templates/content/app/i18n/ja-JP.ts +3 -0
  189. package/corpus/templates/content/app/i18n/ko-KR.ts +3 -0
  190. package/corpus/templates/content/app/i18n/pt-BR.ts +3 -0
  191. package/corpus/templates/content/app/i18n/zh-CN.ts +3 -0
  192. package/corpus/templates/content/app/i18n-data.ts +490 -0
  193. package/corpus/templates/content/app/root.tsx +110 -23
  194. package/corpus/templates/content/app/routes/_app.settings.tsx +84 -0
  195. package/corpus/templates/content/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  196. package/corpus/templates/content/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  197. package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +6 -0
  198. package/corpus/templates/design/app/components/layout/Header.tsx +16 -8
  199. package/corpus/templates/design/app/components/layout/Layout.tsx +8 -6
  200. package/corpus/templates/design/app/components/layout/Sidebar.tsx +25 -9
  201. package/corpus/templates/design/app/i18n/ar-SA.ts +3 -0
  202. package/corpus/templates/design/app/i18n/de-DE.ts +3 -0
  203. package/corpus/templates/design/app/i18n/en-US.ts +3 -0
  204. package/corpus/templates/design/app/i18n/es-ES.ts +3 -0
  205. package/corpus/templates/design/app/i18n/fr-FR.ts +3 -0
  206. package/corpus/templates/design/app/i18n/hi-IN.ts +3 -0
  207. package/corpus/templates/design/app/i18n/index.ts +31 -0
  208. package/corpus/templates/design/app/i18n/ja-JP.ts +3 -0
  209. package/corpus/templates/design/app/i18n/ko-KR.ts +3 -0
  210. package/corpus/templates/design/app/i18n/pt-BR.ts +3 -0
  211. package/corpus/templates/design/app/i18n/zh-CN.ts +3 -0
  212. package/corpus/templates/design/app/i18n-data.ts +350 -0
  213. package/corpus/templates/design/app/root.tsx +40 -15
  214. package/corpus/templates/design/app/routes/settings.tsx +43 -0
  215. package/corpus/templates/design/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  216. package/corpus/templates/design/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  217. package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +6 -0
  218. package/corpus/templates/dispatch/app/i18n/ar-SA.ts +3 -0
  219. package/corpus/templates/dispatch/app/i18n/de-DE.ts +3 -0
  220. package/corpus/templates/dispatch/app/i18n/en-US.ts +3 -0
  221. package/corpus/templates/dispatch/app/i18n/es-ES.ts +3 -0
  222. package/corpus/templates/dispatch/app/i18n/fr-FR.ts +3 -0
  223. package/corpus/templates/dispatch/app/i18n/hi-IN.ts +3 -0
  224. package/corpus/templates/dispatch/app/i18n/index.ts +31 -0
  225. package/corpus/templates/dispatch/app/i18n/ja-JP.ts +3 -0
  226. package/corpus/templates/dispatch/app/i18n/ko-KR.ts +3 -0
  227. package/corpus/templates/dispatch/app/i18n/pt-BR.ts +3 -0
  228. package/corpus/templates/dispatch/app/i18n/zh-CN.ts +3 -0
  229. package/corpus/templates/dispatch/app/i18n-data.ts +267 -0
  230. package/corpus/templates/dispatch/app/root.tsx +18 -4
  231. package/corpus/templates/dispatch/app/routes/settings.tsx +86 -0
  232. package/corpus/templates/dispatch/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  233. package/corpus/templates/dispatch/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  234. package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +6 -0
  235. package/corpus/templates/forms/app/components/layout/Header.tsx +16 -9
  236. package/corpus/templates/forms/app/components/layout/Layout.tsx +6 -4
  237. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +34 -17
  238. package/corpus/templates/forms/app/i18n/ar-SA.ts +58 -0
  239. package/corpus/templates/forms/app/i18n/de-DE.ts +59 -0
  240. package/corpus/templates/forms/app/i18n/en-US.ts +59 -0
  241. package/corpus/templates/forms/app/i18n/es-ES.ts +59 -0
  242. package/corpus/templates/forms/app/i18n/fr-FR.ts +59 -0
  243. package/corpus/templates/forms/app/i18n/hi-IN.ts +59 -0
  244. package/corpus/templates/forms/app/i18n/index.ts +31 -0
  245. package/corpus/templates/forms/app/i18n/ja-JP.ts +59 -0
  246. package/corpus/templates/forms/app/i18n/ko-KR.ts +59 -0
  247. package/corpus/templates/forms/app/i18n/pt-BR.ts +59 -0
  248. package/corpus/templates/forms/app/i18n/zh-CN.ts +56 -0
  249. package/corpus/templates/forms/app/root.tsx +65 -16
  250. package/corpus/templates/forms/app/routes/_app.settings.tsx +85 -0
  251. package/corpus/templates/forms/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  252. package/corpus/templates/forms/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  253. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +29 -17
  254. package/corpus/templates/macros/app/components/layout/Header.tsx +16 -10
  255. package/corpus/templates/macros/app/i18n/ar-SA.ts +54 -0
  256. package/corpus/templates/macros/app/i18n/de-DE.ts +55 -0
  257. package/corpus/templates/macros/app/i18n/en-US.ts +55 -0
  258. package/corpus/templates/macros/app/i18n/es-ES.ts +55 -0
  259. package/corpus/templates/macros/app/i18n/fr-FR.ts +55 -0
  260. package/corpus/templates/macros/app/i18n/hi-IN.ts +55 -0
  261. package/corpus/templates/macros/app/i18n/index.ts +31 -0
  262. package/corpus/templates/macros/app/i18n/ja-JP.ts +55 -0
  263. package/corpus/templates/macros/app/i18n/ko-KR.ts +55 -0
  264. package/corpus/templates/macros/app/i18n/pt-BR.ts +55 -0
  265. package/corpus/templates/macros/app/i18n/zh-CN.ts +53 -0
  266. package/corpus/templates/macros/app/root.tsx +65 -15
  267. package/corpus/templates/macros/app/routes/settings.tsx +85 -0
  268. package/corpus/templates/macros/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  269. package/corpus/templates/macros/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  270. package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +6 -0
  271. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +9 -4
  272. package/corpus/templates/mail/app/i18n/ar-SA.ts +33 -0
  273. package/corpus/templates/mail/app/i18n/de-DE.ts +33 -0
  274. package/corpus/templates/mail/app/i18n/en-US.ts +32 -0
  275. package/corpus/templates/mail/app/i18n/es-ES.ts +33 -0
  276. package/corpus/templates/mail/app/i18n/fr-FR.ts +33 -0
  277. package/corpus/templates/mail/app/i18n/hi-IN.ts +32 -0
  278. package/corpus/templates/mail/app/i18n/index.ts +31 -0
  279. package/corpus/templates/mail/app/i18n/ja-JP.ts +32 -0
  280. package/corpus/templates/mail/app/i18n/ko-KR.ts +33 -0
  281. package/corpus/templates/mail/app/i18n/pt-BR.ts +34 -0
  282. package/corpus/templates/mail/app/i18n/zh-CN.ts +32 -0
  283. package/corpus/templates/mail/app/pages/SettingsPage.tsx +67 -13
  284. package/corpus/templates/mail/app/root.tsx +20 -0
  285. package/corpus/templates/mail/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  286. package/corpus/templates/mail/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
  287. package/corpus/templates/plan/.agents/skills/adding-a-feature/SKILL.md +5 -0
  288. package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +6 -0
  289. package/corpus/templates/plan/.agents/skills/visual-plan/references/wireframe.md +22 -4
  290. package/corpus/templates/plan/.agents/skills/visual-recap/references/wireframe.md +22 -4
  291. package/corpus/templates/plan/app/components/layout/Header.tsx +19 -12
  292. package/corpus/templates/plan/app/components/layout/Layout.tsx +11 -7
  293. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +41 -28
  294. package/corpus/templates/plan/app/i18n/ar-SA.ts +77 -0
  295. package/corpus/templates/plan/app/i18n/de-DE.ts +78 -0
  296. package/corpus/templates/plan/app/i18n/en-US.ts +78 -0
  297. package/corpus/templates/plan/app/i18n/es-ES.ts +78 -0
  298. package/corpus/templates/plan/app/i18n/fr-FR.ts +78 -0
  299. package/corpus/templates/plan/app/i18n/hi-IN.ts +78 -0
  300. package/corpus/templates/plan/app/i18n/index.ts +31 -0
  301. package/corpus/templates/plan/app/i18n/ja-JP.ts +79 -0
  302. package/corpus/templates/plan/app/i18n/ko-KR.ts +77 -0
  303. package/corpus/templates/plan/app/i18n/pt-BR.ts +78 -0
  304. package/corpus/templates/plan/app/i18n/zh-CN.ts +74 -0
  305. package/corpus/templates/plan/app/root.tsx +45 -8
  306. package/corpus/templates/plan/app/routes/settings.tsx +86 -0
  307. package/corpus/templates/plan/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  308. package/corpus/templates/plan/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  309. package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +6 -0
  310. package/corpus/templates/slides/app/components/layout/Header.tsx +23 -11
  311. package/corpus/templates/slides/app/components/layout/Layout.tsx +7 -6
  312. package/corpus/templates/slides/app/components/layout/Sidebar.tsx +23 -11
  313. package/corpus/templates/slides/app/i18n/ar-SA.ts +54 -0
  314. package/corpus/templates/slides/app/i18n/de-DE.ts +56 -0
  315. package/corpus/templates/slides/app/i18n/en-US.ts +55 -0
  316. package/corpus/templates/slides/app/i18n/es-ES.ts +55 -0
  317. package/corpus/templates/slides/app/i18n/fr-FR.ts +55 -0
  318. package/corpus/templates/slides/app/i18n/hi-IN.ts +55 -0
  319. package/corpus/templates/slides/app/i18n/index.ts +31 -0
  320. package/corpus/templates/slides/app/i18n/ja-JP.ts +55 -0
  321. package/corpus/templates/slides/app/i18n/ko-KR.ts +55 -0
  322. package/corpus/templates/slides/app/i18n/pt-BR.ts +55 -0
  323. package/corpus/templates/slides/app/i18n/zh-CN.ts +53 -0
  324. package/corpus/templates/slides/app/root.tsx +50 -8
  325. package/corpus/templates/slides/app/routes/settings.tsx +85 -0
  326. package/corpus/templates/slides/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  327. package/corpus/templates/slides/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  328. package/corpus/templates/videos/.agents/skills/self-modifying-code/SKILL.md +6 -0
  329. package/corpus/templates/videos/app/components/NewCompositionPopover.tsx +14 -9
  330. package/corpus/templates/videos/app/components/Sidebar.tsx +16 -9
  331. package/corpus/templates/videos/app/components/StudioHeader.tsx +12 -8
  332. package/corpus/templates/videos/app/components/layout/Header.tsx +21 -15
  333. package/corpus/templates/videos/app/components/layout/Layout.tsx +10 -7
  334. package/corpus/templates/videos/app/components/layout/NavSidebar.tsx +21 -6
  335. package/corpus/templates/videos/app/i18n/ar-SA.ts +73 -0
  336. package/corpus/templates/videos/app/i18n/de-DE.ts +75 -0
  337. package/corpus/templates/videos/app/i18n/en-US.ts +74 -0
  338. package/corpus/templates/videos/app/i18n/es-ES.ts +75 -0
  339. package/corpus/templates/videos/app/i18n/fr-FR.ts +75 -0
  340. package/corpus/templates/videos/app/i18n/hi-IN.ts +74 -0
  341. package/corpus/templates/videos/app/i18n/index.ts +31 -0
  342. package/corpus/templates/videos/app/i18n/ja-JP.ts +74 -0
  343. package/corpus/templates/videos/app/i18n/ko-KR.ts +74 -0
  344. package/corpus/templates/videos/app/i18n/pt-BR.ts +75 -0
  345. package/corpus/templates/videos/app/i18n/zh-CN.ts +72 -0
  346. package/corpus/templates/videos/app/pages/Index.tsx +11 -9
  347. package/corpus/templates/videos/app/root.tsx +45 -7
  348. package/corpus/templates/videos/app/routes/settings.tsx +85 -0
  349. package/corpus/templates/videos/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  350. package/corpus/templates/videos/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  351. package/dist/agent/durable-background.d.ts +32 -28
  352. package/dist/agent/durable-background.d.ts.map +1 -1
  353. package/dist/agent/durable-background.js +59 -28
  354. package/dist/agent/durable-background.js.map +1 -1
  355. package/dist/agent/production-agent.d.ts.map +1 -1
  356. package/dist/agent/production-agent.js +16 -12
  357. package/dist/agent/production-agent.js.map +1 -1
  358. package/dist/cli/skills.d.ts +1 -1
  359. package/dist/cli/skills.d.ts.map +1 -1
  360. package/dist/cli/skills.js +22 -4
  361. package/dist/cli/skills.js.map +1 -1
  362. package/dist/client/CommandMenu.d.ts +3 -0
  363. package/dist/client/CommandMenu.d.ts.map +1 -1
  364. package/dist/client/CommandMenu.js +9 -0
  365. package/dist/client/CommandMenu.js.map +1 -1
  366. package/dist/client/app-providers.d.ts +8 -1
  367. package/dist/client/app-providers.d.ts.map +1 -1
  368. package/dist/client/app-providers.js +7 -5
  369. package/dist/client/app-providers.js.map +1 -1
  370. package/dist/client/i18n.d.ts +54 -0
  371. package/dist/client/i18n.d.ts.map +1 -0
  372. package/dist/client/i18n.js +354 -0
  373. package/dist/client/i18n.js.map +1 -0
  374. package/dist/client/index.d.ts +2 -1
  375. package/dist/client/index.d.ts.map +1 -1
  376. package/dist/client/index.js +2 -1
  377. package/dist/client/index.js.map +1 -1
  378. package/dist/deploy/build.d.ts +32 -36
  379. package/dist/deploy/build.d.ts.map +1 -1
  380. package/dist/deploy/build.js +47 -104
  381. package/dist/deploy/build.js.map +1 -1
  382. package/dist/deploy/workspace-deploy.js +62 -30
  383. package/dist/deploy/workspace-deploy.js.map +1 -1
  384. package/dist/index.browser.d.ts +1 -1
  385. package/dist/index.browser.d.ts.map +1 -1
  386. package/dist/index.browser.js +1 -1
  387. package/dist/index.browser.js.map +1 -1
  388. package/dist/localization/actions/get-localization-preference.d.ts +4 -0
  389. package/dist/localization/actions/get-localization-preference.d.ts.map +1 -0
  390. package/dist/localization/actions/get-localization-preference.js +16 -0
  391. package/dist/localization/actions/get-localization-preference.js.map +1 -0
  392. package/dist/localization/actions/set-localization-preference.d.ts +6 -0
  393. package/dist/localization/actions/set-localization-preference.d.ts.map +1 -0
  394. package/dist/localization/actions/set-localization-preference.js +24 -0
  395. package/dist/localization/actions/set-localization-preference.js.map +1 -0
  396. package/dist/localization/index.d.ts +3 -0
  397. package/dist/localization/index.d.ts.map +1 -0
  398. package/dist/localization/index.js +3 -0
  399. package/dist/localization/index.js.map +1 -0
  400. package/dist/localization/server.d.ts +25 -0
  401. package/dist/localization/server.d.ts.map +1 -0
  402. package/dist/localization/server.js +69 -0
  403. package/dist/localization/server.js.map +1 -0
  404. package/dist/localization/shared.d.ts +25 -0
  405. package/dist/localization/shared.d.ts.map +1 -0
  406. package/dist/localization/shared.js +134 -0
  407. package/dist/localization/shared.js.map +1 -0
  408. package/dist/server/action-discovery.d.ts.map +1 -1
  409. package/dist/server/action-discovery.js +8 -0
  410. package/dist/server/action-discovery.js.map +1 -1
  411. package/dist/server/index.d.ts +1 -0
  412. package/dist/server/index.d.ts.map +1 -1
  413. package/dist/server/index.js +1 -0
  414. package/dist/server/index.js.map +1 -1
  415. package/dist/server/self-dispatch.d.ts +0 -10
  416. package/dist/server/self-dispatch.d.ts.map +1 -1
  417. package/dist/server/self-dispatch.js +27 -2
  418. package/dist/server/self-dispatch.js.map +1 -1
  419. package/dist/templates/default/.agents/skills/adding-a-feature/SKILL.md +5 -0
  420. package/dist/templates/default/.agents/skills/internationalization/SKILL.md +77 -0
  421. package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +6 -0
  422. package/dist/templates/default/AGENTS.md +16 -15
  423. package/dist/templates/default/app/i18n/en-US.ts +29 -0
  424. package/dist/templates/default/app/i18n/index.ts +13 -0
  425. package/dist/templates/default/app/root.tsx +20 -1
  426. package/dist/templates/default/app/routes/_index.tsx +24 -9
  427. package/dist/templates/default/app/routes/settings.tsx +67 -0
  428. package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +5 -0
  429. package/dist/templates/workspace-core/.agents/skills/internationalization/SKILL.md +77 -0
  430. package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +6 -0
  431. package/dist/vite/action-types-plugin.d.ts.map +1 -1
  432. package/dist/vite/action-types-plugin.js +8 -0
  433. package/dist/vite/action-types-plugin.js.map +1 -1
  434. package/docs/AGENTS.md +1 -0
  435. package/docs/content/client.md +15 -0
  436. package/docs/content/internationalization.md +145 -0
  437. package/docs/content/locales/ar-SA/internationalization.md +102 -0
  438. package/docs/content/locales/de-DE/internationalization.md +102 -0
  439. package/docs/content/locales/es-ES/internationalization.md +102 -0
  440. package/docs/content/locales/fr-FR/internationalization.md +102 -0
  441. package/docs/content/locales/hi-IN/internationalization.md +102 -0
  442. package/docs/content/locales/ja-JP/internationalization.md +114 -0
  443. package/docs/content/locales/ko-KR/internationalization.md +102 -0
  444. package/docs/content/locales/pt-BR/internationalization.md +102 -0
  445. package/docs/content/locales/zh-CN/internationalization.md +102 -0
  446. package/docs/content/skills-guide.md +19 -18
  447. package/package.json +7 -1
  448. package/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +5 -0
  449. package/src/templates/default/.agents/skills/internationalization/SKILL.md +77 -0
  450. package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +6 -0
  451. package/src/templates/default/AGENTS.md +16 -15
  452. package/src/templates/default/app/i18n/en-US.ts +29 -0
  453. package/src/templates/default/app/i18n/index.ts +13 -0
  454. package/src/templates/default/app/root.tsx +20 -1
  455. package/src/templates/default/app/routes/_index.tsx +24 -9
  456. package/src/templates/default/app/routes/settings.tsx +67 -0
  457. package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +5 -0
  458. package/src/templates/workspace-core/.agents/skills/internationalization/SKILL.md +77 -0
  459. package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +6 -0
@@ -1,28 +1,32 @@
1
1
  import { useLocation } from "react-router";
2
2
  import { IconMenu2 } from "@tabler/icons-react";
3
3
  import { useHeaderTitle, useHeaderActions } from "./HeaderActions";
4
- import { AgentToggleButton } from "@agent-native/core/client";
4
+ import {
5
+ AgentToggleButton,
6
+ LanguagePicker,
7
+ useT,
8
+ } from "@agent-native/core/client";
5
9
  import { compositions } from "@/remotion/registry";
6
10
 
7
- const pageTitles: Record<string, string> = {
8
- "/": "Videos",
9
- "/components": "Components",
10
- "/design-systems": "Design Systems",
11
- "/team": "Team",
12
- "/settings": "Settings",
11
+ const pageTitleKeys: Record<string, string> = {
12
+ "/": "header.videos",
13
+ "/components": "header.components",
14
+ "/design-systems": "header.designSystems",
15
+ "/team": "header.team",
16
+ "/settings": "header.settings",
13
17
  };
14
18
 
15
- function resolveTitle(pathname: string): string {
16
- if (pageTitles[pathname]) return pageTitles[pathname];
17
- if (pathname.startsWith("/extensions")) return "Extensions";
19
+ function resolveTitle(pathname: string, t: ReturnType<typeof useT>): string {
20
+ if (pageTitleKeys[pathname]) return t(pageTitleKeys[pathname]);
21
+ if (pathname.startsWith("/extensions")) return t("header.extensions");
18
22
  const studioMatch = pathname.match(/^\/c\/(.+)$/);
19
23
  if (studioMatch) {
20
24
  const id = studioMatch[1];
21
- if (id === "new") return "New Composition";
25
+ if (id === "new") return t("header.newComposition");
22
26
  const comp = compositions.find((c) => c.id === id);
23
- return comp?.title || "Studio";
27
+ return comp?.title || t("header.studio");
24
28
  }
25
- return "Videos";
29
+ return t("header.videos");
26
30
  }
27
31
 
28
32
  interface HeaderProps {
@@ -33,6 +37,7 @@ export function Header({ onOpenMobileSidebar }: HeaderProps) {
33
37
  const location = useLocation();
34
38
  const title = useHeaderTitle();
35
39
  const actions = useHeaderActions();
40
+ const t = useT();
36
41
 
37
42
  return (
38
43
  <header className="flex h-12 items-center gap-3 border-b border-border bg-background px-4 lg:px-6 shrink-0">
@@ -40,7 +45,7 @@ export function Header({ onOpenMobileSidebar }: HeaderProps) {
40
45
  <button
41
46
  type="button"
42
47
  onClick={onOpenMobileSidebar}
43
- aria-label="Open navigation"
48
+ aria-label={t("sidebar.openNavigation")}
44
49
  className="flex h-9 w-9 cursor-pointer items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-accent md:hidden"
45
50
  >
46
51
  <IconMenu2 className="h-4 w-4" />
@@ -49,12 +54,13 @@ export function Header({ onOpenMobileSidebar }: HeaderProps) {
49
54
  <div className="flex items-center gap-3 flex-1 min-w-0">
50
55
  {title ?? (
51
56
  <h1 className="text-lg font-semibold tracking-tight truncate">
52
- {resolveTitle(location.pathname)}
57
+ {resolveTitle(location.pathname, t)}
53
58
  </h1>
54
59
  )}
55
60
  </div>
56
61
  <div className="flex items-center gap-2 shrink-0">
57
62
  {actions}
63
+ <LanguagePicker variant="icon" />
58
64
  <AgentToggleButton />
59
65
  </div>
60
66
  </header>
@@ -4,7 +4,7 @@ import { IconMenu2 } from "@tabler/icons-react";
4
4
  import { NavSidebar } from "./NavSidebar";
5
5
  import { Header } from "./Header";
6
6
  import { HeaderActionsProvider } from "./HeaderActions";
7
- import { AgentSidebar } from "@agent-native/core/client";
7
+ import { AgentSidebar, useT } from "@agent-native/core/client";
8
8
  import { InvitationBanner } from "@agent-native/core/client/org";
9
9
  import { Sheet, SheetContent, SheetTitle } from "@/components/ui/sheet";
10
10
 
@@ -35,6 +35,7 @@ function routeOwnsToolbar(pathname: string): boolean {
35
35
 
36
36
  export function Layout({ children }: LayoutProps) {
37
37
  const location = useLocation();
38
+ const t = useT();
38
39
  const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false);
39
40
 
40
41
  useEffect(() => {
@@ -59,18 +60,20 @@ export function Layout({ children }: LayoutProps) {
59
60
  </div>
60
61
  <Sheet open={mobileSidebarOpen} onOpenChange={setMobileSidebarOpen}>
61
62
  <SheetContent side="left" className="p-0 w-[260px]">
62
- <SheetTitle className="sr-only">Navigation</SheetTitle>
63
+ <SheetTitle className="sr-only">
64
+ {t("sidebar.navigation")}
65
+ </SheetTitle>
63
66
  <NavSidebar />
64
67
  </SheetContent>
65
68
  </Sheet>
66
69
  <AgentSidebar
67
70
  position="right"
68
71
  defaultOpen
69
- emptyStateText="Ask me anything about your videos"
72
+ emptyStateText={t("agent.emptyState")}
70
73
  suggestions={[
71
- "Make a logo reveal for Acme",
72
- "Add a camera zoom on this scene",
73
- "Slow down the intro animation",
74
+ t("agent.suggestionLogo"),
75
+ t("agent.suggestionZoom"),
76
+ t("agent.suggestionSlow"),
74
77
  ]}
75
78
  >
76
79
  <div className="flex h-full flex-1 flex-col overflow-hidden">
@@ -79,7 +82,7 @@ export function Layout({ children }: LayoutProps) {
79
82
  <button
80
83
  type="button"
81
84
  onClick={() => setMobileSidebarOpen(true)}
82
- aria-label="Open navigation"
85
+ aria-label={t("sidebar.openNavigation")}
83
86
  className="flex h-9 w-9 cursor-pointer items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-accent"
84
87
  >
85
88
  <IconMenu2 className="h-4 w-4" />
@@ -3,6 +3,7 @@ import {
3
3
  IconVideo,
4
4
  IconComponents,
5
5
  IconPalette,
6
+ IconSettings,
6
7
  IconUsers,
7
8
  } from "@tabler/icons-react";
8
9
  import { cn } from "@/lib/utils";
@@ -11,18 +12,29 @@ import {
11
12
  DevDatabaseLink,
12
13
  FeedbackButton,
13
14
  appPath,
15
+ useT,
14
16
  } from "@agent-native/core/client";
15
17
  import { OrgSwitcher } from "@agent-native/core/client/org";
16
18
 
17
19
  const navItems = [
18
- { icon: IconVideo, label: "Animations", href: "/" },
19
- { icon: IconComponents, label: "Components", href: "/components" },
20
- { icon: IconPalette, label: "Design Systems", href: "/design-systems" },
21
- { icon: IconUsers, label: "Team", href: "/team" },
20
+ { icon: IconVideo, labelKey: "navigation.animations", href: "/" },
21
+ {
22
+ icon: IconComponents,
23
+ labelKey: "navigation.components",
24
+ href: "/components",
25
+ },
26
+ {
27
+ icon: IconPalette,
28
+ labelKey: "navigation.designSystems",
29
+ href: "/design-systems",
30
+ },
31
+ { icon: IconSettings, labelKey: "navigation.settings", href: "/settings" },
32
+ { icon: IconUsers, labelKey: "navigation.team", href: "/team" },
22
33
  ];
23
34
 
24
35
  export function NavSidebar() {
25
36
  const location = useLocation();
37
+ const t = useT();
26
38
 
27
39
  return (
28
40
  <aside className="flex h-full w-56 shrink-0 flex-col border-r border-border bg-sidebar text-sidebar-foreground">
@@ -39,7 +51,9 @@ export function NavSidebar() {
39
51
  aria-hidden="true"
40
52
  className="hidden h-4 w-auto shrink-0 dark:block"
41
53
  />
42
- <span className="text-sm font-semibold tracking-tight">Videos</span>
54
+ <span className="text-sm font-semibold tracking-tight">
55
+ {t("navigation.brand")}
56
+ </span>
43
57
  </div>
44
58
 
45
59
  <nav className="flex-1 overflow-y-auto px-2 py-2 space-y-1">
@@ -49,6 +63,7 @@ export function NavSidebar() {
49
63
  item.href === "/"
50
64
  ? !location.pathname.startsWith("/components") &&
51
65
  !location.pathname.startsWith("/design-systems") &&
66
+ !location.pathname.startsWith("/settings") &&
52
67
  !location.pathname.startsWith("/team") &&
53
68
  !location.pathname.startsWith("/extensions")
54
69
  : location.pathname.startsWith(item.href);
@@ -64,7 +79,7 @@ export function NavSidebar() {
64
79
  )}
65
80
  >
66
81
  <Icon className="h-4 w-4 shrink-0" />
67
- {item.label}
82
+ {t(item.labelKey)}
68
83
  </Link>
69
84
  );
70
85
  })}
@@ -0,0 +1,73 @@
1
+ const messages = {
2
+ root: {
3
+ commandVideos: "الفيديوهات",
4
+ searchCompositions: "البحث في التركيبات",
5
+ commandAppearance: "المظهر",
6
+ toggleTheme: "تبديل السمة",
7
+ },
8
+ header: {
9
+ videos: "الفيديوهات",
10
+ components: "المكونات",
11
+ designSystems: "أنظمة التصميم",
12
+ team: "الفريق",
13
+ settings: "الإعدادات",
14
+ extensions: "الإضافات",
15
+ newComposition: "تركيبة جديدة",
16
+ studio: "الاستوديو",
17
+ },
18
+ navigation: {
19
+ settings: "الإعدادات",
20
+ brand: "Videos",
21
+ animations: "الرسوم المتحركة",
22
+ components: "المكونات",
23
+ designSystems: "أنظمة التصميم",
24
+ team: "الفريق",
25
+ },
26
+ settings: {
27
+ title: "الإعدادات",
28
+ description: "تفضيلات اللغة ومساحة العمل لهذا التطبيق.",
29
+ languageTitle: "اللغة",
30
+ languageDescription: "اختر لغة الواجهة. يتم حفظ هذا التفضيل في حسابك.",
31
+ languageLabel: "لغة الواجهة",
32
+ workspaceTitle: "مساحة العمل",
33
+ workspaceDescription:
34
+ "إدارة أعضاء الفريق ووصول المؤسسة وتفضيلات مساحة العمل المشتركة.",
35
+ openTeamSettings: "فتح إعدادات الفريق",
36
+ openResourceSettings: "فتح إعدادات الموارد",
37
+ agentTitle: "إعدادات الوكيل",
38
+ agentDescription:
39
+ "افتح إعدادات الوكيل في الشريط الجانبي لإدارة النموذج ومفاتيح API والأتمتة والصوت وعناصر التحكم الأخرى.",
40
+ openAgentSettings: "فتح إعدادات الوكيل",
41
+ },
42
+ agent: {
43
+ emptyState: "اسألني أي شيء عن فيديوهاتك",
44
+ suggestionLogo: "أنشئ كشف شعار لشركة Acme",
45
+ suggestionZoom: "أضف تكبير كاميرا إلى هذا المشهد",
46
+ suggestionSlow: "أبطئ حركة المقدمة",
47
+ },
48
+ sidebar: {
49
+ navigation: "التنقل",
50
+ openNavigation: "فتح التنقل",
51
+ },
52
+ studio: {
53
+ closeSidebar: "إغلاق الشريط الجانبي",
54
+ openSidebar: "فتح الشريط الجانبي",
55
+ share: "مشاركة",
56
+ shareVideos: "مشاركة الفيديوهات",
57
+ shareVideosDescription:
58
+ "لمشاركة الفيديوهات أو تصديرها، صِل قاعدة بيانات سحابية حتى يمكن الوصول إلى تركيباتك من أي مكان.",
59
+ compositions: "التركيبات",
60
+ properties: "الخصائص",
61
+ },
62
+ newComposition: {
63
+ runFailed: "فشل تشغيل الوكيل قبل إنشاء التركيبة.",
64
+ readFailed: "تعذرت قراءة المرفق.",
65
+ startFailed: "تعذر بدء طلب التركيبة.",
66
+ button: "تركيبة جديدة",
67
+ title: "تركيبة جديدة",
68
+ description: "صف الفيديو الذي تريد إنشاءه",
69
+ placeholder: "صف الفيديو الذي تريد إنشاءه...",
70
+ },
71
+ };
72
+
73
+ export default messages;
@@ -0,0 +1,75 @@
1
+ const messages = {
2
+ root: {
3
+ commandVideos: "Videos",
4
+ searchCompositions: "Kompositionen suchen",
5
+ commandAppearance: "Darstellung",
6
+ toggleTheme: "Design wechseln",
7
+ },
8
+ header: {
9
+ videos: "Videos",
10
+ components: "Komponenten",
11
+ designSystems: "Designsysteme",
12
+ team: "Team",
13
+ settings: "Einstellungen",
14
+ extensions: "Erweiterungen",
15
+ newComposition: "Neue Komposition",
16
+ studio: "Studio",
17
+ },
18
+ navigation: {
19
+ settings: "Einstellungen",
20
+ brand: "Videos",
21
+ animations: "Animationen",
22
+ components: "Komponenten",
23
+ designSystems: "Designsysteme",
24
+ team: "Team",
25
+ },
26
+ settings: {
27
+ title: "Einstellungen",
28
+ description: "Sprach- und Arbeitsbereichseinstellungen für diese App.",
29
+ languageTitle: "Sprache",
30
+ languageDescription:
31
+ "Wähle die Sprache der Oberfläche. Diese Einstellung wird in deinem Konto gespeichert.",
32
+ languageLabel: "Oberflächensprache",
33
+ workspaceTitle: "Arbeitsbereich",
34
+ workspaceDescription:
35
+ "Verwalte Teammitglieder, Organisationszugriff und gemeinsame Arbeitsbereichseinstellungen.",
36
+ openTeamSettings: "Teameinstellungen öffnen",
37
+ openResourceSettings: "Ressourceneinstellungen öffnen",
38
+ agentTitle: "Agent-Einstellungen",
39
+ agentDescription:
40
+ "Öffne die Agent-Einstellungen in der Seitenleiste für Modell, API-Schlüssel, Automatisierungen, Sprache und weitere Steuerungen.",
41
+ openAgentSettings: "Agent-Einstellungen öffnen",
42
+ },
43
+ agent: {
44
+ emptyState: "Frag mich alles zu deinen Videos",
45
+ suggestionLogo: "Erstelle ein Logo-Reveal für Acme",
46
+ suggestionZoom: "Füge in dieser Szene einen Kamera-Zoom hinzu",
47
+ suggestionSlow: "Verlangsame die Intro-Animation",
48
+ },
49
+ sidebar: {
50
+ navigation: "Navigation",
51
+ openNavigation: "Navigation öffnen",
52
+ },
53
+ studio: {
54
+ closeSidebar: "Seitenleiste schließen",
55
+ openSidebar: "Seitenleiste öffnen",
56
+ share: "Teilen",
57
+ shareVideos: "Videos teilen",
58
+ shareVideosDescription:
59
+ "Zum Teilen oder Exportieren von Videos verbinde eine Cloud-Datenbank, damit deine Kompositionen von überall erreichbar sind.",
60
+ compositions: "Kompositionen",
61
+ properties: "Eigenschaften",
62
+ },
63
+ newComposition: {
64
+ runFailed:
65
+ "Der Agentenlauf ist fehlgeschlagen, bevor die Komposition erstellt werden konnte.",
66
+ readFailed: "Anhang konnte nicht gelesen werden.",
67
+ startFailed: "Kompositionsanfrage konnte nicht gestartet werden.",
68
+ button: "Neue Komposition",
69
+ title: "Neue Komposition",
70
+ description: "Beschreibe das Video, das du erstellen möchtest",
71
+ placeholder: "Beschreibe das Video, das du erstellen möchtest...",
72
+ },
73
+ };
74
+
75
+ export default messages;
@@ -0,0 +1,74 @@
1
+ const messages = {
2
+ root: {
3
+ commandVideos: "Videos",
4
+ searchCompositions: "Search compositions",
5
+ commandAppearance: "Appearance",
6
+ toggleTheme: "Toggle theme",
7
+ },
8
+ header: {
9
+ videos: "Videos",
10
+ components: "Components",
11
+ designSystems: "Design Systems",
12
+ team: "Team",
13
+ settings: "Settings",
14
+ extensions: "Extensions",
15
+ newComposition: "New Composition",
16
+ studio: "Studio",
17
+ },
18
+ navigation: {
19
+ settings: "Settings",
20
+ brand: "Videos",
21
+ animations: "Animations",
22
+ components: "Components",
23
+ designSystems: "Design Systems",
24
+ team: "Team",
25
+ },
26
+ settings: {
27
+ title: "Settings",
28
+ description: "Language and workspace preferences for this app.",
29
+ languageTitle: "Language",
30
+ languageDescription:
31
+ "Choose the interface language. This preference is saved for your account.",
32
+ languageLabel: "Interface language",
33
+ workspaceTitle: "Workspace",
34
+ workspaceDescription:
35
+ "Manage team members, organization access, and shared workspace preferences.",
36
+ openTeamSettings: "Open team settings",
37
+ openResourceSettings: "Open resource settings",
38
+ agentTitle: "Agent settings",
39
+ agentDescription:
40
+ "Open the agent sidebar settings for model, API keys, automations, voice, and other agent controls.",
41
+ openAgentSettings: "Open agent settings",
42
+ },
43
+ agent: {
44
+ emptyState: "Ask me anything about your videos",
45
+ suggestionLogo: "Make a logo reveal for Acme",
46
+ suggestionZoom: "Add a camera zoom on this scene",
47
+ suggestionSlow: "Slow down the intro animation",
48
+ },
49
+ sidebar: {
50
+ navigation: "Navigation",
51
+ openNavigation: "Open navigation",
52
+ },
53
+ studio: {
54
+ closeSidebar: "Close sidebar",
55
+ openSidebar: "Open sidebar",
56
+ share: "Share",
57
+ shareVideos: "Share Videos",
58
+ shareVideosDescription:
59
+ "To share or export videos, connect a cloud database so your compositions can be accessed from anywhere.",
60
+ compositions: "Compositions",
61
+ properties: "Properties",
62
+ },
63
+ newComposition: {
64
+ runFailed: "The agent run failed before the composition could be created.",
65
+ readFailed: "Could not read attachment.",
66
+ startFailed: "Could not start the composition request.",
67
+ button: "New Composition",
68
+ title: "New composition",
69
+ description: "Describe the video you want to create",
70
+ placeholder: "Describe the video you want to create...",
71
+ },
72
+ };
73
+
74
+ export default messages;
@@ -0,0 +1,75 @@
1
+ const messages = {
2
+ root: {
3
+ commandVideos: "Vídeos",
4
+ searchCompositions: "Buscar composiciones",
5
+ commandAppearance: "Apariencia",
6
+ toggleTheme: "Cambiar tema",
7
+ },
8
+ header: {
9
+ videos: "Vídeos",
10
+ components: "Componentes",
11
+ designSystems: "Sistemas de diseño",
12
+ team: "Equipo",
13
+ settings: "Ajustes",
14
+ extensions: "Extensiones",
15
+ newComposition: "Nueva composición",
16
+ studio: "Estudio",
17
+ },
18
+ navigation: {
19
+ settings: "Ajustes",
20
+ brand: "Videos",
21
+ animations: "Animaciones",
22
+ components: "Componentes",
23
+ designSystems: "Sistemas de diseño",
24
+ team: "Equipo",
25
+ },
26
+ settings: {
27
+ title: "Ajustes",
28
+ description: "Preferencias de idioma y espacio de trabajo para esta app.",
29
+ languageTitle: "Idioma",
30
+ languageDescription:
31
+ "Elige el idioma de la interfaz. Esta preferencia se guarda en tu cuenta.",
32
+ languageLabel: "Idioma de la interfaz",
33
+ workspaceTitle: "Espacio de trabajo",
34
+ workspaceDescription:
35
+ "Gestiona miembros del equipo, acceso de la organización y preferencias compartidas.",
36
+ openTeamSettings: "Abrir ajustes del equipo",
37
+ openResourceSettings: "Abrir ajustes de recursos",
38
+ agentTitle: "Ajustes del agente",
39
+ agentDescription:
40
+ "Abre los ajustes del agente en la barra lateral para modelos, claves API, automatizaciones, voz y otros controles.",
41
+ openAgentSettings: "Abrir ajustes del agente",
42
+ },
43
+ agent: {
44
+ emptyState: "Pregúntame cualquier cosa sobre tus vídeos",
45
+ suggestionLogo: "Crea una revelación de logo para Acme",
46
+ suggestionZoom: "Agrega un zoom de cámara en esta escena",
47
+ suggestionSlow: "Ralentiza la animación de introducción",
48
+ },
49
+ sidebar: {
50
+ navigation: "Navegación",
51
+ openNavigation: "Abrir navegación",
52
+ },
53
+ studio: {
54
+ closeSidebar: "Cerrar barra lateral",
55
+ openSidebar: "Abrir barra lateral",
56
+ share: "Compartir",
57
+ shareVideos: "Compartir vídeos",
58
+ shareVideosDescription:
59
+ "Para compartir o exportar vídeos, conecta una base de datos en la nube para acceder a tus composiciones desde cualquier lugar.",
60
+ compositions: "Composiciones",
61
+ properties: "Propiedades",
62
+ },
63
+ newComposition: {
64
+ runFailed:
65
+ "La ejecución del agente falló antes de que se pudiera crear la composición.",
66
+ readFailed: "No se pudo leer el adjunto.",
67
+ startFailed: "No se pudo iniciar la solicitud de composición.",
68
+ button: "Nueva composición",
69
+ title: "Nueva composición",
70
+ description: "Describe el vídeo que quieres crear",
71
+ placeholder: "Describe el vídeo que quieres crear...",
72
+ },
73
+ };
74
+
75
+ export default messages;
@@ -0,0 +1,75 @@
1
+ const messages = {
2
+ root: {
3
+ commandVideos: "Vidéos",
4
+ searchCompositions: "Rechercher des compositions",
5
+ commandAppearance: "Apparence",
6
+ toggleTheme: "Changer de thème",
7
+ },
8
+ header: {
9
+ videos: "Vidéos",
10
+ components: "Composants",
11
+ designSystems: "Systèmes de design",
12
+ team: "Équipe",
13
+ settings: "Paramètres",
14
+ extensions: "Extensions",
15
+ newComposition: "Nouvelle composition",
16
+ studio: "Studio",
17
+ },
18
+ navigation: {
19
+ settings: "Paramètres",
20
+ brand: "Videos",
21
+ animations: "Animations",
22
+ components: "Composants",
23
+ designSystems: "Systèmes de design",
24
+ team: "Équipe",
25
+ },
26
+ settings: {
27
+ title: "Paramètres",
28
+ description: "Préférences de langue et d’espace de travail pour cette app.",
29
+ languageTitle: "Langue",
30
+ languageDescription:
31
+ "Choisissez la langue de l’interface. Cette préférence est enregistrée dans votre compte.",
32
+ languageLabel: "Langue de l’interface",
33
+ workspaceTitle: "Espace de travail",
34
+ workspaceDescription:
35
+ "Gérez les membres, l’accès de l’organisation et les préférences partagées.",
36
+ openTeamSettings: "Ouvrir les paramètres d’équipe",
37
+ openResourceSettings: "Ouvrir les paramètres des ressources",
38
+ agentTitle: "Paramètres de l’agent",
39
+ agentDescription:
40
+ "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.",
41
+ openAgentSettings: "Ouvrir les paramètres de l’agent",
42
+ },
43
+ agent: {
44
+ emptyState: "Posez-moi vos questions sur vos vidéos",
45
+ suggestionLogo: "Créer une révélation de logo pour Acme",
46
+ suggestionZoom: "Ajouter un zoom caméra à cette scène",
47
+ suggestionSlow: "Ralentir l’animation d’introduction",
48
+ },
49
+ sidebar: {
50
+ navigation: "Navigation",
51
+ openNavigation: "Ouvrir la navigation",
52
+ },
53
+ studio: {
54
+ closeSidebar: "Fermer la barre latérale",
55
+ openSidebar: "Ouvrir la barre latérale",
56
+ share: "Partager",
57
+ shareVideos: "Partager les vidéos",
58
+ shareVideosDescription:
59
+ "Pour partager ou exporter des vidéos, connectez une base de données cloud afin que vos compositions soient accessibles partout.",
60
+ compositions: "Compositions",
61
+ properties: "Propriétés",
62
+ },
63
+ newComposition: {
64
+ runFailed:
65
+ "L’exécution de l’agent a échoué avant la création de la composition.",
66
+ readFailed: "Impossible de lire la pièce jointe.",
67
+ startFailed: "Impossible de démarrer la demande de composition.",
68
+ button: "Nouvelle composition",
69
+ title: "Nouvelle composition",
70
+ description: "Décrivez la vidéo que vous voulez créer",
71
+ placeholder: "Décrivez la vidéo que vous voulez créer...",
72
+ },
73
+ };
74
+
75
+ export default messages;
@@ -0,0 +1,74 @@
1
+ const messages = {
2
+ root: {
3
+ commandVideos: "वीडियो",
4
+ searchCompositions: "कंपोज़िशन खोजें",
5
+ commandAppearance: "दिखावट",
6
+ toggleTheme: "थीम बदलें",
7
+ },
8
+ header: {
9
+ videos: "वीडियो",
10
+ components: "कंपोनेंट",
11
+ designSystems: "डिज़ाइन सिस्टम",
12
+ team: "टीम",
13
+ settings: "सेटिंग्स",
14
+ extensions: "एक्सटेंशन",
15
+ newComposition: "नई कंपोज़िशन",
16
+ studio: "स्टूडियो",
17
+ },
18
+ navigation: {
19
+ settings: "सेटिंग्स",
20
+ brand: "Videos",
21
+ animations: "एनिमेशन",
22
+ components: "कंपोनेंट",
23
+ designSystems: "डिज़ाइन सिस्टम",
24
+ team: "टीम",
25
+ },
26
+ settings: {
27
+ title: "सेटिंग्स",
28
+ description: "इस ऐप के लिए भाषा और कार्यस्थान प्राथमिकताएं।",
29
+ languageTitle: "भाषा",
30
+ languageDescription:
31
+ "इंटरफ़ेस भाषा चुनें। यह पसंद आपके खाते में सहेजी जाती है।",
32
+ languageLabel: "इंटरफ़ेस भाषा",
33
+ workspaceTitle: "कार्यस्थान",
34
+ workspaceDescription:
35
+ "टीम सदस्यों, संगठन पहुंच और साझा कार्यस्थान प्राथमिकताओं को प्रबंधित करें।",
36
+ openTeamSettings: "टीम सेटिंग्स खोलें",
37
+ openResourceSettings: "संसाधन सेटिंग्स खोलें",
38
+ agentTitle: "एजेंट सेटिंग्स",
39
+ agentDescription:
40
+ "मॉडल, API कुंजियों, ऑटोमेशन, आवाज़ और अन्य एजेंट नियंत्रणों के लिए साइडबार सेटिंग्स खोलें।",
41
+ openAgentSettings: "एजेंट सेटिंग्स खोलें",
42
+ },
43
+ agent: {
44
+ emptyState: "अपने वीडियो के बारे में मुझसे कुछ भी पूछें",
45
+ suggestionLogo: "Acme के लिए लोगो रिवील बनाएं",
46
+ suggestionZoom: "इस दृश्य में कैमरा ज़ूम जोड़ें",
47
+ suggestionSlow: "इंट्रो एनिमेशन धीमा करें",
48
+ },
49
+ sidebar: {
50
+ navigation: "नेविगेशन",
51
+ openNavigation: "नेविगेशन खोलें",
52
+ },
53
+ studio: {
54
+ closeSidebar: "साइडबार बंद करें",
55
+ openSidebar: "साइडबार खोलें",
56
+ share: "शेयर करें",
57
+ shareVideos: "वीडियो शेयर करें",
58
+ shareVideosDescription:
59
+ "वीडियो शेयर या एक्सपोर्ट करने के लिए क्लाउड डेटाबेस जोड़ें ताकि आपकी कंपोज़िशन कहीं से भी उपलब्ध हों।",
60
+ compositions: "कंपोज़िशन",
61
+ properties: "प्रॉपर्टी",
62
+ },
63
+ newComposition: {
64
+ runFailed: "कंपोज़िशन बनने से पहले एजेंट रन विफल हो गया।",
65
+ readFailed: "अटैचमेंट पढ़ा नहीं जा सका।",
66
+ startFailed: "कंपोज़िशन अनुरोध शुरू नहीं हो सका।",
67
+ button: "नई कंपोज़िशन",
68
+ title: "नई कंपोज़िशन",
69
+ description: "जिस वीडियो को बनाना चाहते हैं उसका वर्णन करें",
70
+ placeholder: "जिस वीडियो को बनाना चाहते हैं उसका वर्णन करें...",
71
+ },
72
+ };
73
+
74
+ export default messages;