{
  "rail": {
    "heading": "ワークスペース",
    "new": "＋ 新規",
    "fetchError": "ワークスペースを取得できませんでした",
    "empty": "ワークスペースがありません。「＋ 新規」から作成してください。",
    "mine": "自分",
    "mineTitle": "あなたが所有するワークスペース",
    "running": "{{count}} 実行中",
    "runningTitle": "{{count}} 件のタスクが実行中",
    "runningAria": "{{count}} 件実行中",
    "group": {
      "integrated": "統合ワークスペース",
      "individual": "個別ワークスペース"
    }
  },
  "page": {
    "railLabel": "ワークスペース",
    "railList": "ワークスペース一覧",
    "expandRail": "ワークスペース一覧を開く",
    "collapseRail": "ワークスペース一覧を折りたたむ",
    "railResize": "ワークスペース一覧の幅を調整",
    "workerGpu": "ワーカー / GPU"
  },
  "formDialog": {
    "title": {
      "create": "新規ワークスペース",
      "edit": "ワークスペースを編集"
    },
    "description": {
      "create": "クライアントや案件ごとに、成果が蓄積する作業場所を作ります。",
      "edit": "名前・ブランド色・説明を変更します。"
    },
    "close": "閉じる",
    "field": {
      "name": "ワークスペース名",
      "namePlaceholder": "例: ◯◯社 受託PJ",
      "description": "説明（任意）",
      "descriptionPlaceholder": "このワークスペースの概要（タイトル横に表示されます）",
      "brandColor": "ブランド色"
    },
    "colorSwatch": "色 {{color}}",
    "customColor": "自由に選択",
    "creating": "作成中…",
    "saving": "保存中…",
    "createButton": "作成",
    "error": {
      "nameRequired": "ワークスペース名を入力してください。",
      "updateFailed": "ワークスペースを更新できませんでした。",
      "createFailed": "ワークスペースを作成できませんでした。"
    }
  },
  "detail": {
    "empty": {
      "title": "ワークスペースを選んでください",
      "hint": "左の一覧から開くか、上の「新規」ボタンで新しいワークスペースを作成できます。"
    },
    "tab": {
      "chat": "チャット",
      "files": "ファイル",
      "apps": "アプリ",
      "calendar": "カレンダー",
      "schedules": "スケジュール",
      "settings": "設定"
    },
    "editSpace": "ワークスペースを編集",
    "deleteSpace": "ワークスペースを削除",
    "deletePrompt": "「{{title}}」を削除？",
    "deleteConfirmButton": "削除する",
    "sharedMembers": "共有メンバー {{count}} 名: {{names}}"
  },
  "chat": {
    "listHeading": "このワークスペースのチャット",
    "new": "＋ 新規",
    "scope": {
      "mine": "自分",
      "others": "他のメンバー"
    },
    "selectHint": "左の一覧からチャットを選ぶか、「＋ 新規」で始めてください。",
    "empty": {
      "others": "他のメンバーが作成したチャットはありません。",
      "none": "このワークスペースにはまだチャットがありません。「＋ 新規」からエージェントに依頼を送れます。",
      "filesHint": "ファイルタブに資料を置いておくと、依頼の入力として使われます。成果物は ファイルタブの output/ に保存されます。",
      "noMatch": "条件に一致するチャットがありません。"
    }
  },
  "conversation": {
    "deleteConfirm": "このチャットを削除しますか？この操作は取り消せません。",
    "backToList": "一覧へ"
  },
  "chatDetailSplit": {
    "resizeLabel": "チャットと詳細の幅を調整"
  },
  "files": {
    "loadError": "ファイルの取得に失敗しました",
    "previewError": "ファイルの読み込みに失敗しました",
    "uploadedCount": "{{count}} 件のファイルを追加しました",
    "uploadFailed": "アップロードに失敗しました: {{msg}}",
    "newFolderPrompt": "新しいフォルダ名を入力してください",
    "folderNameInvalid": "フォルダ名に / や \\ は使えません",
    "folderCreated": "フォルダ「{{name}}」を作成しました",
    "folderCreateFailed": "フォルダ作成に失敗しました: {{msg}}",
    "renamePrompt": "新しい名前を入力してください",
    "nameInvalid": "名前に / や \\ は使えません",
    "renamed": "「{{from}}」を「{{to}}」に変更しました",
    "renameFailed": "名前の変更に失敗しました: {{msg}}",
    "alreadyThere": "すでにその場所にあります",
    "moveTargetFolder": "「{{name}}」",
    "moveTargetRoot": "ルート",
    "moved": "{{moved}} 件を{{where}}へ移動しました",
    "movedWithFailures": "{{moved}} 件を{{where}}へ移動（{{failed}} 件失敗）",
    "deleteConfirm": "{{count}} 件を削除しますか？フォルダはその中身ごと削除されます。この操作は取り消せません。",
    "deletedCount": "{{count}} 件のファイルを削除しました",
    "deleteFailed": "削除に失敗しました: {{msg}}",
    "downloadFailed": "ダウンロードに失敗しました: {{msg}}",
    "rename": "名前を変更",
    "renameAria": "{{name}} の名前を変更",
    "mkdirTitle": "現在のフォルダに新しいフォルダを作成",
    "newFolder": "新規フォルダ",
    "inputHint": "ここに置いたファイルは、このワークスペースのチャットでエージェントの入力になります。",
    "folderNotSupported": "フォルダは未対応です。ファイルを選んでください。",
    "run": "実行",
    "runAsApp": "アプリとして実行",
    "empty": "ファイルがありません。",
    "emptyManage": "ファイルがありません。ここにドラッグ＆ドロップ、または「＋ 追加」で追加できます。"
  },
  "apps": {
    "heading": "ワークスペース・アプリ",
    "refresh": "再読み込み",
    "fetchError": "アプリ一覧の取得に失敗しました。",
    "open": "開く",
    "empty": {
      "title": "まだアプリがありません",
      "body": "エージェントに「ワークスペース・アプリを作って」と頼むと、ここに表示されます。",
      "location": "アプリはワークスペースの <code>apps/</code> フォルダ（<code>apps/{名前}/index.html</code>）に置かれます。"
    }
  },
  "appShare": {
    "checking": "共有リンクを確認中…",
    "issued": "公開リンク発行済み",
    "copyUrl": "URL をコピー",
    "copied": "コピーしました",
    "revoke": "失効",
    "revokeConfirm": "「{{appName}}」の公開共有リンクを失効しますか？\n失効すると現在の URL は使えなくなります。",
    "warning": "⚠ ログイン不要で誰でも閲覧できます。read-only（書き込み・削除はできません）。このアプリのファイルに加え、<code>output/</code>（このワークスペースの<strong>全チャットの成果物</strong>が集まる共有フォルダ）も公開されます。見せたくない成果物がある場合は共有前に確認してください。",
    "create": "公開リンクを作成",
    "creating": "作成中…",
    "opError": "操作に失敗しました。もう一度お試しください。"
  },
  "appRunner": {
    "loadError": "アプリの読み込みに失敗しました",
    "dialogLabel": "ワークスペース・アプリ {{title}}",
    "close": "閉じる",
    "accessLabel": {
      "writable": "このアプリはワークスペースのファイルにアクセスします",
      "readonly": "公開共有（read-only）"
    },
    "accessTitle": {
      "writable": "このアプリはワークスペースのファイルにアクセスします（あなたの権限の範囲内）",
      "readonly": "公開共有: read-only です。ファイルの読み取りのみで、書き込み・削除はできません"
    },
    "writeConfirm": {
      "label": "書き込み確認",
      "body": "アプリ「{{title}}」が <path>{{path}}</path> に書き込もうとしています。許可しますか？",
      "deny": "拒否",
      "allow": "許可"
    }
  },
  "calendar": {
    "monthLabel": "{{year}}年{{month}}月",
    "prevMonth": "前の月",
    "nextMonth": "次の月",
    "close": "閉じる",
    "fetchError": "カレンダーの取得に失敗しました。",
    "emptyHint": "日付を選ぶと、その日のタスク・変更ファイル・予定が表示されます。",
    "taskCount": "タスク {{count}} 件",
    "taskFallback": "タスク #{{id}}",
    "barTitle": "{{title}}（{{range}}）",
    "filter": {
      "tasks": "タスク",
      "files": "変更ファイル",
      "events": "予定"
    },
    "day": {
      "tasks": "タスク",
      "noTasks": "この日のタスクはありません。",
      "changedFiles": "変更ファイル",
      "noChangedFiles": "この日に変更されたファイルはありません。",
      "events": "予定",
      "noEvents": "予定はありません。",
      "addEvent": "＋ 予定を追加",
      "editEvent": "編集",
      "deleteEventConfirm": "この予定を削除しますか？",
      "agent": "🤖 エージェント"
    },
    "form": {
      "titleRequired": "タイトルを入力してください。",
      "endAfterStart": "終了日は開始日以降にしてください。",
      "endTimeAfterStart": "終了時刻は開始時刻以降にしてください。",
      "saveFailed": "保存に失敗しました。",
      "titlePlaceholder": "予定のタイトル",
      "start": "開始",
      "end": "終了",
      "endTimeHint": "開始時刻を入れると終了時刻を指定できます",
      "backToSingleDay": "単日に戻す",
      "notePlaceholder": "メモ（任意）",
      "update": "更新",
      "add": "追加"
    }
  },
  "crossCalendar": {
    "close": "閉じる",
    "dotTitle": "{{name}}: タスク {{count}} 件",
    "barTitlePrefix": "{{name}}: ",
    "barTitle": "{{title}}（{{range}}）",
    "emptyHint": "日付を選ぶと、その日の各ワークスペースのタスク・予定が表示されます。",
    "noActiveSpaces": "この日に活動のあるワークスペースはありません。",
    "noItems": "表示できる項目がありません。",
    "taskFallback": "タスク #{{id}}"
  },
  "joinSpace": {
    "title": "ワークスペースへの招待",
    "role": {
      "editor": "編集者",
      "viewer": "閲覧者"
    },
    "unauthorized": {
      "body": "参加するにはログインが必要です。ログイン後、この招待ページに戻ります。",
      "login": "ログインして参加"
    },
    "invalid": {
      "title": "リンクが無効です",
      "body": "この招待リンクは期限切れか、取り消された可能性があります。共有元にもう一度リンクの発行を依頼してください。",
      "home": "ホームへ"
    },
    "ok": {
      "joinAs": {
        "lead": " に",
        "roleQuoted": "「{{role}}」",
        "trail": "として参加します。"
      },
      "cancel": "やめる",
      "join": "参加する",
      "joining": "参加中…"
    }
  },
  "members": {
    "heading": "メンバー",
    "intro": "このワークスペースを共有しているメンバーです。編集者はタスク・ファイル・カレンダーを編集でき、閲覧者は閲覧のみ可能です。",
    "fetchError": "メンバーの取得に失敗しました: {{msg}}",
    "remove": "除去",
    "removeConfirm": "{{who}} をこのワークスペースから除去しますか？",
    "inviteButton": "メンバーを招待",
    "role": {
      "owner": "オーナー",
      "editor": "編集者",
      "viewer": "閲覧者"
    },
    "toast": {
      "roleChangeFailed": "ロールの変更に失敗しました: {{msg}}",
      "removeFailed": "メンバーの除去に失敗しました: {{msg}}",
      "addFailed": "メンバーの追加に失敗しました: {{msg}}",
      "inviteCreateFailed": "招待リンクの作成に失敗しました: {{msg}}",
      "inviteRevokeFailed": "招待リンクの無効化に失敗しました: {{msg}}",
      "copyFailed": "コピーに失敗しました。手動で選択してください。"
    },
    "invite": {
      "title": "招待リンク",
      "description": "リンクを知っている人が、ログインのうえ選んだ役割でこのワークスペースに参加できます。組織に所属していない相手も招待できます。",
      "copy": "コピー",
      "copied": "コピー済",
      "roleLabel": "役割: {{role}}",
      "expiresAt": " ・ 期限: {{date}}",
      "noExpiry": " ・ 無期限",
      "regenerate": "再生成",
      "revoke": "無効化",
      "create": "招待リンクを作成",
      "creating": "作成中…",
      "expiry": {
        "never": "無期限",
        "days7": "7日",
        "days30": "30日"
      }
    },
    "picker": {
      "authRequired": "認証を有効化するとワークスペースを共有できます。",
      "close": "閉じる",
      "orgNote": "同じ組織のメンバーのみ表示されます。",
      "searchPlaceholder": "名前・メールで検索",
      "allAdded": "同じ組織のメンバーは全員このワークスペースに追加済みです。",
      "noCandidates": "追加できるユーザーがいません。同じ組織のメンバーだけが候補に表示されます。",
      "add": "追加",
      "adding": "追加中…"
    }
  },
  "browser": {
    "deleteConfirm": "「{{name}}」を削除しますか？",
    "status": {
      "pending": "保存待ち",
      "active": "有効",
      "expired": "期限切れ",
      "revoked": "失効",
      "error": "エラー"
    },
    "toast": {
      "sessionDeleteFailed": "セッションの削除に失敗しました: {{msg}}",
      "sessionTestFailed": "セッションの検証に失敗しました: {{msg}}",
      "deleteFailed": "削除に失敗しました: {{msg}}",
      "contentFetchFailed": "内容の取得に失敗しました: {{msg}}"
    },
    "sessions": {
      "heading": "ブラウザセッション",
      "add": "セッションを追加",
      "intro": "このワークスペースで共有するログイン済みブラウザセッション。各セッションは作成者の鍵で暗号化されるため、利用できるのは作成した本人だけです。",
      "empty": "このワークスペースにはまだブラウザセッションがありません。",
      "emptyHint": "「セッションを追加」からログインして保存してください。",
      "creatorOnly": "作成者のみ利用可",
      "creatorOnlyHint": "このセッションは作成者の鍵で暗号化されています。閲覧はできますが、別のメンバーは復号・利用できません。",
      "test": "検証"
    },
    "macros": {
      "title": "ブラウザマクロ",
      "empty": "このワークスペースにはまだブラウザマクロがありません。",
      "hint": "エージェントがブラウザ操作を記録すると、このワークスペースのマクロとして保存されます。"
    },
    "recordings": {
      "title": "録画",
      "empty": "このワークスペースにはまだ録画がありません。",
      "hint": "ブラウザ操作の記録（録画）がこのワークスペースのフォルダに保存されます。"
    }
  },
  "settings": {
    "navLabel": "ワークスペース設定",
    "nav": {
      "agents": "AGENTS.md",
      "memory": "メモリ",
      "pieces": "Pieces",
      "skills": "スキル",
      "mcp": "MCP",
      "ssh": "SSH",
      "browser": "ブラウザ",
      "tools": "ツール",
      "python": "Python",
      "members": "メンバー"
    },
    "pieces": {
      "createFailed": "Piece の作成に失敗しました: {{msg}}",
      "default": "標準",
      "custom": "カスタム",
      "none": "(なし)",
      "new": "新しい Piece",
      "selectHint": "左から Piece を選んでください。"
    }
  },
  "tools": {
    "heading": "ツール設定",
    "intro": "ワークスペース内のタスクで利用できるツールカテゴリを制御します。センシティブなツールはデフォルトで無効です。",
    "enabledCount": "現在 <strong>{{count}}</strong> カテゴリ有効",
    "standardCategories": "標準カテゴリ",
    "noStandardCategories": "（標準カテゴリなし）",
    "sensitiveTools": "センシティブなツール",
    "sensitiveWarning": "強力な操作を伴います。必要な場合のみ有効にしてください。",
    "noSensitiveCategories": "（センシティブカテゴリなし）",
    "readonlyReason": "オーナーのみ変更できます",
    "saving": "保存中…",
    "saved": "保存しました",
    "saveFailedInline": "保存に失敗しました",
    "fetchError": "ツールポリシーの取得に失敗しました: {{msg}}",
    "toast": {
      "saveFailed": "ツールポリシーの保存に失敗しました: {{msg}}"
    },
    "sensitiveNote": {
      "ssh": "遠隔シェルへの接続を許可します。接続先サーバーでのコマンド実行が可能になります。",
      "browser": "実ブラウザ操作を許可します。ウェブサイトへのアクセスやフォーム操作が実行されます。",
      "Bash": "任意コマンド実行を許可します。ホストシステムで任意のシェルコマンドが実行できます。",
      "SpawnSubTask": "並列サブタスク（別ジョブ）への分解を許可します。子ごとにワーカーと GPU スロットを占有します。通常は直列の delegate で十分です。本当に並列実行が必要なときだけ有効化してください。"
    }
  },
  "python": {
    "heading": "Python パッケージ",
    "intro": "このワークスペースのエージェントが使える Python パッケージ（wheel）を追加します。ここで入れたパッケージは、このワークスペースの中だけで import でき、他のワークスペースには影響しません。",
    "disabled": "この機能は無効です。管理者が config.yaml の python_packages.enabled を有効にすると使えるようになります。",
    "preflightBad": "サーバーで pip が使えないため、インストールできません。",
    "addLabel": "パッケージを追加",
    "addHint": "wheel のあるパッケージのみ許可します（例: requests または requests==2.32.3）。バージョンは == で固定できます。標準ライブラリやプリインストール済みの名前は追加できません。",
    "add": "追加",
    "installing": "インストール中…",
    "installedHeading": "インストール済み",
    "none": "まだ何も追加されていません。",
    "remove": "削除",
    "readonly": "編集はこのワークスペースのオーナーまたは管理者のみ可能です。",
    "fetchError": "パッケージ一覧の取得に失敗しました: {{msg}}",
    "added": "パッケージを追加しました。",
    "addFailed": "追加に失敗しました: {{msg}}",
    "removed": "パッケージを削除しました。",
    "removeFailed": "削除に失敗しました: {{msg}}"
  }
}
