claude-code-workflow 6.2.5 → 6.2.6
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/.claude/CLAUDE.md +10 -0
- package/.claude/agents/action-planning-agent.md +857 -0
- package/.claude/agents/cli-execution-agent.md +267 -0
- package/.claude/agents/cli-explore-agent.md +182 -0
- package/.claude/agents/cli-lite-planning-agent.md +446 -0
- package/.claude/agents/cli-planning-agent.md +558 -0
- package/.claude/agents/code-developer.md +311 -0
- package/.claude/agents/conceptual-planning-agent.md +308 -0
- package/.claude/agents/context-search-agent.md +581 -0
- package/.claude/agents/doc-generator.md +330 -0
- package/.claude/agents/memory-bridge.md +94 -0
- package/.claude/agents/test-context-search-agent.md +400 -0
- package/.claude/agents/test-fix-agent.md +344 -0
- package/.claude/agents/ui-design-agent.md +593 -0
- package/.claude/agents/universal-executor.md +131 -0
- package/.claude/commands/clean.md +516 -0
- package/.claude/commands/cli/cli-init.md +440 -0
- package/.claude/commands/enhance-prompt.md +93 -0
- package/.claude/commands/memory/code-map-memory.md +687 -0
- package/.claude/commands/memory/compact.md +383 -0
- package/.claude/commands/memory/docs-full-cli.md +471 -0
- package/.claude/commands/memory/docs-related-cli.md +386 -0
- package/.claude/commands/memory/docs.md +615 -0
- package/.claude/commands/memory/load-skill-memory.md +182 -0
- package/.claude/commands/memory/load.md +240 -0
- package/.claude/commands/memory/skill-memory.md +525 -0
- package/.claude/commands/memory/style-skill-memory.md +396 -0
- package/.claude/commands/memory/tech-research-rules.md +310 -0
- package/.claude/commands/memory/update-full.md +332 -0
- package/.claude/commands/memory/update-related.md +332 -0
- package/.claude/commands/memory/workflow-skill-memory.md +517 -0
- package/.claude/commands/task/breakdown.md +204 -0
- package/.claude/commands/task/create.md +152 -0
- package/.claude/commands/task/execute.md +270 -0
- package/.claude/commands/task/replan.md +437 -0
- package/.claude/commands/version.md +254 -0
- package/.claude/commands/workflow/action-plan-verify.md +447 -0
- package/.claude/commands/workflow/brainstorm/api-designer.md +587 -0
- package/.claude/commands/workflow/brainstorm/artifacts.md +453 -0
- package/.claude/commands/workflow/brainstorm/auto-parallel.md +443 -0
- package/.claude/commands/workflow/brainstorm/data-architect.md +220 -0
- package/.claude/commands/workflow/brainstorm/product-manager.md +200 -0
- package/.claude/commands/workflow/brainstorm/product-owner.md +200 -0
- package/.claude/commands/workflow/brainstorm/scrum-master.md +200 -0
- package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
- package/.claude/commands/workflow/brainstorm/synthesis.md +398 -0
- package/.claude/commands/workflow/brainstorm/system-architect.md +389 -0
- package/.claude/commands/workflow/brainstorm/ui-designer.md +221 -0
- package/.claude/commands/workflow/brainstorm/ux-expert.md +221 -0
- package/.claude/commands/workflow/debug.md +321 -0
- package/.claude/commands/workflow/execute.md +475 -0
- package/.claude/commands/workflow/init.md +165 -0
- package/.claude/commands/workflow/lite-execute.md +792 -0
- package/.claude/commands/workflow/lite-fix.md +623 -0
- package/.claude/commands/workflow/lite-plan.md +610 -0
- package/.claude/commands/workflow/plan.md +551 -0
- package/.claude/commands/workflow/replan.md +515 -0
- package/.claude/commands/workflow/review-fix.md +606 -0
- package/.claude/commands/workflow/review-module-cycle.md +767 -0
- package/.claude/commands/workflow/review-session-cycle.md +778 -0
- package/.claude/commands/workflow/review.md +297 -0
- package/.claude/commands/workflow/session/complete.md +153 -0
- package/.claude/commands/workflow/session/list.md +96 -0
- package/.claude/commands/workflow/session/resume.md +61 -0
- package/.claude/commands/workflow/session/start.md +200 -0
- package/.claude/commands/workflow/tdd-plan.md +460 -0
- package/.claude/commands/workflow/tdd-verify.md +400 -0
- package/.claude/commands/workflow/test-cycle-execute.md +500 -0
- package/.claude/commands/workflow/test-fix-gen.md +699 -0
- package/.claude/commands/workflow/test-gen.md +529 -0
- package/.claude/commands/workflow/tools/conflict-resolution.md +766 -0
- package/.claude/commands/workflow/tools/context-gather.md +436 -0
- package/.claude/commands/workflow/tools/task-generate-agent.md +490 -0
- package/.claude/commands/workflow/tools/task-generate-tdd.md +526 -0
- package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
- package/.claude/commands/workflow/tools/test-concept-enhanced.md +164 -0
- package/.claude/commands/workflow/tools/test-context-gather.md +236 -0
- package/.claude/commands/workflow/tools/test-task-generate.md +257 -0
- package/.claude/commands/workflow/ui-design/animation-extract.md +1150 -0
- package/.claude/commands/workflow/ui-design/codify-style.md +652 -0
- package/.claude/commands/workflow/ui-design/design-sync.md +454 -0
- package/.claude/commands/workflow/ui-design/explore-auto.md +678 -0
- package/.claude/commands/workflow/ui-design/generate.md +504 -0
- package/.claude/commands/workflow/ui-design/imitate-auto.md +745 -0
- package/.claude/commands/workflow/ui-design/import-from-code.md +540 -0
- package/.claude/commands/workflow/ui-design/layout-extract.md +788 -0
- package/.claude/commands/workflow/ui-design/reference-page-generator.md +356 -0
- package/.claude/commands/workflow/ui-design/style-extract.md +773 -0
- package/.claude/skills/command-guide/SKILL.md +388 -0
- package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +592 -0
- package/.claude/skills/command-guide/guides/cli-tools-guide.md +410 -0
- package/.claude/skills/command-guide/guides/examples.md +537 -0
- package/.claude/skills/command-guide/guides/getting-started.md +242 -0
- package/.claude/skills/command-guide/guides/implementation-details.md +1010 -0
- package/.claude/skills/command-guide/guides/index-structure.md +326 -0
- package/.claude/skills/command-guide/guides/troubleshooting.md +92 -0
- package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +316 -0
- package/.claude/skills/command-guide/guides/workflow-patterns.md +662 -0
- package/.claude/skills/command-guide/index/all-commands.json +772 -0
- package/.claude/skills/command-guide/index/by-category.json +800 -0
- package/.claude/skills/command-guide/index/by-use-case.json +786 -0
- package/.claude/skills/command-guide/index/command-relationships.json +307 -0
- package/.claude/skills/command-guide/index/essential-commands.json +112 -0
- package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +857 -0
- package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +267 -0
- package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +182 -0
- package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +446 -0
- package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +558 -0
- package/.claude/skills/command-guide/reference/agents/code-developer.md +311 -0
- package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +308 -0
- package/.claude/skills/command-guide/reference/agents/context-search-agent.md +581 -0
- package/.claude/skills/command-guide/reference/agents/doc-generator.md +330 -0
- package/.claude/skills/command-guide/reference/agents/memory-bridge.md +94 -0
- package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +400 -0
- package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +344 -0
- package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +593 -0
- package/.claude/skills/command-guide/reference/agents/universal-executor.md +131 -0
- package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +440 -0
- package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +93 -0
- package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +687 -0
- package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +471 -0
- package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +386 -0
- package/.claude/skills/command-guide/reference/commands/memory/docs.md +616 -0
- package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +182 -0
- package/.claude/skills/command-guide/reference/commands/memory/load.md +240 -0
- package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +525 -0
- package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +396 -0
- package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +314 -0
- package/.claude/skills/command-guide/reference/commands/memory/update-full.md +332 -0
- package/.claude/skills/command-guide/reference/commands/memory/update-related.md +332 -0
- package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +517 -0
- package/.claude/skills/command-guide/reference/commands/task/breakdown.md +204 -0
- package/.claude/skills/command-guide/reference/commands/task/create.md +152 -0
- package/.claude/skills/command-guide/reference/commands/task/execute.md +270 -0
- package/.claude/skills/command-guide/reference/commands/task/replan.md +437 -0
- package/.claude/skills/command-guide/reference/commands/version.md +254 -0
- package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +447 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +585 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +452 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +443 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +220 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +398 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +387 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +221 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +221 -0
- package/.claude/skills/command-guide/reference/commands/workflow/execute.md +465 -0
- package/.claude/skills/command-guide/reference/commands/workflow/init.md +164 -0
- package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +748 -0
- package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +664 -0
- package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +645 -0
- package/.claude/skills/command-guide/reference/commands/workflow/plan.md +551 -0
- package/.claude/skills/command-guide/reference/commands/workflow/replan.md +515 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +606 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +765 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +776 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review.md +298 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +547 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +114 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +77 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +257 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +460 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +400 -0
- package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +498 -0
- package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +699 -0
- package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +529 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +766 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +434 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +487 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +525 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +163 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +235 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +256 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +1150 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +652 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +454 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +678 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +504 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +745 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +537 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +788 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +356 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +773 -0
- package/.claude/skills/command-guide/scripts/analyze_commands.py +502 -0
- package/.claude/skills/command-guide/scripts/update-index.sh +130 -0
- package/.claude/skills/command-guide/templates/issue-bug.md +104 -0
- package/.claude/skills/command-guide/templates/issue-diagnosis.md +275 -0
- package/.claude/skills/command-guide/templates/issue-feature.md +97 -0
- package/.claude/skills/command-guide/templates/issue-question.md +141 -0
- package/.claude/skills/prompt-enhancer/SKILL.md +124 -0
- package/.claude/workflows/_template-compare-matrix.html +692 -0
- package/.claude/workflows/chinese-response.md +38 -0
- package/.claude/workflows/cli-templates/fix-plan-template.json +75 -0
- package/.claude/workflows/cli-templates/fix-progress-template.json +48 -0
- package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +299 -0
- package/.claude/workflows/cli-templates/planning-roles/data-architect.md +120 -0
- package/.claude/workflows/cli-templates/planning-roles/product-manager.md +119 -0
- package/.claude/workflows/cli-templates/planning-roles/product-owner.md +261 -0
- package/.claude/workflows/cli-templates/planning-roles/scrum-master.md +186 -0
- package/.claude/workflows/cli-templates/planning-roles/subject-matter-expert.md +281 -0
- package/.claude/workflows/cli-templates/planning-roles/synthesis-role.md +414 -0
- package/.claude/workflows/cli-templates/planning-roles/system-architect.md +106 -0
- package/.claude/workflows/cli-templates/planning-roles/test-strategist.md +124 -0
- package/.claude/workflows/cli-templates/planning-roles/ui-designer.md +379 -0
- package/.claude/workflows/cli-templates/planning-roles/ux-expert.md +240 -0
- package/.claude/workflows/cli-templates/prompts/analysis/01-diagnose-bug-root-cause.txt +127 -0
- package/.claude/workflows/cli-templates/prompts/analysis/01-trace-code-execution.txt +115 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt +37 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-technical-document.txt +33 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-review-architecture.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-review-code-quality.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/analysis/03-analyze-performance.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/analysis/03-assess-security-risks.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/analysis/03-review-quality-standards.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/development/02-generate-tests.txt +70 -0
- package/.claude/workflows/cli-templates/prompts/development/02-implement-component-ui.txt +55 -0
- package/.claude/workflows/cli-templates/prompts/development/02-implement-feature.txt +58 -0
- package/.claude/workflows/cli-templates/prompts/development/02-refactor-codebase.txt +55 -0
- package/.claude/workflows/cli-templates/prompts/development/03-debug-runtime-issues.txt +55 -0
- package/.claude/workflows/cli-templates/prompts/documentation/api.txt +15 -0
- package/.claude/workflows/cli-templates/prompts/documentation/folder-navigation.txt +27 -0
- package/.claude/workflows/cli-templates/prompts/documentation/module-readme.txt +49 -0
- package/.claude/workflows/cli-templates/prompts/documentation/project-architecture.txt +41 -0
- package/.claude/workflows/cli-templates/prompts/documentation/project-examples.txt +35 -0
- package/.claude/workflows/cli-templates/prompts/documentation/project-readme.txt +35 -0
- package/.claude/workflows/cli-templates/prompts/memory/02-document-module-structure.txt +165 -0
- package/.claude/workflows/cli-templates/prompts/planning/01-plan-architecture-design.txt +109 -0
- package/.claude/workflows/cli-templates/prompts/planning/02-breakdown-task-steps.txt +30 -0
- package/.claude/workflows/cli-templates/prompts/planning/02-design-component-spec.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/planning/03-evaluate-concept-feasibility.txt +127 -0
- package/.claude/workflows/cli-templates/prompts/planning/03-plan-migration-strategy.txt +30 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-api.txt +122 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-components.txt +122 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-config.txt +89 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-core.txt +60 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-patterns.txt +70 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-testing.txt +81 -0
- package/.claude/workflows/cli-templates/prompts/rules/tech-rules-agent-prompt.txt +89 -0
- package/.claude/workflows/cli-templates/prompts/tech/tech-module-format.txt +359 -0
- package/.claude/workflows/cli-templates/prompts/tech/tech-skill-index.txt +185 -0
- package/.claude/workflows/cli-templates/prompts/test/test-concept-analysis.txt +179 -0
- package/.claude/workflows/cli-templates/prompts/universal/00-universal-creative-style.txt +95 -0
- package/.claude/workflows/cli-templates/prompts/universal/00-universal-rigorous-style.txt +92 -0
- package/.claude/workflows/cli-templates/prompts/verification/codex-technical.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/verification/cross-validation.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/verification/gemini-strategic.txt +27 -0
- package/.claude/workflows/cli-templates/prompts/workflow/analysis-results-structure.txt +224 -0
- package/.claude/workflows/cli-templates/prompts/workflow/codex-feasibility-validation.txt +176 -0
- package/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt +131 -0
- package/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt +286 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-aggregation.txt +172 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-conflict-patterns.txt +94 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-index.txt +224 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-lessons-learned.txt +94 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-sessions-timeline.txt +53 -0
- package/.claude/workflows/cli-templates/prompts/workflow/task-json-agent-mode.txt +123 -0
- package/.claude/workflows/cli-templates/prompts/workflow/task-json-cli-mode.txt +182 -0
- package/.claude/workflows/cli-templates/protocols/analysis-protocol.md +112 -0
- package/.claude/workflows/cli-templates/protocols/write-protocol.md +201 -0
- package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +137 -0
- package/.claude/workflows/cli-templates/schemas/debug-log-json-schema.json +127 -0
- package/.claude/workflows/cli-templates/schemas/diagnosis-json-schema.json +234 -0
- package/.claude/workflows/cli-templates/schemas/explore-json-schema.json +124 -0
- package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +298 -0
- package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +244 -0
- package/.claude/workflows/cli-templates/schemas/project-json-schema.json +221 -0
- package/.claude/workflows/cli-templates/schemas/review-deep-dive-results-schema.json +82 -0
- package/.claude/workflows/cli-templates/schemas/review-dimension-results-schema.json +51 -0
- package/.claude/workflows/cli-templates/tech-stacks/go-dev.md +91 -0
- package/.claude/workflows/cli-templates/tech-stacks/java-dev.md +107 -0
- package/.claude/workflows/cli-templates/tech-stacks/javascript-dev.md +58 -0
- package/.claude/workflows/cli-templates/tech-stacks/python-dev.md +79 -0
- package/.claude/workflows/cli-templates/tech-stacks/react-dev.md +103 -0
- package/.claude/workflows/cli-templates/tech-stacks/typescript-dev.md +83 -0
- package/.claude/workflows/cli-templates/ui-design/systems/animation-tokens.json +247 -0
- package/.claude/workflows/cli-templates/ui-design/systems/design-tokens.json +342 -0
- package/.claude/workflows/cli-templates/ui-design/systems/layout-templates.json +145 -0
- package/.claude/workflows/cli-tools-usage.md +526 -0
- package/.claude/workflows/coding-philosophy.md +70 -0
- package/.claude/workflows/context-tools.md +84 -0
- package/.claude/workflows/file-modification.md +64 -0
- package/.claude/workflows/review-directory-specification.md +336 -0
- package/.claude/workflows/task-core.md +214 -0
- package/.claude/workflows/tool-strategy.md +216 -0
- package/.claude/workflows/windows-platform.md +16 -0
- package/.claude/workflows/workflow-architecture.md +942 -0
- package/.codex/AGENTS.md +63 -0
- package/.codex/prompts/debug.md +318 -0
- package/.codex/prompts/execute.md +273 -0
- package/.codex/prompts/lite-execute.md +164 -0
- package/.codex/prompts/lite-plan.md +469 -0
- package/.codex/prompts.zip +0 -0
- package/.gemini/GEMINI.md +25 -0
- package/.qwen/QWEN.md +25 -0
- package/LICENSE +21 -0
- package/README.md +294 -145
- package/ccw/README.md +145 -0
- package/ccw/dist/core/lite-scanner-complete.d.ts.map +1 -0
- package/ccw/dist/core/lite-scanner-complete.js +371 -0
- package/ccw/dist/core/lite-scanner-complete.js.map +1 -0
- package/ccw/dist/core/lite-scanner.d.ts.map +1 -0
- package/ccw/dist/core/lite-scanner.js +371 -0
- package/ccw/dist/core/lite-scanner.js.map +1 -0
- package/ccw/dist/core/routes/claude-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/claude-routes.js +1015 -0
- package/ccw/dist/core/routes/claude-routes.js.map +1 -0
- package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/cli-routes.js +469 -0
- package/ccw/dist/core/routes/cli-routes.js.map +1 -0
- package/ccw/dist/core/routes/rules-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/rules-routes.js +443 -0
- package/ccw/dist/core/routes/rules-routes.js.map +1 -0
- package/ccw/dist/core/routes/skills-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/skills-routes.js +651 -0
- package/ccw/dist/core/routes/skills-routes.js.map +1 -0
- package/ccw/dist/tools/cli-executor.d.ts +376 -0
- package/ccw/dist/tools/cli-executor.d.ts.map +1 -0
- package/ccw/dist/tools/cli-executor.js +1677 -0
- package/ccw/dist/tools/cli-executor.js.map +1 -0
- package/ccw/package.json +65 -0
- package/ccw/src/core/lite-scanner-complete.ts +473 -0
- package/ccw/src/core/lite-scanner.ts +473 -0
- package/ccw/src/core/routes/claude-routes.ts +1181 -0
- package/ccw/src/core/routes/cli-routes.ts +562 -0
- package/ccw/src/core/routes/rules-routes.ts +527 -0
- package/ccw/src/core/routes/skills-routes.ts +737 -0
- package/ccw/src/templates/dashboard-js/i18n.js +2969 -0
- package/ccw/src/templates/dashboard-js/views/claude-manager.js +926 -0
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +2274 -0
- package/ccw/src/templates/dashboard-js/views/rules-manager.js +857 -0
- package/ccw/src/templates/dashboard-js/views/skills-manager.js +1183 -0
- package/ccw/src/tools/cli-executor.ts +2082 -0
- package/codex-lens/pyproject.toml +66 -0
- package/codex-lens/src/codexlens/.workflow/.cli-history/history.db +0 -0
- package/codex-lens/src/codexlens/__init__.py +28 -0
- package/codex-lens/src/codexlens/__main__.py +14 -0
- package/codex-lens/src/codexlens/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/__main__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__init__.py +27 -0
- package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/commands.py +1931 -0
- package/codex-lens/src/codexlens/cli/embedding_manager.py +620 -0
- package/codex-lens/src/codexlens/cli/model_manager.py +311 -0
- package/codex-lens/src/codexlens/cli/output.py +124 -0
- package/codex-lens/src/codexlens/config.py +201 -0
- package/codex-lens/src/codexlens/entities.py +121 -0
- package/codex-lens/src/codexlens/errors.py +55 -0
- package/codex-lens/src/codexlens/indexing/README.md +77 -0
- package/codex-lens/src/codexlens/indexing/__init__.py +4 -0
- package/codex-lens/src/codexlens/indexing/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/indexing/__pycache__/symbol_extractor.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/indexing/symbol_extractor.py +243 -0
- package/codex-lens/src/codexlens/parsers/__init__.py +8 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/encoding.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/encoding.py +202 -0
- package/codex-lens/src/codexlens/parsers/factory.py +256 -0
- package/codex-lens/src/codexlens/parsers/tokenizer.py +98 -0
- package/codex-lens/src/codexlens/parsers/treesitter_parser.py +335 -0
- package/codex-lens/src/codexlens/search/__init__.py +15 -0
- package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/enrichment.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/query_parser.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/chain_search.py +647 -0
- package/codex-lens/src/codexlens/search/enrichment.py +150 -0
- package/codex-lens/src/codexlens/search/hybrid_search.py +313 -0
- package/codex-lens/src/codexlens/search/query_parser.py +242 -0
- package/codex-lens/src/codexlens/search/ranking.py +274 -0
- package/codex-lens/src/codexlens/semantic/__init__.py +76 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/code_extractor.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/graph_analyzer.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/llm_enhancer.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/ollama_backend.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/ann_index.py +414 -0
- package/codex-lens/src/codexlens/semantic/chunker.py +448 -0
- package/codex-lens/src/codexlens/semantic/code_extractor.py +274 -0
- package/codex-lens/src/codexlens/semantic/embedder.py +244 -0
- package/codex-lens/src/codexlens/semantic/gpu_support.py +192 -0
- package/codex-lens/src/codexlens/semantic/vector_store.py +955 -0
- package/codex-lens/src/codexlens/storage/__init__.py +29 -0
- package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/file_cache.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/migration_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/dir_index.py +1850 -0
- package/codex-lens/src/codexlens/storage/file_cache.py +32 -0
- package/codex-lens/src/codexlens/storage/index_tree.py +776 -0
- package/codex-lens/src/codexlens/storage/migration_manager.py +154 -0
- package/codex-lens/src/codexlens/storage/migrations/__init__.py +1 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_001_normalize_keywords.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_002_add_token_metadata.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_003_code_relationships.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_004_dual_fts.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_005_cleanup_unused_fields.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_001_normalize_keywords.py +123 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_002_add_token_metadata.py +48 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_004_dual_fts.py +232 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_005_cleanup_unused_fields.py +196 -0
- package/codex-lens/src/codexlens/storage/path_mapper.py +274 -0
- package/codex-lens/src/codexlens/storage/registry.py +670 -0
- package/codex-lens/src/codexlens/storage/sqlite_store.py +576 -0
- package/codex-lens/src/codexlens/storage/sqlite_utils.py +64 -0
- package/package.json +36 -28
- package/dist/core/lite-scanner-complete.d.ts.map +0 -1
- package/dist/core/lite-scanner-complete.js +0 -368
- package/dist/core/lite-scanner-complete.js.map +0 -1
- package/dist/core/lite-scanner.d.ts.map +0 -1
- package/dist/core/lite-scanner.js +0 -368
- package/dist/core/lite-scanner.js.map +0 -1
- package/dist/core/routes/claude-routes.d.ts.map +0 -1
- package/dist/core/routes/claude-routes.js +0 -1017
- package/dist/core/routes/claude-routes.js.map +0 -1
- package/dist/core/routes/cli-routes.d.ts.map +0 -1
- package/dist/core/routes/cli-routes.js +0 -468
- package/dist/core/routes/cli-routes.js.map +0 -1
- package/dist/core/routes/rules-routes.d.ts.map +0 -1
- package/dist/core/routes/rules-routes.js +0 -442
- package/dist/core/routes/rules-routes.js.map +0 -1
- package/dist/core/routes/skills-routes.d.ts.map +0 -1
- package/dist/core/routes/skills-routes.js +0 -533
- package/dist/core/routes/skills-routes.js.map +0 -1
- package/dist/tools/cli-executor.d.ts +0 -373
- package/dist/tools/cli-executor.d.ts.map +0 -1
- package/dist/tools/cli-executor.js +0 -1625
- package/dist/tools/cli-executor.js.map +0 -1
- package/src/core/lite-scanner-complete.ts +0 -469
- package/src/core/lite-scanner.ts +0 -469
- package/src/core/routes/claude-routes.ts +0 -1183
- package/src/core/routes/cli-routes.ts +0 -561
- package/src/core/routes/rules-routes.ts +0 -526
- package/src/core/routes/skills-routes.ts +0 -599
- package/src/templates/dashboard-js/i18n.js +0 -2963
- package/src/templates/dashboard-js/views/claude-manager.js +0 -912
- package/src/templates/dashboard-js/views/cli-manager.js +0 -2272
- package/src/templates/dashboard-js/views/rules-manager.js +0 -828
- package/src/templates/dashboard-js/views/skills-manager.js +0 -819
- package/src/tools/cli-executor.ts +0 -2014
- /package/{bin → ccw/bin}/ccw-mcp.js +0 -0
- /package/{bin → ccw/bin}/ccw.js +0 -0
- /package/{dist → ccw/dist}/cli.d.ts +0 -0
- /package/{dist → ccw/dist}/cli.d.ts.map +0 -0
- /package/{dist → ccw/dist}/cli.js +0 -0
- /package/{dist → ccw/dist}/cli.js.map +0 -0
- /package/{dist → ccw/dist}/commands/cli.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/cli.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/cli.js +0 -0
- /package/{dist → ccw/dist}/commands/cli.js.map +0 -0
- /package/{dist → ccw/dist}/commands/core-memory.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/core-memory.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/core-memory.js +0 -0
- /package/{dist → ccw/dist}/commands/core-memory.js.map +0 -0
- /package/{dist → ccw/dist}/commands/hook.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/hook.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/hook.js +0 -0
- /package/{dist → ccw/dist}/commands/hook.js.map +0 -0
- /package/{dist → ccw/dist}/commands/install.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/install.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/install.js +0 -0
- /package/{dist → ccw/dist}/commands/install.js.map +0 -0
- /package/{dist → ccw/dist}/commands/list.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/list.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/list.js +0 -0
- /package/{dist → ccw/dist}/commands/list.js.map +0 -0
- /package/{dist → ccw/dist}/commands/memory.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/memory.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/memory.js +0 -0
- /package/{dist → ccw/dist}/commands/memory.js.map +0 -0
- /package/{dist → ccw/dist}/commands/serve.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/serve.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/serve.js +0 -0
- /package/{dist → ccw/dist}/commands/serve.js.map +0 -0
- /package/{dist → ccw/dist}/commands/session-path-resolver.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/session-path-resolver.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/session-path-resolver.js +0 -0
- /package/{dist → ccw/dist}/commands/session-path-resolver.js.map +0 -0
- /package/{dist → ccw/dist}/commands/session.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/session.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/session.js +0 -0
- /package/{dist → ccw/dist}/commands/session.js.map +0 -0
- /package/{dist → ccw/dist}/commands/stop.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/stop.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/stop.js +0 -0
- /package/{dist → ccw/dist}/commands/stop.js.map +0 -0
- /package/{dist → ccw/dist}/commands/tool.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/tool.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/tool.js +0 -0
- /package/{dist → ccw/dist}/commands/tool.js.map +0 -0
- /package/{dist → ccw/dist}/commands/uninstall.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/uninstall.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/uninstall.js +0 -0
- /package/{dist → ccw/dist}/commands/uninstall.js.map +0 -0
- /package/{dist → ccw/dist}/commands/upgrade.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/upgrade.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/upgrade.js +0 -0
- /package/{dist → ccw/dist}/commands/upgrade.js.map +0 -0
- /package/{dist → ccw/dist}/commands/view.d.ts +0 -0
- /package/{dist → ccw/dist}/commands/view.d.ts.map +0 -0
- /package/{dist → ccw/dist}/commands/view.js +0 -0
- /package/{dist → ccw/dist}/commands/view.js.map +0 -0
- /package/{dist → ccw/dist}/config/storage-paths.d.ts +0 -0
- /package/{dist → ccw/dist}/config/storage-paths.d.ts.map +0 -0
- /package/{dist → ccw/dist}/config/storage-paths.js +0 -0
- /package/{dist → ccw/dist}/config/storage-paths.js.map +0 -0
- /package/{dist → ccw/dist}/core/cache-manager.d.ts +0 -0
- /package/{dist → ccw/dist}/core/cache-manager.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/cache-manager.js +0 -0
- /package/{dist → ccw/dist}/core/cache-manager.js.map +0 -0
- /package/{dist → ccw/dist}/core/claude-freshness.d.ts +0 -0
- /package/{dist → ccw/dist}/core/claude-freshness.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/claude-freshness.js +0 -0
- /package/{dist → ccw/dist}/core/claude-freshness.js.map +0 -0
- /package/{dist → ccw/dist}/core/core-memory-store.d.ts +0 -0
- /package/{dist → ccw/dist}/core/core-memory-store.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/core-memory-store.js +0 -0
- /package/{dist → ccw/dist}/core/core-memory-store.js.map +0 -0
- /package/{dist → ccw/dist}/core/dashboard-generator-patch.d.ts +0 -0
- /package/{dist → ccw/dist}/core/dashboard-generator-patch.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/dashboard-generator-patch.js +0 -0
- /package/{dist → ccw/dist}/core/dashboard-generator-patch.js.map +0 -0
- /package/{dist → ccw/dist}/core/dashboard-generator.d.ts +0 -0
- /package/{dist → ccw/dist}/core/dashboard-generator.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/dashboard-generator.js +0 -0
- /package/{dist → ccw/dist}/core/dashboard-generator.js.map +0 -0
- /package/{dist → ccw/dist}/core/data-aggregator.d.ts +0 -0
- /package/{dist → ccw/dist}/core/data-aggregator.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/data-aggregator.js +0 -0
- /package/{dist → ccw/dist}/core/data-aggregator.js.map +0 -0
- /package/{dist → ccw/dist}/core/history-importer.d.ts +0 -0
- /package/{dist → ccw/dist}/core/history-importer.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/history-importer.js +0 -0
- /package/{dist → ccw/dist}/core/history-importer.js.map +0 -0
- /package/{dist → ccw/dist}/core/lite-scanner-complete.d.ts +0 -0
- /package/{dist → ccw/dist}/core/lite-scanner.d.ts +0 -0
- /package/{dist → ccw/dist}/core/manifest.d.ts +0 -0
- /package/{dist → ccw/dist}/core/manifest.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/manifest.js +0 -0
- /package/{dist → ccw/dist}/core/manifest.js.map +0 -0
- /package/{dist → ccw/dist}/core/memory-embedder-bridge.d.ts +0 -0
- /package/{dist → ccw/dist}/core/memory-embedder-bridge.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/memory-embedder-bridge.js +0 -0
- /package/{dist → ccw/dist}/core/memory-embedder-bridge.js.map +0 -0
- /package/{dist → ccw/dist}/core/memory-store.d.ts +0 -0
- /package/{dist → ccw/dist}/core/memory-store.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/memory-store.js +0 -0
- /package/{dist → ccw/dist}/core/memory-store.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/ccw-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/ccw-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/ccw-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/ccw-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/claude-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/cli-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/codexlens-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/codexlens-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/codexlens-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/codexlens-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/core-memory-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/core-memory-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/core-memory-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/core-memory-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/files-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/files-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/files-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/files-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/graph-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/graph-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/graph-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/graph-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/help-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/help-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/help-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/help-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/hooks-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/hooks-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/hooks-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/hooks-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/mcp-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/mcp-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/mcp-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/mcp-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/mcp-templates-db.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/mcp-templates-db.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/mcp-templates-db.js +0 -0
- /package/{dist → ccw/dist}/core/routes/mcp-templates-db.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/memory-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/memory-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/memory-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/memory-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/rules-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/session-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/session-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/session-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/session-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/skills-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/status-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/status-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/status-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/status-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/routes/system-routes.d.ts +0 -0
- /package/{dist → ccw/dist}/core/routes/system-routes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/routes/system-routes.js +0 -0
- /package/{dist → ccw/dist}/core/routes/system-routes.js.map +0 -0
- /package/{dist → ccw/dist}/core/server.d.ts +0 -0
- /package/{dist → ccw/dist}/core/server.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/server.js +0 -0
- /package/{dist → ccw/dist}/core/server.js.map +0 -0
- /package/{dist → ccw/dist}/core/session-clustering-service.d.ts +0 -0
- /package/{dist → ccw/dist}/core/session-clustering-service.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/session-clustering-service.js +0 -0
- /package/{dist → ccw/dist}/core/session-clustering-service.js.map +0 -0
- /package/{dist → ccw/dist}/core/session-scanner.d.ts +0 -0
- /package/{dist → ccw/dist}/core/session-scanner.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/session-scanner.js +0 -0
- /package/{dist → ccw/dist}/core/session-scanner.js.map +0 -0
- /package/{dist → ccw/dist}/core/websocket.d.ts +0 -0
- /package/{dist → ccw/dist}/core/websocket.d.ts.map +0 -0
- /package/{dist → ccw/dist}/core/websocket.js +0 -0
- /package/{dist → ccw/dist}/core/websocket.js.map +0 -0
- /package/{dist → ccw/dist}/index.d.ts +0 -0
- /package/{dist → ccw/dist}/index.d.ts.map +0 -0
- /package/{dist → ccw/dist}/index.js +0 -0
- /package/{dist → ccw/dist}/index.js.map +0 -0
- /package/{dist → ccw/dist}/mcp-server/index.d.ts +0 -0
- /package/{dist → ccw/dist}/mcp-server/index.d.ts.map +0 -0
- /package/{dist → ccw/dist}/mcp-server/index.js +0 -0
- /package/{dist → ccw/dist}/mcp-server/index.js.map +0 -0
- /package/{dist → ccw/dist}/tools/classify-folders.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/classify-folders.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/classify-folders.js +0 -0
- /package/{dist → ccw/dist}/tools/classify-folders.js.map +0 -0
- /package/{dist → ccw/dist}/tools/cli-config-manager.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/cli-config-manager.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/cli-config-manager.js +0 -0
- /package/{dist → ccw/dist}/tools/cli-config-manager.js.map +0 -0
- /package/{dist → ccw/dist}/tools/cli-history-store.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/cli-history-store.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/cli-history-store.js +0 -0
- /package/{dist → ccw/dist}/tools/cli-history-store.js.map +0 -0
- /package/{dist → ccw/dist}/tools/codex-lens.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/codex-lens.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/codex-lens.js +0 -0
- /package/{dist → ccw/dist}/tools/codex-lens.js.map +0 -0
- /package/{dist → ccw/dist}/tools/convert-tokens-to-css.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/convert-tokens-to-css.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/convert-tokens-to-css.js +0 -0
- /package/{dist → ccw/dist}/tools/convert-tokens-to-css.js.map +0 -0
- /package/{dist → ccw/dist}/tools/core-memory.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/core-memory.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/core-memory.js +0 -0
- /package/{dist → ccw/dist}/tools/core-memory.js.map +0 -0
- /package/{dist → ccw/dist}/tools/detect-changed-modules.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/detect-changed-modules.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/detect-changed-modules.js +0 -0
- /package/{dist → ccw/dist}/tools/detect-changed-modules.js.map +0 -0
- /package/{dist → ccw/dist}/tools/discover-design-files.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/discover-design-files.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/discover-design-files.js +0 -0
- /package/{dist → ccw/dist}/tools/discover-design-files.js.map +0 -0
- /package/{dist → ccw/dist}/tools/edit-file.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/edit-file.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/edit-file.js +0 -0
- /package/{dist → ccw/dist}/tools/edit-file.js.map +0 -0
- /package/{dist → ccw/dist}/tools/generate-module-docs.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/generate-module-docs.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/generate-module-docs.js +0 -0
- /package/{dist → ccw/dist}/tools/generate-module-docs.js.map +0 -0
- /package/{dist → ccw/dist}/tools/get-modules-by-depth.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/get-modules-by-depth.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/get-modules-by-depth.js +0 -0
- /package/{dist → ccw/dist}/tools/get-modules-by-depth.js.map +0 -0
- /package/{dist → ccw/dist}/tools/index.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/index.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/index.js +0 -0
- /package/{dist → ccw/dist}/tools/index.js.map +0 -0
- /package/{dist → ccw/dist}/tools/native-session-discovery.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/native-session-discovery.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/native-session-discovery.js +0 -0
- /package/{dist → ccw/dist}/tools/native-session-discovery.js.map +0 -0
- /package/{dist → ccw/dist}/tools/notifier.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/notifier.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/notifier.js +0 -0
- /package/{dist → ccw/dist}/tools/notifier.js.map +0 -0
- /package/{dist → ccw/dist}/tools/read-file.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/read-file.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/read-file.js +0 -0
- /package/{dist → ccw/dist}/tools/read-file.js.map +0 -0
- /package/{dist → ccw/dist}/tools/resume-strategy.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/resume-strategy.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/resume-strategy.js +0 -0
- /package/{dist → ccw/dist}/tools/resume-strategy.js.map +0 -0
- /package/{dist → ccw/dist}/tools/session-content-parser.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/session-content-parser.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/session-content-parser.js +0 -0
- /package/{dist → ccw/dist}/tools/session-content-parser.js.map +0 -0
- /package/{dist → ccw/dist}/tools/session-manager.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/session-manager.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/session-manager.js +0 -0
- /package/{dist → ccw/dist}/tools/session-manager.js.map +0 -0
- /package/{dist → ccw/dist}/tools/smart-context.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/smart-context.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/smart-context.js +0 -0
- /package/{dist → ccw/dist}/tools/smart-context.js.map +0 -0
- /package/{dist → ccw/dist}/tools/smart-search.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/smart-search.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/smart-search.js +0 -0
- /package/{dist → ccw/dist}/tools/smart-search.js.map +0 -0
- /package/{dist → ccw/dist}/tools/storage-manager.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/storage-manager.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/storage-manager.js +0 -0
- /package/{dist → ccw/dist}/tools/storage-manager.js.map +0 -0
- /package/{dist → ccw/dist}/tools/ui-generate-preview.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/ui-generate-preview.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/ui-generate-preview.js +0 -0
- /package/{dist → ccw/dist}/tools/ui-generate-preview.js.map +0 -0
- /package/{dist → ccw/dist}/tools/ui-instantiate-prototypes.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/ui-instantiate-prototypes.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/ui-instantiate-prototypes.js +0 -0
- /package/{dist → ccw/dist}/tools/ui-instantiate-prototypes.js.map +0 -0
- /package/{dist → ccw/dist}/tools/update-module-claude.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/update-module-claude.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/update-module-claude.js +0 -0
- /package/{dist → ccw/dist}/tools/update-module-claude.js.map +0 -0
- /package/{dist → ccw/dist}/tools/write-file.d.ts +0 -0
- /package/{dist → ccw/dist}/tools/write-file.d.ts.map +0 -0
- /package/{dist → ccw/dist}/tools/write-file.js +0 -0
- /package/{dist → ccw/dist}/tools/write-file.js.map +0 -0
- /package/{dist → ccw/dist}/types/config.d.ts +0 -0
- /package/{dist → ccw/dist}/types/config.d.ts.map +0 -0
- /package/{dist → ccw/dist}/types/config.js +0 -0
- /package/{dist → ccw/dist}/types/config.js.map +0 -0
- /package/{dist → ccw/dist}/types/index.d.ts +0 -0
- /package/{dist → ccw/dist}/types/index.d.ts.map +0 -0
- /package/{dist → ccw/dist}/types/index.js +0 -0
- /package/{dist → ccw/dist}/types/index.js.map +0 -0
- /package/{dist → ccw/dist}/types/session.d.ts +0 -0
- /package/{dist → ccw/dist}/types/session.d.ts.map +0 -0
- /package/{dist → ccw/dist}/types/session.js +0 -0
- /package/{dist → ccw/dist}/types/session.js.map +0 -0
- /package/{dist → ccw/dist}/types/tool.d.ts +0 -0
- /package/{dist → ccw/dist}/types/tool.d.ts.map +0 -0
- /package/{dist → ccw/dist}/types/tool.js +0 -0
- /package/{dist → ccw/dist}/types/tool.js.map +0 -0
- /package/{dist → ccw/dist}/utils/browser-launcher.d.ts +0 -0
- /package/{dist → ccw/dist}/utils/browser-launcher.d.ts.map +0 -0
- /package/{dist → ccw/dist}/utils/browser-launcher.js +0 -0
- /package/{dist → ccw/dist}/utils/browser-launcher.js.map +0 -0
- /package/{dist → ccw/dist}/utils/file-utils.d.ts +0 -0
- /package/{dist → ccw/dist}/utils/file-utils.d.ts.map +0 -0
- /package/{dist → ccw/dist}/utils/file-utils.js +0 -0
- /package/{dist → ccw/dist}/utils/file-utils.js.map +0 -0
- /package/{dist → ccw/dist}/utils/path-resolver.d.ts +0 -0
- /package/{dist → ccw/dist}/utils/path-resolver.d.ts.map +0 -0
- /package/{dist → ccw/dist}/utils/path-resolver.js +0 -0
- /package/{dist → ccw/dist}/utils/path-resolver.js.map +0 -0
- /package/{dist → ccw/dist}/utils/path-validator.d.ts +0 -0
- /package/{dist → ccw/dist}/utils/path-validator.d.ts.map +0 -0
- /package/{dist → ccw/dist}/utils/path-validator.js +0 -0
- /package/{dist → ccw/dist}/utils/path-validator.js.map +0 -0
- /package/{dist → ccw/dist}/utils/ui.d.ts +0 -0
- /package/{dist → ccw/dist}/utils/ui.d.ts.map +0 -0
- /package/{dist → ccw/dist}/utils/ui.js +0 -0
- /package/{dist → ccw/dist}/utils/ui.js.map +0 -0
- /package/{src → ccw/src}/.workflow/.cli-history/history.db +0 -0
- /package/{src → ccw/src}/.workflow/.cli-history/history.db-shm +0 -0
- /package/{src → ccw/src}/.workflow/.cli-history/history.db-wal +0 -0
- /package/{src → ccw/src}/cli.ts +0 -0
- /package/{src → ccw/src}/commands/cli.ts +0 -0
- /package/{src → ccw/src}/commands/core-memory.ts +0 -0
- /package/{src → ccw/src}/commands/hook.ts +0 -0
- /package/{src → ccw/src}/commands/install.ts +0 -0
- /package/{src → ccw/src}/commands/list.ts +0 -0
- /package/{src → ccw/src}/commands/memory.ts +0 -0
- /package/{src → ccw/src}/commands/serve.ts +0 -0
- /package/{src → ccw/src}/commands/session-path-resolver.ts +0 -0
- /package/{src → ccw/src}/commands/session.ts +0 -0
- /package/{src → ccw/src}/commands/stop.ts +0 -0
- /package/{src → ccw/src}/commands/tool.ts +0 -0
- /package/{src → ccw/src}/commands/uninstall.ts +0 -0
- /package/{src → ccw/src}/commands/upgrade.ts +0 -0
- /package/{src → ccw/src}/commands/view.ts +0 -0
- /package/{src → ccw/src}/config/storage-paths.ts +0 -0
- /package/{src → ccw/src}/core/cache-manager.ts +0 -0
- /package/{src → ccw/src}/core/claude-freshness.ts +0 -0
- /package/{src → ccw/src}/core/core-memory-store.ts +0 -0
- /package/{src → ccw/src}/core/dashboard-generator-patch.ts +0 -0
- /package/{src → ccw/src}/core/dashboard-generator.ts +0 -0
- /package/{src → ccw/src}/core/data-aggregator.ts +0 -0
- /package/{src → ccw/src}/core/history-importer.ts +0 -0
- /package/{src → ccw/src}/core/manifest.ts +0 -0
- /package/{src → ccw/src}/core/memory-embedder-bridge.ts +0 -0
- /package/{src → ccw/src}/core/memory-store.ts +0 -0
- /package/{src → ccw/src}/core/routes/ccw-routes.ts +0 -0
- /package/{src → ccw/src}/core/routes/codexlens-routes.ts +0 -0
- /package/{src → ccw/src}/core/routes/core-memory-routes.ts +0 -0
- /package/{src → ccw/src}/core/routes/files-routes.ts +0 -0
- /package/{src → ccw/src}/core/routes/graph-routes.md +0 -0
- /package/{src → ccw/src}/core/routes/graph-routes.ts +0 -0
- /package/{src → ccw/src}/core/routes/help-routes.ts +0 -0
- /package/{src → ccw/src}/core/routes/hooks-routes.ts +0 -0
- /package/{src → ccw/src}/core/routes/mcp-routes.ts +0 -0
- /package/{src → ccw/src}/core/routes/mcp-routes.ts.backup +0 -0
- /package/{src → ccw/src}/core/routes/mcp-templates-db.ts +0 -0
- /package/{src → ccw/src}/core/routes/memory-routes.ts +0 -0
- /package/{src → ccw/src}/core/routes/session-routes.ts +0 -0
- /package/{src → ccw/src}/core/routes/status-routes.ts +0 -0
- /package/{src → ccw/src}/core/routes/system-routes.ts +0 -0
- /package/{src → ccw/src}/core/server.ts +0 -0
- /package/{src → ccw/src}/core/session-clustering-service.ts +0 -0
- /package/{src → ccw/src}/core/session-scanner.ts +0 -0
- /package/{src → ccw/src}/core/websocket.ts +0 -0
- /package/{src → ccw/src}/index.ts +0 -0
- /package/{src → ccw/src}/mcp-server/index.ts +0 -0
- /package/{src → ccw/src}/templates/assets/css/github-dark.min.css +0 -0
- /package/{src → ccw/src}/templates/assets/css/github.min.css +0 -0
- /package/{src → ccw/src}/templates/assets/js/cytoscape.min.js +0 -0
- /package/{src → ccw/src}/templates/assets/js/d3.min.js +0 -0
- /package/{src → ccw/src}/templates/assets/js/highlight.min.js +0 -0
- /package/{src → ccw/src}/templates/assets/js/lucide.min.js +0 -0
- /package/{src → ccw/src}/templates/assets/js/marked.min.js +0 -0
- /package/{src → ccw/src}/templates/assets/js/tailwind.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/01-base.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/02-session.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/03-tasks.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/04-lite-tasks.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/05-context.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/06-cards.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/07-managers.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/08-review.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/09-explorer.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/10-cli-status.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/11-cli-history.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/12-cli-legacy.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/13-cli-ccw.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/14-cli-modals.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/15-cli-endpoints.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/16-cli-session.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/17-cli-conversation.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/18-cli-settings.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/19-cli-native-session.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/20-cli-taskqueue.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/21-cli-toolmgmt.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/22-cli-semantic.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/23-memory.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/24-prompt-history.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/25-skills-rules.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/26-claude-manager.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/27-graph-explorer.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/28-mcp-manager.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/29-help.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-css/30-core-memory.css +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/api.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/_conflict_tab.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/_exp_helpers.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/_review_tab.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/carousel.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/cli-history.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/cli-status.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/flowchart.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/global-notifications.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/hook-manager.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/index-manager.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/mcp-manager.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/modals.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/navigation.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/notifications.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/sidebar.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/storage-manager.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/tabs-context.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/tabs-other.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/task-drawer-core.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/task-drawer-renderers.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/task-queue-sidebar.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/theme.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/components/version-check.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/help-i18n.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/main.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/state.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/utils.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/codexlens-manager.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/core-memory-clusters.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/core-memory.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/explorer.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/fix-session.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/graph-explorer.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/help.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/history.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/home.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/hook-manager.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/lite-tasks.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/mcp-manager.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/mcp-manager.js.backup +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/mcp-manager.js.new +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/memory.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/project-overview.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/prompt-history.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/review-session.js +0 -0
- /package/{src → ccw/src}/templates/dashboard-js/views/session-detail.js +0 -0
- /package/{src → ccw/src}/templates/dashboard.html +0 -0
- /package/{src → ccw/src}/templates/hooks-config-example.json +0 -0
- /package/{src → ccw/src}/templates/review-cycle-dashboard.html +0 -0
- /package/{src → ccw/src}/templates/workflow-dashboard.html +0 -0
- /package/{src → ccw/src}/tools/classify-folders.ts +0 -0
- /package/{src → ccw/src}/tools/cli-config-manager.ts +0 -0
- /package/{src → ccw/src}/tools/cli-history-store.ts +0 -0
- /package/{src → ccw/src}/tools/codex-lens.ts +0 -0
- /package/{src → ccw/src}/tools/convert-tokens-to-css.ts +0 -0
- /package/{src → ccw/src}/tools/core-memory.ts +0 -0
- /package/{src → ccw/src}/tools/detect-changed-modules.ts +0 -0
- /package/{src → ccw/src}/tools/discover-design-files.ts +0 -0
- /package/{src → ccw/src}/tools/edit-file.ts +0 -0
- /package/{src → ccw/src}/tools/generate-module-docs.ts +0 -0
- /package/{src → ccw/src}/tools/get-modules-by-depth.ts +0 -0
- /package/{src → ccw/src}/tools/index.ts +0 -0
- /package/{src → ccw/src}/tools/native-session-discovery.ts +0 -0
- /package/{src → ccw/src}/tools/notifier.ts +0 -0
- /package/{src → ccw/src}/tools/read-file.ts +0 -0
- /package/{src → ccw/src}/tools/resume-strategy.ts +0 -0
- /package/{src → ccw/src}/tools/session-content-parser.ts +0 -0
- /package/{src → ccw/src}/tools/session-manager.ts +0 -0
- /package/{src → ccw/src}/tools/smart-context.ts +0 -0
- /package/{src → ccw/src}/tools/smart-search.ts +0 -0
- /package/{src → ccw/src}/tools/smart-search.ts.backup +0 -0
- /package/{src → ccw/src}/tools/storage-manager.ts +0 -0
- /package/{src → ccw/src}/tools/ui-generate-preview.js +0 -0
- /package/{src → ccw/src}/tools/ui-instantiate-prototypes.js +0 -0
- /package/{src → ccw/src}/tools/update-module-claude.js +0 -0
- /package/{src → ccw/src}/tools/write-file.ts +0 -0
- /package/{src → ccw/src}/types/config.ts +0 -0
- /package/{src → ccw/src}/types/index.ts +0 -0
- /package/{src → ccw/src}/types/session.ts +0 -0
- /package/{src → ccw/src}/types/tool.ts +0 -0
- /package/{src → ccw/src}/utils/browser-launcher.ts +0 -0
- /package/{src → ccw/src}/utils/file-utils.ts +0 -0
- /package/{src → ccw/src}/utils/path-resolver.ts +0 -0
- /package/{src → ccw/src}/utils/path-validator.ts +0 -0
- /package/{src → ccw/src}/utils/ui.ts +0 -0
|
@@ -0,0 +1,2969 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// I18N - Internationalization Module
|
|
3
|
+
// ============================================
|
|
4
|
+
// Supports English and Chinese (Simplified)
|
|
5
|
+
|
|
6
|
+
// Current language (default: detect from browser or use 'en')
|
|
7
|
+
let currentLang = 'en';
|
|
8
|
+
|
|
9
|
+
// Translation dictionaries
|
|
10
|
+
const i18n = {
|
|
11
|
+
en: {
|
|
12
|
+
// App title and brand
|
|
13
|
+
'app.title': 'CCW Dashboard',
|
|
14
|
+
'app.brand': 'Claude Code Workflow',
|
|
15
|
+
|
|
16
|
+
// Common
|
|
17
|
+
'common.view': 'View',
|
|
18
|
+
'common.edit': 'Edit',
|
|
19
|
+
'common.delete': 'Delete',
|
|
20
|
+
'common.cancel': 'Cancel',
|
|
21
|
+
'common.save': 'Save',
|
|
22
|
+
'common.close': 'Close',
|
|
23
|
+
'common.loading': 'Loading...',
|
|
24
|
+
'common.error': 'Error',
|
|
25
|
+
'common.success': 'Success',
|
|
26
|
+
'common.retry': 'Retry',
|
|
27
|
+
'common.refresh': 'Refresh',
|
|
28
|
+
'common.minutes': 'minutes',
|
|
29
|
+
|
|
30
|
+
// Header
|
|
31
|
+
'header.project': 'Project:',
|
|
32
|
+
'header.recentProjects': 'Recent Projects',
|
|
33
|
+
'header.browse': 'Browse...',
|
|
34
|
+
'header.refreshWorkspace': 'Refresh workspace',
|
|
35
|
+
'header.toggleTheme': 'Toggle theme',
|
|
36
|
+
'header.language': 'Language',
|
|
37
|
+
|
|
38
|
+
// Sidebar - Project section
|
|
39
|
+
'nav.project': 'Project',
|
|
40
|
+
'nav.overview': 'Overview',
|
|
41
|
+
'nav.explorer': 'Explorer',
|
|
42
|
+
'nav.status': 'Status',
|
|
43
|
+
'nav.history': 'History',
|
|
44
|
+
'nav.memory': 'Memory',
|
|
45
|
+
'nav.contextMemory': 'Context',
|
|
46
|
+
'nav.coreMemory': 'Core Memory',
|
|
47
|
+
'nav.promptHistory': 'Prompts',
|
|
48
|
+
|
|
49
|
+
// Sidebar - Sessions section
|
|
50
|
+
'nav.sessions': 'Sessions',
|
|
51
|
+
'nav.all': 'All',
|
|
52
|
+
'nav.active': 'Active',
|
|
53
|
+
'nav.archived': 'Archived',
|
|
54
|
+
|
|
55
|
+
// Sidebar - Lite Tasks section
|
|
56
|
+
'nav.liteTasks': 'Lite Tasks',
|
|
57
|
+
'nav.litePlan': 'Lite Plan',
|
|
58
|
+
'nav.liteFix': 'Lite Fix',
|
|
59
|
+
|
|
60
|
+
// Sidebar - MCP section
|
|
61
|
+
'nav.mcpServers': 'MCP Servers',
|
|
62
|
+
'nav.manage': 'Manage',
|
|
63
|
+
|
|
64
|
+
// Sidebar - Hooks section
|
|
65
|
+
'nav.hooks': 'Hooks',
|
|
66
|
+
|
|
67
|
+
// Sidebar - Footer
|
|
68
|
+
'nav.collapse': 'Collapse',
|
|
69
|
+
'nav.expand': 'Expand',
|
|
70
|
+
|
|
71
|
+
// Stats cards
|
|
72
|
+
'stats.totalSessions': 'Total Sessions',
|
|
73
|
+
'stats.activeSessions': 'Active Sessions',
|
|
74
|
+
'stats.totalTasks': 'Total Tasks',
|
|
75
|
+
'stats.completedTasks': 'Completed Tasks',
|
|
76
|
+
|
|
77
|
+
// Carousel
|
|
78
|
+
'carousel.noActiveSessions': 'No active sessions',
|
|
79
|
+
'carousel.previous': 'Previous',
|
|
80
|
+
'carousel.next': 'Next',
|
|
81
|
+
'carousel.pause': 'Pause auto-play',
|
|
82
|
+
|
|
83
|
+
// Content titles
|
|
84
|
+
'title.allSessions': 'All Sessions',
|
|
85
|
+
'title.activeSessions': 'Active Sessions',
|
|
86
|
+
'title.archivedSessions': 'Archived Sessions',
|
|
87
|
+
'title.sessions': 'Sessions',
|
|
88
|
+
'title.projectOverview': 'Project Overview',
|
|
89
|
+
'title.mcpManagement': 'MCP Server Management',
|
|
90
|
+
'title.fileExplorer': 'File Explorer',
|
|
91
|
+
'title.cliTools': 'CLI Tools & CCW',
|
|
92
|
+
'title.cliHistory': 'CLI Execution History',
|
|
93
|
+
'title.litePlanSessions': 'Lite Plan Sessions',
|
|
94
|
+
'title.liteFixSessions': 'Lite Fix Sessions',
|
|
95
|
+
'title.liteTasks': 'Lite Tasks',
|
|
96
|
+
'title.sessionDetail': 'Session Detail',
|
|
97
|
+
'title.liteTaskDetail': 'Lite Task Detail',
|
|
98
|
+
'title.hookManager': 'Hook Manager',
|
|
99
|
+
'title.memoryModule': 'Memory Module',
|
|
100
|
+
'title.promptHistory': 'Prompt History',
|
|
101
|
+
|
|
102
|
+
// Search
|
|
103
|
+
'search.placeholder': 'Search...',
|
|
104
|
+
|
|
105
|
+
// Session cards - 3 states: planning, active, completed (archived location)
|
|
106
|
+
'session.status.active': 'ACTIVE',
|
|
107
|
+
'session.status.archived': 'ARCHIVED',
|
|
108
|
+
'session.status.planning': 'PLANNING',
|
|
109
|
+
'session.tasks': 'tasks',
|
|
110
|
+
'session.findings': 'findings',
|
|
111
|
+
'session.dimensions': 'dimensions',
|
|
112
|
+
'session.progress': 'Progress',
|
|
113
|
+
|
|
114
|
+
// Empty states
|
|
115
|
+
'empty.noSessions': 'No Sessions Found',
|
|
116
|
+
'empty.noSessionsText': 'No workflow sessions match your current filter.',
|
|
117
|
+
'empty.noTasks': 'No Tasks',
|
|
118
|
+
'empty.noTasksText': 'This session has no tasks defined.',
|
|
119
|
+
'empty.noTaskFiles': 'No Task Files',
|
|
120
|
+
'empty.noTaskFilesText': 'No IMPL-*.json files found in .task/',
|
|
121
|
+
'empty.noLiteSessions': 'No {type} Sessions',
|
|
122
|
+
'empty.noLiteSessionsText': 'No sessions found in .workflow/.{type}/',
|
|
123
|
+
'empty.noMcpServers': 'No MCP servers configured for this project',
|
|
124
|
+
'empty.addMcpServersHint': 'Add servers from the available list below',
|
|
125
|
+
'empty.noGlobalMcpServers': 'No global MCP servers configured',
|
|
126
|
+
'empty.globalServersHint': 'Global servers are available to all projects from ~/.claude.json',
|
|
127
|
+
'empty.noAdditionalMcp': 'No additional MCP servers found in other projects',
|
|
128
|
+
'empty.noHooks': 'No hooks configured for this project',
|
|
129
|
+
'empty.createHookHint': 'Create a hook to automate actions on tool usage',
|
|
130
|
+
'empty.noGlobalHooks': 'No global hooks configured',
|
|
131
|
+
'empty.globalHooksHint': 'Global hooks apply to all Claude Code sessions',
|
|
132
|
+
'empty.noDiagnoses': 'No Diagnoses',
|
|
133
|
+
'empty.noDiagnosesText': 'No diagnosis-*.json files found for this session.',
|
|
134
|
+
|
|
135
|
+
// Session detail tabs
|
|
136
|
+
'tab.tasks': 'Tasks',
|
|
137
|
+
'tab.context': 'Context',
|
|
138
|
+
'tab.summary': 'Summary',
|
|
139
|
+
'tab.implPlan': 'IMPL Plan',
|
|
140
|
+
'tab.conflict': 'Conflict',
|
|
141
|
+
'tab.review': 'Review',
|
|
142
|
+
'tab.plan': 'Plan',
|
|
143
|
+
'tab.diagnoses': 'Diagnoses',
|
|
144
|
+
|
|
145
|
+
// Session detail
|
|
146
|
+
'detail.backToSessions': 'Back to Sessions',
|
|
147
|
+
'detail.backToLiteTasks': 'Back to {type}',
|
|
148
|
+
'detail.created': 'Created:',
|
|
149
|
+
'detail.archived': 'Archived:',
|
|
150
|
+
'detail.project': 'Project:',
|
|
151
|
+
'detail.tasks': 'Tasks:',
|
|
152
|
+
'detail.completed': 'completed',
|
|
153
|
+
|
|
154
|
+
// Task status
|
|
155
|
+
'task.status.pending': 'Pending',
|
|
156
|
+
'task.status.inProgress': 'In Progress',
|
|
157
|
+
'task.status.completed': 'Completed',
|
|
158
|
+
'task.completed': 'completed',
|
|
159
|
+
'task.inProgress': 'in progress',
|
|
160
|
+
'task.pending': 'pending',
|
|
161
|
+
|
|
162
|
+
// Task actions
|
|
163
|
+
'task.quickActions': 'Quick Actions:',
|
|
164
|
+
'task.allPending': 'All Pending',
|
|
165
|
+
'task.allInProgress': 'All In Progress',
|
|
166
|
+
'task.allCompleted': 'All Completed',
|
|
167
|
+
'task.setAllConfirm': 'Set all {count} tasks to "{status}"?',
|
|
168
|
+
'task.statusUpdated': 'Task {id} status updated',
|
|
169
|
+
'task.tasksUpdated': 'All {count} tasks updated',
|
|
170
|
+
'task.noPendingTasks': 'No pending tasks to start',
|
|
171
|
+
'task.noInProgressTasks': 'No in-progress tasks to complete',
|
|
172
|
+
'task.movedToInProgress': '{count} tasks moved to In Progress',
|
|
173
|
+
'task.tasksCompleted': '{count} tasks completed',
|
|
174
|
+
|
|
175
|
+
// Context tab
|
|
176
|
+
'context.description': 'description:',
|
|
177
|
+
'context.requirements': 'requirements:',
|
|
178
|
+
'context.focusPaths': 'focus_paths:',
|
|
179
|
+
'context.modificationPoints': 'modification_points:',
|
|
180
|
+
'context.acceptance': 'acceptance:',
|
|
181
|
+
'context.noData': 'No context data',
|
|
182
|
+
'context.loading': 'Loading context data...',
|
|
183
|
+
'context.loadError': 'Failed to load context: {error}',
|
|
184
|
+
|
|
185
|
+
// Flow control
|
|
186
|
+
'flow.implementationApproach': 'implementation_approach:',
|
|
187
|
+
'flow.preAnalysis': 'pre_analysis:',
|
|
188
|
+
'flow.targetFiles': 'target_files:',
|
|
189
|
+
'flow.noData': 'No flow control data',
|
|
190
|
+
|
|
191
|
+
// Summary tab
|
|
192
|
+
'summary.loading': 'Loading summaries...',
|
|
193
|
+
'summary.title': 'Summaries',
|
|
194
|
+
'summary.hint': 'Session summaries will be loaded from .summaries/',
|
|
195
|
+
'summary.noSummaries': 'No Summaries',
|
|
196
|
+
'summary.noSummariesText': 'No summaries found in .summaries/',
|
|
197
|
+
|
|
198
|
+
// IMPL Plan tab
|
|
199
|
+
'implPlan.loading': 'Loading IMPL plan...',
|
|
200
|
+
'implPlan.title': 'IMPL Plan',
|
|
201
|
+
'implPlan.hint': 'IMPL plan will be loaded from IMPL_PLAN.md',
|
|
202
|
+
|
|
203
|
+
// Review tab
|
|
204
|
+
'review.loading': 'Loading review data...',
|
|
205
|
+
'review.title': 'Review Data',
|
|
206
|
+
'review.hint': 'Review data will be loaded from review files',
|
|
207
|
+
|
|
208
|
+
// CLI Manager
|
|
209
|
+
'cli.tools': 'CLI Tools',
|
|
210
|
+
'cli.available': 'available',
|
|
211
|
+
'cli.refreshStatus': 'Refresh Status',
|
|
212
|
+
'cli.ready': 'Ready',
|
|
213
|
+
'cli.notInstalled': 'Not Installed',
|
|
214
|
+
'cli.setDefault': 'Set Default',
|
|
215
|
+
'cli.default': 'Default',
|
|
216
|
+
'cli.install': 'Install',
|
|
217
|
+
'cli.uninstall': 'Uninstall',
|
|
218
|
+
'cli.initIndex': 'Init Index',
|
|
219
|
+
'cli.geminiDesc': 'Google AI for code analysis',
|
|
220
|
+
'cli.qwenDesc': 'Alibaba AI assistant',
|
|
221
|
+
'cli.codexDesc': 'OpenAI code generation',
|
|
222
|
+
'cli.codexLensDesc': 'Code indexing & FTS search',
|
|
223
|
+
'cli.codexLensDescFull': 'Full-text code search engine',
|
|
224
|
+
'cli.semanticDesc': 'AI-powered code understanding',
|
|
225
|
+
'cli.semanticDescFull': 'Natural language code search',
|
|
226
|
+
|
|
227
|
+
// CodexLens Configuration
|
|
228
|
+
'codexlens.config': 'CodexLens Configuration',
|
|
229
|
+
'codexlens.status': 'Status',
|
|
230
|
+
'codexlens.installed': 'Installed',
|
|
231
|
+
'codexlens.notInstalled': 'Not Installed',
|
|
232
|
+
'codexlens.indexes': 'Indexes',
|
|
233
|
+
'codexlens.currentWorkspace': 'Current Workspace',
|
|
234
|
+
'codexlens.indexStoragePath': 'Index Storage Path',
|
|
235
|
+
'codexlens.whereIndexesStored': 'where indexes are stored',
|
|
236
|
+
'codexlens.currentPath': 'Current Path',
|
|
237
|
+
'codexlens.newStoragePath': 'New Storage Path',
|
|
238
|
+
'codexlens.pathPlaceholder': 'e.g., /path/to/indexes or ~/.codexlens/indexes',
|
|
239
|
+
'codexlens.pathInfo': 'Supports ~ for home directory. Changes take effect immediately.',
|
|
240
|
+
'codexlens.migrationRequired': 'Migration Required',
|
|
241
|
+
'codexlens.migrationWarning': 'After changing the path, existing indexes will need to be re-initialized for each workspace.',
|
|
242
|
+
'codexlens.actions': 'Actions',
|
|
243
|
+
'codexlens.initializeIndex': 'Initialize Index',
|
|
244
|
+
'codexlens.cleanCurrentWorkspace': 'Clean Current Workspace',
|
|
245
|
+
'codexlens.cleanAllIndexes': 'Clean All Indexes',
|
|
246
|
+
'codexlens.installCodexLens': 'Install CodexLens',
|
|
247
|
+
'codexlens.testSearch': 'Test Search',
|
|
248
|
+
'codexlens.testFunctionality': 'test CodexLens functionality',
|
|
249
|
+
'codexlens.textSearch': 'Text Search',
|
|
250
|
+
'codexlens.fileSearch': 'File Search',
|
|
251
|
+
'codexlens.symbolSearch': 'Symbol Search',
|
|
252
|
+
'codexlens.exactMode': 'Exact',
|
|
253
|
+
'codexlens.fuzzyMode': 'Fuzzy (Trigram)',
|
|
254
|
+
'codexlens.hybridMode': 'Hybrid (RRF)',
|
|
255
|
+
'codexlens.vectorMode': 'Vector (Semantic)',
|
|
256
|
+
'codexlens.searchPlaceholder': 'Enter search query (e.g., function name, file path, code snippet)',
|
|
257
|
+
'codexlens.runSearch': 'Run Search',
|
|
258
|
+
'codexlens.results': 'Results',
|
|
259
|
+
'codexlens.resultsCount': 'results',
|
|
260
|
+
'codexlens.saveConfig': 'Save Configuration',
|
|
261
|
+
'codexlens.searching': 'Searching...',
|
|
262
|
+
'codexlens.searchCompleted': 'Search completed',
|
|
263
|
+
'codexlens.searchFailed': 'Search failed',
|
|
264
|
+
'codexlens.enterQuery': 'Please enter a search query',
|
|
265
|
+
'codexlens.configSaved': 'Configuration saved successfully',
|
|
266
|
+
'codexlens.pathEmpty': 'Index directory path cannot be empty',
|
|
267
|
+
'codexlens.cleanConfirm': 'Are you sure you want to clean all CodexLens indexes? This cannot be undone.',
|
|
268
|
+
'codexlens.cleanCurrentWorkspaceConfirm': 'Are you sure you want to clean the current workspace index? This cannot be undone.',
|
|
269
|
+
'codexlens.cleaning': 'Cleaning indexes...',
|
|
270
|
+
'codexlens.cleanSuccess': 'All indexes cleaned successfully',
|
|
271
|
+
'codexlens.cleanCurrentWorkspaceSuccess': 'Current workspace index cleaned successfully',
|
|
272
|
+
'codexlens.cleanFailed': 'Failed to clean indexes',
|
|
273
|
+
'codexlens.loadingConfig': 'Loading configuration...',
|
|
274
|
+
|
|
275
|
+
// Model Management
|
|
276
|
+
'codexlens.semanticDeps': 'Semantic Dependencies',
|
|
277
|
+
'codexlens.checkingDeps': 'Checking dependencies...',
|
|
278
|
+
'codexlens.semanticInstalled': 'Semantic dependencies installed',
|
|
279
|
+
'codexlens.semanticNotInstalled': 'Semantic dependencies not installed',
|
|
280
|
+
'codexlens.installDeps': 'Install Dependencies',
|
|
281
|
+
'codexlens.installDepsPrompt': 'Would you like to install them now? (This may take a few minutes)\n\nClick "Cancel" to create FTS index only.',
|
|
282
|
+
'codexlens.installingDeps': 'Installing dependencies...',
|
|
283
|
+
'codexlens.installingMode': 'Installing with',
|
|
284
|
+
'codexlens.depsInstalled': 'Dependencies installed successfully',
|
|
285
|
+
'codexlens.depsInstallFailed': 'Failed to install dependencies',
|
|
286
|
+
|
|
287
|
+
// GPU Mode Selection
|
|
288
|
+
'codexlens.selectGpuMode': 'Select acceleration mode',
|
|
289
|
+
'codexlens.cpuModeDesc': 'Standard CPU processing',
|
|
290
|
+
'codexlens.directmlModeDesc': 'Windows GPU (NVIDIA/AMD/Intel)',
|
|
291
|
+
'codexlens.cudaModeDesc': 'NVIDIA GPU (requires CUDA Toolkit)',
|
|
292
|
+
'common.recommended': 'Recommended',
|
|
293
|
+
'common.unavailable': 'Unavailable',
|
|
294
|
+
'codexlens.modelManagement': 'Model Management',
|
|
295
|
+
'codexlens.loadingModels': 'Loading models...',
|
|
296
|
+
'codexlens.downloadModel': 'Download',
|
|
297
|
+
'codexlens.deleteModel': 'Delete',
|
|
298
|
+
'codexlens.downloading': 'Downloading...',
|
|
299
|
+
'codexlens.deleting': 'Deleting...',
|
|
300
|
+
'codexlens.modelDownloaded': 'Model downloaded',
|
|
301
|
+
'codexlens.modelDownloadFailed': 'Model download failed',
|
|
302
|
+
'codexlens.modelDeleted': 'Model deleted',
|
|
303
|
+
'codexlens.modelDeleteFailed': 'Model deletion failed',
|
|
304
|
+
'codexlens.deleteModelConfirm': 'Are you sure you want to delete model',
|
|
305
|
+
'codexlens.modelListError': 'Failed to load models',
|
|
306
|
+
'codexlens.noModelsAvailable': 'No models available',
|
|
307
|
+
|
|
308
|
+
// Model Download Progress
|
|
309
|
+
'codexlens.downloadingModel': 'Downloading',
|
|
310
|
+
'codexlens.connectingToHuggingFace': 'Connecting to Hugging Face...',
|
|
311
|
+
'codexlens.downloadTimeEstimate': 'Estimated time',
|
|
312
|
+
'codexlens.manualDownloadHint': 'Manual download',
|
|
313
|
+
'codexlens.downloadingModelFiles': 'Downloading model files...',
|
|
314
|
+
'codexlens.downloadingWeights': 'Downloading model weights...',
|
|
315
|
+
'codexlens.downloadingTokenizer': 'Downloading tokenizer...',
|
|
316
|
+
'codexlens.verifyingModel': 'Verifying model...',
|
|
317
|
+
'codexlens.finalizingDownload': 'Finalizing...',
|
|
318
|
+
'codexlens.downloadComplete': 'Download complete!',
|
|
319
|
+
'codexlens.downloadFailed': 'Download failed',
|
|
320
|
+
'codexlens.manualDownloadOptions': 'Manual download options',
|
|
321
|
+
'codexlens.cliDownload': 'CLI',
|
|
322
|
+
'codexlens.huggingfaceDownload': 'Hugging Face',
|
|
323
|
+
'codexlens.downloadCanceled': 'Download canceled',
|
|
324
|
+
|
|
325
|
+
// Manual Download Guide
|
|
326
|
+
'codexlens.manualDownloadGuide': 'Manual Download Guide',
|
|
327
|
+
'codexlens.cliMethod': 'Command Line (Recommended)',
|
|
328
|
+
'codexlens.cliMethodDesc': 'Run in terminal with progress display:',
|
|
329
|
+
'codexlens.pythonMethod': 'Python Script',
|
|
330
|
+
'codexlens.pythonMethodDesc': 'Pre-download model using Python:',
|
|
331
|
+
'codexlens.hfHubMethod': 'Hugging Face Hub CLI',
|
|
332
|
+
'codexlens.hfHubMethodDesc': 'Download using huggingface-cli with resume support:',
|
|
333
|
+
'codexlens.modelLinks': 'Direct Model Links',
|
|
334
|
+
'codexlens.cacheLocation': 'Model Storage Location',
|
|
335
|
+
'common.copied': 'Copied to clipboard',
|
|
336
|
+
|
|
337
|
+
// CodexLens Indexing Progress
|
|
338
|
+
'codexlens.indexing': 'Indexing',
|
|
339
|
+
'codexlens.indexingDesc': 'Building code index for workspace',
|
|
340
|
+
'codexlens.preparingIndex': 'Preparing index...',
|
|
341
|
+
'codexlens.filesProcessed': 'Files processed',
|
|
342
|
+
'codexlens.indexComplete': 'Index complete',
|
|
343
|
+
'codexlens.indexSuccess': 'Index created successfully',
|
|
344
|
+
'codexlens.indexFailed': 'Indexing failed',
|
|
345
|
+
|
|
346
|
+
// CodexLens Install
|
|
347
|
+
'codexlens.installDesc': 'Python-based code indexing engine',
|
|
348
|
+
'codexlens.whatWillBeInstalled': 'What will be installed:',
|
|
349
|
+
'codexlens.pythonVenv': 'Python virtual environment',
|
|
350
|
+
'codexlens.pythonVenvDesc': 'Isolated Python environment',
|
|
351
|
+
'codexlens.codexlensPackage': 'CodexLens package',
|
|
352
|
+
'codexlens.codexlensPackageDesc': 'Code indexing and search engine',
|
|
353
|
+
'codexlens.sqliteFtsDesc': 'Full-text search database',
|
|
354
|
+
'codexlens.installLocation': 'Installation Location',
|
|
355
|
+
'codexlens.installTime': 'First installation may take 2-3 minutes to download and setup Python packages.',
|
|
356
|
+
'codexlens.startingInstall': 'Starting installation...',
|
|
357
|
+
'codexlens.installing': 'Installing...',
|
|
358
|
+
'codexlens.creatingVenv': 'Creating virtual environment...',
|
|
359
|
+
'codexlens.installingPip': 'Installing pip packages...',
|
|
360
|
+
'codexlens.installingPackage': 'Installing CodexLens package...',
|
|
361
|
+
'codexlens.settingUpDeps': 'Setting up Python dependencies...',
|
|
362
|
+
'codexlens.installComplete': 'Installation complete!',
|
|
363
|
+
'codexlens.installSuccess': 'CodexLens installed successfully!',
|
|
364
|
+
'codexlens.installNow': 'Install Now',
|
|
365
|
+
'codexlens.accelerator': 'Accelerator',
|
|
366
|
+
|
|
367
|
+
// CodexLens Uninstall
|
|
368
|
+
'codexlens.uninstall': 'Uninstall',
|
|
369
|
+
'codexlens.uninstallDesc': 'Remove CodexLens and all data',
|
|
370
|
+
'codexlens.whatWillBeRemoved': 'What will be removed:',
|
|
371
|
+
'codexlens.removeVenv': 'Virtual environment at ~/.codexlens/venv',
|
|
372
|
+
'codexlens.removeData': 'All CodexLens indexed data and databases',
|
|
373
|
+
'codexlens.removeConfig': 'Configuration and semantic search models',
|
|
374
|
+
'codexlens.removing': 'Removing files...',
|
|
375
|
+
'codexlens.uninstalling': 'Uninstalling...',
|
|
376
|
+
'codexlens.removingVenv': 'Removing virtual environment...',
|
|
377
|
+
'codexlens.removingData': 'Deleting indexed data...',
|
|
378
|
+
'codexlens.removingConfig': 'Cleaning up configuration...',
|
|
379
|
+
'codexlens.finalizing': 'Finalizing removal...',
|
|
380
|
+
'codexlens.uninstallComplete': 'Uninstallation complete!',
|
|
381
|
+
'codexlens.uninstallSuccess': 'CodexLens uninstalled successfully!',
|
|
382
|
+
|
|
383
|
+
// Index Manager
|
|
384
|
+
'index.manager': 'Index Manager',
|
|
385
|
+
'index.projects': 'Projects',
|
|
386
|
+
'index.totalSize': 'Total Size',
|
|
387
|
+
'index.vectorIndexes': 'Vector',
|
|
388
|
+
'index.ftsIndexes': 'FTS',
|
|
389
|
+
'index.projectId': 'Project ID',
|
|
390
|
+
'index.size': 'Size',
|
|
391
|
+
'index.type': 'Type',
|
|
392
|
+
'index.lastModified': 'Modified',
|
|
393
|
+
'index.vector': 'Vector',
|
|
394
|
+
'index.fts': 'FTS',
|
|
395
|
+
'index.noIndexes': 'No indexes yet',
|
|
396
|
+
'index.notConfigured': 'Not configured',
|
|
397
|
+
'index.initCurrent': 'Init Current Project',
|
|
398
|
+
'index.cleanAll': 'Clean All',
|
|
399
|
+
'index.cleanProject': 'Clean Index',
|
|
400
|
+
'index.cleanProjectConfirm': 'Clean index for',
|
|
401
|
+
'index.cleaning': 'Cleaning index...',
|
|
402
|
+
'index.cleanSuccess': 'Index cleaned successfully',
|
|
403
|
+
'index.cleanFailed': 'Clean failed',
|
|
404
|
+
'index.cleanAllConfirm': 'Are you sure you want to clean ALL indexes? This cannot be undone.',
|
|
405
|
+
'index.cleanAllSuccess': 'All indexes cleaned',
|
|
406
|
+
'index.vectorIndex': 'Vector',
|
|
407
|
+
'index.normalIndex': 'FTS',
|
|
408
|
+
'index.fullIndex': 'Full Index',
|
|
409
|
+
'index.vectorDesc': 'Semantic search with embeddings',
|
|
410
|
+
'index.normalDesc': 'Fast full-text search only',
|
|
411
|
+
'index.fullDesc': 'FTS + Semantic search (recommended)',
|
|
412
|
+
'index.selectModel': 'Select embedding model',
|
|
413
|
+
'index.modelCode': 'Code (768d)',
|
|
414
|
+
'index.modelBase': 'Base (768d)',
|
|
415
|
+
'index.modelFast': 'Fast (384d)',
|
|
416
|
+
'index.modelMinilm': 'MiniLM (384d)',
|
|
417
|
+
'index.modelMultilingual': 'Multilingual (1024d) ⚠️',
|
|
418
|
+
'index.modelBalanced': 'Balanced (1024d) ⚠️',
|
|
419
|
+
'index.dimensionWarning': '1024d models require more resources',
|
|
420
|
+
|
|
421
|
+
// Semantic Search Configuration
|
|
422
|
+
'semantic.settings': 'Semantic Search Settings',
|
|
423
|
+
'semantic.testSearch': 'Test Semantic Search',
|
|
424
|
+
'semantic.searchPlaceholder': 'Enter semantic query (e.g., authentication logic, error handling)',
|
|
425
|
+
'semantic.runSearch': 'Run Semantic Search',
|
|
426
|
+
'semantic.close': 'Close',
|
|
427
|
+
|
|
428
|
+
'cli.settings': 'Settings',
|
|
429
|
+
|
|
430
|
+
// Language Settings
|
|
431
|
+
'lang.settings': 'Response Language',
|
|
432
|
+
'lang.settingsDesc': 'Configure Claude response language preference',
|
|
433
|
+
'lang.chinese': 'Chinese Response',
|
|
434
|
+
'lang.chineseDesc': 'Enable Chinese response guidelines in global CLAUDE.md',
|
|
435
|
+
'lang.enabled': 'Enabled',
|
|
436
|
+
'lang.disabled': 'Disabled',
|
|
437
|
+
'lang.enableSuccess': 'Chinese response enabled',
|
|
438
|
+
'lang.disableSuccess': 'Chinese response disabled',
|
|
439
|
+
'lang.enableFailed': 'Failed to enable Chinese response',
|
|
440
|
+
'lang.disableFailed': 'Failed to disable Chinese response',
|
|
441
|
+
'lang.windows': 'Windows Platform',
|
|
442
|
+
'lang.windowsDesc': 'Enable Windows path format guidelines in global CLAUDE.md',
|
|
443
|
+
'lang.windowsEnableSuccess': 'Windows platform guidelines enabled',
|
|
444
|
+
'lang.windowsDisableSuccess': 'Windows platform guidelines disabled',
|
|
445
|
+
'lang.windowsEnableFailed': 'Failed to enable Windows platform guidelines',
|
|
446
|
+
'lang.windowsDisableFailed': 'Failed to disable Windows platform guidelines',
|
|
447
|
+
'cli.promptFormat': 'Prompt Format',
|
|
448
|
+
'cli.promptFormatDesc': 'Format for multi-turn conversation concatenation',
|
|
449
|
+
'cli.storageBackend': 'Storage Backend',
|
|
450
|
+
'cli.storageBackendDesc': 'CLI history stored in SQLite with FTS search',
|
|
451
|
+
'cli.smartContext': 'Smart Context',
|
|
452
|
+
'cli.smartContextDesc': 'Auto-analyze prompt and add relevant file paths',
|
|
453
|
+
'cli.nativeResume': 'Native Resume',
|
|
454
|
+
'cli.nativeResumeDesc': 'Use native tool resume (gemini -r, qwen --resume, codex resume)',
|
|
455
|
+
'cli.recursiveQuery': 'Recursive Query',
|
|
456
|
+
'cli.recursiveQueryDesc': 'Aggregate CLI history and memory data from parent and child projects',
|
|
457
|
+
'cli.maxContextFiles': 'Max Context Files',
|
|
458
|
+
'cli.maxContextFilesDesc': 'Maximum files to include in smart context',
|
|
459
|
+
|
|
460
|
+
// CCW Install
|
|
461
|
+
'ccw.install': 'CCW Install',
|
|
462
|
+
'ccw.installations': 'installation',
|
|
463
|
+
'ccw.installationsPlural': 'installations',
|
|
464
|
+
'ccw.noInstallations': 'No installations found',
|
|
465
|
+
'ccw.installCcw': 'Install CCW',
|
|
466
|
+
'ccw.upgrade': 'Upgrade',
|
|
467
|
+
'ccw.uninstall': 'Uninstall',
|
|
468
|
+
'ccw.files': 'files',
|
|
469
|
+
'ccw.globalInstall': 'Global Installation',
|
|
470
|
+
'ccw.globalInstallDesc': 'Install to user home directory (~/.claude)',
|
|
471
|
+
'ccw.pathInstall': 'Path Installation',
|
|
472
|
+
'ccw.pathInstallDesc': 'Install to a specific project folder',
|
|
473
|
+
'ccw.installPath': 'Installation Path',
|
|
474
|
+
'ccw.installToPath': 'Install to Path',
|
|
475
|
+
'ccw.uninstallConfirm': 'Uninstall CCW from this location?',
|
|
476
|
+
'ccw.upgradeStarting': 'Starting upgrade...',
|
|
477
|
+
'ccw.upgradeCompleted': 'Upgrade completed! Refreshing...',
|
|
478
|
+
'ccw.upgradeFailed': 'Upgrade failed: {error}',
|
|
479
|
+
|
|
480
|
+
// CCW Endpoint Tools
|
|
481
|
+
'ccw.endpointTools': 'CCW Endpoint Tools',
|
|
482
|
+
'ccw.tool': 'tool',
|
|
483
|
+
'ccw.tools': 'tools',
|
|
484
|
+
'ccw.noEndpointTools': 'No endpoint tools found',
|
|
485
|
+
'ccw.parameters': 'Parameters',
|
|
486
|
+
'ccw.required': 'required',
|
|
487
|
+
'ccw.optional': 'optional',
|
|
488
|
+
'ccw.default': 'Default:',
|
|
489
|
+
'ccw.options': 'Options:',
|
|
490
|
+
'ccw.noParams': 'This tool has no parameters',
|
|
491
|
+
'ccw.usageExample': 'Usage Example',
|
|
492
|
+
'ccw.endpointTool': 'endpoint tool',
|
|
493
|
+
|
|
494
|
+
// Explorer
|
|
495
|
+
'explorer.title': 'Explorer',
|
|
496
|
+
'explorer.refresh': 'Refresh',
|
|
497
|
+
'explorer.selectFile': 'Select a file to preview',
|
|
498
|
+
'explorer.selectFileHint': 'Select a file from the tree to preview its contents',
|
|
499
|
+
'explorer.loading': 'Loading file tree...',
|
|
500
|
+
'explorer.loadingFile': 'Loading file...',
|
|
501
|
+
'explorer.emptyDir': 'Empty directory',
|
|
502
|
+
'explorer.loadError': 'Failed to load: {error}',
|
|
503
|
+
'explorer.preview': 'Preview',
|
|
504
|
+
'explorer.source': 'Source',
|
|
505
|
+
'explorer.lines': 'lines',
|
|
506
|
+
'explorer.updateClaudeMd': 'Update CLAUDE.md',
|
|
507
|
+
'explorer.currentFolderOnly': 'Update CLAUDE.md (current folder only)',
|
|
508
|
+
'explorer.withSubdirs': 'Update CLAUDE.md (with subdirectories)',
|
|
509
|
+
|
|
510
|
+
// Task Queue
|
|
511
|
+
'taskQueue.title': 'Update Tasks',
|
|
512
|
+
'taskQueue.cli': 'CLI:',
|
|
513
|
+
'taskQueue.addTask': 'Add update task',
|
|
514
|
+
'taskQueue.startAll': 'Start all tasks',
|
|
515
|
+
'taskQueue.clearCompleted': 'Clear completed',
|
|
516
|
+
'taskQueue.noTasks': 'No tasks in queue',
|
|
517
|
+
'taskQueue.noTasksHint': 'Hover folder and click icons to add tasks',
|
|
518
|
+
'taskQueue.processing': 'Processing...',
|
|
519
|
+
'taskQueue.updated': 'Updated successfully',
|
|
520
|
+
'taskQueue.failed': 'Update failed',
|
|
521
|
+
'taskQueue.currentOnly': 'Current only',
|
|
522
|
+
'taskQueue.withSubdirs': 'With subdirs',
|
|
523
|
+
'taskQueue.startingTasks': 'Starting {count} task(s) in parallel...',
|
|
524
|
+
'taskQueue.queueCompleted': 'Queue completed: {success} succeeded, {failed} failed',
|
|
525
|
+
|
|
526
|
+
// Update CLAUDE.md Modal
|
|
527
|
+
'updateClaudeMd.title': 'Update CLAUDE.md',
|
|
528
|
+
'updateClaudeMd.targetDir': 'Target Directory',
|
|
529
|
+
'updateClaudeMd.cliTool': 'CLI Tool',
|
|
530
|
+
'updateClaudeMd.strategy': 'Strategy',
|
|
531
|
+
'updateClaudeMd.singleLayer': 'Single Layer - Current dir + child CLAUDE.md refs',
|
|
532
|
+
'updateClaudeMd.multiLayer': 'Multi Layer - Generate CLAUDE.md in all subdirs',
|
|
533
|
+
'updateClaudeMd.running': 'Running update...',
|
|
534
|
+
'updateClaudeMd.execute': 'Execute',
|
|
535
|
+
'updateClaudeMd.addToQueue': 'Add to Queue',
|
|
536
|
+
'updateClaudeMd.cancel': 'Cancel',
|
|
537
|
+
|
|
538
|
+
// MCP Manager
|
|
539
|
+
'mcp.currentAvailable': 'Current Available MCP',
|
|
540
|
+
'mcp.projectAvailable': 'Current Available MCP',
|
|
541
|
+
'mcp.newProjectServer': 'New Project Server',
|
|
542
|
+
'mcp.newServer': 'New Server',
|
|
543
|
+
'mcp.newGlobalServer': 'New Global Server',
|
|
544
|
+
'mcp.installToProject': 'Install to Project',
|
|
545
|
+
'mcp.installToGlobal': 'Install to Global',
|
|
546
|
+
'mcp.installToWorkspace': 'Install to Workspace',
|
|
547
|
+
'mcp.updateInWorkspace': 'Update in Workspace',
|
|
548
|
+
'mcp.updateInGlobal': 'Update in Global',
|
|
549
|
+
'mcp.serversConfigured': 'servers configured',
|
|
550
|
+
'mcp.serversAvailable': 'servers available',
|
|
551
|
+
'mcp.globalAvailable': '全局可用 MCP',
|
|
552
|
+
'mcp.globalServersFrom': '个服务器来自 ~/.claude.json',
|
|
553
|
+
'mcp.enterprise': 'Enterprise MCP Servers',
|
|
554
|
+
'mcp.enterpriseManaged': 'Managed',
|
|
555
|
+
'mcp.enterpriseReadOnly': 'servers (read-only)',
|
|
556
|
+
'mcp.user': 'User MCP Servers',
|
|
557
|
+
'mcp.userServersFrom': 'servers from ~/.claude.json',
|
|
558
|
+
'mcp.availableOther': 'Available from Other Projects',
|
|
559
|
+
'mcp.serversAvailable': 'servers available',
|
|
560
|
+
'mcp.allProjects': 'All Projects MCP Overview',
|
|
561
|
+
'mcp.projects': 'projects',
|
|
562
|
+
'mcp.project': 'Project',
|
|
563
|
+
'mcp.servers': 'MCP Servers',
|
|
564
|
+
'mcp.status': 'Status',
|
|
565
|
+
'mcp.current': '(Current)',
|
|
566
|
+
'mcp.noMcpServers': 'No MCP servers',
|
|
567
|
+
'mcp.add': 'Add',
|
|
568
|
+
'mcp.addToProject': 'Add to Project',
|
|
569
|
+
'mcp.installToProject': 'Install to project',
|
|
570
|
+
'mcp.installToGlobal': 'Install to global',
|
|
571
|
+
'mcp.removeFromProject': 'Remove from project',
|
|
572
|
+
'mcp.removeConfirm': 'Remove MCP server "{name}" from this project?',
|
|
573
|
+
'mcp.removeGlobal': 'Remove from global scope',
|
|
574
|
+
'mcp.removeGlobalConfirm': 'Remove global MCP server "{name}"? This will affect all projects.',
|
|
575
|
+
'mcp.readOnly': 'Read-only',
|
|
576
|
+
'mcp.usedIn': 'Used in {count} project',
|
|
577
|
+
'mcp.usedInPlural': 'Used in {count} projects',
|
|
578
|
+
'mcp.availableToAll': 'Available to all projects from ~/.claude.json',
|
|
579
|
+
'mcp.managedByOrg': 'Managed by organization (highest priority)',
|
|
580
|
+
'mcp.variables': 'variables',
|
|
581
|
+
'mcp.cmd': 'Command',
|
|
582
|
+
'mcp.url': 'URL',
|
|
583
|
+
'mcp.args': 'Arguments',
|
|
584
|
+
'mcp.env': 'Environment',
|
|
585
|
+
'mcp.usedInCount': 'Used in {count} project{s}',
|
|
586
|
+
'mcp.from': 'from',
|
|
587
|
+
'mcp.variant': 'variant',
|
|
588
|
+
'mcp.sourceEnterprise': 'Enterprise',
|
|
589
|
+
'mcp.sourceGlobal': 'Global',
|
|
590
|
+
'mcp.sourceProject': 'Project',
|
|
591
|
+
'mcp.viewDetails': 'View Details',
|
|
592
|
+
'mcp.clickToViewDetails': 'Click to view details',
|
|
593
|
+
|
|
594
|
+
// MCP Details Modal
|
|
595
|
+
'mcp.detailsModal.title': 'MCP Server Details',
|
|
596
|
+
'mcp.detailsModal.close': 'Close',
|
|
597
|
+
'mcp.detailsModal.serverName': 'Server Name',
|
|
598
|
+
'mcp.detailsModal.source': 'Source',
|
|
599
|
+
'mcp.detailsModal.configuration': 'Configuration',
|
|
600
|
+
'mcp.detailsModal.noEnv': 'No environment variables',
|
|
601
|
+
|
|
602
|
+
// MCP Create Modal
|
|
603
|
+
'mcp.createTitle': 'Create MCP Server',
|
|
604
|
+
'mcp.form': 'Form',
|
|
605
|
+
'mcp.json': 'JSON',
|
|
606
|
+
'mcp.serverName': 'Server Name',
|
|
607
|
+
'mcp.serverNamePlaceholder': 'e.g., my-mcp-server',
|
|
608
|
+
'mcp.scope': 'Scope',
|
|
609
|
+
'mcp.scopeProject': 'Project - Only this project',
|
|
610
|
+
'mcp.scopeGlobal': 'Global - All projects (~/.claude.json)',
|
|
611
|
+
'mcp.command': 'Command',
|
|
612
|
+
'mcp.commandPlaceholder': 'e.g., npx, uvx, node, python',
|
|
613
|
+
'mcp.arguments': 'Arguments (one per line)',
|
|
614
|
+
'mcp.envVars': 'Environment Variables (KEY=VALUE per line)',
|
|
615
|
+
'mcp.pasteJson': 'Paste MCP Server JSON Configuration',
|
|
616
|
+
'mcp.jsonFormatsHint': 'Supports {"servers": {...}}, {"mcpServers": {...}}, and direct server config formats.',
|
|
617
|
+
'mcp.previewServers': 'Preview (servers to be added):',
|
|
618
|
+
'mcp.create': 'Create',
|
|
619
|
+
'mcp.chooseInstallLocation': 'Choose Installation Location',
|
|
620
|
+
'mcp.installToClaudeJson': 'Install to .claude.json',
|
|
621
|
+
'mcp.installToMcpJson': 'Install to .mcp.json (Recommended)',
|
|
622
|
+
'mcp.claudeJsonDesc': 'Save in root .claude.json projects section (shared config)',
|
|
623
|
+
'mcp.mcpJsonDesc': 'Save in project .mcp.json file (recommended for version control)',
|
|
624
|
+
|
|
625
|
+
// New MCP Manager UI
|
|
626
|
+
'mcp.title': 'MCP Server Management',
|
|
627
|
+
'mcp.subtitle': 'Manage MCP servers for Claude, Codex, and project-level configurations',
|
|
628
|
+
'mcp.createNew': 'Create New',
|
|
629
|
+
'mcp.createFirst': 'Create Your First Server',
|
|
630
|
+
'mcp.noServers': 'No MCP Servers Configured',
|
|
631
|
+
'mcp.noServersDesc': 'Get started by creating a new MCP server or installing from templates',
|
|
632
|
+
'mcp.totalServers': 'Total Servers',
|
|
633
|
+
'mcp.enabled': 'Enabled',
|
|
634
|
+
'mcp.viewServer': 'View Server',
|
|
635
|
+
'mcp.editServer': 'Edit Server',
|
|
636
|
+
'mcp.createServer': 'Create Server',
|
|
637
|
+
'mcp.updateServer': 'Update Server',
|
|
638
|
+
'mcp.close': 'Close',
|
|
639
|
+
'mcp.cancel': 'Cancel',
|
|
640
|
+
'mcp.update': 'Update',
|
|
641
|
+
'mcp.install': 'Install',
|
|
642
|
+
'mcp.save': 'Save',
|
|
643
|
+
'mcp.delete': 'Delete',
|
|
644
|
+
'mcp.optional': 'Optional',
|
|
645
|
+
'mcp.description': 'Description',
|
|
646
|
+
'mcp.category': 'Category',
|
|
647
|
+
'mcp.installTo': 'Install To',
|
|
648
|
+
'mcp.configTarget': 'Config Target',
|
|
649
|
+
'mcp.clickToSwitch': 'Click to switch',
|
|
650
|
+
'mcp.usingMcpJson': 'Using .mcp.json',
|
|
651
|
+
'mcp.usingClaudeJson': 'Using claude.json',
|
|
652
|
+
'mcp.cwd': 'Working Directory',
|
|
653
|
+
'mcp.httpHeaders': 'HTTP Headers',
|
|
654
|
+
'mcp.error': 'Error',
|
|
655
|
+
'mcp.success': 'Success',
|
|
656
|
+
'mcp.nameRequired': 'Server name is required',
|
|
657
|
+
'mcp.commandRequired': 'Command is required',
|
|
658
|
+
'mcp.urlRequired': 'URL is required',
|
|
659
|
+
'mcp.invalidArgsJson': 'Invalid JSON format for arguments',
|
|
660
|
+
'mcp.invalidEnvJson': 'Invalid JSON format for environment variables',
|
|
661
|
+
'mcp.invalidHeadersJson': 'Invalid JSON format for HTTP headers',
|
|
662
|
+
'mcp.serverInstalled': 'Server installed successfully',
|
|
663
|
+
'mcp.serverEnabled': 'Server enabled successfully',
|
|
664
|
+
'mcp.serverDisabled': 'Server disabled successfully',
|
|
665
|
+
'mcp.serverDeleted': 'Server deleted successfully',
|
|
666
|
+
'mcp.backToManager': 'Back to Manager',
|
|
667
|
+
'mcp.noTemplates': 'No Templates Available',
|
|
668
|
+
'mcp.noTemplatesDesc': 'Create templates from existing servers or add new ones',
|
|
669
|
+
'mcp.templatesDesc': 'Browse and install pre-configured MCP server templates',
|
|
670
|
+
|
|
671
|
+
// MCP Templates
|
|
672
|
+
'mcp.templates': 'MCP Templates',
|
|
673
|
+
'mcp.savedTemplates': 'saved templates',
|
|
674
|
+
'mcp.saveAsTemplate': 'Save as Template',
|
|
675
|
+
'mcp.enterTemplateName': 'Enter template name',
|
|
676
|
+
'mcp.enterTemplateDesc': 'Enter template description (optional)',
|
|
677
|
+
'mcp.enterServerName': 'Enter server name',
|
|
678
|
+
'mcp.templateSaved': 'Template "{name}" saved successfully',
|
|
679
|
+
'mcp.templateSaveFailed': 'Failed to save template: {error}',
|
|
680
|
+
'mcp.templateNotFound': 'Template "{name}" not found',
|
|
681
|
+
'mcp.templateInstalled': 'Server "{name}" installed successfully',
|
|
682
|
+
'mcp.templateInstallFailed': 'Failed to install template: {error}',
|
|
683
|
+
'mcp.deleteTemplate': 'Delete Template',
|
|
684
|
+
'mcp.deleteTemplateConfirm': 'Delete template "{name}"?',
|
|
685
|
+
'mcp.templateDeleted': 'Template "{name}" deleted successfully',
|
|
686
|
+
'mcp.templateDeleteFailed': 'Failed to delete template: {error}',
|
|
687
|
+
'mcp.toProject': 'To Project',
|
|
688
|
+
'mcp.toGlobal': 'To Global',
|
|
689
|
+
|
|
690
|
+
// MCP CLI Mode
|
|
691
|
+
'mcp.cliMode': 'CLI Mode',
|
|
692
|
+
'mcp.claudeMode': 'Claude Mode',
|
|
693
|
+
'mcp.codexMode': 'Codex Mode',
|
|
694
|
+
|
|
695
|
+
// CCW Tools Path Settings
|
|
696
|
+
'mcp.pathSettings': 'Path Settings',
|
|
697
|
+
'mcp.useCurrentDir': 'Use current directory',
|
|
698
|
+
'mcp.useCurrentProject': 'Use current project',
|
|
699
|
+
'mcp.allowedDirsPlaceholder': 'Comma-separated paths (optional)',
|
|
700
|
+
|
|
701
|
+
// Codex MCP
|
|
702
|
+
'mcp.codex.globalServers': 'Codex Global MCP Servers',
|
|
703
|
+
'mcp.codex.newServer': 'New Server',
|
|
704
|
+
'mcp.codex.noServers': 'No Codex MCP servers configured',
|
|
705
|
+
'mcp.codex.noServersHint': 'Add servers via "codex mcp add" or create one here',
|
|
706
|
+
'mcp.codex.infoTitle': 'About Codex MCP',
|
|
707
|
+
'mcp.codex.infoDesc': 'Codex MCP servers are global only (stored in ~/.codex/config.toml). Use TOML format for configuration.',
|
|
708
|
+
'mcp.codex.serverAdded': 'Codex MCP server "{name}" added',
|
|
709
|
+
'mcp.codex.addFailed': 'Failed to add Codex MCP server',
|
|
710
|
+
'mcp.codex.serverRemoved': 'Codex MCP server "{name}" removed',
|
|
711
|
+
'mcp.codex.removeFailed': 'Failed to remove Codex MCP server',
|
|
712
|
+
'mcp.codex.serverToggled': 'Codex MCP server "{name}" {state}',
|
|
713
|
+
'mcp.codex.toggleFailed': 'Failed to toggle Codex MCP server',
|
|
714
|
+
'mcp.codex.remove': 'Remove',
|
|
715
|
+
'mcp.codex.removeConfirm': 'Remove Codex MCP server "{name}"?',
|
|
716
|
+
'mcp.codex.copyToClaude': 'Copy to Claude',
|
|
717
|
+
'mcp.codex.copyToCodex': 'Copy to Codex',
|
|
718
|
+
'mcp.codex.install': 'Install to Codex',
|
|
719
|
+
'mcp.codex.copyFromClaude': 'Copy Claude Servers to Codex',
|
|
720
|
+
'mcp.codex.alreadyAdded': 'Already in Codex',
|
|
721
|
+
'mcp.codex.scopeCodex': 'Codex - Global (~/.codex/config.toml)',
|
|
722
|
+
'mcp.codex.enabledTools': 'Tools',
|
|
723
|
+
'mcp.codex.tools': 'tools enabled',
|
|
724
|
+
|
|
725
|
+
// Claude to Codex copy
|
|
726
|
+
'mcp.claude.copyFromCodex': 'Copy Codex Servers to Claude',
|
|
727
|
+
'mcp.claude.alreadyAdded': 'Already in Claude',
|
|
728
|
+
'mcp.claude.copyToClaude': 'Copy to Claude Global',
|
|
729
|
+
'mcp.claude.copyToCodex': 'Copy to Codex',
|
|
730
|
+
|
|
731
|
+
// MCP Edit Modal
|
|
732
|
+
'mcp.editModal.title': 'Edit MCP Server',
|
|
733
|
+
'mcp.editModal.serverNamePlaceholder': 'server-name',
|
|
734
|
+
'mcp.editModal.onePerLine': 'one per line',
|
|
735
|
+
'mcp.editModal.save': 'Save Changes',
|
|
736
|
+
'mcp.editModal.delete': 'Delete',
|
|
737
|
+
'mcp.editModal.nameRequired': 'Server name is required',
|
|
738
|
+
'mcp.editModal.commandRequired': 'Command or URL is required',
|
|
739
|
+
'mcp.editModal.saved': 'MCP server "{name}" updated',
|
|
740
|
+
'mcp.editModal.saveFailed': 'Failed to save MCP server',
|
|
741
|
+
'mcp.editModal.deleteConfirm': 'Delete MCP server "{name}"?',
|
|
742
|
+
'mcp.editModal.deleted': 'MCP server "{name}" deleted',
|
|
743
|
+
'mcp.editModal.deleteFailed': 'Failed to delete MCP server',
|
|
744
|
+
'mcp.clickToEdit': 'Click to edit',
|
|
745
|
+
'mcp.clickToViewDetails': 'Click to view details',
|
|
746
|
+
|
|
747
|
+
// Hook Manager
|
|
748
|
+
'hook.projectHooks': 'Project Hooks',
|
|
749
|
+
'hook.projectFile': '.claude/settings.json',
|
|
750
|
+
'hook.newHook': 'New Hook',
|
|
751
|
+
'hook.hooksConfigured': 'hooks configured',
|
|
752
|
+
'hook.globalHooks': 'Global Hooks',
|
|
753
|
+
'hook.globalFile': '~/.claude/settings.json',
|
|
754
|
+
'hook.wizards': 'Hook Wizards',
|
|
755
|
+
'hook.guidedSetup': 'Guided Setup',
|
|
756
|
+
'hook.wizardsDesc': 'Configure complex hooks with guided wizards',
|
|
757
|
+
'hook.quickInstall': 'Quick Install Templates',
|
|
758
|
+
'hook.oneClick': 'One-click hook installation',
|
|
759
|
+
'hook.envVarsRef': 'Environment Variables Reference',
|
|
760
|
+
'hook.filePaths': 'Space-separated file paths affected',
|
|
761
|
+
'hook.toolName': 'Name of the tool being executed',
|
|
762
|
+
'hook.toolInput': 'JSON input passed to the tool',
|
|
763
|
+
'hook.sessionId': 'Current Claude session ID',
|
|
764
|
+
'hook.projectDir': 'Current project directory path',
|
|
765
|
+
'hook.workingDir': 'Current working directory',
|
|
766
|
+
'hook.openWizard': 'Open Wizard',
|
|
767
|
+
'hook.installed': 'Installed',
|
|
768
|
+
'hook.installProject': 'Install (Project)',
|
|
769
|
+
'hook.installGlobal': 'Global',
|
|
770
|
+
'hook.uninstall': 'Uninstall',
|
|
771
|
+
'hook.viewDetails': 'View template details',
|
|
772
|
+
'hook.edit': 'Edit hook',
|
|
773
|
+
'hook.delete': 'Delete hook',
|
|
774
|
+
'hook.deleteConfirm': 'Remove this {event} hook?',
|
|
775
|
+
|
|
776
|
+
// Hook Create Modal
|
|
777
|
+
'hook.createTitle': 'Create Hook',
|
|
778
|
+
'hook.event': 'Hook Event',
|
|
779
|
+
'hook.selectEvent': 'Select an event...',
|
|
780
|
+
'hook.preToolUse': 'PreToolUse - Before a tool is executed',
|
|
781
|
+
'hook.postToolUse': 'PostToolUse - After a tool completes',
|
|
782
|
+
'hook.notification': 'Notification - On notifications',
|
|
783
|
+
'hook.stop': 'Stop - When agent stops',
|
|
784
|
+
'hook.matcher': 'Matcher (optional)',
|
|
785
|
+
'hook.matcherPlaceholder': 'e.g., Write, Edit, Bash (leave empty for all)',
|
|
786
|
+
'hook.matcherHint': 'Tool name to match. Leave empty to match all tools.',
|
|
787
|
+
'hook.commandLabel': 'Command',
|
|
788
|
+
'hook.commandPlaceholder': 'e.g., curl, bash, node',
|
|
789
|
+
'hook.argsLabel': 'Arguments (one per line)',
|
|
790
|
+
'hook.scope': 'Scope',
|
|
791
|
+
'hook.scopeProject': 'Project (.claude/settings.json)',
|
|
792
|
+
'hook.scopeGlobal': 'Global (~/.claude/settings.json)',
|
|
793
|
+
'hook.quickTemplates': 'Quick Templates',
|
|
794
|
+
|
|
795
|
+
// Hook templates
|
|
796
|
+
'hook.template.ccwNotify': 'CCW Notify',
|
|
797
|
+
'hook.template.ccwNotifyDesc': 'Notify dashboard on Write',
|
|
798
|
+
'hook.template.logTool': 'Log Tool Usage',
|
|
799
|
+
'hook.template.logToolDesc': 'Log all tool executions',
|
|
800
|
+
'hook.template.lintCheck': 'Lint Check',
|
|
801
|
+
'hook.template.lintCheckDesc': 'Run eslint on file changes',
|
|
802
|
+
'hook.template.gitAdd': 'Git Add',
|
|
803
|
+
'hook.template.gitAddDesc': 'Auto stage written files',
|
|
804
|
+
|
|
805
|
+
// Hook Quick Install Templates
|
|
806
|
+
'hook.tpl.sessionContext': 'Session Context',
|
|
807
|
+
'hook.tpl.sessionContextDesc': 'Load cluster overview once at session start',
|
|
808
|
+
'hook.tpl.codexlensSync': 'CodexLens Auto-Sync',
|
|
809
|
+
'hook.tpl.codexlensSyncDesc': 'Auto-update code index when files are written or edited',
|
|
810
|
+
'hook.tpl.ccwDashboardNotify': 'CCW Dashboard Notify',
|
|
811
|
+
'hook.tpl.ccwDashboardNotifyDesc': 'Notify CCW dashboard when files are written',
|
|
812
|
+
'hook.tpl.toolLogger': 'Tool Usage Logger',
|
|
813
|
+
'hook.tpl.toolLoggerDesc': 'Log all tool executions to a file',
|
|
814
|
+
'hook.tpl.autoLint': 'Auto Lint Check',
|
|
815
|
+
'hook.tpl.autoLintDesc': 'Run ESLint on JavaScript/TypeScript files after write',
|
|
816
|
+
'hook.tpl.autoGitStage': 'Auto Git Stage',
|
|
817
|
+
'hook.tpl.autoGitStageDesc': 'Automatically stage written files to git',
|
|
818
|
+
|
|
819
|
+
// Hook Template Categories
|
|
820
|
+
'hook.category.indexing': 'indexing',
|
|
821
|
+
'hook.category.notification': 'notification',
|
|
822
|
+
'hook.category.logging': 'logging',
|
|
823
|
+
'hook.category.quality': 'quality',
|
|
824
|
+
'hook.category.git': 'git',
|
|
825
|
+
'hook.category.memory': 'memory',
|
|
826
|
+
'hook.category.skill': 'skill',
|
|
827
|
+
'hook.category.context': 'context',
|
|
828
|
+
|
|
829
|
+
// Hook Wizard Templates
|
|
830
|
+
'hook.wizard.memoryUpdate': 'Memory Update Hook',
|
|
831
|
+
'hook.wizard.memoryUpdateDesc': 'Automatically update CLAUDE.md documentation based on code changes',
|
|
832
|
+
'hook.wizard.onSessionEnd': 'On Session End',
|
|
833
|
+
'hook.wizard.onSessionEndDesc': 'Update documentation when Claude session ends',
|
|
834
|
+
'hook.wizard.periodicUpdate': 'Periodic Update',
|
|
835
|
+
'hook.wizard.periodicUpdateDesc': 'Update documentation at regular intervals during session',
|
|
836
|
+
'hook.wizard.countBasedUpdate': 'Count-Based Update',
|
|
837
|
+
'hook.wizard.countBasedUpdateDesc': 'Update documentation when file changes reach threshold',
|
|
838
|
+
'hook.wizard.fileCountThreshold': 'File Count Threshold',
|
|
839
|
+
'hook.wizard.fileCountThresholdDesc': 'Number of file changes to trigger update',
|
|
840
|
+
'hook.wizard.skillContext': 'SKILL Context Loader',
|
|
841
|
+
'hook.wizard.skillContextDesc': 'Automatically load SKILL packages based on keywords in user prompts',
|
|
842
|
+
'hook.wizard.keywordMatching': 'Keyword Matching',
|
|
843
|
+
'hook.wizard.keywordMatchingDesc': 'Load specific SKILLs when keywords are detected in prompt',
|
|
844
|
+
'hook.wizard.autoDetection': 'Auto Detection',
|
|
845
|
+
'hook.wizard.autoDetectionDesc': 'Automatically detect and load SKILLs by name in prompt',
|
|
846
|
+
'hook.wizard.memorySetup': 'Memory Module Setup',
|
|
847
|
+
'hook.wizard.memorySetupDesc': 'Configure automatic context tracking (lightweight metadata recording)',
|
|
848
|
+
'hook.wizard.fileReadTracker': 'File Read Tracker',
|
|
849
|
+
'hook.wizard.fileReadTrackerDesc': 'Track file reads to build context heatmap',
|
|
850
|
+
'hook.wizard.fileWriteTracker': 'File Write Tracker',
|
|
851
|
+
'hook.wizard.fileWriteTrackerDesc': 'Track file modifications to identify core modules',
|
|
852
|
+
'hook.wizard.promptTracker': 'Prompt Tracker',
|
|
853
|
+
'hook.wizard.promptTrackerDesc': 'Record user prompts for pattern analysis',
|
|
854
|
+
'hook.wizard.selectTrackers': 'Select Trackers',
|
|
855
|
+
|
|
856
|
+
// Hook Wizard Labels
|
|
857
|
+
'hook.wizard.cliTools': 'CLI Tools:',
|
|
858
|
+
'hook.wizard.event': 'Event:',
|
|
859
|
+
'hook.wizard.availableSkills': 'Available SKILLs:',
|
|
860
|
+
'hook.wizard.loading': 'Loading...',
|
|
861
|
+
'hook.wizard.matches': 'Matches:',
|
|
862
|
+
'hook.wizard.whenToTrigger': 'When to Trigger',
|
|
863
|
+
'hook.wizard.configuration': 'Configuration',
|
|
864
|
+
'hook.wizard.commandPreview': 'Generated Command Preview',
|
|
865
|
+
'hook.wizard.installTo': 'Install To',
|
|
866
|
+
'hook.wizard.installHook': 'Install Hook',
|
|
867
|
+
'hook.wizard.noSkillsConfigured': 'No SKILLs configured yet',
|
|
868
|
+
'hook.wizard.clickAddSkill': 'Click "Add SKILL" to configure keyword triggers',
|
|
869
|
+
'hook.wizard.configureSkills': 'Configure SKILLs',
|
|
870
|
+
'hook.wizard.addSkill': 'Add SKILL',
|
|
871
|
+
'hook.wizard.selectSkill': 'Select SKILL...',
|
|
872
|
+
'hook.wizard.triggerKeywords': 'Trigger Keywords (comma-separated)',
|
|
873
|
+
'hook.wizard.autoDetectionMode': 'Auto Detection Mode',
|
|
874
|
+
'hook.wizard.autoDetectionInfo': 'SKILLs will be automatically loaded when their name appears in your prompt.',
|
|
875
|
+
'hook.wizard.noSkillsFound': 'No SKILLs found. Create SKILL packages in .claude/skills/',
|
|
876
|
+
'hook.wizard.noSkillConfigs': '# No SKILL configurations yet',
|
|
877
|
+
'hook.wizard.cliTool': 'CLI Tool',
|
|
878
|
+
'hook.wizard.intervalSeconds': 'Interval (seconds)',
|
|
879
|
+
'hook.wizard.updateStrategy': 'Update Strategy',
|
|
880
|
+
'hook.wizard.toolForDocGen': 'Tool for documentation generation',
|
|
881
|
+
'hook.wizard.timeBetweenUpdates': 'Time between updates',
|
|
882
|
+
'hook.wizard.relatedStrategy': 'Related: changed modules, Single-layer: current directory',
|
|
883
|
+
|
|
884
|
+
// Lite Tasks
|
|
885
|
+
'lite.plan': 'PLAN',
|
|
886
|
+
'lite.fix': 'FIX',
|
|
887
|
+
'lite.summary': 'Summary',
|
|
888
|
+
'lite.rootCause': 'Root Cause',
|
|
889
|
+
'lite.fixStrategy': 'Fix Strategy',
|
|
890
|
+
'lite.approach': 'Approach',
|
|
891
|
+
'lite.userRequirements': 'User Requirements',
|
|
892
|
+
'lite.focusPaths': 'Focus Paths',
|
|
893
|
+
'lite.metadata': 'Metadata',
|
|
894
|
+
'lite.severity': 'Severity:',
|
|
895
|
+
'lite.riskLevel': 'Risk Level:',
|
|
896
|
+
'lite.estimatedTime': 'Estimated Time:',
|
|
897
|
+
'lite.complexity': 'Complexity:',
|
|
898
|
+
'lite.execution': 'Execution:',
|
|
899
|
+
'lite.fixTasks': 'Fix Tasks',
|
|
900
|
+
'lite.modificationPoints': 'Modification Points:',
|
|
901
|
+
'lite.implementationSteps': 'Implementation Steps:',
|
|
902
|
+
'lite.verification': 'Verification:',
|
|
903
|
+
'lite.rawJson': 'Raw JSON',
|
|
904
|
+
'lite.noPlanData': 'No Plan Data',
|
|
905
|
+
'lite.noPlanDataText': 'No {file} found for this session.',
|
|
906
|
+
'lite.diagnosisSummary': 'Diagnosis Summary',
|
|
907
|
+
'lite.diagnosisDetails': 'Diagnosis Details',
|
|
908
|
+
'lite.totalDiagnoses': 'Total Diagnoses:',
|
|
909
|
+
'lite.angles': 'Angles:',
|
|
910
|
+
|
|
911
|
+
// Modals
|
|
912
|
+
'modal.contentPreview': 'Content Preview',
|
|
913
|
+
'modal.raw': 'Raw',
|
|
914
|
+
'modal.preview': 'Preview',
|
|
915
|
+
'modal.templateDetails': 'Template Details',
|
|
916
|
+
'modal.sessionJson': 'Session JSON',
|
|
917
|
+
'modal.copyToClipboard': 'Copy to Clipboard',
|
|
918
|
+
|
|
919
|
+
// Toast messages
|
|
920
|
+
'toast.workspaceRefreshed': 'Workspace refreshed',
|
|
921
|
+
'toast.refreshFailed': 'Refresh failed: {error}',
|
|
922
|
+
'toast.statusUpdateRequires': 'Status update requires server mode',
|
|
923
|
+
'toast.bulkUpdateRequires': 'Bulk update requires server mode',
|
|
924
|
+
'toast.failedToUpdate': 'Failed to update status',
|
|
925
|
+
'toast.errorUpdating': 'Error updating status: {error}',
|
|
926
|
+
'toast.failedToBulkUpdate': 'Failed to bulk update',
|
|
927
|
+
'toast.errorInBulk': 'Error in bulk update: {error}',
|
|
928
|
+
'toast.enterPrompt': 'Please enter a prompt',
|
|
929
|
+
'toast.enterPath': 'Please enter a path',
|
|
930
|
+
'toast.commandCopied': 'Command copied: {command}',
|
|
931
|
+
'toast.runCommand': 'Run: {command}',
|
|
932
|
+
'toast.completed': 'Completed',
|
|
933
|
+
'toast.failed': 'Failed',
|
|
934
|
+
'toast.error': 'Error: {error}',
|
|
935
|
+
'toast.templateNotFound': 'Template not found',
|
|
936
|
+
|
|
937
|
+
// Footer
|
|
938
|
+
'footer.generated': 'Generated:',
|
|
939
|
+
'footer.version': 'CCW Dashboard v1.0',
|
|
940
|
+
|
|
941
|
+
// Prompt History
|
|
942
|
+
'prompt.timeline': 'Prompt Timeline',
|
|
943
|
+
'prompt.searchPlaceholder': 'Search prompts...',
|
|
944
|
+
'prompt.allProjects': 'All Projects',
|
|
945
|
+
'prompt.currentProject': 'Current Project',
|
|
946
|
+
'prompt.noPromptsFound': 'No Prompts Found',
|
|
947
|
+
'prompt.noPromptsText': 'No prompts found matching your search criteria.',
|
|
948
|
+
'prompt.insights': 'Insights & Suggestions',
|
|
949
|
+
'prompt.analyze': 'Analyze',
|
|
950
|
+
'prompt.analyzing': 'Analyzing...',
|
|
951
|
+
'prompt.selectTool': 'Select Tool',
|
|
952
|
+
'prompt.quality': 'Quality',
|
|
953
|
+
'prompt.intent': 'Intent',
|
|
954
|
+
'prompt.project': 'Project',
|
|
955
|
+
'prompt.session': 'Session',
|
|
956
|
+
'prompt.noInsights': 'No insights yet',
|
|
957
|
+
'prompt.noInsightsText': 'Select a CLI tool and click Analyze to generate insights.',
|
|
958
|
+
'prompt.loadingInsights': 'Generating insights...',
|
|
959
|
+
'prompt.insightsError': 'Failed to generate insights',
|
|
960
|
+
'prompt.intent.implement': 'Implement',
|
|
961
|
+
'prompt.intent.fix': 'Fix',
|
|
962
|
+
'prompt.intent.explore': 'Explore',
|
|
963
|
+
'prompt.intent.debug': 'Debug',
|
|
964
|
+
'prompt.intent.refactor': 'Refactor',
|
|
965
|
+
'prompt.intent.test': 'Test',
|
|
966
|
+
'prompt.intent.document': 'Document',
|
|
967
|
+
'prompt.intent.general': 'General',
|
|
968
|
+
'prompt.timeJustNow': 'Just now',
|
|
969
|
+
'prompt.timeMinutesAgo': '{count} min ago',
|
|
970
|
+
'prompt.timeHoursAgo': '{count} hours ago',
|
|
971
|
+
'prompt.timeDaysAgo': '{count} days ago',
|
|
972
|
+
|
|
973
|
+
// Memory Module
|
|
974
|
+
'memory.contextHotspots': 'Context Hotspots',
|
|
975
|
+
'memory.mostRead': 'Most Read Files',
|
|
976
|
+
'memory.mostEdited': 'Most Edited Files',
|
|
977
|
+
'memory.mostMentioned': 'Most Mentioned Topics',
|
|
978
|
+
'memory.today': 'Today',
|
|
979
|
+
'memory.week': 'Week',
|
|
980
|
+
'memory.allTime': 'All Time',
|
|
981
|
+
'memory.noData': 'No data available',
|
|
982
|
+
'memory.memoryGraph': 'Memory Graph',
|
|
983
|
+
'memory.nodes': 'nodes',
|
|
984
|
+
'memory.resetView': 'Reset View',
|
|
985
|
+
'memory.zoomIn': 'Zoom In',
|
|
986
|
+
'memory.zoomOut': 'Zoom Out',
|
|
987
|
+
'memory.fitView': 'Fit to View',
|
|
988
|
+
'memory.file': 'File',
|
|
989
|
+
'memory.module': 'Module',
|
|
990
|
+
'memory.component': 'Component',
|
|
991
|
+
'memory.noGraphData': 'No graph data available',
|
|
992
|
+
'memory.d3NotLoaded': 'D3.js not loaded',
|
|
993
|
+
'memory.recentContext': 'Recent Context',
|
|
994
|
+
'memory.activities': 'activities',
|
|
995
|
+
'memory.searchContext': 'Search context...',
|
|
996
|
+
'memory.noRecentActivity': 'No recent activity',
|
|
997
|
+
'memory.reads': 'Reads',
|
|
998
|
+
'memory.edits': 'Edits',
|
|
999
|
+
'memory.mentions': 'Mentions',
|
|
1000
|
+
'memory.prompts': 'Prompts',
|
|
1001
|
+
'memory.nodeDetails': 'Node Details',
|
|
1002
|
+
'memory.heat': 'Heat',
|
|
1003
|
+
'memory.associations': 'Associations',
|
|
1004
|
+
'memory.type': 'Type',
|
|
1005
|
+
'memory.relatedNodes': 'Related Nodes',
|
|
1006
|
+
'memory.noAssociations': 'No associations found',
|
|
1007
|
+
'memory.justNow': 'Just now',
|
|
1008
|
+
'memory.minutesAgo': 'minutes ago',
|
|
1009
|
+
'memory.hoursAgo': 'hours ago',
|
|
1010
|
+
'memory.title': 'Memory',
|
|
1011
|
+
'memory.activeMemory': 'Active Memory',
|
|
1012
|
+
'memory.active': 'Active',
|
|
1013
|
+
'memory.inactive': 'Inactive',
|
|
1014
|
+
'memory.syncNow': 'Sync Now',
|
|
1015
|
+
'memory.syncComplete': 'Sync complete',
|
|
1016
|
+
'memory.syncError': 'Sync failed',
|
|
1017
|
+
'memory.filesAnalyzed': 'files analyzed',
|
|
1018
|
+
'memory.activeMemoryEnabled': 'Active Memory enabled',
|
|
1019
|
+
'memory.activeMemoryDisabled': 'Active Memory disabled',
|
|
1020
|
+
'memory.activeMemoryError': 'Failed to toggle Active Memory',
|
|
1021
|
+
'memory.interval': 'Interval',
|
|
1022
|
+
'memory.intervalManual': 'Manual',
|
|
1023
|
+
'memory.minutes': 'min',
|
|
1024
|
+
'memory.cliTool': 'CLI',
|
|
1025
|
+
'memory.lastSync': 'Last sync',
|
|
1026
|
+
'memory.autoSyncActive': 'Auto-sync',
|
|
1027
|
+
'memory.configUpdated': 'Configuration updated',
|
|
1028
|
+
'memory.configError': 'Failed to update configuration',
|
|
1029
|
+
'memory.insightsHistory': 'Insights History',
|
|
1030
|
+
'memory.insightsEmpty': 'No insights yet. Run an analysis to generate insights.',
|
|
1031
|
+
'memory.insightPatterns': 'Patterns',
|
|
1032
|
+
'memory.insightSuggestions': 'Suggestions',
|
|
1033
|
+
'memory.insightDetail': 'Insight Detail',
|
|
1034
|
+
'memory.insightDelete': 'Delete',
|
|
1035
|
+
'memory.insightDeleteConfirm': 'Are you sure you want to delete this insight?',
|
|
1036
|
+
'memory.insightDeleted': 'Insight deleted',
|
|
1037
|
+
'memory.prompts': 'prompts',
|
|
1038
|
+
'memory.refreshInsights': 'Refresh',
|
|
1039
|
+
|
|
1040
|
+
// Skills
|
|
1041
|
+
'nav.skills': 'Skills',
|
|
1042
|
+
'title.skillsManager': 'Skills Manager',
|
|
1043
|
+
'skills.title': 'Skills Manager',
|
|
1044
|
+
'skills.description': 'Manage Claude Code skills and capabilities',
|
|
1045
|
+
'skills.create': 'Create Skill',
|
|
1046
|
+
'skills.projectSkills': 'Project Skills',
|
|
1047
|
+
'skills.userSkills': 'User Skills',
|
|
1048
|
+
'skills.skillsCount': 'skills',
|
|
1049
|
+
'skills.noProjectSkills': 'No project skills found',
|
|
1050
|
+
'skills.createHint': 'Create a skill in .claude/skills/ to add capabilities',
|
|
1051
|
+
'skills.noUserSkills': 'No user skills found',
|
|
1052
|
+
'skills.userSkillsHint': 'User skills apply to all your projects',
|
|
1053
|
+
'skills.noDescription': 'No description provided',
|
|
1054
|
+
'skills.tools': 'tools',
|
|
1055
|
+
'skills.files': 'files',
|
|
1056
|
+
'skills.descriptionLabel': 'Description',
|
|
1057
|
+
'skills.metadata': 'Metadata',
|
|
1058
|
+
'skills.location': 'Location',
|
|
1059
|
+
'skills.version': 'Version',
|
|
1060
|
+
'skills.allowedTools': 'Allowed Tools',
|
|
1061
|
+
'skills.supportingFiles': 'Supporting Files',
|
|
1062
|
+
'skills.path': 'Path',
|
|
1063
|
+
'skills.loadError': 'Failed to load skill details',
|
|
1064
|
+
'skills.deleteConfirm': 'Are you sure you want to delete the skill "{name}"?',
|
|
1065
|
+
'skills.deleted': 'Skill deleted successfully',
|
|
1066
|
+
'skills.deleteError': 'Failed to delete skill',
|
|
1067
|
+
'skills.editNotImplemented': 'Edit feature coming soon',
|
|
1068
|
+
'skills.createNotImplemented': 'Create feature coming soon',
|
|
1069
|
+
'skills.createSkill': 'Create Skill', 'skills.sourceFolder': 'Source Folder', 'skills.sourceFolderPlaceholder': 'Path to skill folder', 'skills.sourceFolderHint': 'Select a folder containing a valid SKILL.md file', 'skills.sourceFolderRequired': 'Source folder path is required', 'skills.customName': 'Custom Name', 'skills.customNamePlaceholder': 'Leave empty to use skill name from SKILL.md', 'skills.customNameHint': 'Optional: Override the skill name', 'skills.validate': 'Validate', 'skills.import': 'Import', 'skills.validating': 'Validating...', 'skills.validSkill': 'Valid Skill', 'skills.invalidSkill': 'Invalid Skill', 'skills.validateFirst': 'Please validate the skill folder first', 'skills.created': 'Skill "{name}" created successfully', 'skills.createError': 'Failed to create skill', 'skills.validationError': 'Validation failed', 'skills.enterFolderPath': 'Enter skill folder path', 'skills.name': 'Name',
|
|
1070
|
+
'skills.createMode': 'Creation Mode',
|
|
1071
|
+
'skills.importFolder': 'Import Folder',
|
|
1072
|
+
'skills.importFolderHint': 'Import existing skill folder',
|
|
1073
|
+
'skills.cliGenerate': 'CLI Generate',
|
|
1074
|
+
'skills.cliGenerateHint': 'Generate using AI',
|
|
1075
|
+
'skills.generationType': 'Generation Type',
|
|
1076
|
+
'skills.fromDescription': 'From Description',
|
|
1077
|
+
'skills.fromDescriptionHint': 'Describe what you need',
|
|
1078
|
+
'skills.fromTemplate': 'From Template',
|
|
1079
|
+
'skills.comingSoon': 'Coming soon',
|
|
1080
|
+
'skills.skillName': 'Skill Name',
|
|
1081
|
+
'skills.skillNamePlaceholder': 'e.g., code-review, testing-helper',
|
|
1082
|
+
'skills.skillNameHint': 'Choose a descriptive name for the skill',
|
|
1083
|
+
'skills.skillNameRequired': 'Skill name is required',
|
|
1084
|
+
'skills.descriptionPlaceholder': 'Describe what this skill should help with...\nExample: Help review code for security vulnerabilities and best practices',
|
|
1085
|
+
'skills.descriptionRequired': 'Description is required',
|
|
1086
|
+
'skills.descriptionGenerateHint': 'Be specific about what the skill should do',
|
|
1087
|
+
'skills.generating': 'Generating skill via CLI... This may take a few minutes.',
|
|
1088
|
+
'skills.generated': 'Skill "{name}" generated successfully',
|
|
1089
|
+
'skills.generateError': 'Failed to generate skill',
|
|
1090
|
+
'skills.generate': 'Generate',
|
|
1091
|
+
'skills.cliGenerateInfo': 'AI will generate a complete skill based on your description',
|
|
1092
|
+
'skills.cliGenerateTimeHint': 'Generation may take a few minutes depending on complexity',
|
|
1093
|
+
|
|
1094
|
+
// Rules
|
|
1095
|
+
'nav.rules': 'Rules',
|
|
1096
|
+
'title.rulesManager': 'Rules Manager',
|
|
1097
|
+
'rules.title': 'Rules Manager',
|
|
1098
|
+
'rules.description': 'Manage project and user rules for Claude Code',
|
|
1099
|
+
'rules.create': 'Create Rule',
|
|
1100
|
+
'rules.projectRules': 'Project Rules',
|
|
1101
|
+
'rules.userRules': 'User Rules',
|
|
1102
|
+
'rules.rulesCount': 'rules',
|
|
1103
|
+
'rules.noProjectRules': 'No project rules found',
|
|
1104
|
+
'rules.createHint': 'Create rules in .claude/rules/ for project-specific instructions',
|
|
1105
|
+
'rules.noUserRules': 'No user rules found',
|
|
1106
|
+
'rules.userRulesHint': 'User rules apply to all your projects',
|
|
1107
|
+
'rules.typeLabel': 'Type',
|
|
1108
|
+
'rules.conditional': 'Conditional',
|
|
1109
|
+
'rules.global': 'Global',
|
|
1110
|
+
'rules.pathConditions': 'Path Conditions',
|
|
1111
|
+
'rules.content': 'Content',
|
|
1112
|
+
'rules.filePath': 'File Path',
|
|
1113
|
+
'rules.loadError': 'Failed to load rule details',
|
|
1114
|
+
'rules.deleteConfirm': 'Are you sure you want to delete the rule "{name}"?',
|
|
1115
|
+
'rules.deleted': 'Rule deleted successfully',
|
|
1116
|
+
'rules.deleteError': 'Failed to delete rule',
|
|
1117
|
+
'rules.editNotImplemented': 'Edit feature coming soon',
|
|
1118
|
+
'rules.createNotImplemented': 'Create feature coming soon',
|
|
1119
|
+
'rules.createRule': 'Create Rule',
|
|
1120
|
+
'rules.location': 'Location',
|
|
1121
|
+
'rules.fileName': 'File Name',
|
|
1122
|
+
'rules.fileNameHint': 'Must end with .md',
|
|
1123
|
+
'rules.fileNameRequired': 'File name is required',
|
|
1124
|
+
'rules.fileNameMustEndMd': 'File name must end with .md',
|
|
1125
|
+
'rules.subdirectory': 'Subdirectory',
|
|
1126
|
+
'rules.subdirectoryHint': 'Optional: Organize rules into subdirectories',
|
|
1127
|
+
'rules.conditionalRule': 'Conditional Rule',
|
|
1128
|
+
'rules.conditionalHint': 'Apply this rule only to specific file paths',
|
|
1129
|
+
'rules.addPath': 'Add Path',
|
|
1130
|
+
'rules.contentPlaceholder': 'Enter rule content in Markdown format...',
|
|
1131
|
+
'rules.contentHint': 'Use Markdown to write rule instructions for Claude',
|
|
1132
|
+
'rules.contentRequired': 'Content is required',
|
|
1133
|
+
'rules.created': 'Rule "{name}" created successfully',
|
|
1134
|
+
'rules.createError': 'Failed to create rule',
|
|
1135
|
+
'rules.createMode': 'Creation Mode',
|
|
1136
|
+
'rules.manualInput': 'Manual Input',
|
|
1137
|
+
'rules.manualInputHint': 'Write content directly',
|
|
1138
|
+
'rules.cliGenerate': 'CLI Generate',
|
|
1139
|
+
'rules.cliGenerateHint': 'Auto-generate via AI',
|
|
1140
|
+
'rules.generationType': 'Generation Type',
|
|
1141
|
+
'rules.fromDescription': 'From Description',
|
|
1142
|
+
'rules.fromTemplate': 'From Template',
|
|
1143
|
+
'rules.fromCodeExtract': 'Extract from Code',
|
|
1144
|
+
'rules.description': 'Description',
|
|
1145
|
+
'rules.descriptionPlaceholder': 'Describe the rule purpose and instructions...',
|
|
1146
|
+
'rules.descriptionHint': 'AI will generate rule content based on your description',
|
|
1147
|
+
'rules.descriptionRequired': 'Description is required',
|
|
1148
|
+
'rules.extractScope': 'Analysis Scope',
|
|
1149
|
+
'rules.extractScopeHint': 'File patterns to analyze (e.g., src/**/*.ts)',
|
|
1150
|
+
'rules.extractScopeRequired': 'Analysis scope is required',
|
|
1151
|
+
'rules.extractFocus': 'Focus Areas',
|
|
1152
|
+
'rules.extractFocusHint': 'Comma-separated aspects to focus on (e.g., naming, error-handling)',
|
|
1153
|
+
'rules.cliGenerating': 'Generating rule via CLI (this may take a few minutes)...',
|
|
1154
|
+
|
|
1155
|
+
// CLAUDE.md Manager
|
|
1156
|
+
'nav.claudeManager': 'CLAUDE.md',
|
|
1157
|
+
'title.claudeManager': 'CLAUDE.md Manager',
|
|
1158
|
+
'claudeManager.title': 'CLAUDE.md Files',
|
|
1159
|
+
'claudeManager.files': 'files',
|
|
1160
|
+
'claudeManager.userLevel': 'User Level',
|
|
1161
|
+
'claudeManager.projectLevel': 'Project Level',
|
|
1162
|
+
'claudeManager.moduleLevel': 'Module Level',
|
|
1163
|
+
'claudeManager.noFile': 'No CLAUDE.md file',
|
|
1164
|
+
'claudeManager.noModules': 'No module CLAUDE.md files',
|
|
1165
|
+
'claudeManager.selectFile': 'Select a file to view',
|
|
1166
|
+
'claudeManager.noMetadata': 'Select a file to see metadata',
|
|
1167
|
+
'claudeManager.fileInfo': 'File Information',
|
|
1168
|
+
'claudeManager.level': 'Level',
|
|
1169
|
+
'claudeManager.level_user': 'User (~/.claude/)',
|
|
1170
|
+
'claudeManager.level_project': 'Project (.claude/)',
|
|
1171
|
+
'claudeManager.level_module': 'Module',
|
|
1172
|
+
'claudeManager.path': 'Path',
|
|
1173
|
+
'claudeManager.size': 'Size',
|
|
1174
|
+
'claudeManager.modified': 'Modified',
|
|
1175
|
+
'claudeManager.statistics': 'Statistics',
|
|
1176
|
+
'claudeManager.lines': 'Lines',
|
|
1177
|
+
'claudeManager.words': 'Words',
|
|
1178
|
+
'claudeManager.characters': 'Characters',
|
|
1179
|
+
'claudeManager.actions': 'Actions',
|
|
1180
|
+
'claudeManager.loadError': 'Failed to load CLAUDE.md files',
|
|
1181
|
+
'claudeManager.refreshed': 'Files refreshed successfully',
|
|
1182
|
+
'claudeManager.unsavedChanges': 'You have unsaved changes. Discard them?',
|
|
1183
|
+
'claudeManager.saved': 'File saved successfully',
|
|
1184
|
+
'claudeManager.saveError': 'Failed to save file',
|
|
1185
|
+
'claudeManager.freshness': 'Freshness',
|
|
1186
|
+
'claudeManager.lastContentUpdate': 'Last Content Update',
|
|
1187
|
+
'claudeManager.changedFiles': 'Changed Files',
|
|
1188
|
+
'claudeManager.filesSinceUpdate': 'files since update',
|
|
1189
|
+
'claudeManager.updateReminder': 'This file may need updating',
|
|
1190
|
+
'claudeManager.markAsUpdated': 'Mark as Updated',
|
|
1191
|
+
'claudeManager.markedAsUpdated': 'Marked as updated successfully',
|
|
1192
|
+
'claudeManager.markUpdateError': 'Failed to mark as updated',
|
|
1193
|
+
'claudeManager.never': 'Never tracked',
|
|
1194
|
+
|
|
1195
|
+
// Graph Explorer
|
|
1196
|
+
'nav.graphExplorer': 'Graph',
|
|
1197
|
+
'title.graphExplorer': 'Code Graph Explorer',
|
|
1198
|
+
'graph.codeRelations': 'Code Relations',
|
|
1199
|
+
'graph.searchProcess': 'Search Process',
|
|
1200
|
+
'graph.nodeTypes': 'Node Types',
|
|
1201
|
+
'graph.edgeTypes': 'Edge Types',
|
|
1202
|
+
'graph.noProject': 'No project selected',
|
|
1203
|
+
'graph.selectProject': 'Select a project to view its code graph',
|
|
1204
|
+
'graph.loading': 'Loading graph data...',
|
|
1205
|
+
'graph.noData': 'No graph data available',
|
|
1206
|
+
'graph.indexProject': 'Please index this project with codex-lens first',
|
|
1207
|
+
'graph.nodeDetails': 'Node Details',
|
|
1208
|
+
'graph.selectNode': 'Select a node to view details',
|
|
1209
|
+
'graph.impactAnalysis': 'Impact Analysis',
|
|
1210
|
+
'graph.directDependents': 'Direct Dependents',
|
|
1211
|
+
'graph.affectedFiles': 'Affected Files',
|
|
1212
|
+
'graph.fitView': 'Fit View',
|
|
1213
|
+
'graph.zoomIn': 'Zoom In',
|
|
1214
|
+
'graph.zoomOut': 'Zoom Out',
|
|
1215
|
+
'graph.resetLayout': 'Reset Layout',
|
|
1216
|
+
'graph.title': 'Code Graph',
|
|
1217
|
+
'graph.filters': 'Filters',
|
|
1218
|
+
'graph.legend': 'Legend',
|
|
1219
|
+
'graph.nodes': 'nodes',
|
|
1220
|
+
'graph.edges': 'edges',
|
|
1221
|
+
'graph.noGraphData': 'No graph data available. Index this project with codex-lens first.',
|
|
1222
|
+
'graph.noSearchData': 'No search process data available.',
|
|
1223
|
+
'graph.center': 'Center',
|
|
1224
|
+
'graph.resetFilters': 'Reset Filters',
|
|
1225
|
+
|
|
1226
|
+
// Help & Guide
|
|
1227
|
+
'nav.help': 'Help',
|
|
1228
|
+
'title.helpGuide': 'Help & Guide',
|
|
1229
|
+
'graph.cytoscapeNotLoaded': 'Graph library not loaded',
|
|
1230
|
+
'graph.impactAnalysisError': 'Failed to load impact analysis',
|
|
1231
|
+
'graph.searchProcessDesc': 'Visualize how search queries flow through the system',
|
|
1232
|
+
'graph.searchProcessTitle': 'Search Pipeline',
|
|
1233
|
+
'graph.resultsFound': 'results found',
|
|
1234
|
+
'graph.coreMemory': 'Core Memory',
|
|
1235
|
+
'graph.dataSourceSwitched': 'Data source switched',
|
|
1236
|
+
'graph.type': 'Type',
|
|
1237
|
+
'graph.symbolType': 'Symbol Type',
|
|
1238
|
+
'graph.path': 'Path',
|
|
1239
|
+
'graph.line': 'Line',
|
|
1240
|
+
'graph.imports': 'imports',
|
|
1241
|
+
'graph.exports': 'exports',
|
|
1242
|
+
'graph.references': 'references',
|
|
1243
|
+
'graph.affectedSymbols': 'Affected Symbols',
|
|
1244
|
+
'graph.depth': 'Depth',
|
|
1245
|
+
'graph.scope': 'Scope',
|
|
1246
|
+
'graph.allFiles': 'All Files',
|
|
1247
|
+
'graph.byModule': 'By Module',
|
|
1248
|
+
'graph.byFile': 'By File',
|
|
1249
|
+
'graph.selectModule': 'Select a module...',
|
|
1250
|
+
'graph.selectFile': 'Select a file...',
|
|
1251
|
+
|
|
1252
|
+
// CLI Sync (used in claude-manager.js)
|
|
1253
|
+
'claude.cliSync': 'CLI Auto-Sync',
|
|
1254
|
+
'claude.tool': 'Tool',
|
|
1255
|
+
'claude.mode': 'Mode',
|
|
1256
|
+
'claude.syncButton': 'Sync with CLI',
|
|
1257
|
+
'claude.syncing': 'Analyzing with {tool}...',
|
|
1258
|
+
'claude.syncSuccess': '{file} synced successfully',
|
|
1259
|
+
'claude.syncError': 'Sync failed: {error}',
|
|
1260
|
+
'claude.modeUpdate': 'Update (Smart Merge)',
|
|
1261
|
+
'claude.modeGenerate': 'Generate (Full Replace)',
|
|
1262
|
+
'claude.modeAppend': 'Append',
|
|
1263
|
+
'claude.searchPlaceholder': 'Search files...',
|
|
1264
|
+
'claude.viewModeClaude': 'CLAUDE.md Only',
|
|
1265
|
+
'claude.viewModeAll': 'All Files',
|
|
1266
|
+
'claude.createFile': 'Create File',
|
|
1267
|
+
'claude.createDialogTitle': 'Create CLAUDE.md File',
|
|
1268
|
+
'claude.selectLevel': 'Level',
|
|
1269
|
+
'claude.levelUser': 'User (~/.claude/)',
|
|
1270
|
+
'claude.levelProject': 'Project (.claude/)',
|
|
1271
|
+
'claude.levelModule': 'Module (custom path)',
|
|
1272
|
+
'claude.modulePath': 'Module Path',
|
|
1273
|
+
'claude.selectTemplate': 'Template',
|
|
1274
|
+
'claude.templateDefault': 'Default',
|
|
1275
|
+
'claude.templateMinimal': 'Minimal',
|
|
1276
|
+
'claude.templateComprehensive': 'Comprehensive',
|
|
1277
|
+
'claude.deleteFile': 'Delete File',
|
|
1278
|
+
'claude.deleteConfirm': 'Are you sure you want to delete {file}?',
|
|
1279
|
+
'claude.deleteWarning': 'This action cannot be undone.',
|
|
1280
|
+
'claude.copyContent': 'Copy Content',
|
|
1281
|
+
'claude.contentCopied': 'Content copied to clipboard',
|
|
1282
|
+
'claude.copyError': 'Failed to copy content',
|
|
1283
|
+
'claude.modulePathRequired': 'Module path is required',
|
|
1284
|
+
'claude.fileCreated': 'File created successfully',
|
|
1285
|
+
'claude.createFileError': 'Failed to create file',
|
|
1286
|
+
'claude.fileDeleted': 'File deleted successfully',
|
|
1287
|
+
'claude.deleteFileError': 'Failed to delete file',
|
|
1288
|
+
'claude.loadAllFilesError': 'Failed to load all files',
|
|
1289
|
+
'claude.unsupportedFileType': 'Unsupported file type',
|
|
1290
|
+
'claude.loadFileError': 'Failed to load file',
|
|
1291
|
+
|
|
1292
|
+
// Common
|
|
1293
|
+
'common.cancel': 'Cancel',
|
|
1294
|
+
'common.optional': '(Optional)',
|
|
1295
|
+
'common.create': 'Create',
|
|
1296
|
+
'common.save': 'Save',
|
|
1297
|
+
'common.delete': 'Delete',
|
|
1298
|
+
'common.edit': 'Edit',
|
|
1299
|
+
'common.close': 'Close',
|
|
1300
|
+
'common.refresh': 'Refresh',
|
|
1301
|
+
'common.refreshed': 'Refreshed',
|
|
1302
|
+
'common.refreshing': 'Refreshing...',
|
|
1303
|
+
'common.loading': 'Loading...',
|
|
1304
|
+
'common.error': 'Error',
|
|
1305
|
+
'common.success': 'Success',
|
|
1306
|
+
'common.warning': 'Warning',
|
|
1307
|
+
'common.info': 'Info',
|
|
1308
|
+
'common.remove': 'Remove',
|
|
1309
|
+
'common.removeFromRecent': 'Remove from recent',
|
|
1310
|
+
'common.noDescription': 'No description',
|
|
1311
|
+
'common.saving': 'Saving...',
|
|
1312
|
+
'common.saveFailed': 'Failed to save',
|
|
1313
|
+
'common.unknownError': 'Unknown error',
|
|
1314
|
+
'common.exception': 'Exception',
|
|
1315
|
+
|
|
1316
|
+
// Core Memory
|
|
1317
|
+
'title.coreMemory': 'Core Memory',
|
|
1318
|
+
'coreMemory.createNew': 'Create Memory',
|
|
1319
|
+
'coreMemory.showArchived': 'Show Archived',
|
|
1320
|
+
'coreMemory.showActive': 'Show Active',
|
|
1321
|
+
'coreMemory.totalMemories': 'Total Memories',
|
|
1322
|
+
'coreMemory.noMemories': 'No memories found',
|
|
1323
|
+
'coreMemory.noArchivedMemories': 'No archived memories',
|
|
1324
|
+
'coreMemory.content': 'Content',
|
|
1325
|
+
'coreMemory.contentPlaceholder': 'Enter strategic context, insights, or important information...',
|
|
1326
|
+
'coreMemory.contentRequired': 'Content is required',
|
|
1327
|
+
'coreMemory.summary': 'Summary',
|
|
1328
|
+
'coreMemory.summaryPlaceholder': 'Optional: Brief summary of this memory...',
|
|
1329
|
+
'coreMemory.metadata': 'Metadata',
|
|
1330
|
+
'coreMemory.invalidMetadata': 'Invalid JSON metadata',
|
|
1331
|
+
'coreMemory.rawOutput': 'Raw Output',
|
|
1332
|
+
'coreMemory.created': 'Memory created successfully',
|
|
1333
|
+
'coreMemory.updated': 'Memory updated successfully',
|
|
1334
|
+
'coreMemory.archived': 'Memory archived successfully',
|
|
1335
|
+
'coreMemory.unarchived': 'Memory unarchived successfully',
|
|
1336
|
+
'coreMemory.deleted': 'Memory deleted successfully',
|
|
1337
|
+
'coreMemory.confirmArchive': 'Archive this memory?',
|
|
1338
|
+
'coreMemory.confirmDelete': 'Permanently delete this memory?',
|
|
1339
|
+
'coreMemory.fetchError': 'Failed to fetch memories',
|
|
1340
|
+
'coreMemory.saveError': 'Failed to save memory',
|
|
1341
|
+
'coreMemory.archiveError': 'Failed to archive memory',
|
|
1342
|
+
'coreMemory.unarchiveError': 'Failed to unarchive memory',
|
|
1343
|
+
'coreMemory.deleteError': 'Failed to delete memory',
|
|
1344
|
+
'coreMemory.edit': 'Edit Memory',
|
|
1345
|
+
'coreMemory.unarchive': 'Unarchive',
|
|
1346
|
+
'coreMemory.generateSummary': 'Generate Summary',
|
|
1347
|
+
'coreMemory.generatingSummary': 'Generating summary...',
|
|
1348
|
+
'coreMemory.summaryGenerated': 'Summary generated successfully',
|
|
1349
|
+
'coreMemory.summaryError': 'Failed to generate summary',
|
|
1350
|
+
'coreMemory.knowledgeGraph': 'Knowledge Graph',
|
|
1351
|
+
'coreMemory.graph': 'Graph',
|
|
1352
|
+
'coreMemory.entities': 'Entities',
|
|
1353
|
+
'coreMemory.noEntities': 'No entities found',
|
|
1354
|
+
'coreMemory.relationships': 'Relationships',
|
|
1355
|
+
'coreMemory.noRelationships': 'No relationships found',
|
|
1356
|
+
'coreMemory.graphError': 'Failed to load knowledge graph',
|
|
1357
|
+
'coreMemory.evolution': 'Evolution',
|
|
1358
|
+
'coreMemory.evolutionHistory': 'Evolution History',
|
|
1359
|
+
'coreMemory.noHistory': 'No evolution history',
|
|
1360
|
+
'coreMemory.noReason': 'No reason provided',
|
|
1361
|
+
'coreMemory.current': 'Current',
|
|
1362
|
+
'coreMemory.evolutionError': 'Failed to load evolution history',
|
|
1363
|
+
'coreMemory.created': 'Created',
|
|
1364
|
+
'coreMemory.updated': 'Updated',
|
|
1365
|
+
|
|
1366
|
+
// View toggle
|
|
1367
|
+
'coreMemory.memories': 'Memories',
|
|
1368
|
+
'coreMemory.clusters': 'Clusters',
|
|
1369
|
+
'coreMemory.clustersList': 'Cluster List',
|
|
1370
|
+
'coreMemory.selectCluster': 'Select a cluster to view details',
|
|
1371
|
+
'coreMemory.openSession': 'Open Session',
|
|
1372
|
+
'coreMemory.clickToPreview': 'Click to preview',
|
|
1373
|
+
'coreMemory.previewError': 'Failed to load preview',
|
|
1374
|
+
'coreMemory.unknownSessionType': 'Unknown session type',
|
|
1375
|
+
|
|
1376
|
+
// Clustering features
|
|
1377
|
+
'coreMemory.noClusters': 'No clusters yet',
|
|
1378
|
+
'coreMemory.autoCluster': 'Auto Cluster',
|
|
1379
|
+
'coreMemory.clusterLoadError': 'Failed to load clusters',
|
|
1380
|
+
'coreMemory.clusterDetailError': 'Failed to load cluster details',
|
|
1381
|
+
'coreMemory.intent': 'Intent',
|
|
1382
|
+
'coreMemory.sessionTimeline': 'Session Timeline',
|
|
1383
|
+
'coreMemory.relatedClusters': 'Related Clusters',
|
|
1384
|
+
'coreMemory.noSessions': 'No sessions in this cluster',
|
|
1385
|
+
'coreMemory.clusteringInProgress': 'Clustering in progress...',
|
|
1386
|
+
'coreMemory.clusteringComplete': 'Created {created} clusters with {sessions} sessions',
|
|
1387
|
+
'coreMemory.clusteringError': 'Auto-clustering failed',
|
|
1388
|
+
'coreMemory.embeddingNotAvailable': 'Semantic search not installed. Install to improve clustering accuracy.',
|
|
1389
|
+
'coreMemory.installGuide': 'Go to Settings',
|
|
1390
|
+
'coreMemory.embeddingProgress': 'Embeddings: {pct}% ({pending} pending)',
|
|
1391
|
+
'coreMemory.generateEmbeddings': 'Generate',
|
|
1392
|
+
'coreMemory.noChunksYet': 'No memories chunked yet. Run "ccw memory embed" to enable semantic clustering.',
|
|
1393
|
+
'coreMemory.embeddingInProgress': 'Generating embeddings...',
|
|
1394
|
+
'coreMemory.embeddingComplete': 'Generated embeddings for {count} chunks',
|
|
1395
|
+
'coreMemory.embeddingError': 'Failed to generate embeddings',
|
|
1396
|
+
'coreMemory.enterClusterName': 'Enter cluster name:',
|
|
1397
|
+
'coreMemory.clusterCreated': 'Cluster created',
|
|
1398
|
+
'coreMemory.clusterCreateError': 'Failed to create cluster',
|
|
1399
|
+
'coreMemory.confirmDeleteCluster': 'Delete this cluster?',
|
|
1400
|
+
'coreMemory.clusterDeleted': 'Cluster deleted',
|
|
1401
|
+
'coreMemory.clusterDeleteError': 'Failed to delete cluster',
|
|
1402
|
+
'coreMemory.clusterUpdated': 'Cluster updated',
|
|
1403
|
+
'coreMemory.clusterUpdateError': 'Failed to update cluster',
|
|
1404
|
+
'coreMemory.memberRemoved': 'Member removed',
|
|
1405
|
+
'coreMemory.memberRemoveError': 'Failed to remove member',
|
|
1406
|
+
'coreMemory.favorites': 'Favorites',
|
|
1407
|
+
'coreMemory.totalFavorites': 'Total Favorites',
|
|
1408
|
+
'coreMemory.noFavorites': 'No favorites yet',
|
|
1409
|
+
'coreMemory.toggleFavorite': 'Toggle Favorite',
|
|
1410
|
+
'coreMemory.addedToFavorites': 'Added to favorites',
|
|
1411
|
+
'coreMemory.removedFromFavorites': 'Removed from favorites',
|
|
1412
|
+
'coreMemory.favoriteError': 'Failed to update favorite',
|
|
1413
|
+
'coreMemory.relations': 'Relations',
|
|
1414
|
+
'coreMemory.showRelations': 'Show Relations',
|
|
1415
|
+
'coreMemory.relationsFor': 'Relations',
|
|
1416
|
+
'coreMemory.noRelations': 'No cluster relations found',
|
|
1417
|
+
'coreMemory.noRelationsHint': 'Use Auto Cluster in the Clusters tab to create relations',
|
|
1418
|
+
'coreMemory.belongsToClusters': 'Belongs to Clusters',
|
|
1419
|
+
'coreMemory.relationsError': 'Failed to load relations',
|
|
1420
|
+
|
|
1421
|
+
// Common additions
|
|
1422
|
+
'common.copyId': 'Copy ID',
|
|
1423
|
+
'common.copied': 'Copied!',
|
|
1424
|
+
'common.copyError': 'Failed to copy',
|
|
1425
|
+
},
|
|
1426
|
+
|
|
1427
|
+
zh: {
|
|
1428
|
+
// App title and brand
|
|
1429
|
+
'app.title': 'CCW 控制面板',
|
|
1430
|
+
'app.brand': 'Claude Code Workflow',
|
|
1431
|
+
|
|
1432
|
+
// Common
|
|
1433
|
+
'common.view': '查看',
|
|
1434
|
+
'common.edit': '编辑',
|
|
1435
|
+
'common.delete': '删除',
|
|
1436
|
+
'common.cancel': '取消',
|
|
1437
|
+
'common.save': '保存',
|
|
1438
|
+
'common.close': '关闭',
|
|
1439
|
+
'common.loading': '加载中...',
|
|
1440
|
+
'common.error': '错误',
|
|
1441
|
+
'common.success': '成功',
|
|
1442
|
+
'common.retry': '重试',
|
|
1443
|
+
'common.refresh': '刷新',
|
|
1444
|
+
'common.minutes': '分钟',
|
|
1445
|
+
|
|
1446
|
+
// Header
|
|
1447
|
+
'header.project': '项目:',
|
|
1448
|
+
'header.recentProjects': '最近项目',
|
|
1449
|
+
'header.browse': '浏览...',
|
|
1450
|
+
'header.refreshWorkspace': '刷新工作区',
|
|
1451
|
+
'header.toggleTheme': '切换主题',
|
|
1452
|
+
'header.language': '语言',
|
|
1453
|
+
|
|
1454
|
+
// Sidebar - Project section
|
|
1455
|
+
'nav.project': '项目',
|
|
1456
|
+
'nav.overview': '概览',
|
|
1457
|
+
'nav.explorer': '文件浏览器',
|
|
1458
|
+
'nav.status': '状态',
|
|
1459
|
+
'nav.history': '历史',
|
|
1460
|
+
'nav.memory': '记忆',
|
|
1461
|
+
'nav.contextMemory': '活动',
|
|
1462
|
+
'nav.coreMemory': '核心记忆',
|
|
1463
|
+
'nav.promptHistory': '洞察',
|
|
1464
|
+
|
|
1465
|
+
// Sidebar - Sessions section
|
|
1466
|
+
'nav.sessions': '会话',
|
|
1467
|
+
'nav.all': '全部',
|
|
1468
|
+
'nav.active': '活跃',
|
|
1469
|
+
'nav.archived': '已归档',
|
|
1470
|
+
|
|
1471
|
+
// Sidebar - Lite Tasks section
|
|
1472
|
+
'nav.liteTasks': '轻量任务',
|
|
1473
|
+
'nav.litePlan': '轻量规划',
|
|
1474
|
+
'nav.liteFix': '轻量修复',
|
|
1475
|
+
|
|
1476
|
+
// Sidebar - MCP section
|
|
1477
|
+
'nav.mcpServers': 'MCP 服务器',
|
|
1478
|
+
'nav.manage': '管理',
|
|
1479
|
+
|
|
1480
|
+
// Sidebar - Hooks section
|
|
1481
|
+
'nav.hooks': '钩子',
|
|
1482
|
+
|
|
1483
|
+
// Sidebar - Footer
|
|
1484
|
+
'nav.collapse': '收起',
|
|
1485
|
+
'nav.expand': '展开',
|
|
1486
|
+
|
|
1487
|
+
// Stats cards
|
|
1488
|
+
'stats.totalSessions': '总会话数',
|
|
1489
|
+
'stats.activeSessions': '活跃会话',
|
|
1490
|
+
'stats.totalTasks': '总任务数',
|
|
1491
|
+
'stats.completedTasks': '已完成任务',
|
|
1492
|
+
|
|
1493
|
+
// Carousel
|
|
1494
|
+
'carousel.noActiveSessions': '暂无活跃会话',
|
|
1495
|
+
'carousel.previous': '上一个',
|
|
1496
|
+
'carousel.next': '下一个',
|
|
1497
|
+
'carousel.pause': '暂停自动播放',
|
|
1498
|
+
|
|
1499
|
+
// Content titles
|
|
1500
|
+
'title.allSessions': '所有会话',
|
|
1501
|
+
'title.activeSessions': '活跃会话',
|
|
1502
|
+
'title.archivedSessions': '已归档会话',
|
|
1503
|
+
'title.sessions': '会话',
|
|
1504
|
+
'title.projectOverview': '项目概览',
|
|
1505
|
+
'title.mcpManagement': 'MCP 服务器管理',
|
|
1506
|
+
'title.fileExplorer': '文件浏览器',
|
|
1507
|
+
'title.cliTools': 'CLI 工具 & CCW',
|
|
1508
|
+
'title.cliHistory': 'CLI 执行历史',
|
|
1509
|
+
'title.litePlanSessions': '轻量规划会话',
|
|
1510
|
+
'title.liteFixSessions': '轻量修复会话',
|
|
1511
|
+
'title.liteTasks': '轻量任务',
|
|
1512
|
+
'title.sessionDetail': '会话详情',
|
|
1513
|
+
'title.liteTaskDetail': '轻量任务详情',
|
|
1514
|
+
'title.hookManager': '钩子管理',
|
|
1515
|
+
'title.memoryModule': '记忆模块',
|
|
1516
|
+
'title.promptHistory': '提示历史',
|
|
1517
|
+
|
|
1518
|
+
// Search
|
|
1519
|
+
'search.placeholder': '搜索...',
|
|
1520
|
+
|
|
1521
|
+
// Session cards
|
|
1522
|
+
'session.status.active': '活跃',
|
|
1523
|
+
'session.status.archived': '已归档',
|
|
1524
|
+
'session.status.planning': '规划中',
|
|
1525
|
+
'session.tasks': '个任务',
|
|
1526
|
+
'session.findings': '个发现',
|
|
1527
|
+
'session.dimensions': '个维度',
|
|
1528
|
+
'session.progress': '进度',
|
|
1529
|
+
|
|
1530
|
+
// Empty states
|
|
1531
|
+
'empty.noSessions': '未找到会话',
|
|
1532
|
+
'empty.noSessionsText': '没有符合当前筛选条件的工作流会话。',
|
|
1533
|
+
'empty.noTasks': '暂无任务',
|
|
1534
|
+
'empty.noTasksText': '该会话没有定义任务。',
|
|
1535
|
+
'empty.noTaskFiles': '未找到任务文件',
|
|
1536
|
+
'empty.noTaskFilesText': '在 .task/ 目录中未找到 IMPL-*.json 文件',
|
|
1537
|
+
'empty.noLiteSessions': '暂无 {type} 会话',
|
|
1538
|
+
'empty.noLiteSessionsText': '在 .workflow/.{type}/ 目录中未找到会话',
|
|
1539
|
+
'empty.noMcpServers': '该项目未配置 MCP 服务器',
|
|
1540
|
+
'empty.addMcpServersHint': '从下方可用列表中添加服务器',
|
|
1541
|
+
'empty.noGlobalMcpServers': '未配置全局 MCP 服务器',
|
|
1542
|
+
'empty.globalServersHint': '全局服务器对所有项目可用,来自 ~/.claude.json',
|
|
1543
|
+
'empty.noAdditionalMcp': '其他项目中未找到其他 MCP 服务器',
|
|
1544
|
+
'empty.noHooks': '该项目未配置钩子',
|
|
1545
|
+
'empty.createHookHint': '创建钩子以自动化工具使用时的操作',
|
|
1546
|
+
'empty.noGlobalHooks': '未配置全局钩子',
|
|
1547
|
+
'empty.globalHooksHint': '全局钩子适用于所有 Claude Code 会话',
|
|
1548
|
+
'empty.noDiagnoses': '暂无诊断',
|
|
1549
|
+
'empty.noDiagnosesText': '未找到该会话的 diagnosis-*.json 文件。',
|
|
1550
|
+
|
|
1551
|
+
// Session detail tabs
|
|
1552
|
+
'tab.tasks': '任务',
|
|
1553
|
+
'tab.context': '上下文',
|
|
1554
|
+
'tab.summary': '摘要',
|
|
1555
|
+
'tab.implPlan': '实现计划',
|
|
1556
|
+
'tab.conflict': '冲突',
|
|
1557
|
+
'tab.review': '审查',
|
|
1558
|
+
'tab.plan': '计划',
|
|
1559
|
+
'tab.diagnoses': '诊断',
|
|
1560
|
+
|
|
1561
|
+
// Session detail
|
|
1562
|
+
'detail.backToSessions': '返回会话列表',
|
|
1563
|
+
'detail.backToLiteTasks': '返回 {type}',
|
|
1564
|
+
'detail.created': '创建时间:',
|
|
1565
|
+
'detail.archived': '归档时间:',
|
|
1566
|
+
'detail.project': '项目:',
|
|
1567
|
+
'detail.tasks': '任务:',
|
|
1568
|
+
'detail.completed': '已完成',
|
|
1569
|
+
|
|
1570
|
+
// Task status
|
|
1571
|
+
'task.status.pending': '待处理',
|
|
1572
|
+
'task.status.inProgress': '进行中',
|
|
1573
|
+
'task.status.completed': '已完成',
|
|
1574
|
+
'task.completed': '已完成',
|
|
1575
|
+
'task.inProgress': '进行中',
|
|
1576
|
+
'task.pending': '待处理',
|
|
1577
|
+
|
|
1578
|
+
// Task actions
|
|
1579
|
+
'task.quickActions': '快捷操作:',
|
|
1580
|
+
'task.allPending': '全部待处理',
|
|
1581
|
+
'task.allInProgress': '全部进行中',
|
|
1582
|
+
'task.allCompleted': '全部完成',
|
|
1583
|
+
'task.setAllConfirm': '将所有 {count} 个任务设置为"{status}"?',
|
|
1584
|
+
'task.statusUpdated': '任务 {id} 状态已更新',
|
|
1585
|
+
'task.tasksUpdated': '所有 {count} 个任务已更新',
|
|
1586
|
+
'task.noPendingTasks': '没有待处理的任务',
|
|
1587
|
+
'task.noInProgressTasks': '没有进行中的任务',
|
|
1588
|
+
'task.movedToInProgress': '{count} 个任务已移至进行中',
|
|
1589
|
+
'task.tasksCompleted': '{count} 个任务已完成',
|
|
1590
|
+
|
|
1591
|
+
// Context tab
|
|
1592
|
+
'context.description': '描述:',
|
|
1593
|
+
'context.requirements': '需求:',
|
|
1594
|
+
'context.focusPaths': '关注路径:',
|
|
1595
|
+
'context.modificationPoints': '修改点:',
|
|
1596
|
+
'context.acceptance': '验收标准:',
|
|
1597
|
+
'context.noData': '暂无上下文数据',
|
|
1598
|
+
'context.loading': '正在加载上下文数据...',
|
|
1599
|
+
'context.loadError': '加载上下文失败: {error}',
|
|
1600
|
+
|
|
1601
|
+
// Flow control
|
|
1602
|
+
'flow.implementationApproach': '实现方案:',
|
|
1603
|
+
'flow.preAnalysis': '预分析:',
|
|
1604
|
+
'flow.targetFiles': '目标文件:',
|
|
1605
|
+
'flow.noData': '暂无流程控制数据',
|
|
1606
|
+
|
|
1607
|
+
// Summary tab
|
|
1608
|
+
'summary.loading': '正在加载摘要...',
|
|
1609
|
+
'summary.title': '摘要',
|
|
1610
|
+
'summary.hint': '会话摘要将从 .summaries/ 加载',
|
|
1611
|
+
'summary.noSummaries': '暂无摘要',
|
|
1612
|
+
'summary.noSummariesText': '在 .summaries/ 中未找到摘要',
|
|
1613
|
+
|
|
1614
|
+
// IMPL Plan tab
|
|
1615
|
+
'implPlan.loading': '正在加载实现计划...',
|
|
1616
|
+
'implPlan.title': '实现计划',
|
|
1617
|
+
'implPlan.hint': '实现计划将从 IMPL_PLAN.md 加载',
|
|
1618
|
+
|
|
1619
|
+
// Review tab
|
|
1620
|
+
'review.loading': '正在加载审查数据...',
|
|
1621
|
+
'review.title': '审查数据',
|
|
1622
|
+
'review.hint': '审查数据将从审查文件加载',
|
|
1623
|
+
|
|
1624
|
+
// CLI Manager
|
|
1625
|
+
'cli.tools': 'CLI 工具',
|
|
1626
|
+
'cli.available': '可用',
|
|
1627
|
+
'cli.refreshStatus': '刷新状态',
|
|
1628
|
+
'cli.ready': '就绪',
|
|
1629
|
+
'cli.notInstalled': '未安装',
|
|
1630
|
+
'cli.setDefault': '设为默认',
|
|
1631
|
+
'cli.default': '默认',
|
|
1632
|
+
'cli.install': '安装',
|
|
1633
|
+
'cli.uninstall': '卸载',
|
|
1634
|
+
'cli.initIndex': '初始化索引',
|
|
1635
|
+
'cli.geminiDesc': 'Google AI 代码分析',
|
|
1636
|
+
'cli.qwenDesc': '阿里通义 AI 助手',
|
|
1637
|
+
'cli.codexDesc': 'OpenAI 代码生成',
|
|
1638
|
+
'cli.codexLensDesc': '代码索引 & 全文搜索',
|
|
1639
|
+
'cli.codexLensDescFull': '全文代码搜索引擎',
|
|
1640
|
+
'cli.semanticDesc': 'AI 驱动的代码理解',
|
|
1641
|
+
'cli.semanticDescFull': '自然语言代码搜索',
|
|
1642
|
+
|
|
1643
|
+
// CodexLens 配置
|
|
1644
|
+
'codexlens.config': 'CodexLens 配置',
|
|
1645
|
+
'codexlens.status': '状态',
|
|
1646
|
+
'codexlens.installed': '已安装',
|
|
1647
|
+
'codexlens.notInstalled': '未安装',
|
|
1648
|
+
'codexlens.indexes': '索引',
|
|
1649
|
+
'codexlens.currentWorkspace': '当前工作区',
|
|
1650
|
+
'codexlens.indexStoragePath': '索引存储路径',
|
|
1651
|
+
'codexlens.whereIndexesStored': '索引存储位置',
|
|
1652
|
+
'codexlens.currentPath': '当前路径',
|
|
1653
|
+
'codexlens.newStoragePath': '新存储路径',
|
|
1654
|
+
'codexlens.pathPlaceholder': '例如:/path/to/indexes 或 ~/.codexlens/indexes',
|
|
1655
|
+
'codexlens.pathInfo': '支持 ~ 表示用户目录。更改立即生效。',
|
|
1656
|
+
'codexlens.migrationRequired': '需要迁移',
|
|
1657
|
+
'codexlens.migrationWarning': '更改路径后,需要为每个工作区重新初始化索引。',
|
|
1658
|
+
'codexlens.actions': '操作',
|
|
1659
|
+
'codexlens.initializeIndex': '初始化索引',
|
|
1660
|
+
'codexlens.cleanCurrentWorkspace': '清理当前工作空间',
|
|
1661
|
+
'codexlens.cleanAllIndexes': '清理所有索引',
|
|
1662
|
+
'codexlens.installCodexLens': '安装 CodexLens',
|
|
1663
|
+
'codexlens.testSearch': '测试搜索',
|
|
1664
|
+
'codexlens.testFunctionality': '测试 CodexLens 功能',
|
|
1665
|
+
'codexlens.textSearch': '文本搜索',
|
|
1666
|
+
'codexlens.fileSearch': '文件搜索',
|
|
1667
|
+
'codexlens.symbolSearch': '符号搜索',
|
|
1668
|
+
'codexlens.exactMode': '精确模式',
|
|
1669
|
+
'codexlens.fuzzyMode': '模糊模式 (Trigram)',
|
|
1670
|
+
'codexlens.hybridMode': '混合模式 (RRF)',
|
|
1671
|
+
'codexlens.vectorMode': '向量模式 (语义搜索)',
|
|
1672
|
+
'codexlens.searchPlaceholder': '输入搜索查询(例如:函数名、文件路径、代码片段)',
|
|
1673
|
+
'codexlens.runSearch': '运行搜索',
|
|
1674
|
+
'codexlens.results': '结果',
|
|
1675
|
+
'codexlens.resultsCount': '个结果',
|
|
1676
|
+
'codexlens.saveConfig': '保存配置',
|
|
1677
|
+
'codexlens.searching': '搜索中...',
|
|
1678
|
+
'codexlens.searchCompleted': '搜索完成',
|
|
1679
|
+
'codexlens.searchFailed': '搜索失败',
|
|
1680
|
+
'codexlens.enterQuery': '请输入搜索查询',
|
|
1681
|
+
'codexlens.configSaved': '配置保存成功',
|
|
1682
|
+
'codexlens.pathEmpty': '索引目录路径不能为空',
|
|
1683
|
+
'codexlens.cleanConfirm': '确定要清理所有 CodexLens 索引吗?此操作无法撤销。',
|
|
1684
|
+
'codexlens.cleanCurrentWorkspaceConfirm': '确定要清理当前工作空间的索引吗?此操作无法撤销。',
|
|
1685
|
+
'codexlens.cleaning': '清理索引中...',
|
|
1686
|
+
'codexlens.cleanSuccess': '所有索引已成功清理',
|
|
1687
|
+
'codexlens.cleanCurrentWorkspaceSuccess': '当前工作空间索引已成功清理',
|
|
1688
|
+
'codexlens.cleanFailed': '清理索引失败',
|
|
1689
|
+
'codexlens.loadingConfig': '加载配置中...',
|
|
1690
|
+
|
|
1691
|
+
// 模型管理
|
|
1692
|
+
'codexlens.semanticDeps': '语义搜索依赖',
|
|
1693
|
+
'codexlens.checkingDeps': '检查依赖中...',
|
|
1694
|
+
'codexlens.semanticInstalled': '语义搜索依赖已安装',
|
|
1695
|
+
'codexlens.semanticNotInstalled': '语义搜索依赖未安装',
|
|
1696
|
+
'codexlens.installDeps': '安装依赖',
|
|
1697
|
+
'codexlens.installDepsPrompt': '是否立即安装?(可能需要几分钟)\n\n点击"取消"将只创建 FTS 索引。',
|
|
1698
|
+
'codexlens.installingDeps': '安装依赖中...',
|
|
1699
|
+
'codexlens.installingMode': '正在安装',
|
|
1700
|
+
'codexlens.depsInstalled': '依赖安装成功',
|
|
1701
|
+
'codexlens.depsInstallFailed': '依赖安装失败',
|
|
1702
|
+
|
|
1703
|
+
// GPU 模式选择
|
|
1704
|
+
'codexlens.selectGpuMode': '选择加速模式',
|
|
1705
|
+
'codexlens.cpuModeDesc': '标准 CPU 处理',
|
|
1706
|
+
'codexlens.directmlModeDesc': 'Windows GPU(NVIDIA/AMD/Intel)',
|
|
1707
|
+
'codexlens.cudaModeDesc': 'NVIDIA GPU(需要 CUDA Toolkit)',
|
|
1708
|
+
'common.recommended': '推荐',
|
|
1709
|
+
'common.unavailable': '不可用',
|
|
1710
|
+
'codexlens.modelManagement': '模型管理',
|
|
1711
|
+
'codexlens.loadingModels': '加载模型中...',
|
|
1712
|
+
'codexlens.downloadModel': '下载',
|
|
1713
|
+
'codexlens.deleteModel': '删除',
|
|
1714
|
+
'codexlens.downloading': '下载中...',
|
|
1715
|
+
'codexlens.deleting': '删除中...',
|
|
1716
|
+
'codexlens.modelDownloaded': '模型已下载',
|
|
1717
|
+
'codexlens.modelDownloadFailed': '模型下载失败',
|
|
1718
|
+
'codexlens.modelDeleted': '模型已删除',
|
|
1719
|
+
'codexlens.modelDeleteFailed': '模型删除失败',
|
|
1720
|
+
'codexlens.deleteModelConfirm': '确定要删除模型',
|
|
1721
|
+
'codexlens.modelListError': '加载模型列表失败',
|
|
1722
|
+
'codexlens.noModelsAvailable': '没有可用模型',
|
|
1723
|
+
|
|
1724
|
+
// 模型下载进度
|
|
1725
|
+
'codexlens.downloadingModel': '正在下载',
|
|
1726
|
+
'codexlens.connectingToHuggingFace': '正在连接 Hugging Face...',
|
|
1727
|
+
'codexlens.downloadTimeEstimate': '预计时间',
|
|
1728
|
+
'codexlens.manualDownloadHint': '手动下载',
|
|
1729
|
+
'codexlens.downloadingModelFiles': '正在下载模型文件...',
|
|
1730
|
+
'codexlens.downloadingWeights': '正在下载模型权重...',
|
|
1731
|
+
'codexlens.downloadingTokenizer': '正在下载分词器...',
|
|
1732
|
+
'codexlens.verifyingModel': '正在验证模型...',
|
|
1733
|
+
'codexlens.finalizingDownload': '正在完成...',
|
|
1734
|
+
'codexlens.downloadComplete': '下载完成!',
|
|
1735
|
+
'codexlens.downloadFailed': '下载失败',
|
|
1736
|
+
'codexlens.manualDownloadOptions': '手动下载选项',
|
|
1737
|
+
'codexlens.cliDownload': '命令行',
|
|
1738
|
+
'codexlens.huggingfaceDownload': 'Hugging Face',
|
|
1739
|
+
'codexlens.downloadCanceled': '下载已取消',
|
|
1740
|
+
|
|
1741
|
+
// 手动下载指南
|
|
1742
|
+
'codexlens.manualDownloadGuide': '手动下载指南',
|
|
1743
|
+
'codexlens.cliMethod': '命令行(推荐)',
|
|
1744
|
+
'codexlens.cliMethodDesc': '在终端运行,显示下载进度:',
|
|
1745
|
+
'codexlens.pythonMethod': 'Python 脚本',
|
|
1746
|
+
'codexlens.pythonMethodDesc': '使用 Python 预下载模型:',
|
|
1747
|
+
'codexlens.hfHubMethod': 'Hugging Face Hub CLI',
|
|
1748
|
+
'codexlens.hfHubMethodDesc': '使用 huggingface-cli 下载,支持断点续传:',
|
|
1749
|
+
'codexlens.modelLinks': '模型直链',
|
|
1750
|
+
'codexlens.cacheLocation': '模型存储位置',
|
|
1751
|
+
'common.copied': '已复制到剪贴板',
|
|
1752
|
+
|
|
1753
|
+
// CodexLens 索引进度
|
|
1754
|
+
'codexlens.indexing': '索引中',
|
|
1755
|
+
'codexlens.indexingDesc': '正在为工作区构建代码索引',
|
|
1756
|
+
'codexlens.preparingIndex': '准备索引...',
|
|
1757
|
+
'codexlens.filesProcessed': '已处理文件',
|
|
1758
|
+
'codexlens.indexComplete': '索引完成',
|
|
1759
|
+
'codexlens.indexSuccess': '索引创建成功',
|
|
1760
|
+
'codexlens.indexFailed': '索引失败',
|
|
1761
|
+
|
|
1762
|
+
// CodexLens 安装
|
|
1763
|
+
'codexlens.installDesc': '基于 Python 的代码索引引擎',
|
|
1764
|
+
'codexlens.whatWillBeInstalled': '将安装的内容:',
|
|
1765
|
+
'codexlens.pythonVenv': 'Python 虚拟环境',
|
|
1766
|
+
'codexlens.pythonVenvDesc': '隔离的 Python 环境',
|
|
1767
|
+
'codexlens.codexlensPackage': 'CodexLens 包',
|
|
1768
|
+
'codexlens.codexlensPackageDesc': '代码索引和搜索引擎',
|
|
1769
|
+
'codexlens.sqliteFtsDesc': '全文搜索数据库',
|
|
1770
|
+
'codexlens.installLocation': '安装位置',
|
|
1771
|
+
'codexlens.installTime': '首次安装可能需要 2-3 分钟下载和配置 Python 包。',
|
|
1772
|
+
'codexlens.startingInstall': '正在启动安装...',
|
|
1773
|
+
'codexlens.installing': '安装中...',
|
|
1774
|
+
'codexlens.creatingVenv': '正在创建虚拟环境...',
|
|
1775
|
+
'codexlens.installingPip': '正在安装 pip 包...',
|
|
1776
|
+
'codexlens.installingPackage': '正在安装 CodexLens 包...',
|
|
1777
|
+
'codexlens.settingUpDeps': '正在配置 Python 依赖...',
|
|
1778
|
+
'codexlens.installComplete': '安装完成!',
|
|
1779
|
+
'codexlens.installSuccess': 'CodexLens 安装成功!',
|
|
1780
|
+
'codexlens.installNow': '立即安装',
|
|
1781
|
+
'codexlens.accelerator': '加速器',
|
|
1782
|
+
|
|
1783
|
+
// CodexLens 卸载
|
|
1784
|
+
'codexlens.uninstall': '卸载',
|
|
1785
|
+
'codexlens.uninstallDesc': '移除 CodexLens 及所有数据',
|
|
1786
|
+
'codexlens.whatWillBeRemoved': '将被移除的内容:',
|
|
1787
|
+
'codexlens.removeVenv': '虚拟环境 ~/.codexlens/venv',
|
|
1788
|
+
'codexlens.removeData': '所有 CodexLens 索引数据和数据库',
|
|
1789
|
+
'codexlens.removeConfig': '配置文件和语义搜索模型',
|
|
1790
|
+
'codexlens.removing': '正在删除文件...',
|
|
1791
|
+
'codexlens.uninstalling': '正在卸载...',
|
|
1792
|
+
'codexlens.removingVenv': '正在删除虚拟环境...',
|
|
1793
|
+
'codexlens.removingData': '正在删除索引数据...',
|
|
1794
|
+
'codexlens.removingConfig': '正在清理配置文件...',
|
|
1795
|
+
'codexlens.finalizing': '正在完成卸载...',
|
|
1796
|
+
'codexlens.uninstallComplete': '卸载完成!',
|
|
1797
|
+
'codexlens.uninstallSuccess': 'CodexLens 卸载成功!',
|
|
1798
|
+
|
|
1799
|
+
// 索引管理器
|
|
1800
|
+
'index.manager': '索引管理器',
|
|
1801
|
+
'index.projects': '项目数',
|
|
1802
|
+
'index.totalSize': '总大小',
|
|
1803
|
+
'index.vectorIndexes': '向量',
|
|
1804
|
+
'index.ftsIndexes': 'FTS',
|
|
1805
|
+
'index.projectId': '项目 ID',
|
|
1806
|
+
'index.size': '大小',
|
|
1807
|
+
'index.type': '类型',
|
|
1808
|
+
'index.lastModified': '修改时间',
|
|
1809
|
+
'index.vector': '向量',
|
|
1810
|
+
'index.fts': 'FTS',
|
|
1811
|
+
'index.noIndexes': '暂无索引',
|
|
1812
|
+
'index.notConfigured': '未配置',
|
|
1813
|
+
'index.initCurrent': '索引当前项目',
|
|
1814
|
+
'index.cleanAll': '清理全部',
|
|
1815
|
+
'index.cleanProject': '清理索引',
|
|
1816
|
+
'index.cleanProjectConfirm': '清理索引:',
|
|
1817
|
+
'index.cleaning': '清理索引中...',
|
|
1818
|
+
'index.cleanSuccess': '索引清理成功',
|
|
1819
|
+
'index.cleanFailed': '清理失败',
|
|
1820
|
+
'index.cleanAllConfirm': '确定要清理所有索引吗?此操作无法撤销。',
|
|
1821
|
+
'index.cleanAllSuccess': '所有索引已清理',
|
|
1822
|
+
'index.vectorIndex': '向量索引',
|
|
1823
|
+
'index.normalIndex': 'FTS索引',
|
|
1824
|
+
'index.fullIndex': '全部索引',
|
|
1825
|
+
'index.vectorDesc': '语义搜索(含嵌入向量)',
|
|
1826
|
+
'index.normalDesc': '快速全文搜索',
|
|
1827
|
+
'index.fullDesc': 'FTS + 语义搜索(推荐)',
|
|
1828
|
+
'index.selectModel': '选择嵌入模型',
|
|
1829
|
+
'index.modelCode': '代码优化 (768维)',
|
|
1830
|
+
'index.modelBase': '通用基础 (768维)',
|
|
1831
|
+
'index.modelFast': '快速轻量 (384维)',
|
|
1832
|
+
'index.modelMinilm': 'MiniLM (384维)',
|
|
1833
|
+
'index.modelMultilingual': '多语言 (1024维) ⚠️',
|
|
1834
|
+
'index.modelBalanced': '高精度 (1024维) ⚠️',
|
|
1835
|
+
'index.dimensionWarning': '1024维模型需要更多资源',
|
|
1836
|
+
|
|
1837
|
+
// Semantic Search 配置
|
|
1838
|
+
'semantic.settings': '语义搜索设置',
|
|
1839
|
+
'semantic.testSearch': '测试语义搜索',
|
|
1840
|
+
'semantic.searchPlaceholder': '输入语义查询(例如:身份验证逻辑、错误处理)',
|
|
1841
|
+
'semantic.runSearch': '运行语义搜索',
|
|
1842
|
+
'semantic.close': '关闭',
|
|
1843
|
+
|
|
1844
|
+
'cli.settings': '设置',
|
|
1845
|
+
|
|
1846
|
+
// 语言设置
|
|
1847
|
+
'lang.settings': '回复语言',
|
|
1848
|
+
'lang.settingsDesc': '配置 Claude 回复语言偏好',
|
|
1849
|
+
'lang.chinese': '中文回复',
|
|
1850
|
+
'lang.chineseDesc': '在全局 CLAUDE.md 中启用中文回复准则',
|
|
1851
|
+
'lang.enabled': '已启用',
|
|
1852
|
+
'lang.disabled': '已禁用',
|
|
1853
|
+
'lang.enableSuccess': '中文回复已启用',
|
|
1854
|
+
'lang.disableSuccess': '中文回复已禁用',
|
|
1855
|
+
'lang.enableFailed': '启用中文回复失败',
|
|
1856
|
+
'lang.disableFailed': '禁用中文回复失败',
|
|
1857
|
+
'lang.windows': 'Windows 平台规范',
|
|
1858
|
+
'lang.windowsDesc': '在全局 CLAUDE.md 中启用 Windows 路径格式规范',
|
|
1859
|
+
'lang.windowsEnableSuccess': 'Windows 平台规范已启用',
|
|
1860
|
+
'lang.windowsDisableSuccess': 'Windows 平台规范已禁用',
|
|
1861
|
+
'lang.windowsEnableFailed': '启用 Windows 平台规范失败',
|
|
1862
|
+
'lang.windowsDisableFailed': '禁用 Windows 平台规范失败',
|
|
1863
|
+
'cli.promptFormat': '提示词格式',
|
|
1864
|
+
'cli.promptFormatDesc': '多轮对话拼接格式',
|
|
1865
|
+
'cli.storageBackend': '存储后端',
|
|
1866
|
+
'cli.storageBackendDesc': 'CLI 历史使用 SQLite 存储,支持全文搜索',
|
|
1867
|
+
'cli.smartContext': '智能上下文',
|
|
1868
|
+
'cli.smartContextDesc': '自动分析提示词并添加相关文件路径',
|
|
1869
|
+
'cli.nativeResume': '原生恢复',
|
|
1870
|
+
'cli.nativeResumeDesc': '使用工具原生恢复命令 (gemini -r, qwen --resume, codex resume)',
|
|
1871
|
+
'cli.recursiveQuery': '递归查询',
|
|
1872
|
+
'cli.recursiveQueryDesc': '聚合显示父项目和子项目的 CLI 历史与内存数据',
|
|
1873
|
+
'cli.maxContextFiles': '最大上下文文件数',
|
|
1874
|
+
'cli.maxContextFilesDesc': '智能上下文包含的最大文件数',
|
|
1875
|
+
|
|
1876
|
+
// CCW Install
|
|
1877
|
+
'ccw.install': 'CCW 安装',
|
|
1878
|
+
'ccw.installations': '个安装',
|
|
1879
|
+
'ccw.installationsPlural': '个安装',
|
|
1880
|
+
'ccw.noInstallations': '未找到安装',
|
|
1881
|
+
'ccw.installCcw': '安装 CCW',
|
|
1882
|
+
'ccw.upgrade': '升级',
|
|
1883
|
+
'ccw.uninstall': '卸载',
|
|
1884
|
+
'ccw.files': '个文件',
|
|
1885
|
+
'ccw.globalInstall': '全局安装',
|
|
1886
|
+
'ccw.globalInstallDesc': '安装到用户主目录 (~/.claude)',
|
|
1887
|
+
'ccw.pathInstall': '路径安装',
|
|
1888
|
+
'ccw.pathInstallDesc': '安装到指定项目文件夹',
|
|
1889
|
+
'ccw.installPath': '安装路径',
|
|
1890
|
+
'ccw.installToPath': '安装到路径',
|
|
1891
|
+
'ccw.uninstallConfirm': '从此位置卸载 CCW?',
|
|
1892
|
+
'ccw.upgradeStarting': '开始升级...',
|
|
1893
|
+
'ccw.upgradeCompleted': '升级完成!正在刷新...',
|
|
1894
|
+
'ccw.upgradeFailed': '升级失败: {error}',
|
|
1895
|
+
|
|
1896
|
+
// CCW Endpoint Tools
|
|
1897
|
+
'ccw.endpointTools': 'CCW 端点工具',
|
|
1898
|
+
'ccw.tool': '个工具',
|
|
1899
|
+
'ccw.tools': '个工具',
|
|
1900
|
+
'ccw.noEndpointTools': '未找到端点工具',
|
|
1901
|
+
'ccw.parameters': '参数',
|
|
1902
|
+
'ccw.required': '必填',
|
|
1903
|
+
'ccw.optional': '可选',
|
|
1904
|
+
'ccw.default': '默认值:',
|
|
1905
|
+
'ccw.options': '选项:',
|
|
1906
|
+
'ccw.noParams': '此工具没有参数',
|
|
1907
|
+
'ccw.usageExample': '使用示例',
|
|
1908
|
+
'ccw.endpointTool': '端点工具',
|
|
1909
|
+
|
|
1910
|
+
// Explorer
|
|
1911
|
+
'explorer.title': '浏览器',
|
|
1912
|
+
'explorer.refresh': '刷新',
|
|
1913
|
+
'explorer.selectFile': '选择文件预览',
|
|
1914
|
+
'explorer.selectFileHint': '从树中选择文件以预览其内容',
|
|
1915
|
+
'explorer.loading': '正在加载文件树...',
|
|
1916
|
+
'explorer.loadingFile': '正在加载文件...',
|
|
1917
|
+
'explorer.emptyDir': '空目录',
|
|
1918
|
+
'explorer.loadError': '加载失败: {error}',
|
|
1919
|
+
'explorer.preview': '预览',
|
|
1920
|
+
'explorer.source': '源码',
|
|
1921
|
+
'explorer.lines': '行',
|
|
1922
|
+
'explorer.updateClaudeMd': '更新 CLAUDE.md',
|
|
1923
|
+
'explorer.currentFolderOnly': '更新 CLAUDE.md(仅当前文件夹)',
|
|
1924
|
+
'explorer.withSubdirs': '更新 CLAUDE.md(包含子目录)',
|
|
1925
|
+
|
|
1926
|
+
// Task Queue
|
|
1927
|
+
'taskQueue.title': '更新任务',
|
|
1928
|
+
'taskQueue.cli': 'CLI:',
|
|
1929
|
+
'taskQueue.addTask': '添加更新任务',
|
|
1930
|
+
'taskQueue.startAll': '开始所有任务',
|
|
1931
|
+
'taskQueue.clearCompleted': '清除已完成',
|
|
1932
|
+
'taskQueue.noTasks': '队列中没有任务',
|
|
1933
|
+
'taskQueue.noTasksHint': '悬停文件夹并点击图标添加任务',
|
|
1934
|
+
'taskQueue.processing': '处理中...',
|
|
1935
|
+
'taskQueue.updated': '更新成功',
|
|
1936
|
+
'taskQueue.failed': '更新失败',
|
|
1937
|
+
'taskQueue.currentOnly': '仅当前',
|
|
1938
|
+
'taskQueue.withSubdirs': '含子目录',
|
|
1939
|
+
'taskQueue.startingTasks': '正在并行启动 {count} 个任务...',
|
|
1940
|
+
'taskQueue.queueCompleted': '队列完成: {success} 个成功, {failed} 个失败',
|
|
1941
|
+
|
|
1942
|
+
// Update CLAUDE.md Modal
|
|
1943
|
+
'updateClaudeMd.title': '更新 CLAUDE.md',
|
|
1944
|
+
'updateClaudeMd.targetDir': '目标目录',
|
|
1945
|
+
'updateClaudeMd.cliTool': 'CLI 工具',
|
|
1946
|
+
'updateClaudeMd.strategy': '策略',
|
|
1947
|
+
'updateClaudeMd.singleLayer': '单层 - 仅当前目录 + 子 CLAUDE.md 引用',
|
|
1948
|
+
'updateClaudeMd.multiLayer': '多层 - 在所有子目录生成 CLAUDE.md',
|
|
1949
|
+
'updateClaudeMd.running': '正在更新...',
|
|
1950
|
+
'updateClaudeMd.execute': '执行',
|
|
1951
|
+
'updateClaudeMd.addToQueue': '添加到队列',
|
|
1952
|
+
'updateClaudeMd.cancel': '取消',
|
|
1953
|
+
|
|
1954
|
+
// MCP Manager
|
|
1955
|
+
'mcp.currentAvailable': '当前可用 MCP',
|
|
1956
|
+
'mcp.installToProject': '安装到项目',
|
|
1957
|
+
'mcp.installToGlobal': '安装到全局',
|
|
1958
|
+
'mcp.installToWorkspace': '安装到工作空间',
|
|
1959
|
+
'mcp.updateInWorkspace': '在工作空间更新',
|
|
1960
|
+
'mcp.updateInGlobal': '在全局更新',
|
|
1961
|
+
'mcp.projectAvailable': '当前可用 MCP',
|
|
1962
|
+
'mcp.newServer': '新建服务器',
|
|
1963
|
+
'mcp.newGlobalServer': '新建全局服务器',
|
|
1964
|
+
'mcp.newProjectServer': '新建项目服务器',
|
|
1965
|
+
'mcp.serversConfigured': '个服务器已配置',
|
|
1966
|
+
'mcp.serversAvailable': 'servers available',
|
|
1967
|
+
'mcp.globalAvailable': '全局可用 MCP',
|
|
1968
|
+
'mcp.globalServersFrom': '个服务器来自 ~/.claude.json',
|
|
1969
|
+
'mcp.enterprise': '企业 MCP 服务器',
|
|
1970
|
+
'mcp.enterpriseManaged': '托管',
|
|
1971
|
+
'mcp.enterpriseReadOnly': '个服务器(只读)',
|
|
1972
|
+
'mcp.user': '用户 MCP 服务器',
|
|
1973
|
+
'mcp.userServersFrom': '个服务器来自 ~/.claude.json',
|
|
1974
|
+
'mcp.availableOther': '其他项目可用',
|
|
1975
|
+
'mcp.serversAvailable': '个服务器可用',
|
|
1976
|
+
'mcp.allProjects': '所有项目 MCP 概览',
|
|
1977
|
+
'mcp.projects': '个项目',
|
|
1978
|
+
'mcp.project': '项目',
|
|
1979
|
+
'mcp.servers': 'MCP 服务器',
|
|
1980
|
+
'mcp.status': '状态',
|
|
1981
|
+
'mcp.current': '(当前)',
|
|
1982
|
+
'mcp.noMcpServers': '无 MCP 服务器',
|
|
1983
|
+
'mcp.add': '添加',
|
|
1984
|
+
'mcp.addToProject': '添加到项目',
|
|
1985
|
+
'mcp.installToProject': '安装到项目',
|
|
1986
|
+
'mcp.installToGlobal': '安装到全局',
|
|
1987
|
+
'mcp.installToProject': 'Install to project',
|
|
1988
|
+
'mcp.installToGlobal': 'Install to global',
|
|
1989
|
+
'mcp.removeFromProject': '从项目移除',
|
|
1990
|
+
'mcp.removeConfirm': '从此项目移除 MCP 服务器 "{name}"?',
|
|
1991
|
+
'mcp.readOnly': '只读',
|
|
1992
|
+
'mcp.usedIn': '用于 {count} 个项目',
|
|
1993
|
+
'mcp.usedInPlural': '用于 {count} 个项目',
|
|
1994
|
+
'mcp.availableToAll': '可用于所有项目,来自 ~/.claude.json',
|
|
1995
|
+
'mcp.managedByOrg': '由组织管理(最高优先级)',
|
|
1996
|
+
'mcp.variables': '个变量',
|
|
1997
|
+
'mcp.cmd': '命令',
|
|
1998
|
+
'mcp.url': '地址',
|
|
1999
|
+
'mcp.args': '参数',
|
|
2000
|
+
'mcp.env': '环境变量',
|
|
2001
|
+
'mcp.usedInCount': '用于 {count} 个项目',
|
|
2002
|
+
'mcp.from': '来自',
|
|
2003
|
+
'mcp.variant': '变体',
|
|
2004
|
+
'mcp.sourceEnterprise': '企业级',
|
|
2005
|
+
'mcp.sourceGlobal': '全局',
|
|
2006
|
+
'mcp.sourceProject': '项目级',
|
|
2007
|
+
'mcp.viewDetails': '查看详情',
|
|
2008
|
+
'mcp.clickToViewDetails': '点击查看详情',
|
|
2009
|
+
|
|
2010
|
+
// MCP Details Modal
|
|
2011
|
+
'mcp.detailsModal.title': 'MCP 服务器详情',
|
|
2012
|
+
'mcp.detailsModal.close': '关闭',
|
|
2013
|
+
'mcp.detailsModal.serverName': '服务器名称',
|
|
2014
|
+
'mcp.detailsModal.source': '来源',
|
|
2015
|
+
'mcp.detailsModal.configuration': '配置',
|
|
2016
|
+
'mcp.detailsModal.noEnv': '无环境变量',
|
|
2017
|
+
|
|
2018
|
+
// MCP Create Modal
|
|
2019
|
+
'mcp.createTitle': '创建 MCP 服务器',
|
|
2020
|
+
'mcp.form': '表单',
|
|
2021
|
+
'mcp.json': 'JSON',
|
|
2022
|
+
'mcp.serverName': '服务器名称',
|
|
2023
|
+
'mcp.serverNamePlaceholder': '例如: my-mcp-server',
|
|
2024
|
+
'mcp.command': '命令',
|
|
2025
|
+
'mcp.commandPlaceholder': '例如: npx, uvx, node, python',
|
|
2026
|
+
'mcp.arguments': '参数(每行一个)',
|
|
2027
|
+
'mcp.envVars': '环境变量(每行 KEY=VALUE)',
|
|
2028
|
+
'mcp.pasteJson': '粘贴 MCP 服务器 JSON 配置',
|
|
2029
|
+
'mcp.jsonFormatsHint': '支持 {"servers": {...}}、{"mcpServers": {...}} 和直接服务器配置格式。',
|
|
2030
|
+
'mcp.previewServers': '预览(将添加的服务器):',
|
|
2031
|
+
'mcp.create': '创建',
|
|
2032
|
+
'mcp.chooseInstallLocation': '选择安装位置',
|
|
2033
|
+
'mcp.installToClaudeJson': '安装到 .claude.json',
|
|
2034
|
+
'mcp.installToMcpJson': '安装到 .mcp.json(推荐)',
|
|
2035
|
+
'mcp.claudeJsonDesc': '保存在根目录 .claude.json projects 字段下(共享配置)',
|
|
2036
|
+
'mcp.mcpJsonDesc': '保存在项目 .mcp.json 文件中(推荐用于版本控制)',
|
|
2037
|
+
|
|
2038
|
+
// New MCP Manager UI
|
|
2039
|
+
'mcp.title': 'MCP 服务器管理',
|
|
2040
|
+
'mcp.subtitle': '管理 Claude、Codex 和项目级别的 MCP 服务器配置',
|
|
2041
|
+
'mcp.createNew': '创建新服务器',
|
|
2042
|
+
'mcp.createFirst': '创建第一个服务器',
|
|
2043
|
+
'mcp.noServers': '未配置 MCP 服务器',
|
|
2044
|
+
'mcp.noServersDesc': '开始创建新的 MCP 服务器或从模板安装',
|
|
2045
|
+
'mcp.totalServers': '总服务器数',
|
|
2046
|
+
'mcp.enabled': '已启用',
|
|
2047
|
+
'mcp.viewServer': '查看服务器',
|
|
2048
|
+
'mcp.editServer': '编辑服务器',
|
|
2049
|
+
'mcp.createServer': '创建服务器',
|
|
2050
|
+
'mcp.updateServer': '更新服务器',
|
|
2051
|
+
'mcp.close': '关闭',
|
|
2052
|
+
'mcp.cancel': '取消',
|
|
2053
|
+
'mcp.update': '更新',
|
|
2054
|
+
'mcp.install': '安装',
|
|
2055
|
+
'mcp.save': '保存',
|
|
2056
|
+
'mcp.delete': '删除',
|
|
2057
|
+
'mcp.optional': '可选',
|
|
2058
|
+
'mcp.description': '描述',
|
|
2059
|
+
'mcp.category': '分类',
|
|
2060
|
+
'mcp.installTo': '安装到',
|
|
2061
|
+
'mcp.configTarget': '配置目标',
|
|
2062
|
+
'mcp.clickToSwitch': '点击切换',
|
|
2063
|
+
'mcp.usingMcpJson': '使用 .mcp.json',
|
|
2064
|
+
'mcp.usingClaudeJson': '使用 claude.json',
|
|
2065
|
+
'mcp.cwd': '工作目录',
|
|
2066
|
+
'mcp.httpHeaders': 'HTTP 头',
|
|
2067
|
+
'mcp.error': '错误',
|
|
2068
|
+
'mcp.success': '成功',
|
|
2069
|
+
'mcp.nameRequired': '服务器名称为必填项',
|
|
2070
|
+
'mcp.commandRequired': '命令为必填项',
|
|
2071
|
+
'mcp.urlRequired': 'URL 为必填项',
|
|
2072
|
+
'mcp.invalidArgsJson': '参数 JSON 格式无效',
|
|
2073
|
+
'mcp.invalidEnvJson': '环境变量 JSON 格式无效',
|
|
2074
|
+
'mcp.invalidHeadersJson': 'HTTP 头 JSON 格式无效',
|
|
2075
|
+
'mcp.serverInstalled': '服务器安装成功',
|
|
2076
|
+
'mcp.serverEnabled': '服务器启用成功',
|
|
2077
|
+
'mcp.serverDisabled': '服务器禁用成功',
|
|
2078
|
+
'mcp.serverDeleted': '服务器删除成功',
|
|
2079
|
+
'mcp.backToManager': '返回管理器',
|
|
2080
|
+
'mcp.noTemplates': '无可用模板',
|
|
2081
|
+
'mcp.noTemplatesDesc': '从现有服务器创建模板或添加新模板',
|
|
2082
|
+
'mcp.templatesDesc': '浏览并安装预配置的 MCP 服务器模板',
|
|
2083
|
+
|
|
2084
|
+
// MCP CLI Mode
|
|
2085
|
+
'mcp.cliMode': 'CLI 模式',
|
|
2086
|
+
'mcp.claudeMode': 'Claude 模式',
|
|
2087
|
+
'mcp.codexMode': 'Codex 模式',
|
|
2088
|
+
|
|
2089
|
+
// CCW Tools Path Settings
|
|
2090
|
+
'mcp.pathSettings': '路径设置',
|
|
2091
|
+
'mcp.useCurrentDir': '使用当前目录',
|
|
2092
|
+
'mcp.useCurrentProject': '使用当前项目',
|
|
2093
|
+
'mcp.allowedDirsPlaceholder': '逗号分隔的路径列表(可选)',
|
|
2094
|
+
|
|
2095
|
+
// Codex MCP
|
|
2096
|
+
'mcp.codex.globalServers': 'Codex 全局 MCP 服务器',
|
|
2097
|
+
'mcp.codex.newServer': '新建服务器',
|
|
2098
|
+
'mcp.codex.noServers': '未配置 Codex MCP 服务器',
|
|
2099
|
+
'mcp.codex.noServersHint': '使用 "codex mcp add" 命令或在此处创建',
|
|
2100
|
+
'mcp.codex.infoTitle': '关于 Codex MCP',
|
|
2101
|
+
'mcp.codex.infoDesc': 'Codex MCP 服务器仅支持全局配置(存储在 ~/.codex/config.toml)。使用 TOML 格式配置。',
|
|
2102
|
+
'mcp.codex.serverAdded': 'Codex MCP 服务器 "{name}" 已添加',
|
|
2103
|
+
'mcp.codex.addFailed': '添加 Codex MCP 服务器失败',
|
|
2104
|
+
'mcp.codex.serverRemoved': 'Codex MCP 服务器 "{name}" 已移除',
|
|
2105
|
+
'mcp.codex.removeFailed': '移除 Codex MCP 服务器失败',
|
|
2106
|
+
'mcp.codex.serverToggled': 'Codex MCP 服务器 "{name}" 已{state}',
|
|
2107
|
+
'mcp.codex.toggleFailed': '切换 Codex MCP 服务器失败',
|
|
2108
|
+
'mcp.codex.remove': '移除',
|
|
2109
|
+
'mcp.codex.removeConfirm': '移除 Codex MCP 服务器 "{name}"?',
|
|
2110
|
+
'mcp.codex.copyToClaude': '复制到 Claude',
|
|
2111
|
+
'mcp.codex.copyToCodex': '复制到 Codex',
|
|
2112
|
+
'mcp.codex.install': '安装到 Codex',
|
|
2113
|
+
'mcp.codex.copyFromClaude': '从 Claude 复制服务器到 Codex',
|
|
2114
|
+
'mcp.codex.alreadyAdded': '已在 Codex 中',
|
|
2115
|
+
'mcp.codex.scopeCodex': 'Codex - 全局 (~/.codex/config.toml)',
|
|
2116
|
+
'mcp.codex.enabledTools': '工具',
|
|
2117
|
+
'mcp.codex.tools': '个工具已启用',
|
|
2118
|
+
|
|
2119
|
+
// Claude to Codex copy
|
|
2120
|
+
'mcp.claude.copyFromCodex': '从 Codex 复制服务器到 Claude',
|
|
2121
|
+
'mcp.claude.alreadyAdded': '已在 Claude 中',
|
|
2122
|
+
'mcp.claude.copyToClaude': '复制到 Claude 全局',
|
|
2123
|
+
'mcp.claude.copyToCodex': '复制到 Codex',
|
|
2124
|
+
|
|
2125
|
+
// MCP Edit Modal
|
|
2126
|
+
'mcp.editModal.title': '编辑 MCP 服务器',
|
|
2127
|
+
'mcp.editModal.serverNamePlaceholder': 'server-name',
|
|
2128
|
+
'mcp.editModal.onePerLine': '每行一个',
|
|
2129
|
+
'mcp.editModal.save': '保存更改',
|
|
2130
|
+
'mcp.editModal.delete': '删除',
|
|
2131
|
+
'mcp.editModal.nameRequired': '服务器名称必填',
|
|
2132
|
+
'mcp.editModal.commandRequired': '命令或 URL 必填',
|
|
2133
|
+
'mcp.editModal.saved': 'MCP 服务器 "{name}" 已更新',
|
|
2134
|
+
'mcp.editModal.saveFailed': '保存 MCP 服务器失败',
|
|
2135
|
+
'mcp.editModal.deleteConfirm': '删除 MCP 服务器 "{name}"?',
|
|
2136
|
+
'mcp.editModal.deleted': 'MCP 服务器 "{name}" 已删除',
|
|
2137
|
+
'mcp.editModal.deleteFailed': '删除 MCP 服务器失败',
|
|
2138
|
+
'mcp.clickToEdit': '点击编辑',
|
|
2139
|
+
'mcp.clickToViewDetails': '点击查看详情',
|
|
2140
|
+
|
|
2141
|
+
// Hook Manager
|
|
2142
|
+
'hook.projectHooks': '项目钩子',
|
|
2143
|
+
'hook.projectFile': '.claude/settings.json',
|
|
2144
|
+
'hook.newHook': '新建钩子',
|
|
2145
|
+
'hook.hooksConfigured': '个钩子已配置',
|
|
2146
|
+
'hook.globalHooks': '全局钩子',
|
|
2147
|
+
'hook.globalFile': '~/.claude/settings.json',
|
|
2148
|
+
'hook.wizards': '钩子向导',
|
|
2149
|
+
'hook.guidedSetup': '引导设置',
|
|
2150
|
+
'hook.wizardsDesc': '通过向导配置复杂钩子',
|
|
2151
|
+
'hook.quickInstall': '快速安装模板',
|
|
2152
|
+
'hook.oneClick': '一键安装钩子',
|
|
2153
|
+
'hook.envVarsRef': '环境变量参考',
|
|
2154
|
+
'hook.filePaths': '受影响文件的空格分隔路径',
|
|
2155
|
+
'hook.toolName': '正在执行的工具名称',
|
|
2156
|
+
'hook.toolInput': '传递给工具的 JSON 输入',
|
|
2157
|
+
'hook.sessionId': '当前 Claude 会话 ID',
|
|
2158
|
+
'hook.projectDir': '当前项目目录路径',
|
|
2159
|
+
'hook.workingDir': '当前工作目录',
|
|
2160
|
+
'hook.openWizard': '打开向导',
|
|
2161
|
+
'hook.installed': '已安装',
|
|
2162
|
+
'hook.installProject': '安装(项目)',
|
|
2163
|
+
'hook.installGlobal': '全局',
|
|
2164
|
+
'hook.uninstall': '卸载',
|
|
2165
|
+
'hook.viewDetails': '查看模板详情',
|
|
2166
|
+
'hook.edit': '编辑钩子',
|
|
2167
|
+
'hook.delete': '删除钩子',
|
|
2168
|
+
'hook.deleteConfirm': '删除此 {event} 钩子?',
|
|
2169
|
+
|
|
2170
|
+
// Hook Create Modal
|
|
2171
|
+
'hook.createTitle': '创建钩子',
|
|
2172
|
+
'hook.event': '钩子事件',
|
|
2173
|
+
'hook.selectEvent': '选择事件...',
|
|
2174
|
+
'hook.preToolUse': 'PreToolUse - 工具执行前',
|
|
2175
|
+
'hook.postToolUse': 'PostToolUse - 工具完成后',
|
|
2176
|
+
'hook.notification': 'Notification - 通知时',
|
|
2177
|
+
'hook.stop': 'Stop - 代理停止时',
|
|
2178
|
+
'hook.matcher': '匹配器(可选)',
|
|
2179
|
+
'hook.matcherPlaceholder': '例如: Write, Edit, Bash(留空匹配所有)',
|
|
2180
|
+
'hook.matcherHint': '要匹配的工具名称。留空匹配所有工具。',
|
|
2181
|
+
'hook.commandLabel': '命令',
|
|
2182
|
+
'hook.commandPlaceholder': '例如: curl, bash, node',
|
|
2183
|
+
'hook.argsLabel': '参数(每行一个)',
|
|
2184
|
+
'hook.scope': '作用域',
|
|
2185
|
+
'hook.scopeProject': '项目(.claude/settings.json)',
|
|
2186
|
+
'hook.scopeGlobal': '全局(~/.claude/settings.json)',
|
|
2187
|
+
'hook.quickTemplates': '快速模板',
|
|
2188
|
+
|
|
2189
|
+
// Hook templates
|
|
2190
|
+
'hook.template.ccwNotify': 'CCW 通知',
|
|
2191
|
+
'hook.template.ccwNotifyDesc': '写入时通知控制面板',
|
|
2192
|
+
'hook.template.logTool': '工具使用日志',
|
|
2193
|
+
'hook.template.logToolDesc': '记录所有工具执行',
|
|
2194
|
+
'hook.template.lintCheck': 'Lint 检查',
|
|
2195
|
+
'hook.template.lintCheckDesc': '文件更改时运行 eslint',
|
|
2196
|
+
'hook.template.gitAdd': 'Git 暂存',
|
|
2197
|
+
'hook.template.gitAddDesc': '自动暂存写入的文件',
|
|
2198
|
+
|
|
2199
|
+
// Hook Quick Install Templates
|
|
2200
|
+
'hook.tpl.sessionContext': 'Session 上下文',
|
|
2201
|
+
'hook.tpl.sessionContextDesc': '会话启动时加载集群概览(仅触发一次)',
|
|
2202
|
+
'hook.tpl.codexlensSync': 'CodexLens 自动同步',
|
|
2203
|
+
'hook.tpl.codexlensSyncDesc': '文件写入或编辑时自动更新代码索引',
|
|
2204
|
+
'hook.tpl.ccwDashboardNotify': 'CCW 控制面板通知',
|
|
2205
|
+
'hook.tpl.ccwDashboardNotifyDesc': '文件写入时通知 CCW 控制面板',
|
|
2206
|
+
'hook.tpl.toolLogger': '工具使用记录器',
|
|
2207
|
+
'hook.tpl.toolLoggerDesc': '将所有工具执行记录到文件',
|
|
2208
|
+
'hook.tpl.autoLint': '自动 Lint 检查',
|
|
2209
|
+
'hook.tpl.autoLintDesc': '写入后对 JavaScript/TypeScript 文件运行 ESLint',
|
|
2210
|
+
'hook.tpl.autoGitStage': '自动 Git 暂存',
|
|
2211
|
+
'hook.tpl.autoGitStageDesc': '自动将写入的文件添加到 Git 暂存区',
|
|
2212
|
+
|
|
2213
|
+
// Hook Template Categories
|
|
2214
|
+
'hook.category.indexing': '索引',
|
|
2215
|
+
'hook.category.notification': '通知',
|
|
2216
|
+
'hook.category.logging': '日志',
|
|
2217
|
+
'hook.category.quality': '质量',
|
|
2218
|
+
'hook.category.git': 'Git',
|
|
2219
|
+
'hook.category.memory': '记忆',
|
|
2220
|
+
'hook.category.skill': '技能',
|
|
2221
|
+
'hook.category.context': '上下文',
|
|
2222
|
+
|
|
2223
|
+
// Hook Wizard Templates
|
|
2224
|
+
'hook.wizard.memoryUpdate': '记忆更新钩子',
|
|
2225
|
+
'hook.wizard.memoryUpdateDesc': '根据代码更改自动更新 CLAUDE.md 文档',
|
|
2226
|
+
'hook.wizard.onSessionEnd': '会话结束时',
|
|
2227
|
+
'hook.wizard.onSessionEndDesc': 'Claude 会话结束时更新文档',
|
|
2228
|
+
'hook.wizard.periodicUpdate': '定期更新',
|
|
2229
|
+
'hook.wizard.periodicUpdateDesc': '会话期间定期更新文档',
|
|
2230
|
+
'hook.wizard.countBasedUpdate': '累计数量更新',
|
|
2231
|
+
'hook.wizard.countBasedUpdateDesc': '文件变动达到阈值时更新文档',
|
|
2232
|
+
'hook.wizard.fileCountThreshold': '文件数量阈值',
|
|
2233
|
+
'hook.wizard.fileCountThresholdDesc': '触发更新的文件变动数量',
|
|
2234
|
+
'hook.wizard.skillContext': 'SKILL 上下文加载器',
|
|
2235
|
+
'hook.wizard.skillContextDesc': '根据用户提示中的关键词自动加载 SKILL 包',
|
|
2236
|
+
'hook.wizard.keywordMatching': '关键词匹配',
|
|
2237
|
+
'hook.wizard.keywordMatchingDesc': '当提示中检测到关键词时加载特定 SKILL',
|
|
2238
|
+
'hook.wizard.autoDetection': '自动检测',
|
|
2239
|
+
'hook.wizard.autoDetectionDesc': '根据提示中的名称自动检测并加载 SKILL',
|
|
2240
|
+
'hook.wizard.memorySetup': '记忆模块设置',
|
|
2241
|
+
'hook.wizard.memorySetupDesc': '配置自动上下文跟踪(轻量级元数据记录)',
|
|
2242
|
+
'hook.wizard.fileReadTracker': '文件读取追踪器',
|
|
2243
|
+
'hook.wizard.fileReadTrackerDesc': '追踪文件读取以构建上下文热图',
|
|
2244
|
+
'hook.wizard.fileWriteTracker': '文件写入追踪器',
|
|
2245
|
+
'hook.wizard.fileWriteTrackerDesc': '追踪文件修改以识别核心模块',
|
|
2246
|
+
'hook.wizard.promptTracker': '提示追踪器',
|
|
2247
|
+
'hook.wizard.promptTrackerDesc': '记录用户提示用于模式分析',
|
|
2248
|
+
'hook.wizard.selectTrackers': '选择追踪器',
|
|
2249
|
+
|
|
2250
|
+
// Hook Wizard Labels
|
|
2251
|
+
'hook.wizard.cliTools': 'CLI 工具:',
|
|
2252
|
+
'hook.wizard.event': '事件:',
|
|
2253
|
+
'hook.wizard.availableSkills': '可用 SKILL:',
|
|
2254
|
+
'hook.wizard.loading': '加载中...',
|
|
2255
|
+
'hook.wizard.matches': '匹配:',
|
|
2256
|
+
'hook.wizard.whenToTrigger': '触发时机',
|
|
2257
|
+
'hook.wizard.configuration': '配置',
|
|
2258
|
+
'hook.wizard.commandPreview': '生成的命令预览',
|
|
2259
|
+
'hook.wizard.installTo': '安装到',
|
|
2260
|
+
'hook.wizard.installHook': '安装钩子',
|
|
2261
|
+
'hook.wizard.noSkillsConfigured': '尚未配置任何 SKILL',
|
|
2262
|
+
'hook.wizard.clickAddSkill': '点击"添加 SKILL"配置关键词触发器',
|
|
2263
|
+
'hook.wizard.configureSkills': '配置 SKILL',
|
|
2264
|
+
'hook.wizard.addSkill': '添加 SKILL',
|
|
2265
|
+
'hook.wizard.selectSkill': '选择 SKILL...',
|
|
2266
|
+
'hook.wizard.triggerKeywords': '触发关键词(逗号分隔)',
|
|
2267
|
+
'hook.wizard.autoDetectionMode': '自动检测模式',
|
|
2268
|
+
'hook.wizard.autoDetectionInfo': '当 SKILL 名称出现在提示中时将自动加载。',
|
|
2269
|
+
'hook.wizard.noSkillsFound': '未找到 SKILL。请在 .claude/skills/ 中创建 SKILL 包',
|
|
2270
|
+
'hook.wizard.noSkillConfigs': '# 尚未配置 SKILL',
|
|
2271
|
+
'hook.wizard.cliTool': 'CLI 工具',
|
|
2272
|
+
'hook.wizard.intervalSeconds': '间隔(秒)',
|
|
2273
|
+
'hook.wizard.updateStrategy': '更新策略',
|
|
2274
|
+
'hook.wizard.toolForDocGen': '用于生成文档的工具',
|
|
2275
|
+
'hook.wizard.timeBetweenUpdates': '更新之间的时间间隔',
|
|
2276
|
+
'hook.wizard.relatedStrategy': 'related: 已更改的模块, single-layer: 当前目录',
|
|
2277
|
+
|
|
2278
|
+
// Lite Tasks
|
|
2279
|
+
'lite.plan': '规划',
|
|
2280
|
+
'lite.fix': '修复',
|
|
2281
|
+
'lite.summary': '摘要',
|
|
2282
|
+
'lite.rootCause': '根本原因',
|
|
2283
|
+
'lite.fixStrategy': '修复策略',
|
|
2284
|
+
'lite.approach': '方法',
|
|
2285
|
+
'lite.userRequirements': '用户需求',
|
|
2286
|
+
'lite.focusPaths': '关注路径',
|
|
2287
|
+
'lite.metadata': '元数据',
|
|
2288
|
+
'lite.severity': '严重性:',
|
|
2289
|
+
'lite.riskLevel': '风险等级:',
|
|
2290
|
+
'lite.estimatedTime': '预计时间:',
|
|
2291
|
+
'lite.complexity': '复杂度:',
|
|
2292
|
+
'lite.execution': '执行:',
|
|
2293
|
+
'lite.fixTasks': '修复任务',
|
|
2294
|
+
'lite.modificationPoints': '修改点:',
|
|
2295
|
+
'lite.implementationSteps': '实现步骤:',
|
|
2296
|
+
'lite.verification': '验证:',
|
|
2297
|
+
'lite.rawJson': '原始 JSON',
|
|
2298
|
+
'lite.noPlanData': '暂无计划数据',
|
|
2299
|
+
'lite.noPlanDataText': '未找到该会话的 {file}。',
|
|
2300
|
+
'lite.diagnosisSummary': '诊断摘要',
|
|
2301
|
+
'lite.diagnosisDetails': '诊断详情',
|
|
2302
|
+
'lite.totalDiagnoses': '总诊断数:',
|
|
2303
|
+
'lite.angles': '分析角度:',
|
|
2304
|
+
|
|
2305
|
+
// Modals
|
|
2306
|
+
'modal.contentPreview': '内容预览',
|
|
2307
|
+
'modal.raw': '原始',
|
|
2308
|
+
'modal.preview': '预览',
|
|
2309
|
+
'modal.templateDetails': '模板详情',
|
|
2310
|
+
'modal.sessionJson': '会话 JSON',
|
|
2311
|
+
'modal.copyToClipboard': '复制到剪贴板',
|
|
2312
|
+
|
|
2313
|
+
// Toast messages
|
|
2314
|
+
'toast.workspaceRefreshed': '工作区已刷新',
|
|
2315
|
+
'toast.refreshFailed': '刷新失败: {error}',
|
|
2316
|
+
'toast.statusUpdateRequires': '状态更新需要服务器模式',
|
|
2317
|
+
'toast.bulkUpdateRequires': '批量更新需要服务器模式',
|
|
2318
|
+
'toast.failedToUpdate': '更新状态失败',
|
|
2319
|
+
'toast.errorUpdating': '更新状态出错: {error}',
|
|
2320
|
+
'toast.failedToBulkUpdate': '批量更新失败',
|
|
2321
|
+
'toast.errorInBulk': '批量更新出错: {error}',
|
|
2322
|
+
'toast.enterPrompt': '请输入提示',
|
|
2323
|
+
'toast.enterPath': '请输入路径',
|
|
2324
|
+
'toast.commandCopied': '命令已复制: {command}',
|
|
2325
|
+
'toast.runCommand': '运行: {command}',
|
|
2326
|
+
'toast.completed': '已完成',
|
|
2327
|
+
'toast.failed': '失败',
|
|
2328
|
+
'toast.error': '错误: {error}',
|
|
2329
|
+
'toast.templateNotFound': '未找到模板',
|
|
2330
|
+
|
|
2331
|
+
// Footer
|
|
2332
|
+
'footer.generated': '生成时间:',
|
|
2333
|
+
'footer.version': 'CCW 控制面板 v1.0',
|
|
2334
|
+
|
|
2335
|
+
// Prompt History
|
|
2336
|
+
'prompt.timeline': '提示词时间线',
|
|
2337
|
+
'prompt.searchPlaceholder': '搜索提示词...',
|
|
2338
|
+
'prompt.allProjects': '所有项目',
|
|
2339
|
+
'prompt.currentProject': '当前项目',
|
|
2340
|
+
'prompt.noPromptsFound': '未找到提示词',
|
|
2341
|
+
'prompt.noPromptsText': '没有符合搜索条件的提示词。',
|
|
2342
|
+
'prompt.insights': '洞察与建议',
|
|
2343
|
+
'prompt.analyze': '分析',
|
|
2344
|
+
'prompt.analyzing': '分析中...',
|
|
2345
|
+
'prompt.selectTool': '选择工具',
|
|
2346
|
+
'prompt.quality': '质量',
|
|
2347
|
+
'prompt.intent': '意图',
|
|
2348
|
+
'prompt.project': '项目',
|
|
2349
|
+
'prompt.session': '会话',
|
|
2350
|
+
'prompt.noInsights': '暂无洞察',
|
|
2351
|
+
'prompt.noInsightsText': '选择 CLI 工具并点击分析以生成洞察。',
|
|
2352
|
+
'prompt.loadingInsights': '正在生成洞察...',
|
|
2353
|
+
'prompt.insightsError': '生成洞察失败',
|
|
2354
|
+
'prompt.intent.implement': '实现',
|
|
2355
|
+
'prompt.intent.fix': '修复',
|
|
2356
|
+
'prompt.intent.explore': '探索',
|
|
2357
|
+
'prompt.intent.debug': '调试',
|
|
2358
|
+
'prompt.intent.refactor': '重构',
|
|
2359
|
+
'prompt.intent.test': '测试',
|
|
2360
|
+
'prompt.intent.document': '文档',
|
|
2361
|
+
'prompt.intent.general': '通用',
|
|
2362
|
+
'prompt.timeJustNow': '刚刚',
|
|
2363
|
+
'prompt.timeMinutesAgo': '{count} 分钟前',
|
|
2364
|
+
'prompt.timeHoursAgo': '{count} 小时前',
|
|
2365
|
+
'prompt.timeDaysAgo': '{count} 天前',
|
|
2366
|
+
|
|
2367
|
+
// Memory Module
|
|
2368
|
+
'memory.contextHotspots': '上下文热点',
|
|
2369
|
+
'memory.mostRead': '最常读取的文件',
|
|
2370
|
+
'memory.mostEdited': '最常编辑的文件',
|
|
2371
|
+
'memory.mostMentioned': '最常提及的话题',
|
|
2372
|
+
'memory.today': '今天',
|
|
2373
|
+
'memory.week': '本周',
|
|
2374
|
+
'memory.allTime': '全部时间',
|
|
2375
|
+
'memory.noData': '无可用数据',
|
|
2376
|
+
'memory.memoryGraph': '记忆图谱',
|
|
2377
|
+
'memory.nodes': '节点',
|
|
2378
|
+
'memory.resetView': '重置视图',
|
|
2379
|
+
'memory.zoomIn': '放大',
|
|
2380
|
+
'memory.zoomOut': '缩小',
|
|
2381
|
+
'memory.fitView': '自适应',
|
|
2382
|
+
'memory.file': '文件',
|
|
2383
|
+
'memory.module': '模块',
|
|
2384
|
+
'memory.component': '组件',
|
|
2385
|
+
'memory.noGraphData': '无图谱数据',
|
|
2386
|
+
'memory.d3NotLoaded': 'D3.js 未加载',
|
|
2387
|
+
'memory.recentContext': '最近上下文',
|
|
2388
|
+
'memory.activities': '活动',
|
|
2389
|
+
'memory.searchContext': '搜索上下文...',
|
|
2390
|
+
'memory.noRecentActivity': '无最近活动',
|
|
2391
|
+
'memory.reads': '读取',
|
|
2392
|
+
'memory.edits': '编辑',
|
|
2393
|
+
'memory.mentions': '提及',
|
|
2394
|
+
'memory.prompts': '提示',
|
|
2395
|
+
'memory.nodeDetails': '节点详情',
|
|
2396
|
+
'memory.heat': '热度',
|
|
2397
|
+
'memory.associations': '关联',
|
|
2398
|
+
'memory.type': '类型',
|
|
2399
|
+
'memory.relatedNodes': '相关节点',
|
|
2400
|
+
'memory.noAssociations': '未找到关联',
|
|
2401
|
+
'memory.justNow': '刚刚',
|
|
2402
|
+
'memory.minutesAgo': '分钟前',
|
|
2403
|
+
'memory.hoursAgo': '小时前',
|
|
2404
|
+
'memory.title': '记忆',
|
|
2405
|
+
'memory.activeMemory': '活动记忆',
|
|
2406
|
+
'memory.active': '已启用',
|
|
2407
|
+
'memory.inactive': '未启用',
|
|
2408
|
+
'memory.syncNow': '立即同步',
|
|
2409
|
+
'memory.syncComplete': '同步完成',
|
|
2410
|
+
'memory.syncError': '同步失败',
|
|
2411
|
+
'memory.filesAnalyzed': '个文件已分析',
|
|
2412
|
+
'memory.activeMemoryEnabled': '活动记忆已启用',
|
|
2413
|
+
'memory.activeMemoryDisabled': '活动记忆已禁用',
|
|
2414
|
+
'memory.activeMemoryError': '切换活动记忆失败',
|
|
2415
|
+
'memory.interval': '间隔',
|
|
2416
|
+
'memory.intervalManual': '手动',
|
|
2417
|
+
'memory.minutes': '分钟',
|
|
2418
|
+
'memory.cliTool': 'CLI',
|
|
2419
|
+
'memory.lastSync': '上次同步',
|
|
2420
|
+
'memory.autoSyncActive': '自动同步',
|
|
2421
|
+
'memory.configUpdated': '配置已更新',
|
|
2422
|
+
'memory.configError': '配置更新失败',
|
|
2423
|
+
'memory.insightsHistory': '洞察历史',
|
|
2424
|
+
'memory.insightsEmpty': '暂无洞察记录。运行分析以生成洞察。',
|
|
2425
|
+
'memory.insightPatterns': '模式',
|
|
2426
|
+
'memory.insightSuggestions': '建议',
|
|
2427
|
+
'memory.insightDetail': '洞察详情',
|
|
2428
|
+
'memory.insightDelete': '删除',
|
|
2429
|
+
'memory.insightDeleteConfirm': '确定要删除此洞察吗?',
|
|
2430
|
+
'memory.insightDeleted': '洞察已删除',
|
|
2431
|
+
'memory.prompts': '提示',
|
|
2432
|
+
'memory.refreshInsights': '刷新',
|
|
2433
|
+
|
|
2434
|
+
// Skills
|
|
2435
|
+
'nav.skills': '技能',
|
|
2436
|
+
'title.skillsManager': '技能管理',
|
|
2437
|
+
'skills.title': '技能管理',
|
|
2438
|
+
'skills.description': '管理 Claude Code 的技能和能力',
|
|
2439
|
+
'skills.create': '创建技能',
|
|
2440
|
+
'skills.projectSkills': '项目技能',
|
|
2441
|
+
'skills.userSkills': '用户技能',
|
|
2442
|
+
'skills.skillsCount': '个技能',
|
|
2443
|
+
'skills.noProjectSkills': '未找到项目技能',
|
|
2444
|
+
'skills.createHint': '在 .claude/skills/ 中创建技能以添加功能',
|
|
2445
|
+
'skills.noUserSkills': '未找到用户技能',
|
|
2446
|
+
'skills.userSkillsHint': '用户技能适用于所有项目',
|
|
2447
|
+
'skills.noDescription': '无描述',
|
|
2448
|
+
'skills.tools': '工具',
|
|
2449
|
+
'skills.files': '文件',
|
|
2450
|
+
'skills.descriptionLabel': '描述',
|
|
2451
|
+
'skills.metadata': '元数据',
|
|
2452
|
+
'skills.location': '位置',
|
|
2453
|
+
'skills.version': '版本',
|
|
2454
|
+
'skills.allowedTools': '允许的工具',
|
|
2455
|
+
'skills.supportingFiles': '支持文件',
|
|
2456
|
+
'skills.path': '路径',
|
|
2457
|
+
'skills.loadError': '加载技能详情失败',
|
|
2458
|
+
'skills.deleteConfirm': '确定要删除技能 "{name}" 吗?',
|
|
2459
|
+
'skills.deleted': '技能删除成功',
|
|
2460
|
+
'skills.deleteError': '删除技能失败',
|
|
2461
|
+
'skills.editNotImplemented': '编辑功能即将推出',
|
|
2462
|
+
'skills.createNotImplemented': '创建功能即将推出',
|
|
2463
|
+
'skills.createSkill': '创建技能', 'skills.sourceFolder': '源文件夹', 'skills.sourceFolderPlaceholder': '技能文件夹路径', 'skills.sourceFolderHint': '选择包含有效 SKILL.md 文件的文件夹', 'skills.sourceFolderRequired': '源文件夹路径是必需的', 'skills.customName': '自定义名称', 'skills.customNamePlaceholder': '留空则使用 SKILL.md 中的技能名称', 'skills.customNameHint': '可选:覆盖技能名称', 'skills.validate': '验证', 'skills.import': '导入', 'skills.validating': '验证中...', 'skills.validSkill': '有效技能', 'skills.invalidSkill': '无效技能', 'skills.validateFirst': '请先验证技能文件夹', 'skills.created': '技能 "{name}" 创建成功', 'skills.createError': '创建技能失败', 'skills.validationError': '验证失败', 'skills.enterFolderPath': '输入技能文件夹路径', 'skills.name': '名称',
|
|
2464
|
+
'skills.createMode': '创建模式',
|
|
2465
|
+
'skills.importFolder': '导入文件夹',
|
|
2466
|
+
'skills.importFolderHint': '导入现有技能文件夹',
|
|
2467
|
+
'skills.cliGenerate': 'CLI生成',
|
|
2468
|
+
'skills.cliGenerateHint': '使用AI生成',
|
|
2469
|
+
'skills.generationType': '生成类型',
|
|
2470
|
+
'skills.fromDescription': '从描述生成',
|
|
2471
|
+
'skills.fromDescriptionHint': '描述你需要的功能',
|
|
2472
|
+
'skills.fromTemplate': '从模板生成',
|
|
2473
|
+
'skills.comingSoon': '即将推出',
|
|
2474
|
+
'skills.skillName': '技能名称',
|
|
2475
|
+
'skills.skillNamePlaceholder': '例如:代码审查、测试助手',
|
|
2476
|
+
'skills.skillNameHint': '为技能选择一个描述性的名称',
|
|
2477
|
+
'skills.skillNameRequired': '技能名称是必需的',
|
|
2478
|
+
'skills.descriptionPlaceholder': '描述这个技能应该帮助什么...\n例如:帮助审查代码的安全漏洞和最佳实践',
|
|
2479
|
+
'skills.descriptionRequired': '描述是必需的',
|
|
2480
|
+
'skills.descriptionGenerateHint': '具体说明技能应该做什么',
|
|
2481
|
+
'skills.generating': '正在通过 CLI 生成技能...这可能需要几分钟。',
|
|
2482
|
+
'skills.generated': '技能 "{name}" 生成成功',
|
|
2483
|
+
'skills.generateError': '生成技能失败',
|
|
2484
|
+
'skills.generate': '生成',
|
|
2485
|
+
'skills.cliGenerateInfo': 'AI 将根据你的描述生成完整的技能',
|
|
2486
|
+
'skills.cliGenerateTimeHint': '生成时间取决于复杂度,可能需要几分钟',
|
|
2487
|
+
|
|
2488
|
+
// Rules
|
|
2489
|
+
'nav.rules': '规则',
|
|
2490
|
+
'title.rulesManager': '规则管理',
|
|
2491
|
+
'rules.title': '规则管理',
|
|
2492
|
+
'rules.description': '管理 Claude Code 的项目和用户规则',
|
|
2493
|
+
'rules.create': '创建规则',
|
|
2494
|
+
'rules.projectRules': '项目规则',
|
|
2495
|
+
'rules.userRules': '用户规则',
|
|
2496
|
+
'rules.rulesCount': '条规则',
|
|
2497
|
+
'rules.noProjectRules': '未找到项目规则',
|
|
2498
|
+
'rules.createHint': '在 .claude/rules/ 中创建规则以设置项目特定指令',
|
|
2499
|
+
'rules.noUserRules': '未找到用户规则',
|
|
2500
|
+
'rules.userRulesHint': '用户规则适用于所有项目',
|
|
2501
|
+
'rules.typeLabel': '类型',
|
|
2502
|
+
'rules.conditional': '条件规则',
|
|
2503
|
+
'rules.global': '全局规则',
|
|
2504
|
+
'rules.pathConditions': '路径条件',
|
|
2505
|
+
'rules.content': '内容',
|
|
2506
|
+
'rules.filePath': '文件路径',
|
|
2507
|
+
'rules.loadError': '加载规则详情失败',
|
|
2508
|
+
'rules.deleteConfirm': '确定要删除规则 "{name}" 吗?',
|
|
2509
|
+
'rules.deleted': '规则删除成功',
|
|
2510
|
+
'rules.deleteError': '删除规则失败',
|
|
2511
|
+
'rules.editNotImplemented': '编辑功能即将推出',
|
|
2512
|
+
'rules.createNotImplemented': '创建功能即将推出',
|
|
2513
|
+
'rules.createRule': '创建规则',
|
|
2514
|
+
'rules.location': '位置',
|
|
2515
|
+
'rules.fileName': '文件名',
|
|
2516
|
+
'rules.fileNameHint': '必须以 .md 结尾',
|
|
2517
|
+
'rules.fileNameRequired': '文件名是必需的',
|
|
2518
|
+
'rules.fileNameMustEndMd': '文件名必须以 .md 结尾',
|
|
2519
|
+
'rules.subdirectory': '子目录',
|
|
2520
|
+
'rules.subdirectoryHint': '可选:将规则组织到子目录中',
|
|
2521
|
+
'rules.conditionalRule': '条件规则',
|
|
2522
|
+
'rules.conditionalHint': '仅对特定文件路径应用此规则',
|
|
2523
|
+
'rules.addPath': '添加路径',
|
|
2524
|
+
'rules.contentPlaceholder': '以 Markdown 格式输入规则内容...',
|
|
2525
|
+
'rules.contentHint': '使用 Markdown 为 Claude 编写规则说明',
|
|
2526
|
+
'rules.contentRequired': '内容是必需的',
|
|
2527
|
+
'rules.created': '规则 "{name}" 创建成功',
|
|
2528
|
+
'rules.createError': '创建规则失败',
|
|
2529
|
+
'rules.createMode': '创建模式',
|
|
2530
|
+
'rules.manualInput': '手动输入',
|
|
2531
|
+
'rules.manualInputHint': '直接编写内容',
|
|
2532
|
+
'rules.cliGenerate': 'CLI生成',
|
|
2533
|
+
'rules.cliGenerateHint': '通过AI自动生成',
|
|
2534
|
+
'rules.generationType': '生成类型',
|
|
2535
|
+
'rules.fromDescription': '从描述生成',
|
|
2536
|
+
'rules.fromTemplate': '从模板生成',
|
|
2537
|
+
'rules.fromCodeExtract': '从代码提取',
|
|
2538
|
+
'rules.description': '描述',
|
|
2539
|
+
'rules.descriptionPlaceholder': '描述规则目的和说明...',
|
|
2540
|
+
'rules.descriptionHint': 'AI将根据您的描述生成规则内容',
|
|
2541
|
+
'rules.descriptionRequired': '描述是必需的',
|
|
2542
|
+
'rules.extractScope': '分析范围',
|
|
2543
|
+
'rules.extractScopeHint': '要分析的文件模式(例如:src/**/*.ts)',
|
|
2544
|
+
'rules.extractScopeRequired': '分析范围是必需的',
|
|
2545
|
+
'rules.extractFocus': '关注领域',
|
|
2546
|
+
'rules.extractFocusHint': '以逗号分隔的关注方面(例如:命名规范, 错误处理)',
|
|
2547
|
+
'rules.cliGenerating': '正在通过 CLI 生成规则(可能需要几分钟)...',
|
|
2548
|
+
|
|
2549
|
+
// CLAUDE.md Manager
|
|
2550
|
+
'nav.claudeManager': 'CLAUDE.md',
|
|
2551
|
+
'title.claudeManager': 'CLAUDE.md 管理器',
|
|
2552
|
+
'claudeManager.title': 'CLAUDE.md 文件',
|
|
2553
|
+
'claudeManager.files': '个文件',
|
|
2554
|
+
'claudeManager.userLevel': '用户级',
|
|
2555
|
+
'claudeManager.projectLevel': '项目级',
|
|
2556
|
+
'claudeManager.moduleLevel': '模块级',
|
|
2557
|
+
'claudeManager.noFile': '无 CLAUDE.md 文件',
|
|
2558
|
+
'claudeManager.noModules': '无模块 CLAUDE.md 文件',
|
|
2559
|
+
'claudeManager.selectFile': '选择文件以查看',
|
|
2560
|
+
'claudeManager.noMetadata': '选择文件以查看元数据',
|
|
2561
|
+
'claudeManager.fileInfo': '文件信息',
|
|
2562
|
+
'claudeManager.level': '级别',
|
|
2563
|
+
'claudeManager.level_user': '用户级 (~/.claude/)',
|
|
2564
|
+
'claudeManager.level_project': '项目级 (.claude/)',
|
|
2565
|
+
'claudeManager.level_module': '模块级',
|
|
2566
|
+
'claudeManager.path': '路径',
|
|
2567
|
+
'claudeManager.size': '大小',
|
|
2568
|
+
'claudeManager.modified': '修改时间',
|
|
2569
|
+
'claudeManager.statistics': '统计信息',
|
|
2570
|
+
'claudeManager.lines': '行数',
|
|
2571
|
+
'claudeManager.words': '字数',
|
|
2572
|
+
'claudeManager.characters': '字符数',
|
|
2573
|
+
'claudeManager.actions': '操作',
|
|
2574
|
+
'claudeManager.loadError': '加载 CLAUDE.md 文件失败',
|
|
2575
|
+
'claudeManager.refreshed': '文件刷新成功',
|
|
2576
|
+
'claudeManager.unsavedChanges': '您有未保存的更改。是否放弃?',
|
|
2577
|
+
'claudeManager.saved': '文件保存成功',
|
|
2578
|
+
'claudeManager.saveError': '文件保存失败',
|
|
2579
|
+
'claudeManager.freshness': '新鲜度',
|
|
2580
|
+
'claudeManager.lastContentUpdate': '上次内容更新',
|
|
2581
|
+
'claudeManager.changedFiles': '变动文件',
|
|
2582
|
+
'claudeManager.filesSinceUpdate': '个文件自上次更新后变动',
|
|
2583
|
+
'claudeManager.updateReminder': '此文件可能需要更新',
|
|
2584
|
+
'claudeManager.markAsUpdated': '标记为已更新',
|
|
2585
|
+
'claudeManager.markedAsUpdated': '已成功标记为已更新',
|
|
2586
|
+
'claudeManager.markUpdateError': '标记更新失败',
|
|
2587
|
+
'claudeManager.never': '从未追踪',
|
|
2588
|
+
|
|
2589
|
+
// Graph Explorer
|
|
2590
|
+
'nav.graphExplorer': '图谱',
|
|
2591
|
+
'title.graphExplorer': '代码图谱浏览器',
|
|
2592
|
+
'graph.codeRelations': '代码关系',
|
|
2593
|
+
'graph.searchProcess': '搜索过程',
|
|
2594
|
+
'graph.nodeTypes': '节点类型',
|
|
2595
|
+
'graph.edgeTypes': '边类型',
|
|
2596
|
+
'graph.noProject': '未选择项目',
|
|
2597
|
+
'graph.selectProject': '选择一个项目以查看其代码图谱',
|
|
2598
|
+
'graph.loading': '正在加载图谱数据...',
|
|
2599
|
+
'graph.noData': '无图谱数据',
|
|
2600
|
+
'graph.indexProject': '请先使用 codex-lens 为此项目建立索引',
|
|
2601
|
+
'graph.nodeDetails': '节点详情',
|
|
2602
|
+
'graph.selectNode': '选择节点以查看详情',
|
|
2603
|
+
'graph.impactAnalysis': '影响分析',
|
|
2604
|
+
'graph.directDependents': '直接依赖',
|
|
2605
|
+
'graph.affectedFiles': '受影响文件',
|
|
2606
|
+
'graph.fitView': '适应视图',
|
|
2607
|
+
'graph.zoomIn': '放大',
|
|
2608
|
+
'graph.zoomOut': '缩小',
|
|
2609
|
+
'graph.resetLayout': '重置布局',
|
|
2610
|
+
'graph.title': '代码图谱',
|
|
2611
|
+
'graph.filters': '筛选器',
|
|
2612
|
+
'graph.legend': '图例',
|
|
2613
|
+
'graph.nodes': '个节点',
|
|
2614
|
+
'graph.edges': '条边',
|
|
2615
|
+
'graph.noGraphData': '无图谱数据。请先使用 codex-lens 为此项目建立索引。',
|
|
2616
|
+
'graph.noSearchData': '无搜索过程数据。',
|
|
2617
|
+
'graph.center': '居中',
|
|
2618
|
+
'graph.resetFilters': '重置筛选',
|
|
2619
|
+
|
|
2620
|
+
// Help & Guide
|
|
2621
|
+
'nav.help': '帮助',
|
|
2622
|
+
'title.helpGuide': '帮助与指南',
|
|
2623
|
+
'graph.cytoscapeNotLoaded': '图谱库未加载',
|
|
2624
|
+
'graph.impactAnalysisError': '加载影响分析失败',
|
|
2625
|
+
'graph.searchProcessDesc': '可视化搜索查询在系统中的流转过程',
|
|
2626
|
+
'graph.searchProcessTitle': '搜索管道',
|
|
2627
|
+
'graph.resultsFound': '个结果',
|
|
2628
|
+
'graph.coreMemory': '核心记忆',
|
|
2629
|
+
'graph.dataSourceSwitched': '数据源已切换',
|
|
2630
|
+
'graph.type': '类型',
|
|
2631
|
+
'graph.line': '行号',
|
|
2632
|
+
'graph.path': '路径',
|
|
2633
|
+
'graph.depth': '深度',
|
|
2634
|
+
'graph.exports': '导出',
|
|
2635
|
+
'graph.imports': '导入',
|
|
2636
|
+
'graph.references': '引用',
|
|
2637
|
+
'graph.symbolType': '符号类型',
|
|
2638
|
+
'graph.affectedSymbols': '受影响符号',
|
|
2639
|
+
'graph.scope': '范围',
|
|
2640
|
+
'graph.allFiles': '所有文件',
|
|
2641
|
+
'graph.byModule': '按模块',
|
|
2642
|
+
'graph.byFile': '按文件',
|
|
2643
|
+
'graph.selectModule': '选择模块...',
|
|
2644
|
+
'graph.selectFile': '选择文件...',
|
|
2645
|
+
|
|
2646
|
+
// CLI Sync (used in claude-manager.js)
|
|
2647
|
+
'claude.cliSync': 'CLI 自动同步',
|
|
2648
|
+
'claude.tool': '工具',
|
|
2649
|
+
'claude.mode': '模式',
|
|
2650
|
+
'claude.syncButton': '使用 CLI 同步',
|
|
2651
|
+
'claude.syncing': '正在使用 {tool} 分析...',
|
|
2652
|
+
'claude.syncSuccess': '{file} 同步成功',
|
|
2653
|
+
'claude.syncError': '同步失败:{error}',
|
|
2654
|
+
'claude.modeUpdate': '更新(智能合并)',
|
|
2655
|
+
'claude.modeGenerate': '生成(完全替换)',
|
|
2656
|
+
'claude.modeAppend': '追加',
|
|
2657
|
+
'claude.searchPlaceholder': '搜索文件...',
|
|
2658
|
+
'claude.viewModeClaude': '仅 CLAUDE.md',
|
|
2659
|
+
'claude.viewModeAll': '所有文件',
|
|
2660
|
+
'claude.createFile': '创建文件',
|
|
2661
|
+
'claude.createDialogTitle': '创建 CLAUDE.md 文件',
|
|
2662
|
+
'claude.selectLevel': '层级',
|
|
2663
|
+
'claude.levelUser': '用户级 (~/.claude/)',
|
|
2664
|
+
'claude.levelProject': '项目级 (.claude/)',
|
|
2665
|
+
'claude.levelModule': '模块级(自定义路径)',
|
|
2666
|
+
'claude.modulePath': '模块路径',
|
|
2667
|
+
'claude.selectTemplate': '模板',
|
|
2668
|
+
'claude.templateDefault': '默认',
|
|
2669
|
+
'claude.templateMinimal': '最小化',
|
|
2670
|
+
'claude.templateComprehensive': '完整',
|
|
2671
|
+
'claude.deleteFile': '删除文件',
|
|
2672
|
+
'claude.deleteConfirm': '确定要删除 {file} 吗?',
|
|
2673
|
+
'claude.deleteWarning': '此操作无法撤销。',
|
|
2674
|
+
'claude.copyContent': '复制内容',
|
|
2675
|
+
'claude.contentCopied': '内容已复制到剪贴板',
|
|
2676
|
+
'claude.copyError': '复制内容失败',
|
|
2677
|
+
'claude.modulePathRequired': '模块路径为必填项',
|
|
2678
|
+
'claude.fileCreated': '文件创建成功',
|
|
2679
|
+
'claude.createFileError': '文件创建失败',
|
|
2680
|
+
'claude.fileDeleted': '文件删除成功',
|
|
2681
|
+
'claude.deleteFileError': '文件删除失败',
|
|
2682
|
+
'claude.loadAllFilesError': '加载所有文件失败',
|
|
2683
|
+
'claude.unsupportedFileType': '不支持的文件类型',
|
|
2684
|
+
'claude.loadFileError': '加载文件失败',
|
|
2685
|
+
|
|
2686
|
+
// Duplicate keys for compatibility
|
|
2687
|
+
'nav.claudeManager': 'CLAUDE.md',
|
|
2688
|
+
'title.claudeManager': 'CLAUDE.md Manager',
|
|
2689
|
+
'claudeManager.title': 'CLAUDE.md Files',
|
|
2690
|
+
'claudeManager.files': 'files',
|
|
2691
|
+
'claudeManager.userLevel': 'User Level',
|
|
2692
|
+
'claudeManager.projectLevel': 'Project Level',
|
|
2693
|
+
'claudeManager.moduleLevel': 'Module Level',
|
|
2694
|
+
'claudeManager.noFile': 'No CLAUDE.md file',
|
|
2695
|
+
'claudeManager.noModules': 'No module CLAUDE.md files',
|
|
2696
|
+
'claudeManager.selectFile': 'Select a file to view',
|
|
2697
|
+
'claudeManager.noMetadata': 'Select a file to see metadata',
|
|
2698
|
+
'claudeManager.fileInfo': 'File Information',
|
|
2699
|
+
'claudeManager.level': 'Level',
|
|
2700
|
+
'claudeManager.level_user': 'User (~/.claude/)',
|
|
2701
|
+
'claudeManager.level_project': 'Project (.claude/)',
|
|
2702
|
+
'claudeManager.level_module': 'Module',
|
|
2703
|
+
'claudeManager.path': 'Path',
|
|
2704
|
+
'claudeManager.size': 'Size',
|
|
2705
|
+
'claudeManager.modified': 'Modified',
|
|
2706
|
+
'claudeManager.statistics': 'Statistics',
|
|
2707
|
+
'claudeManager.lines': 'Lines',
|
|
2708
|
+
'claudeManager.words': 'Words',
|
|
2709
|
+
'claudeManager.characters': 'Characters',
|
|
2710
|
+
'claudeManager.actions': 'Actions',
|
|
2711
|
+
'claudeManager.loadError': 'Failed to load CLAUDE.md files',
|
|
2712
|
+
'claudeManager.refreshed': 'Files refreshed successfully',
|
|
2713
|
+
'claudeManager.unsavedChanges': 'You have unsaved changes. Discard them?',
|
|
2714
|
+
'claudeManager.saved': 'File saved successfully',
|
|
2715
|
+
'claudeManager.saveError': 'Failed to save file',
|
|
2716
|
+
|
|
2717
|
+
// Common
|
|
2718
|
+
'common.cancel': '取消',
|
|
2719
|
+
'common.optional': '(可选)',
|
|
2720
|
+
'common.create': '创建',
|
|
2721
|
+
'common.save': '保存',
|
|
2722
|
+
'common.delete': '删除',
|
|
2723
|
+
'common.edit': '编辑',
|
|
2724
|
+
'common.close': '关闭',
|
|
2725
|
+
'common.refresh': '刷新',
|
|
2726
|
+
'common.refreshed': '已刷新',
|
|
2727
|
+
'common.refreshing': '刷新中...',
|
|
2728
|
+
'common.loading': '加载中...',
|
|
2729
|
+
'common.error': '错误',
|
|
2730
|
+
'common.success': '成功',
|
|
2731
|
+
'common.warning': '警告',
|
|
2732
|
+
'common.info': '信息',
|
|
2733
|
+
'common.remove': '移除',
|
|
2734
|
+
'common.removeFromRecent': '从最近中移除',
|
|
2735
|
+
'common.noDescription': '无描述',
|
|
2736
|
+
'common.saving': '保存中...',
|
|
2737
|
+
'common.saveFailed': '保存失败',
|
|
2738
|
+
'common.unknownError': '未知错误',
|
|
2739
|
+
'common.exception': '异常',
|
|
2740
|
+
|
|
2741
|
+
// Core Memory
|
|
2742
|
+
'title.coreMemory': '核心记忆',
|
|
2743
|
+
'coreMemory.createNew': '创建记忆',
|
|
2744
|
+
'coreMemory.showArchived': '显示已归档',
|
|
2745
|
+
'coreMemory.showActive': '显示活动',
|
|
2746
|
+
'coreMemory.totalMemories': '总记忆数',
|
|
2747
|
+
'coreMemory.noMemories': '未找到记忆',
|
|
2748
|
+
'coreMemory.noArchivedMemories': '没有已归档的记忆',
|
|
2749
|
+
'coreMemory.content': '内容',
|
|
2750
|
+
'coreMemory.contentPlaceholder': '输入战略性上下文、见解或重要信息...',
|
|
2751
|
+
'coreMemory.contentRequired': '内容为必填项',
|
|
2752
|
+
'coreMemory.summary': '摘要',
|
|
2753
|
+
'coreMemory.summaryPlaceholder': '可选:此记忆的简要摘要...',
|
|
2754
|
+
'coreMemory.metadata': '元数据',
|
|
2755
|
+
'coreMemory.invalidMetadata': '无效的 JSON 元数据',
|
|
2756
|
+
'coreMemory.rawOutput': '原始输出',
|
|
2757
|
+
'coreMemory.created': '记忆创建成功',
|
|
2758
|
+
'coreMemory.updated': '记忆更新成功',
|
|
2759
|
+
'coreMemory.archived': '记忆已归档',
|
|
2760
|
+
'coreMemory.unarchived': '记忆已取消归档',
|
|
2761
|
+
'coreMemory.deleted': '记忆已删除',
|
|
2762
|
+
'coreMemory.confirmArchive': '归档此记忆?',
|
|
2763
|
+
'coreMemory.confirmDelete': '永久删除此记忆?',
|
|
2764
|
+
'coreMemory.fetchError': '获取记忆失败',
|
|
2765
|
+
'coreMemory.saveError': '保存记忆失败',
|
|
2766
|
+
'coreMemory.archiveError': '归档记忆失败',
|
|
2767
|
+
'coreMemory.unarchiveError': '取消归档失败',
|
|
2768
|
+
'coreMemory.deleteError': '删除记忆失败',
|
|
2769
|
+
'coreMemory.edit': '编辑记忆',
|
|
2770
|
+
'coreMemory.unarchive': '取消归档',
|
|
2771
|
+
'coreMemory.generateSummary': '生成摘要',
|
|
2772
|
+
'coreMemory.generatingSummary': '正在生成摘要...',
|
|
2773
|
+
'coreMemory.summaryGenerated': '摘要生成成功',
|
|
2774
|
+
'coreMemory.summaryError': '生成摘要失败',
|
|
2775
|
+
'coreMemory.knowledgeGraph': '知识图谱',
|
|
2776
|
+
'coreMemory.graph': '图谱',
|
|
2777
|
+
'coreMemory.entities': '实体',
|
|
2778
|
+
'coreMemory.noEntities': '未找到实体',
|
|
2779
|
+
'coreMemory.relationships': '关系',
|
|
2780
|
+
'coreMemory.noRelationships': '未找到关系',
|
|
2781
|
+
'coreMemory.graphError': '加载知识图谱失败',
|
|
2782
|
+
'coreMemory.evolution': '演化',
|
|
2783
|
+
'coreMemory.evolutionHistory': '演化历史',
|
|
2784
|
+
'coreMemory.noHistory': '无演化历史',
|
|
2785
|
+
'coreMemory.noReason': '未提供原因',
|
|
2786
|
+
'coreMemory.current': '当前',
|
|
2787
|
+
'coreMemory.evolutionError': '加载演化历史失败',
|
|
2788
|
+
'coreMemory.created': '创建时间',
|
|
2789
|
+
'coreMemory.updated': '更新时间',
|
|
2790
|
+
|
|
2791
|
+
// View toggle
|
|
2792
|
+
'coreMemory.memories': '记忆',
|
|
2793
|
+
'coreMemory.clusters': '聚类',
|
|
2794
|
+
'coreMemory.clustersList': '聚类列表',
|
|
2795
|
+
'coreMemory.selectCluster': '选择聚类查看详情',
|
|
2796
|
+
'coreMemory.openSession': '打开 Session',
|
|
2797
|
+
'coreMemory.clickToPreview': '点击预览',
|
|
2798
|
+
'coreMemory.previewError': '加载预览失败',
|
|
2799
|
+
'coreMemory.unknownSessionType': '未知的会话类型',
|
|
2800
|
+
|
|
2801
|
+
// Clustering features
|
|
2802
|
+
'coreMemory.noClusters': '暂无聚类',
|
|
2803
|
+
'coreMemory.autoCluster': '自动聚类',
|
|
2804
|
+
'coreMemory.clusterLoadError': '加载聚类失败',
|
|
2805
|
+
'coreMemory.clusterDetailError': '加载聚类详情失败',
|
|
2806
|
+
'coreMemory.intent': '意图',
|
|
2807
|
+
'coreMemory.sessionTimeline': 'Session 时间线',
|
|
2808
|
+
'coreMemory.relatedClusters': '关联聚类',
|
|
2809
|
+
'coreMemory.noSessions': '此聚类暂无 session',
|
|
2810
|
+
'coreMemory.clusteringInProgress': '聚类进行中...',
|
|
2811
|
+
'coreMemory.clusteringComplete': '创建了 {created} 个聚类,包含 {sessions} 个 session',
|
|
2812
|
+
'coreMemory.clusteringError': '自动聚类失败',
|
|
2813
|
+
'coreMemory.embeddingNotAvailable': '语义搜索未安装。安装后可提升聚类准确度。',
|
|
2814
|
+
'coreMemory.installGuide': '前往设置',
|
|
2815
|
+
'coreMemory.embeddingProgress': '嵌入进度: {pct}% (待处理: {pending})',
|
|
2816
|
+
'coreMemory.generateEmbeddings': '生成',
|
|
2817
|
+
'coreMemory.noChunksYet': '暂无记忆分块。运行 "ccw memory embed" 启用语义聚类。',
|
|
2818
|
+
'coreMemory.embeddingInProgress': '正在生成嵌入...',
|
|
2819
|
+
'coreMemory.embeddingComplete': '已为 {count} 个分块生成嵌入',
|
|
2820
|
+
'coreMemory.embeddingError': '生成嵌入失败',
|
|
2821
|
+
'coreMemory.enterClusterName': '请输入聚类名称:',
|
|
2822
|
+
'coreMemory.clusterCreated': '聚类已创建',
|
|
2823
|
+
'coreMemory.clusterCreateError': '创建聚类失败',
|
|
2824
|
+
'coreMemory.confirmDeleteCluster': '确定删除此聚类?',
|
|
2825
|
+
'coreMemory.clusterDeleted': '聚类已删除',
|
|
2826
|
+
'coreMemory.clusterDeleteError': '删除聚类失败',
|
|
2827
|
+
'coreMemory.clusterUpdated': '聚类已更新',
|
|
2828
|
+
'coreMemory.clusterUpdateError': '更新聚类失败',
|
|
2829
|
+
'coreMemory.memberRemoved': '成员已移除',
|
|
2830
|
+
'coreMemory.memberRemoveError': '移除成员失败',
|
|
2831
|
+
'coreMemory.favorites': '收藏',
|
|
2832
|
+
'coreMemory.totalFavorites': '收藏总数',
|
|
2833
|
+
'coreMemory.noFavorites': '暂无收藏',
|
|
2834
|
+
'coreMemory.toggleFavorite': '切换收藏',
|
|
2835
|
+
'coreMemory.addedToFavorites': '已添加到收藏',
|
|
2836
|
+
'coreMemory.removedFromFavorites': '已从收藏移除',
|
|
2837
|
+
'coreMemory.favoriteError': '更新收藏失败',
|
|
2838
|
+
'coreMemory.relations': '关联',
|
|
2839
|
+
'coreMemory.showRelations': '显示关联',
|
|
2840
|
+
'coreMemory.relationsFor': '关联关系',
|
|
2841
|
+
'coreMemory.noRelations': '未找到聚类关联',
|
|
2842
|
+
'coreMemory.noRelationsHint': '在聚类 Tab 中使用自动聚类来创建关联',
|
|
2843
|
+
'coreMemory.belongsToClusters': '所属聚类',
|
|
2844
|
+
'coreMemory.relationsError': '加载关联失败',
|
|
2845
|
+
|
|
2846
|
+
// Common additions
|
|
2847
|
+
'common.copyId': '复制 ID',
|
|
2848
|
+
'common.copied': '已复制!',
|
|
2849
|
+
'common.copyError': '复制失败',
|
|
2850
|
+
}
|
|
2851
|
+
};
|
|
2852
|
+
|
|
2853
|
+
/**
|
|
2854
|
+
* Initialize i18n - detect browser language or use stored preference
|
|
2855
|
+
*/
|
|
2856
|
+
function initI18n() {
|
|
2857
|
+
// Check stored preference
|
|
2858
|
+
const stored = localStorage.getItem('ccw-lang');
|
|
2859
|
+
if (stored && i18n[stored]) {
|
|
2860
|
+
currentLang = stored;
|
|
2861
|
+
} else {
|
|
2862
|
+
// Detect browser language
|
|
2863
|
+
const browserLang = navigator.language || navigator.userLanguage;
|
|
2864
|
+
if (browserLang.startsWith('zh')) {
|
|
2865
|
+
currentLang = 'zh';
|
|
2866
|
+
} else {
|
|
2867
|
+
currentLang = 'en';
|
|
2868
|
+
}
|
|
2869
|
+
}
|
|
2870
|
+
|
|
2871
|
+
// Apply translations to DOM
|
|
2872
|
+
applyTranslations();
|
|
2873
|
+
updateLangToggle();
|
|
2874
|
+
}
|
|
2875
|
+
|
|
2876
|
+
/**
|
|
2877
|
+
* Get translation for a key with optional replacements
|
|
2878
|
+
* @param {string} key - Translation key
|
|
2879
|
+
* @param {Object} replacements - Optional key-value pairs for replacements
|
|
2880
|
+
* @returns {string} Translated string
|
|
2881
|
+
*/
|
|
2882
|
+
function t(key, replacements = {}) {
|
|
2883
|
+
const dict = i18n[currentLang] || i18n.en;
|
|
2884
|
+
let text = dict[key] || i18n.en[key] || key;
|
|
2885
|
+
|
|
2886
|
+
// Apply replacements
|
|
2887
|
+
for (const [k, v] of Object.entries(replacements)) {
|
|
2888
|
+
text = text.replace(new RegExp(`\\{${k}\\}`, 'g'), v);
|
|
2889
|
+
}
|
|
2890
|
+
|
|
2891
|
+
return text;
|
|
2892
|
+
}
|
|
2893
|
+
|
|
2894
|
+
/**
|
|
2895
|
+
* Switch language
|
|
2896
|
+
* @param {string} lang - Language code ('en' or 'zh')
|
|
2897
|
+
*/
|
|
2898
|
+
function switchLang(lang) {
|
|
2899
|
+
if (i18n[lang]) {
|
|
2900
|
+
currentLang = lang;
|
|
2901
|
+
localStorage.setItem('ccw-lang', lang);
|
|
2902
|
+
applyTranslations();
|
|
2903
|
+
updateLangToggle();
|
|
2904
|
+
|
|
2905
|
+
// Re-render current view to update dynamic content
|
|
2906
|
+
if (typeof updateContentTitle === 'function') {
|
|
2907
|
+
updateContentTitle();
|
|
2908
|
+
}
|
|
2909
|
+
}
|
|
2910
|
+
}
|
|
2911
|
+
|
|
2912
|
+
/**
|
|
2913
|
+
* Apply translations to all elements with data-i18n attribute
|
|
2914
|
+
*/
|
|
2915
|
+
function applyTranslations() {
|
|
2916
|
+
document.querySelectorAll('[data-i18n]').forEach(el => {
|
|
2917
|
+
const key = el.dataset.i18n;
|
|
2918
|
+
const translated = t(key);
|
|
2919
|
+
|
|
2920
|
+
// Handle different element types
|
|
2921
|
+
if (el.tagName === 'INPUT' && el.type === 'text') {
|
|
2922
|
+
el.placeholder = translated;
|
|
2923
|
+
} else if (el.hasAttribute('title')) {
|
|
2924
|
+
el.title = translated;
|
|
2925
|
+
} else {
|
|
2926
|
+
el.textContent = translated;
|
|
2927
|
+
}
|
|
2928
|
+
});
|
|
2929
|
+
|
|
2930
|
+
// Update elements with data-i18n-title
|
|
2931
|
+
document.querySelectorAll('[data-i18n-title]').forEach(el => {
|
|
2932
|
+
el.title = t(el.dataset.i18nTitle);
|
|
2933
|
+
});
|
|
2934
|
+
|
|
2935
|
+
// Update elements with data-i18n-placeholder
|
|
2936
|
+
document.querySelectorAll('[data-i18n-placeholder]').forEach(el => {
|
|
2937
|
+
el.placeholder = t(el.dataset.i18nPlaceholder);
|
|
2938
|
+
});
|
|
2939
|
+
|
|
2940
|
+
// Update document title
|
|
2941
|
+
document.title = t('app.title');
|
|
2942
|
+
}
|
|
2943
|
+
|
|
2944
|
+
/**
|
|
2945
|
+
* Update language toggle button state
|
|
2946
|
+
*/
|
|
2947
|
+
function updateLangToggle() {
|
|
2948
|
+
const langBtn = document.getElementById('langToggle');
|
|
2949
|
+
if (langBtn) {
|
|
2950
|
+
langBtn.textContent = currentLang.toUpperCase();
|
|
2951
|
+
langBtn.title = t('header.language');
|
|
2952
|
+
}
|
|
2953
|
+
}
|
|
2954
|
+
|
|
2955
|
+
/**
|
|
2956
|
+
* Get current language
|
|
2957
|
+
* @returns {string} Current language code
|
|
2958
|
+
*/
|
|
2959
|
+
function getLang() {
|
|
2960
|
+
return currentLang;
|
|
2961
|
+
}
|
|
2962
|
+
|
|
2963
|
+
/**
|
|
2964
|
+
* Check if current language is Chinese
|
|
2965
|
+
* @returns {boolean}
|
|
2966
|
+
*/
|
|
2967
|
+
function isZh() {
|
|
2968
|
+
return currentLang === 'zh';
|
|
2969
|
+
}
|