@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.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +47 -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/agent/durable-background.ts +62 -28
- package/corpus/core/src/agent/production-agent.ts +16 -12
- package/corpus/core/src/cli/skills.ts +22 -4
- 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/deploy/build.ts +47 -113
- package/corpus/core/src/deploy/workspace-deploy.ts +62 -30
- 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/server/self-dispatch.ts +29 -2
- 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-chrome-extension-setup-now-shows-a-clear-all-done-confirmati.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/clips/chrome-extension/src/permission.html +60 -0
- package/corpus/templates/clips/chrome-extension/src/permission.ts +28 -15
- 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/.agents/skills/visual-plan/references/wireframe.md +22 -4
- package/corpus/templates/plan/.agents/skills/visual-recap/references/wireframe.md +22 -4
- 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/agent/durable-background.d.ts +32 -28
- package/dist/agent/durable-background.d.ts.map +1 -1
- package/dist/agent/durable-background.js +59 -28
- package/dist/agent/durable-background.js.map +1 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +16 -12
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/cli/skills.d.ts +1 -1
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +22 -4
- package/dist/cli/skills.js.map +1 -1
- 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/deploy/build.d.ts +32 -36
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +47 -104
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/workspace-deploy.js +62 -30
- package/dist/deploy/workspace-deploy.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/server/self-dispatch.d.ts +0 -10
- package/dist/server/self-dispatch.d.ts.map +1 -1
- package/dist/server/self-dispatch.js +27 -2
- package/dist/server/self-dispatch.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
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
IconMessageCircle,
|
|
18
18
|
IconPin,
|
|
19
19
|
IconPlus,
|
|
20
|
+
IconSettings,
|
|
20
21
|
} from "@tabler/icons-react";
|
|
21
22
|
import { toast } from "sonner";
|
|
22
23
|
import { cn } from "@/lib/utils";
|
|
@@ -34,6 +35,7 @@ import {
|
|
|
34
35
|
useChatThreads,
|
|
35
36
|
useSendToAgentChat,
|
|
36
37
|
useSession,
|
|
38
|
+
useT,
|
|
37
39
|
type ChatThreadSummary,
|
|
38
40
|
} from "@agent-native/core/client";
|
|
39
41
|
import { OrgSwitcher } from "@agent-native/core/client/org";
|
|
@@ -80,8 +82,9 @@ function buildBrandingCustomizationMessage(request: string) {
|
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
const navItems = [
|
|
83
|
-
{ icon: IconMessageCircle,
|
|
84
|
-
{ icon: IconClipboardCheck,
|
|
85
|
+
{ icon: IconMessageCircle, labelKey: "navigation.ask", href: "/" },
|
|
86
|
+
{ icon: IconClipboardCheck, labelKey: "navigation.plan", href: "/plans" },
|
|
87
|
+
{ icon: IconSettings, labelKey: "navigation.settings", href: "/settings" },
|
|
85
88
|
];
|
|
86
89
|
|
|
87
90
|
interface SidebarProps {
|
|
@@ -153,6 +156,7 @@ function persistedActiveThreadId() {
|
|
|
153
156
|
|
|
154
157
|
function PlanChatsSection({ collapsed }: { collapsed: boolean }) {
|
|
155
158
|
const navigate = useNavigate();
|
|
159
|
+
const t = useT();
|
|
156
160
|
const {
|
|
157
161
|
threads,
|
|
158
162
|
activeThreadId,
|
|
@@ -275,7 +279,7 @@ function PlanChatsSection({ collapsed }: { collapsed: boolean }) {
|
|
|
275
279
|
<div className="mt-2 border-l border-sidebar-border/70 pl-3">
|
|
276
280
|
<div className="mb-1 flex h-7 items-center gap-2 pr-1">
|
|
277
281
|
<div className="min-w-0 flex-1 text-xs font-medium text-sidebar-foreground/70">
|
|
278
|
-
|
|
282
|
+
{t("sidebar.chats")}
|
|
279
283
|
</div>
|
|
280
284
|
<Tooltip>
|
|
281
285
|
<TooltipTrigger asChild>
|
|
@@ -283,12 +287,12 @@ function PlanChatsSection({ collapsed }: { collapsed: boolean }) {
|
|
|
283
287
|
type="button"
|
|
284
288
|
onClick={handleNewChat}
|
|
285
289
|
className="flex size-6 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/65 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"
|
|
286
|
-
aria-label="
|
|
290
|
+
aria-label={t("sidebar.newPlanChat")}
|
|
287
291
|
>
|
|
288
292
|
<IconPlus className="size-3.5" />
|
|
289
293
|
</button>
|
|
290
294
|
</TooltipTrigger>
|
|
291
|
-
<TooltipContent>
|
|
295
|
+
<TooltipContent>{t("sidebar.newChat")}</TooltipContent>
|
|
292
296
|
</Tooltip>
|
|
293
297
|
</div>
|
|
294
298
|
|
|
@@ -361,7 +365,7 @@ function PlanChatsSection({ collapsed }: { collapsed: boolean }) {
|
|
|
361
365
|
onSelect={() => startRenameThread(thread)}
|
|
362
366
|
>
|
|
363
367
|
<IconEdit className="size-4" />
|
|
364
|
-
|
|
368
|
+
{t("sidebar.renameChat")}
|
|
365
369
|
</DropdownMenuItem>
|
|
366
370
|
<DropdownMenuItem
|
|
367
371
|
onSelect={() =>
|
|
@@ -369,14 +373,16 @@ function PlanChatsSection({ collapsed }: { collapsed: boolean }) {
|
|
|
369
373
|
}
|
|
370
374
|
>
|
|
371
375
|
<IconPin className="size-4" />
|
|
372
|
-
{thread.pinnedAt
|
|
376
|
+
{thread.pinnedAt
|
|
377
|
+
? t("sidebar.unpinChat")
|
|
378
|
+
: t("sidebar.pinChat")}
|
|
373
379
|
</DropdownMenuItem>
|
|
374
380
|
<DropdownMenuItem
|
|
375
381
|
className="text-destructive focus:text-destructive"
|
|
376
382
|
onSelect={() => void handleArchiveThread(thread.id)}
|
|
377
383
|
>
|
|
378
384
|
<IconArchive className="size-4" />
|
|
379
|
-
|
|
385
|
+
{t("sidebar.archiveChat")}
|
|
380
386
|
</DropdownMenuItem>
|
|
381
387
|
</DropdownMenuContent>
|
|
382
388
|
</DropdownMenu>
|
|
@@ -406,6 +412,7 @@ function signInWithReturnPath(returnPath: string) {
|
|
|
406
412
|
function PlansSidebarSection({ collapsed }: { collapsed: boolean }) {
|
|
407
413
|
const location = useLocation();
|
|
408
414
|
const navigate = useNavigate();
|
|
415
|
+
const t = useT();
|
|
409
416
|
const { session, isLoading: sessionLoading } = useSession();
|
|
410
417
|
const plansQuery = usePlans({
|
|
411
418
|
enabled: Boolean(session),
|
|
@@ -444,7 +451,7 @@ function PlansSidebarSection({ collapsed }: { collapsed: boolean }) {
|
|
|
444
451
|
<div className="mt-2 border-l border-sidebar-border/70 pl-3">
|
|
445
452
|
<div className="mb-1 flex h-7 items-center gap-2 pr-1">
|
|
446
453
|
<div className="min-w-0 flex-1 text-xs font-medium text-sidebar-foreground/70">
|
|
447
|
-
|
|
454
|
+
{t("sidebar.planSection")}
|
|
448
455
|
</div>
|
|
449
456
|
<Tooltip>
|
|
450
457
|
<TooltipTrigger asChild>
|
|
@@ -453,13 +460,15 @@ function PlansSidebarSection({ collapsed }: { collapsed: boolean }) {
|
|
|
453
460
|
onClick={requestCreatePlan}
|
|
454
461
|
disabled={sessionLoading}
|
|
455
462
|
className="flex size-6 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/65 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50"
|
|
456
|
-
aria-label={
|
|
463
|
+
aria-label={
|
|
464
|
+
session ? t("sidebar.newPlan") : t("sidebar.signInCreatePlan")
|
|
465
|
+
}
|
|
457
466
|
>
|
|
458
467
|
<IconPlus className="size-3.5" />
|
|
459
468
|
</button>
|
|
460
469
|
</TooltipTrigger>
|
|
461
470
|
<TooltipContent>
|
|
462
|
-
{session ? "
|
|
471
|
+
{session ? t("sidebar.newPlan") : t("sidebar.signInToCreate")}
|
|
463
472
|
</TooltipContent>
|
|
464
473
|
</Tooltip>
|
|
465
474
|
</div>
|
|
@@ -476,7 +485,7 @@ function PlansSidebarSection({ collapsed }: { collapsed: boolean }) {
|
|
|
476
485
|
onClick={signInForPlanCreate}
|
|
477
486
|
className="rounded-md px-2 py-1.5 text-left text-xs leading-5 text-sidebar-foreground/65 transition-colors hover:bg-sidebar-accent/65 hover:text-sidebar-accent-foreground"
|
|
478
487
|
>
|
|
479
|
-
|
|
488
|
+
{t("sidebar.signInKeepPlans")}
|
|
480
489
|
</button>
|
|
481
490
|
) : plansQuery.isLoading ? (
|
|
482
491
|
<div className="grid gap-1">
|
|
@@ -486,7 +495,7 @@ function PlansSidebarSection({ collapsed }: { collapsed: boolean }) {
|
|
|
486
495
|
</div>
|
|
487
496
|
) : plans.length === 0 ? (
|
|
488
497
|
<p className="px-2 py-1.5 text-xs leading-5 text-sidebar-foreground/55">
|
|
489
|
-
|
|
498
|
+
{t("sidebar.noPlans")}
|
|
490
499
|
</p>
|
|
491
500
|
) : (
|
|
492
501
|
<div className="grid gap-0.5">
|
|
@@ -514,7 +523,7 @@ function PlansSidebarSection({ collapsed }: { collapsed: boolean }) {
|
|
|
514
523
|
variant="outline"
|
|
515
524
|
className="h-4 shrink-0 rounded px-1 text-[9px]"
|
|
516
525
|
>
|
|
517
|
-
|
|
526
|
+
{t("sidebar.recapBadge")}
|
|
518
527
|
</Badge>
|
|
519
528
|
)}
|
|
520
529
|
{plan.openCommentCount > 0 ? (
|
|
@@ -538,7 +547,7 @@ function PlansSidebarSection({ collapsed }: { collapsed: boolean }) {
|
|
|
538
547
|
onClick={(event) => openPlanPath(event, "/plans")}
|
|
539
548
|
className="rounded-md px-2 py-1.5 text-left text-xs leading-5 text-sidebar-foreground/55 transition-colors hover:bg-sidebar-accent/65 hover:text-sidebar-accent-foreground"
|
|
540
549
|
>
|
|
541
|
-
|
|
550
|
+
{t("sidebar.viewAllPlans")}
|
|
542
551
|
</Link>
|
|
543
552
|
)}
|
|
544
553
|
</div>
|
|
@@ -551,6 +560,7 @@ function BrandingCustomizePopover() {
|
|
|
551
560
|
const [open, setOpen] = useState(false);
|
|
552
561
|
const { isCodeMode } = useCodeMode();
|
|
553
562
|
const { send, isGenerating, codeRequiredDialog } = useSendToAgentChat();
|
|
563
|
+
const t = useT();
|
|
554
564
|
|
|
555
565
|
function handleSubmit(text: string) {
|
|
556
566
|
const trimmed = text.trim();
|
|
@@ -567,9 +577,7 @@ function BrandingCustomizePopover() {
|
|
|
567
577
|
setOpen(false);
|
|
568
578
|
if (tabId) {
|
|
569
579
|
toast.success(
|
|
570
|
-
isCodeMode
|
|
571
|
-
? "Sent branding request to the local code agent"
|
|
572
|
-
: "Sent branding request to the code agent",
|
|
580
|
+
isCodeMode ? t("sidebar.brandingSentLocal") : t("sidebar.brandingSent"),
|
|
573
581
|
);
|
|
574
582
|
}
|
|
575
583
|
}
|
|
@@ -581,8 +589,8 @@ function BrandingCustomizePopover() {
|
|
|
581
589
|
<PopoverTrigger asChild>
|
|
582
590
|
<button
|
|
583
591
|
type="button"
|
|
584
|
-
aria-label="
|
|
585
|
-
title="
|
|
592
|
+
aria-label={t("sidebar.customizePlanBranding")}
|
|
593
|
+
title={t("sidebar.customizeBranding")}
|
|
586
594
|
className="flex size-7 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/55 opacity-0 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring group-hover/brand:opacity-100 group-focus-within/brand:opacity-100 data-[state=open]:opacity-100"
|
|
587
595
|
>
|
|
588
596
|
<IconEdit className="size-3.5" />
|
|
@@ -596,10 +604,10 @@ function BrandingCustomizePopover() {
|
|
|
596
604
|
>
|
|
597
605
|
<div className="mb-2 px-1">
|
|
598
606
|
<h3 className="text-sm font-semibold text-foreground">
|
|
599
|
-
|
|
607
|
+
{t("sidebar.customizeBranding")}
|
|
600
608
|
</h3>
|
|
601
609
|
<p className="mt-1 text-xs text-muted-foreground">
|
|
602
|
-
|
|
610
|
+
{t("sidebar.customizeBrandingDescription")}
|
|
603
611
|
</p>
|
|
604
612
|
</div>
|
|
605
613
|
<PromptComposer
|
|
@@ -607,7 +615,7 @@ function BrandingCustomizePopover() {
|
|
|
607
615
|
disabled={isGenerating}
|
|
608
616
|
attachmentsEnabled={false}
|
|
609
617
|
showModelSelector={false}
|
|
610
|
-
placeholder="
|
|
618
|
+
placeholder={t("sidebar.customizeBrandingPlaceholder")}
|
|
611
619
|
draftScope="plans:customize-branding"
|
|
612
620
|
onSubmit={handleSubmit}
|
|
613
621
|
/>
|
|
@@ -624,6 +632,7 @@ export function Sidebar({
|
|
|
624
632
|
}: SidebarProps) {
|
|
625
633
|
const location = useLocation();
|
|
626
634
|
const { session, isLoading: sessionLoading } = useSession();
|
|
635
|
+
const t = useT();
|
|
627
636
|
const returnPath = `${location.pathname}${location.search}${location.hash}`;
|
|
628
637
|
const ToggleIcon = collapsed
|
|
629
638
|
? IconLayoutSidebarLeftExpand
|
|
@@ -637,13 +646,17 @@ export function Sidebar({
|
|
|
637
646
|
variant="ghost"
|
|
638
647
|
className="size-8 shrink-0 text-muted-foreground"
|
|
639
648
|
onClick={() => onCollapsedChange?.(!collapsed)}
|
|
640
|
-
aria-label={
|
|
649
|
+
aria-label={
|
|
650
|
+
collapsed
|
|
651
|
+
? t("sidebar.expandSidebar")
|
|
652
|
+
: t("sidebar.collapseSidebar")
|
|
653
|
+
}
|
|
641
654
|
>
|
|
642
655
|
<ToggleIcon className="size-4" />
|
|
643
656
|
</Button>
|
|
644
657
|
</TooltipTrigger>
|
|
645
658
|
<TooltipContent side="right">
|
|
646
|
-
{collapsed ? "
|
|
659
|
+
{collapsed ? t("sidebar.expandSidebar") : t("sidebar.collapseSidebar")}
|
|
647
660
|
</TooltipContent>
|
|
648
661
|
</Tooltip>
|
|
649
662
|
) : null;
|
|
@@ -716,9 +729,9 @@ export function Sidebar({
|
|
|
716
729
|
>
|
|
717
730
|
<Icon className="h-4 w-4 shrink-0" />
|
|
718
731
|
{collapsed ? (
|
|
719
|
-
<span className="sr-only">{item.
|
|
732
|
+
<span className="sr-only">{t(item.labelKey)}</span>
|
|
720
733
|
) : (
|
|
721
|
-
item.
|
|
734
|
+
t(item.labelKey)
|
|
722
735
|
)}
|
|
723
736
|
</Link>
|
|
724
737
|
);
|
|
@@ -762,7 +775,7 @@ export function Sidebar({
|
|
|
762
775
|
className="h-8 px-3 text-xs"
|
|
763
776
|
onClick={() => signInWithReturnPath(returnPath)}
|
|
764
777
|
>
|
|
765
|
-
|
|
778
|
+
{t("sidebar.signIn")}
|
|
766
779
|
</Button>
|
|
767
780
|
{collapseButton}
|
|
768
781
|
</div>
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandActions: "الإجراءات",
|
|
4
|
+
askPlan: "اسأل Plan",
|
|
5
|
+
openPlans: "فتح الخطط",
|
|
6
|
+
openRecaps: "فتح الملخصات",
|
|
7
|
+
commandAppearance: "المظهر",
|
|
8
|
+
toggleTheme: "تبديل السمة",
|
|
9
|
+
},
|
|
10
|
+
header: {
|
|
11
|
+
plan: "Plan",
|
|
12
|
+
settings: "الإعدادات",
|
|
13
|
+
team: "الفريق",
|
|
14
|
+
extensions: "الإضافات",
|
|
15
|
+
},
|
|
16
|
+
navigation: {
|
|
17
|
+
settings: "الإعدادات",
|
|
18
|
+
ask: "اسأل",
|
|
19
|
+
plan: "الخطة",
|
|
20
|
+
},
|
|
21
|
+
settings: {
|
|
22
|
+
title: "الإعدادات",
|
|
23
|
+
description: "تفضيلات اللغة ومساحة العمل لهذا التطبيق.",
|
|
24
|
+
languageTitle: "اللغة",
|
|
25
|
+
languageDescription: "اختر لغة الواجهة. يتم حفظ هذا التفضيل في حسابك.",
|
|
26
|
+
languageLabel: "لغة الواجهة",
|
|
27
|
+
workspaceTitle: "مساحة العمل",
|
|
28
|
+
workspaceDescription:
|
|
29
|
+
"إدارة أعضاء الفريق ووصول المؤسسة وتفضيلات مساحة العمل المشتركة.",
|
|
30
|
+
openTeamSettings: "فتح إعدادات الفريق",
|
|
31
|
+
openResourceSettings: "فتح إعدادات الموارد",
|
|
32
|
+
agentTitle: "إعدادات الوكيل",
|
|
33
|
+
agentDescription:
|
|
34
|
+
"افتح إعدادات الوكيل في الشريط الجانبي لإدارة النموذج ومفاتيح API والأتمتة والصوت وعناصر التحكم الأخرى.",
|
|
35
|
+
openAgentSettings: "فتح إعدادات الوكيل",
|
|
36
|
+
},
|
|
37
|
+
agent: {
|
|
38
|
+
emptyState:
|
|
39
|
+
"اطلب من وكيل Plan البحث في ملخصات طلبات الدمج المدمجة، أو فحص هذا المستند، أو إضافة مخططات، أو الإجابة عن أسئلة الكود كخطط مرئية.",
|
|
40
|
+
suggestionShipped: "ما الذي تم شحنه في الأسبوع الماضي؟",
|
|
41
|
+
suggestionUi: "كيف تبدو هذه الواجهة؟",
|
|
42
|
+
suggestionApi: "ما شكل واجهة API هذه؟",
|
|
43
|
+
},
|
|
44
|
+
sidebar: {
|
|
45
|
+
openNavigation: "فتح التنقل",
|
|
46
|
+
navigation: "التنقل",
|
|
47
|
+
navigationDescription: "روابط التنقل في التطبيق",
|
|
48
|
+
chats: "المحادثات",
|
|
49
|
+
newPlanChat: "محادثة Plan جديدة",
|
|
50
|
+
newChat: "محادثة جديدة",
|
|
51
|
+
renameChat: "إعادة تسمية المحادثة",
|
|
52
|
+
unpinChat: "إلغاء تثبيت المحادثة",
|
|
53
|
+
pinChat: "تثبيت المحادثة",
|
|
54
|
+
archiveChat: "أرشفة المحادثة",
|
|
55
|
+
planSection: "الخطة",
|
|
56
|
+
newPlan: "خطة جديدة",
|
|
57
|
+
signInCreatePlan: "سجّل الدخول لإنشاء خطة",
|
|
58
|
+
signInToCreate: "سجّل الدخول للإنشاء",
|
|
59
|
+
signInKeepPlans: "سجّل الدخول لإنشاء الخطط والاحتفاظ بها.",
|
|
60
|
+
noPlans: "لا توجد خطط بعد.",
|
|
61
|
+
recapBadge: "ملخص",
|
|
62
|
+
viewAllPlans: "عرض كل الخطط...",
|
|
63
|
+
brandingSentLocal: "تم إرسال طلب العلامة إلى وكيل الكود المحلي",
|
|
64
|
+
brandingSent: "تم إرسال طلب العلامة إلى وكيل الكود",
|
|
65
|
+
customizePlanBranding: "تخصيص علامة Plan",
|
|
66
|
+
customizeBranding: "تخصيص العلامة",
|
|
67
|
+
customizeBrandingDescription:
|
|
68
|
+
"صف تغييرات العلامة التي تريد تطبيقها عبر Plan.",
|
|
69
|
+
customizeBrandingPlaceholder:
|
|
70
|
+
"استخدم شعارنا، غيّر اسم التطبيق، حدّث الألوان...",
|
|
71
|
+
expandSidebar: "توسيع الشريط الجانبي",
|
|
72
|
+
collapseSidebar: "طي الشريط الجانبي",
|
|
73
|
+
signIn: "تسجيل الدخول",
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export default messages;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandActions: "Aktionen",
|
|
4
|
+
askPlan: "Plan fragen",
|
|
5
|
+
openPlans: "Pläne öffnen",
|
|
6
|
+
openRecaps: "Rückblicke öffnen",
|
|
7
|
+
commandAppearance: "Darstellung",
|
|
8
|
+
toggleTheme: "Design wechseln",
|
|
9
|
+
},
|
|
10
|
+
header: {
|
|
11
|
+
plan: "Plan",
|
|
12
|
+
settings: "Einstellungen",
|
|
13
|
+
team: "Team",
|
|
14
|
+
extensions: "Erweiterungen",
|
|
15
|
+
},
|
|
16
|
+
navigation: {
|
|
17
|
+
settings: "Einstellungen",
|
|
18
|
+
ask: "Fragen",
|
|
19
|
+
plan: "Plan",
|
|
20
|
+
},
|
|
21
|
+
settings: {
|
|
22
|
+
title: "Einstellungen",
|
|
23
|
+
description: "Sprach- und Arbeitsbereichseinstellungen für diese App.",
|
|
24
|
+
languageTitle: "Sprache",
|
|
25
|
+
languageDescription:
|
|
26
|
+
"Wähle die Sprache der Oberfläche. Diese Einstellung wird in deinem Konto gespeichert.",
|
|
27
|
+
languageLabel: "Oberflächensprache",
|
|
28
|
+
workspaceTitle: "Arbeitsbereich",
|
|
29
|
+
workspaceDescription:
|
|
30
|
+
"Verwalte Teammitglieder, Organisationszugriff und gemeinsame Arbeitsbereichseinstellungen.",
|
|
31
|
+
openTeamSettings: "Teameinstellungen öffnen",
|
|
32
|
+
openResourceSettings: "Ressourceneinstellungen öffnen",
|
|
33
|
+
agentTitle: "Agent-Einstellungen",
|
|
34
|
+
agentDescription:
|
|
35
|
+
"Öffne die Agent-Einstellungen in der Seitenleiste für Modell, API-Schlüssel, Automatisierungen, Sprache und weitere Steuerungen.",
|
|
36
|
+
openAgentSettings: "Agent-Einstellungen öffnen",
|
|
37
|
+
},
|
|
38
|
+
agent: {
|
|
39
|
+
emptyState:
|
|
40
|
+
"Bitte den Plan-Agenten, gemergte PR-Rückblicke zu suchen, dieses Dokument zu prüfen, Diagramme hinzuzufügen oder Codefragen als visuelle Pläne zu beantworten.",
|
|
41
|
+
suggestionShipped: "Was wurde in der letzten Woche ausgeliefert?",
|
|
42
|
+
suggestionUi: "Wie sieht diese Oberfläche aus?",
|
|
43
|
+
suggestionApi: "Welche Struktur hat diese API?",
|
|
44
|
+
},
|
|
45
|
+
sidebar: {
|
|
46
|
+
openNavigation: "Navigation öffnen",
|
|
47
|
+
navigation: "Navigation",
|
|
48
|
+
navigationDescription: "Navigationslinks der App",
|
|
49
|
+
chats: "Chats",
|
|
50
|
+
newPlanChat: "Neuer Plan-Chat",
|
|
51
|
+
newChat: "Neuer Chat",
|
|
52
|
+
renameChat: "Chat umbenennen",
|
|
53
|
+
unpinChat: "Chat lösen",
|
|
54
|
+
pinChat: "Chat anheften",
|
|
55
|
+
archiveChat: "Chat archivieren",
|
|
56
|
+
planSection: "Plan",
|
|
57
|
+
newPlan: "Neuer Plan",
|
|
58
|
+
signInCreatePlan: "Anmelden, um einen Plan zu erstellen",
|
|
59
|
+
signInToCreate: "Zum Erstellen anmelden",
|
|
60
|
+
signInKeepPlans: "Melde dich an, um Pläne zu erstellen und zu behalten.",
|
|
61
|
+
noPlans: "Noch keine Pläne.",
|
|
62
|
+
recapBadge: "Rückblick",
|
|
63
|
+
viewAllPlans: "Alle Pläne anzeigen...",
|
|
64
|
+
brandingSentLocal: "Branding-Anfrage an den lokalen Code-Agenten gesendet",
|
|
65
|
+
brandingSent: "Branding-Anfrage an den Code-Agenten gesendet",
|
|
66
|
+
customizePlanBranding: "Plan-Branding anpassen",
|
|
67
|
+
customizeBranding: "Branding anpassen",
|
|
68
|
+
customizeBrandingDescription:
|
|
69
|
+
"Beschreibe die Branding-Änderungen für Plan.",
|
|
70
|
+
customizeBrandingPlaceholder:
|
|
71
|
+
"Unser Logo verwenden, App-Namen ändern, Farben aktualisieren...",
|
|
72
|
+
expandSidebar: "Seitenleiste erweitern",
|
|
73
|
+
collapseSidebar: "Seitenleiste einklappen",
|
|
74
|
+
signIn: "Anmelden",
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export default messages;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandActions: "Actions",
|
|
4
|
+
askPlan: "Ask Plan",
|
|
5
|
+
openPlans: "Open plans",
|
|
6
|
+
openRecaps: "Open recaps",
|
|
7
|
+
commandAppearance: "Appearance",
|
|
8
|
+
toggleTheme: "Toggle theme",
|
|
9
|
+
},
|
|
10
|
+
header: {
|
|
11
|
+
plan: "Plan",
|
|
12
|
+
settings: "Settings",
|
|
13
|
+
team: "Team",
|
|
14
|
+
extensions: "Extensions",
|
|
15
|
+
},
|
|
16
|
+
navigation: {
|
|
17
|
+
settings: "Settings",
|
|
18
|
+
ask: "Ask",
|
|
19
|
+
plan: "Plan",
|
|
20
|
+
},
|
|
21
|
+
settings: {
|
|
22
|
+
title: "Settings",
|
|
23
|
+
description: "Language and workspace preferences for this app.",
|
|
24
|
+
languageTitle: "Language",
|
|
25
|
+
languageDescription:
|
|
26
|
+
"Choose the interface language. This preference is saved for your account.",
|
|
27
|
+
languageLabel: "Interface language",
|
|
28
|
+
workspaceTitle: "Workspace",
|
|
29
|
+
workspaceDescription:
|
|
30
|
+
"Manage team members, organization access, and shared workspace preferences.",
|
|
31
|
+
openTeamSettings: "Open team settings",
|
|
32
|
+
openResourceSettings: "Open resource settings",
|
|
33
|
+
agentTitle: "Agent settings",
|
|
34
|
+
agentDescription:
|
|
35
|
+
"Open the agent sidebar settings for model, API keys, automations, voice, and other agent controls.",
|
|
36
|
+
openAgentSettings: "Open agent settings",
|
|
37
|
+
},
|
|
38
|
+
agent: {
|
|
39
|
+
emptyState:
|
|
40
|
+
"Ask the Plan agent to search merged PR recaps, inspect this document, add diagrams, or answer code questions as visual plans.",
|
|
41
|
+
suggestionShipped: "What shipped in the last week?",
|
|
42
|
+
suggestionUi: "What does this UI look like?",
|
|
43
|
+
suggestionApi: "What is the shape of this API?",
|
|
44
|
+
},
|
|
45
|
+
sidebar: {
|
|
46
|
+
openNavigation: "Open navigation",
|
|
47
|
+
navigation: "Navigation",
|
|
48
|
+
navigationDescription: "App navigation links",
|
|
49
|
+
chats: "Chats",
|
|
50
|
+
newPlanChat: "New Plan chat",
|
|
51
|
+
newChat: "New chat",
|
|
52
|
+
renameChat: "Rename chat",
|
|
53
|
+
unpinChat: "Unpin chat",
|
|
54
|
+
pinChat: "Pin chat",
|
|
55
|
+
archiveChat: "Archive chat",
|
|
56
|
+
planSection: "Plan",
|
|
57
|
+
newPlan: "New plan",
|
|
58
|
+
signInCreatePlan: "Sign in to create a plan",
|
|
59
|
+
signInToCreate: "Sign in to create",
|
|
60
|
+
signInKeepPlans: "Sign in to create and keep plans.",
|
|
61
|
+
noPlans: "No plans yet.",
|
|
62
|
+
recapBadge: "Recap",
|
|
63
|
+
viewAllPlans: "View all plans...",
|
|
64
|
+
brandingSentLocal: "Sent branding request to the local code agent",
|
|
65
|
+
brandingSent: "Sent branding request to the code agent",
|
|
66
|
+
customizePlanBranding: "Customize Plan branding",
|
|
67
|
+
customizeBranding: "Customize branding",
|
|
68
|
+
customizeBrandingDescription:
|
|
69
|
+
"Describe the brand changes to make across Plan.",
|
|
70
|
+
customizeBrandingPlaceholder:
|
|
71
|
+
"Use our logo, change the app name, update colors...",
|
|
72
|
+
expandSidebar: "Expand sidebar",
|
|
73
|
+
collapseSidebar: "Collapse sidebar",
|
|
74
|
+
signIn: "Sign in",
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export default messages;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandActions: "Acciones",
|
|
4
|
+
askPlan: "Preguntar a Plan",
|
|
5
|
+
openPlans: "Abrir planes",
|
|
6
|
+
openRecaps: "Abrir resúmenes",
|
|
7
|
+
commandAppearance: "Apariencia",
|
|
8
|
+
toggleTheme: "Cambiar tema",
|
|
9
|
+
},
|
|
10
|
+
header: {
|
|
11
|
+
plan: "Plan",
|
|
12
|
+
settings: "Ajustes",
|
|
13
|
+
team: "Equipo",
|
|
14
|
+
extensions: "Extensiones",
|
|
15
|
+
},
|
|
16
|
+
navigation: {
|
|
17
|
+
settings: "Ajustes",
|
|
18
|
+
ask: "Preguntar",
|
|
19
|
+
plan: "Plan",
|
|
20
|
+
},
|
|
21
|
+
settings: {
|
|
22
|
+
title: "Ajustes",
|
|
23
|
+
description: "Preferencias de idioma y espacio de trabajo para esta app.",
|
|
24
|
+
languageTitle: "Idioma",
|
|
25
|
+
languageDescription:
|
|
26
|
+
"Elige el idioma de la interfaz. Esta preferencia se guarda en tu cuenta.",
|
|
27
|
+
languageLabel: "Idioma de la interfaz",
|
|
28
|
+
workspaceTitle: "Espacio de trabajo",
|
|
29
|
+
workspaceDescription:
|
|
30
|
+
"Gestiona miembros del equipo, acceso de la organización y preferencias compartidas.",
|
|
31
|
+
openTeamSettings: "Abrir ajustes del equipo",
|
|
32
|
+
openResourceSettings: "Abrir ajustes de recursos",
|
|
33
|
+
agentTitle: "Ajustes del agente",
|
|
34
|
+
agentDescription:
|
|
35
|
+
"Abre los ajustes del agente en la barra lateral para modelos, claves API, automatizaciones, voz y otros controles.",
|
|
36
|
+
openAgentSettings: "Abrir ajustes del agente",
|
|
37
|
+
},
|
|
38
|
+
agent: {
|
|
39
|
+
emptyState:
|
|
40
|
+
"Pide al agente de Plan que busque resúmenes de PR fusionadas, revise este documento, agregue diagramas o responda preguntas de código como planes visuales.",
|
|
41
|
+
suggestionShipped: "¿Qué se lanzó la semana pasada?",
|
|
42
|
+
suggestionUi: "¿Cómo se ve esta interfaz?",
|
|
43
|
+
suggestionApi: "¿Cuál es la forma de esta API?",
|
|
44
|
+
},
|
|
45
|
+
sidebar: {
|
|
46
|
+
openNavigation: "Abrir navegación",
|
|
47
|
+
navigation: "Navegación",
|
|
48
|
+
navigationDescription: "Enlaces de navegación de la app",
|
|
49
|
+
chats: "Chats",
|
|
50
|
+
newPlanChat: "Nuevo chat de Plan",
|
|
51
|
+
newChat: "Nuevo chat",
|
|
52
|
+
renameChat: "Renombrar chat",
|
|
53
|
+
unpinChat: "Desfijar chat",
|
|
54
|
+
pinChat: "Fijar chat",
|
|
55
|
+
archiveChat: "Archivar chat",
|
|
56
|
+
planSection: "Plan",
|
|
57
|
+
newPlan: "Nuevo plan",
|
|
58
|
+
signInCreatePlan: "Inicia sesión para crear un plan",
|
|
59
|
+
signInToCreate: "Inicia sesión para crear",
|
|
60
|
+
signInKeepPlans: "Inicia sesión para crear y conservar planes.",
|
|
61
|
+
noPlans: "Aún no hay planes.",
|
|
62
|
+
recapBadge: "Resumen",
|
|
63
|
+
viewAllPlans: "Ver todos los planes...",
|
|
64
|
+
brandingSentLocal: "Solicitud de marca enviada al agente de código local",
|
|
65
|
+
brandingSent: "Solicitud de marca enviada al agente de código",
|
|
66
|
+
customizePlanBranding: "Personalizar la marca de Plan",
|
|
67
|
+
customizeBranding: "Personalizar marca",
|
|
68
|
+
customizeBrandingDescription:
|
|
69
|
+
"Describe los cambios de marca que quieres aplicar en Plan.",
|
|
70
|
+
customizeBrandingPlaceholder:
|
|
71
|
+
"Usa nuestro logo, cambia el nombre de la app, actualiza los colores...",
|
|
72
|
+
expandSidebar: "Expandir barra lateral",
|
|
73
|
+
collapseSidebar: "Contraer barra lateral",
|
|
74
|
+
signIn: "Iniciar sesión",
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export default messages;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
root: {
|
|
3
|
+
commandActions: "Actions",
|
|
4
|
+
askPlan: "Demander à Plan",
|
|
5
|
+
openPlans: "Ouvrir les plans",
|
|
6
|
+
openRecaps: "Ouvrir les récapitulatifs",
|
|
7
|
+
commandAppearance: "Apparence",
|
|
8
|
+
toggleTheme: "Changer de thème",
|
|
9
|
+
},
|
|
10
|
+
header: {
|
|
11
|
+
plan: "Plan",
|
|
12
|
+
settings: "Paramètres",
|
|
13
|
+
team: "Équipe",
|
|
14
|
+
extensions: "Extensions",
|
|
15
|
+
},
|
|
16
|
+
navigation: {
|
|
17
|
+
settings: "Paramètres",
|
|
18
|
+
ask: "Demander",
|
|
19
|
+
plan: "Plan",
|
|
20
|
+
},
|
|
21
|
+
settings: {
|
|
22
|
+
title: "Paramètres",
|
|
23
|
+
description: "Préférences de langue et d’espace de travail pour cette app.",
|
|
24
|
+
languageTitle: "Langue",
|
|
25
|
+
languageDescription:
|
|
26
|
+
"Choisissez la langue de l’interface. Cette préférence est enregistrée dans votre compte.",
|
|
27
|
+
languageLabel: "Langue de l’interface",
|
|
28
|
+
workspaceTitle: "Espace de travail",
|
|
29
|
+
workspaceDescription:
|
|
30
|
+
"Gérez les membres, l’accès de l’organisation et les préférences partagées.",
|
|
31
|
+
openTeamSettings: "Ouvrir les paramètres d’équipe",
|
|
32
|
+
openResourceSettings: "Ouvrir les paramètres des ressources",
|
|
33
|
+
agentTitle: "Paramètres de l’agent",
|
|
34
|
+
agentDescription:
|
|
35
|
+
"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.",
|
|
36
|
+
openAgentSettings: "Ouvrir les paramètres de l’agent",
|
|
37
|
+
},
|
|
38
|
+
agent: {
|
|
39
|
+
emptyState:
|
|
40
|
+
"Demandez à l’agent Plan de rechercher les récapitulatifs de PR fusionnées, d’inspecter ce document, d’ajouter des diagrammes ou de répondre aux questions de code sous forme de plans visuels.",
|
|
41
|
+
suggestionShipped: "Qu’est-ce qui a été livré la semaine dernière ?",
|
|
42
|
+
suggestionUi: "À quoi ressemble cette interface ?",
|
|
43
|
+
suggestionApi: "Quelle est la structure de cette API ?",
|
|
44
|
+
},
|
|
45
|
+
sidebar: {
|
|
46
|
+
openNavigation: "Ouvrir la navigation",
|
|
47
|
+
navigation: "Navigation",
|
|
48
|
+
navigationDescription: "Liens de navigation de l’application",
|
|
49
|
+
chats: "Discussions",
|
|
50
|
+
newPlanChat: "Nouvelle discussion Plan",
|
|
51
|
+
newChat: "Nouvelle discussion",
|
|
52
|
+
renameChat: "Renommer la discussion",
|
|
53
|
+
unpinChat: "Retirer l’épingle",
|
|
54
|
+
pinChat: "Épingler la discussion",
|
|
55
|
+
archiveChat: "Archiver la discussion",
|
|
56
|
+
planSection: "Plan",
|
|
57
|
+
newPlan: "Nouveau plan",
|
|
58
|
+
signInCreatePlan: "Connectez-vous pour créer un plan",
|
|
59
|
+
signInToCreate: "Connectez-vous pour créer",
|
|
60
|
+
signInKeepPlans: "Connectez-vous pour créer et conserver des plans.",
|
|
61
|
+
noPlans: "Aucun plan pour le moment.",
|
|
62
|
+
recapBadge: "Récap",
|
|
63
|
+
viewAllPlans: "Voir tous les plans...",
|
|
64
|
+
brandingSentLocal: "Demande de marque envoyée à l’agent de code local",
|
|
65
|
+
brandingSent: "Demande de marque envoyée à l’agent de code",
|
|
66
|
+
customizePlanBranding: "Personnaliser la marque Plan",
|
|
67
|
+
customizeBranding: "Personnaliser la marque",
|
|
68
|
+
customizeBrandingDescription:
|
|
69
|
+
"Décrivez les changements de marque à appliquer dans Plan.",
|
|
70
|
+
customizeBrandingPlaceholder:
|
|
71
|
+
"Utilisez notre logo, changez le nom de l’app, mettez à jour les couleurs...",
|
|
72
|
+
expandSidebar: "Développer la barre latérale",
|
|
73
|
+
collapseSidebar: "Réduire la barre latérale",
|
|
74
|
+
signIn: "Se connecter",
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export default messages;
|