Files
DevFlow/src/i18n/en/projectDetail.ts
T
lxy 8e4c7c68cf 优化: ProjectDetail多工程列表 + ProjectCard list padding + provider usage诊断
ProjectDetail 概览加工程列表(moduleApi.listProjectModules 显所有 module 名/路径,只读,多工程可见,不只项目级 bind_directory)

ProjectCard list padding 1×(原 0.7× 紧凑文字贴边,panel 14/16px)

openai_helpers apply_openai_sse usage 诊断 tracing(确认 deepseek 报 cache/usage 否,定位 completion 0)

i18n projectDetail.modulesLabel zh/en
2026-08-03 02:28:21 +08:00

77 lines
2.8 KiB
TypeScript

export default {
projectDetail: {
// Header
backToList: '← Projects',
notFound: 'Project not found or deleted',
sync: '🔄 Sync',
delete: '🗑 Delete',
newTask: '+ New Task',
// Stage pipeline
stageIdea: '💡 Idea',
stageRequirement: '📋 Requirement',
stageCoding: '💻 Coding',
stageTesting: '🧪 Testing',
stageRelease: '🚀 Release',
// New task modal
newTaskTitle: 'New Task',
taskTitleLabel: 'Task Title',
taskTitlePlaceholder: 'Enter task title',
descLabel: 'Description',
descPlaceholder: 'Brief description',
branchLabel: 'Branch Name',
confirmCreate: 'Create',
// Project info panel
infoTitle: '📋 Project Info',
sourceIdea: 'Source Idea',
viewIdea: 'View idea details',
ideaDeleted: 'Original idea deleted',
createdAt: 'Created',
updatedAt: 'Updated',
description: 'Description',
projectStatus: 'Status',
// Task list panel
taskListTitle: '🔀 Tasks',
taskCount: '{n} tasks',
emptyTasks: 'No tasks yet',
// Workflow log panel
workflowLogTitle: '📋 Workflow Log',
runDemoWorkflow: '▶ Run Demo Workflow',
emptyWorkflowLog: 'Click "Run Demo Workflow" to view live logs',
// Approval dialog
approvalTitle: 'Manual Approval Required',
approvalHint: 'Choose an action:',
approvalLater: 'Later',
// Delete confirm
confirmDelete: 'Delete project "{name}"? It will be moved to trash and can be restored.',
// Project directory
codeDirLabel: 'Code Directory',
noDirBound: 'Not bound',
relocateDir: 'Relocate',
bindDir: 'Bind Directory',
dirStatusLabel: 'Directory Status',
dirChecking: 'Checking…',
dirExists: '✓ Directory exists',
dirMissing: '⚠ Directory moved, recommend relocate',
dirConflict: 'This directory is already bound to project "{name}"',
relocateConfirmRelocate: 'Relocate project directory to:\n{dir}\n\nTech stack will be re-detected. Confirm?',
relocateConfirmBind: 'Bind project directory to:\n{dir}\n\nTech stack will be re-detected. Confirm?',
relocateFailed: 'Relocate failed: {msg}',
// Import directory
importDir: 'Import Directory',
importConfirm: 'Import as new project?\n{dir}\n\nThe directory name will be used as project name, tech stack will be detected, and README first section will fill description.',
importSuccess: 'Imported project "{name}"',
importFailed: 'Import failed: {msg}',
// Approval actions
approvalConfirm: 'Confirm ({count})',
approvalCancel: 'Cancel',
approvalSelectAll: 'Select all',
approvalInvert: 'Invert',
// Tech stack
techStackLabel: 'Tech Stack',
// Module list (multi-module read-only display)
modulesLabel: 'Modules ({n})',
// Tab navigation
tabOverview: '📋 Overview',
},
}