mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-13 02:41:50 +08:00
feat: add tests and implementation for issue discovery and queue pages
- Implemented `DiscoveryPage` with session management and findings display. - Added tests for `DiscoveryPage` to ensure proper rendering and functionality. - Created `QueuePage` for managing issue execution queues with stats and actions. - Added tests for `QueuePage` to verify UI elements and translations. - Introduced `useIssues` hooks for fetching and managing issue data. - Added loading skeletons and error handling for better user experience. - Created `vite-env.d.ts` for TypeScript support in Vite environment.
This commit is contained in:
@@ -60,5 +60,80 @@
|
||||
"createdAt": "Created",
|
||||
"updatedAt": "Updated",
|
||||
"solutions": "{count, plural, one {solution} other {solutions}}"
|
||||
},
|
||||
"queue": {
|
||||
"title": "Queue",
|
||||
"pageTitle": "Issue Queue",
|
||||
"description": "Manage issue execution queue with execution groups",
|
||||
"stats": {
|
||||
"totalItems": "Total Items",
|
||||
"groups": "Groups",
|
||||
"tasks": "Tasks",
|
||||
"solutions": "Solutions"
|
||||
},
|
||||
"actions": {
|
||||
"activate": "Activate",
|
||||
"deactivate": "Deactivate",
|
||||
"delete": "Delete",
|
||||
"merge": "Merge",
|
||||
"confirmDelete": "Are you sure you want to delete this queue?"
|
||||
},
|
||||
"executionGroup": "Execution Group",
|
||||
"parallel": "Parallel",
|
||||
"sequential": "Sequential",
|
||||
"emptyState": "No queue data available",
|
||||
"conflicts": "Conflicts detected in queue",
|
||||
"noQueueData": "No queue data"
|
||||
},
|
||||
"discovery": {
|
||||
"title": "Discovery",
|
||||
"pageTitle": "Issue Discovery",
|
||||
"description": "View and manage issue discovery sessions",
|
||||
"stats": {
|
||||
"totalSessions": "Total Sessions",
|
||||
"completed": "Completed",
|
||||
"running": "Running",
|
||||
"findings": "Findings"
|
||||
},
|
||||
"session": {
|
||||
"status": {
|
||||
"running": "Running",
|
||||
"completed": "Completed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"findings": "{count} findings",
|
||||
"startedAt": "Started"
|
||||
},
|
||||
"findings": {
|
||||
"title": "Findings",
|
||||
"filters": {
|
||||
"severity": "Severity",
|
||||
"type": "Type",
|
||||
"search": "Search findings..."
|
||||
},
|
||||
"severity": {
|
||||
"all": "All Severities",
|
||||
"critical": "Critical",
|
||||
"high": "High",
|
||||
"medium": "Medium",
|
||||
"low": "Low"
|
||||
},
|
||||
"type": {
|
||||
"all": "All Types"
|
||||
},
|
||||
"noFindings": "No findings found",
|
||||
"export": "Export"
|
||||
},
|
||||
"tabs": {
|
||||
"findings": "Findings",
|
||||
"progress": "Progress",
|
||||
"info": "Session Info"
|
||||
},
|
||||
"emptyState": "No discovery sessions found",
|
||||
"noSessionSelected": "Select a session to view findings",
|
||||
"actions": {
|
||||
"export": "Export Findings",
|
||||
"refresh": "Refresh"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
"orchestrator": "Orchestrator",
|
||||
"loops": "Loop Monitor",
|
||||
"issues": "Issues",
|
||||
"issueQueue": "Issue Queue",
|
||||
"issueDiscovery": "Issue Discovery",
|
||||
"skills": "Skills",
|
||||
"commands": "Commands",
|
||||
"memory": "Memory",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"title": "Notifications",
|
||||
"close": "Close notifications",
|
||||
"empty": "No notifications",
|
||||
"emptyHint": "Notifications will appear here",
|
||||
"markAllRead": "Mark Read",
|
||||
@@ -14,5 +15,38 @@
|
||||
"daysAgo": "{0}d ago",
|
||||
"oneMinuteAgo": "1m ago",
|
||||
"oneHourAgo": "1h ago",
|
||||
"oneDayAgo": "1d ago"
|
||||
"oneDayAgo": "1d ago",
|
||||
"sources": {
|
||||
"system": "System",
|
||||
"websocket": "WebSocket",
|
||||
"cli": "CLI",
|
||||
"workflow": "Workflow",
|
||||
"user": "User",
|
||||
"external": "External"
|
||||
},
|
||||
"priorities": {
|
||||
"low": "Low",
|
||||
"medium": "Medium",
|
||||
"high": "High",
|
||||
"critical": "Critical"
|
||||
},
|
||||
"attachments": {
|
||||
"image": "Image",
|
||||
"code": "Code",
|
||||
"file": "File",
|
||||
"data": "Data",
|
||||
"download": "Download"
|
||||
},
|
||||
"actions": {
|
||||
"loading": "Loading...",
|
||||
"success": "Done",
|
||||
"retry": "Retry"
|
||||
},
|
||||
"timestamps": {
|
||||
"today": "Today",
|
||||
"yesterday": "Yesterday",
|
||||
"atTime": "at {0}"
|
||||
},
|
||||
"markAsRead": "Mark as read",
|
||||
"markAsUnread": "Mark as unread"
|
||||
}
|
||||
|
||||
@@ -23,13 +23,19 @@
|
||||
"card": {
|
||||
"triggers": "Triggers",
|
||||
"category": "Category",
|
||||
"source": "Source",
|
||||
"author": "Author",
|
||||
"version": "Version"
|
||||
},
|
||||
"filters": {
|
||||
"all": "All",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled"
|
||||
"disabled": "Disabled",
|
||||
"searchPlaceholder": "Search skills...",
|
||||
"allSources": "All Sources"
|
||||
},
|
||||
"stats": {
|
||||
"totalSkills": "Total Skills"
|
||||
},
|
||||
"view": {
|
||||
"grid": "Grid View",
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
"current": "Current",
|
||||
"browse": "Select Folder...",
|
||||
"removePath": "Remove from recent",
|
||||
"ariaLabel": "Workspace selector"
|
||||
},
|
||||
"dialog": {
|
||||
"title": "Select Project Folder",
|
||||
"placeholder": "Enter project path...",
|
||||
"help": "The path to your project directory"
|
||||
"ariaLabel": "Workspace selector",
|
||||
"dialog": {
|
||||
"title": "Select Project Folder",
|
||||
"placeholder": "Enter project path...",
|
||||
"help": "The path to your project directory"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"switch": "Switch Workspace",
|
||||
|
||||
@@ -1,160 +1,160 @@
|
||||
{
|
||||
"title": "Hook Manager",
|
||||
"description": "Manage CLI hooks for automated workflows",
|
||||
"allTools": "All tools",
|
||||
"title": "钩子管理器",
|
||||
"description": "管理自动化工作流的 CLI 钩子",
|
||||
"allTools": "所有工具",
|
||||
"trigger": {
|
||||
"UserPromptSubmit": "User Prompt Submit",
|
||||
"PreToolUse": "Pre Tool Use",
|
||||
"PostToolUse": "Post Tool Use",
|
||||
"Stop": "Stop"
|
||||
"UserPromptSubmit": "用户提交提示",
|
||||
"PreToolUse": "工具使用前",
|
||||
"PostToolUse": "工具使用后",
|
||||
"Stop": "停止"
|
||||
},
|
||||
"form": {
|
||||
"name": "Hook Name",
|
||||
"name": "钩子名称",
|
||||
"namePlaceholder": "my-hook",
|
||||
"description": "Description",
|
||||
"descriptionPlaceholder": "What does this hook do?",
|
||||
"trigger": "Trigger Event",
|
||||
"matcher": "Tool Matcher",
|
||||
"matcherPlaceholder": "e.g., Write|Edit (optional)",
|
||||
"matcherHelp": "Regex pattern to match tool names. Leave empty to match all tools.",
|
||||
"command": "Command",
|
||||
"description": "描述",
|
||||
"descriptionPlaceholder": "这个钩子是做什么的?",
|
||||
"trigger": "触发事件",
|
||||
"matcher": "工具匹配器",
|
||||
"matcherPlaceholder": "例如:Write|Edit(可选)",
|
||||
"matcherHelp": "用于匹配工具名称的正则表达式。留空以匹配所有工具。",
|
||||
"command": "命令",
|
||||
"commandPlaceholder": "echo 'Hello World'",
|
||||
"commandHelp": "Shell command to execute. Use environment variables like $CLAUDE_TOOL_NAME."
|
||||
"commandHelp": "要执行的 Shell 命令。可以使用环境变量,如 $CLAUDE_TOOL_NAME。"
|
||||
},
|
||||
"validation": {
|
||||
"nameRequired": "Hook name is required",
|
||||
"nameInvalid": "Hook name can only contain letters, numbers, hyphens, and underscores",
|
||||
"triggerRequired": "Trigger event is required",
|
||||
"commandRequired": "Command is required"
|
||||
"nameRequired": "钩子名称为必填项",
|
||||
"nameInvalid": "钩子名称只能包含字母、数字、连字符和下划线",
|
||||
"triggerRequired": "触发事件为必填项",
|
||||
"commandRequired": "命令为必填项"
|
||||
},
|
||||
"actions": {
|
||||
"add": "Add Hook",
|
||||
"addFirst": "Create Your First Hook",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"deleteConfirm": "Are you sure you want to delete hook \"{hookName}\"?",
|
||||
"enable": "Enable",
|
||||
"disable": "Disable",
|
||||
"expand": "Expand details",
|
||||
"collapse": "Collapse details",
|
||||
"expandAll": "Expand All",
|
||||
"collapseAll": "Collapse All"
|
||||
"add": "添加钩子",
|
||||
"addFirst": "创建您的第一个钩子",
|
||||
"edit": "编辑",
|
||||
"delete": "删除",
|
||||
"deleteConfirm": "确定要删除钩子 \"{hookName}\" 吗?",
|
||||
"enable": "启用",
|
||||
"disable": "禁用",
|
||||
"expand": "展开详情",
|
||||
"collapse": "折叠详情",
|
||||
"expandAll": "全部展开",
|
||||
"collapseAll": "全部折叠"
|
||||
},
|
||||
"dialog": {
|
||||
"createTitle": "Create Hook",
|
||||
"editTitle": "Edit Hook \"{hookName}\""
|
||||
"createTitle": "创建钩子",
|
||||
"editTitle": "编辑钩子 \"{hookName}\""
|
||||
},
|
||||
"stats": {
|
||||
"total": "{count} total",
|
||||
"enabled": "{count} enabled",
|
||||
"count": "{enabled}/{total} hooks"
|
||||
"total": "共 {count} 个",
|
||||
"enabled": "{count} 个已启用",
|
||||
"count": "{enabled}/{total} 个钩子"
|
||||
},
|
||||
"filters": {
|
||||
"searchPlaceholder": "Search hooks by name, description, or trigger..."
|
||||
"searchPlaceholder": "按名称、描述或触发事件搜索钩子..."
|
||||
},
|
||||
"empty": {
|
||||
"title": "No hooks found",
|
||||
"description": "Create your first hook to automate your CLI workflow",
|
||||
"noHooksInEvent": "No hooks configured for this event"
|
||||
"title": "未找到钩子",
|
||||
"description": "创建您的第一个钩子以自动化 CLI 工作流",
|
||||
"noHooksInEvent": "此事件未配置钩子"
|
||||
},
|
||||
"templates": {
|
||||
"title": "Quick Install Templates",
|
||||
"description": "One-click installation for common hook patterns",
|
||||
"title": "快速安装模板",
|
||||
"description": "常见钩子模式的一键安装",
|
||||
"categories": {
|
||||
"notification": "Notification",
|
||||
"indexing": "Indexing",
|
||||
"automation": "Automation"
|
||||
"notification": "通知",
|
||||
"indexing": "索引",
|
||||
"automation": "自动化"
|
||||
},
|
||||
"templates": {
|
||||
"ccw-notify": {
|
||||
"name": "CCW Dashboard Notify",
|
||||
"description": "Send notifications to CCW dashboard when files are written"
|
||||
"name": "CCW 面板通知",
|
||||
"description": "当文件被写入时向 CCW 面板发送通知"
|
||||
},
|
||||
"codexlens-update": {
|
||||
"name": "CodexLens Auto-Update",
|
||||
"description": "Update CodexLens index when files are written or edited"
|
||||
"name": "CodexLens 自动更新",
|
||||
"description": "当文件被写入或编辑时更新 CodexLens 索引"
|
||||
},
|
||||
"git-add": {
|
||||
"name": "Auto Git Stage",
|
||||
"description": "Automatically stage written files to git"
|
||||
"name": "自动 Git 暂存",
|
||||
"description": "自动将写入的文件暂存到 git"
|
||||
},
|
||||
"lint-check": {
|
||||
"name": "Auto ESLint",
|
||||
"description": "Run ESLint on JavaScript/TypeScript files after write"
|
||||
"name": "自动 ESLint",
|
||||
"description": "在写入后对 JavaScript/TypeScript 文件运行 ESLint"
|
||||
},
|
||||
"log-tool": {
|
||||
"name": "Tool Usage Logger",
|
||||
"description": "Log all tool executions to a file for audit trail"
|
||||
"name": "工具使用日志",
|
||||
"description": "将所有工具执行记录到文件以供审计"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"install": "Install",
|
||||
"installed": "Installed"
|
||||
"install": "安装",
|
||||
"installed": "已安装"
|
||||
}
|
||||
},
|
||||
"wizards": {
|
||||
"title": "Hook Wizard",
|
||||
"launch": "Wizard",
|
||||
"sectionTitle": "Hook Wizards",
|
||||
"sectionDescription": "Create hooks with guided step-by-step wizards",
|
||||
"title": "钩子向导",
|
||||
"launch": "向导",
|
||||
"sectionTitle": "钩子向导",
|
||||
"sectionDescription": "通过引导式分步向导创建钩子",
|
||||
"platform": {
|
||||
"detected": "Detected Platform",
|
||||
"compatible": "Compatible",
|
||||
"incompatible": "Incompatible",
|
||||
"compatibilityError": "This hook is not compatible with your platform",
|
||||
"compatibilityWarning": "Some features may not work on your platform"
|
||||
"detected": "检测到的平台",
|
||||
"compatible": "兼容",
|
||||
"incompatible": "不兼容",
|
||||
"compatibilityError": "此钩子与您的平台不兼容",
|
||||
"compatibilityWarning": "某些功能可能在您的平台上无法正常工作"
|
||||
},
|
||||
"steps": {
|
||||
"triggerEvent": "This hook will trigger on",
|
||||
"triggerEvent": "此钩子将触发于",
|
||||
"review": {
|
||||
"title": "Review Configuration",
|
||||
"description": "Review your hook configuration before creating",
|
||||
"hookType": "Hook Type",
|
||||
"trigger": "Trigger Event",
|
||||
"platform": "Platform",
|
||||
"commandPreview": "Command Preview"
|
||||
"title": "检查配置",
|
||||
"description": "创建前检查您的钩子配置",
|
||||
"hookType": "钩子类型",
|
||||
"trigger": "触发事件",
|
||||
"platform": "平台",
|
||||
"commandPreview": "命令预览"
|
||||
}
|
||||
},
|
||||
"navigation": {
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"create": "Create Hook",
|
||||
"creating": "Creating..."
|
||||
"previous": "上一步",
|
||||
"next": "下一步",
|
||||
"create": "创建钩子",
|
||||
"creating": "创建中..."
|
||||
},
|
||||
"memoryUpdate": {
|
||||
"title": "Memory Update Wizard",
|
||||
"description": "Configure hook to update CLAUDE.md on session end",
|
||||
"shortDescription": "Update CLAUDE.md automatically",
|
||||
"claudePath": "CLAUDE.md Path",
|
||||
"updateFrequency": "Update Frequency",
|
||||
"title": "记忆更新向导",
|
||||
"description": "配置钩子以在会话结束时更新 CLAUDE.md",
|
||||
"shortDescription": "自动更新 CLAUDE.md",
|
||||
"claudePath": "CLAUDE.md 路径",
|
||||
"updateFrequency": "更新频率",
|
||||
"frequency": {
|
||||
"sessionEnd": "Session End",
|
||||
"hourly": "Hourly",
|
||||
"daily": "Daily"
|
||||
"sessionEnd": "会话结束时",
|
||||
"hourly": "每小时",
|
||||
"daily": "每天"
|
||||
}
|
||||
},
|
||||
"dangerProtection": {
|
||||
"title": "Danger Protection Wizard",
|
||||
"description": "Configure confirmation hook for dangerous operations",
|
||||
"shortDescription": "Confirm dangerous operations",
|
||||
"keywords": "Dangerous Keywords",
|
||||
"keywordsHelp": "Enter one keyword per line",
|
||||
"confirmationMessage": "Confirmation Message",
|
||||
"allowBypass": "Allow bypass with --force flag"
|
||||
"title": "危险操作保护向导",
|
||||
"description": "配置危险操作的确认钩子",
|
||||
"shortDescription": "确认危险操作",
|
||||
"keywords": "危险关键词",
|
||||
"keywordsHelp": "每行输入一个关键词",
|
||||
"confirmationMessage": "确认消息",
|
||||
"allowBypass": "允许使用 --force 标志绕过"
|
||||
},
|
||||
"skillContext": {
|
||||
"title": "SKILL Context Wizard",
|
||||
"description": "Configure hook to load SKILL based on prompt keywords",
|
||||
"shortDescription": "Auto-load SKILL based on keywords",
|
||||
"loadingSkills": "Loading available skills...",
|
||||
"keywordPlaceholder": "Enter keyword",
|
||||
"selectSkill": "Select skill",
|
||||
"addPair": "Add Keyword-Skill Pair",
|
||||
"priority": "Priority",
|
||||
"priorityHigh": "High",
|
||||
"priorityMedium": "Medium",
|
||||
"priorityLow": "Low",
|
||||
"keywordMappings": "Keyword Mappings"
|
||||
"title": "SKILL 上下文向导",
|
||||
"description": "配置钩子以根据提示关键词加载 SKILL",
|
||||
"shortDescription": "根据关键词自动加载 SKILL",
|
||||
"loadingSkills": "正在加载可用的技能...",
|
||||
"keywordPlaceholder": "输入关键词",
|
||||
"selectSkill": "选择技能",
|
||||
"addPair": "添加关键词-技能对",
|
||||
"priority": "优先级",
|
||||
"priorityHigh": "高",
|
||||
"priorityMedium": "中",
|
||||
"priorityLow": "低",
|
||||
"keywordMappings": "关键词映射"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,5 +60,80 @@
|
||||
"createdAt": "创建时间",
|
||||
"updatedAt": "更新时间",
|
||||
"solutions": "{count, plural, one {解决方案} other {解决方案}}"
|
||||
},
|
||||
"queue": {
|
||||
"title": "队列",
|
||||
"pageTitle": "问题队列",
|
||||
"description": "管理问题执行队列和执行组",
|
||||
"stats": {
|
||||
"totalItems": "总项目",
|
||||
"groups": "执行组",
|
||||
"tasks": "任务",
|
||||
"solutions": "解决方案"
|
||||
},
|
||||
"actions": {
|
||||
"activate": "激活",
|
||||
"deactivate": "停用",
|
||||
"delete": "删除",
|
||||
"merge": "合并",
|
||||
"confirmDelete": "确定要删除此队列吗?"
|
||||
},
|
||||
"executionGroup": "执行组",
|
||||
"parallel": "并行",
|
||||
"sequential": "顺序",
|
||||
"emptyState": "无队列数据",
|
||||
"conflicts": "队列中检测到冲突",
|
||||
"noQueueData": "无队列数据"
|
||||
},
|
||||
"discovery": {
|
||||
"title": "发现",
|
||||
"pageTitle": "问题发现",
|
||||
"description": "查看和管理问题发现会话",
|
||||
"stats": {
|
||||
"totalSessions": "总会话数",
|
||||
"completed": "已完成",
|
||||
"running": "运行中",
|
||||
"findings": "发现"
|
||||
},
|
||||
"session": {
|
||||
"status": {
|
||||
"running": "运行中",
|
||||
"completed": "已完成",
|
||||
"failed": "失败"
|
||||
},
|
||||
"findings": "{count} 个发现",
|
||||
"startedAt": "开始时间"
|
||||
},
|
||||
"findings": {
|
||||
"title": "发现",
|
||||
"filters": {
|
||||
"severity": "严重程度",
|
||||
"type": "类型",
|
||||
"search": "搜索发现..."
|
||||
},
|
||||
"severity": {
|
||||
"all": "全部严重程度",
|
||||
"critical": "严重",
|
||||
"high": "高",
|
||||
"medium": "中",
|
||||
"low": "低"
|
||||
},
|
||||
"type": {
|
||||
"all": "全部类型"
|
||||
},
|
||||
"noFindings": "未发现结果",
|
||||
"export": "导出"
|
||||
},
|
||||
"tabs": {
|
||||
"findings": "发现",
|
||||
"progress": "进度",
|
||||
"info": "会话信息"
|
||||
},
|
||||
"emptyState": "未发现发现会话",
|
||||
"noSessionSelected": "选择会话以查看发现",
|
||||
"actions": {
|
||||
"export": "导出发现",
|
||||
"refresh": "刷新"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
"orchestrator": "编排器",
|
||||
"loops": "循环监控",
|
||||
"issues": "问题",
|
||||
"issueQueue": "问题队列",
|
||||
"issueDiscovery": "问题发现",
|
||||
"skills": "技能",
|
||||
"commands": "命令",
|
||||
"memory": "记忆",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"title": "通知",
|
||||
"close": "关闭通知",
|
||||
"empty": "暂无通知",
|
||||
"emptyHint": "通知将显示在这里",
|
||||
"markAllRead": "全部已读",
|
||||
@@ -14,5 +15,38 @@
|
||||
"daysAgo": "{0}天前",
|
||||
"oneMinuteAgo": "1分钟前",
|
||||
"oneHourAgo": "1小时前",
|
||||
"oneDayAgo": "1天前"
|
||||
"oneDayAgo": "1天前",
|
||||
"sources": {
|
||||
"system": "系统",
|
||||
"websocket": "WebSocket",
|
||||
"cli": "命令行",
|
||||
"workflow": "工作流",
|
||||
"user": "用户",
|
||||
"external": "外部"
|
||||
},
|
||||
"priorities": {
|
||||
"low": "低",
|
||||
"medium": "中",
|
||||
"high": "高",
|
||||
"critical": "紧急"
|
||||
},
|
||||
"attachments": {
|
||||
"image": "图片",
|
||||
"code": "代码",
|
||||
"file": "文件",
|
||||
"data": "数据",
|
||||
"download": "下载"
|
||||
},
|
||||
"actions": {
|
||||
"loading": "加载中...",
|
||||
"success": "完成",
|
||||
"retry": "重试"
|
||||
},
|
||||
"timestamps": {
|
||||
"today": "今天",
|
||||
"yesterday": "昨天",
|
||||
"atTime": "{0}"
|
||||
},
|
||||
"markAsRead": "标为已读",
|
||||
"markAsUnread": "标为未读"
|
||||
}
|
||||
|
||||
@@ -23,13 +23,19 @@
|
||||
"card": {
|
||||
"triggers": "触发器",
|
||||
"category": "类别",
|
||||
"source": "来源",
|
||||
"author": "作者",
|
||||
"version": "版本"
|
||||
},
|
||||
"filters": {
|
||||
"all": "全部",
|
||||
"enabled": "已启用",
|
||||
"disabled": "已禁用"
|
||||
"disabled": "已禁用",
|
||||
"searchPlaceholder": "搜索技能...",
|
||||
"allSources": "所有来源"
|
||||
},
|
||||
"stats": {
|
||||
"totalSkills": "总技能数"
|
||||
},
|
||||
"view": {
|
||||
"grid": "网格视图",
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
"current": "当前",
|
||||
"browse": "选择文件夹...",
|
||||
"removePath": "从最近记录中移除",
|
||||
"ariaLabel": "工作空间选择器"
|
||||
},
|
||||
"dialog": {
|
||||
"title": "选择项目文件夹",
|
||||
"placeholder": "输入项目路径...",
|
||||
"help": "您的项目目录路径"
|
||||
"ariaLabel": "工作空间选择器",
|
||||
"dialog": {
|
||||
"title": "选择项目文件夹",
|
||||
"placeholder": "输入项目路径...",
|
||||
"help": "您的项目目录路径"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"switch": "切换工作空间",
|
||||
|
||||
Reference in New Issue
Block a user