export default { tasks: { // Header title: 'πŸ”€ Task Queue', refresh: 'πŸ”„ Refresh', create: '+ New Task', searchPlaceholder: 'Search title/description...', // Filter bar filter: { project: 'Project: ', status: 'Status: ', all: 'All', }, // Sort sort: { label: 'Sort: ', updated: 'Updated', created: 'Created', priority: 'Priority', status: 'Status', }, // Status filters (with icons) β€” D-260616-01 aligned to backend 7 states statusFilter: { all: 'All', todo: 'Todo', in_progress: 'In Progress', in_review: 'In Review', testing: 'Testing', done: 'Done', blocked: 'Blocked', cancelled: 'Cancelled', deferred: 'Deferred', }, // Groups group: { taskCount: '{n} tasks', unknownProject: 'Unknown Project', empty: 'No tasks yet', }, confirmDelete: 'Delete task "{title}"? This action cannot be undone.', // F-260805 parent/child tasks: deleting a parent cascades soft-delete of children confirmDeleteWithChildren: 'Delete "{title}"? {n} subtasks will also be deleted.', // F-260805 parent/child tasks: tree child progress badge / mini progress bar tooltip tree: { progress: 'Progress', }, // F-260805 parent/child tasks: add-subtask entry in parent quick menu addSubtask: '+ Add Subtask', // Quick action menu (task card quick status/priority/delete) quickActions: 'Quick Actions', quickStatus: 'Status', quickPriority: 'Priority', quickDelete: 'πŸ—‘ Delete', // Batch action bar (shared by Tasks / ProjectDetail / TaskDetail subtasks) batch: { selected: '{n} selected', selectAll: 'Select All', clear: 'Clear', advanceTo: 'Move to', noCommonTarget: 'No common target status for selected tasks', cancel: 'Cancel', defer: 'Defer', resume: 'Resume', priority: 'Priority', assignee: 'Assignee', assigneePlaceholder: 'Enter assignee…', delete: 'Delete', confirmDelete: 'Delete {n} tasks? {c} subtasks will be cascaded.', confirmDeletePlain: 'Delete {n} tasks?', deleteResult: 'Deleted {n} tasks ({c} subtasks cascaded)', advanceResult: 'Advanced {n} tasks', updateResult: 'Updated {n} tasks', skipped: '{n} tasks skipped (not allowed)', failed: '{n} failed', selectHint: 'Select tasks for batch actions', }, // Task kanban board kanban: { toggleList: 'List', toggleKanban: 'Board', emptyColumn: 'No tasks', dragHandle: 'Drag to move', parentNoDrag: 'Parent status is aggregated from subtasks and cannot be dragged', }, // New task modal modal: { title: 'New Task', project: 'Project', titleField: 'Title', desc: 'Description', branch: 'Branch', priority: 'Priority', // related idea (1:1, optional) idea: 'Related Idea', ideaPlaceholder: 'None (optional)', titlePlaceholder: 'Enter task title...', descPlaceholder: 'Brief description (optional)', branchPlaceholder: 'feature/xxx (optional)', // Priority options priorityCritical: 'P0 Critical', priorityHigh: 'P1 High', priorityMedium: 'P2 Medium', priorityLow: 'P3 Low', // F-260805 parent/child tasks: parent dropdown in create modal parentTask: 'Parent Task', parentPlaceholder: 'None (top-level task)', }, // Status labels (TASK_STATUS_LABELS values in constants/project.ts use these keys) β€” D-260616-01 aligned to backend 7 states status: { todo: 'πŸ“‹ Todo', in_progress: 'πŸ”„ In Progress', in_review: 'πŸ‘€ In Review', testing: 'πŸ§ͺ Testing', done: 'βœ… Done', blocked: '🚫 Blocked', cancelled: 'πŸ—‘οΈ Cancelled', deferred: '⏰ Deferred', }, // Error fallbacks (user-visible via state.error) err: { loadFailed: 'Failed to load tasks', createFailed: 'Failed to create task', deleteFailed: 'Failed to delete task', updateFailed: 'Failed to update task', selectProject: 'Please select a project', }, }, }