Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
287 changes: 143 additions & 144 deletions src/components/TaskList.jsx

Large diffs are not rendered by default.

21 changes: 20 additions & 1 deletion src/i18n/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import enAuth from './locales/en/auth.json';
import enSidebar from './locales/en/sidebar.json';
import enChat from './locales/en/chat.json';
import enCodeEditor from './locales/en/codeEditor.json';
import enTasks from './locales/en/tasks.json';

import koCommon from './locales/ko/common.json';
import koSettings from './locales/ko/settings.json';
Expand All @@ -35,6 +36,14 @@ import zhSidebar from './locales/zh-CN/sidebar.json';
import zhChat from './locales/zh-CN/chat.json';
import zhCodeEditor from './locales/zh-CN/codeEditor.json';

import jaCommon from './locales/ja/common.json';
import jaSettings from './locales/ja/settings.json';
import jaAuth from './locales/ja/auth.json';
import jaSidebar from './locales/ja/sidebar.json';
import jaChat from './locales/ja/chat.json';
import jaCodeEditor from './locales/ja/codeEditor.json';
import jaTasks from './locales/ja/tasks.json';

// Import supported languages configuration
import { languages } from './languages.js';

Expand Down Expand Up @@ -66,6 +75,7 @@ i18n
sidebar: enSidebar,
chat: enChat,
codeEditor: enCodeEditor,
tasks: enTasks,
},
ko: {
common: koCommon,
Expand All @@ -83,6 +93,15 @@ i18n
chat: zhChat,
codeEditor: zhCodeEditor,
},
ja: {
common: jaCommon,
settings: jaSettings,
auth: jaAuth,
sidebar: jaSidebar,
chat: jaChat,
codeEditor: jaCodeEditor,
tasks: jaTasks,
},
},

// Default language
Expand All @@ -95,7 +114,7 @@ i18n
debug: import.meta.env.DEV,

// Namespaces - load only what's needed
ns: ['common', 'settings', 'auth', 'sidebar', 'chat', 'codeEditor'],
ns: ['common', 'settings', 'auth', 'sidebar', 'chat', 'codeEditor', 'tasks'],
defaultNS: 'common',

// Key separator for nested keys (default: '.')
Expand Down
5 changes: 5 additions & 0 deletions src/i18n/languages.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ export const languages = [
label: 'Simplified Chinese',
nativeName: '简体中文',
},
{
value: 'ja',
label: 'Japanese',
nativeName: '日本語',
},
];

/**
Expand Down
142 changes: 142 additions & 0 deletions src/i18n/locales/en/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
{
"notConfigured": {
"title": "TaskMaster AI is not configured",
"description": "TaskMaster helps break down complex projects into manageable tasks with AI-powered assistance",
"whatIsTitle": "🎯 What is TaskMaster?",
"features": {
"aiPowered": "AI-Powered Task Management: Break complex projects into manageable subtasks",
"prdTemplates": "PRD Templates: Generate tasks from Product Requirements Documents",
"dependencyTracking": "Dependency Tracking: Understand task relationships and execution order",
"progressVisualization": "Progress Visualization: Kanban boards and detailed task analytics",
"cliIntegration": "CLI Integration: Use taskmaster commands for advanced workflows"
},
"initializeButton": "Initialize TaskMaster AI"
},
"gettingStarted": {
"title": "Getting Started with TaskMaster",
"subtitle": "TaskMaster is initialized! Here's what to do next:",
"steps": {
"createPRD": {
"title": "Create a Product Requirements Document (PRD)",
"description": "Discuss your project idea and create a PRD that describes what you want to build.",
"addButton": "Add PRD",
"existingPRDs": "Existing PRDs:"
},
"generateTasks": {
"title": "Generate Tasks from PRD",
"description": "Once you have a PRD, ask your AI assistant to parse it and TaskMaster will automatically break it down into manageable tasks with implementation details."
},
"analyzeTasks": {
"title": "Analyze & Expand Tasks",
"description": "Ask your AI assistant to analyze task complexity and expand them into detailed subtasks for easier implementation."
},
"startBuilding": {
"title": "Start Building",
"description": "Ask your AI assistant to begin working on tasks, update their status, and add new tasks as your project evolves."
}
},
"tip": "💡 Tip: Start with a PRD to get the most out of TaskMaster's AI-powered task generation"
},
"setupModal": {
"title": "TaskMaster Setup",
"subtitle": "Interactive CLI for {{projectName}}",
"willStart": "TaskMaster initialization will start automatically",
"completed": "TaskMaster setup completed! You can now close this window.",
"closeButton": "Close",
"closeContinueButton": "Close & Continue"
},
"helpGuide": {
"title": "Getting Started with TaskMaster",
"subtitle": "Your guide to productive task management",
"examples": {
"parsePRD": "💬 Example:\n\"I've just initialized a new project with Claude Task Master. I have a PRD at .taskmaster/docs/prd.txt. Can you help me parse it and set up the initial tasks?\"",
"expandTask": "💬 Example:\n\"Task 5 seems complex. Can you break it down into subtasks?\"",
"addTask": "💬 Example:\n\"Please add a new task to implement user profile image uploads using Cloudinary, research the best approach.\""
},
"moreExamples": "View more examples and usage patterns →",
"proTips": {
"title": "💡 Pro Tips",
"search": "Use the search bar to quickly find specific tasks",
"views": "Switch between Kanban, List, and Grid views using the view toggles",
"filters": "Use filters to focus on specific task statuses or priorities",
"details": "Click on any task to view detailed information and manage subtasks"
},
"learnMore": {
"title": "📚 Learn More",
"description": "TaskMaster AI is an advanced task management system built for developers. Get documentation, examples, and contribute to the project.",
"githubButton": "View on GitHub"
}
},
"search": {
"placeholder": "Search tasks..."
},
"filters": {
"button": "Filters",
"status": "Status",
"priority": "Priority",
"sortBy": "Sort By",
"allStatuses": "All Statuses",
"allPriorities": "All Priorities",
"showing": "Showing {{filtered}} of {{total}} tasks",
"clearFilters": "Clear Filters"
},
"sort": {
"id": "ID",
"status": "Status",
"priority": "Priority",
"idAsc": "ID (Ascending)",
"idDesc": "ID (Descending)",
"titleAsc": "Title (A-Z)",
"titleDesc": "Title (Z-A)",
"statusAsc": "Status (Pending First)",
"statusDesc": "Status (Done First)",
"priorityAsc": "Priority (High First)",
"priorityDesc": "Priority (Low First)"
},
"views": {
"kanban": "Kanban view",
"list": "List view",
"grid": "Grid view"
},
"kanban": {
"pending": "📋 To Do",
"inProgress": "🚀 In Progress",
"done": "✅ Done",
"blocked": "🚫 Blocked",
"deferred": "⏳ Deferred",
"cancelled": "❌ Cancelled",
"noTasksYet": "No tasks yet",
"tasksWillAppear": "Tasks will appear here",
"moveTasksHere": "Move tasks here when started",
"completedTasksHere": "Completed tasks appear here",
"statusTasksHere": "Tasks with this status will appear here"
},
"buttons": {
"help": "TaskMaster Getting Started Guide",
"prds": "PRDs",
"addPRD": "Add PRD",
"addTask": "Add Task",
"createNewPRD": "Create New PRD",
"prdsAvailable": "{{count}} PRD(s) available"
},
"prd": {
"modified": "Modified: {{date}}"
},
"statuses": {
"pending": "Pending",
"in-progress": "In Progress",
"done": "Done",
"blocked": "Blocked",
"deferred": "Deferred",
"cancelled": "Cancelled"
},
"priorities": {
"high": "High",
"medium": "Medium",
"low": "Low"
},
"noMatchingTasks": {
"title": "No tasks match your filters",
"description": "Try adjusting your search or filter criteria."
}
}
37 changes: 37 additions & 0 deletions src/i18n/locales/ja/auth.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"login": {
"title": "おかえりなさい",
"description": "Claude Code UIアカウントにサインイン",
"username": "ユーザー名",
"password": "パスワード",
"submit": "サインイン",
"loading": "サインイン中...",
"errors": {
"invalidCredentials": "ユーザー名またはパスワードが正しくありません",
"requiredFields": "すべての項目を入力してください",
"networkError": "ネットワークエラー。もう一度お試しください。"
},
"placeholders": {
"username": "ユーザー名を入力",
"password": "パスワードを入力"
}
},
"register": {
"title": "アカウント作成",
"username": "ユーザー名",
"password": "パスワード",
"confirmPassword": "パスワードの確認",
"submit": "アカウントを作成",
"loading": "アカウントを作成中...",
"errors": {
"passwordMismatch": "パスワードが一致しません",
"usernameTaken": "このユーザー名は既に使用されています",
"weakPassword": "パスワードが弱すぎます"
}
},
"logout": {
"title": "サインアウト",
"confirm": "サインアウトしてもよろしいですか?",
"button": "サインアウト"
}
}
Loading