feat(i18n): add Japanese language support #384

This commit is contained in:
Hinata Oishi
2026-02-17 02:56:24 +09:00
committed by GitHub
parent 29b80b1905
commit 8723393b66
11 changed files with 1475 additions and 145 deletions

View File

@@ -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';
@@ -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';
@@ -66,6 +75,7 @@ i18n
sidebar: enSidebar,
chat: enChat,
codeEditor: enCodeEditor,
tasks: enTasks,
},
ko: {
common: koCommon,
@@ -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
@@ -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: '.')

View File

@@ -24,6 +24,11 @@ export const languages = [
label: 'Simplified Chinese',
nativeName: '简体中文',
},
{
value: 'ja',
label: 'Japanese',
nativeName: '日本語',
},
];
/**

View File

@@ -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."
}
}

View File

@@ -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": "サインアウト"
}
}

View File

@@ -0,0 +1,205 @@
{
"codeBlock": {
"copy": "コピー",
"copied": "コピーしました",
"copyCode": "コードをコピー"
},
"messageTypes": {
"user": "U",
"error": "エラー",
"tool": "ツール",
"claude": "Claude",
"cursor": "Cursor",
"codex": "Codex"
},
"tools": {
"settings": "ツール設定",
"error": "ツールエラー",
"result": "ツール結果",
"viewParams": "入力パラメータを表示",
"viewRawParams": "生パラメータを表示",
"viewDiff": "編集差分を表示:",
"creatingFile": "新規ファイルを作成:",
"updatingTodo": "Todoリストを更新中",
"read": "読み取り",
"readFile": "ファイルを読み取り",
"updateTodo": "Todoリストを更新",
"readTodo": "Todoリストを読み取り",
"searchResults": "件の結果"
},
"search": {
"found": "{{count}}件の{{type}}が見つかりました",
"file": "ファイル",
"files": "ファイル",
"pattern": "パターン:",
"in": "場所:"
},
"fileOperations": {
"updated": "ファイルを更新しました",
"created": "ファイルを作成しました",
"written": "ファイルを書き込みました",
"diff": "差分",
"newFile": "新規ファイル",
"viewContent": "ファイルの内容を表示",
"viewFullOutput": "全出力を表示({{count}}文字)",
"contentDisplayed": "ファイルの内容は上の差分ビューに表示されています"
},
"interactive": {
"title": "インタラクティブプロンプト",
"waiting": "CLIでの応答を待っています",
"instruction": "Claudeが実行されているターミナルでオプションを選択してください。",
"selectedOption": "✓ Claudeがオプション{{number}}を選択しました",
"instructionDetail": "CLIでは、矢印キーまたは番号を入力してオプションを選択します。"
},
"thinking": {
"title": "思考中...",
"emoji": "💭 思考中..."
},
"json": {
"response": "JSONレスポンス"
},
"permissions": {
"grant": "{{tool}}に権限を付与",
"added": "権限を追加しました",
"addTo": "{{entry}}を許可されたツールに追加します。",
"retry": "権限を保存しました。ツールを使用するにはリクエストを再試行してください。",
"error": "権限を更新できませんでした。もう一度お試しください。",
"openSettings": "設定を開く"
},
"todo": {
"updated": "Todoリストを更新しました",
"current": "現在のTodoリスト"
},
"plan": {
"viewPlan": "📋 実装プランを表示",
"title": "実装プラン"
},
"usageLimit": {
"resetAt": "Claudeの使用制限に達しました。制限は**{{time}} {{timezone}}** - {{date}}にリセットされます"
},
"codex": {
"permissionMode": "権限モード",
"modes": {
"default": "デフォルトモード",
"acceptEdits": "編集を許可",
"bypassPermissions": "権限をバイパス",
"plan": "プランモード"
},
"descriptions": {
"default": "信頼されたコマンドls、cat、grep、git statusなどのみ自動実行。その他のコマンドはスキップ。ワークスペースへの書き込みは可能。",
"acceptEdits": "ワークスペース内ですべてのコマンドを自動実行。サンドボックス環境での完全自動モード。",
"bypassPermissions": "制限なしの完全なシステムアクセス。すべてのコマンドがディスクとネットワークへの完全なアクセスで自動実行されます。注意して使用してください。",
"plan": "プランニングモード - コマンドは実行されません"
},
"technicalDetails": "技術的な詳細"
},
"input": {
"placeholder": "/ でコマンド、@ でファイル指定、または {{provider}} に何でも聞いてください...",
"placeholderDefault": "メッセージを入力...",
"disabled": "入力無効",
"attachFiles": "ファイルを添付",
"attachImages": "画像を添付",
"send": "送信",
"stop": "停止",
"hintText": {
"ctrlEnter": "Ctrl+Enterで送信 • Shift+Enterで改行 • Tabでモード切替 • / でスラッシュコマンド",
"enter": "Enterで送信 • Shift+Enterで改行 • Tabでモード切替 • / でスラッシュコマンド"
},
"clickToChangeMode": "クリックで権限モードを変更または入力欄でTab",
"showAllCommands": "すべてのコマンドを表示"
},
"thinkingMode": {
"selector": {
"title": "思考モード",
"description": "拡張思考によりClaudeがより多くの選択肢を検討できます",
"active": "有効",
"tip": "高い思考モードは時間がかかりますが、より深い分析が得られます"
},
"modes": {
"none": {
"name": "標準",
"description": "通常のClaudeの応答",
"prefix": ""
},
"think": {
"name": "Think",
"description": "基本的な拡張思考",
"prefix": "think"
},
"thinkHard": {
"name": "Think Hard",
"description": "より深い検討",
"prefix": "think hard"
},
"thinkHarder": {
"name": "Think Harder",
"description": "代替案を含む深い分析",
"prefix": "think harder"
},
"ultrathink": {
"name": "Ultrathink",
"description": "最大限の思考予算",
"prefix": "ultrathink"
}
},
"buttonTitle": "思考モード: {{mode}}"
},
"providerSelection": {
"title": "AIアシスタントを選択",
"description": "新しい会話を始めるプロバイダーを選択してください",
"selectModel": "モデルを選択",
"providerInfo": {
"anthropic": "by Anthropic",
"openai": "by OpenAI",
"cursorEditor": "AIコードエディタ"
},
"readyPrompt": {
"claude": "{{model}}でClaudeを使用する準備ができました。下にメッセージを入力してください。",
"cursor": "{{model}}でCursorを使用する準備ができました。下にメッセージを入力してください。",
"codex": "{{model}}でCodexを使用する準備ができました。下にメッセージを入力してください。",
"default": "上からプロバイダーを選択して開始してください"
}
},
"session": {
"continue": {
"title": "会話を続ける",
"description": "コードについて質問したり、変更をリクエストしたり、開発タスクのサポートを受けられます"
},
"loading": {
"olderMessages": "過去のメッセージを読み込んでいます...",
"sessionMessages": "セッションメッセージを読み込んでいます..."
},
"messages": {
"showingOf": "{{total}}件中{{shown}}件を表示",
"scrollToLoad": "上にスクロールしてさらに読み込む",
"showingLast": "最新{{count}}件を表示(全{{total}}件)",
"loadEarlier": "過去のメッセージを読み込む"
}
},
"shell": {
"selectProject": {
"title": "プロジェクトを選択",
"description": "プロジェクトを選択してそのディレクトリでシェルを開きます"
},
"status": {
"newSession": "新しいセッション",
"initializing": "初期化中...",
"restarting": "再起動中..."
},
"actions": {
"disconnect": "切断",
"disconnectTitle": "シェルから切断",
"restart": "再起動",
"restartTitle": "シェルを再起動(先に切断してください)",
"connect": "シェルで続行",
"connectTitle": "シェルに接続"
},
"loading": "ターミナルを読み込んでいます...",
"connecting": "シェルに接続しています...",
"startSession": "新しいClaudeセッションを開始",
"resumeSession": "セッションを再開: {{displayName}}...",
"runCommand": "{{projectName}}で{{command}}を実行",
"startCli": "{{projectName}}でClaude CLIを起動しています",
"defaultCommand": "コマンド"
}
}

View File

@@ -0,0 +1,30 @@
{
"toolbar": {
"changes": "件の変更",
"previousChange": "前の変更",
"nextChange": "次の変更",
"hideDiff": "差分ハイライトを非表示",
"showDiff": "差分ハイライトを表示",
"settings": "エディタ設定",
"collapse": "エディタを折りたたむ",
"expand": "エディタを全幅に展開"
},
"loading": "{{fileName}}を読み込んでいます...",
"header": {
"showingChanges": "変更を表示中"
},
"actions": {
"download": "ファイルをダウンロード",
"save": "保存",
"saving": "保存中...",
"saved": "保存しました!",
"exitFullscreen": "全画面を終了",
"fullscreen": "全画面",
"close": "閉じる"
},
"footer": {
"lines": "行数:",
"characters": "文字数:",
"shortcuts": "Ctrl+Sで保存 • Escで閉じる"
}
}

View File

@@ -0,0 +1,222 @@
{
"buttons": {
"save": "保存",
"cancel": "キャンセル",
"delete": "削除",
"create": "作成",
"edit": "編集",
"close": "閉じる",
"confirm": "確認",
"submit": "送信",
"retry": "再試行",
"refresh": "更新",
"search": "検索",
"clear": "クリア",
"copy": "コピー",
"download": "ダウンロード",
"upload": "アップロード",
"browse": "参照"
},
"tabs": {
"chat": "チャット",
"shell": "シェル",
"files": "ファイル",
"git": "ソース管理",
"tasks": "タスク"
},
"status": {
"loading": "読み込み中...",
"success": "成功",
"error": "エラー",
"failed": "失敗",
"pending": "保留中",
"completed": "完了",
"inProgress": "進行中"
},
"messages": {
"savedSuccessfully": "保存しました",
"deletedSuccessfully": "削除しました",
"updatedSuccessfully": "更新しました",
"operationFailed": "操作に失敗しました",
"networkError": "ネットワークエラー。接続を確認してください。",
"unauthorized": "認証されていません。ログインしてください。",
"notFound": "見つかりません",
"invalidInput": "入力が無効です",
"requiredField": "この項目は必須です",
"unknownError": "不明なエラーが発生しました"
},
"navigation": {
"settings": "設定",
"home": "ホーム",
"back": "戻る",
"next": "次へ",
"previous": "前へ",
"logout": "ログアウト"
},
"common": {
"language": "言語",
"theme": "テーマ",
"darkMode": "ダークモード",
"lightMode": "ライトモード",
"name": "名前",
"description": "説明",
"enabled": "有効",
"disabled": "無効",
"optional": "任意",
"version": "バージョン",
"select": "選択",
"selectAll": "すべて選択",
"deselectAll": "すべて解除"
},
"time": {
"justNow": "たった今",
"minutesAgo": "{{count}}分前",
"hoursAgo": "{{count}}時間前",
"daysAgo": "{{count}}日前",
"yesterday": "昨日"
},
"fileOperations": {
"newFile": "新規ファイル",
"newFolder": "新規フォルダ",
"rename": "名前の変更",
"move": "移動",
"copyPath": "パスをコピー",
"openInEditor": "エディタで開く"
},
"mainContent": {
"loading": "Claude Code UI を読み込んでいます",
"settingUpWorkspace": "ワークスペースを準備しています...",
"chooseProject": "プロジェクトを選択",
"selectProjectDescription": "サイドバーからプロジェクトを選択して、Claudeとコーディングを始めましょう。各プロジェクトにはチャットセッションとファイル履歴が含まれています。",
"tip": "ヒント",
"createProjectMobile": "上部のメニューボタンからプロジェクトにアクセスできます",
"createProjectDesktop": "サイドバーのフォルダアイコンをクリックして新しいプロジェクトを作成できます",
"newSession": "新しいセッション",
"untitledSession": "無題のセッション",
"projectFiles": "プロジェクトファイル"
},
"fileTree": {
"loading": "ファイルを読み込んでいます...",
"files": "ファイル",
"simpleView": "シンプル表示",
"compactView": "コンパクト表示",
"detailedView": "詳細表示",
"searchPlaceholder": "ファイルやフォルダを検索...",
"clearSearch": "検索をクリア",
"name": "名前",
"size": "サイズ",
"modified": "更新日時",
"permissions": "権限",
"noFilesFound": "ファイルが見つかりません",
"checkProjectPath": "プロジェクトのパスがアクセス可能か確認してください",
"noMatchesFound": "一致するものが見つかりません",
"tryDifferentSearch": "別の検索語を試すか、検索をクリアしてください",
"justNow": "たった今",
"minAgo": "{{count}}分前",
"hoursAgo": "{{count}}時間前",
"daysAgo": "{{count}}日前"
},
"projectWizard": {
"title": "新規プロジェクトを作成",
"steps": {
"type": "種類",
"configure": "設定",
"confirm": "確認"
},
"step1": {
"question": "既存のワークスペースがありますか?それとも新しく作成しますか?",
"existing": {
"title": "既存のワークスペース",
"description": "サーバー上に既存のワークスペースがあり、プロジェクト一覧に追加したい"
},
"new": {
"title": "新しいワークスペース",
"description": "新しいワークスペースを作成し、必要に応じてGitHubリポジトリからクローンする"
}
},
"step2": {
"existingPath": "ワークスペースのパス",
"newPath": "ワークスペースのパス",
"existingPlaceholder": "/path/to/existing/workspace",
"newPlaceholder": "/path/to/new/workspace",
"existingHelp": "既存のワークスペースディレクトリのフルパス",
"newHelp": "ワークスペースディレクトリのフルパス",
"githubUrl": "GitHub URL任意",
"githubPlaceholder": "https://github.com/username/repository",
"githubHelp": "任意: リポジトリをクローンするためのGitHub URLを入力してください",
"githubAuth": "GitHub認証任意",
"githubAuthHelp": "プライベートリポジトリの場合のみ必要です。パブリックリポジトリは認証なしでクローンできます。",
"loadingTokens": "保存済みトークンを読み込んでいます...",
"storedToken": "保存済みトークン",
"newToken": "新しいトークン",
"nonePublic": "なし(パブリック)",
"selectToken": "トークンを選択",
"selectTokenPlaceholder": "-- トークンを選択 --",
"tokenPlaceholder": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"tokenHelp": "このトークンはこの操作にのみ使用されます",
"publicRepoInfo": "パブリックリポジトリには認証は不要です。パブリックリポジトリをクローンする場合、トークンは省略できます。",
"noTokensHelp": "保存済みトークンがありません。設定 → APIキーでトークンを追加すると再利用が簡単になります。",
"optionalTokenPublic": "GitHubトークンパブリックリポジトリの場合は任意",
"tokenPublicPlaceholder": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxパブリックリポジトリの場合は空欄可"
},
"step3": {
"reviewConfig": "設定の確認",
"workspaceType": "ワークスペースの種類:",
"existingWorkspace": "既存のワークスペース",
"newWorkspace": "新しいワークスペース",
"path": "パス:",
"cloneFrom": "クローン元:",
"authentication": "認証:",
"usingStoredToken": "保存済みトークンを使用:",
"usingProvidedToken": "入力されたトークンを使用",
"noAuthentication": "認証なし",
"sshKey": "SSHキー",
"existingInfo": "ワークスペースがプロジェクト一覧に追加され、Claude/Cursorセッションで使用できるようになります。",
"newWithClone": "このフォルダからリポジトリがクローンされます。",
"newEmpty": "ワークスペースがプロジェクト一覧に追加され、Claude/Cursorセッションで使用できるようになります。",
"cloningRepository": "リポジトリをクローンしています..."
},
"buttons": {
"cancel": "キャンセル",
"back": "戻る",
"next": "次へ",
"createProject": "プロジェクトを作成",
"creating": "作成中...",
"cloning": "クローン中..."
},
"errors": {
"selectType": "既存のワークスペースか新規作成かを選択してください",
"providePath": "ワークスペースのパスを入力してください",
"failedToCreate": "ワークスペースの作成に失敗しました",
"failedToCreateFolder": "フォルダの作成に失敗しました"
}
},
"versionUpdate": {
"title": "アップデートのお知らせ",
"newVersionReady": "新しいバージョンが利用可能です",
"currentVersion": "現在のバージョン",
"latestVersion": "最新バージョン",
"whatsNew": "変更点:",
"viewFullRelease": "リリース全文を見る",
"updateProgress": "アップデートの進捗:",
"manualUpgrade": "手動アップグレード:",
"manualUpgradeHint": "または「今すぐ更新」をクリックして自動的にアップデートを実行できます。",
"updateCompleted": "アップデートが完了しました!",
"restartServer": "変更を適用するにはサーバーを再起動してください。",
"updateFailed": "アップデートに失敗しました",
"buttons": {
"close": "閉じる",
"later": "後で",
"copyCommand": "コマンドをコピー",
"updateNow": "今すぐ更新",
"updating": "更新中..."
},
"ariaLabels": {
"closeModal": "バージョンアップグレードモーダルを閉じる",
"showSidebar": "サイドバーを表示",
"settings": "設定",
"updateAvailable": "アップデートあり",
"closeSidebar": "サイドバーを閉じる"
}
}
}

View File

@@ -0,0 +1,418 @@
{
"title": "設定",
"tabs": {
"account": "アカウント",
"permissions": "権限",
"mcpServers": "MCPサーバー",
"appearance": "外観"
},
"account": {
"title": "アカウント",
"language": "言語",
"languageLabel": "表示言語",
"languageDescription": "インターフェースの表示言語を選択してください",
"username": "ユーザー名",
"email": "メールアドレス",
"profile": "プロフィール",
"changePassword": "パスワードを変更"
},
"mcp": {
"title": "MCPサーバー",
"addServer": "サーバーを追加",
"editServer": "サーバーを編集",
"deleteServer": "サーバーを削除",
"serverName": "サーバー名",
"serverType": "サーバーの種類",
"config": "設定",
"testConnection": "接続テスト",
"status": "状態",
"connected": "接続済み",
"disconnected": "未接続",
"scope": {
"label": "スコープ",
"user": "ユーザー",
"project": "プロジェクト"
}
},
"appearance": {
"title": "外観",
"theme": "テーマ",
"codeEditor": "コードエディタ",
"editorTheme": "エディタのテーマ",
"wordWrap": "折り返し",
"showMinimap": "ミニマップを表示",
"lineNumbers": "行番号",
"fontSize": "フォントサイズ"
},
"actions": {
"saveChanges": "変更を保存",
"resetToDefaults": "デフォルトに戻す",
"cancelChanges": "変更をキャンセル"
},
"quickSettings": {
"title": "クイック設定",
"sections": {
"appearance": "外観",
"toolDisplay": "ツール表示",
"viewOptions": "表示オプション",
"inputSettings": "入力設定",
"whisperDictation": "Whisper音声入力"
},
"darkMode": "ダークモード",
"autoExpandTools": "ツールを自動展開",
"showRawParameters": "生パラメータを表示",
"showThinking": "思考を表示",
"autoScrollToBottom": "自動スクロール",
"sendByCtrlEnter": "Ctrl+Enterで送信",
"sendByCtrlEnterDescription": "有効にすると、Enterではなく Ctrl+Enter でメッセージを送信します。IMEユーザーの誤送信防止に便利です。",
"dragHandle": {
"dragging": "ドラッグ中",
"closePanel": "設定パネルを閉じる",
"openPanel": "設定パネルを開く",
"draggingStatus": "ドラッグ中...",
"toggleAndMove": "クリックで切替、ドラッグで移動"
},
"whisper": {
"modes": {
"default": "標準モード",
"defaultDescription": "音声をそのまま文字起こしします",
"prompt": "プロンプト強化",
"promptDescription": "ラフなアイデアを明確で詳細なAIプロンプトに変換します",
"vibe": "バイブモード",
"vibeDescription": "アイデアを明確なエージェント指示に整形します"
}
}
},
"mainTabs": {
"agents": "エージェント",
"appearance": "外観",
"git": "Git",
"apiTokens": "API & トークン",
"tasks": "タスク"
},
"appearanceSettings": {
"darkMode": {
"label": "ダークモード",
"description": "ライトテーマとダークテーマを切り替えます"
},
"projectSorting": {
"label": "プロジェクトの並び順",
"description": "サイドバーでのプロジェクトの並び順を設定します",
"alphabetical": "アルファベット順",
"recentActivity": "最近のアクティビティ順"
},
"codeEditor": {
"title": "コードエディタ",
"theme": {
"label": "エディタのテーマ",
"description": "コードエディタのデフォルトテーマ"
},
"wordWrap": {
"label": "折り返し",
"description": "エディタでデフォルトで折り返しを有効にします"
},
"showMinimap": {
"label": "ミニマップを表示",
"description": "差分ビューでナビゲーション用のミニマップを表示します"
},
"lineNumbers": {
"label": "行番号を表示",
"description": "エディタに行番号を表示します"
},
"fontSize": {
"label": "フォントサイズ",
"description": "エディタのフォントサイズ(ピクセル)"
}
}
},
"mcpForm": {
"title": {
"add": "MCPサーバーを追加",
"edit": "MCPサーバーを編集"
},
"importMode": {
"form": "フォーム入力",
"json": "JSONインポート"
},
"scope": {
"label": "スコープ",
"userGlobal": "ユーザー(グローバル)",
"projectLocal": "プロジェクト(ローカル)",
"userDescription": "ユーザースコープ: すべてのプロジェクトで利用可能",
"projectDescription": "ローカルスコープ: 選択したプロジェクトでのみ利用可能",
"cannotChange": "既存のサーバーを編集する場合、スコープは変更できません"
},
"fields": {
"serverName": "サーバー名",
"transportType": "トランスポートの種類",
"command": "コマンド",
"arguments": "引数1行に1つ",
"jsonConfig": "JSON設定",
"url": "URL",
"envVars": "環境変数KEY=value、1行に1つ",
"headers": "ヘッダーKEY=value、1行に1つ",
"selectProject": "プロジェクトを選択..."
},
"placeholders": {
"serverName": "my-server"
},
"validation": {
"missingType": "必須フィールドがありません: type",
"stdioRequiresCommand": "stdioタイプにはcommandフィールドが必要です",
"httpRequiresUrl": "{{type}}タイプにはurlフィールドが必要です",
"invalidJson": "無効なJSON形式です",
"jsonHelp": "MCPサーバー設定をJSON形式で貼り付けてください。例:",
"jsonExampleStdio": "• stdio: {\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"@upstash/context7-mcp\"]}",
"jsonExampleHttp": "• http/sse: {\"type\":\"http\",\"url\":\"https://api.example.com/mcp\"}"
},
"configDetails": "設定の詳細({{configFile}}より)",
"projectPath": "パス: {{path}}",
"actions": {
"cancel": "キャンセル",
"saving": "保存中...",
"addServer": "サーバーを追加",
"updateServer": "サーバーを更新"
}
},
"saveStatus": {
"success": "設定を保存しました!",
"error": "設定の保存に失敗しました",
"saving": "保存中..."
},
"footerActions": {
"save": "設定を保存",
"cancel": "キャンセル"
},
"git": {
"title": "Git設定",
"description": "コミット用のGit IDを設定します。この設定は git config --global で適用されます",
"name": {
"label": "Git名前",
"help": "コミットに使用する名前"
},
"email": {
"label": "Gitメールアドレス",
"help": "コミットに使用するメールアドレス"
},
"actions": {
"save": "設定を保存",
"saving": "保存中..."
},
"status": {
"success": "保存しました"
}
},
"apiKeys": {
"title": "APIキー",
"description": "外部APIにアクセスするためのAPIキーを生成します。",
"newKey": {
"alertTitle": "⚠️ APIキーを保存してください",
"alertMessage": "このキーが表示されるのは今回限りです。安全な場所に保管してください。",
"iveSavedIt": "保存しました"
},
"form": {
"placeholder": "APIキーの名前例: 本番サーバー)",
"createButton": "作成",
"cancelButton": "キャンセル"
},
"newButton": "新しいAPIキー",
"empty": "APIキーはまだ作成されていません。",
"list": {
"created": "作成日:",
"lastUsed": "最終使用日:"
},
"confirmDelete": "このAPIキーを削除してもよろしいですか",
"status": {
"active": "有効",
"inactive": "無効"
},
"github": {
"title": "GitHubトークン",
"description": "外部APIからプライベートリポジトリをクローンするためのGitHubパーソナルアクセストークンを追加します。",
"descriptionAlt": "プライベートリポジトリをクローンするためのGitHubパーソナルアクセストークンを追加します。保存せずにAPIリクエストで直接トークンを渡すこともできます。",
"addButton": "トークンを追加",
"form": {
"namePlaceholder": "トークンの名前(例: 個人リポジトリ)",
"tokenPlaceholder": "GitHubパーソナルアクセストークンghp_...",
"descriptionPlaceholder": "説明(任意)",
"addButton": "トークンを追加",
"cancelButton": "キャンセル",
"howToCreate": "GitHubパーソナルアクセストークンの作成方法 →"
},
"empty": "GitHubトークンはまだ追加されていません。",
"added": "追加日:",
"confirmDelete": "このGitHubトークンを削除してもよろしいですか"
},
"apiDocsLink": "APIドキュメント",
"documentation": {
"title": "外部APIドキュメント",
"description": "外部APIを使用してアプリケーションからClaude/Cursorセッションを起動する方法を学びます。",
"viewLink": "APIドキュメントを見る →"
},
"loading": "読み込み中...",
"version": {
"updateAvailable": "アップデートあり: v{{version}}"
}
},
"tasks": {
"checking": "TaskMasterのインストールを確認しています...",
"notInstalled": {
"title": "TaskMaster AI CLIがインストールされていません",
"description": "タスク管理機能を使用するにはTaskMaster CLIが必要です。以下のコマンドでインストールしてください:",
"installCommand": "npm install -g task-master-ai",
"viewOnGitHub": "GitHubで見る",
"afterInstallation": "インストール後:",
"steps": {
"restart": "このアプリケーションを再起動してください",
"autoAvailable": "TaskMaster機能が自動的に利用可能になります",
"initCommand": "プロジェクトディレクトリで task-master init を実行してください"
}
},
"settings": {
"enableLabel": "TaskMaster統合を有効にする",
"enableDescription": "インターフェース全体でTaskMasterのタスク、バナー、サイドバーインジケータを表示します"
}
},
"agents": {
"authStatus": {
"checking": "確認中...",
"connected": "接続済み",
"notConnected": "未接続",
"disconnected": "切断",
"checkingAuth": "認証状態を確認しています...",
"loggedInAs": "{{email}}でログイン中",
"authenticatedUser": "認証済みユーザー"
},
"account": {
"claude": {
"description": "Anthropic Claude AIアシスタント"
},
"cursor": {
"description": "Cursor AI搭載コードエディタ"
},
"codex": {
"description": "OpenAI Codex AIアシスタント"
}
},
"connectionStatus": "接続状態",
"login": {
"title": "ログイン",
"reAuthenticate": "再認証",
"description": "{{agent}}アカウントにサインインしてAI機能を有効にします",
"reAuthDescription": "別のアカウントでサインインするか、認証情報を更新します",
"button": "ログイン",
"reLoginButton": "再ログイン"
},
"error": "エラー: {{error}}"
},
"permissions": {
"title": "権限設定",
"skipPermissions": {
"label": "権限プロンプトをスキップ(注意して使用)",
"claudeDescription": "--dangerously-skip-permissions フラグに相当",
"cursorDescription": "Cursor CLIの -f フラグに相当"
},
"allowedTools": {
"title": "許可されたツール",
"description": "権限の確認なしに自動的に許可されるツール",
"placeholder": "例: \"Bash(git log:*)\" または \"Write\"",
"quickAdd": "よく使うツールを追加:",
"empty": "許可されたツールはありません"
},
"blockedTools": {
"title": "ブロックされたツール",
"description": "権限の確認なしに自動的にブロックされるツール",
"placeholder": "例: \"Bash(rm:*)\"",
"empty": "ブロックされたツールはありません"
},
"allowedCommands": {
"title": "許可されたシェルコマンド",
"description": "権限の確認なしに自動的に許可されるシェルコマンド",
"placeholder": "例: \"Shell(ls)\" または \"Shell(git status)\"",
"quickAdd": "よく使うコマンドを追加:",
"empty": "許可されたコマンドはありません"
},
"blockedCommands": {
"title": "ブロックされたシェルコマンド",
"description": "自動的にブロックされるシェルコマンド",
"placeholder": "例: \"Shell(rm -rf)\" または \"Shell(sudo)\"",
"empty": "ブロックされたコマンドはありません"
},
"toolExamples": {
"title": "ツールパターンの例:",
"bashGitLog": "- すべてのgit logコマンドを許可",
"bashGitDiff": "- すべてのgit diffコマンドを許可",
"write": "- すべてのWriteツールの使用を許可",
"bashRm": "- すべてのrmコマンドをブロック危険"
},
"shellExamples": {
"title": "シェルコマンドの例:",
"ls": "- lsコマンドを許可",
"gitStatus": "- git statusを許可",
"npmInstall": "- npm installを許可",
"rmRf": "- 再帰的削除をブロック"
},
"codex": {
"permissionMode": "権限モード",
"description": "Codexがファイルの変更やコマンドの実行を処理する方法を制御します",
"modes": {
"default": {
"title": "デフォルト",
"description": "信頼されたコマンドls、cat、grep、git statusなどのみ自動実行。その他のコマンドはスキップ。ワークスペースへの書き込みは可能。"
},
"acceptEdits": {
"title": "編集を許可",
"description": "ワークスペース内ですべてのコマンドを自動実行。サンドボックス環境での完全自動モード。"
},
"bypassPermissions": {
"title": "権限をバイパス",
"description": "制限なしの完全なシステムアクセス。すべてのコマンドがディスクとネットワークへの完全なアクセスで自動実行されます。注意して使用してください。"
}
},
"technicalDetails": "技術的な詳細",
"technicalInfo": {
"default": "sandboxMode=workspace-write, approvalPolicy=untrusted。信頼されたコマンド: cat, cd, grep, head, ls, pwd, tail, git status/log/diff/show, find-execなしなど。",
"acceptEdits": "sandboxMode=workspace-write, approvalPolicy=never。すべてのコマンドがプロジェクトディレクトリ内で自動実行。",
"bypassPermissions": "sandboxMode=danger-full-access, approvalPolicy=never。完全なシステムアクセス。信頼された環境でのみ使用してください。",
"overrideNote": "チャットインターフェースのモードボタンを使用してセッションごとに上書きできます。"
}
},
"actions": {
"add": "追加"
}
},
"mcpServers": {
"title": "MCPサーバー",
"description": {
"claude": "Model Context Protocolサーバーは、Claudeに追加のツールやデータソースを提供します",
"cursor": "Model Context Protocolサーバーは、Cursorに追加のツールやデータソースを提供します",
"codex": "Model Context Protocolサーバーは、Codexに追加のツールやデータソースを提供します"
},
"addButton": "MCPサーバーを追加",
"empty": "MCPサーバーは設定されていません",
"serverType": "種類",
"scope": {
"local": "ローカル",
"user": "ユーザー"
},
"config": {
"command": "コマンド",
"url": "URL",
"args": "引数",
"environment": "環境変数"
},
"tools": {
"title": "ツール",
"count": "{{count}}:",
"more": "他{{count}}件"
},
"actions": {
"edit": "サーバーを編集",
"delete": "サーバーを削除"
},
"help": {
"title": "Codex MCPについて",
"description": "Codexはstdioベースのツールサーバーをサポートしています。追加のツールやリソースでCodexの機能を拡張するサーバーを追加できます。"
}
}
}

View File

@@ -0,0 +1,111 @@
{
"projects": {
"title": "プロジェクト",
"newProject": "新規プロジェクト",
"deleteProject": "プロジェクトを削除",
"renameProject": "プロジェクト名を変更",
"noProjects": "プロジェクトが見つかりません",
"loadingProjects": "プロジェクトを読み込んでいます...",
"searchPlaceholder": "プロジェクトを検索...",
"projectNamePlaceholder": "プロジェクト名",
"starred": "お気に入り",
"all": "すべて",
"untitledSession": "無題のセッション",
"newSession": "新しいセッション",
"codexSession": "Codexセッション",
"fetchingProjects": "Claudeのプロジェクトとセッションを取得しています",
"projects": "プロジェクト",
"noMatchingProjects": "一致するプロジェクトがありません",
"tryDifferentSearch": "検索語を変えてお試しください",
"runClaudeCli": "プロジェクトディレクトリでClaude CLIを実行して始めましょう"
},
"app": {
"title": "Claude Code UI",
"subtitle": "AIコーディングアシスタント"
},
"sessions": {
"title": "セッション",
"newSession": "新しいセッション",
"deleteSession": "セッションを削除",
"renameSession": "セッション名を変更",
"noSessions": "セッションはまだありません",
"loadingSessions": "セッションを読み込んでいます...",
"unnamed": "名称未設定",
"loading": "読み込み中...",
"showMore": "さらにセッションを表示"
},
"tooltips": {
"viewEnvironments": "環境を表示",
"hideSidebar": "サイドバーを隠す",
"createProject": "新しいプロジェクトを作成",
"refresh": "プロジェクトとセッションを更新 (Ctrl+R)",
"renameProject": "プロジェクト名を変更 (F2)",
"deleteProject": "空のプロジェクトを削除 (Delete)",
"addToFavorites": "お気に入りに追加",
"removeFromFavorites": "お気に入りから削除",
"editSessionName": "セッション名を手動で編集",
"deleteSession": "このセッションを完全に削除",
"save": "保存",
"cancel": "キャンセル"
},
"navigation": {
"chat": "チャット",
"files": "ファイル",
"git": "Git",
"terminal": "ターミナル",
"tasks": "タスク"
},
"actions": {
"refresh": "更新",
"settings": "設定",
"collapseAll": "すべて折りたたむ",
"expandAll": "すべて展開",
"cancel": "キャンセル",
"save": "保存",
"delete": "削除",
"rename": "名前の変更"
},
"status": {
"active": "アクティブ",
"inactive": "非アクティブ",
"thinking": "思考中...",
"error": "エラー",
"aborted": "中断",
"unknown": "不明"
},
"time": {
"justNow": "たった今",
"oneMinuteAgo": "1分前",
"minutesAgo": "{{count}}分前",
"oneHourAgo": "1時間前",
"hoursAgo": "{{count}}時間前",
"oneDayAgo": "1日前",
"daysAgo": "{{count}}日前"
},
"messages": {
"deleteConfirm": "本当に削除しますか?",
"renameSuccess": "名前を変更しました",
"deleteSuccess": "削除しました",
"errorOccurred": "エラーが発生しました",
"deleteSessionConfirm": "このセッションを削除してもよろしいですか?この操作は取り消せません。",
"deleteProjectConfirm": "この空のプロジェクトを削除してもよろしいですか?この操作は取り消せません。",
"enterProjectPath": "プロジェクトのパスを入力してください",
"deleteSessionFailed": "セッションの削除に失敗しました。もう一度お試しください。",
"deleteSessionError": "セッションの削除でエラーが発生しました。もう一度お試しください。",
"deleteProjectFailed": "プロジェクトの削除に失敗しました。もう一度お試しください。",
"deleteProjectError": "プロジェクトの削除でエラーが発生しました。もう一度お試しください。",
"createProjectFailed": "プロジェクトの作成に失敗しました。もう一度お試しください。",
"createProjectError": "プロジェクトの作成でエラーが発生しました。もう一度お試しください。"
},
"version": {
"updateAvailable": "アップデートあり"
},
"deleteConfirmation": {
"deleteProject": "プロジェクトを削除",
"deleteSession": "セッションを削除",
"confirmDelete": "本当に削除しますか?",
"sessionCount": "このプロジェクトには{{count}}件の会話があります。",
"allConversationsDeleted": "すべての会話が完全に削除されます。",
"cannotUndo": "この操作は取り消せません。"
}
}

View File

@@ -0,0 +1,142 @@
{
"notConfigured": {
"title": "TaskMaster AIが設定されていません",
"description": "TaskMasterは、AIを活用した支援により、複雑なプロジェクトを管理しやすいタスクに分解するのに役立ちます",
"whatIsTitle": "🎯 TaskMasterとは",
"features": {
"aiPowered": "AIを活用したタスク管理複雑なプロジェクトを管理しやすいサブタスクに分解",
"prdTemplates": "PRDテンプレートProduct Requirements Documentからタスクを生成",
"dependencyTracking": "依存関係の追跡:タスクの関係性と実行順序を理解",
"progressVisualization": "進捗の可視化:カンバンボードと詳細なタスク分析",
"cliIntegration": "CLI統合高度なワークフローのためにtaskmasterコマンドを使用"
},
"initializeButton": "TaskMaster AIを初期化"
},
"gettingStarted": {
"title": "TaskMasterを始める",
"subtitle": "TaskMasterが初期化されました次にすることは:",
"steps": {
"createPRD": {
"title": "Product Requirements Document (PRD) を作成",
"description": "プロジェクトのアイデアについて話し合い、構築したい内容を説明するPRDを作成します。",
"addButton": "PRDを追加",
"existingPRDs": "既存のPRD:"
},
"generateTasks": {
"title": "PRDからタスクを生成",
"description": "PRDができたら、AIアシスタントに解析を依頼してください。TaskMasterが自動的に実装の詳細を含む管理しやすいタスクに分解します。"
},
"analyzeTasks": {
"title": "タスクの分析と展開",
"description": "AIアシスタントにタスクの複雑さを分析してもらい、より簡単に実装できる詳細なサブタスクに展開します。"
},
"startBuilding": {
"title": "開発を始める",
"description": "AIアシスタントにタスクの作業を開始してもらい、ステータスを更新し、プロジェクトの進行に応じて新しいタスクを追加します。"
}
},
"tip": "💡 ヒントTaskMasterのAIを活用したタスク生成を最大限に活用するには、PRDから始めましょう"
},
"setupModal": {
"title": "TaskMasterのセットアップ",
"subtitle": "{{projectName}}のインタラクティブCLI",
"willStart": "TaskMasterの初期化が自動的に開始されます",
"completed": "TaskMasterのセットアップが完了しましたこのウィンドウを閉じることができます。",
"closeButton": "閉じる",
"closeContinueButton": "閉じて続ける"
},
"helpGuide": {
"title": "TaskMasterを始める",
"subtitle": "生産的なタスク管理のガイド",
"examples": {
"parsePRD": "💬 例:\n「Claude Task Masterで新しいプロジェクトを初期化しました。.taskmaster/docs/prd.txtにPRDがあります。解析して初期タスクを設定するのを手伝ってもらえますか」",
"expandTask": "💬 例:\n「タスク5は複雑そうです。サブタスクに分解してもらえますか」",
"addTask": "💬 例:\n「Cloudinaryを使用してユーザープロフィール画像のアップロードを実装する新しいタスクを追加してください。最適なアプローチを調査してください。」"
},
"moreExamples": "さらなる例と使用パターンを見る →",
"proTips": {
"title": "💡 プロのヒント",
"search": "検索バーを使用して特定のタスクをすばやく見つける",
"views": "ビュー切替を使用してカンバン、リスト、グリッドビューを切り替える",
"filters": "フィルターを使用して特定のタスクステータスや優先度に焦点を当てる",
"details": "任意のタスクをクリックして詳細情報を表示し、サブタスクを管理する"
},
"learnMore": {
"title": "📚 詳細を見る",
"description": "TaskMaster AIは開発者向けに構築された高度なタスク管理システムです。ドキュメント、例を入手し、プロジェクトに貢献できます。",
"githubButton": "GitHubで見る"
}
},
"search": {
"placeholder": "タスクを検索..."
},
"filters": {
"button": "フィルター",
"status": "ステータス",
"priority": "優先度",
"sortBy": "並び替え",
"allStatuses": "すべてのステータス",
"allPriorities": "すべての優先度",
"showing": "{{filtered}}件のタスクを表示中(全{{total}}件)",
"clearFilters": "フィルターをクリア"
},
"sort": {
"id": "ID",
"status": "ステータス",
"priority": "優先度",
"idAsc": "ID昇順",
"idDesc": "ID降順",
"titleAsc": "タイトルA-Z",
"titleDesc": "タイトルZ-A",
"statusAsc": "ステータス(保留中が先)",
"statusDesc": "ステータス(完了が先)",
"priorityAsc": "優先度(高が先)",
"priorityDesc": "優先度(低が先)"
},
"views": {
"kanban": "カンバンビュー",
"list": "リストビュー",
"grid": "グリッドビュー"
},
"kanban": {
"pending": "📋 やること",
"inProgress": "🚀 進行中",
"done": "✅ 完了",
"blocked": "🚫 ブロック中",
"deferred": "⏳ 延期",
"cancelled": "❌ キャンセル",
"noTasksYet": "まだタスクはありません",
"tasksWillAppear": "タスクはここに表示されます",
"moveTasksHere": "開始したらタスクをここに移動",
"completedTasksHere": "完了したタスクはここに表示されます",
"statusTasksHere": "このステータスのタスクはここに表示されます"
},
"buttons": {
"help": "TaskMaster入門ガイド",
"prds": "PRD",
"addPRD": "PRDを追加",
"addTask": "タスクを追加",
"createNewPRD": "新しいPRDを作成",
"prdsAvailable": "{{count}}件のPRDがあります"
},
"prd": {
"modified": "更新日: {{date}}"
},
"statuses": {
"pending": "保留中",
"in-progress": "進行中",
"done": "完了",
"blocked": "ブロック中",
"deferred": "延期",
"cancelled": "キャンセル"
},
"priorities": {
"high": "高",
"medium": "中",
"low": "低"
},
"noMatchingTasks": {
"title": "フィルターに一致するタスクがありません",
"description": "検索条件またはフィルター基準を調整してみてください。"
}
}