ai-frames 0.3.2 → 0.5.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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +40 -40
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +3 -1
- package/.next/required-server-files.json +3 -1
- package/.next/server/app/(dashboard)/agents/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/contexts/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/mcps/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/overview/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/prompts/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/rules/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/summary/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/templates/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/workspace/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +2 -2
- package/.next/server/app/_not-found.rsc +10 -10
- package/.next/server/app/_not-found.segments/_full.segment.rsc +10 -10
- package/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/agents.html +2 -2
- package/.next/server/app/agents.rsc +14 -14
- package/.next/server/app/agents.segments/!KGRhc2hib2FyZCk/agents/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/agents.segments/!KGRhc2hib2FyZCk/agents.segment.rsc +3 -3
- package/.next/server/app/agents.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/.next/server/app/agents.segments/_full.segment.rsc +14 -14
- package/.next/server/app/agents.segments/_head.segment.rsc +3 -3
- package/.next/server/app/agents.segments/_index.segment.rsc +6 -6
- package/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/contexts.html +2 -2
- package/.next/server/app/contexts.rsc +14 -14
- package/.next/server/app/contexts.segments/!KGRhc2hib2FyZCk/contexts/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/contexts.segments/!KGRhc2hib2FyZCk/contexts.segment.rsc +3 -3
- package/.next/server/app/contexts.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/.next/server/app/contexts.segments/_full.segment.rsc +14 -14
- package/.next/server/app/contexts.segments/_head.segment.rsc +3 -3
- package/.next/server/app/contexts.segments/_index.segment.rsc +6 -6
- package/.next/server/app/contexts.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +12 -12
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/index.segments/_full.segment.rsc +12 -12
- package/.next/server/app/index.segments/_head.segment.rsc +3 -3
- package/.next/server/app/index.segments/_index.segment.rsc +6 -6
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/mcps.html +2 -2
- package/.next/server/app/mcps.rsc +14 -14
- package/.next/server/app/mcps.segments/!KGRhc2hib2FyZCk/mcps/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/mcps.segments/!KGRhc2hib2FyZCk/mcps.segment.rsc +3 -3
- package/.next/server/app/mcps.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/.next/server/app/mcps.segments/_full.segment.rsc +14 -14
- package/.next/server/app/mcps.segments/_head.segment.rsc +3 -3
- package/.next/server/app/mcps.segments/_index.segment.rsc +6 -6
- package/.next/server/app/mcps.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/overview.html +2 -2
- package/.next/server/app/overview.rsc +14 -14
- package/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview.segment.rsc +3 -3
- package/.next/server/app/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/.next/server/app/overview.segments/_full.segment.rsc +14 -14
- package/.next/server/app/overview.segments/_head.segment.rsc +3 -3
- package/.next/server/app/overview.segments/_index.segment.rsc +6 -6
- package/.next/server/app/overview.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/prompts.html +2 -2
- package/.next/server/app/prompts.rsc +14 -14
- package/.next/server/app/prompts.segments/!KGRhc2hib2FyZCk/prompts/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/prompts.segments/!KGRhc2hib2FyZCk/prompts.segment.rsc +3 -3
- package/.next/server/app/prompts.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/.next/server/app/prompts.segments/_full.segment.rsc +14 -14
- package/.next/server/app/prompts.segments/_head.segment.rsc +3 -3
- package/.next/server/app/prompts.segments/_index.segment.rsc +6 -6
- package/.next/server/app/prompts.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/repositories.html +2 -2
- package/.next/server/app/repositories.rsc +14 -14
- package/.next/server/app/repositories.segments/!KGRhc2hib2FyZCk/repositories/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/repositories.segments/!KGRhc2hib2FyZCk/repositories.segment.rsc +3 -3
- package/.next/server/app/repositories.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/.next/server/app/repositories.segments/_full.segment.rsc +14 -14
- package/.next/server/app/repositories.segments/_head.segment.rsc +3 -3
- package/.next/server/app/repositories.segments/_index.segment.rsc +6 -6
- package/.next/server/app/repositories.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/rules.html +2 -2
- package/.next/server/app/rules.rsc +14 -14
- package/.next/server/app/rules.segments/!KGRhc2hib2FyZCk/rules/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/rules.segments/!KGRhc2hib2FyZCk/rules.segment.rsc +3 -3
- package/.next/server/app/rules.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/.next/server/app/rules.segments/_full.segment.rsc +14 -14
- package/.next/server/app/rules.segments/_head.segment.rsc +3 -3
- package/.next/server/app/rules.segments/_index.segment.rsc +6 -6
- package/.next/server/app/rules.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/server/app/setup.html +2 -2
- package/.next/server/app/setup.rsc +12 -12
- package/.next/server/app/setup.segments/_full.segment.rsc +12 -12
- package/.next/server/app/setup.segments/_head.segment.rsc +3 -3
- package/.next/server/app/setup.segments/_index.segment.rsc +6 -6
- package/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/setup.segments/setup.segment.rsc +3 -3
- package/.next/server/app/skills.html +2 -2
- package/.next/server/app/skills.rsc +14 -14
- package/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
- package/.next/server/app/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/.next/server/app/skills.segments/_full.segment.rsc +14 -14
- package/.next/server/app/skills.segments/_head.segment.rsc +3 -3
- package/.next/server/app/skills.segments/_index.segment.rsc +6 -6
- package/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/summary.html +2 -2
- package/.next/server/app/summary.rsc +14 -14
- package/.next/server/app/summary.segments/!KGRhc2hib2FyZCk/summary/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/summary.segments/!KGRhc2hib2FyZCk/summary.segment.rsc +3 -3
- package/.next/server/app/summary.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/.next/server/app/summary.segments/_full.segment.rsc +14 -14
- package/.next/server/app/summary.segments/_head.segment.rsc +3 -3
- package/.next/server/app/summary.segments/_index.segment.rsc +6 -6
- package/.next/server/app/summary.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/templates.html +2 -2
- package/.next/server/app/templates.rsc +14 -14
- package/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates.segment.rsc +3 -3
- package/.next/server/app/templates.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/.next/server/app/templates.segments/_full.segment.rsc +14 -14
- package/.next/server/app/templates.segments/_head.segment.rsc +3 -3
- package/.next/server/app/templates.segments/_index.segment.rsc +6 -6
- package/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/workspace.html +2 -2
- package/.next/server/app/workspace.rsc +14 -14
- package/.next/server/app/workspace.segments/!KGRhc2hib2FyZCk/workspace/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/workspace.segments/!KGRhc2hib2FyZCk/workspace.segment.rsc +3 -3
- package/.next/server/app/workspace.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/.next/server/app/workspace.segments/_full.segment.rsc +14 -14
- package/.next/server/app/workspace.segments/_head.segment.rsc +3 -3
- package/.next/server/app/workspace.segments/_index.segment.rsc +6 -6
- package/.next/server/app/workspace.segments/_tree.segment.rsc +2 -2
- package/.next/server/chunks/ssr/_076e19j._.js +1 -1
- package/.next/server/chunks/ssr/_076e19j._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(dashboard)_workspace_page_tsx_1m7j4wk._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(dashboard)_workspace_page_tsx_1m7j4wk._.js.map +1 -1
- package/.next/server/chunks/ssr/src_i18n_LangContext_tsx_10r-5vo._.js +1 -1
- package/.next/server/chunks/ssr/src_i18n_LangContext_tsx_10r-5vo._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/1rilc4b9q3--1.js +1 -0
- package/.next/static/chunks/20ukguxl8a0b3.js +1 -0
- package/.next/static/chunks/2ygq6f6alc1cc.css +1 -0
- package/.next/static/chunks/33e13z0_ikslv.js +1 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/next.config.ts +8 -0
- package/package.json +1 -1
- package/.next/static/chunks/11t21nn2e7zz_.js +0 -1
- package/.next/static/chunks/242vhh6y1oagw.css +0 -1
- package/.next/static/chunks/2cjage7nus_oz.js +0 -1
- package/.next/static/chunks/3k56bzulwxymz.js +0 -1
- /package/.next/static/{S0hj1dJSvLBDFiOvlhStl → SnkDJelPReEfZjEwaTtoy}/_buildManifest.js +0 -0
- /package/.next/static/{S0hj1dJSvLBDFiOvlhStl → SnkDJelPReEfZjEwaTtoy}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{S0hj1dJSvLBDFiOvlhStl → SnkDJelPReEfZjEwaTtoy}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/i18n/LangContext.tsx","../../../../src/i18n/en.ts","../../../../src/i18n/es.ts","../../../../src/i18n/pl.ts","../../../../src/i18n/index.ts"],"sourcesContent":["'use client'\n\nimport { createContext, useContext, useState, ReactNode } from 'react'\nimport { Lang, Translations, detectLang, getTranslations, saveLang } from './index'\n\ninterface LangContextValue {\n lang: Lang\n t: Translations\n setLang: (lang: Lang) => void\n}\n\nconst LangContext = createContext<LangContextValue | null>(null)\n\nexport function LangProvider({ children }: { children: ReactNode }) {\n const [lang, setLangState] = useState<Lang>(detectLang)\n const [t, setT] = useState<Translations>(() => getTranslations(detectLang()))\n\n function setLang(next: Lang) {\n setLangState(next)\n setT(getTranslations(next))\n saveLang(next)\n }\n\n return (\n <LangContext.Provider value={{ lang, t, setLang }}>\n {children}\n </LangContext.Provider>\n )\n}\n\nexport function useLang() {\n const ctx = useContext(LangContext)\n if (!ctx) throw new Error('useLang must be used inside LangProvider')\n return ctx\n}\n","export default {\n // Wizard\n wizard_title: 'ai-frames',\n\n wizard_subtitle: 'Set up your first context to get started.',\n wizard_step_context: 'Context',\n wizard_step_provider: 'Git Provider',\n wizard_step_resources: 'Resources',\n wizard_step_workspace: 'Workspace',\n wizard_back: 'Back',\n wizard_next: 'Next',\n wizard_finish: 'Finish',\n wizard_saving: 'Saving...',\n\n // Step 0 — Context\n context_name_label: 'Context name',\n context_name_placeholder: 'e.g. work, personal, freelance',\n context_name_hint: 'Only letters, numbers, hyphens and underscores. Hyphens are saved as underscores.',\n\n // Step 1 — Git Provider\n provider_label: 'Git provider',\n provider_placeholder: 'Select a provider...',\n auth_optional_label: 'Authentication',\n auth_optional_hint: '(optional)',\n auth_token_label: 'Token',\n auth_token_placeholder: 'Your access token',\n auth_ssh_label: 'SSH key path',\n auth_ssh_placeholder: '/Users/you/.ssh/id_ed25519',\n auth_ssh_invalid: 'Please use an absolute path, not a relative one.',\n auth_divider: 'or',\n\n // Step 2 — Resources mode\n resources_mode_existing: 'Use existing repository',\n resources_mode_create: 'Create new repository',\n resources_create_name_label: 'Repository name',\n resources_create_name_placeholder: 'e.g. my-ai-resources or org/my-ai-resources',\n resources_create_button: 'Create repository',\n resources_creating: 'Creating...',\n resources_created: 'Repository created',\n resources_create_error: 'Could not create repository',\n 'err:repo-already-exists': 'This repository already exists.',\n 'err:repo-not-found': 'Repository not found.',\n 'err:repo-invalid-name': 'Invalid repository name.',\n 'err:verify-ssh-failed': 'SSH authentication failed — check your key path.',\n 'err:verify-connection-failed': 'Could not connect to the git provider.',\n 'err:context-not-found': 'No active context found.',\n 'err:context-already-exists': 'A context with this name already exists.',\n 'err:context-invalid': 'Invalid context configuration.',\n 'err:install-clone-failed': 'Failed to clone repository.',\n 'err:install-workspace-missing': 'Workspace directory not found.',\n 'err:invalid-input': 'Missing or invalid fields.',\n 'err:auth-failed': 'Authentication failed — check your token permissions.',\n 'err:org-not-found': 'Organization or group not found, or your token has no access to it.',\n 'err:invalid-name': 'Invalid repository name.',\n 'err:no-token': 'A token is required to create a repository.',\n 'err:unknown-error': 'An unexpected error occurred.',\n\n // Step 2 — Resources verify\n verify_button: 'Verify',\n verify_verified: 'Verified',\n verify_checking: 'Checking...',\n verify_ok: 'Repository found',\n verify_not_found: 'Repository not found',\n verify_auth_error: 'Authentication failed — check your token',\n verify_error: 'Could not connect',\n\n // Step 2 — Resources\n resources_repo_label: 'Resources repository',\n resources_repo_placeholder: 'e.g. myorg/ai-resources',\n resources_repo_hint_label: 'Accepted formats:',\n resources_repo_hint_github: ['owner/repo', 'https://github.com/owner/repo', 'git@github.com:owner/repo.git'],\n resources_repo_hint_gitlab: ['owner/repo', 'https://gitlab.com/owner/repo', 'git@gitlab.com:owner/repo.git'],\n resources_repo_hint_bitbucket: ['owner/repo', 'https://bitbucket.org/owner/repo', 'git@bitbucket.org:owner/repo.git'],\n resources_repo_invalid: 'Invalid format. Use one of the accepted formats below.',\n resources_create_invalid: 'Invalid format. Use repo-name or org/repo-name.',\n resources_create_hint_label: 'Accepted formats:',\n resources_create_hint_github: ['repo-name', 'org/repo-name'],\n resources_create_hint_gitlab: ['repo-name', 'group/repo-name'],\n resources_create_hint_bitbucket: ['repo-name', 'workspace/repo-name'],\n\n // Step 3 — Workspace\n workspace_label: 'Workspace directory',\n workspace_placeholder: 'e.g. /home/user/projects',\n workspace_hint: 'Absolute path where repos for this context will be cloned.',\n workspace_absolute_hint: 'Please use an absolute path, not a relative one.',\n workspace_not_found: 'Directory not found. Please create it first or check the path.',\n workspace_checking: 'Checking...',\n\n // Context settings modal\n context_settings_title: 'Context Settings',\n context_settings_name: 'Name',\n context_settings_provider: 'Git provider',\n context_settings_repo: 'Resources repository',\n context_settings_repo_warning: 'Changing this value will trigger a re-sync of all repositories. Depending on their size and number of files, this may take a long time.',\n context_settings_resources_warning: 'Changing the resources repository may make existing commit hashes obsolete. Version tracking could be affected and resources may need to be re-downloaded.',\n context_settings_name_warning: 'Changing the name may cause errors when evaluating new resource versions.',\n context_settings_provider_warning: 'Changing the Git provider will make all existing commit hashes obsolete. Version tracking for resources will be lost and a full re-sync will be required.',\n context_settings_workspace: 'Workspace directory',\n context_settings_auth: 'Authentication',\n context_settings_token: 'Token',\n context_settings_ssh: 'SSH key path',\n context_settings_save: 'Save changes',\n context_settings_saving: 'Saving...',\n context_settings_saved: 'Saved',\n context_settings_cancel: 'Cancel',\n\n // Main layout\n install_button: 'INSTALL CONFIGURATION',\n nav_summary: 'Summary',\n summary_title: 'Summary',\n summary_subtitle: 'Review and apply your context configuration.',\n summary_sync_button: 'Sync & Install',\n summary_syncing: 'Syncing...',\n summary_context: 'Context',\n summary_provider: 'Provider',\n summary_workspace: 'Workspace',\n summary_resources: 'Resources',\n summary_assistants: 'Assistants',\n summary_repositories: 'Repositories',\n summary_no_repos: 'No repositories configured.',\n\n // Sidebar\n nav_overview: 'Overview',\n overview_title: 'Overview',\n overview_subtitle: 'Welcome to ai-frames — the centralized context manager for AI agents. Define your rules, agents, skills and resources once, and every repository in your workspace automatically gets the same context, regardless of which AI assistant you use.',\n overview_section_config: 'Configuration',\n overview_section_resources: 'Resources',\n overview_section_deploy: 'Deploy',\n overview_assistants_title: 'Assistants',\n overview_assistants_desc: 'Select which AI assistants will use this context — Claude Code, GitHub Copilot, Cursor and others.',\n overview_repositories_title: 'Repositories',\n overview_repositories_desc: 'Link your source code repositories to this context. Each repo will automatically receive the shared AI configuration.',\n overview_aicontext_title: 'AI Context',\n overview_aicontext_desc: 'Check the status of the .aicontext/ directory structure and recreate any missing folders.',\n overview_templates_title: 'Templates',\n overview_templates_desc: 'Bundles of pre-configured resources from your resources repository that you can activate with one click.',\n overview_agents_title: 'Agents',\n overview_agents_desc: 'Define specialized AI subagents with specific roles, instructions and tool access.',\n overview_skills_title: 'Skills',\n overview_skills_desc: 'Reusable slash commands that extend what the AI assistant can do in your projects.',\n overview_rules_title: 'Rules',\n overview_rules_desc: 'Mandatory instructions always included in the AI context — coding conventions, API standards, quality rules.',\n overview_hooks_title: 'Hooks',\n overview_hooks_desc: 'Shell commands that run automatically on specific events like before/after a tool call.',\n overview_prompts_title: 'Prompts',\n overview_prompts_desc: 'Reusable prompt templates for common tasks across your repositories.',\n overview_mcps_title: 'MCPs',\n overview_mcps_desc: 'Model Context Protocol servers that give the AI access to external tools and data sources.',\n overview_tools_title: 'Tools',\n overview_tools_desc: 'Custom scripts available to the AI assistant during a session.',\n overview_summary_title: 'Summary',\n overview_summary_desc: 'Review your full configuration and run Sync & Install to apply everything to your repositories.',\n assistant_enable: 'Enable',\n assistant_disable: 'Disable',\n assistant_enabled: 'Enabled',\n assistant_toggling: 'Updating...',\n assistants_repo_checking: 'Checking resources repository...',\n assistants_repo_empty: 'The resources repository is empty. Initialize it with the base structure to get started.',\n assistants_repo_init_button: 'Initialize repository structure',\n assistants_repo_initializing: 'Initializing...',\n assistants_repo_init_done: 'Repository initialized',\n close: 'Close',\n templates_install_sync: 'Install & Sync',\n templates_installing: 'Installing...',\n templates_installed: 'Installed',\n templates_preview: 'Contents',\n templates_resources_summary: '{count} items',\n marketplace_save_sync: 'Save & Sync',\n marketplace_saving: 'Syncing...',\n marketplace_saved: 'Synced',\n marketplace_empty: 'No items available. Add files to .aicontext/{type}/ in your resources repository, then click Sync.',\n marketplace_no_results: 'No results found.',\n marketplace_search: 'Search...',\n theme_dark: 'Dark',\n theme_light: 'Light',\n sync_button: 'Sync',\n sync_checking: 'Checking...',\n sync_syncing: 'Syncing...',\n sync_up_to_date: 'Up to date',\n sync_updated: 'Updated',\n nav_group_config: 'Configuration',\n nav_workspace: 'AI Context',\n workspace_page_title: 'AI Context',\n workspace_page_subtitle: 'Status of the .aicontext/ directory structure.',\n workspace_dir_status: 'Directory',\n workspace_col_path: 'Path',\n 'dir_hint:.aicontext': 'Root directory. Contains all AI context files synced from your resources repository.',\n 'dir_hint:.aicontext/rules': 'Mandatory rules always injected into the AI context. Coding conventions, API standards, quality rules. Files here apply to all assistants; files in .claude/ or .copilot/ subdirs apply only to that assistant.',\n 'dir_hint:.aicontext/agents': 'Specialized AI subagent definitions with specific roles and instructions. Shared agents go here; assistant-specific ones in .claude/ or .copilot/ subdirs.',\n 'dir_hint:.aicontext/skills': 'Reusable slash commands that extend what the AI assistant can do. Shared skills go here; assistant-specific ones in subdirs.',\n 'dir_hint:.aicontext/prompts': 'Reusable prompt templates for common tasks. On Install: .claude/ → .claude/commands/, .copilot/ → .github/prompts/.',\n 'dir_hint:.aicontext/mcps': 'MCP (Model Context Protocol) server configurations. Gives the AI access to external tools, APIs or data sources.',\n 'dir_hint:.aicontext/contexts': 'Project-level context docs organized by org/repo. Each repo can have CONTEXT.md (shared), CLAUDE.md and AGENTS.md merged on Install.',\n 'dir_hint:.aicontext/templates': 'Reusable bundles that group rules, agents, skills and prompts into a single installable collection. Install a template to activate all its resources at once.',\n 'dir_hint:.aicontext/rules/.claude': 'Claude Code-specific rules. Merged with the shared rules/ folder when installing for Claude Code → .claude/rules/.',\n 'dir_hint:.aicontext/agents/.claude': 'Claude Code-specific agent definitions. Merged with agents/ when installing → .claude/agents/.',\n 'dir_hint:.aicontext/skills/.claude': 'Claude Code-specific skills/slash commands → .claude/skills/.',\n 'dir_hint:.aicontext/prompts/.claude': 'Claude Code-specific prompt templates. Installed as commands → .claude/commands/.',\n 'dir_hint:.aicontext/rules/.copilot': 'GitHub Copilot-specific rules → .github/instructions/.',\n 'dir_hint:.aicontext/agents/.copilot': 'GitHub Copilot-specific agent definitions → .github/agents/.',\n 'dir_hint:.aicontext/skills/.copilot': 'GitHub Copilot-specific skills → .github/skills/.',\n 'dir_hint:.aicontext/prompts/.copilot': 'GitHub Copilot-specific prompts → .github/prompts/.',\n 'dir_hint:.aicontext/rules/.cursor': 'Cursor-specific rules → .cursor/rules/.',\n 'dir_hint:.aicontext/rules/.windsurf': 'Windsurf-specific rules → .windsurf/rules/.',\n 'dir_hint:.aicontext/prompts/.windsurf': 'Windsurf-specific prompts/workflows → .windsurf/workflows/.',\n workspace_col_status: 'Status',\n workspace_status_ok: 'Created',\n workspace_status_missing: 'Missing',\n workspace_status_synced: 'Synced',\n workspace_status_outdated: 'Outdated',\n workspace_recreate_button: 'Recreate missing',\n workspace_recreating: 'Recreating...',\n workspace_recreate_done: 'Done',\n workspace_recreate_error: 'Error recreating directories',\n workspace_loading: 'Checking...',\n workspace_custom_dirs_title: 'Custom mappings',\n workspace_custom_dirs_subtitle: 'Map additional folders from the resources repo to your local .aicontext/.',\n workspace_custom_repo_path: 'Repo path',\n workspace_custom_local_path: 'Local path (in .aicontext/)',\n workspace_custom_add: '+ Add mapping',\n workspace_custom_remove: 'Remove',\n workspace_custom_save: 'Save mappings',\n workspace_custom_saving: 'Saving...',\n workspace_custom_saved: 'Saved',\n workspace_custom_duplicate: 'This mapping already exists.',\n workspace_custom_remove_dir: 'Also delete local directory',\n workspace_custom_remove_dir_confirm: 'This will permanently delete the local directory and all its contents. Are you sure?',\n assistants_section_info: 'Select which AI assistants will use this context. Enabling an assistant creates the required subdirectories inside .aicontext/ and keeps them in sync — no manual setup needed in each repository.',\n assistant_has_selections: 'This assistant has active selections in the marketplace. Disabling it will remove its directories but keep your selections. Are you sure?',\n assistant_dirs_missing: 'Directories not created yet.',\n assistant_dirs_create: 'Create directories',\n assistant_dirs_creating: 'Creating...',\n assistant_custom_mappings: 'Custom mappings',\n workspace_custom_repo_placeholder: 'e.g. .cache',\n workspace_custom_local_placeholder: 'e.g. .cache (leave blank to use same name)',\n nav_group_final: 'Deploy',\n nav_assistants: 'Assistants',\n nav_repositories: 'Repositories',\n nav_resources: 'Resources',\n nav_templates: 'Templates',\n nav_agents: 'Agents',\n nav_skills: 'Skills',\n nav_rules: 'Rules',\n nav_hooks: 'Hooks',\n nav_prompts: 'Prompts',\n nav_mcps: 'MCPs',\n nav_tools: 'Tools',\n nav_contexts_res: 'App Contexts',\n\n // Assistants page\n assistants_title: 'Assistants',\n assistants_subtitle: 'Select the assistants that will be part of the context.',\n assistants_save: 'Save',\n assistants_saving: 'Saving...',\n\n // Repositories page\n repositories_title: 'Repositories',\n repositories_subtitle: 'Source code repositories linked to this context.',\n repositories_col_name: 'Name',\n repositories_col_source: 'Source',\n repositories_col_propagate: 'Propagate context',\n repositories_col_actions: '',\n repositories_remove: 'Remove',\n repositories_add_name: 'Name',\n repositories_add_source: 'https://github.com/org/repo',\n repositories_add_button: '+ Add Repository',\n\n // Common\n coming_soon: 'Coming soon',\n loading: 'Loading...',\n}\n","export default {\n // Wizard\n wizard_title: 'ai-frames',\n wizard_subtitle: 'Configura tu primer contexto para comenzar.',\n wizard_step_context: 'Contexto',\n wizard_step_provider: 'Proveedor Git',\n wizard_step_resources: 'Recursos',\n wizard_step_workspace: 'Workspace',\n wizard_back: 'Atrás',\n wizard_next: 'Siguiente',\n wizard_finish: 'Finalizar',\n wizard_saving: 'Guardando...',\n\n // Step 0 — Context\n context_name_label: 'Nombre del contexto',\n context_name_placeholder: 'ej. trabajo, personal, freelance',\n context_name_hint: 'Solo letras, números, guiones y guiones bajos. Los guiones se guardan como guiones bajos.',\n\n // Step 1 — Git Provider\n provider_label: 'Proveedor Git',\n provider_placeholder: 'Selecciona un proveedor...',\n auth_optional_label: 'Autenticación',\n auth_optional_hint: '(opcional)',\n auth_token_label: 'Token',\n auth_token_placeholder: 'Tu token de acceso',\n auth_ssh_label: 'Ruta de clave SSH',\n auth_ssh_placeholder: '/Users/usuario/.ssh/id_ed25519',\n auth_ssh_invalid: 'Por favor usa una ruta absoluta, no relativa.',\n auth_divider: 'o',\n\n // Step 2 — Resources mode\n resources_mode_existing: 'Usar repositorio existente',\n resources_mode_create: 'Crear nuevo repositorio',\n resources_create_name_label: 'Nombre del repositorio',\n resources_create_name_placeholder: 'ej. mis-ai-resources o org/mis-ai-resources',\n resources_create_button: 'Crear repositorio',\n resources_creating: 'Creando...',\n resources_created: 'Repositorio creado',\n resources_create_error: 'No se pudo crear el repositorio',\n 'err:repo-already-exists': 'Este repositorio ya existe.',\n 'err:repo-not-found': 'Repositorio no encontrado.',\n 'err:repo-invalid-name': 'Nombre de repositorio inválido.',\n 'err:verify-ssh-failed': 'Error de autenticación SSH — revisa la ruta de tu clave.',\n 'err:verify-connection-failed': 'No se pudo conectar al proveedor git.',\n 'err:context-not-found': 'No se encontró ningún contexto activo.',\n 'err:context-already-exists': 'Ya existe un contexto con este nombre.',\n 'err:context-invalid': 'Configuración de contexto inválida.',\n 'err:install-clone-failed': 'Error al clonar el repositorio.',\n 'err:install-workspace-missing': 'Directorio del workspace no encontrado.',\n 'err:invalid-input': 'Campos faltantes o inválidos.',\n 'err:auth-failed': 'Error de autenticación — revisa los permisos de tu token.',\n 'err:org-not-found': 'Organización o grupo no encontrado, o tu token no tiene acceso.',\n 'err:invalid-name': 'Nombre de repositorio inválido.',\n 'err:no-token': 'Se requiere un token para crear un repositorio.',\n 'err:unknown-error': 'Ocurrió un error inesperado.',\n\n // Step 2 — Resources verify\n verify_button: 'Verificar',\n verify_verified: 'Verificado',\n verify_checking: 'Verificando...',\n verify_ok: 'Repositorio encontrado',\n verify_not_found: 'Repositorio no encontrado',\n verify_auth_error: 'Error de autenticación — revisa tu token',\n verify_error: 'No se pudo conectar',\n\n // Step 2 — Resources\n resources_repo_label: 'Repositorio de recursos',\n resources_repo_placeholder: 'ej. miorg/ai-resources',\n resources_repo_hint_label: 'Formatos aceptados:',\n resources_repo_hint_github: ['owner/repo', 'https://github.com/owner/repo', 'git@github.com:owner/repo.git'],\n resources_repo_hint_gitlab: ['owner/repo', 'https://gitlab.com/owner/repo', 'git@gitlab.com:owner/repo.git'],\n resources_repo_hint_bitbucket: ['owner/repo', 'https://bitbucket.org/owner/repo', 'git@bitbucket.org:owner/repo.git'],\n resources_repo_invalid: 'Formato inválido. Usa uno de los formatos aceptados.',\n resources_create_invalid: 'Formato inválido. Usa nombre-repo o org/nombre-repo.',\n resources_create_hint_label: 'Formatos aceptados:',\n resources_create_hint_github: ['nombre-repo', 'org/nombre-repo'],\n resources_create_hint_gitlab: ['nombre-repo', 'grupo/nombre-repo'],\n resources_create_hint_bitbucket: ['nombre-repo', 'workspace/nombre-repo'],\n\n // Step 3 — Workspace\n workspace_label: 'Directorio del workspace',\n workspace_placeholder: 'ej. /home/usuario/proyectos',\n workspace_hint: 'Ruta absoluta donde se clonarán los repositorios de este contexto.',\n workspace_absolute_hint: 'Por favor usa una ruta absoluta, no relativa.',\n workspace_not_found: 'Directorio no encontrado. Créalo primero o verifica la ruta.',\n workspace_checking: 'Verificando...',\n\n // Context settings modal\n context_settings_title: 'Configuración del contexto',\n context_settings_name: 'Nombre',\n context_settings_provider: 'Proveedor Git',\n context_settings_repo: 'Repositorio de recursos',\n context_settings_repo_warning: 'Cambiar este valor iniciará una re-sincronización de todos los repositorios. Dependiendo del tamaño y la cantidad de archivos, esto puede llevar mucho tiempo.',\n context_settings_resources_warning: 'Cambiar el repositorio de recursos puede dejar obsoletos los hashes de commits existentes. El seguimiento de versiones podría verse afectado y puede que los recursos necesiten descargarse nuevamente.',\n context_settings_name_warning: 'Cambiar el nombre puede causar errores al evaluar nuevas versiones de recursos.',\n context_settings_provider_warning: 'Cambiar el proveedor Git dejará obsoletos todos los hashes de commits existentes. El seguimiento de versiones de los recursos se perderá y se requerirá una re-sincronización completa.',\n context_settings_workspace: 'Directorio del workspace',\n context_settings_auth: 'Autenticación',\n context_settings_token: 'Token',\n context_settings_ssh: 'Ruta de clave SSH',\n context_settings_save: 'Guardar cambios',\n context_settings_saving: 'Guardando...',\n context_settings_saved: 'Guardado',\n context_settings_cancel: 'Cancelar',\n\n // Main layout\n install_button: 'INSTALAR CONFIGURACIÓN',\n nav_summary: 'Resumen',\n summary_title: 'Resumen',\n summary_subtitle: 'Revisa y aplica la configuración de tu contexto.',\n summary_sync_button: 'Sincronizar e Instalar',\n summary_syncing: 'Sincronizando...',\n summary_context: 'Contexto',\n summary_provider: 'Proveedor',\n summary_workspace: 'Workspace',\n summary_resources: 'Recursos',\n summary_assistants: 'Asistentes',\n summary_repositories: 'Repositorios',\n summary_no_repos: 'No hay repositorios configurados.',\n\n // Sidebar\n nav_overview: 'Visión general',\n overview_title: 'Visión general',\n overview_subtitle: 'Bienvenido a ai-frames — el gestor centralizado de contexto para agentes de IA. Define tus reglas, agentes, skills y recursos una sola vez, y cada repositorio de tu workspace recibe automáticamente el mismo contexto, sin importar qué asistente de IA uses.',\n overview_section_config: 'Configuración',\n overview_section_resources: 'Recursos',\n overview_section_deploy: 'Despliegue',\n overview_assistants_title: 'Asistentes',\n overview_assistants_desc: 'Selecciona qué asistentes de IA usarán este contexto — Claude Code, GitHub Copilot, Cursor y otros.',\n overview_repositories_title: 'Repositorios',\n overview_repositories_desc: 'Vincula tus repositorios de código a este contexto. Cada repo recibirá automáticamente la configuración de IA compartida.',\n overview_aicontext_title: 'AI Context',\n overview_aicontext_desc: 'Verifica el estado de la estructura de directorios .aicontext/ y recrea las carpetas faltantes.',\n overview_templates_title: 'Templates',\n overview_templates_desc: 'Bundles de recursos preconfigurados de tu repositorio de recursos que puedes activar con un clic.',\n overview_agents_title: 'Agentes',\n overview_agents_desc: 'Define subagentes de IA especializados con roles, instrucciones y acceso a herramientas específicas.',\n overview_skills_title: 'Skills',\n overview_skills_desc: 'Comandos slash reutilizables que amplían lo que el asistente de IA puede hacer en tus proyectos.',\n overview_rules_title: 'Reglas',\n overview_rules_desc: 'Instrucciones obligatorias siempre incluidas en el contexto de IA — convenciones de código, estándares de API, reglas de calidad.',\n overview_hooks_title: 'Hooks',\n overview_hooks_desc: 'Comandos shell que se ejecutan automáticamente en eventos específicos como antes/después de una llamada a herramienta.',\n overview_prompts_title: 'Prompts',\n overview_prompts_desc: 'Plantillas de prompts reutilizables para tareas comunes en tus repositorios.',\n overview_mcps_title: 'MCPs',\n overview_mcps_desc: 'Servidores Model Context Protocol que dan al IA acceso a herramientas y fuentes de datos externas.',\n overview_tools_title: 'Herramientas',\n overview_tools_desc: 'Scripts personalizados disponibles para el asistente de IA durante una sesión.',\n overview_summary_title: 'Resumen',\n overview_summary_desc: 'Revisa tu configuración completa y ejecuta Sincronizar e Instalar para aplicar todo a tus repositorios.',\n assistant_enable: 'Activar',\n assistant_disable: 'Desactivar',\n assistant_enabled: 'Activado',\n assistant_toggling: 'Actualizando...',\n assistants_repo_checking: 'Verificando repositorio de recursos...',\n assistants_repo_empty: 'El repositorio de recursos está vacío. Inicialízalo con la estructura base para comenzar.',\n assistants_repo_init_button: 'Inicializar estructura del repositorio',\n assistants_repo_initializing: 'Inicializando...',\n assistants_repo_init_done: 'Repositorio inicializado',\n close: 'Cerrar',\n templates_install_sync: 'Instalar y Sincronizar',\n templates_installing: 'Instalando...',\n templates_installed: 'Instalado',\n templates_preview: 'Contenido',\n templates_resources_summary: '{count} elementos',\n marketplace_save_sync: 'Guardar y Sincronizar',\n marketplace_saving: 'Sincronizando...',\n marketplace_saved: 'Sincronizado',\n marketplace_empty: 'No hay elementos disponibles. Agrega archivos a .aicontext/{type}/ en tu repositorio de recursos y luego haz clic en Sincronizar.',\n marketplace_no_results: 'Sin resultados.',\n marketplace_search: 'Buscar...',\n theme_dark: 'Oscuro',\n theme_light: 'Claro',\n sync_button: 'Sincronizar',\n sync_checking: 'Verificando...',\n sync_syncing: 'Sincronizando...',\n sync_up_to_date: 'Actualizado',\n sync_updated: 'Sincronizado',\n nav_group_config: 'Configuración',\n nav_workspace: 'AI Context',\n workspace_page_title: 'AI Context',\n workspace_page_subtitle: 'Estado de la estructura del directorio .aicontext/.',\n workspace_dir_status: 'Directorio',\n workspace_col_path: 'Ruta',\n 'dir_hint:.aicontext': 'Directorio raíz. Contiene todos los archivos de contexto de IA sincronizados desde tu repositorio de recursos.',\n 'dir_hint:.aicontext/rules': 'Reglas obligatorias siempre inyectadas en el contexto de IA. Convenciones de código, estándares de API, reglas de calidad. Los archivos aquí aplican a todos los asistentes; los de subdirectorios .claude/ o .copilot/ solo a ese asistente.',\n 'dir_hint:.aicontext/agents': 'Definiciones de subagentes de IA especializados con roles e instrucciones específicas. Los agentes compartidos van aquí; los específicos por asistente en subdirectorios.',\n 'dir_hint:.aicontext/skills': 'Comandos slash reutilizables que amplían las capacidades del asistente. Los compartidos van aquí; los específicos en subdirectorios.',\n 'dir_hint:.aicontext/prompts': 'Plantillas de prompts reutilizables para tareas comunes. Al instalar: .claude/ → .claude/commands/, .copilot/ → .github/prompts/.',\n 'dir_hint:.aicontext/mcps': 'Configuraciones de servidores MCP (Model Context Protocol). Da al asistente acceso a herramientas externas, APIs o fuentes de datos.',\n 'dir_hint:.aicontext/contexts': 'Documentación de contexto por proyecto, organizada por org/repo. Cada repo puede tener CONTEXT.md (compartido), CLAUDE.md y AGENTS.md que se mergean al instalar.',\n 'dir_hint:.aicontext/templates': 'Bundles reutilizables que agrupan rules, agents, skills y prompts en una colección instalable. Instala un template para activar todos sus recursos de una vez.',\n 'dir_hint:.aicontext/rules/.claude': 'Reglas específicas de Claude Code. Se mergean con rules/ al instalar → .claude/rules/.',\n 'dir_hint:.aicontext/agents/.claude': 'Definiciones de agentes específicas de Claude Code → .claude/agents/.',\n 'dir_hint:.aicontext/skills/.claude': 'Skills/slash commands específicos de Claude Code → .claude/skills/.',\n 'dir_hint:.aicontext/prompts/.claude': 'Prompts específicos de Claude Code. Se instalan como comandos → .claude/commands/.',\n 'dir_hint:.aicontext/rules/.copilot': 'Reglas específicas de GitHub Copilot → .github/instructions/.',\n 'dir_hint:.aicontext/agents/.copilot': 'Definiciones de agentes específicas de Copilot → .github/agents/.',\n 'dir_hint:.aicontext/skills/.copilot': 'Skills específicos de Copilot → .github/skills/.',\n 'dir_hint:.aicontext/prompts/.copilot': 'Prompts específicos de Copilot → .github/prompts/.',\n 'dir_hint:.aicontext/rules/.cursor': 'Reglas específicas de Cursor → .cursor/rules/.',\n 'dir_hint:.aicontext/rules/.windsurf': 'Reglas específicas de Windsurf → .windsurf/rules/.',\n 'dir_hint:.aicontext/prompts/.windsurf': 'Prompts/workflows específicos de Windsurf → .windsurf/workflows/.',\n workspace_col_status: 'Estado',\n workspace_status_ok: 'Creado',\n workspace_status_missing: 'Faltante',\n workspace_status_synced: 'Sincronizado',\n workspace_status_outdated: 'Desactualizado',\n workspace_recreate_button: 'Recrear faltantes',\n workspace_recreating: 'Recreando...',\n workspace_recreate_done: 'Listo',\n workspace_recreate_error: 'Error al recrear directorios',\n workspace_loading: 'Verificando...',\n workspace_custom_dirs_title: 'Directorios personalizados',\n workspace_custom_dirs_subtitle: 'Mapea carpetas adicionales del repositorio de recursos a tu .aicontext/ local.',\n workspace_custom_repo_path: 'Ruta en el repo',\n workspace_custom_local_path: 'Ruta local (dentro de .aicontext/)',\n workspace_custom_add: '+ Agregar mapeo',\n workspace_custom_remove: 'Eliminar',\n workspace_custom_save: 'Guardar mapeos',\n workspace_custom_saving: 'Guardando...',\n workspace_custom_saved: 'Guardado',\n workspace_custom_duplicate: 'Este mapeo ya existe.',\n workspace_custom_remove_dir: 'Eliminar directorio local también',\n workspace_custom_remove_dir_confirm: 'Esto eliminará permanentemente el directorio local y todo su contenido. ¿Estás seguro?',\n assistants_section_info: 'Selecciona qué asistentes de IA usarán este contexto. Al habilitar un asistente se crean los subdirectorios necesarios dentro de .aicontext/ y se mantienen sincronizados — sin configuración manual en cada repositorio.',\n assistant_has_selections: 'Este asistente tiene selecciones activas en el marketplace. Deshabilitarlo eliminará sus directorios pero mantendrá tus selecciones. ¿Estás seguro?',\n assistant_dirs_missing: 'Directorios aún no creados.',\n assistant_dirs_create: 'Crear directorios',\n assistant_dirs_creating: 'Creando...',\n assistant_custom_mappings: 'Mapeos personalizados',\n workspace_custom_repo_placeholder: 'ej. .cache',\n workspace_custom_local_placeholder: 'ej. .cache (dejar vacío para usar el mismo nombre)',\n nav_group_final: 'Despliegue',\n nav_assistants: 'Asistentes',\n nav_repositories: 'Repositorios',\n nav_resources: 'Recursos',\n nav_templates: 'Templates',\n nav_agents: 'Agentes',\n nav_skills: 'Skills',\n nav_rules: 'Reglas',\n nav_hooks: 'Hooks',\n nav_prompts: 'Prompts',\n nav_mcps: 'MCPs',\n nav_tools: 'Herramientas',\n nav_contexts_res: 'Contextos de App',\n\n // Assistants page\n assistants_title: 'Asistentes',\n assistants_subtitle: 'Selecciona los asistentes que formarán parte del contexto.',\n assistants_save: 'Guardar',\n assistants_saving: 'Guardando...',\n\n // Repositories page\n repositories_title: 'Repositorios',\n repositories_subtitle: 'Repositorios de código fuente vinculados a este contexto.',\n repositories_col_name: 'Nombre',\n repositories_col_source: 'Fuente',\n repositories_col_propagate: 'Propagar contexto',\n repositories_col_actions: '',\n repositories_remove: 'Eliminar',\n repositories_add_name: 'Nombre',\n repositories_add_source: 'https://github.com/org/repo',\n repositories_add_button: '+ Agregar repositorio',\n\n // Common\n coming_soon: 'Próximamente',\n loading: 'Cargando...',\n}\n","export default {\n // Wizard\n wizard_title: 'ai-frames',\n wizard_subtitle: 'Skonfiguruj swój pierwszy kontekst, aby rozpocząć.',\n wizard_step_context: 'Kontekst',\n wizard_step_provider: 'Dostawca Git',\n wizard_step_resources: 'Zasoby',\n wizard_step_workspace: 'Workspace',\n wizard_back: 'Wstecz',\n wizard_next: 'Dalej',\n wizard_finish: 'Zakończ',\n wizard_saving: 'Zapisywanie...',\n\n // Step 0 — Context\n context_name_label: 'Nazwa kontekstu',\n context_name_placeholder: 'np. praca, osobisty, freelance',\n context_name_hint: 'Tylko litery, cyfry, myślniki i podkreślniki. Myślniki są zapisywane jako podkreślniki.',\n\n // Step 1 — Git Provider\n provider_label: 'Dostawca Git',\n provider_placeholder: 'Wybierz dostawcę...',\n auth_optional_label: 'Uwierzytelnianie',\n auth_optional_hint: '(opcjonalne)',\n auth_token_label: 'Token',\n auth_token_placeholder: 'Twój token dostępu',\n auth_ssh_label: 'Ścieżka klucza SSH',\n auth_ssh_placeholder: '/home/user/.ssh/id_ed25519',\n auth_ssh_invalid: 'Proszę użyć ścieżki bezwzględnej, nie względnej.',\n auth_divider: 'lub',\n\n // Step 2 — Resources mode\n resources_mode_existing: 'Użyj istniejącego repozytorium',\n resources_mode_create: 'Utwórz nowe repozytorium',\n resources_create_name_label: 'Nazwa repozytorium',\n resources_create_name_placeholder: 'np. moje-ai-zasoby lub org/moje-ai-zasoby',\n resources_create_button: 'Utwórz repozytorium',\n resources_creating: 'Tworzenie...',\n resources_created: 'Repozytorium utworzone',\n resources_create_error: 'Nie można utworzyć repozytorium',\n 'err:repo-already-exists': 'To repozytorium już istnieje.',\n 'err:repo-not-found': 'Repozytorium nie znalezione.',\n 'err:repo-invalid-name': 'Nieprawidłowa nazwa repozytorium.',\n 'err:verify-ssh-failed': 'Błąd uwierzytelniania SSH — sprawdź ścieżkę klucza.',\n 'err:verify-connection-failed': 'Nie można połączyć z dostawcą git.',\n 'err:context-not-found': 'Nie znaleziono aktywnego kontekstu.',\n 'err:context-already-exists': 'Kontekst o tej nazwie już istnieje.',\n 'err:context-invalid': 'Nieprawidłowa konfiguracja kontekstu.',\n 'err:install-clone-failed': 'Błąd podczas klonowania repozytorium.',\n 'err:install-workspace-missing': 'Katalog workspace nie znaleziony.',\n 'err:invalid-input': 'Brakujące lub nieprawidłowe pola.',\n 'err:auth-failed': 'Błąd uwierzytelniania — sprawdź uprawnienia tokenu.',\n 'err:org-not-found': 'Organizacja lub grupa nie znaleziona, lub token nie ma dostępu.',\n 'err:invalid-name': 'Nieprawidłowa nazwa repozytorium.',\n 'err:no-token': 'Token jest wymagany do utworzenia repozytorium.',\n 'err:unknown-error': 'Wystąpił nieoczekiwany błąd.',\n\n // Step 2 — Resources verify\n verify_button: 'Weryfikuj',\n verify_verified: 'Zweryfikowano',\n verify_checking: 'Sprawdzanie...',\n verify_ok: 'Repozytorium znalezione',\n verify_not_found: 'Repozytorium nie znalezione',\n verify_auth_error: 'Błąd uwierzytelniania — sprawdź token',\n verify_error: 'Nie można połączyć',\n\n // Step 2 — Resources\n resources_repo_label: 'Repozytorium zasobów',\n resources_repo_placeholder: 'np. mojorg/ai-resources',\n resources_repo_hint_label: 'Akceptowane formaty:',\n resources_repo_hint_github: ['owner/repo', 'https://github.com/owner/repo', 'git@github.com:owner/repo.git'],\n resources_repo_hint_gitlab: ['owner/repo', 'https://gitlab.com/owner/repo', 'git@gitlab.com:owner/repo.git'],\n resources_repo_hint_bitbucket: ['owner/repo', 'https://bitbucket.org/owner/repo', 'git@bitbucket.org:owner/repo.git'],\n resources_repo_invalid: 'Nieprawidłowy format. Użyj jednego z akceptowanych formatów.',\n resources_create_invalid: 'Nieprawidłowy format. Użyj nazwa-repo lub org/nazwa-repo.',\n resources_create_hint_label: 'Akceptowane formaty:',\n resources_create_hint_github: ['nazwa-repo', 'org/nazwa-repo'],\n resources_create_hint_gitlab: ['nazwa-repo', 'grupa/nazwa-repo'],\n resources_create_hint_bitbucket: ['nazwa-repo', 'workspace/nazwa-repo'],\n\n // Step 3 — Workspace\n workspace_label: 'Katalog workspace',\n workspace_placeholder: 'np. /home/user/projekty',\n workspace_hint: 'Bezwzględna ścieżka, gdzie będą klonowane repozytoria tego kontekstu.',\n workspace_absolute_hint: 'Proszę użyć ścieżki bezwzględnej, nie względnej.',\n workspace_not_found: 'Katalog nie znaleziony. Utwórz go najpierw lub sprawdź ścieżkę.',\n workspace_checking: 'Sprawdzanie...',\n\n // Context settings modal\n context_settings_title: 'Ustawienia kontekstu',\n context_settings_name: 'Nazwa',\n context_settings_provider: 'Dostawca Git',\n context_settings_repo: 'Repozytorium zasobów',\n context_settings_repo_warning: 'Zmiana tej wartości spowoduje ponowną synchronizację wszystkich repozytoriów. W zależności od ich rozmiaru i liczby plików może to zająć dużo czasu.',\n context_settings_resources_warning: 'Zmiana repozytorium zasobów może spowodować, że istniejące skróty commitów staną się nieaktualne. Śledzenie wersji może zostać naruszone i zasoby mogą wymagać ponownego pobrania.',\n context_settings_name_warning: 'Zmiana nazwy może powodować błędy podczas oceny nowych wersji zasobów.',\n context_settings_provider_warning: 'Zmiana dostawcy Git spowoduje, że wszystkie istniejące skróty commitów staną się nieaktualne. Śledzenie wersji zasobów zostanie utracone i wymagana będzie pełna ponowna synchronizacja.',\n context_settings_workspace: 'Katalog workspace',\n context_settings_auth: 'Uwierzytelnianie',\n context_settings_token: 'Token',\n context_settings_ssh: 'Ścieżka klucza SSH',\n context_settings_save: 'Zapisz zmiany',\n context_settings_saving: 'Zapisywanie...',\n context_settings_saved: 'Zapisano',\n context_settings_cancel: 'Anuluj',\n\n // Main layout\n install_button: 'ZAINSTALUJ KONFIGURACJĘ',\n nav_summary: 'Podsumowanie',\n summary_title: 'Podsumowanie',\n summary_subtitle: 'Przejrzyj i zastosuj konfigurację kontekstu.',\n summary_sync_button: 'Synchronizuj i Zainstaluj',\n summary_syncing: 'Synchronizowanie...',\n summary_context: 'Kontekst',\n summary_provider: 'Dostawca',\n summary_workspace: 'Workspace',\n summary_resources: 'Zasoby',\n summary_assistants: 'Asystenci',\n summary_repositories: 'Repozytoria',\n summary_no_repos: 'Brak skonfigurowanych repozytoriów.',\n\n // Sidebar\n nav_overview: 'Przegląd',\n overview_title: 'Przegląd',\n overview_subtitle: 'Witaj w ai-frames — scentralizowanym menedżerze kontekstu dla agentów AI. Zdefiniuj reguły, agentów, umiejętności i zasoby raz, a każde repozytorium w workspace automatycznie otrzyma ten sam kontekst, niezależnie od używanego asystenta AI.',\n overview_section_config: 'Konfiguracja',\n overview_section_resources: 'Zasoby',\n overview_section_deploy: 'Wdrożenie',\n overview_assistants_title: 'Asystenci',\n overview_assistants_desc: 'Wybierz asystentów AI, którzy będą używać tego kontekstu — Claude Code, GitHub Copilot, Cursor i inni.',\n overview_repositories_title: 'Repozytoria',\n overview_repositories_desc: 'Połącz repozytoria kodu z tym kontekstem. Każde repo automatycznie otrzyma wspólną konfigurację AI.',\n overview_aicontext_title: 'AI Context',\n overview_aicontext_desc: 'Sprawdź status struktury katalogów .aicontext/ i odtwórz brakujące foldery.',\n overview_templates_title: 'Szablony',\n overview_templates_desc: 'Zestawy wstępnie skonfigurowanych zasobów z repozytorium zasobów, które możesz aktywować jednym kliknięciem.',\n overview_agents_title: 'Agenci',\n overview_agents_desc: 'Definiuj wyspecjalizowanych subagentów AI z określonymi rolami, instrukcjami i dostępem do narzędzi.',\n overview_skills_title: 'Umiejętności',\n overview_skills_desc: 'Wielokrotnego użytku komendy slash rozszerzające możliwości asystenta AI w Twoich projektach.',\n overview_rules_title: 'Reguły',\n overview_rules_desc: 'Obowiązkowe instrukcje zawsze zawarte w kontekście AI — konwencje kodu, standardy API, reguły jakości.',\n overview_hooks_title: 'Hooki',\n overview_hooks_desc: 'Komendy shell wykonywane automatycznie przy określonych zdarzeniach jak przed/po wywołaniu narzędzia.',\n overview_prompts_title: 'Prompty',\n overview_prompts_desc: 'Szablony promptów wielokrotnego użytku dla typowych zadań w repozytoriach.',\n overview_mcps_title: 'MCPs',\n overview_mcps_desc: 'Serwery Model Context Protocol dające AI dostęp do zewnętrznych narzędzi i źródeł danych.',\n overview_tools_title: 'Narzędzia',\n overview_tools_desc: 'Niestandardowe skrypty dostępne dla asystenta AI podczas sesji.',\n overview_summary_title: 'Podsumowanie',\n overview_summary_desc: 'Przejrzyj pełną konfigurację i uruchom Synchronizuj i Zainstaluj, aby zastosować wszystko do repozytoriów.',\n assistant_enable: 'Włącz',\n assistant_disable: 'Wyłącz',\n assistant_enabled: 'Włączono',\n assistant_toggling: 'Aktualizowanie...',\n assistants_repo_checking: 'Sprawdzanie repozytorium zasobów...',\n assistants_repo_empty: 'Repozytorium zasobów jest puste. Zainicjuj je podstawową strukturą, aby rozpocząć.',\n assistants_repo_init_button: 'Zainicjuj strukturę repozytorium',\n assistants_repo_initializing: 'Inicjowanie...',\n assistants_repo_init_done: 'Repozytorium zainicjowane',\n close: 'Zamknij',\n templates_install_sync: 'Zainstaluj i Synchronizuj',\n templates_installing: 'Instalowanie...',\n templates_installed: 'Zainstalowano',\n templates_preview: 'Zawartość',\n templates_resources_summary: '{count} elementów',\n marketplace_save_sync: 'Zapisz i Synchronizuj',\n marketplace_saving: 'Synchronizowanie...',\n marketplace_saved: 'Zsynchronizowano',\n marketplace_empty: 'Brak dostępnych elementów. Dodaj pliki do .aicontext/{type}/ w repozytorium zasobów, a następnie kliknij Synchronizuj.',\n marketplace_no_results: 'Brak wyników.',\n marketplace_search: 'Szukaj...',\n theme_dark: 'Ciemny',\n theme_light: 'Jasny',\n sync_button: 'Synchronizuj',\n sync_checking: 'Sprawdzanie...',\n sync_syncing: 'Synchronizowanie...',\n sync_up_to_date: 'Aktualny',\n sync_updated: 'Zsynchronizowano',\n nav_group_config: 'Konfiguracja',\n nav_workspace: 'AI Context',\n workspace_page_title: 'AI Context',\n workspace_page_subtitle: 'Status struktury katalogu .aicontext/.',\n workspace_dir_status: 'Katalog',\n workspace_col_path: 'Ścieżka',\n 'dir_hint:.aicontext': 'Katalog główny. Zawiera wszystkie pliki kontekstu AI zsynchronizowane z repozytorium zasobów.',\n 'dir_hint:.aicontext/rules': 'Obowiązkowe reguły zawsze wstrzykiwane do kontekstu AI. Konwencje kodu, standardy API, reguły jakości. Pliki tutaj dotyczą wszystkich asystentów; pliki w podkatalogach .claude/ lub .copilot/ tylko tego asystenta.',\n 'dir_hint:.aicontext/agents': 'Definicje wyspecjalizowanych subagentów AI z określonymi rolami i instrukcjami. Współdzielone agenty tutaj; specyficzne dla asystenta w podkatalogach.',\n 'dir_hint:.aicontext/skills': 'Wielokrotnego użytku komendy slash rozszerzające możliwości asystenta. Współdzielone tutaj; specyficzne w podkatalogach.',\n 'dir_hint:.aicontext/prompts': 'Szablony promptów wielokrotnego użytku. Przy instalacji: .claude/ → .claude/commands/, .copilot/ → .github/prompts/.',\n 'dir_hint:.aicontext/mcps': 'Konfiguracje serwerów MCP (Model Context Protocol). Daje asystentowi dostęp do zewnętrznych narzędzi, API lub źródeł danych.',\n 'dir_hint:.aicontext/contexts': 'Dokumentacja kontekstu projektu według org/repo. Każde repo może mieć CONTEXT.md (współdzielony), CLAUDE.md i AGENTS.md scalane podczas instalacji.',\n 'dir_hint:.aicontext/templates': 'Zestawy wielokrotnego użytku grupujące reguły, agentów, umiejętności i prompty w jedną instalowaną kolekcję. Zainstaluj szablon, aby aktywować wszystkie zasoby naraz.',\n 'dir_hint:.aicontext/rules/.claude': 'Reguły specyficzne dla Claude Code. Scalane z rules/ podczas instalacji → .claude/rules/.',\n 'dir_hint:.aicontext/agents/.claude': 'Definicje agentów specyficzne dla Claude Code → .claude/agents/.',\n 'dir_hint:.aicontext/skills/.claude': 'Umiejętności/komendy slash specyficzne dla Claude Code → .claude/skills/.',\n 'dir_hint:.aicontext/prompts/.claude': 'Prompty specyficzne dla Claude Code. Instalowane jako komendy → .claude/commands/.',\n 'dir_hint:.aicontext/rules/.copilot': 'Reguły specyficzne dla GitHub Copilot → .github/instructions/.',\n 'dir_hint:.aicontext/agents/.copilot': 'Definicje agentów specyficzne dla Copilot → .github/agents/.',\n 'dir_hint:.aicontext/skills/.copilot': 'Umiejętności specyficzne dla Copilot → .github/skills/.',\n 'dir_hint:.aicontext/prompts/.copilot': 'Prompty specyficzne dla Copilot → .github/prompts/.',\n 'dir_hint:.aicontext/rules/.cursor': 'Reguły specyficzne dla Cursor → .cursor/rules/.',\n 'dir_hint:.aicontext/rules/.windsurf': 'Reguły specyficzne dla Windsurf → .windsurf/rules/.',\n 'dir_hint:.aicontext/prompts/.windsurf': 'Prompty/workflow specyficzne dla Windsurf → .windsurf/workflows/.',\n workspace_col_status: 'Status',\n workspace_status_ok: 'Utworzony',\n workspace_status_missing: 'Brak',\n workspace_status_synced: 'Zsynchronizowany',\n workspace_status_outdated: 'Nieaktualny',\n workspace_recreate_button: 'Odtwórz brakujące',\n workspace_recreating: 'Odtwarzanie...',\n workspace_recreate_done: 'Gotowe',\n workspace_recreate_error: 'Błąd podczas odtwarzania katalogów',\n workspace_loading: 'Sprawdzanie...',\n workspace_custom_dirs_title: 'Niestandardowe katalogi',\n workspace_custom_dirs_subtitle: 'Mapuj dodatkowe foldery z repozytorium zasobów do lokalnego .aicontext/.',\n workspace_custom_repo_path: 'Ścieżka w repo',\n workspace_custom_local_path: 'Ścieżka lokalna (w .aicontext/)',\n workspace_custom_add: '+ Dodaj mapowanie',\n workspace_custom_remove: 'Usuń',\n workspace_custom_save: 'Zapisz mapowania',\n workspace_custom_saving: 'Zapisywanie...',\n workspace_custom_saved: 'Zapisano',\n workspace_custom_duplicate: 'To mapowanie już istnieje.',\n workspace_custom_remove_dir: 'Usuń też katalog lokalny',\n workspace_custom_remove_dir_confirm: 'Spowoduje to trwałe usunięcie lokalnego katalogu i całej jego zawartości. Jesteś pewien?',\n assistants_section_info: 'Wybierz asystentów AI, którzy będą używać tego kontekstu. Włączenie asystenta tworzy wymagane podkatalogi w .aicontext/ i utrzymuje je zsynchronizowane — bez ręcznej konfiguracji w każdym repozytorium.',\n assistant_has_selections: 'Ten asystent ma aktywne wybory w marketplace. Wyłączenie usunie jego katalogi, ale zachowa wybory. Czy jesteś pewien?',\n assistant_dirs_missing: 'Katalogi jeszcze nie utworzone.',\n assistant_dirs_create: 'Utwórz katalogi',\n assistant_dirs_creating: 'Tworzenie...',\n assistant_custom_mappings: 'Niestandardowe mapowania',\n workspace_custom_repo_placeholder: 'np. .cache',\n workspace_custom_local_placeholder: 'np. .cache (pozostaw puste aby użyć tej samej nazwy)',\n nav_group_final: 'Wdrożenie',\n nav_assistants: 'Asystenci',\n nav_repositories: 'Repozytoria',\n nav_resources: 'Zasoby',\n nav_templates: 'Szablony',\n nav_agents: 'Agenci',\n nav_skills: 'Umiejętności',\n nav_rules: 'Reguły',\n nav_hooks: 'Hooki',\n nav_prompts: 'Prompty',\n nav_mcps: 'MCPs',\n nav_tools: 'Narzędzia',\n nav_contexts_res: 'Konteksty App',\n\n // Assistants page\n assistants_title: 'Asystenci',\n assistants_subtitle: 'Wybierz asystentów, którzy będą częścią kontekstu.',\n assistants_save: 'Zapisz',\n assistants_saving: 'Zapisywanie...',\n\n // Repositories page\n repositories_title: 'Repozytoria',\n repositories_subtitle: 'Repozytoria kodu źródłowego powiązane z tym kontekstem.',\n repositories_col_name: 'Nazwa',\n repositories_col_source: 'Źródło',\n repositories_col_propagate: 'Propaguj kontekst',\n repositories_col_actions: '',\n repositories_remove: 'Usuń',\n repositories_add_name: 'Nazwa',\n repositories_add_source: 'https://github.com/org/repo',\n repositories_add_button: '+ Dodaj repozytorium',\n\n // Common\n coming_soon: 'Wkrótce',\n loading: 'Ładowanie...',\n}\n","import en from './en'\nimport es from './es'\nimport pl from './pl'\n\nexport type Lang = 'en' | 'es' | 'pl'\nexport type Translations = typeof en\n\nexport const languages: { code: Lang; label: string }[] = [\n { code: 'en', label: 'English' },\n { code: 'es', label: 'Español' },\n { code: 'pl', label: 'Polski' },\n]\n\nconst translations: Record<Lang, Translations> = { en, es, pl }\n\nexport function getTranslations(lang: Lang): Translations {\n return translations[lang] ?? translations.en\n}\n\nexport function detectLang(): Lang {\n if (typeof window === 'undefined') return 'en'\n const saved = localStorage.getItem('ai-frames_lang') as Lang | null\n if (saved && saved in translations) return saved\n const browser = navigator.language.slice(0, 2) as Lang\n return browser in translations ? browser : 'en'\n}\n\nexport function saveLang(lang: Lang) {\n localStorage.setItem('ai-frames_lang', lang)\n}\n\nexport function errorMessage(t: Translations, code: string): string {\n const key = `err:${code}` as keyof Translations\n return (t[key] as string) ?? (t['err:unknown-error'] as string)\n}\n"],"names":["wizard_title","wizard_subtitle","wizard_step_context","wizard_step_provider","wizard_step_resources","wizard_step_workspace","wizard_back","wizard_next","wizard_finish","wizard_saving","context_name_label","context_name_placeholder","context_name_hint","provider_label","provider_placeholder","auth_optional_label","auth_optional_hint","auth_token_label","auth_token_placeholder","auth_ssh_label","auth_ssh_placeholder","auth_ssh_invalid","auth_divider","resources_mode_existing","resources_mode_create","resources_create_name_label","resources_create_name_placeholder","resources_create_button","resources_creating","resources_created","resources_create_error","verify_button","verify_verified","verify_checking","verify_ok","verify_not_found","verify_auth_error","verify_error","resources_repo_label","resources_repo_placeholder","resources_repo_hint_label","resources_repo_hint_github","resources_repo_hint_gitlab","resources_repo_hint_bitbucket","resources_repo_invalid","resources_create_invalid","resources_create_hint_label","resources_create_hint_github","resources_create_hint_gitlab","resources_create_hint_bitbucket","workspace_label","workspace_placeholder","workspace_hint","workspace_absolute_hint","workspace_not_found","workspace_checking","context_settings_title","context_settings_name","context_settings_provider","context_settings_repo","context_settings_repo_warning","context_settings_resources_warning","context_settings_name_warning","context_settings_provider_warning","context_settings_workspace","context_settings_auth","context_settings_token","context_settings_ssh","context_settings_save","context_settings_saving","context_settings_saved","context_settings_cancel","install_button","nav_summary","summary_title","summary_subtitle","summary_sync_button","summary_syncing","summary_context","summary_provider","summary_workspace","summary_resources","summary_assistants","summary_repositories","summary_no_repos","nav_overview","overview_title","overview_subtitle","overview_section_config","overview_section_resources","overview_section_deploy","overview_assistants_title","overview_assistants_desc","overview_repositories_title","overview_repositories_desc","overview_aicontext_title","overview_aicontext_desc","overview_templates_title","overview_templates_desc","overview_agents_title","overview_agents_desc","overview_skills_title","overview_skills_desc","overview_rules_title","overview_rules_desc","overview_hooks_title","overview_hooks_desc","overview_prompts_title","overview_prompts_desc","overview_mcps_title","overview_mcps_desc","overview_tools_title","overview_tools_desc","overview_summary_title","overview_summary_desc","assistant_enable","assistant_disable","assistant_enabled","assistant_toggling","assistants_repo_checking","assistants_repo_empty","assistants_repo_init_button","assistants_repo_initializing","assistants_repo_init_done","close","templates_install_sync","templates_installing","templates_installed","templates_preview","templates_resources_summary","marketplace_save_sync","marketplace_saving","marketplace_saved","marketplace_empty","marketplace_no_results","marketplace_search","theme_dark","theme_light","sync_button","sync_checking","sync_syncing","sync_up_to_date","sync_updated","nav_group_config","nav_workspace","workspace_page_title","workspace_page_subtitle","workspace_dir_status","workspace_col_path","workspace_col_status","workspace_status_ok","workspace_status_missing","workspace_status_synced","workspace_status_outdated","workspace_recreate_button","workspace_recreating","workspace_recreate_done","workspace_recreate_error","workspace_loading","workspace_custom_dirs_title","workspace_custom_dirs_subtitle","workspace_custom_repo_path","workspace_custom_local_path","workspace_custom_add","workspace_custom_remove","workspace_custom_save","workspace_custom_saving","workspace_custom_saved","workspace_custom_duplicate","workspace_custom_remove_dir","workspace_custom_remove_dir_confirm","assistants_section_info","assistant_has_selections","assistant_dirs_missing","assistant_dirs_create","assistant_dirs_creating","assistant_custom_mappings","workspace_custom_repo_placeholder","workspace_custom_local_placeholder","nav_group_final","nav_assistants","nav_repositories","nav_resources","nav_templates","nav_agents","nav_skills","nav_rules","nav_hooks","nav_prompts","nav_mcps","nav_tools","nav_contexts_res","assistants_title","assistants_subtitle","assistants_save","assistants_saving","repositories_title","repositories_subtitle","repositories_col_name","repositories_col_source","repositories_col_propagate","repositories_col_actions","repositories_remove","repositories_add_name","repositories_add_source","repositories_add_button","coming_soon","loading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/i18n/LangContext.tsx","../../../../src/i18n/en.ts","../../../../src/i18n/es.ts","../../../../src/i18n/pl.ts","../../../../src/i18n/index.ts"],"sourcesContent":["'use client'\n\nimport { createContext, useContext, useState, ReactNode } from 'react'\nimport { Lang, Translations, detectLang, getTranslations, saveLang } from './index'\n\ninterface LangContextValue {\n lang: Lang\n t: Translations\n setLang: (lang: Lang) => void\n}\n\nconst LangContext = createContext<LangContextValue | null>(null)\n\nexport function LangProvider({ children }: { children: ReactNode }) {\n const [lang, setLangState] = useState<Lang>(detectLang)\n const [t, setT] = useState<Translations>(() => getTranslations(detectLang()))\n\n function setLang(next: Lang) {\n setLangState(next)\n setT(getTranslations(next))\n saveLang(next)\n }\n\n return (\n <LangContext.Provider value={{ lang, t, setLang }}>\n {children}\n </LangContext.Provider>\n )\n}\n\nexport function useLang() {\n const ctx = useContext(LangContext)\n if (!ctx) throw new Error('useLang must be used inside LangProvider')\n return ctx\n}\n","export default {\n // Wizard\n wizard_title: 'ai-frames',\n\n wizard_subtitle: 'Set up your first context to get started.',\n wizard_step_context: 'Context',\n wizard_step_provider: 'Git Provider',\n wizard_step_resources: 'Resources',\n wizard_step_workspace: 'Workspace',\n wizard_back: 'Back',\n wizard_next: 'Next',\n wizard_finish: 'Finish',\n wizard_saving: 'Saving...',\n\n // Step 0 — Context\n context_name_label: 'Context name',\n context_name_placeholder: 'e.g. work, personal, freelance',\n context_name_hint: 'Only letters, numbers, hyphens and underscores. Hyphens are saved as underscores.',\n\n // Step 1 — Git Provider\n provider_label: 'Git provider',\n provider_placeholder: 'Select a provider...',\n auth_optional_label: 'Authentication',\n auth_optional_hint: '(optional)',\n auth_token_label: 'Token',\n auth_token_placeholder: 'Your access token',\n auth_ssh_label: 'SSH key path',\n auth_ssh_placeholder: '/Users/you/.ssh/id_ed25519',\n auth_ssh_invalid: 'Please use an absolute path, not a relative one.',\n auth_divider: 'or',\n\n // Step 2 — Resources mode\n resources_mode_existing: 'Use existing repository',\n resources_mode_create: 'Create new repository',\n resources_create_name_label: 'Repository name',\n resources_create_name_placeholder: 'e.g. my-ai-resources or org/my-ai-resources',\n resources_create_button: 'Create repository',\n resources_creating: 'Creating...',\n resources_created: 'Repository created',\n resources_create_error: 'Could not create repository',\n 'err:repo-already-exists': 'This repository already exists.',\n 'err:repo-not-found': 'Repository not found.',\n 'err:repo-invalid-name': 'Invalid repository name.',\n 'err:verify-ssh-failed': 'SSH authentication failed — check your key path.',\n 'err:verify-connection-failed': 'Could not connect to the git provider.',\n 'err:context-not-found': 'No active context found.',\n 'err:context-already-exists': 'A context with this name already exists.',\n 'err:context-invalid': 'Invalid context configuration.',\n 'err:install-clone-failed': 'Failed to clone repository.',\n 'err:install-workspace-missing': 'Workspace directory not found.',\n 'err:invalid-input': 'Missing or invalid fields.',\n 'err:auth-failed': 'Authentication failed — check your token permissions.',\n 'err:org-not-found': 'Organization or group not found, or your token has no access to it.',\n 'err:invalid-name': 'Invalid repository name.',\n 'err:no-token': 'A token is required to create a repository.',\n 'err:unknown-error': 'An unexpected error occurred.',\n\n // Step 2 — Resources verify\n verify_button: 'Verify',\n verify_verified: 'Verified',\n verify_checking: 'Checking...',\n verify_ok: 'Repository found',\n verify_not_found: 'Repository not found',\n verify_auth_error: 'Authentication failed — check your token',\n verify_error: 'Could not connect',\n\n // Step 2 — Resources\n resources_repo_label: 'Resources repository',\n resources_repo_placeholder: 'e.g. myorg/ai-resources',\n resources_repo_hint_label: 'Accepted formats:',\n resources_repo_hint_github: ['owner/repo', 'https://github.com/owner/repo', 'git@github.com:owner/repo.git'],\n resources_repo_hint_gitlab: ['owner/repo', 'https://gitlab.com/owner/repo', 'git@gitlab.com:owner/repo.git'],\n resources_repo_hint_bitbucket: ['owner/repo', 'https://bitbucket.org/owner/repo', 'git@bitbucket.org:owner/repo.git'],\n resources_repo_invalid: 'Invalid format. Use one of the accepted formats below.',\n resources_create_invalid: 'Invalid format. Use repo-name or org/repo-name.',\n resources_create_hint_label: 'Accepted formats:',\n resources_create_hint_github: ['repo-name', 'org/repo-name'],\n resources_create_hint_gitlab: ['repo-name', 'group/repo-name'],\n resources_create_hint_bitbucket: ['repo-name', 'workspace/repo-name'],\n\n // Step 3 — Workspace\n workspace_label: 'Workspace directory',\n workspace_placeholder: 'e.g. /home/user/projects',\n workspace_hint: 'Absolute path where repos for this context will be cloned.',\n workspace_absolute_hint: 'Please use an absolute path, not a relative one.',\n workspace_not_found: 'Directory not found. Please create it first or check the path.',\n workspace_checking: 'Checking...',\n\n // Context settings modal\n context_settings_title: 'Context Settings',\n context_settings_name: 'Name',\n context_settings_provider: 'Git provider',\n context_settings_repo: 'Resources repository',\n context_settings_repo_warning: 'Changing this value will trigger a re-sync of all repositories. Depending on their size and number of files, this may take a long time.',\n context_settings_resources_warning: 'Changing the resources repository may make existing commit hashes obsolete. Version tracking could be affected and resources may need to be re-downloaded.',\n context_settings_name_warning: 'Changing the name may cause errors when evaluating new resource versions.',\n context_settings_provider_warning: 'Changing the Git provider will make all existing commit hashes obsolete. Version tracking for resources will be lost and a full re-sync will be required.',\n context_settings_workspace: 'Workspace directory',\n context_settings_auth: 'Authentication',\n context_settings_token: 'Token',\n context_settings_ssh: 'SSH key path',\n context_settings_save: 'Save changes',\n context_settings_saving: 'Saving...',\n context_settings_saved: 'Saved',\n context_settings_cancel: 'Cancel',\n\n // Main layout\n install_button: 'INSTALL CONFIGURATION',\n nav_summary: 'Summary',\n summary_title: 'Summary',\n summary_subtitle: 'Review and apply your context configuration.',\n summary_sync_button: 'Sync & Install',\n summary_syncing: 'Syncing...',\n summary_context: 'Context',\n summary_provider: 'Provider',\n summary_workspace: 'Workspace',\n summary_resources: 'Resources',\n summary_assistants: 'Assistants',\n summary_repositories: 'Repositories',\n summary_no_repos: 'No repositories configured.',\n\n // Sidebar\n nav_overview: 'Overview',\n overview_title: 'Overview',\n overview_subtitle: 'Welcome to ai-frames — the centralized context manager for AI agents. Define your rules, agents, skills and resources once, and every repository in your workspace automatically gets the same context, regardless of which AI assistant you use.',\n overview_section_config: 'Configuration',\n overview_section_resources: 'Resources',\n overview_section_deploy: 'Deploy',\n overview_assistants_title: 'Assistants',\n overview_assistants_desc: 'Select which AI assistants will use this context — Claude Code, GitHub Copilot, Cursor and others.',\n overview_repositories_title: 'Repositories',\n overview_repositories_desc: 'Link your source code repositories to this context. Each repo will automatically receive the shared AI configuration.',\n overview_aicontext_title: 'AI Context',\n overview_aicontext_desc: 'Check the status of the .aicontext/ directory structure and recreate any missing folders.',\n overview_templates_title: 'Templates',\n overview_templates_desc: 'Bundles of pre-configured resources from your resources repository that you can activate with one click.',\n overview_agents_title: 'Agents',\n overview_agents_desc: 'Define specialized AI subagents with specific roles, instructions and tool access.',\n overview_skills_title: 'Skills',\n overview_skills_desc: 'Reusable slash commands that extend what the AI assistant can do in your projects.',\n overview_rules_title: 'Rules',\n overview_rules_desc: 'Mandatory instructions always included in the AI context — coding conventions, API standards, quality rules.',\n overview_hooks_title: 'Hooks',\n overview_hooks_desc: 'Shell commands that run automatically on specific events like before/after a tool call.',\n overview_prompts_title: 'Prompts',\n overview_prompts_desc: 'Reusable prompt templates for common tasks across your repositories.',\n overview_mcps_title: 'MCPs',\n overview_mcps_desc: 'Model Context Protocol servers that give the AI access to external tools and data sources.',\n overview_tools_title: 'Tools',\n overview_tools_desc: 'Custom scripts available to the AI assistant during a session.',\n overview_summary_title: 'Summary',\n overview_summary_desc: 'Review your full configuration and run Sync & Install to apply everything to your repositories.',\n assistant_enable: 'Enable',\n assistant_disable: 'Disable',\n assistant_enabled: 'Enabled',\n assistant_toggling: 'Updating...',\n assistants_repo_checking: 'Checking resources repository...',\n assistants_repo_empty: 'The resources repository is empty. Initialize it with the base structure to get started.',\n assistants_repo_init_button: 'Initialize repository structure',\n assistants_repo_initializing: 'Initializing...',\n assistants_repo_init_done: 'Repository initialized',\n close: 'Close',\n templates_install_sync: 'Install & Sync',\n templates_installing: 'Installing...',\n templates_installed: 'Installed',\n templates_preview: 'Contents',\n templates_resources_summary: '{count} items',\n marketplace_save_sync: 'Save & Sync',\n marketplace_saving: 'Syncing...',\n marketplace_saved: 'Synced',\n marketplace_empty: 'No items available. Add files to .aicontext/{type}/ in your resources repository, then click Sync.',\n marketplace_no_results: 'No results found.',\n marketplace_search: 'Search...',\n theme_dark: 'Dark',\n theme_light: 'Light',\n sync_button: 'Sync',\n sync_checking: 'Checking...',\n sync_syncing: 'Syncing...',\n sync_up_to_date: 'Up to date',\n sync_updated: 'Updated',\n nav_group_config: 'Configuration',\n nav_workspace: 'AI Context',\n workspace_page_title: 'AI Context',\n workspace_page_subtitle: 'Status of the .aicontext/ directory structure.',\n workspace_dir_status: 'Directory',\n workspace_col_path: 'Path',\n 'dir_hint:.aicontext': 'Root directory. Contains all AI context files synced from your resources repository.',\n 'dir_hint:.aicontext/rules': 'Mandatory rules always injected into the AI context. Coding conventions, API standards, quality rules. Files here apply to all assistants; files in .claude/ or .copilot/ subdirs apply only to that assistant.',\n 'dir_hint:.aicontext/agents': 'Specialized AI subagent definitions with specific roles and instructions. Shared agents go here; assistant-specific ones in .claude/ or .copilot/ subdirs.',\n 'dir_hint:.aicontext/skills': 'Reusable slash commands that extend what the AI assistant can do. Shared skills go here; assistant-specific ones in subdirs.',\n 'dir_hint:.aicontext/prompts': 'Reusable prompt templates for common tasks. On Install: .claude/ → .claude/commands/, .copilot/ → .github/prompts/.',\n 'dir_hint:.aicontext/mcps': 'MCP (Model Context Protocol) server configurations. Gives the AI access to external tools, APIs or data sources.',\n 'dir_hint:.aicontext/contexts': 'Project-level context docs organized by org/repo. Each repo can have CONTEXT.md (shared), CLAUDE.md and AGENTS.md merged on Install.',\n 'dir_hint:.aicontext/templates': 'Reusable bundles that group rules, agents, skills and prompts into a single installable collection. Install a template to activate all its resources at once.',\n 'dir_hint:.aicontext/rules/.claude': 'Claude Code-specific rules. Merged with the shared rules/ folder when installing for Claude Code → .claude/rules/.',\n 'dir_hint:.aicontext/agents/.claude': 'Claude Code-specific agent definitions. Merged with agents/ when installing → .claude/agents/.',\n 'dir_hint:.aicontext/skills/.claude': 'Claude Code-specific skills/slash commands → .claude/skills/.',\n 'dir_hint:.aicontext/prompts/.claude': 'Claude Code-specific prompt templates. Installed as commands → .claude/commands/.',\n 'dir_hint:.aicontext/rules/.copilot': 'GitHub Copilot-specific rules → .github/instructions/.',\n 'dir_hint:.aicontext/agents/.copilot': 'GitHub Copilot-specific agent definitions → .github/agents/.',\n 'dir_hint:.aicontext/skills/.copilot': 'GitHub Copilot-specific skills → .github/skills/.',\n 'dir_hint:.aicontext/prompts/.copilot': 'GitHub Copilot-specific prompts → .github/prompts/.',\n 'dir_hint:.aicontext/rules/.cursor': 'Cursor-specific rules → .cursor/rules/.',\n 'dir_hint:.aicontext/rules/.windsurf': 'Windsurf-specific rules → .windsurf/rules/.',\n 'dir_hint:.aicontext/prompts/.windsurf': 'Windsurf-specific prompts/workflows → .windsurf/workflows/.',\n workspace_col_status: 'Status',\n workspace_status_ok: 'Created',\n workspace_status_missing: 'Missing',\n workspace_status_synced: 'Synced',\n workspace_status_outdated: 'Outdated',\n workspace_recreate_button: 'Recreate missing folders',\n workspace_recreating: 'Recreating...',\n workspace_recreate_done: 'Done',\n workspace_recreate_error: 'Error recreating directories',\n workspace_loading: 'Checking...',\n workspace_custom_dirs_title: 'Custom mappings',\n workspace_custom_dirs_subtitle: 'Map additional folders from the resources repo to your local .aicontext/.',\n workspace_custom_repo_path: 'Repo path',\n workspace_custom_local_path: 'Local path (in .aicontext/)',\n workspace_custom_add: '+ Add mapping',\n workspace_custom_remove: 'Remove',\n workspace_custom_save: 'Save mappings',\n workspace_custom_saving: 'Saving...',\n workspace_custom_saved: 'Saved',\n workspace_custom_duplicate: 'This mapping already exists.',\n workspace_custom_remove_dir: 'Also delete local directory',\n workspace_custom_remove_dir_confirm: 'This will permanently delete the local directory and all its contents. Are you sure?',\n assistants_section_info: 'Select which AI assistants will use this context. Enabling an assistant creates the required subdirectories inside .aicontext/ and keeps them in sync — no manual setup needed in each repository.',\n assistant_has_selections: 'This assistant has active selections in the marketplace. Disabling it will remove its directories but keep your selections. Are you sure?',\n assistant_dirs_missing: 'Directories not created yet.',\n assistant_dirs_create: 'Create directories',\n assistant_dirs_creating: 'Creating...',\n assistant_custom_mappings: 'Custom mappings',\n workspace_custom_repo_placeholder: 'e.g. .cache',\n workspace_custom_local_placeholder: 'e.g. .cache (leave blank to use same name)',\n nav_group_final: 'Deploy',\n nav_assistants: 'Assistants',\n nav_repositories: 'Repositories',\n nav_resources: 'Resources',\n nav_templates: 'Templates',\n nav_agents: 'Agents',\n nav_skills: 'Skills',\n nav_rules: 'Rules',\n nav_hooks: 'Hooks',\n nav_prompts: 'Prompts',\n nav_mcps: 'MCPs',\n nav_tools: 'Tools',\n nav_contexts_res: 'App Contexts',\n\n // Assistants page\n assistants_title: 'Assistants',\n assistants_subtitle: 'Select the assistants that will be part of the context.',\n assistants_save: 'Save',\n assistants_saving: 'Saving...',\n\n // Repositories page\n repositories_title: 'Repositories',\n repositories_subtitle: 'Source code repositories linked to this context.',\n repositories_col_name: 'Name',\n repositories_col_source: 'Source',\n repositories_col_propagate: 'Propagate context',\n repositories_col_actions: '',\n repositories_remove: 'Remove',\n repositories_add_name: 'Name',\n repositories_add_source: 'https://github.com/org/repo',\n repositories_add_button: '+ Add Repository',\n\n // Common\n coming_soon: 'Coming soon',\n loading: 'Loading...',\n}\n","export default {\n // Wizard\n wizard_title: 'ai-frames',\n wizard_subtitle: 'Configura tu primer contexto para comenzar.',\n wizard_step_context: 'Contexto',\n wizard_step_provider: 'Proveedor Git',\n wizard_step_resources: 'Recursos',\n wizard_step_workspace: 'Workspace',\n wizard_back: 'Atrás',\n wizard_next: 'Siguiente',\n wizard_finish: 'Finalizar',\n wizard_saving: 'Guardando...',\n\n // Step 0 — Context\n context_name_label: 'Nombre del contexto',\n context_name_placeholder: 'ej. trabajo, personal, freelance',\n context_name_hint: 'Solo letras, números, guiones y guiones bajos. Los guiones se guardan como guiones bajos.',\n\n // Step 1 — Git Provider\n provider_label: 'Proveedor Git',\n provider_placeholder: 'Selecciona un proveedor...',\n auth_optional_label: 'Autenticación',\n auth_optional_hint: '(opcional)',\n auth_token_label: 'Token',\n auth_token_placeholder: 'Tu token de acceso',\n auth_ssh_label: 'Ruta de clave SSH',\n auth_ssh_placeholder: '/Users/usuario/.ssh/id_ed25519',\n auth_ssh_invalid: 'Por favor usa una ruta absoluta, no relativa.',\n auth_divider: 'o',\n\n // Step 2 — Resources mode\n resources_mode_existing: 'Usar repositorio existente',\n resources_mode_create: 'Crear nuevo repositorio',\n resources_create_name_label: 'Nombre del repositorio',\n resources_create_name_placeholder: 'ej. mis-ai-resources o org/mis-ai-resources',\n resources_create_button: 'Crear repositorio',\n resources_creating: 'Creando...',\n resources_created: 'Repositorio creado',\n resources_create_error: 'No se pudo crear el repositorio',\n 'err:repo-already-exists': 'Este repositorio ya existe.',\n 'err:repo-not-found': 'Repositorio no encontrado.',\n 'err:repo-invalid-name': 'Nombre de repositorio inválido.',\n 'err:verify-ssh-failed': 'Error de autenticación SSH — revisa la ruta de tu clave.',\n 'err:verify-connection-failed': 'No se pudo conectar al proveedor git.',\n 'err:context-not-found': 'No se encontró ningún contexto activo.',\n 'err:context-already-exists': 'Ya existe un contexto con este nombre.',\n 'err:context-invalid': 'Configuración de contexto inválida.',\n 'err:install-clone-failed': 'Error al clonar el repositorio.',\n 'err:install-workspace-missing': 'Directorio del workspace no encontrado.',\n 'err:invalid-input': 'Campos faltantes o inválidos.',\n 'err:auth-failed': 'Error de autenticación — revisa los permisos de tu token.',\n 'err:org-not-found': 'Organización o grupo no encontrado, o tu token no tiene acceso.',\n 'err:invalid-name': 'Nombre de repositorio inválido.',\n 'err:no-token': 'Se requiere un token para crear un repositorio.',\n 'err:unknown-error': 'Ocurrió un error inesperado.',\n\n // Step 2 — Resources verify\n verify_button: 'Verificar',\n verify_verified: 'Verificado',\n verify_checking: 'Verificando...',\n verify_ok: 'Repositorio encontrado',\n verify_not_found: 'Repositorio no encontrado',\n verify_auth_error: 'Error de autenticación — revisa tu token',\n verify_error: 'No se pudo conectar',\n\n // Step 2 — Resources\n resources_repo_label: 'Repositorio de recursos',\n resources_repo_placeholder: 'ej. miorg/ai-resources',\n resources_repo_hint_label: 'Formatos aceptados:',\n resources_repo_hint_github: ['owner/repo', 'https://github.com/owner/repo', 'git@github.com:owner/repo.git'],\n resources_repo_hint_gitlab: ['owner/repo', 'https://gitlab.com/owner/repo', 'git@gitlab.com:owner/repo.git'],\n resources_repo_hint_bitbucket: ['owner/repo', 'https://bitbucket.org/owner/repo', 'git@bitbucket.org:owner/repo.git'],\n resources_repo_invalid: 'Formato inválido. Usa uno de los formatos aceptados.',\n resources_create_invalid: 'Formato inválido. Usa nombre-repo o org/nombre-repo.',\n resources_create_hint_label: 'Formatos aceptados:',\n resources_create_hint_github: ['nombre-repo', 'org/nombre-repo'],\n resources_create_hint_gitlab: ['nombre-repo', 'grupo/nombre-repo'],\n resources_create_hint_bitbucket: ['nombre-repo', 'workspace/nombre-repo'],\n\n // Step 3 — Workspace\n workspace_label: 'Directorio del workspace',\n workspace_placeholder: 'ej. /home/usuario/proyectos',\n workspace_hint: 'Ruta absoluta donde se clonarán los repositorios de este contexto.',\n workspace_absolute_hint: 'Por favor usa una ruta absoluta, no relativa.',\n workspace_not_found: 'Directorio no encontrado. Créalo primero o verifica la ruta.',\n workspace_checking: 'Verificando...',\n\n // Context settings modal\n context_settings_title: 'Configuración del contexto',\n context_settings_name: 'Nombre',\n context_settings_provider: 'Proveedor Git',\n context_settings_repo: 'Repositorio de recursos',\n context_settings_repo_warning: 'Cambiar este valor iniciará una re-sincronización de todos los repositorios. Dependiendo del tamaño y la cantidad de archivos, esto puede llevar mucho tiempo.',\n context_settings_resources_warning: 'Cambiar el repositorio de recursos puede dejar obsoletos los hashes de commits existentes. El seguimiento de versiones podría verse afectado y puede que los recursos necesiten descargarse nuevamente.',\n context_settings_name_warning: 'Cambiar el nombre puede causar errores al evaluar nuevas versiones de recursos.',\n context_settings_provider_warning: 'Cambiar el proveedor Git dejará obsoletos todos los hashes de commits existentes. El seguimiento de versiones de los recursos se perderá y se requerirá una re-sincronización completa.',\n context_settings_workspace: 'Directorio del workspace',\n context_settings_auth: 'Autenticación',\n context_settings_token: 'Token',\n context_settings_ssh: 'Ruta de clave SSH',\n context_settings_save: 'Guardar cambios',\n context_settings_saving: 'Guardando...',\n context_settings_saved: 'Guardado',\n context_settings_cancel: 'Cancelar',\n\n // Main layout\n install_button: 'INSTALAR CONFIGURACIÓN',\n nav_summary: 'Resumen',\n summary_title: 'Resumen',\n summary_subtitle: 'Revisa y aplica la configuración de tu contexto.',\n summary_sync_button: 'Sincronizar e Instalar',\n summary_syncing: 'Sincronizando...',\n summary_context: 'Contexto',\n summary_provider: 'Proveedor',\n summary_workspace: 'Workspace',\n summary_resources: 'Recursos',\n summary_assistants: 'Asistentes',\n summary_repositories: 'Repositorios',\n summary_no_repos: 'No hay repositorios configurados.',\n\n // Sidebar\n nav_overview: 'Visión general',\n overview_title: 'Visión general',\n overview_subtitle: 'Bienvenido a ai-frames — el gestor centralizado de contexto para agentes de IA. Define tus reglas, agentes, skills y recursos una sola vez, y cada repositorio de tu workspace recibe automáticamente el mismo contexto, sin importar qué asistente de IA uses.',\n overview_section_config: 'Configuración',\n overview_section_resources: 'Recursos',\n overview_section_deploy: 'Despliegue',\n overview_assistants_title: 'Asistentes',\n overview_assistants_desc: 'Selecciona qué asistentes de IA usarán este contexto — Claude Code, GitHub Copilot, Cursor y otros.',\n overview_repositories_title: 'Repositorios',\n overview_repositories_desc: 'Vincula tus repositorios de código a este contexto. Cada repo recibirá automáticamente la configuración de IA compartida.',\n overview_aicontext_title: 'AI Context',\n overview_aicontext_desc: 'Verifica el estado de la estructura de directorios .aicontext/ y recrea las carpetas faltantes.',\n overview_templates_title: 'Templates',\n overview_templates_desc: 'Bundles de recursos preconfigurados de tu repositorio de recursos que puedes activar con un clic.',\n overview_agents_title: 'Agentes',\n overview_agents_desc: 'Define subagentes de IA especializados con roles, instrucciones y acceso a herramientas específicas.',\n overview_skills_title: 'Skills',\n overview_skills_desc: 'Comandos slash reutilizables que amplían lo que el asistente de IA puede hacer en tus proyectos.',\n overview_rules_title: 'Reglas',\n overview_rules_desc: 'Instrucciones obligatorias siempre incluidas en el contexto de IA — convenciones de código, estándares de API, reglas de calidad.',\n overview_hooks_title: 'Hooks',\n overview_hooks_desc: 'Comandos shell que se ejecutan automáticamente en eventos específicos como antes/después de una llamada a herramienta.',\n overview_prompts_title: 'Prompts',\n overview_prompts_desc: 'Plantillas de prompts reutilizables para tareas comunes en tus repositorios.',\n overview_mcps_title: 'MCPs',\n overview_mcps_desc: 'Servidores Model Context Protocol que dan al IA acceso a herramientas y fuentes de datos externas.',\n overview_tools_title: 'Herramientas',\n overview_tools_desc: 'Scripts personalizados disponibles para el asistente de IA durante una sesión.',\n overview_summary_title: 'Resumen',\n overview_summary_desc: 'Revisa tu configuración completa y ejecuta Sincronizar e Instalar para aplicar todo a tus repositorios.',\n assistant_enable: 'Activar',\n assistant_disable: 'Desactivar',\n assistant_enabled: 'Activado',\n assistant_toggling: 'Actualizando...',\n assistants_repo_checking: 'Verificando repositorio de recursos...',\n assistants_repo_empty: 'El repositorio de recursos está vacío. Inicialízalo con la estructura base para comenzar.',\n assistants_repo_init_button: 'Inicializar estructura del repositorio',\n assistants_repo_initializing: 'Inicializando...',\n assistants_repo_init_done: 'Repositorio inicializado',\n close: 'Cerrar',\n templates_install_sync: 'Instalar y Sincronizar',\n templates_installing: 'Instalando...',\n templates_installed: 'Instalado',\n templates_preview: 'Contenido',\n templates_resources_summary: '{count} elementos',\n marketplace_save_sync: 'Guardar y Sincronizar',\n marketplace_saving: 'Sincronizando...',\n marketplace_saved: 'Sincronizado',\n marketplace_empty: 'No hay elementos disponibles. Agrega archivos a .aicontext/{type}/ en tu repositorio de recursos y luego haz clic en Sincronizar.',\n marketplace_no_results: 'Sin resultados.',\n marketplace_search: 'Buscar...',\n theme_dark: 'Oscuro',\n theme_light: 'Claro',\n sync_button: 'Sincronizar',\n sync_checking: 'Verificando...',\n sync_syncing: 'Sincronizando...',\n sync_up_to_date: 'Actualizado',\n sync_updated: 'Sincronizado',\n nav_group_config: 'Configuración',\n nav_workspace: 'AI Context',\n workspace_page_title: 'AI Context',\n workspace_page_subtitle: 'Estado de la estructura del directorio .aicontext/.',\n workspace_dir_status: 'Directorio',\n workspace_col_path: 'Ruta',\n 'dir_hint:.aicontext': 'Directorio raíz. Contiene todos los archivos de contexto de IA sincronizados desde tu repositorio de recursos.',\n 'dir_hint:.aicontext/rules': 'Reglas obligatorias siempre inyectadas en el contexto de IA. Convenciones de código, estándares de API, reglas de calidad. Los archivos aquí aplican a todos los asistentes; los de subdirectorios .claude/ o .copilot/ solo a ese asistente.',\n 'dir_hint:.aicontext/agents': 'Definiciones de subagentes de IA especializados con roles e instrucciones específicas. Los agentes compartidos van aquí; los específicos por asistente en subdirectorios.',\n 'dir_hint:.aicontext/skills': 'Comandos slash reutilizables que amplían las capacidades del asistente. Los compartidos van aquí; los específicos en subdirectorios.',\n 'dir_hint:.aicontext/prompts': 'Plantillas de prompts reutilizables para tareas comunes. Al instalar: .claude/ → .claude/commands/, .copilot/ → .github/prompts/.',\n 'dir_hint:.aicontext/mcps': 'Configuraciones de servidores MCP (Model Context Protocol). Da al asistente acceso a herramientas externas, APIs o fuentes de datos.',\n 'dir_hint:.aicontext/contexts': 'Documentación de contexto por proyecto, organizada por org/repo. Cada repo puede tener CONTEXT.md (compartido), CLAUDE.md y AGENTS.md que se mergean al instalar.',\n 'dir_hint:.aicontext/templates': 'Bundles reutilizables que agrupan rules, agents, skills y prompts en una colección instalable. Instala un template para activar todos sus recursos de una vez.',\n 'dir_hint:.aicontext/rules/.claude': 'Reglas específicas de Claude Code. Se mergean con rules/ al instalar → .claude/rules/.',\n 'dir_hint:.aicontext/agents/.claude': 'Definiciones de agentes específicas de Claude Code → .claude/agents/.',\n 'dir_hint:.aicontext/skills/.claude': 'Skills/slash commands específicos de Claude Code → .claude/skills/.',\n 'dir_hint:.aicontext/prompts/.claude': 'Prompts específicos de Claude Code. Se instalan como comandos → .claude/commands/.',\n 'dir_hint:.aicontext/rules/.copilot': 'Reglas específicas de GitHub Copilot → .github/instructions/.',\n 'dir_hint:.aicontext/agents/.copilot': 'Definiciones de agentes específicas de Copilot → .github/agents/.',\n 'dir_hint:.aicontext/skills/.copilot': 'Skills específicos de Copilot → .github/skills/.',\n 'dir_hint:.aicontext/prompts/.copilot': 'Prompts específicos de Copilot → .github/prompts/.',\n 'dir_hint:.aicontext/rules/.cursor': 'Reglas específicas de Cursor → .cursor/rules/.',\n 'dir_hint:.aicontext/rules/.windsurf': 'Reglas específicas de Windsurf → .windsurf/rules/.',\n 'dir_hint:.aicontext/prompts/.windsurf': 'Prompts/workflows específicos de Windsurf → .windsurf/workflows/.',\n workspace_col_status: 'Estado',\n workspace_status_ok: 'Creado',\n workspace_status_missing: 'Faltante',\n workspace_status_synced: 'Sincronizado',\n workspace_status_outdated: 'Desactualizado',\n workspace_recreate_button: 'Recrear carpetas faltantes',\n workspace_recreating: 'Recreando...',\n workspace_recreate_done: 'Listo',\n workspace_recreate_error: 'Error al recrear directorios',\n workspace_loading: 'Verificando...',\n workspace_custom_dirs_title: 'Directorios personalizados',\n workspace_custom_dirs_subtitle: 'Mapea carpetas adicionales del repositorio de recursos a tu .aicontext/ local.',\n workspace_custom_repo_path: 'Ruta en el repo',\n workspace_custom_local_path: 'Ruta local (dentro de .aicontext/)',\n workspace_custom_add: '+ Agregar mapeo',\n workspace_custom_remove: 'Eliminar',\n workspace_custom_save: 'Guardar mapeos',\n workspace_custom_saving: 'Guardando...',\n workspace_custom_saved: 'Guardado',\n workspace_custom_duplicate: 'Este mapeo ya existe.',\n workspace_custom_remove_dir: 'Eliminar directorio local también',\n workspace_custom_remove_dir_confirm: 'Esto eliminará permanentemente el directorio local y todo su contenido. ¿Estás seguro?',\n assistants_section_info: 'Selecciona qué asistentes de IA usarán este contexto. Al habilitar un asistente se crean los subdirectorios necesarios dentro de .aicontext/ y se mantienen sincronizados — sin configuración manual en cada repositorio.',\n assistant_has_selections: 'Este asistente tiene selecciones activas en el marketplace. Deshabilitarlo eliminará sus directorios pero mantendrá tus selecciones. ¿Estás seguro?',\n assistant_dirs_missing: 'Directorios aún no creados.',\n assistant_dirs_create: 'Crear directorios',\n assistant_dirs_creating: 'Creando...',\n assistant_custom_mappings: 'Mapeos personalizados',\n workspace_custom_repo_placeholder: 'ej. .cache',\n workspace_custom_local_placeholder: 'ej. .cache (dejar vacío para usar el mismo nombre)',\n nav_group_final: 'Despliegue',\n nav_assistants: 'Asistentes',\n nav_repositories: 'Repositorios',\n nav_resources: 'Recursos',\n nav_templates: 'Templates',\n nav_agents: 'Agentes',\n nav_skills: 'Skills',\n nav_rules: 'Reglas',\n nav_hooks: 'Hooks',\n nav_prompts: 'Prompts',\n nav_mcps: 'MCPs',\n nav_tools: 'Herramientas',\n nav_contexts_res: 'Contextos de App',\n\n // Assistants page\n assistants_title: 'Asistentes',\n assistants_subtitle: 'Selecciona los asistentes que formarán parte del contexto.',\n assistants_save: 'Guardar',\n assistants_saving: 'Guardando...',\n\n // Repositories page\n repositories_title: 'Repositorios',\n repositories_subtitle: 'Repositorios de código fuente vinculados a este contexto.',\n repositories_col_name: 'Nombre',\n repositories_col_source: 'Fuente',\n repositories_col_propagate: 'Propagar contexto',\n repositories_col_actions: '',\n repositories_remove: 'Eliminar',\n repositories_add_name: 'Nombre',\n repositories_add_source: 'https://github.com/org/repo',\n repositories_add_button: '+ Agregar repositorio',\n\n // Common\n coming_soon: 'Próximamente',\n loading: 'Cargando...',\n}\n","export default {\n // Wizard\n wizard_title: 'ai-frames',\n wizard_subtitle: 'Skonfiguruj swój pierwszy kontekst, aby rozpocząć.',\n wizard_step_context: 'Kontekst',\n wizard_step_provider: 'Dostawca Git',\n wizard_step_resources: 'Zasoby',\n wizard_step_workspace: 'Workspace',\n wizard_back: 'Wstecz',\n wizard_next: 'Dalej',\n wizard_finish: 'Zakończ',\n wizard_saving: 'Zapisywanie...',\n\n // Step 0 — Context\n context_name_label: 'Nazwa kontekstu',\n context_name_placeholder: 'np. praca, osobisty, freelance',\n context_name_hint: 'Tylko litery, cyfry, myślniki i podkreślniki. Myślniki są zapisywane jako podkreślniki.',\n\n // Step 1 — Git Provider\n provider_label: 'Dostawca Git',\n provider_placeholder: 'Wybierz dostawcę...',\n auth_optional_label: 'Uwierzytelnianie',\n auth_optional_hint: '(opcjonalne)',\n auth_token_label: 'Token',\n auth_token_placeholder: 'Twój token dostępu',\n auth_ssh_label: 'Ścieżka klucza SSH',\n auth_ssh_placeholder: '/home/user/.ssh/id_ed25519',\n auth_ssh_invalid: 'Proszę użyć ścieżki bezwzględnej, nie względnej.',\n auth_divider: 'lub',\n\n // Step 2 — Resources mode\n resources_mode_existing: 'Użyj istniejącego repozytorium',\n resources_mode_create: 'Utwórz nowe repozytorium',\n resources_create_name_label: 'Nazwa repozytorium',\n resources_create_name_placeholder: 'np. moje-ai-zasoby lub org/moje-ai-zasoby',\n resources_create_button: 'Utwórz repozytorium',\n resources_creating: 'Tworzenie...',\n resources_created: 'Repozytorium utworzone',\n resources_create_error: 'Nie można utworzyć repozytorium',\n 'err:repo-already-exists': 'To repozytorium już istnieje.',\n 'err:repo-not-found': 'Repozytorium nie znalezione.',\n 'err:repo-invalid-name': 'Nieprawidłowa nazwa repozytorium.',\n 'err:verify-ssh-failed': 'Błąd uwierzytelniania SSH — sprawdź ścieżkę klucza.',\n 'err:verify-connection-failed': 'Nie można połączyć z dostawcą git.',\n 'err:context-not-found': 'Nie znaleziono aktywnego kontekstu.',\n 'err:context-already-exists': 'Kontekst o tej nazwie już istnieje.',\n 'err:context-invalid': 'Nieprawidłowa konfiguracja kontekstu.',\n 'err:install-clone-failed': 'Błąd podczas klonowania repozytorium.',\n 'err:install-workspace-missing': 'Katalog workspace nie znaleziony.',\n 'err:invalid-input': 'Brakujące lub nieprawidłowe pola.',\n 'err:auth-failed': 'Błąd uwierzytelniania — sprawdź uprawnienia tokenu.',\n 'err:org-not-found': 'Organizacja lub grupa nie znaleziona, lub token nie ma dostępu.',\n 'err:invalid-name': 'Nieprawidłowa nazwa repozytorium.',\n 'err:no-token': 'Token jest wymagany do utworzenia repozytorium.',\n 'err:unknown-error': 'Wystąpił nieoczekiwany błąd.',\n\n // Step 2 — Resources verify\n verify_button: 'Weryfikuj',\n verify_verified: 'Zweryfikowano',\n verify_checking: 'Sprawdzanie...',\n verify_ok: 'Repozytorium znalezione',\n verify_not_found: 'Repozytorium nie znalezione',\n verify_auth_error: 'Błąd uwierzytelniania — sprawdź token',\n verify_error: 'Nie można połączyć',\n\n // Step 2 — Resources\n resources_repo_label: 'Repozytorium zasobów',\n resources_repo_placeholder: 'np. mojorg/ai-resources',\n resources_repo_hint_label: 'Akceptowane formaty:',\n resources_repo_hint_github: ['owner/repo', 'https://github.com/owner/repo', 'git@github.com:owner/repo.git'],\n resources_repo_hint_gitlab: ['owner/repo', 'https://gitlab.com/owner/repo', 'git@gitlab.com:owner/repo.git'],\n resources_repo_hint_bitbucket: ['owner/repo', 'https://bitbucket.org/owner/repo', 'git@bitbucket.org:owner/repo.git'],\n resources_repo_invalid: 'Nieprawidłowy format. Użyj jednego z akceptowanych formatów.',\n resources_create_invalid: 'Nieprawidłowy format. Użyj nazwa-repo lub org/nazwa-repo.',\n resources_create_hint_label: 'Akceptowane formaty:',\n resources_create_hint_github: ['nazwa-repo', 'org/nazwa-repo'],\n resources_create_hint_gitlab: ['nazwa-repo', 'grupa/nazwa-repo'],\n resources_create_hint_bitbucket: ['nazwa-repo', 'workspace/nazwa-repo'],\n\n // Step 3 — Workspace\n workspace_label: 'Katalog workspace',\n workspace_placeholder: 'np. /home/user/projekty',\n workspace_hint: 'Bezwzględna ścieżka, gdzie będą klonowane repozytoria tego kontekstu.',\n workspace_absolute_hint: 'Proszę użyć ścieżki bezwzględnej, nie względnej.',\n workspace_not_found: 'Katalog nie znaleziony. Utwórz go najpierw lub sprawdź ścieżkę.',\n workspace_checking: 'Sprawdzanie...',\n\n // Context settings modal\n context_settings_title: 'Ustawienia kontekstu',\n context_settings_name: 'Nazwa',\n context_settings_provider: 'Dostawca Git',\n context_settings_repo: 'Repozytorium zasobów',\n context_settings_repo_warning: 'Zmiana tej wartości spowoduje ponowną synchronizację wszystkich repozytoriów. W zależności od ich rozmiaru i liczby plików może to zająć dużo czasu.',\n context_settings_resources_warning: 'Zmiana repozytorium zasobów może spowodować, że istniejące skróty commitów staną się nieaktualne. Śledzenie wersji może zostać naruszone i zasoby mogą wymagać ponownego pobrania.',\n context_settings_name_warning: 'Zmiana nazwy może powodować błędy podczas oceny nowych wersji zasobów.',\n context_settings_provider_warning: 'Zmiana dostawcy Git spowoduje, że wszystkie istniejące skróty commitów staną się nieaktualne. Śledzenie wersji zasobów zostanie utracone i wymagana będzie pełna ponowna synchronizacja.',\n context_settings_workspace: 'Katalog workspace',\n context_settings_auth: 'Uwierzytelnianie',\n context_settings_token: 'Token',\n context_settings_ssh: 'Ścieżka klucza SSH',\n context_settings_save: 'Zapisz zmiany',\n context_settings_saving: 'Zapisywanie...',\n context_settings_saved: 'Zapisano',\n context_settings_cancel: 'Anuluj',\n\n // Main layout\n install_button: 'ZAINSTALUJ KONFIGURACJĘ',\n nav_summary: 'Podsumowanie',\n summary_title: 'Podsumowanie',\n summary_subtitle: 'Przejrzyj i zastosuj konfigurację kontekstu.',\n summary_sync_button: 'Synchronizuj i Zainstaluj',\n summary_syncing: 'Synchronizowanie...',\n summary_context: 'Kontekst',\n summary_provider: 'Dostawca',\n summary_workspace: 'Workspace',\n summary_resources: 'Zasoby',\n summary_assistants: 'Asystenci',\n summary_repositories: 'Repozytoria',\n summary_no_repos: 'Brak skonfigurowanych repozytoriów.',\n\n // Sidebar\n nav_overview: 'Przegląd',\n overview_title: 'Przegląd',\n overview_subtitle: 'Witaj w ai-frames — scentralizowanym menedżerze kontekstu dla agentów AI. Zdefiniuj reguły, agentów, umiejętności i zasoby raz, a każde repozytorium w workspace automatycznie otrzyma ten sam kontekst, niezależnie od używanego asystenta AI.',\n overview_section_config: 'Konfiguracja',\n overview_section_resources: 'Zasoby',\n overview_section_deploy: 'Wdrożenie',\n overview_assistants_title: 'Asystenci',\n overview_assistants_desc: 'Wybierz asystentów AI, którzy będą używać tego kontekstu — Claude Code, GitHub Copilot, Cursor i inni.',\n overview_repositories_title: 'Repozytoria',\n overview_repositories_desc: 'Połącz repozytoria kodu z tym kontekstem. Każde repo automatycznie otrzyma wspólną konfigurację AI.',\n overview_aicontext_title: 'AI Context',\n overview_aicontext_desc: 'Sprawdź status struktury katalogów .aicontext/ i odtwórz brakujące foldery.',\n overview_templates_title: 'Szablony',\n overview_templates_desc: 'Zestawy wstępnie skonfigurowanych zasobów z repozytorium zasobów, które możesz aktywować jednym kliknięciem.',\n overview_agents_title: 'Agenci',\n overview_agents_desc: 'Definiuj wyspecjalizowanych subagentów AI z określonymi rolami, instrukcjami i dostępem do narzędzi.',\n overview_skills_title: 'Umiejętności',\n overview_skills_desc: 'Wielokrotnego użytku komendy slash rozszerzające możliwości asystenta AI w Twoich projektach.',\n overview_rules_title: 'Reguły',\n overview_rules_desc: 'Obowiązkowe instrukcje zawsze zawarte w kontekście AI — konwencje kodu, standardy API, reguły jakości.',\n overview_hooks_title: 'Hooki',\n overview_hooks_desc: 'Komendy shell wykonywane automatycznie przy określonych zdarzeniach jak przed/po wywołaniu narzędzia.',\n overview_prompts_title: 'Prompty',\n overview_prompts_desc: 'Szablony promptów wielokrotnego użytku dla typowych zadań w repozytoriach.',\n overview_mcps_title: 'MCPs',\n overview_mcps_desc: 'Serwery Model Context Protocol dające AI dostęp do zewnętrznych narzędzi i źródeł danych.',\n overview_tools_title: 'Narzędzia',\n overview_tools_desc: 'Niestandardowe skrypty dostępne dla asystenta AI podczas sesji.',\n overview_summary_title: 'Podsumowanie',\n overview_summary_desc: 'Przejrzyj pełną konfigurację i uruchom Synchronizuj i Zainstaluj, aby zastosować wszystko do repozytoriów.',\n assistant_enable: 'Włącz',\n assistant_disable: 'Wyłącz',\n assistant_enabled: 'Włączono',\n assistant_toggling: 'Aktualizowanie...',\n assistants_repo_checking: 'Sprawdzanie repozytorium zasobów...',\n assistants_repo_empty: 'Repozytorium zasobów jest puste. Zainicjuj je podstawową strukturą, aby rozpocząć.',\n assistants_repo_init_button: 'Zainicjuj strukturę repozytorium',\n assistants_repo_initializing: 'Inicjowanie...',\n assistants_repo_init_done: 'Repozytorium zainicjowane',\n close: 'Zamknij',\n templates_install_sync: 'Zainstaluj i Synchronizuj',\n templates_installing: 'Instalowanie...',\n templates_installed: 'Zainstalowano',\n templates_preview: 'Zawartość',\n templates_resources_summary: '{count} elementów',\n marketplace_save_sync: 'Zapisz i Synchronizuj',\n marketplace_saving: 'Synchronizowanie...',\n marketplace_saved: 'Zsynchronizowano',\n marketplace_empty: 'Brak dostępnych elementów. Dodaj pliki do .aicontext/{type}/ w repozytorium zasobów, a następnie kliknij Synchronizuj.',\n marketplace_no_results: 'Brak wyników.',\n marketplace_search: 'Szukaj...',\n theme_dark: 'Ciemny',\n theme_light: 'Jasny',\n sync_button: 'Synchronizuj',\n sync_checking: 'Sprawdzanie...',\n sync_syncing: 'Synchronizowanie...',\n sync_up_to_date: 'Aktualny',\n sync_updated: 'Zsynchronizowano',\n nav_group_config: 'Konfiguracja',\n nav_workspace: 'AI Context',\n workspace_page_title: 'AI Context',\n workspace_page_subtitle: 'Status struktury katalogu .aicontext/.',\n workspace_dir_status: 'Katalog',\n workspace_col_path: 'Ścieżka',\n 'dir_hint:.aicontext': 'Katalog główny. Zawiera wszystkie pliki kontekstu AI zsynchronizowane z repozytorium zasobów.',\n 'dir_hint:.aicontext/rules': 'Obowiązkowe reguły zawsze wstrzykiwane do kontekstu AI. Konwencje kodu, standardy API, reguły jakości. Pliki tutaj dotyczą wszystkich asystentów; pliki w podkatalogach .claude/ lub .copilot/ tylko tego asystenta.',\n 'dir_hint:.aicontext/agents': 'Definicje wyspecjalizowanych subagentów AI z określonymi rolami i instrukcjami. Współdzielone agenty tutaj; specyficzne dla asystenta w podkatalogach.',\n 'dir_hint:.aicontext/skills': 'Wielokrotnego użytku komendy slash rozszerzające możliwości asystenta. Współdzielone tutaj; specyficzne w podkatalogach.',\n 'dir_hint:.aicontext/prompts': 'Szablony promptów wielokrotnego użytku. Przy instalacji: .claude/ → .claude/commands/, .copilot/ → .github/prompts/.',\n 'dir_hint:.aicontext/mcps': 'Konfiguracje serwerów MCP (Model Context Protocol). Daje asystentowi dostęp do zewnętrznych narzędzi, API lub źródeł danych.',\n 'dir_hint:.aicontext/contexts': 'Dokumentacja kontekstu projektu według org/repo. Każde repo może mieć CONTEXT.md (współdzielony), CLAUDE.md i AGENTS.md scalane podczas instalacji.',\n 'dir_hint:.aicontext/templates': 'Zestawy wielokrotnego użytku grupujące reguły, agentów, umiejętności i prompty w jedną instalowaną kolekcję. Zainstaluj szablon, aby aktywować wszystkie zasoby naraz.',\n 'dir_hint:.aicontext/rules/.claude': 'Reguły specyficzne dla Claude Code. Scalane z rules/ podczas instalacji → .claude/rules/.',\n 'dir_hint:.aicontext/agents/.claude': 'Definicje agentów specyficzne dla Claude Code → .claude/agents/.',\n 'dir_hint:.aicontext/skills/.claude': 'Umiejętności/komendy slash specyficzne dla Claude Code → .claude/skills/.',\n 'dir_hint:.aicontext/prompts/.claude': 'Prompty specyficzne dla Claude Code. Instalowane jako komendy → .claude/commands/.',\n 'dir_hint:.aicontext/rules/.copilot': 'Reguły specyficzne dla GitHub Copilot → .github/instructions/.',\n 'dir_hint:.aicontext/agents/.copilot': 'Definicje agentów specyficzne dla Copilot → .github/agents/.',\n 'dir_hint:.aicontext/skills/.copilot': 'Umiejętności specyficzne dla Copilot → .github/skills/.',\n 'dir_hint:.aicontext/prompts/.copilot': 'Prompty specyficzne dla Copilot → .github/prompts/.',\n 'dir_hint:.aicontext/rules/.cursor': 'Reguły specyficzne dla Cursor → .cursor/rules/.',\n 'dir_hint:.aicontext/rules/.windsurf': 'Reguły specyficzne dla Windsurf → .windsurf/rules/.',\n 'dir_hint:.aicontext/prompts/.windsurf': 'Prompty/workflow specyficzne dla Windsurf → .windsurf/workflows/.',\n workspace_col_status: 'Status',\n workspace_status_ok: 'Utworzony',\n workspace_status_missing: 'Brak',\n workspace_status_synced: 'Zsynchronizowany',\n workspace_status_outdated: 'Nieaktualny',\n workspace_recreate_button: 'Odtwórz brakujące foldery',\n workspace_recreating: 'Odtwarzanie...',\n workspace_recreate_done: 'Gotowe',\n workspace_recreate_error: 'Błąd podczas odtwarzania katalogów',\n workspace_loading: 'Sprawdzanie...',\n workspace_custom_dirs_title: 'Niestandardowe katalogi',\n workspace_custom_dirs_subtitle: 'Mapuj dodatkowe foldery z repozytorium zasobów do lokalnego .aicontext/.',\n workspace_custom_repo_path: 'Ścieżka w repo',\n workspace_custom_local_path: 'Ścieżka lokalna (w .aicontext/)',\n workspace_custom_add: '+ Dodaj mapowanie',\n workspace_custom_remove: 'Usuń',\n workspace_custom_save: 'Zapisz mapowania',\n workspace_custom_saving: 'Zapisywanie...',\n workspace_custom_saved: 'Zapisano',\n workspace_custom_duplicate: 'To mapowanie już istnieje.',\n workspace_custom_remove_dir: 'Usuń też katalog lokalny',\n workspace_custom_remove_dir_confirm: 'Spowoduje to trwałe usunięcie lokalnego katalogu i całej jego zawartości. Jesteś pewien?',\n assistants_section_info: 'Wybierz asystentów AI, którzy będą używać tego kontekstu. Włączenie asystenta tworzy wymagane podkatalogi w .aicontext/ i utrzymuje je zsynchronizowane — bez ręcznej konfiguracji w każdym repozytorium.',\n assistant_has_selections: 'Ten asystent ma aktywne wybory w marketplace. Wyłączenie usunie jego katalogi, ale zachowa wybory. Czy jesteś pewien?',\n assistant_dirs_missing: 'Katalogi jeszcze nie utworzone.',\n assistant_dirs_create: 'Utwórz katalogi',\n assistant_dirs_creating: 'Tworzenie...',\n assistant_custom_mappings: 'Niestandardowe mapowania',\n workspace_custom_repo_placeholder: 'np. .cache',\n workspace_custom_local_placeholder: 'np. .cache (pozostaw puste aby użyć tej samej nazwy)',\n nav_group_final: 'Wdrożenie',\n nav_assistants: 'Asystenci',\n nav_repositories: 'Repozytoria',\n nav_resources: 'Zasoby',\n nav_templates: 'Szablony',\n nav_agents: 'Agenci',\n nav_skills: 'Umiejętności',\n nav_rules: 'Reguły',\n nav_hooks: 'Hooki',\n nav_prompts: 'Prompty',\n nav_mcps: 'MCPs',\n nav_tools: 'Narzędzia',\n nav_contexts_res: 'Konteksty App',\n\n // Assistants page\n assistants_title: 'Asystenci',\n assistants_subtitle: 'Wybierz asystentów, którzy będą częścią kontekstu.',\n assistants_save: 'Zapisz',\n assistants_saving: 'Zapisywanie...',\n\n // Repositories page\n repositories_title: 'Repozytoria',\n repositories_subtitle: 'Repozytoria kodu źródłowego powiązane z tym kontekstem.',\n repositories_col_name: 'Nazwa',\n repositories_col_source: 'Źródło',\n repositories_col_propagate: 'Propaguj kontekst',\n repositories_col_actions: '',\n repositories_remove: 'Usuń',\n repositories_add_name: 'Nazwa',\n repositories_add_source: 'https://github.com/org/repo',\n repositories_add_button: '+ Dodaj repozytorium',\n\n // Common\n coming_soon: 'Wkrótce',\n loading: 'Ładowanie...',\n}\n","import en from './en'\nimport es from './es'\nimport pl from './pl'\n\nexport type Lang = 'en' | 'es' | 'pl'\nexport type Translations = typeof en\n\nexport const languages: { code: Lang; label: string }[] = [\n { code: 'en', label: 'English' },\n { code: 'es', label: 'Español' },\n { code: 'pl', label: 'Polski' },\n]\n\nconst translations: Record<Lang, Translations> = { en, es, pl }\n\nexport function getTranslations(lang: Lang): Translations {\n return translations[lang] ?? translations.en\n}\n\nexport function detectLang(): Lang {\n if (typeof window === 'undefined') return 'en'\n const saved = localStorage.getItem('ai-frames_lang') as Lang | null\n if (saved && saved in translations) return saved\n const browser = navigator.language.slice(0, 2) as Lang\n return browser in translations ? browser : 'en'\n}\n\nexport function saveLang(lang: Lang) {\n localStorage.setItem('ai-frames_lang', lang)\n}\n\nexport function errorMessage(t: Translations, code: string): string {\n const key = `err:${code}` as keyof Translations\n return (t[key] as string) ?? (t['err:unknown-error'] as string)\n}\n"],"names":["wizard_title","wizard_subtitle","wizard_step_context","wizard_step_provider","wizard_step_resources","wizard_step_workspace","wizard_back","wizard_next","wizard_finish","wizard_saving","context_name_label","context_name_placeholder","context_name_hint","provider_label","provider_placeholder","auth_optional_label","auth_optional_hint","auth_token_label","auth_token_placeholder","auth_ssh_label","auth_ssh_placeholder","auth_ssh_invalid","auth_divider","resources_mode_existing","resources_mode_create","resources_create_name_label","resources_create_name_placeholder","resources_create_button","resources_creating","resources_created","resources_create_error","verify_button","verify_verified","verify_checking","verify_ok","verify_not_found","verify_auth_error","verify_error","resources_repo_label","resources_repo_placeholder","resources_repo_hint_label","resources_repo_hint_github","resources_repo_hint_gitlab","resources_repo_hint_bitbucket","resources_repo_invalid","resources_create_invalid","resources_create_hint_label","resources_create_hint_github","resources_create_hint_gitlab","resources_create_hint_bitbucket","workspace_label","workspace_placeholder","workspace_hint","workspace_absolute_hint","workspace_not_found","workspace_checking","context_settings_title","context_settings_name","context_settings_provider","context_settings_repo","context_settings_repo_warning","context_settings_resources_warning","context_settings_name_warning","context_settings_provider_warning","context_settings_workspace","context_settings_auth","context_settings_token","context_settings_ssh","context_settings_save","context_settings_saving","context_settings_saved","context_settings_cancel","install_button","nav_summary","summary_title","summary_subtitle","summary_sync_button","summary_syncing","summary_context","summary_provider","summary_workspace","summary_resources","summary_assistants","summary_repositories","summary_no_repos","nav_overview","overview_title","overview_subtitle","overview_section_config","overview_section_resources","overview_section_deploy","overview_assistants_title","overview_assistants_desc","overview_repositories_title","overview_repositories_desc","overview_aicontext_title","overview_aicontext_desc","overview_templates_title","overview_templates_desc","overview_agents_title","overview_agents_desc","overview_skills_title","overview_skills_desc","overview_rules_title","overview_rules_desc","overview_hooks_title","overview_hooks_desc","overview_prompts_title","overview_prompts_desc","overview_mcps_title","overview_mcps_desc","overview_tools_title","overview_tools_desc","overview_summary_title","overview_summary_desc","assistant_enable","assistant_disable","assistant_enabled","assistant_toggling","assistants_repo_checking","assistants_repo_empty","assistants_repo_init_button","assistants_repo_initializing","assistants_repo_init_done","close","templates_install_sync","templates_installing","templates_installed","templates_preview","templates_resources_summary","marketplace_save_sync","marketplace_saving","marketplace_saved","marketplace_empty","marketplace_no_results","marketplace_search","theme_dark","theme_light","sync_button","sync_checking","sync_syncing","sync_up_to_date","sync_updated","nav_group_config","nav_workspace","workspace_page_title","workspace_page_subtitle","workspace_dir_status","workspace_col_path","workspace_col_status","workspace_status_ok","workspace_status_missing","workspace_status_synced","workspace_status_outdated","workspace_recreate_button","workspace_recreating","workspace_recreate_done","workspace_recreate_error","workspace_loading","workspace_custom_dirs_title","workspace_custom_dirs_subtitle","workspace_custom_repo_path","workspace_custom_local_path","workspace_custom_add","workspace_custom_remove","workspace_custom_save","workspace_custom_saving","workspace_custom_saved","workspace_custom_duplicate","workspace_custom_remove_dir","workspace_custom_remove_dir_confirm","assistants_section_info","assistant_has_selections","assistant_dirs_missing","assistant_dirs_create","assistant_dirs_creating","assistant_custom_mappings","workspace_custom_repo_placeholder","workspace_custom_local_placeholder","nav_group_final","nav_assistants","nav_repositories","nav_resources","nav_templates","nav_agents","nav_skills","nav_rules","nav_hooks","nav_prompts","nav_mcps","nav_tools","nav_contexts_res","assistants_title","assistants_subtitle","assistants_save","assistants_saving","repositories_title","repositories_subtitle","repositories_col_name","repositories_col_source","repositories_col_propagate","repositories_col_actions","repositories_remove","repositories_add_name","repositories_add_source","repositories_add_button","coming_soon","loading"],"mappings":"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"}
|
|
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
|
|
|
7
7
|
"static/chunks/0cz1d0mv5g_q7.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/SnkDJelPReEfZjEwaTtoy/_buildManifest.js",
|
|
11
|
+
"static/SnkDJelPReEfZjEwaTtoy/_ssgManifest.js",
|
|
12
|
+
"static/SnkDJelPReEfZjEwaTtoy/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/09ozbzi9hwcvp.js",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/2ygq6f6alc1cc.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/09ozbzi9hwcvp.js"/><script src="/_next/static/chunks/07-hzktxqjvzd.js" async=""></script><script src="/_next/static/chunks/2nykiepra7i1k.js" async=""></script><script src="/_next/static/chunks/0mk1g55o6kl1e.js" async=""></script><script src="/_next/static/chunks/turbopack-1is288wqzcv1i.js" async=""></script><script src="/_next/static/chunks/1rilc4b9q3--1.js" async=""></script><script src="/_next/static/chunks/14mrh2-p_w84d.js" async=""></script><meta name="robots" content="noindex"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><title>404: This page could not be found.</title><title>ai-frames</title><meta name="description" content="AI context manager for multi-repo workspaces"/><script>
|
|
2
2
|
try {
|
|
3
3
|
var t = localStorage.getItem('ai-frames_theme');
|
|
4
4
|
if (t === 'light' || t === 'dark') document.documentElement.setAttribute('data-theme', t);
|
|
5
5
|
} catch(e) {}
|
|
6
|
-
</script><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/09ozbzi9hwcvp.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[8093,[\"/_next/static/chunks/
|
|
6
|
+
</script><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/09ozbzi9hwcvp.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[8093,[\"/_next/static/chunks/1rilc4b9q3--1.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"ThemeProvider\"]\n3:I[91084,[\"/_next/static/chunks/1rilc4b9q3--1.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"LangProvider\"]\n4:I[39756,[\"/_next/static/chunks/1rilc4b9q3--1.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"default\"]\n5:I[37457,[\"/_next/static/chunks/1rilc4b9q3--1.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"default\"]\n6:I[97367,[\"/_next/static/chunks/1rilc4b9q3--1.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[97367,[\"/_next/static/chunks/1rilc4b9q3--1.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"ViewportBoundary\"]\nc:I[97367,[\"/_next/static/chunks/1rilc4b9q3--1.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"MetadataBoundary\"]\ne:I[68027,[\"/_next/static/chunks/1rilc4b9q3--1.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/2ygq6f6alc1cc.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2ygq6f6alc1cc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1rilc4b9q3--1.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/14mrh2-p_w84d.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n try {\\n var t = localStorage.getItem('ai-frames_theme');\\n if (t === 'light' || t === 'dark') document.documentElement.setAttribute('data-theme', t);\\n } catch(e) {}\\n \"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$@9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2ygq6f6alc1cc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"SnkDJelPReEfZjEwaTtoy\"}\n"])</script><script>self.__next_f.push([1,"f:[]\n9:\"$Wf\"\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"ai-frames\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI context manager for multi-repo workspaces\"}]]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/09ozbzi9hwcvp.js"/><script src="/_next/static/chunks/07-hzktxqjvzd.js" async=""></script><script src="/_next/static/chunks/2nykiepra7i1k.js" async=""></script><script src="/_next/static/chunks/0mk1g55o6kl1e.js" async=""></script><script src="/_next/static/chunks/turbopack-1is288wqzcv1i.js" async=""></script><script src="/_next/static/chunks/05-c3ty_6dwfk.js" async=""></script><script src="/_next/static/chunks/14mrh2-p_w84d.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/09ozbzi9hwcvp.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"
|
|
1
|
+
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/09ozbzi9hwcvp.js"/><script src="/_next/static/chunks/07-hzktxqjvzd.js" async=""></script><script src="/_next/static/chunks/2nykiepra7i1k.js" async=""></script><script src="/_next/static/chunks/0mk1g55o6kl1e.js" async=""></script><script src="/_next/static/chunks/turbopack-1is288wqzcv1i.js" async=""></script><script src="/_next/static/chunks/05-c3ty_6dwfk.js" async=""></script><script src="/_next/static/chunks/14mrh2-p_w84d.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/09ozbzi9hwcvp.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"SnkDJelPReEfZjEwaTtoy\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"8ajjkglP+TzKCldtCEWFAKjqVp2Blq5zbELpHyCXG9k=\"\n}"
|