Add E2E tests for internationalization across multiple pages

- Implemented navigation.spec.ts to test language switching and translation of navigation elements.
- Created sessions-page.spec.ts to verify translations on the sessions page, including headers, status badges, and date formatting.
- Developed settings-page.spec.ts to ensure settings page content is translated and persists across sessions.
- Added skills-page.spec.ts to validate translations for skill categories, action buttons, and empty states.
This commit is contained in:
catlog22
2026-01-30 22:54:21 +08:00
parent e78e95049b
commit 81725c94b1
150 changed files with 25341 additions and 1448 deletions

View File

@@ -0,0 +1,127 @@
{
"cliEndpoints": {
"title": "CLI Endpoints",
"description": "Manage LiteLLM endpoints, custom CLI endpoints, and CLI wrapper configurations",
"type": {
"litellm": "LiteLLM",
"custom": "Custom",
"wrapper": "Wrapper"
},
"status": {
"enabled": "Enabled",
"disabled": "Disabled"
},
"stats": {
"total": "Total Endpoints",
"enabled": "Enabled"
},
"id": "ID",
"config": "Configuration",
"filters": {
"type": "Type",
"allTypes": "All Types",
"searchPlaceholder": "Search endpoints by name or ID..."
},
"actions": {
"add": "Add Endpoint",
"edit": "Edit Endpoint",
"delete": "Delete Endpoint",
"toggle": "Toggle Endpoint"
},
"deleteConfirm": "Are you sure you want to delete the endpoint \"{id}\"?",
"emptyState": {
"title": "No CLI Endpoints Found",
"message": "Add a CLI endpoint to configure custom API endpoints and wrappers."
}
},
"cliInstallations": {
"title": "CLI Installations",
"description": "Manage CCW CLI tool installations, upgrades, and removals",
"status": {
"active": "Active",
"inactive": "Inactive",
"error": "Error"
},
"stats": {
"total": "Total Tools",
"installed": "Installed",
"available": "Available"
},
"installed": "Installed",
"lastChecked": "Last Checked",
"filters": {
"status": "Status",
"all": "All",
"installed": "Installed",
"notInstalled": "Not Installed",
"searchPlaceholder": "Search tools by name or version..."
},
"actions": {
"install": "Install",
"uninstall": "Uninstall",
"upgrade": "Upgrade"
},
"uninstallConfirm": "Are you sure you want to uninstall \"{name}\"?",
"emptyState": {
"title": "No CLI Tools Found",
"message": "No CLI tools are available for installation at this time."
}
},
"cliHooks": {
"title": "Git Hooks",
"description": "Manage Git hooks for automated workflows",
"trigger": {
"pre-commit": "Pre-commit",
"post-commit": "Post-commit",
"pre-push": "Pre-push",
"custom": "Custom"
},
"stats": {
"total": "Total Hooks",
"enabled": "Enabled"
},
"filters": {
"trigger": "Trigger",
"allTriggers": "All Triggers",
"searchPlaceholder": "Search hooks by name..."
},
"actions": {
"add": "Add Hook",
"edit": "Edit Hook",
"delete": "Delete Hook",
"toggle": "Toggle Hook"
},
"emptyState": {
"title": "No Git Hooks Found",
"message": "Add a Git hook to automate tasks during Git workflows."
}
},
"cliRules": {
"title": "Rules",
"description": "Manage code quality rules and linting configurations",
"severity": {
"error": "Error",
"warning": "Warning",
"info": "Info"
},
"stats": {
"total": "Total Rules",
"enabled": "Enabled"
},
"filters": {
"severity": "Severity",
"allSeverities": "All Severities",
"searchPlaceholder": "Search rules by name..."
},
"actions": {
"add": "Add Rule",
"edit": "Edit Rule",
"delete": "Delete Rule",
"toggle": "Toggle Rule"
},
"emptyState": {
"title": "No Rules Found",
"message": "Add a rule to enforce code quality standards."
}
}
}

View File

@@ -0,0 +1,43 @@
{
"title": "Commands Manager",
"description": "Manage custom slash commands for Claude Code",
"actions": {
"create": "New Command",
"edit": "Edit Command",
"delete": "Delete Command",
"refresh": "Refresh",
"expandAll": "Expand All",
"collapseAll": "Collapse All",
"copy": "Copy"
},
"source": {
"builtin": "Built-in",
"custom": "Custom"
},
"filters": {
"allCategories": "All Categories",
"allSources": "All Sources",
"category": "Category",
"source": "Source",
"searchPlaceholder": "Search commands by name, description, or alias..."
},
"card": {
"name": "Name",
"description": "Description",
"usage": "Usage",
"examples": "Examples",
"aliases": "Aliases",
"triggers": "Triggers",
"noDescription": "No description"
},
"emptyState": {
"title": "No Commands Found",
"message": "Try adjusting your search or filters."
},
"table": {
"name": "Name",
"description": "Description",
"scope": "Scope",
"status": "Status"
}
}

View File

@@ -0,0 +1,180 @@
{
"aria": {
"toggleNavigation": "Toggle navigation menu",
"refreshWorkspace": "Refresh workspace",
"switchToLightMode": "Switch to light mode",
"switchToDarkMode": "Switch to dark mode",
"userMenu": "User menu",
"actions": "Actions"
},
"actions": {
"save": "Save",
"cancel": "Cancel",
"delete": "Delete",
"edit": "Edit",
"create": "Create",
"refresh": "Refresh",
"loading": "Loading...",
"retry": "Retry",
"search": "Search...",
"searchIssues": "Search issues...",
"searchLoops": "Search loops...",
"clear": "Clear",
"close": "Close",
"copy": "Copy",
"view": "View",
"viewAll": "View All",
"update": "Update",
"add": "Add",
"new": "New",
"remove": "Remove",
"confirm": "Confirm",
"back": "Back",
"next": "Next",
"previous": "Previous",
"submit": "Submit",
"reset": "Reset",
"resetDesc": "Reset all user preferences to their default values. This cannot be undone.",
"resetConfirm": "Reset all settings to defaults?",
"resetToDefaults": "Reset to Defaults",
"enable": "Enable",
"disable": "Disable",
"expand": "Expand All",
"expandAll": "Expand All",
"collapse": "Collapse All",
"collapseAll": "Collapse All",
"filter": "Filter",
"filters": "Filters",
"clearFilters": "Clear filters",
"clearAll": "Clear all",
"select": "Select",
"selectAll": "Select All",
"deselectAll": "Deselect All"
},
"status": {
"active": "Active",
"inactive": "Inactive",
"pending": "Pending",
"inProgress": "In Progress",
"completed": "Completed",
"failed": "Failed",
"blocked": "Blocked",
"cancelled": "Cancelled",
"paused": "Paused",
"archived": "Archived",
"unknown": "Unknown",
"draft": "Draft",
"published": "Published",
"creating": "Creating...",
"deleting": "Deleting...",
"label": "Status",
"openIssues": "Open Issues"
},
"priority": {
"low": "Low",
"medium": "Medium",
"high": "High",
"critical": "Critical",
"label": "Priority"
},
"time": {
"seconds": "seconds",
"minutes": "minutes",
"hours": "hours",
"days": "days",
"weeks": "weeks",
"months": "months",
"years": "years",
"ago": "ago",
"justNow": "just now"
},
"buttons": {
"new": "New",
"create": "Create",
"edit": "Edit",
"delete": "Delete",
"save": "Save",
"cancel": "Cancel",
"confirm": "Confirm",
"retry": "Retry",
"refresh": "Refresh",
"close": "Close",
"back": "Back",
"next": "Next",
"submit": "Submit"
},
"form": {
"required": "Required",
"optional": "optional",
"placeholder": "Enter...",
"search": "Search...",
"select": "Select...",
"noResults": "No results found",
"loading": "Loading...",
"sessionId": "Session ID",
"title": "Title",
"description": "Description",
"sessionIdPlaceholder": "e.g., WFS-feature-auth",
"titlePlaceholder": "e.g., Authentication System",
"descriptionPlaceholder": "Brief description of the session"
},
"emptyState": {
"noData": "No data found",
"noResults": "No results found",
"noItems": "No items",
"createFirst": "Create your first item to get started",
"searchEmpty": "Try adjusting your search or filters",
"filterEmpty": "No items match your current filters"
},
"errors": {
"generic": "An error occurred",
"network": "Network error. Please check your connection.",
"timeout": "Request timed out. Please try again.",
"notFound": "Resource not found",
"unauthorized": "Unauthorized access",
"forbidden": "Access forbidden",
"validation": "Validation error",
"server": "Server error. Please try again later.",
"loadingFailed": "Failed to load data",
"loadFailed": "Failed to load data",
"saveFailed": "Failed to save",
"deleteFailed": "Failed to delete",
"updateFailed": "Failed to update",
"unknownError": "An unexpected error occurred"
},
"success": {
"saved": "Saved successfully",
"created": "Created successfully",
"updated": "Updated successfully",
"deleted": "Deleted successfully",
"copied": "Copied to clipboard"
},
"messages": {
"confirmDelete": "Are you sure you want to delete this item?",
"confirmArchive": "Are you sure you want to archive this item?",
"unsavedChanges": "You have unsaved changes. Are you sure you want to leave?",
"noPermission": "You don't have permission to perform this action"
},
"stats": {
"todayActivity": "Today's Activity",
"totalCommands": "Total Commands",
"totalSkills": "Total Skills",
"categories": "Categories"
},
"dialog": {
"createSession": "Create New Session",
"createSessionDesc": "Create a new workflow session to track your development tasks.",
"deleteSession": "Delete Session",
"deleteConfirm": "Are you sure you want to delete this session? This action cannot be undone."
},
"help": {
"title": "Help & Documentation",
"description": "Learn how to use CCW Dashboard and get the most out of your workflows",
"support": {
"title": "Need more help?",
"description": "Check the project documentation or reach out for support.",
"documentation": "Documentation",
"tutorials": "Tutorials"
}
}
}

View File

@@ -0,0 +1,44 @@
{
"progress": {
"title": "Fix Progress"
},
"tasks": {
"title": "Fix Tasks"
},
"stats": {
"total": "Total",
"fixed": "Fixed",
"failed": "Failed",
"pending": "Pending"
},
"status": {
"fixed": "Fixed",
"failed": "Failed",
"inProgress": "In Progress",
"pending": "Pending"
},
"filter": {
"all": "All",
"pending": "Pending",
"inProgress": "In Progress",
"fixed": "Fixed",
"failed": "Failed"
},
"task": {
"untitled": "Untitled Task",
"attempts": "{count} attempts"
},
"info": {
"created": "Created",
"updated": "Updated",
"description": "Description"
},
"notFound": {
"title": "Session Not Found",
"message": "The fix session you're looking for doesn't exist or has been deleted."
},
"empty": {
"title": "No Tasks Found",
"message": "No fix tasks match the current filter."
}
}

View File

@@ -0,0 +1,29 @@
{
"title": "CLI Execution History",
"description": "View and manage your CLI execution history",
"searchPlaceholder": "Search executions...",
"filterAllTools": "All Tools",
"deleteOptions": "Delete Options",
"deleteBy": "Delete By Tool",
"deleteAllTool": "Delete All {tool}",
"deleteAll": "Delete All History",
"actions": {
"view": "View Details",
"delete": "Delete",
"copyId": "Copy ID",
"copied": "Copied!"
},
"dialog": {
"deleteTitle": "Confirm Delete",
"deleteAllTitle": "Delete All History",
"deleteMessage": "Are you sure you want to delete this execution? This action cannot be undone.",
"deleteToolMessage": "Are you sure you want to delete all {tool} executions? This action cannot be undone.",
"deleteAllMessage": "Are you sure you want to delete all execution history? This action cannot be undone."
},
"empty": {
"title": "No Executions Found",
"message": "CLI execution history will appear here when you run CLI commands.",
"filtered": "No Matching Results",
"filteredMessage": "No executions match your current filter. Try adjusting your search or filter."
}
}

View File

@@ -0,0 +1,37 @@
{
"title": "Home",
"description": "Dashboard overview and statistics",
"stats": {
"activeSessions": "Active Sessions",
"totalTasks": "Total Tasks",
"completedTasks": "Completed",
"pendingTasks": "Pending",
"runningLoops": "Running Loops",
"openIssues": "Open Issues"
},
"sections": {
"statistics": "Statistics",
"recentSessions": "Recent Sessions",
"activeLoops": "Active Loops",
"openIssues": "Open Issues",
"quickActions": "Quick Actions"
},
"emptyState": {
"noSessions": {
"title": "No Sessions Found",
"message": "No workflow sessions match your current filter."
},
"noLoops": {
"title": "No Active Loops",
"message": "Start a new development loop to begin monitoring progress."
},
"noIssues": {
"title": "No Open Issues",
"message": "Create an issue to track bugs or feature requests."
}
},
"errors": {
"loadFailed": "Failed to load dashboard data",
"retry": "Retry"
}
}

View File

@@ -0,0 +1,64 @@
/**
* English translations
* Consolidated exports for all English translation files
*/
import common from './common.json';
import navigation from './navigation.json';
import sessions from './sessions.json';
import issues from './issues.json';
import home from './home.json';
import orchestrator from './orchestrator.json';
import loops from './loops.json';
import commands from './commands.json';
import memory from './memory.json';
import settings from './settings.json';
import fixSession from './fix-session.json';
import history from './history.json';
import liteTasks from './lite-tasks.json';
import projectOverview from './project-overview.json';
import reviewSession from './review-session.json';
import sessionDetail from './session-detail.json';
/**
* Flattens nested JSON object to dot-separated keys
* e.g., { actions: { save: 'Save' } } => { 'actions.save': 'Save' }
*/
function flattenMessages(obj: Record<string, unknown>, prefix = ''): Record<string, string> {
const result: Record<string, string> = {};
for (const key in obj) {
const fullKey = prefix ? `${prefix}.${key}` : key;
const value = obj[key];
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
Object.assign(result, flattenMessages(value as Record<string, unknown>, fullKey));
} else if (typeof value === 'string') {
result[fullKey] = value;
}
}
return result;
}
/**
* Consolidated and flattened English messages
*/
export default {
...flattenMessages(common),
...flattenMessages(navigation),
...flattenMessages(sessions),
...flattenMessages(issues),
...flattenMessages(home),
...flattenMessages(orchestrator),
...flattenMessages(loops),
...flattenMessages(commands),
...flattenMessages(memory),
...flattenMessages(settings),
...flattenMessages(fixSession),
...flattenMessages(history),
...flattenMessages(liteTasks),
...flattenMessages(projectOverview),
...flattenMessages(reviewSession),
...flattenMessages(sessionDetail),
} as Record<string, string>;

View File

@@ -0,0 +1,64 @@
{
"title": "Issues",
"description": "Track and manage issues",
"status": {
"open": "Open",
"inProgress": "In Progress",
"resolved": "Resolved",
"closed": "Closed",
"completed": "Completed"
},
"priority": {
"low": "Low",
"medium": "Medium",
"high": "High",
"critical": "Critical"
},
"actions": {
"create": "New Issue",
"edit": "Edit",
"delete": "Delete",
"viewDetails": "View Details",
"changeStatus": "Change Status",
"changePriority": "Change Priority",
"startProgress": "Start Progress",
"markResolved": "Mark Resolved",
"github": "Pull from GitHub"
},
"filters": {
"all": "All",
"open": "Open",
"inProgress": "In Progress",
"resolved": "Resolved",
"closed": "Closed",
"byPriority": "By Priority"
},
"emptyState": {
"title": "No Issues Found",
"message": "No issues match your current filter.",
"createFirst": "Create your first issue to get started"
},
"createDialog": {
"title": "Create New Issue",
"labels": {
"title": "Title",
"context": "Context",
"priority": "Priority"
},
"placeholders": {
"title": "Enter issue title...",
"context": "Describe the issue context..."
},
"buttons": {
"create": "Create",
"cancel": "Cancel",
"creating": "Creating..."
}
},
"card": {
"id": "ID",
"createdAt": "Created",
"updatedAt": "Updated",
"solutions": "{count, plural, one {solution} other {solutions}}"
}
}

View File

@@ -0,0 +1,26 @@
{
"title": "Lite Tasks",
"subtitle": "{count} session(s)",
"type": {
"plan": "Lite Plan",
"fix": "Lite Fix",
"multiCli": "Multi-CLI"
},
"rounds": "rounds",
"empty": {
"title": "No {type} sessions",
"message": "Create a new session to get started."
},
"flowchart": "Flowchart",
"implementationFlow": "Implementation Flow",
"focusPaths": "Focus Paths",
"acceptanceCriteria": "Acceptance Criteria",
"emptyDetail": {
"title": "No tasks in this session",
"message": "This session does not contain any tasks yet."
},
"notFound": {
"title": "Lite Task Not Found",
"message": "The requested lite task session could not be found."
}
}

View File

@@ -0,0 +1,68 @@
{
"title": "Loop Monitor",
"description": "Monitor and control running development loops",
"status": {
"created": "Pending",
"running": "Running",
"paused": "Paused",
"completed": "Completed",
"failed": "Failed"
},
"actions": {
"create": "New Loop",
"pause": "Pause",
"resume": "Resume",
"stop": "Stop",
"restart": "Restart",
"viewDetails": "View Details"
},
"emptyState": {
"title": "No Active Loops",
"message": "Start a new development loop to begin monitoring progress.",
"createFirst": "Start New Loop"
},
"card": {
"step": "Step",
"of": "of",
"progress": "Progress",
"prompt": "Prompt",
"tool": "Tool",
"iteration": "Iteration",
"error": "Error"
},
"createDialog": {
"title": "Start New Loop",
"labels": {
"prompt": "Prompt",
"tool": "CLI Tool (optional)"
},
"placeholders": {
"prompt": "Enter your development loop prompt...",
"tool": "e.g., gemini, qwen, codex"
},
"buttons": {
"create": "Start",
"cancel": "Cancel"
}
},
"monitor": {
"title": "Loop Monitor",
"loops": "Loops",
"tasks": "Tasks",
"iterations": "Iterations",
"timeline": "Timeline"
},
"taskStatus": {
"pending": "Pending",
"inProgress": "In Progress",
"blocked": "Blocked",
"done": "Done"
},
"columns": {
"pending": "Pending",
"running": "Running",
"paused": "Paused",
"completed": "Completed",
"failed": "Failed"
}
}

View File

@@ -0,0 +1,37 @@
{
"title": "MCP Servers",
"description": "Manage Model Context Protocol (MCP) servers for cross-CLI integration",
"scope": {
"global": "Global",
"project": "Project"
},
"status": {
"enabled": "Enabled",
"disabled": "Disabled"
},
"stats": {
"total": "Total Servers",
"enabled": "Enabled",
"global": "Global",
"project": "Project"
},
"command": "Command",
"args": "Arguments",
"env": "Environment Variables",
"filters": {
"all": "All",
"searchPlaceholder": "Search servers by name or command..."
},
"actions": {
"add": "Add Server",
"edit": "Edit Server",
"delete": "Delete Server",
"toggle": "Toggle Server",
"expand": "View Details"
},
"deleteConfirm": "Are you sure you want to delete the MCP server \"{name}\"?",
"emptyState": {
"title": "No MCP Servers Found",
"message": "Add an MCP server to enable cross-CLI integration with tools like Claude, Codex, and Qwen."
}
}

View File

@@ -0,0 +1,65 @@
{
"title": "Memory",
"description": "Manage core memory, context, and knowledge base",
"actions": {
"add": "Add Memory",
"edit": "Edit",
"delete": "Delete",
"copy": "Copy",
"refresh": "Refresh",
"expand": "Expand",
"collapse": "Collapse"
},
"stats": {
"totalSize": "Total Size",
"count": "Count",
"claudeMdCount": "CLAUDE.md Files",
"totalEntries": "Total Entries"
},
"filters": {
"search": "Search memories...",
"tags": "Tags",
"clear": "Clear",
"all": "All"
},
"card": {
"id": "ID",
"content": "Content",
"summary": "Summary",
"tags": "Tags",
"createdAt": "Created",
"updatedAt": "Updated",
"size": "Size",
"favorite": "Favorite",
"archived": "Archived"
},
"emptyState": {
"title": "No Memories Stored",
"message": "Add context and knowledge to help Claude understand your project better.",
"createFirst": "Add First Memory"
},
"createDialog": {
"title": "Add Memory",
"editTitle": "Edit Memory",
"labels": {
"content": "Content",
"tags": "Tags"
},
"placeholders": {
"content": "Enter memory content...",
"tags": "e.g., project, config, api"
},
"buttons": {
"create": "Add Memory",
"update": "Update Memory",
"cancel": "Cancel",
"creating": "Creating...",
"updating": "Updating..."
}
},
"types": {
"coreMemory": "Core Memory",
"workflow": "Workflow",
"cliHistory": "CLI History"
}
}

View File

@@ -0,0 +1,38 @@
{
"main": {
"home": "Home",
"sessions": "Sessions",
"liteTasks": "Lite Tasks",
"project": "Project",
"history": "History",
"orchestrator": "Orchestrator",
"loops": "Loop Monitor",
"issues": "Issues",
"skills": "Skills",
"commands": "Commands",
"memory": "Memory",
"settings": "Settings",
"mcp": "MCP Servers",
"endpoints": "CLI Endpoints",
"installations": "Installations",
"help": "Help"
},
"sidebar": {
"collapse": "Collapse",
"expand": "Expand sidebar",
"collapseAria": "Collapse sidebar"
},
"header": {
"brand": "Claude Code Workflow",
"brandShort": "CCW",
"noProject": "No project selected",
"settings": "Settings",
"logout": "Logout"
},
"breadcrumbs": {
"home": "Home",
"sessions": "Sessions",
"detail": "Details",
"settings": "Settings"
}
}

View File

@@ -0,0 +1,63 @@
{
"title": "Orchestrator",
"description": "Manage and execute workflow flows",
"flow": {
"title": "Flow",
"flows": "Flows",
"create": "New Flow",
"edit": "Edit Flow",
"delete": "Delete Flow",
"duplicate": "Duplicate Flow",
"export": "Export Flow",
"import": "Import Flow"
},
"execution": {
"title": "Execution",
"status": "Status",
"start": "Start",
"pause": "Pause",
"resume": "Resume",
"stop": "Stop",
"restart": "Restart",
"viewLogs": "View Logs"
},
"status": {
"pending": "Pending",
"running": "Running",
"paused": "Paused",
"completed": "Completed",
"failed": "Failed"
},
"node": {
"title": "Node",
"nodes": "Nodes",
"add": "Add Node",
"edit": "Edit Node",
"delete": "Delete Node",
"status": "Node Status",
"result": "Result"
},
"actions": {
"execute": "Execute",
"validate": "Validate",
"save": "Save",
"cancel": "Cancel"
},
"emptyState": {
"noFlows": {
"title": "No Flows Found",
"message": "Create your first workflow flow to get started."
},
"noExecution": {
"title": "No Execution History",
"message": "Execute a flow to see the execution history."
}
},
"monitor": {
"title": "Execution Monitor",
"logs": "Logs",
"timeline": "Timeline",
"variables": "Variables",
"realtime": "Real-time Updates"
}
}

View File

@@ -0,0 +1,52 @@
{
"noDescription": "No description available",
"header": {
"initialized": "Initialized"
},
"techStack": {
"title": "Technology Stack",
"languages": "Languages",
"frameworks": "Frameworks",
"buildTools": "Build Tools",
"testFrameworks": "Test Frameworks",
"primary": "Primary",
"noLanguages": "No languages detected",
"noFrameworks": "No frameworks detected"
},
"architecture": {
"title": "Architecture",
"style": "Style",
"layers": "Layers",
"patterns": "Patterns"
},
"components": {
"title": "Key Components",
"importance": {
"high": "High",
"medium": "Medium",
"low": "Low"
}
},
"devIndex": {
"title": "Development History",
"categories": "Categories",
"timeline": "Timeline"
},
"guidelines": {
"title": "Project Guidelines",
"conventions": "Conventions",
"constraints": "Constraints",
"qualityRules": "Quality Rules",
"learnings": "Session Learnings",
"scope": "Scope"
},
"stats": {
"title": "Statistics",
"totalFeatures": "Total Features",
"lastUpdated": "Last Updated"
},
"empty": {
"title": "No Project Overview",
"message": "Run /workflow:init to initialize project analysis"
}
}

View File

@@ -0,0 +1,41 @@
{
"title": "Review Session",
"type": "Review",
"severity": {
"critical": "Critical",
"high": "High",
"medium": "Medium",
"low": "Low"
},
"stats": {
"total": "Total Findings",
"dimensions": "Dimensions"
},
"search": {
"placeholder": "Search findings..."
},
"sort": {
"severity": "By Severity",
"dimension": "By Dimension",
"file": "By File"
},
"selection": {
"count": "{count} selected",
"selectAll": "Select All",
"clearAll": "Clear All",
"clear": "Clear"
},
"export": "Export Fix JSON",
"codeContext": "Code Context",
"rootCause": "Root Cause",
"impact": "Impact",
"recommendations": "Recommendations",
"empty": {
"title": "No findings found",
"message": "Try adjusting your filters or search query."
},
"notFound": {
"title": "Review Session Not Found",
"message": "The requested review session could not be found."
}
}

View File

@@ -0,0 +1,54 @@
{
"notFound": {
"title": "Session Not Found",
"message": "The session you're looking for doesn't exist or has been deleted."
},
"tabs": {
"tasks": "Tasks",
"context": "Context",
"summary": "Summary"
},
"tasks": {
"completed": "completed",
"inProgress": "in progress",
"pending": "pending",
"blocked": "blocked",
"status": {
"pending": "Pending",
"inProgress": "In Progress",
"completed": "Completed",
"blocked": "Blocked",
"skipped": "Skipped"
},
"untitled": "Untitled Task",
"empty": {
"title": "No Tasks Found",
"message": "This session has no tasks yet."
}
},
"context": {
"requirements": "Requirements",
"focusPaths": "Focus Paths",
"artifacts": "Artifacts",
"sharedContext": "Shared Context",
"techStack": "Tech Stack",
"conventions": "Conventions",
"empty": {
"title": "No Context Available",
"message": "This session has no context information."
}
},
"summary": {
"title": "Session Summary",
"empty": {
"title": "No Summary Available",
"message": "This session has no summary yet."
}
},
"info": {
"created": "Created",
"updated": "Updated",
"tasks": "Tasks",
"description": "Description"
}
}

View File

@@ -0,0 +1,48 @@
{
"title": "Sessions",
"description": "Manage your workflow sessions and track progress",
"status": {
"planning": "Planning",
"inProgress": "In Progress",
"completed": "Completed",
"archived": "Archived",
"paused": "Paused"
},
"actions": {
"viewDetails": "View Details",
"archive": "Archive",
"delete": "Delete",
"restore": "Restore",
"pause": "Pause",
"resume": "Resume"
},
"filters": {
"all": "All",
"active": "Active",
"planning": "Planning",
"completed": "Completed",
"archived": "Archived",
"paused": "Paused"
},
"searchPlaceholder": "Search sessions...",
"emptyState": {
"title": "No Sessions Found",
"message": "No workflow sessions match your current filter.",
"createFirst": "Create your first session to get started"
},
"card": {
"tasks": "tasks",
"findings": "findings",
"dimensions": "dimensions",
"progress": "Progress",
"createdAt": "Created",
"updatedAt": "Updated"
},
"detail": {
"overview": "Overview",
"tasks": "Tasks",
"summary": "Summary",
"metadata": "Metadata",
"timeline": "Timeline"
}
}

View File

@@ -0,0 +1,42 @@
{
"title": "Skills",
"description": "Manage and configure skills",
"source": {
"builtin": "Built-in",
"custom": "Custom",
"community": "Community"
},
"actions": {
"viewDetails": "View Details",
"configure": "Configure",
"enable": "Enable",
"disable": "Disable",
"toggle": "Toggle",
"install": "Install Skill"
},
"state": {
"enabled": "Enabled",
"disabled": "Disabled",
"on": "On",
"off": "Off"
},
"card": {
"triggers": "Triggers",
"category": "Category",
"author": "Author",
"version": "Version"
},
"filters": {
"all": "All",
"enabled": "Enabled",
"disabled": "Disabled"
},
"view": {
"grid": "Grid View",
"compact": "Compact View"
},
"emptyState": {
"title": "No Skills Found",
"message": "No skills match your current filter."
}
}

View File

@@ -0,0 +1,127 @@
{
"cliEndpoints": {
"title": "CLI 端点",
"description": "管理 LiteLLM 端点、自定义 CLI 端点和 CLI 包装器配置",
"type": {
"litellm": "LiteLLM",
"custom": "自定义",
"wrapper": "包装器"
},
"status": {
"enabled": "已启用",
"disabled": "已禁用"
},
"stats": {
"total": "端点总数",
"enabled": "已启用"
},
"id": "ID",
"config": "配置",
"filters": {
"type": "类型",
"allTypes": "全部类型",
"searchPlaceholder": "按名称或 ID 搜索端点..."
},
"actions": {
"add": "添加端点",
"edit": "编辑端点",
"delete": "删除端点",
"toggle": "切换端点"
},
"deleteConfirm": "确定要删除端点 \"{id}\" 吗?",
"emptyState": {
"title": "未找到 CLI 端点",
"message": "添加 CLI 端点以配置自定义 API 端点和包装器。"
}
},
"cliInstallations": {
"title": "CLI 安装",
"description": "管理 CCW CLI 工具的安装、升级和卸载",
"status": {
"active": "活动",
"inactive": "未活动",
"error": "错误"
},
"stats": {
"total": "工具总数",
"installed": "已安装",
"available": "可用"
},
"installed": "已安装",
"lastChecked": "上次检查",
"filters": {
"status": "状态",
"all": "全部",
"installed": "已安装",
"notInstalled": "未安装",
"searchPlaceholder": "按名称或版本搜索工具..."
},
"actions": {
"install": "安装",
"uninstall": "卸载",
"upgrade": "升级"
},
"uninstallConfirm": "确定要卸载 \"{name}\" 吗?",
"emptyState": {
"title": "未找到 CLI 工具",
"message": "目前没有可用于安装的 CLI 工具。"
}
},
"cliHooks": {
"title": "Git 钩子",
"description": "管理用于自动化工作流的 Git 钩子",
"trigger": {
"pre-commit": "提交前",
"post-commit": "提交后",
"pre-push": "推送前",
"custom": "自定义"
},
"stats": {
"total": "钩子总数",
"enabled": "已启用"
},
"filters": {
"trigger": "触发器",
"allTriggers": "全部触发器",
"searchPlaceholder": "按名称搜索钩子..."
},
"actions": {
"add": "添加钩子",
"edit": "编辑钩子",
"delete": "删除钩子",
"toggle": "切换钩子"
},
"emptyState": {
"title": "未找到 Git 钩子",
"message": "添加 Git 钩子以在 Git 工作流期间自动化任务。"
}
},
"cliRules": {
"title": "规则",
"description": "管理代码质量规则和检查配置",
"severity": {
"error": "错误",
"warning": "警告",
"info": "信息"
},
"stats": {
"total": "规则总数",
"enabled": "已启用"
},
"filters": {
"severity": "严重程度",
"allSeverities": "全部严重程度",
"searchPlaceholder": "按名称搜索规则..."
},
"actions": {
"add": "添加规则",
"edit": "编辑规则",
"delete": "删除规则",
"toggle": "切换规则"
},
"emptyState": {
"title": "未找到规则",
"message": "添加规则以强制执行代码质量标准。"
}
}
}

View File

@@ -0,0 +1,43 @@
{
"title": "命令管理",
"description": "管理 Claude Code 自定义斜杠命令",
"actions": {
"create": "新建命令",
"edit": "编辑命令",
"delete": "删除命令",
"refresh": "刷新",
"expandAll": "全部展开",
"collapseAll": "全部收起",
"copy": "复制"
},
"source": {
"builtin": "内置",
"custom": "自定义"
},
"filters": {
"allCategories": "所有类别",
"allSources": "所有来源",
"category": "类别",
"source": "来源",
"searchPlaceholder": "按名称、描述或别名搜索命令..."
},
"card": {
"name": "名称",
"description": "描述",
"usage": "用法",
"examples": "示例",
"aliases": "别名",
"triggers": "触发器",
"noDescription": "无描述"
},
"emptyState": {
"title": "未找到命令",
"message": "尝试调整搜索或筛选条件。"
},
"table": {
"name": "名称",
"description": "描述",
"scope": "作用域",
"status": "状态"
}
}

View File

@@ -0,0 +1,180 @@
{
"aria": {
"toggleNavigation": "切换导航菜单",
"refreshWorkspace": "刷新工作区",
"switchToLightMode": "切换到浅色模式",
"switchToDarkMode": "切换到深色模式",
"userMenu": "用户菜单",
"actions": "操作"
},
"actions": {
"save": "保存",
"cancel": "取消",
"delete": "删除",
"edit": "编辑",
"create": "创建",
"refresh": "刷新",
"loading": "加载中...",
"retry": "重试",
"search": "搜索...",
"searchIssues": "搜索问题...",
"searchLoops": "搜索循环...",
"clear": "清除",
"close": "关闭",
"copy": "复制",
"view": "查看",
"viewAll": "查看全部",
"update": "更新",
"add": "添加",
"new": "新建",
"remove": "移除",
"confirm": "确认",
"back": "返回",
"next": "下一步",
"previous": "上一步",
"submit": "提交",
"reset": "重置",
"resetDesc": "将所有用户偏好重置为默认值。此操作无法撤销。",
"resetConfirm": "确定要将所有设置重置为默认值吗?",
"resetToDefaults": "重置为默认值",
"enable": "启用",
"disable": "禁用",
"expand": "全部展开",
"expandAll": "全部展开",
"collapse": "全部收起",
"collapseAll": "全部收起",
"filter": "筛选",
"filters": "筛选",
"clearFilters": "清除筛选",
"clearAll": "清除全部",
"select": "选择",
"selectAll": "全选",
"deselectAll": "取消全选"
},
"status": {
"active": "活跃",
"inactive": "未激活",
"pending": "待处理",
"inProgress": "进行中",
"completed": "已完成",
"failed": "失败",
"blocked": "已阻塞",
"cancelled": "已取消",
"paused": "已暂停",
"archived": "已归档",
"unknown": "未知",
"draft": "草稿",
"published": "已发布",
"creating": "创建中...",
"deleting": "删除中...",
"label": "状态",
"openIssues": "开放问题"
},
"priority": {
"low": "低",
"medium": "中",
"high": "高",
"critical": "紧急",
"label": "优先级"
},
"time": {
"seconds": "秒",
"minutes": "分钟",
"hours": "小时",
"days": "天",
"weeks": "周",
"months": "月",
"years": "年",
"ago": "前",
"justNow": "刚刚"
},
"buttons": {
"new": "新建",
"create": "创建",
"edit": "编辑",
"delete": "删除",
"save": "保存",
"cancel": "取消",
"confirm": "确认",
"retry": "重试",
"refresh": "刷新",
"close": "关闭",
"back": "返回",
"next": "下一步",
"submit": "提交"
},
"form": {
"required": "必填",
"optional": "可选",
"placeholder": "输入...",
"search": "搜索...",
"select": "选择...",
"noResults": "未找到结果",
"loading": "加载中...",
"sessionId": "会话ID",
"title": "标题",
"description": "描述",
"sessionIdPlaceholder": "例如WFS-feature-auth",
"titlePlaceholder": "例如:认证系统",
"descriptionPlaceholder": "会话简短描述"
},
"emptyState": {
"noData": "未找到数据",
"noResults": "未找到结果",
"noItems": "暂无项目",
"createFirst": "创建第一个项目以开始",
"searchEmpty": "尝试调整搜索或筛选条件",
"filterEmpty": "没有项目符合当前筛选条件"
},
"errors": {
"generic": "发生错误",
"network": "网络错误,请检查连接。",
"timeout": "请求超时,请重试。",
"notFound": "未找到资源",
"unauthorized": "未授权访问",
"forbidden": "访问被禁止",
"validation": "验证错误",
"server": "服务器错误,请稍后重试。",
"loadingFailed": "加载数据失败",
"loadFailed": "加载数据失败",
"saveFailed": "保存失败",
"deleteFailed": "删除失败",
"updateFailed": "更新失败",
"unknownError": "发生意外错误"
},
"success": {
"saved": "保存成功",
"created": "创建成功",
"updated": "更新成功",
"deleted": "删除成功",
"copied": "已复制到剪贴板"
},
"messages": {
"confirmDelete": "确定要删除此项目吗?",
"confirmArchive": "确定要归档此项目吗?",
"unsavedChanges": "您有未保存的更改,确定要离开吗?",
"noPermission": "您没有执行此操作的权限"
},
"stats": {
"todayActivity": "今日活动",
"totalCommands": "总命令数",
"totalSkills": "总技能数",
"categories": "分类"
},
"dialog": {
"createSession": "创建新会话",
"createSessionDesc": "创建新的工作流会话以跟踪您的开发任务。",
"deleteSession": "删除会话",
"deleteConfirm": "确定要删除此会话吗?此操作无法撤销。"
},
"help": {
"title": "帮助与文档",
"description": "了解如何使用 CCW 仪表板并充分利用您的工作流",
"support": {
"title": "需要更多帮助?",
"description": "查看项目文档或联系支持。",
"documentation": "文档",
"tutorials": "教程"
}
}
}

View File

@@ -0,0 +1,44 @@
{
"progress": {
"title": "修复进度"
},
"tasks": {
"title": "修复任务"
},
"stats": {
"total": "总计",
"fixed": "已修复",
"failed": "失败",
"pending": "待处理"
},
"status": {
"fixed": "已修复",
"failed": "失败",
"inProgress": "进行中",
"pending": "待处理"
},
"filter": {
"all": "全部",
"pending": "待处理",
"inProgress": "进行中",
"fixed": "已修复",
"failed": "失败"
},
"task": {
"untitled": "无标题任务",
"attempts": "{count} 次尝试"
},
"info": {
"created": "创建时间",
"updated": "更新时间",
"description": "描述"
},
"notFound": {
"title": "会话未找到",
"message": "您要查找的修复会话不存在或已被删除。"
},
"empty": {
"title": "未找到任务",
"message": "没有匹配当前筛选条件的修复任务。"
}
}

View File

@@ -0,0 +1,29 @@
{
"title": "CLI 执行历史",
"description": "查看和管理 CLI 执行历史",
"searchPlaceholder": "搜索执行记录...",
"filterAllTools": "全部工具",
"deleteOptions": "删除选项",
"deleteBy": "按工具删除",
"deleteAllTool": "删除所有 {tool}",
"deleteAll": "删除全部历史",
"actions": {
"view": "查看详情",
"delete": "删除",
"copyId": "复制 ID",
"copied": "已复制!"
},
"dialog": {
"deleteTitle": "确认删除",
"deleteAllTitle": "删除全部历史",
"deleteMessage": "确定要删除此执行记录吗?此操作无法撤销。",
"deleteToolMessage": "确定要删除所有 {tool} 执行记录吗?此操作无法撤销。",
"deleteAllMessage": "确定要删除全部执行历史吗?此操作无法撤销。"
},
"empty": {
"title": "未找到执行记录",
"message": "运行 CLI 命令后,执行历史将显示在这里。",
"filtered": "没有匹配结果",
"filteredMessage": "没有匹配当前筛选条件的执行记录。请尝试调整搜索或筛选条件。"
}
}

View File

@@ -0,0 +1,37 @@
{
"title": "首页",
"description": "仪表板概览与统计",
"stats": {
"activeSessions": "活跃会话",
"totalTasks": "总任务",
"completedTasks": "已完成",
"pendingTasks": "待处理",
"runningLoops": "运行中的循环",
"openIssues": "开放问题"
},
"sections": {
"statistics": "统计",
"recentSessions": "最近会话",
"activeLoops": "活跃循环",
"openIssues": "开放问题",
"quickActions": "快速操作"
},
"emptyState": {
"noSessions": {
"title": "未找到会话",
"message": "没有符合当前筛选条件的工作流会话。"
},
"noLoops": {
"title": "无活跃循环",
"message": "启动新的开发循环以开始监控进度。"
},
"noIssues": {
"title": "无开放问题",
"message": "创建问题以跟踪错误或功能请求。"
}
},
"errors": {
"loadFailed": "加载仪表板数据失败",
"retry": "重试"
}
}

View File

@@ -0,0 +1,64 @@
/**
* Chinese (Simplified) translations
* Consolidated exports for all Chinese translation files
*/
import common from './common.json';
import navigation from './navigation.json';
import sessions from './sessions.json';
import issues from './issues.json';
import home from './home.json';
import orchestrator from './orchestrator.json';
import loops from './loops.json';
import commands from './commands.json';
import memory from './memory.json';
import settings from './settings.json';
import fixSession from './fix-session.json';
import history from './history.json';
import liteTasks from './lite-tasks.json';
import projectOverview from './project-overview.json';
import reviewSession from './review-session.json';
import sessionDetail from './session-detail.json';
/**
* Flattens nested JSON object to dot-separated keys
* e.g., { actions: { save: 'Save' } } => { 'actions.save': 'Save' }
*/
function flattenMessages(obj: Record<string, unknown>, prefix = ''): Record<string, string> {
const result: Record<string, string> = {};
for (const key in obj) {
const fullKey = prefix ? `${prefix}.${key}` : key;
const value = obj[key];
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
Object.assign(result, flattenMessages(value as Record<string, unknown>, fullKey));
} else if (typeof value === 'string') {
result[fullKey] = value;
}
}
return result;
}
/**
* Consolidated and flattened Chinese messages
*/
export default {
...flattenMessages(common),
...flattenMessages(navigation),
...flattenMessages(sessions),
...flattenMessages(issues),
...flattenMessages(home),
...flattenMessages(orchestrator),
...flattenMessages(loops),
...flattenMessages(commands),
...flattenMessages(memory),
...flattenMessages(settings),
...flattenMessages(fixSession),
...flattenMessages(history),
...flattenMessages(liteTasks),
...flattenMessages(projectOverview),
...flattenMessages(reviewSession),
...flattenMessages(sessionDetail),
} as Record<string, string>;

View File

@@ -0,0 +1,64 @@
{
"title": "问题",
"description": "跟踪和管理问题",
"status": {
"open": "开放",
"inProgress": "进行中",
"resolved": "已解决",
"closed": "已关闭",
"completed": "已完成"
},
"priority": {
"low": "低",
"medium": "中",
"high": "高",
"critical": "紧急"
},
"actions": {
"create": "新建问题",
"edit": "编辑",
"delete": "删除",
"viewDetails": "查看详情",
"changeStatus": "更改状态",
"changePriority": "更改优先级",
"startProgress": "开始处理",
"markResolved": "标记为已解决",
"github": "从 GitHub 拉取"
},
"filters": {
"all": "全部",
"open": "开放",
"inProgress": "进行中",
"resolved": "已解决",
"closed": "已关闭",
"byPriority": "按优先级"
},
"emptyState": {
"title": "未找到问题",
"message": "没有符合当前筛选条件的问题。",
"createFirst": "创建第一个问题以开始"
},
"createDialog": {
"title": "创建新问题",
"labels": {
"title": "标题",
"context": "上下文",
"priority": "优先级"
},
"placeholders": {
"title": "输入问题标题...",
"context": "描述问题上下文..."
},
"buttons": {
"create": "创建",
"cancel": "取消",
"creating": "创建中..."
}
},
"card": {
"id": "ID",
"createdAt": "创建时间",
"updatedAt": "更新时间",
"solutions": "{count, plural, one {解决方案} other {解决方案}}"
}
}

View File

@@ -0,0 +1,26 @@
{
"title": "轻量任务",
"subtitle": "{count} 个会话",
"type": {
"plan": "轻量规划",
"fix": "轻量修复",
"multiCli": "多 CLI 规划"
},
"rounds": "轮",
"empty": {
"title": "没有 {type} 会话",
"message": "创建新会话以开始使用。"
},
"flowchart": "流程图",
"implementationFlow": "实现流程",
"focusPaths": "关注路径",
"acceptanceCriteria": "验收标准",
"emptyDetail": {
"title": "此会话中没有任务",
"message": "此会话尚不包含任何任务。"
},
"notFound": {
"title": "未找到轻量任务",
"message": "无法找到请求的轻量任务会话。"
}
}

View File

@@ -0,0 +1,68 @@
{
"title": "循环监控",
"description": "监控和控制运行中的开发循环",
"status": {
"created": "待处理",
"running": "运行中",
"paused": "已暂停",
"completed": "已完成",
"failed": "失败"
},
"actions": {
"create": "新建循环",
"pause": "暂停",
"resume": "继续",
"stop": "停止",
"restart": "重新开始",
"viewDetails": "查看详情"
},
"emptyState": {
"title": "无活跃循环",
"message": "启动新的开发循环以开始监控进度。",
"createFirst": "启动新循环"
},
"card": {
"step": "步骤",
"of": "/",
"progress": "进度",
"prompt": "提示词",
"tool": "工具",
"iteration": "迭代",
"error": "错误"
},
"createDialog": {
"title": "启动新循环",
"labels": {
"prompt": "提示词",
"tool": "CLI 工具(可选)"
},
"placeholders": {
"prompt": "输入开发循环提示词...",
"tool": "例如gemini、qwen、codex"
},
"buttons": {
"create": "启动",
"cancel": "取消"
}
},
"monitor": {
"title": "循环监控",
"loops": "循环",
"tasks": "任务",
"iterations": "迭代",
"timeline": "时间线"
},
"taskStatus": {
"pending": "待处理",
"inProgress": "进行中",
"blocked": "已阻塞",
"done": "完成"
},
"columns": {
"pending": "待处理",
"running": "运行中",
"paused": "已暂停",
"completed": "已完成",
"failed": "失败"
}
}

View File

@@ -0,0 +1,37 @@
{
"title": "MCP 服务器",
"description": "管理模型上下文协议 (MCP) 服务器以实现跨 CLI 集成",
"scope": {
"global": "全局",
"project": "项目"
},
"status": {
"enabled": "已启用",
"disabled": "已禁用"
},
"stats": {
"total": "服务器总数",
"enabled": "已启用",
"global": "全局",
"project": "项目"
},
"command": "命令",
"args": "参数",
"env": "环境变量",
"filters": {
"all": "全部",
"searchPlaceholder": "按名称或命令搜索服务器..."
},
"actions": {
"add": "添加服务器",
"edit": "编辑服务器",
"delete": "删除服务器",
"toggle": "切换服务器",
"expand": "查看详情"
},
"deleteConfirm": "确定要删除 MCP 服务器 \"{name}\" 吗?",
"emptyState": {
"title": "未找到 MCP 服务器",
"message": "添加 MCP 服务器以启用与 Claude、Codex 和 Qwen 等工具的跨 CLI 集成。"
}
}

View File

@@ -0,0 +1,65 @@
{
"title": "记忆",
"description": "管理核心记忆、上下文和知识库",
"actions": {
"add": "添加记忆",
"edit": "编辑",
"delete": "删除",
"copy": "复制",
"refresh": "刷新",
"expand": "展开",
"collapse": "收起"
},
"stats": {
"totalSize": "总大小",
"count": "数量",
"claudeMdCount": "CLAUDE.md 文件",
"totalEntries": "总条目"
},
"filters": {
"search": "搜索记忆...",
"tags": "标签",
"clear": "清除",
"all": "全部"
},
"card": {
"id": "ID",
"content": "内容",
"summary": "摘要",
"tags": "标签",
"createdAt": "创建时间",
"updatedAt": "更新时间",
"size": "大小",
"favorite": "收藏",
"archived": "已归档"
},
"emptyState": {
"title": "未存储记忆",
"message": "添加上下文和知识以帮助 Claude 更好地理解您的项目。",
"createFirst": "添加第一条记忆"
},
"createDialog": {
"title": "添加记忆",
"editTitle": "编辑记忆",
"labels": {
"content": "内容",
"tags": "标签"
},
"placeholders": {
"content": "输入记忆内容...",
"tags": "例如project、config、api"
},
"buttons": {
"create": "添加记忆",
"update": "更新记忆",
"cancel": "取消",
"creating": "创建中...",
"updating": "更新中..."
}
},
"types": {
"coreMemory": "核心记忆",
"workflow": "工作流",
"cliHistory": "CLI 历史"
}
}

View File

@@ -0,0 +1,38 @@
{
"main": {
"home": "首页",
"sessions": "会话",
"liteTasks": "轻量任务",
"project": "项目",
"history": "历史",
"orchestrator": "编排器",
"loops": "循环监控",
"issues": "问题",
"skills": "技能",
"commands": "命令",
"memory": "记忆",
"settings": "设置",
"mcp": "MCP 服务器",
"endpoints": "CLI 端点",
"installations": "安装",
"help": "帮助"
},
"sidebar": {
"collapse": "收起",
"expand": "展开侧边栏",
"collapseAria": "收起侧边栏"
},
"header": {
"brand": "Claude Code Workflow",
"brandShort": "CCW",
"noProject": "未选择项目",
"settings": "设置",
"logout": "退出"
},
"breadcrumbs": {
"home": "首页",
"sessions": "会话",
"detail": "详情",
"settings": "设置"
}
}

View File

@@ -0,0 +1,63 @@
{
"title": "编排器",
"description": "管理和执行工作流",
"flow": {
"title": "流程",
"flows": "流程列表",
"create": "新建流程",
"edit": "编辑流程",
"delete": "删除流程",
"duplicate": "复制流程",
"export": "导出流程",
"import": "导入流程"
},
"execution": {
"title": "执行",
"status": "状态",
"start": "开始",
"pause": "暂停",
"resume": "继续",
"stop": "停止",
"restart": "重新开始",
"viewLogs": "查看日志"
},
"status": {
"pending": "待处理",
"running": "运行中",
"paused": "已暂停",
"completed": "已完成",
"failed": "失败"
},
"node": {
"title": "节点",
"nodes": "节点列表",
"add": "添加节点",
"edit": "编辑节点",
"delete": "删除节点",
"status": "节点状态",
"result": "结果"
},
"actions": {
"execute": "执行",
"validate": "验证",
"save": "保存",
"cancel": "取消"
},
"emptyState": {
"noFlows": {
"title": "未找到流程",
"message": "创建第一个工作流流程以开始。"
},
"noExecution": {
"title": "无执行历史",
"message": "执行流程以查看执行历史。"
}
},
"monitor": {
"title": "执行监控",
"logs": "日志",
"timeline": "时间线",
"variables": "变量",
"realtime": "实时更新"
}
}

View File

@@ -0,0 +1,52 @@
{
"noDescription": "暂无描述",
"header": {
"initialized": "初始化时间"
},
"techStack": {
"title": "技术栈",
"languages": "编程语言",
"frameworks": "框架",
"buildTools": "构建工具",
"testFrameworks": "测试框架",
"primary": "主要",
"noLanguages": "未检测到编程语言",
"noFrameworks": "未检测到框架"
},
"architecture": {
"title": "架构",
"style": "架构风格",
"layers": "分层",
"patterns": "设计模式"
},
"components": {
"title": "核心组件",
"importance": {
"high": "高",
"medium": "中",
"low": "低"
}
},
"devIndex": {
"title": "开发历史",
"categories": "分类",
"timeline": "时间线"
},
"guidelines": {
"title": "项目规范",
"conventions": "约定",
"constraints": "约束",
"qualityRules": "质量规则",
"learnings": "学习总结",
"scope": "范围"
},
"stats": {
"title": "统计",
"totalFeatures": "总功能数",
"lastUpdated": "最后更新"
},
"empty": {
"title": "暂无项目概览",
"message": "运行 /workflow:init 初始化项目分析"
}
}

View File

@@ -0,0 +1,41 @@
{
"title": "审查会话",
"type": "审查",
"severity": {
"critical": "严重",
"high": "高",
"medium": "中",
"low": "低"
},
"stats": {
"total": "总发现",
"dimensions": "维度"
},
"search": {
"placeholder": "搜索发现..."
},
"sort": {
"severity": "按严重程度",
"dimension": "按维度",
"file": "按文件"
},
"selection": {
"count": "已选择 {count} 项",
"selectAll": "全选",
"clearAll": "清除全部",
"clear": "清除"
},
"export": "导出修复 JSON",
"codeContext": "代码上下文",
"rootCause": "根本原因",
"impact": "影响",
"recommendations": "建议",
"empty": {
"title": "未找到发现",
"message": "尝试调整筛选条件或搜索查询。"
},
"notFound": {
"title": "未找到审查会话",
"message": "无法找到请求的审查会话。"
}
}

View File

@@ -0,0 +1,54 @@
{
"notFound": {
"title": "会话未找到",
"message": "您要查找的会话不存在或已被删除。"
},
"tabs": {
"tasks": "任务",
"context": "上下文",
"summary": "摘要"
},
"tasks": {
"completed": "已完成",
"inProgress": "进行中",
"pending": "待处理",
"blocked": "已阻塞",
"status": {
"pending": "待处理",
"inProgress": "进行中",
"completed": "已完成",
"blocked": "已阻塞",
"skipped": "已跳过"
},
"untitled": "无标题任务",
"empty": {
"title": "未找到任务",
"message": "该会话暂无任务。"
}
},
"context": {
"requirements": "需求",
"focusPaths": "关注路径",
"artifacts": "产物",
"sharedContext": "共享上下文",
"techStack": "技术栈",
"conventions": "约定",
"empty": {
"title": "暂无上下文",
"message": "该会话暂无上下文信息。"
}
},
"summary": {
"title": "会话摘要",
"empty": {
"title": "暂无摘要",
"message": "该会话暂无摘要。"
}
},
"info": {
"created": "创建时间",
"updated": "更新时间",
"tasks": "任务",
"description": "描述"
}
}

View File

@@ -0,0 +1,48 @@
{
"title": "会话",
"description": "管理工作流会话并跟踪进度",
"status": {
"planning": "规划中",
"inProgress": "进行中",
"completed": "已完成",
"archived": "已归档",
"paused": "已暂停"
},
"actions": {
"viewDetails": "查看详情",
"archive": "归档",
"delete": "删除",
"restore": "恢复",
"pause": "暂停",
"resume": "继续"
},
"filters": {
"all": "全部",
"active": "活跃",
"planning": "规划中",
"completed": "已完成",
"archived": "已归档",
"paused": "已暂停"
},
"searchPlaceholder": "搜索会话...",
"emptyState": {
"title": "未找到会话",
"message": "没有符合当前筛选条件的工作流会话。",
"createFirst": "创建第一个会话以开始"
},
"card": {
"tasks": "任务",
"findings": "发现",
"dimensions": "维度",
"progress": "进度",
"createdAt": "创建时间",
"updatedAt": "更新时间"
},
"detail": {
"overview": "概览",
"tasks": "任务",
"summary": "摘要",
"metadata": "元数据",
"timeline": "时间线"
}
}

View File

@@ -0,0 +1,42 @@
{
"title": "技能",
"description": "管理和配置技能",
"source": {
"builtin": "内置",
"custom": "自定义",
"community": "社区"
},
"actions": {
"viewDetails": "查看详情",
"configure": "配置",
"enable": "启用",
"disable": "禁用",
"toggle": "切换",
"install": "安装技能"
},
"state": {
"enabled": "已启用",
"disabled": "已禁用",
"on": "开启",
"off": "关闭"
},
"card": {
"triggers": "触发器",
"category": "类别",
"author": "作者",
"version": "版本"
},
"filters": {
"all": "全部",
"enabled": "已启用",
"disabled": "已禁用"
},
"view": {
"grid": "网格视图",
"compact": "紧凑视图"
},
"emptyState": {
"title": "未找到技能",
"message": "没有符合当前筛选条件的技能。"
}
}