@agent-native/core 0.75.5 → 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.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +7 -0
- package/corpus/core/docs/AGENTS.md +1 -0
- package/corpus/core/docs/content/client.md +15 -0
- package/corpus/core/docs/content/internationalization.md +145 -0
- package/corpus/core/docs/content/locales/ar-SA/internationalization.md +102 -0
- package/corpus/core/docs/content/locales/de-DE/internationalization.md +102 -0
- package/corpus/core/docs/content/locales/es-ES/internationalization.md +102 -0
- package/corpus/core/docs/content/locales/fr-FR/internationalization.md +102 -0
- package/corpus/core/docs/content/locales/hi-IN/internationalization.md +102 -0
- package/corpus/core/docs/content/locales/ja-JP/internationalization.md +114 -0
- package/corpus/core/docs/content/locales/ko-KR/internationalization.md +102 -0
- package/corpus/core/docs/content/locales/pt-BR/internationalization.md +102 -0
- package/corpus/core/docs/content/locales/zh-CN/internationalization.md +102 -0
- package/corpus/core/docs/content/skills-guide.md +19 -18
- package/corpus/core/package.json +7 -1
- package/corpus/core/src/client/CommandMenu.tsx +16 -0
- package/corpus/core/src/client/app-providers.tsx +26 -1
- package/corpus/core/src/client/i18n.tsx +605 -0
- package/corpus/core/src/client/index.ts +28 -0
- package/corpus/core/src/index.browser.ts +25 -0
- package/corpus/core/src/localization/actions/get-localization-preference.ts +23 -0
- package/corpus/core/src/localization/actions/set-localization-preference.ts +30 -0
- package/corpus/core/src/localization/index.ts +2 -0
- package/corpus/core/src/localization/server.ts +131 -0
- package/corpus/core/src/localization/shared.ts +163 -0
- package/corpus/core/src/server/action-discovery.ts +8 -0
- package/corpus/core/src/server/index.ts +8 -0
- package/corpus/core/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +5 -0
- package/corpus/core/src/templates/default/.agents/skills/internationalization/SKILL.md +77 -0
- package/corpus/core/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/core/src/templates/default/AGENTS.md +16 -15
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +29 -0
- package/corpus/core/src/templates/default/app/i18n/index.ts +13 -0
- package/corpus/core/src/templates/default/app/root.tsx +20 -1
- package/corpus/core/src/templates/default/app/routes/_index.tsx +24 -9
- package/corpus/core/src/templates/default/app/routes/settings.tsx +67 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +5 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/internationalization/SKILL.md +77 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/core/src/vite/action-types-plugin.ts +10 -0
- package/corpus/templates/analytics/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/analytics/app/components/layout/Header.tsx +18 -15
- package/corpus/templates/analytics/app/components/layout/Layout.tsx +7 -5
- package/corpus/templates/analytics/app/components/layout/MobileNav.tsx +9 -3
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +5 -3
- package/corpus/templates/analytics/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/analytics/app/i18n/de-DE.ts +3 -0
- package/corpus/templates/analytics/app/i18n/en-US.ts +3 -0
- package/corpus/templates/analytics/app/i18n/es-ES.ts +3 -0
- package/corpus/templates/analytics/app/i18n/fr-FR.ts +3 -0
- package/corpus/templates/analytics/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/analytics/app/i18n/index.ts +31 -0
- package/corpus/templates/analytics/app/i18n/ja-JP.ts +3 -0
- package/corpus/templates/analytics/app/i18n/ko-KR.ts +3 -0
- package/corpus/templates/analytics/app/i18n/pt-BR.ts +3 -0
- package/corpus/templates/analytics/app/i18n/zh-CN.ts +3 -0
- package/corpus/templates/analytics/app/i18n-data.ts +433 -0
- package/corpus/templates/analytics/app/pages/Settings.tsx +50 -16
- package/corpus/templates/analytics/app/root.tsx +14 -1
- package/corpus/templates/analytics/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/analytics/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
- package/corpus/templates/assets/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/assets/app/components/layout/Header.tsx +17 -8
- package/corpus/templates/assets/app/components/layout/Layout.tsx +10 -6
- package/corpus/templates/assets/app/components/layout/Sidebar.tsx +40 -23
- package/corpus/templates/assets/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/assets/app/i18n/de-DE.ts +3 -0
- package/corpus/templates/assets/app/i18n/en-US.ts +3 -0
- package/corpus/templates/assets/app/i18n/es-ES.ts +3 -0
- package/corpus/templates/assets/app/i18n/fr-FR.ts +3 -0
- package/corpus/templates/assets/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/assets/app/i18n/index.ts +31 -0
- package/corpus/templates/assets/app/i18n/ja-JP.ts +3 -0
- package/corpus/templates/assets/app/i18n/ko-KR.ts +3 -0
- package/corpus/templates/assets/app/i18n/pt-BR.ts +3 -0
- package/corpus/templates/assets/app/i18n/zh-CN.ts +3 -0
- package/corpus/templates/assets/app/i18n-data.ts +668 -0
- package/corpus/templates/assets/app/root.tsx +40 -15
- package/corpus/templates/assets/app/routes/_index.tsx +9 -10
- package/corpus/templates/assets/app/routes/settings.tsx +37 -6
- package/corpus/templates/assets/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/assets/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
- package/corpus/templates/brain/.agents/skills/adding-a-feature/SKILL.md +5 -0
- package/corpus/templates/brain/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/brain/app/components/layout/Layout.tsx +12 -8
- package/corpus/templates/brain/app/components/layout/Sidebar.tsx +23 -12
- package/corpus/templates/brain/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/brain/app/i18n/de-DE.ts +3 -0
- package/corpus/templates/brain/app/i18n/en-US.ts +3 -0
- package/corpus/templates/brain/app/i18n/es-ES.ts +3 -0
- package/corpus/templates/brain/app/i18n/fr-FR.ts +3 -0
- package/corpus/templates/brain/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/brain/app/i18n/index.ts +31 -0
- package/corpus/templates/brain/app/i18n/ja-JP.ts +3 -0
- package/corpus/templates/brain/app/i18n/ko-KR.ts +3 -0
- package/corpus/templates/brain/app/i18n/pt-BR.ts +3 -0
- package/corpus/templates/brain/app/i18n/zh-CN.ts +3 -0
- package/corpus/templates/brain/app/i18n-data.ts +624 -0
- package/corpus/templates/brain/app/root.tsx +27 -12
- package/corpus/templates/brain/app/routes/settings.tsx +45 -8
- package/corpus/templates/brain/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/brain/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
- package/corpus/templates/calendar/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +2 -0
- package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +16 -9
- package/corpus/templates/calendar/app/i18n/ar-SA.ts +57 -0
- package/corpus/templates/calendar/app/i18n/de-DE.ts +58 -0
- package/corpus/templates/calendar/app/i18n/en-US.ts +57 -0
- package/corpus/templates/calendar/app/i18n/es-ES.ts +58 -0
- package/corpus/templates/calendar/app/i18n/fr-FR.ts +58 -0
- package/corpus/templates/calendar/app/i18n/hi-IN.ts +57 -0
- package/corpus/templates/calendar/app/i18n/index.ts +31 -0
- package/corpus/templates/calendar/app/i18n/ja-JP.ts +58 -0
- package/corpus/templates/calendar/app/i18n/ko-KR.ts +57 -0
- package/corpus/templates/calendar/app/i18n/pt-BR.ts +57 -0
- package/corpus/templates/calendar/app/i18n/zh-CN.ts +57 -0
- package/corpus/templates/calendar/app/i18n-data.ts +516 -0
- package/corpus/templates/calendar/app/pages/CalendarView.tsx +2 -0
- package/corpus/templates/calendar/app/pages/Settings.tsx +63 -28
- package/corpus/templates/calendar/app/root.tsx +78 -7
- package/corpus/templates/calendar/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/calendar/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
- package/corpus/templates/chat/.agents/skills/adding-a-feature/SKILL.md +5 -0
- package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/chat/app/components/layout/Header.tsx +17 -11
- package/corpus/templates/chat/app/components/layout/Layout.tsx +12 -8
- package/corpus/templates/chat/app/components/layout/Sidebar.tsx +47 -18
- package/corpus/templates/chat/app/i18n/ar-SA.ts +62 -0
- package/corpus/templates/chat/app/i18n/de-DE.ts +63 -0
- package/corpus/templates/chat/app/i18n/en-US.ts +63 -0
- package/corpus/templates/chat/app/i18n/es-ES.ts +63 -0
- package/corpus/templates/chat/app/i18n/fr-FR.ts +63 -0
- package/corpus/templates/chat/app/i18n/hi-IN.ts +63 -0
- package/corpus/templates/chat/app/i18n/index.ts +31 -0
- package/corpus/templates/chat/app/i18n/ja-JP.ts +63 -0
- package/corpus/templates/chat/app/i18n/ko-KR.ts +63 -0
- package/corpus/templates/chat/app/i18n/pt-BR.ts +63 -0
- package/corpus/templates/chat/app/i18n/zh-CN.ts +61 -0
- package/corpus/templates/chat/app/i18n-data.ts +475 -0
- package/corpus/templates/chat/app/root.tsx +18 -5
- package/corpus/templates/chat/app/routes/_index.tsx +9 -8
- package/corpus/templates/chat/app/routes/settings.tsx +86 -0
- package/corpus/templates/chat/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
- package/corpus/templates/chat/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/clips/app/components/layout/Header.tsx +23 -17
- package/corpus/templates/clips/app/components/library/empty-state.tsx +10 -34
- package/corpus/templates/clips/app/components/library/library-layout.tsx +45 -34
- package/corpus/templates/clips/app/i18n/ar-SA.ts +182 -0
- package/corpus/templates/clips/app/i18n/de-DE.ts +184 -0
- package/corpus/templates/clips/app/i18n/en-US.ts +179 -0
- package/corpus/templates/clips/app/i18n/es-ES.ts +183 -0
- package/corpus/templates/clips/app/i18n/fr-FR.ts +184 -0
- package/corpus/templates/clips/app/i18n/hi-IN.ts +180 -0
- package/corpus/templates/clips/app/i18n/index.ts +41 -0
- package/corpus/templates/clips/app/i18n/ja-JP.ts +180 -0
- package/corpus/templates/clips/app/i18n/ko-KR.ts +178 -0
- package/corpus/templates/clips/app/i18n/pt-BR.ts +183 -0
- package/corpus/templates/clips/app/i18n/zh-CN.ts +173 -0
- package/corpus/templates/clips/app/root.tsx +104 -10
- package/corpus/templates/clips/app/routes/_app.settings._index.tsx +154 -95
- package/corpus/templates/clips/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/clips/changelog/2026-06-24-clips-now-includes-a-language-picker-and-simplified-chinese-ui.md +6 -0
- package/corpus/templates/clips/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
- package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/content/app/components/EmptyState.tsx +7 -5
- package/corpus/templates/content/app/components/ThemeToggle.tsx +4 -2
- package/corpus/templates/content/app/components/layout/Header.tsx +2 -0
- package/corpus/templates/content/app/components/layout/Layout.tsx +8 -7
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +41 -1
- package/corpus/templates/content/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/content/app/i18n/de-DE.ts +3 -0
- package/corpus/templates/content/app/i18n/en-US.ts +3 -0
- package/corpus/templates/content/app/i18n/es-ES.ts +3 -0
- package/corpus/templates/content/app/i18n/fr-FR.ts +3 -0
- package/corpus/templates/content/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/content/app/i18n/index.ts +31 -0
- package/corpus/templates/content/app/i18n/ja-JP.ts +3 -0
- package/corpus/templates/content/app/i18n/ko-KR.ts +3 -0
- package/corpus/templates/content/app/i18n/pt-BR.ts +3 -0
- package/corpus/templates/content/app/i18n/zh-CN.ts +3 -0
- package/corpus/templates/content/app/i18n-data.ts +490 -0
- package/corpus/templates/content/app/root.tsx +110 -23
- package/corpus/templates/content/app/routes/_app.settings.tsx +84 -0
- package/corpus/templates/content/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
- package/corpus/templates/content/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/design/app/components/layout/Header.tsx +16 -8
- package/corpus/templates/design/app/components/layout/Layout.tsx +8 -6
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +25 -9
- package/corpus/templates/design/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/design/app/i18n/de-DE.ts +3 -0
- package/corpus/templates/design/app/i18n/en-US.ts +3 -0
- package/corpus/templates/design/app/i18n/es-ES.ts +3 -0
- package/corpus/templates/design/app/i18n/fr-FR.ts +3 -0
- package/corpus/templates/design/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/design/app/i18n/index.ts +31 -0
- package/corpus/templates/design/app/i18n/ja-JP.ts +3 -0
- package/corpus/templates/design/app/i18n/ko-KR.ts +3 -0
- package/corpus/templates/design/app/i18n/pt-BR.ts +3 -0
- package/corpus/templates/design/app/i18n/zh-CN.ts +3 -0
- package/corpus/templates/design/app/i18n-data.ts +350 -0
- package/corpus/templates/design/app/root.tsx +40 -15
- package/corpus/templates/design/app/routes/settings.tsx +43 -0
- package/corpus/templates/design/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/design/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
- package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/dispatch/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/dispatch/app/i18n/de-DE.ts +3 -0
- package/corpus/templates/dispatch/app/i18n/en-US.ts +3 -0
- package/corpus/templates/dispatch/app/i18n/es-ES.ts +3 -0
- package/corpus/templates/dispatch/app/i18n/fr-FR.ts +3 -0
- package/corpus/templates/dispatch/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/dispatch/app/i18n/index.ts +31 -0
- package/corpus/templates/dispatch/app/i18n/ja-JP.ts +3 -0
- package/corpus/templates/dispatch/app/i18n/ko-KR.ts +3 -0
- package/corpus/templates/dispatch/app/i18n/pt-BR.ts +3 -0
- package/corpus/templates/dispatch/app/i18n/zh-CN.ts +3 -0
- package/corpus/templates/dispatch/app/i18n-data.ts +267 -0
- package/corpus/templates/dispatch/app/root.tsx +18 -4
- package/corpus/templates/dispatch/app/routes/settings.tsx +86 -0
- package/corpus/templates/dispatch/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/forms/app/components/layout/Header.tsx +16 -9
- package/corpus/templates/forms/app/components/layout/Layout.tsx +6 -4
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +34 -17
- package/corpus/templates/forms/app/i18n/ar-SA.ts +58 -0
- package/corpus/templates/forms/app/i18n/de-DE.ts +59 -0
- package/corpus/templates/forms/app/i18n/en-US.ts +59 -0
- package/corpus/templates/forms/app/i18n/es-ES.ts +59 -0
- package/corpus/templates/forms/app/i18n/fr-FR.ts +59 -0
- package/corpus/templates/forms/app/i18n/hi-IN.ts +59 -0
- package/corpus/templates/forms/app/i18n/index.ts +31 -0
- package/corpus/templates/forms/app/i18n/ja-JP.ts +59 -0
- package/corpus/templates/forms/app/i18n/ko-KR.ts +59 -0
- package/corpus/templates/forms/app/i18n/pt-BR.ts +59 -0
- package/corpus/templates/forms/app/i18n/zh-CN.ts +56 -0
- package/corpus/templates/forms/app/root.tsx +65 -16
- package/corpus/templates/forms/app/routes/_app.settings.tsx +85 -0
- package/corpus/templates/forms/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
- package/corpus/templates/forms/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/macros/app/components/layout/AppLayout.tsx +29 -17
- package/corpus/templates/macros/app/components/layout/Header.tsx +16 -10
- package/corpus/templates/macros/app/i18n/ar-SA.ts +54 -0
- package/corpus/templates/macros/app/i18n/de-DE.ts +55 -0
- package/corpus/templates/macros/app/i18n/en-US.ts +55 -0
- package/corpus/templates/macros/app/i18n/es-ES.ts +55 -0
- package/corpus/templates/macros/app/i18n/fr-FR.ts +55 -0
- package/corpus/templates/macros/app/i18n/hi-IN.ts +55 -0
- package/corpus/templates/macros/app/i18n/index.ts +31 -0
- package/corpus/templates/macros/app/i18n/ja-JP.ts +55 -0
- package/corpus/templates/macros/app/i18n/ko-KR.ts +55 -0
- package/corpus/templates/macros/app/i18n/pt-BR.ts +55 -0
- package/corpus/templates/macros/app/i18n/zh-CN.ts +53 -0
- package/corpus/templates/macros/app/root.tsx +65 -15
- package/corpus/templates/macros/app/routes/settings.tsx +85 -0
- package/corpus/templates/macros/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
- package/corpus/templates/macros/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +9 -4
- package/corpus/templates/mail/app/i18n/ar-SA.ts +33 -0
- package/corpus/templates/mail/app/i18n/de-DE.ts +33 -0
- package/corpus/templates/mail/app/i18n/en-US.ts +32 -0
- package/corpus/templates/mail/app/i18n/es-ES.ts +33 -0
- package/corpus/templates/mail/app/i18n/fr-FR.ts +33 -0
- package/corpus/templates/mail/app/i18n/hi-IN.ts +32 -0
- package/corpus/templates/mail/app/i18n/index.ts +31 -0
- package/corpus/templates/mail/app/i18n/ja-JP.ts +32 -0
- package/corpus/templates/mail/app/i18n/ko-KR.ts +33 -0
- package/corpus/templates/mail/app/i18n/pt-BR.ts +34 -0
- package/corpus/templates/mail/app/i18n/zh-CN.ts +32 -0
- package/corpus/templates/mail/app/pages/SettingsPage.tsx +67 -13
- package/corpus/templates/mail/app/root.tsx +20 -0
- package/corpus/templates/mail/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/mail/changelog/2026-06-24-settings-now-link-directly-to-agent-settings-for-model-api-k.md +6 -0
- package/corpus/templates/plan/.agents/skills/adding-a-feature/SKILL.md +5 -0
- package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/plan/app/components/layout/Header.tsx +19 -12
- package/corpus/templates/plan/app/components/layout/Layout.tsx +11 -7
- package/corpus/templates/plan/app/components/layout/Sidebar.tsx +41 -28
- package/corpus/templates/plan/app/i18n/ar-SA.ts +77 -0
- package/corpus/templates/plan/app/i18n/de-DE.ts +78 -0
- package/corpus/templates/plan/app/i18n/en-US.ts +78 -0
- package/corpus/templates/plan/app/i18n/es-ES.ts +78 -0
- package/corpus/templates/plan/app/i18n/fr-FR.ts +78 -0
- package/corpus/templates/plan/app/i18n/hi-IN.ts +78 -0
- package/corpus/templates/plan/app/i18n/index.ts +31 -0
- package/corpus/templates/plan/app/i18n/ja-JP.ts +79 -0
- package/corpus/templates/plan/app/i18n/ko-KR.ts +77 -0
- package/corpus/templates/plan/app/i18n/pt-BR.ts +78 -0
- package/corpus/templates/plan/app/i18n/zh-CN.ts +74 -0
- package/corpus/templates/plan/app/root.tsx +45 -8
- package/corpus/templates/plan/app/routes/settings.tsx +86 -0
- package/corpus/templates/plan/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
- package/corpus/templates/plan/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/slides/app/components/layout/Header.tsx +23 -11
- package/corpus/templates/slides/app/components/layout/Layout.tsx +7 -6
- package/corpus/templates/slides/app/components/layout/Sidebar.tsx +23 -11
- package/corpus/templates/slides/app/i18n/ar-SA.ts +54 -0
- package/corpus/templates/slides/app/i18n/de-DE.ts +56 -0
- package/corpus/templates/slides/app/i18n/en-US.ts +55 -0
- package/corpus/templates/slides/app/i18n/es-ES.ts +55 -0
- package/corpus/templates/slides/app/i18n/fr-FR.ts +55 -0
- package/corpus/templates/slides/app/i18n/hi-IN.ts +55 -0
- package/corpus/templates/slides/app/i18n/index.ts +31 -0
- package/corpus/templates/slides/app/i18n/ja-JP.ts +55 -0
- package/corpus/templates/slides/app/i18n/ko-KR.ts +55 -0
- package/corpus/templates/slides/app/i18n/pt-BR.ts +55 -0
- package/corpus/templates/slides/app/i18n/zh-CN.ts +53 -0
- package/corpus/templates/slides/app/root.tsx +50 -8
- package/corpus/templates/slides/app/routes/settings.tsx +85 -0
- package/corpus/templates/slides/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
- package/corpus/templates/slides/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/corpus/templates/videos/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/corpus/templates/videos/app/components/NewCompositionPopover.tsx +14 -9
- package/corpus/templates/videos/app/components/Sidebar.tsx +16 -9
- package/corpus/templates/videos/app/components/StudioHeader.tsx +12 -8
- package/corpus/templates/videos/app/components/layout/Header.tsx +21 -15
- package/corpus/templates/videos/app/components/layout/Layout.tsx +10 -7
- package/corpus/templates/videos/app/components/layout/NavSidebar.tsx +21 -6
- package/corpus/templates/videos/app/i18n/ar-SA.ts +73 -0
- package/corpus/templates/videos/app/i18n/de-DE.ts +75 -0
- package/corpus/templates/videos/app/i18n/en-US.ts +74 -0
- package/corpus/templates/videos/app/i18n/es-ES.ts +75 -0
- package/corpus/templates/videos/app/i18n/fr-FR.ts +75 -0
- package/corpus/templates/videos/app/i18n/hi-IN.ts +74 -0
- package/corpus/templates/videos/app/i18n/index.ts +31 -0
- package/corpus/templates/videos/app/i18n/ja-JP.ts +74 -0
- package/corpus/templates/videos/app/i18n/ko-KR.ts +74 -0
- package/corpus/templates/videos/app/i18n/pt-BR.ts +75 -0
- package/corpus/templates/videos/app/i18n/zh-CN.ts +72 -0
- package/corpus/templates/videos/app/pages/Index.tsx +11 -9
- package/corpus/templates/videos/app/root.tsx +45 -7
- package/corpus/templates/videos/app/routes/settings.tsx +85 -0
- package/corpus/templates/videos/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
- package/corpus/templates/videos/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/dist/client/CommandMenu.d.ts +3 -0
- package/dist/client/CommandMenu.d.ts.map +1 -1
- package/dist/client/CommandMenu.js +9 -0
- package/dist/client/CommandMenu.js.map +1 -1
- package/dist/client/app-providers.d.ts +8 -1
- package/dist/client/app-providers.d.ts.map +1 -1
- package/dist/client/app-providers.js +7 -5
- package/dist/client/app-providers.js.map +1 -1
- package/dist/client/i18n.d.ts +54 -0
- package/dist/client/i18n.d.ts.map +1 -0
- package/dist/client/i18n.js +354 -0
- package/dist/client/i18n.js.map +1 -0
- package/dist/client/index.d.ts +2 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -1
- package/dist/client/index.js.map +1 -1
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +1 -1
- package/dist/index.browser.js.map +1 -1
- package/dist/localization/actions/get-localization-preference.d.ts +4 -0
- package/dist/localization/actions/get-localization-preference.d.ts.map +1 -0
- package/dist/localization/actions/get-localization-preference.js +16 -0
- package/dist/localization/actions/get-localization-preference.js.map +1 -0
- package/dist/localization/actions/set-localization-preference.d.ts +6 -0
- package/dist/localization/actions/set-localization-preference.d.ts.map +1 -0
- package/dist/localization/actions/set-localization-preference.js +24 -0
- package/dist/localization/actions/set-localization-preference.js.map +1 -0
- package/dist/localization/index.d.ts +3 -0
- package/dist/localization/index.d.ts.map +1 -0
- package/dist/localization/index.js +3 -0
- package/dist/localization/index.js.map +1 -0
- package/dist/localization/server.d.ts +25 -0
- package/dist/localization/server.d.ts.map +1 -0
- package/dist/localization/server.js +69 -0
- package/dist/localization/server.js.map +1 -0
- package/dist/localization/shared.d.ts +25 -0
- package/dist/localization/shared.d.ts.map +1 -0
- package/dist/localization/shared.js +134 -0
- package/dist/localization/shared.js.map +1 -0
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +8 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -0
- package/dist/server/index.js.map +1 -1
- package/dist/templates/default/.agents/skills/adding-a-feature/SKILL.md +5 -0
- package/dist/templates/default/.agents/skills/internationalization/SKILL.md +77 -0
- package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/dist/templates/default/AGENTS.md +16 -15
- package/dist/templates/default/app/i18n/en-US.ts +29 -0
- package/dist/templates/default/app/i18n/index.ts +13 -0
- package/dist/templates/default/app/root.tsx +20 -1
- package/dist/templates/default/app/routes/_index.tsx +24 -9
- package/dist/templates/default/app/routes/settings.tsx +67 -0
- package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +5 -0
- package/dist/templates/workspace-core/.agents/skills/internationalization/SKILL.md +77 -0
- package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/dist/vite/action-types-plugin.d.ts.map +1 -1
- package/dist/vite/action-types-plugin.js +8 -0
- package/dist/vite/action-types-plugin.js.map +1 -1
- package/docs/AGENTS.md +1 -0
- package/docs/content/client.md +15 -0
- package/docs/content/internationalization.md +145 -0
- package/docs/content/locales/ar-SA/internationalization.md +102 -0
- package/docs/content/locales/de-DE/internationalization.md +102 -0
- package/docs/content/locales/es-ES/internationalization.md +102 -0
- package/docs/content/locales/fr-FR/internationalization.md +102 -0
- package/docs/content/locales/hi-IN/internationalization.md +102 -0
- package/docs/content/locales/ja-JP/internationalization.md +114 -0
- package/docs/content/locales/ko-KR/internationalization.md +102 -0
- package/docs/content/locales/pt-BR/internationalization.md +102 -0
- package/docs/content/locales/zh-CN/internationalization.md +102 -0
- package/docs/content/skills-guide.md +19 -18
- package/package.json +7 -1
- package/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +5 -0
- package/src/templates/default/.agents/skills/internationalization/SKILL.md +77 -0
- package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +6 -0
- package/src/templates/default/AGENTS.md +16 -15
- package/src/templates/default/app/i18n/en-US.ts +29 -0
- package/src/templates/default/app/i18n/index.ts +13 -0
- package/src/templates/default/app/root.tsx +20 -1
- package/src/templates/default/app/routes/_index.tsx +24 -9
- package/src/templates/default/app/routes/settings.tsx +67 -0
- package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +5 -0
- package/src/templates/workspace-core/.agents/skills/internationalization/SKILL.md +77 -0
- package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +6 -0
|
@@ -1,31 +1,38 @@
|
|
|
1
1
|
import { useLocation } from "react-router";
|
|
2
2
|
import { useDecks } from "@/context/DeckContext";
|
|
3
3
|
import { useHeaderTitle, useHeaderActions } from "./HeaderActions";
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
AgentToggleButton,
|
|
6
|
+
LanguagePicker,
|
|
7
|
+
useT,
|
|
8
|
+
} from "@agent-native/core/client";
|
|
5
9
|
import { RunsTray } from "@agent-native/core/client/progress";
|
|
6
10
|
|
|
7
|
-
const
|
|
8
|
-
"/": "
|
|
9
|
-
"/design-systems": "
|
|
10
|
-
"/
|
|
11
|
-
"/
|
|
11
|
+
const pageTitleKeys: Record<string, string> = {
|
|
12
|
+
"/": "header.decks",
|
|
13
|
+
"/design-systems": "header.designSystems",
|
|
14
|
+
"/settings": "header.settings",
|
|
15
|
+
"/team": "header.team",
|
|
16
|
+
"/extensions": "header.extensions",
|
|
12
17
|
};
|
|
13
18
|
|
|
14
19
|
function DeckTitle({ id }: { id: string }) {
|
|
15
20
|
const { getDeck } = useDecks();
|
|
21
|
+
const t = useT();
|
|
16
22
|
const deck = getDeck(id);
|
|
17
23
|
return (
|
|
18
24
|
<h1 className="text-lg font-semibold tracking-tight truncate">
|
|
19
|
-
{deck?.title || "
|
|
25
|
+
{deck?.title || t("header.deck")}
|
|
20
26
|
</h1>
|
|
21
27
|
);
|
|
22
28
|
}
|
|
23
29
|
|
|
24
30
|
function ResolvedTitle({ pathname }: { pathname: string }) {
|
|
25
|
-
|
|
31
|
+
const t = useT();
|
|
32
|
+
if (pageTitleKeys[pathname]) {
|
|
26
33
|
return (
|
|
27
34
|
<h1 className="text-lg font-semibold tracking-tight truncate">
|
|
28
|
-
{
|
|
35
|
+
{t(pageTitleKeys[pathname])}
|
|
29
36
|
</h1>
|
|
30
37
|
);
|
|
31
38
|
}
|
|
@@ -35,12 +42,16 @@ function ResolvedTitle({ pathname }: { pathname: string }) {
|
|
|
35
42
|
|
|
36
43
|
if (pathname.startsWith("/extensions/")) {
|
|
37
44
|
return (
|
|
38
|
-
<h1 className="text-lg font-semibold tracking-tight truncate">
|
|
45
|
+
<h1 className="text-lg font-semibold tracking-tight truncate">
|
|
46
|
+
{t("header.tool")}
|
|
47
|
+
</h1>
|
|
39
48
|
);
|
|
40
49
|
}
|
|
41
50
|
|
|
42
51
|
return (
|
|
43
|
-
<h1 className="text-lg font-semibold tracking-tight truncate">
|
|
52
|
+
<h1 className="text-lg font-semibold tracking-tight truncate">
|
|
53
|
+
{t("header.slides")}
|
|
54
|
+
</h1>
|
|
44
55
|
);
|
|
45
56
|
}
|
|
46
57
|
|
|
@@ -56,6 +67,7 @@ export function Header() {
|
|
|
56
67
|
</div>
|
|
57
68
|
<div className="flex items-center gap-2 shrink-0">
|
|
58
69
|
{actions}
|
|
70
|
+
<LanguagePicker variant="icon" />
|
|
59
71
|
<RunsTray pollMs={1500} />
|
|
60
72
|
<AgentToggleButton />
|
|
61
73
|
</div>
|
|
@@ -3,7 +3,7 @@ import { useLocation } from "react-router";
|
|
|
3
3
|
import { Sidebar } from "./Sidebar";
|
|
4
4
|
import { Header } from "./Header";
|
|
5
5
|
import { HeaderActionsProvider } from "./HeaderActions";
|
|
6
|
-
import { AgentSidebar } from "@agent-native/core/client";
|
|
6
|
+
import { AgentSidebar, useT } from "@agent-native/core/client";
|
|
7
7
|
import { InvitationBanner } from "@agent-native/core/client/org";
|
|
8
8
|
import { IconMenu2 } from "@tabler/icons-react";
|
|
9
9
|
import { cn } from "@/lib/utils";
|
|
@@ -29,6 +29,7 @@ function pageHasOwnToolbar(pathname: string): boolean {
|
|
|
29
29
|
|
|
30
30
|
export function Layout({ children }: LayoutProps) {
|
|
31
31
|
const location = useLocation();
|
|
32
|
+
const t = useT();
|
|
32
33
|
const [sidebarOpen, setSidebarOpen] = useState(false);
|
|
33
34
|
const { collapsed: sidebarCollapsed, setCollapsed: setSidebarCollapsed } =
|
|
34
35
|
useSidebarCollapsed();
|
|
@@ -66,11 +67,11 @@ export function Layout({ children }: LayoutProps) {
|
|
|
66
67
|
<AgentSidebar
|
|
67
68
|
position="right"
|
|
68
69
|
defaultOpen
|
|
69
|
-
emptyStateText="
|
|
70
|
+
emptyStateText={t("agent.emptyState")}
|
|
70
71
|
suggestions={[
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
72
|
+
t("agent.suggestionPitch"),
|
|
73
|
+
t("agent.suggestionBrand"),
|
|
74
|
+
t("agent.suggestionHero"),
|
|
74
75
|
]}
|
|
75
76
|
scope={deckScope}
|
|
76
77
|
browserTabId={TAB_ID}
|
|
@@ -110,7 +111,7 @@ export function Layout({ children }: LayoutProps) {
|
|
|
110
111
|
<button
|
|
111
112
|
onClick={() => setSidebarOpen(true)}
|
|
112
113
|
className="flex h-9 w-9 items-center justify-center rounded-md border border-border bg-background text-muted-foreground hover:text-foreground cursor-pointer"
|
|
113
|
-
aria-label="
|
|
114
|
+
aria-label={t("sidebar.openNavigation")}
|
|
114
115
|
>
|
|
115
116
|
<IconMenu2 className="h-4 w-4" />
|
|
116
117
|
</button>
|
|
@@ -2,6 +2,7 @@ import { Link, useLocation } from "react-router";
|
|
|
2
2
|
import {
|
|
3
3
|
IconStack2,
|
|
4
4
|
IconPalette,
|
|
5
|
+
IconSettings,
|
|
5
6
|
IconUsers,
|
|
6
7
|
IconLayoutSidebarLeftCollapse,
|
|
7
8
|
IconLayoutSidebarLeftExpand,
|
|
@@ -12,6 +13,7 @@ import {
|
|
|
12
13
|
DevDatabaseLink,
|
|
13
14
|
FeedbackButton,
|
|
14
15
|
appPath,
|
|
16
|
+
useT,
|
|
15
17
|
} from "@agent-native/core/client";
|
|
16
18
|
import { OrgSwitcher } from "@agent-native/core/client/org";
|
|
17
19
|
import {
|
|
@@ -21,9 +23,14 @@ import {
|
|
|
21
23
|
} from "@/components/ui/tooltip";
|
|
22
24
|
|
|
23
25
|
const navItems = [
|
|
24
|
-
{ icon: IconStack2,
|
|
25
|
-
{
|
|
26
|
-
|
|
26
|
+
{ icon: IconStack2, labelKey: "navigation.decks", href: "/" },
|
|
27
|
+
{
|
|
28
|
+
icon: IconPalette,
|
|
29
|
+
labelKey: "navigation.designSystems",
|
|
30
|
+
href: "/design-systems",
|
|
31
|
+
},
|
|
32
|
+
{ icon: IconSettings, labelKey: "navigation.settings", href: "/settings" },
|
|
33
|
+
{ icon: IconUsers, labelKey: "navigation.team", href: "/team" },
|
|
27
34
|
];
|
|
28
35
|
|
|
29
36
|
interface SidebarProps {
|
|
@@ -35,6 +42,7 @@ interface SidebarProps {
|
|
|
35
42
|
|
|
36
43
|
export function Sidebar({ collapsed, onToggleCollapsed }: SidebarProps) {
|
|
37
44
|
const location = useLocation();
|
|
45
|
+
const t = useT();
|
|
38
46
|
|
|
39
47
|
const isItemActive = (href: string) =>
|
|
40
48
|
href === "/"
|
|
@@ -49,13 +57,15 @@ export function Sidebar({ collapsed, onToggleCollapsed }: SidebarProps) {
|
|
|
49
57
|
<TooltipTrigger asChild>
|
|
50
58
|
<button
|
|
51
59
|
onClick={onToggleCollapsed}
|
|
52
|
-
aria-label="
|
|
60
|
+
aria-label={t("sidebar.expandSidebar")}
|
|
53
61
|
className="flex h-10 w-10 items-center justify-center rounded-md text-muted-foreground hover:bg-sidebar-accent/50 hover:text-foreground"
|
|
54
62
|
>
|
|
55
63
|
<IconLayoutSidebarLeftExpand className="h-4 w-4" />
|
|
56
64
|
</button>
|
|
57
65
|
</TooltipTrigger>
|
|
58
|
-
<TooltipContent side="right">
|
|
66
|
+
<TooltipContent side="right">
|
|
67
|
+
{t("sidebar.expandSidebar")}
|
|
68
|
+
</TooltipContent>
|
|
59
69
|
</Tooltip>
|
|
60
70
|
)}
|
|
61
71
|
<nav className="flex min-h-0 flex-1 flex-col items-center gap-1 overflow-y-auto pt-1">
|
|
@@ -67,7 +77,7 @@ export function Sidebar({ collapsed, onToggleCollapsed }: SidebarProps) {
|
|
|
67
77
|
<TooltipTrigger asChild>
|
|
68
78
|
<Link
|
|
69
79
|
to={item.href}
|
|
70
|
-
aria-label={item.
|
|
80
|
+
aria-label={t(item.labelKey)}
|
|
71
81
|
className={cn(
|
|
72
82
|
"flex h-10 w-10 items-center justify-center rounded-md transition-colors",
|
|
73
83
|
isActive
|
|
@@ -78,7 +88,7 @@ export function Sidebar({ collapsed, onToggleCollapsed }: SidebarProps) {
|
|
|
78
88
|
<Icon className="h-4 w-4" />
|
|
79
89
|
</Link>
|
|
80
90
|
</TooltipTrigger>
|
|
81
|
-
<TooltipContent side="right">{item.
|
|
91
|
+
<TooltipContent side="right">{t(item.labelKey)}</TooltipContent>
|
|
82
92
|
</Tooltip>
|
|
83
93
|
);
|
|
84
94
|
})}
|
|
@@ -103,20 +113,22 @@ export function Sidebar({ collapsed, onToggleCollapsed }: SidebarProps) {
|
|
|
103
113
|
aria-hidden="true"
|
|
104
114
|
className="hidden h-4 w-auto dark:block"
|
|
105
115
|
/>
|
|
106
|
-
<span className="text-sm font-semibold tracking-tight">
|
|
116
|
+
<span className="text-sm font-semibold tracking-tight">
|
|
117
|
+
{t("navigation.brand")}
|
|
118
|
+
</span>
|
|
107
119
|
</div>
|
|
108
120
|
{onToggleCollapsed && (
|
|
109
121
|
<Tooltip>
|
|
110
122
|
<TooltipTrigger asChild>
|
|
111
123
|
<button
|
|
112
124
|
onClick={onToggleCollapsed}
|
|
113
|
-
aria-label="
|
|
125
|
+
aria-label={t("sidebar.collapseSidebar")}
|
|
114
126
|
className="flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-sidebar-accent/50 hover:text-foreground"
|
|
115
127
|
>
|
|
116
128
|
<IconLayoutSidebarLeftCollapse className="h-4 w-4" />
|
|
117
129
|
</button>
|
|
118
130
|
</TooltipTrigger>
|
|
119
|
-
<TooltipContent>
|
|
131
|
+
<TooltipContent>{t("sidebar.collapseSidebar")}</TooltipContent>
|
|
120
132
|
</Tooltip>
|
|
121
133
|
)}
|
|
122
134
|
</div>
|
|
@@ -138,7 +150,7 @@ export function Sidebar({ collapsed, onToggleCollapsed }: SidebarProps) {
|
|
|
138
150
|
)}
|
|
139
151
|
>
|
|
140
152
|
<Icon className="h-4 w-4 shrink-0" />
|
|
141
|
-
{item.
|
|
153
|
+
{t(item.labelKey)}
|
|
142
154
|
</Link>
|
|
143
155
|
);
|
|
144
156
|
})}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandPresentations: "العروض التقديمية",
|
|
4
|
+
searchDecks: "البحث في العروض",
|
|
5
|
+
commandAppearance: "المظهر",
|
|
6
|
+
toggleTheme: "تبديل السمة",
|
|
7
|
+
},
|
|
8
|
+
header: {
|
|
9
|
+
settings: "الإعدادات",
|
|
10
|
+
decks: "العروض",
|
|
11
|
+
designSystems: "أنظمة التصميم",
|
|
12
|
+
team: "الفريق",
|
|
13
|
+
extensions: "الإضافات",
|
|
14
|
+
deck: "عرض",
|
|
15
|
+
tool: "أداة",
|
|
16
|
+
slides: "Slides",
|
|
17
|
+
},
|
|
18
|
+
navigation: {
|
|
19
|
+
settings: "الإعدادات",
|
|
20
|
+
brand: "Slides",
|
|
21
|
+
decks: "العروض",
|
|
22
|
+
designSystems: "أنظمة التصميم",
|
|
23
|
+
team: "الفريق",
|
|
24
|
+
},
|
|
25
|
+
settings: {
|
|
26
|
+
title: "الإعدادات",
|
|
27
|
+
description: "تفضيلات اللغة ومساحة العمل لهذا التطبيق.",
|
|
28
|
+
languageTitle: "اللغة",
|
|
29
|
+
languageDescription: "اختر لغة الواجهة. يتم حفظ هذا التفضيل في حسابك.",
|
|
30
|
+
languageLabel: "لغة الواجهة",
|
|
31
|
+
workspaceTitle: "مساحة العمل",
|
|
32
|
+
workspaceDescription:
|
|
33
|
+
"إدارة أعضاء الفريق ووصول المؤسسة وتفضيلات مساحة العمل المشتركة.",
|
|
34
|
+
openTeamSettings: "فتح إعدادات الفريق",
|
|
35
|
+
openResourceSettings: "فتح إعدادات الموارد",
|
|
36
|
+
agentTitle: "إعدادات الوكيل",
|
|
37
|
+
agentDescription:
|
|
38
|
+
"افتح إعدادات الوكيل في الشريط الجانبي لإدارة النموذج ومفاتيح API والأتمتة والصوت وعناصر التحكم الأخرى.",
|
|
39
|
+
openAgentSettings: "فتح إعدادات الوكيل",
|
|
40
|
+
},
|
|
41
|
+
agent: {
|
|
42
|
+
emptyState: "اسألني أي شيء عن عروضك التقديمية",
|
|
43
|
+
suggestionPitch: "أنشئ عرضا من 10 شرائح من هذا المستند",
|
|
44
|
+
suggestionBrand: "طبّق علامتنا على هذا العرض",
|
|
45
|
+
suggestionHero: "أنشئ صورة رئيسية لهذه الشريحة",
|
|
46
|
+
},
|
|
47
|
+
sidebar: {
|
|
48
|
+
openNavigation: "فتح التنقل",
|
|
49
|
+
expandSidebar: "توسيع الشريط الجانبي",
|
|
50
|
+
collapseSidebar: "طي الشريط الجانبي",
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export default messages;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandPresentations: "Präsentationen",
|
|
4
|
+
searchDecks: "Decks suchen",
|
|
5
|
+
commandAppearance: "Darstellung",
|
|
6
|
+
toggleTheme: "Design wechseln",
|
|
7
|
+
},
|
|
8
|
+
header: {
|
|
9
|
+
settings: "Einstellungen",
|
|
10
|
+
decks: "Decks",
|
|
11
|
+
designSystems: "Designsysteme",
|
|
12
|
+
team: "Team",
|
|
13
|
+
extensions: "Erweiterungen",
|
|
14
|
+
deck: "Deck",
|
|
15
|
+
tool: "Tool",
|
|
16
|
+
slides: "Slides",
|
|
17
|
+
},
|
|
18
|
+
navigation: {
|
|
19
|
+
settings: "Einstellungen",
|
|
20
|
+
brand: "Slides",
|
|
21
|
+
decks: "Decks",
|
|
22
|
+
designSystems: "Designsysteme",
|
|
23
|
+
team: "Team",
|
|
24
|
+
},
|
|
25
|
+
settings: {
|
|
26
|
+
title: "Einstellungen",
|
|
27
|
+
description: "Sprach- und Arbeitsbereichseinstellungen für diese App.",
|
|
28
|
+
languageTitle: "Sprache",
|
|
29
|
+
languageDescription:
|
|
30
|
+
"Wähle die Sprache der Oberfläche. Diese Einstellung wird in deinem Konto gespeichert.",
|
|
31
|
+
languageLabel: "Oberflächensprache",
|
|
32
|
+
workspaceTitle: "Arbeitsbereich",
|
|
33
|
+
workspaceDescription:
|
|
34
|
+
"Verwalte Teammitglieder, Organisationszugriff und gemeinsame Arbeitsbereichseinstellungen.",
|
|
35
|
+
openTeamSettings: "Teameinstellungen öffnen",
|
|
36
|
+
openResourceSettings: "Ressourceneinstellungen öffnen",
|
|
37
|
+
agentTitle: "Agent-Einstellungen",
|
|
38
|
+
agentDescription:
|
|
39
|
+
"Öffne die Agent-Einstellungen in der Seitenleiste für Modell, API-Schlüssel, Automatisierungen, Sprache und weitere Steuerungen.",
|
|
40
|
+
openAgentSettings: "Agent-Einstellungen öffnen",
|
|
41
|
+
},
|
|
42
|
+
agent: {
|
|
43
|
+
emptyState: "Frag mich alles zu deinen Präsentationen",
|
|
44
|
+
suggestionPitch:
|
|
45
|
+
"Erstelle aus diesem Dokument ein Pitch-Deck mit 10 Folien",
|
|
46
|
+
suggestionBrand: "Wende unsere Marke auf dieses Deck an",
|
|
47
|
+
suggestionHero: "Erzeuge ein Hero-Bild für diese Folie",
|
|
48
|
+
},
|
|
49
|
+
sidebar: {
|
|
50
|
+
openNavigation: "Navigation öffnen",
|
|
51
|
+
expandSidebar: "Seitenleiste erweitern",
|
|
52
|
+
collapseSidebar: "Seitenleiste einklappen",
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export default messages;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandPresentations: "Presentations",
|
|
4
|
+
searchDecks: "Search decks",
|
|
5
|
+
commandAppearance: "Appearance",
|
|
6
|
+
toggleTheme: "Toggle theme",
|
|
7
|
+
},
|
|
8
|
+
header: {
|
|
9
|
+
settings: "Settings",
|
|
10
|
+
decks: "Decks",
|
|
11
|
+
designSystems: "Design Systems",
|
|
12
|
+
team: "Team",
|
|
13
|
+
extensions: "Extensions",
|
|
14
|
+
deck: "Deck",
|
|
15
|
+
tool: "Tool",
|
|
16
|
+
slides: "Slides",
|
|
17
|
+
},
|
|
18
|
+
navigation: {
|
|
19
|
+
settings: "Settings",
|
|
20
|
+
brand: "Slides",
|
|
21
|
+
decks: "Decks",
|
|
22
|
+
designSystems: "Design Systems",
|
|
23
|
+
team: "Team",
|
|
24
|
+
},
|
|
25
|
+
settings: {
|
|
26
|
+
title: "Settings",
|
|
27
|
+
description: "Language and workspace preferences for this app.",
|
|
28
|
+
languageTitle: "Language",
|
|
29
|
+
languageDescription:
|
|
30
|
+
"Choose the interface language. This preference is saved for your account.",
|
|
31
|
+
languageLabel: "Interface language",
|
|
32
|
+
workspaceTitle: "Workspace",
|
|
33
|
+
workspaceDescription:
|
|
34
|
+
"Manage team members, organization access, and shared workspace preferences.",
|
|
35
|
+
openTeamSettings: "Open team settings",
|
|
36
|
+
openResourceSettings: "Open resource settings",
|
|
37
|
+
agentTitle: "Agent settings",
|
|
38
|
+
agentDescription:
|
|
39
|
+
"Open the agent sidebar settings for model, API keys, automations, voice, and other agent controls.",
|
|
40
|
+
openAgentSettings: "Open agent settings",
|
|
41
|
+
},
|
|
42
|
+
agent: {
|
|
43
|
+
emptyState: "Ask me anything about your presentations",
|
|
44
|
+
suggestionPitch: "Build a 10-slide pitch from this doc",
|
|
45
|
+
suggestionBrand: "Apply our brand to this deck",
|
|
46
|
+
suggestionHero: "Generate a hero image for this slide",
|
|
47
|
+
},
|
|
48
|
+
sidebar: {
|
|
49
|
+
openNavigation: "Open navigation",
|
|
50
|
+
expandSidebar: "Expand sidebar",
|
|
51
|
+
collapseSidebar: "Collapse sidebar",
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export default messages;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandPresentations: "Presentaciones",
|
|
4
|
+
searchDecks: "Buscar decks",
|
|
5
|
+
commandAppearance: "Apariencia",
|
|
6
|
+
toggleTheme: "Cambiar tema",
|
|
7
|
+
},
|
|
8
|
+
header: {
|
|
9
|
+
settings: "Ajustes",
|
|
10
|
+
decks: "Decks",
|
|
11
|
+
designSystems: "Sistemas de diseño",
|
|
12
|
+
team: "Equipo",
|
|
13
|
+
extensions: "Extensiones",
|
|
14
|
+
deck: "Deck",
|
|
15
|
+
tool: "Herramienta",
|
|
16
|
+
slides: "Slides",
|
|
17
|
+
},
|
|
18
|
+
navigation: {
|
|
19
|
+
settings: "Ajustes",
|
|
20
|
+
brand: "Slides",
|
|
21
|
+
decks: "Decks",
|
|
22
|
+
designSystems: "Sistemas de diseño",
|
|
23
|
+
team: "Equipo",
|
|
24
|
+
},
|
|
25
|
+
settings: {
|
|
26
|
+
title: "Ajustes",
|
|
27
|
+
description: "Preferencias de idioma y espacio de trabajo para esta app.",
|
|
28
|
+
languageTitle: "Idioma",
|
|
29
|
+
languageDescription:
|
|
30
|
+
"Elige el idioma de la interfaz. Esta preferencia se guarda en tu cuenta.",
|
|
31
|
+
languageLabel: "Idioma de la interfaz",
|
|
32
|
+
workspaceTitle: "Espacio de trabajo",
|
|
33
|
+
workspaceDescription:
|
|
34
|
+
"Gestiona miembros del equipo, acceso de la organización y preferencias compartidas.",
|
|
35
|
+
openTeamSettings: "Abrir ajustes del equipo",
|
|
36
|
+
openResourceSettings: "Abrir ajustes de recursos",
|
|
37
|
+
agentTitle: "Ajustes del agente",
|
|
38
|
+
agentDescription:
|
|
39
|
+
"Abre los ajustes del agente en la barra lateral para modelos, claves API, automatizaciones, voz y otros controles.",
|
|
40
|
+
openAgentSettings: "Abrir ajustes del agente",
|
|
41
|
+
},
|
|
42
|
+
agent: {
|
|
43
|
+
emptyState: "Pregúntame cualquier cosa sobre tus presentaciones",
|
|
44
|
+
suggestionPitch: "Crea un pitch de 10 diapositivas desde este doc",
|
|
45
|
+
suggestionBrand: "Aplica nuestra marca a este deck",
|
|
46
|
+
suggestionHero: "Genera una imagen principal para esta diapositiva",
|
|
47
|
+
},
|
|
48
|
+
sidebar: {
|
|
49
|
+
openNavigation: "Abrir navegación",
|
|
50
|
+
expandSidebar: "Expandir barra lateral",
|
|
51
|
+
collapseSidebar: "Contraer barra lateral",
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export default messages;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandPresentations: "Présentations",
|
|
4
|
+
searchDecks: "Rechercher des decks",
|
|
5
|
+
commandAppearance: "Apparence",
|
|
6
|
+
toggleTheme: "Changer de thème",
|
|
7
|
+
},
|
|
8
|
+
header: {
|
|
9
|
+
settings: "Paramètres",
|
|
10
|
+
decks: "Decks",
|
|
11
|
+
designSystems: "Systèmes de design",
|
|
12
|
+
team: "Équipe",
|
|
13
|
+
extensions: "Extensions",
|
|
14
|
+
deck: "Deck",
|
|
15
|
+
tool: "Outil",
|
|
16
|
+
slides: "Slides",
|
|
17
|
+
},
|
|
18
|
+
navigation: {
|
|
19
|
+
settings: "Paramètres",
|
|
20
|
+
brand: "Slides",
|
|
21
|
+
decks: "Decks",
|
|
22
|
+
designSystems: "Systèmes de design",
|
|
23
|
+
team: "Équipe",
|
|
24
|
+
},
|
|
25
|
+
settings: {
|
|
26
|
+
title: "Paramètres",
|
|
27
|
+
description: "Préférences de langue et d’espace de travail pour cette app.",
|
|
28
|
+
languageTitle: "Langue",
|
|
29
|
+
languageDescription:
|
|
30
|
+
"Choisissez la langue de l’interface. Cette préférence est enregistrée dans votre compte.",
|
|
31
|
+
languageLabel: "Langue de l’interface",
|
|
32
|
+
workspaceTitle: "Espace de travail",
|
|
33
|
+
workspaceDescription:
|
|
34
|
+
"Gérez les membres, l’accès de l’organisation et les préférences partagées.",
|
|
35
|
+
openTeamSettings: "Ouvrir les paramètres d’équipe",
|
|
36
|
+
openResourceSettings: "Ouvrir les paramètres des ressources",
|
|
37
|
+
agentTitle: "Paramètres de l’agent",
|
|
38
|
+
agentDescription:
|
|
39
|
+
"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.",
|
|
40
|
+
openAgentSettings: "Ouvrir les paramètres de l’agent",
|
|
41
|
+
},
|
|
42
|
+
agent: {
|
|
43
|
+
emptyState: "Posez-moi vos questions sur vos présentations",
|
|
44
|
+
suggestionPitch: "Créer un pitch de 10 diapositives à partir de ce doc",
|
|
45
|
+
suggestionBrand: "Appliquer notre marque à ce deck",
|
|
46
|
+
suggestionHero: "Générer une image héro pour cette diapositive",
|
|
47
|
+
},
|
|
48
|
+
sidebar: {
|
|
49
|
+
openNavigation: "Ouvrir la navigation",
|
|
50
|
+
expandSidebar: "Développer la barre latérale",
|
|
51
|
+
collapseSidebar: "Réduire la barre latérale",
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export default messages;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandPresentations: "प्रेज़ेंटेशन",
|
|
4
|
+
searchDecks: "डेक खोजें",
|
|
5
|
+
commandAppearance: "दिखावट",
|
|
6
|
+
toggleTheme: "थीम बदलें",
|
|
7
|
+
},
|
|
8
|
+
header: {
|
|
9
|
+
settings: "सेटिंग्स",
|
|
10
|
+
decks: "डेक",
|
|
11
|
+
designSystems: "डिज़ाइन सिस्टम",
|
|
12
|
+
team: "टीम",
|
|
13
|
+
extensions: "एक्सटेंशन",
|
|
14
|
+
deck: "डेक",
|
|
15
|
+
tool: "टूल",
|
|
16
|
+
slides: "Slides",
|
|
17
|
+
},
|
|
18
|
+
navigation: {
|
|
19
|
+
settings: "सेटिंग्स",
|
|
20
|
+
brand: "Slides",
|
|
21
|
+
decks: "डेक",
|
|
22
|
+
designSystems: "डिज़ाइन सिस्टम",
|
|
23
|
+
team: "टीम",
|
|
24
|
+
},
|
|
25
|
+
settings: {
|
|
26
|
+
title: "सेटिंग्स",
|
|
27
|
+
description: "इस ऐप के लिए भाषा और कार्यस्थान प्राथमिकताएं।",
|
|
28
|
+
languageTitle: "भाषा",
|
|
29
|
+
languageDescription:
|
|
30
|
+
"इंटरफ़ेस भाषा चुनें। यह पसंद आपके खाते में सहेजी जाती है।",
|
|
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
|
+
suggestionPitch: "इस दस्तावेज़ से 10-स्लाइड पिच बनाएं",
|
|
45
|
+
suggestionBrand: "इस डेक पर हमारा ब्रांड लागू करें",
|
|
46
|
+
suggestionHero: "इस स्लाइड के लिए हीरो इमेज बनाएं",
|
|
47
|
+
},
|
|
48
|
+
sidebar: {
|
|
49
|
+
openNavigation: "नेविगेशन खोलें",
|
|
50
|
+
expandSidebar: "साइडबार फैलाएं",
|
|
51
|
+
collapseSidebar: "साइडबार समेटें",
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export default messages;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import enUS from "./en-US";
|
|
2
|
+
import type { AgentNativeI18nCatalog } from "@agent-native/core/client";
|
|
3
|
+
|
|
4
|
+
export const i18nCatalog = {
|
|
5
|
+
sourceLocale: "en-US",
|
|
6
|
+
messages: enUS,
|
|
7
|
+
loadMessages: async (locale) => {
|
|
8
|
+
switch (locale) {
|
|
9
|
+
case "zh-CN":
|
|
10
|
+
return (await import("./zh-CN")).default;
|
|
11
|
+
case "es-ES":
|
|
12
|
+
return (await import("./es-ES")).default;
|
|
13
|
+
case "fr-FR":
|
|
14
|
+
return (await import("./fr-FR")).default;
|
|
15
|
+
case "de-DE":
|
|
16
|
+
return (await import("./de-DE")).default;
|
|
17
|
+
case "ja-JP":
|
|
18
|
+
return (await import("./ja-JP")).default;
|
|
19
|
+
case "ko-KR":
|
|
20
|
+
return (await import("./ko-KR")).default;
|
|
21
|
+
case "pt-BR":
|
|
22
|
+
return (await import("./pt-BR")).default;
|
|
23
|
+
case "hi-IN":
|
|
24
|
+
return (await import("./hi-IN")).default;
|
|
25
|
+
case "ar-SA":
|
|
26
|
+
return (await import("./ar-SA")).default;
|
|
27
|
+
default:
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
} satisfies AgentNativeI18nCatalog;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandPresentations: "プレゼンテーション",
|
|
4
|
+
searchDecks: "デッキを検索",
|
|
5
|
+
commandAppearance: "外観",
|
|
6
|
+
toggleTheme: "テーマを切り替え",
|
|
7
|
+
},
|
|
8
|
+
header: {
|
|
9
|
+
settings: "設定",
|
|
10
|
+
decks: "デッキ",
|
|
11
|
+
designSystems: "デザインシステム",
|
|
12
|
+
team: "チーム",
|
|
13
|
+
extensions: "拡張機能",
|
|
14
|
+
deck: "デッキ",
|
|
15
|
+
tool: "ツール",
|
|
16
|
+
slides: "Slides",
|
|
17
|
+
},
|
|
18
|
+
navigation: {
|
|
19
|
+
settings: "設定",
|
|
20
|
+
brand: "Slides",
|
|
21
|
+
decks: "デッキ",
|
|
22
|
+
designSystems: "デザインシステム",
|
|
23
|
+
team: "チーム",
|
|
24
|
+
},
|
|
25
|
+
settings: {
|
|
26
|
+
title: "設定",
|
|
27
|
+
description: "このアプリの言語とワークスペース設定。",
|
|
28
|
+
languageTitle: "言語",
|
|
29
|
+
languageDescription:
|
|
30
|
+
"インターフェース言語を選択します。この設定はアカウントに保存されます。",
|
|
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
|
+
suggestionPitch: "このドキュメントから 10 枚のピッチ資料を作成",
|
|
45
|
+
suggestionBrand: "このデッキにブランドを適用",
|
|
46
|
+
suggestionHero: "このスライド用のヒーロー画像を生成",
|
|
47
|
+
},
|
|
48
|
+
sidebar: {
|
|
49
|
+
openNavigation: "ナビゲーションを開く",
|
|
50
|
+
expandSidebar: "サイドバーを展開",
|
|
51
|
+
collapseSidebar: "サイドバーを折りたたむ",
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export default messages;
|