{
  "backups": {
    "warning": "バックアップの取得や復元の前にバトルグループを停止してください。実行中に取得したバックアップは不整合になる可能性があり、復元にはバトルグループの停止が必要です。",
    "loadFailed": "バックアップの読み込みに失敗しました: {{message}}",
    "take": {
      "title": "バックアップを取得",
      "desc": "バトルグループの PostgreSQL データベースをタイムスタンプ付きファイルとしてホストに保存します。リスクのある変更の前に推奨されます。",
      "btn": "バックアップを取得"
    },
    "taken": "バックアップを作成しました: {{name}}",
    "takeFailed": "バックアップに失敗しました: {{message}}",
    "recent": {
      "title": "最近のバックアップ",
      "empty": "バックアップはまだありません。"
    },
    "col": {
      "name": "ファイル",
      "size": "サイズ",
      "modified": "作成日時"
    },
    "download": "ダウンロード",
    "restoreLabel": "復元",
    "restoreFailed": "復元に失敗しました: {{message}}",
    "restoreConfirmTitle": "データベースを復元しますか？",
    "restoreConfirmDesc": "現在のデータベースを {{name}} で置き換えます。バトルグループを停止する必要があり、元に戻せません。",
    "deleteLabel": "削除",
    "deleteConfirmTitle": "バックアップを削除しますか？",
    "deleteConfirmDesc": "{{name}} を完全に削除しますか？",
    "deleteFailed": "削除に失敗しました: {{message}}",
    "schedule": {
      "title": "バックアップのスケジュール",
      "enable": "有効",
      "desc": "毎週のスケジュールで自動バックアップを実行します。時刻は設定したタイムゾーンです。",
      "nextBackup": "次のバックアップ: {{when}}",
      "noneScheduled": "スケジュールされたバックアップはありません",
      "noRules": "ルールがありません — 下で追加してください。",
      "addRule": "ルールを追加",
      "removeRule": "ルールを削除",
      "keepN": "保持する数",
      "keepHint": "0 = すべて保持",
      "timezone": "タイムゾーン",
      "tzPlaceholder": "ホストのローカル（例: UTC）",
      "save": "保存",
      "saveFailed": "保存に失敗しました: {{message}}"
    }
  },
  "serverHealth": {
    "directorProxied": "(プロキシ経由)",
    "ifaceLoadFailed": "Web インターフェースの読み込みに失敗しました: {{message}}",
    "ifaceSaveFailed": "保存に失敗しました: {{message}}",
    "ifaceLabel": "ラベル",
    "ifaceUrl": "URL (http:// または /path)",
    "editInterfaces": "Web インターフェースを編集",
    "removeInterface": "削除",
    "addInterface": "インターフェースを追加",
    "saveInterfaces": "保存",
    "title": "サーバーの状態",
    "subtitle": "VM・バトルグループ・ポートのライブ状態。",
    "gamePorts": "ゲーム (UDP)",
    "webPort": "Web",
    "vm": "VM",
    "bg": "バトルグループ",
    "up": "稼働中",
    "down": "停止中",
    "bgVm": "バトルグループ + VM",
    "upFor": "稼働 {{uptime}}",
    "noUptime": "稼働時間は利用できません",
    "components": "バトルグループ情報",
    "bgState": "BG 状態",
    "database": "データベース",
    "director": "ディレクター",
    "configured": "設定済み",
    "notConfigured": "未設定",
    "uptime": "稼働時間",
    "readyState": "ゲーム準備状態",
    "ready": "準備完了",
    "notReady": "準備未完了",
    "webInterfaces": "Web インターフェース",
    "noInterfaces": "Web インターフェースは設定されていません。",
    "copied": "クリップボードにコピーしました",
    "copyFailed": "コピーに失敗しました",
    "copy": "コピー",
    "open": "開く",
    "gameServers": "ゲームサーバー",
    "pods": "{{n}} ポッド"
  },
  "restarts": {
    "title": "スケジュール再起動",
    "enable": "有効",
    "nextRestart": "次回の再起動: {{when}}",
    "noneScheduled": "予定された再起動はありません",
    "noRules": "ルールがありません — 下で追加してください。",
    "addRule": "ルールを追加",
    "removeRule": "ルールを削除",
    "warnMinutes": "警告 (分)",
    "timezone": "タイムゾーン",
    "tzPlaceholder": "ホストのローカル（例: UTC）",
    "save": "保存",
    "skipNext": "次回をスキップ",
    "failedToLoad": "読み込みに失敗しました: {{message}}",
    "saveFailed": "保存に失敗しました: {{message}}"
  },
  "director": {
    "title": "Director 設定",
    "subtitle": "Battlegroup Director 設定 — マップのインスタンス化と詳細設定（AMP）。",
    "loading": "Director 設定を読み込み中…",
    "unsupported": "Director 設定の編集は AMP コントロールプレーンでのみ利用できます。",
    "save": "保存",
    "saveWithCount": "保存 ({{count}})",
    "saveFailed": "保存に失敗しました: {{message}}",
    "readOnly": "読み取り専用",
    "restartNote": "変更は director_config.ini に書き込まれ、サーバー再起動後に反映されます。"
  },
  "help": {
    "menu": "ヘルプ",
    "reportIssue": "問題を報告",
    "copyDiagnostics": "診断情報をコピー",
    "viewOnGitHub": "GitHub で表示",
    "copied": "診断情報をクリップボードにコピーしました",
    "copyFailed": "クリップボードにコピーできませんでした"
  },
  "landsraad": {
    "title": "Landsraad",
    "subtitle": "週次の政治会期 — 法令とハウス課題ボード（読み取り専用）。",
    "failedToLoad": "Landsraad の読み込みに失敗しました: {{message}}",
    "currentTerm": "現在の会期",
    "noTerm": "アクティブな会期はありません。",
    "testTerm": "テスト会期",
    "term": {
      "id": "会期",
      "window": "期間",
      "reigning": "支配派閥",
      "activeDecree": "有効な法令",
      "electedDecree": "選出された法令",
      "winning": "勝利派閥"
    },
    "decrees": "法令",
    "decreesDesc": "会期ごとに選出できるサーバー全体のバフ。",
    "noDecrees": "法令がありません。",
    "weight": "重み {{weight}}",
    "enabled": "有効",
    "disabled": "無効",
    "taskBoard": "課題ボード",
    "taskBoardDesc": "現在の会期のハウス貢献課題。",
    "noTasks": "課題がありません。",
    "tasks": {
      "index": "#",
      "house": "ハウス",
      "goal": "目標",
      "completed": "状態",
      "sysselraad": "Sysselraad",
      "done": "完了",
      "open": "未完了",
      "yes": "はい"
    }
  },
  "guilds": {
    "title": "ギルド ({{count}})",
    "subtitle": "このサーバーのプレイヤーギルド。",
    "view": "表示",
    "empty": "ギルドが見つかりません。",
    "failedToLoad": "ギルドの読み込みに失敗しました: {{message}}",
    "members": "メンバー",
    "invites": "保留中の招待",
    "noMembers": "メンバーがいません。",
    "noInvites": "保留中の招待はありません。",
    "roleN": "役職 {{id}}",
    "manage": "管理",
    "editGuild": "ギルドを編集",
    "nameLabel": "名前",
    "descLabel": "説明",
    "save": "保存",
    "saved": "ギルドを更新しました。",
    "saveFailed": "保存に失敗しました: {{message}}",
    "makeAdmin": "管理者にする",
    "roleAdmin": "管理者",
    "roleMember": "メンバー",
    "roleChanged": "ロールを更新しました。",
    "roleChangeFailed": "ロールの変更に失敗しました: {{message}}",
    "invitedBy": "{{name}} による招待",
    "columns": {
      "name": "名前",
      "faction": "派閥",
      "members": "メンバー",
      "description": "説明"
    }
  },
  "app": {
    "reportIssue": "GitHub で問題を報告",
    "changesNote": "すべてのタブの変更はまとめて保存されます。",
    "checkUpdates": "更新を確認",
    "configureBackend": "バックエンドの設定",
    "goHome": "ホームへ",
    "openSettings": "設定を開く",
    "reconnect": "再接続",
    "reconnected": "再接続しました — データベースに接続済み",
    "reconnectFailed": "再接続に失敗しました: {{error}}",
    "reconnecting": "再接続中…",
    "reinstall": "再インストール",
    "reinstalled": "{{version}} を再インストールしました。サーバーを再起動しています…",
    "saveApply": "保存して適用",
    "selectLanguage": "言語を選択",
    "selectTheme": "テーマを選択",
    "settings": "設定",
    "signIn": "サインイン",
    "switchToSidenav": "サイドナビゲーションに切替",
    "switchToTopnav": "上部ナビゲーションに切替",
    "title": "DUNE ADMIN",
    "updateAvailable": "アップデートが利用可能",
    "updateAvailableBody": "新しいバージョンが利用可能です：v{{current}} → v{{latest}}。",
    "updated": "{{version}} に更新しました。サーバーを再起動しています…",
    "updateFailed": "更新に失敗しました：{{message}}",
    "updateNow": "今すぐ更新",
    "viewReleaseNotes": "リリースノートを表示",
    "backendUnreachable": {
      "body": "Web アプリは読み込まれましたが、dune-admin バックエンドに接続できませんでした。dune-admin の実行ファイルが起動しており、このブラウザからアクセスできることを確認してください。",
      "hint1": "サーバーで dune-admin のサービス/実行ファイルが起動していることを確認してください。",
      "hint2": "上記のバックエンド URL が正しく、到達可能であることを確認してください（ホスト、ポート、ファイアウォール、HTTPS）。",
      "hint3": "プロキシの背後または別のホストにある場合は、設定でバックエンド URL を指定してください。",
      "retry": "再試行",
      "targetLabel": "設定されたバックエンド",
      "title": "dune-admin バックエンドに接続できません"
    }
  },
  "bases": {
    "ariaLabel": "プレイヤー拠点",
    "columns": {
      "id": "ID",
      "name": "名前",
      "pieces": "パーツ",
      "placeables": "設置物"
    },
    "export": "エクスポート",
    "failedToLoad": "拠点の読み込みに失敗しました：{{message}}",
    "featureNotAvailable": "機能は利用できません",
    "featureNotAvailableDesc": "このバージョンの dune-admin バイナリは拠点一覧をサポートしていません。この機能を使用するには最新リリースにアップグレードしてください。",
    "layoutAccountStrong": "Layout Tools",
    "noBasesFound": "拠点が見つかりません。",
    "subtitle": "ゲームワールドのリアルタイムプレイヤー拠点。任意の拠点をsolidoに対応したブループリントとしてエクスポートします。",
    "title_one": "拠点 ({{count}})",
    "title_other": "拠点 ({{count}})"
  },
  "battlegroup": {
    "actions": {
      "backup": "バックアップ",
      "backupMsg": "データベースバックアップを作成しますか？数分かかる場合があります。",
      "restart": "再起動",
      "restartMsg": "サーバーを再起動しますか？プレイヤーは一時的に切断されます。",
      "restore": "復元",
      "restoreMsg": "バックアップからデータベースを復元しますか？現在のデータが上書きされます。",
      "start": "起動",
      "startMsg": "バトルグループサーバーを起動しますか？",
      "stop": "停止",
      "stopMsg": "サーバーを停止しますか？すべてのプレイヤーが切断されます。",
      "update": "更新",
      "updateMsg": "サーバーアップデートを実行しますか？サーバーは一時的にオフラインになります。"
    },
    "backupLoadFailed": "バックアップファイルを読み込めませんでした",
    "bodyPlaceholder": "本文",
    "broadcastBtn": "ブロードキャスト",
    "broadcasts": "ブロードキャスト",
    "broadcastSent": "ブロードキャストを送信しました",
    "clickRefresh": "ステータスを読み込むには更新をクリックしてください。",
    "cmdCompleted": "{{label}} が完了しました",
    "cmdFailed": "{{label}} に失敗しました：{{message}}",
    "columns": {
      "age": "経過時間",
      "dim": "次元",
      "map": "マップ",
      "part": "パーティション",
      "phase": "フェーズ",
      "players": "プレイヤー",
      "queue": "待機列",
      "ready": "準備完了"
    },
    "confirm": {
      "confirmPrefix": "確認",
      "serverSuffix": "サーバー"
    },
    "database": "データベース",
    "durationLabel": "表示時間（秒）",
    "genericMessage": "汎用メッセージ",
    "initializing": "（初期化中）",
    "initWarning": "サーバーが起動したばかりです — ゲームサーバーはまだ初期化中の可能性があります（約2分）。",
    "loadingStatus": "ステータスを読み込み中...",
    "modal": {
      "download": "ダウンロード"
    },
    "noGameServers": "ゲームサーバーが見つかりません。",
    "noOutput": "（出力なし）",
    "phase": "フェーズ",
    "restore": {
      "dropzone": "コンピューターから .backup または .zip ファイルをドロップするかクリックしてアップロード",
      "noBackups": "サーバーにバックアップファイルがまだありません。",
      "restoreBtn": "{{file}} を復元",
      "restoreCompleted": "復元が完了しました",
      "title": "バックアップから復元",
      "uploaded": "{{name}} をアップロードしました",
      "warning": "現在のデータが上書きされます。先にサーバーを停止してください。"
    },
    "restoreLabel": "復元",
    "runningCmd": "{{cmd}} を実行中...",
    "serverControl": "サーバーコントロール",
    "shutdownBroadcast": "シャットダウンブロードキャスト",
    "shutdownCancelled": "シャットダウンブロードキャストをキャンセルしました",
    "shutdownDelay": "遅延（分）",
    "shutdownDelayLabel": "遅延分数",
    "shutdownSent": "シャットダウンブロードキャストを送信しました（{{delay}} 分）",
    "shutdownType": "タイプ",
    "shutdownTypeLabel": "シャットダウンタイプ",
    "statusFailed": "ステータスの取得に失敗しました：{{message}}",
    "statusTitle": "バトルグループ状態",
    "titleFull": "{{bgTitle}} ({{bgName}})",
    "titlePlaceholder": "タイトル"
  },
  "blueprints": {
    "ariaLabel": "ブループリント",
    "columns": {
      "id": "ID",
      "itemId": "アイテムID",
      "name": "名前",
      "owner": "オーナー",
      "pieces": "パーツ",
      "placeables": "設置物"
    },
    "failedToLoad": "ブループリントの読み込みに失敗しました：{{message}}",
    "importBlueprint": "ブループリントをインポート",
    "importFailed": "インポートに失敗しました：{{message}}",
    "importModal": {
      "blueprintFile": "ブループリントファイル",
      "dropzone": ".json ブループリントファイルをドロップするかクリックしてアップロード",
      "import": "インポート",
      "playerLabel": "プレイヤー",
      "playerPlaceholder": "プレイヤーを選択…",
      "playersLabel": "プレイヤー",
      "title": "ブループリントをインポート"
    },
    "importSuccess": "ブループリントのインポートに成功しました",
    "layoutAccountStrong": "Layout Tools",
    "noBlueprintsFound": "ブループリントが見つかりません。",
    "selectFile": "ブループリントファイルを選択",
    "selectPlayer": "プレイヤーを選択",
    "subtitle": "保存済みの拠点ブループリントを管理します。プレイヤーの建築をエクスポートまたはインポートします。",
    "title_one": "ブループリント ({{count}})",
    "title_other": "ブループリント ({{count}})"
  },
  "common": {
    "timezone": "タイムゾーン",
    "tzHostLocal": "ホストのローカル",
    "add": "追加",
    "cancel": "キャンセル",
    "checking": "確認中…",
    "close": "閉じる",
    "confirm": "確認",
    "error": "エラー：",
    "export": "エクスポート",
    "failed": "失敗：{{message}}",
    "noResults": "結果がありません。",
    "refresh": "更新",
    "remove": "削除",
    "save": "保存",
    "saving": "保存中…",
    "send": "送信"
  },
  "database": {
    "columnColumn": "カラム",
    "enterSearchTerm": "検索ワードを入力",
    "enterSQL": "SQLクエリを入力",
    "enterTableName": "テーブル名を入力",
    "failed": "失敗：{{message}}",
    "limitLabel": "制限",
    "noResults": "結果がありません。",
    "nullableColumn": "Null許容",
    "refreshLabel": "更新",
    "resultLabel": "結果",
    "rowsColumn": "行数",
    "rowsLimited": "結果は200行に制限されています。",
    "runBtn": "実行",
    "runHint": "Cmd/Ctrl+Enter で実行 · Tab で候補を受け入れ",
    "runQuery": "クエリを実行",
    "searchLabel": "カラムまたはテーブル名",
    "searchPlaceholder": "player_id, faction...",
    "sections": {
      "backups": "バックアップ",
      "describe": "詳細",
      "sample": "サンプル",
      "search": "カラムを検索",
      "sql": "SQLを実行",
      "tables": "テーブル"
    },
    "sideNavTitle": "データベース",
    "sqlPlaceholder": "SELECT * FROM dune.actors LIMIT 10;",
    "tableColumn": "テーブル",
    "tableNameLabel": "テーブル名",
    "tablePlaceholder": "actors",
    "typeColumn": "タイプ"
  },
  "liveMap": {
    "betaBody": "この機能は現在開発中です。一部の機能はまだ変更される可能性があります。",
    "betaTitle": "ベータ — 開発中",
    "calibActive": "較正モード — キャラクターが立っている場所をマップ上でクリックしてください。",
    "calibNoPlayer": "較正のアンカーとなるオンラインプレイヤーがいません。",
    "calibPoints": "{{n}}点取得済み — 解決には離れた2点以上が必要です。",
    "calibrate": "較正",
    "clear": "クリア",
    "clearFilters": "フィルターをクリア",
    "densityNoneSelected": "密度を表示するには上のリソースタイプを有効にしてください。",
    "densityOverlay": "リソース密度を表示",
    "dragTeleportDesc": "({{x}}, {{y}}) 付近の有効な地面に安全にスナップします。",
    "dragTeleportTitle": "{{name}} をテレポート？",
    "failedToLoad": "マップの読み込みに失敗しました：{{message}}",
    "filter": "フィルター",
    "filterBases": "拠点",
    "filterHazards": "Hazards",
    "filterKeys": "Keys",
    "filterLandsraad": "Landsraad",
    "filterDensity": "密度オーバーレイ",
    "filterLocations": "Locations",
    "filterNPCs": "NPCs",
    "filterResources": "Resources",
    "filterLive": "ライブ",
    "filterStaticObjects": "Static Objects",
    "filterTrainers": "Trainers",
    "filterVendors": "Vendors",
    "filterSearch": "フィルターを検索…",
    "players": "プレイヤー",
    "spawnsLoaded_one": "{{count}}個の固定マーカーを読み込みました",
    "spawnsLoaded_other": "{{count}}個の固定マーカーを読み込みました",
    "spawnTooltipCoords": "{{x}}, {{y}}",
    "subtitle": "ライブマップ上のプレイヤー、乗り物、拠点",
    "teleportHere": "ここへテレポート",
    "teleportMode": "テレポートモード",
    "teleportModeActive": "マップをクリックして目的地を設定",
    "teleportPlayer": "テレポートするプレイヤー",
    "teleportSelectPlayer": "プレイヤーを選択…",
    "teleportSent": "テレポートを送信しました",
    "title": "ライブマップ",
    "total": "合計",
    "unsupported": "このサーバーではライブマップを利用できません。",
    "updated": "{{time}}に更新",
    "vehicles": "乗り物"
  },
  "logs": {
    "antiCheatLabel": "アンチチートイベント",
    "antiCheatLog": "アンチチートログ",
    "antiCheatTitle": "アンチチートイベント（7日間）",
    "autoScroll": "自動スクロール",
    "cheats7d": "チート（7日間）",
    "clear": "クリア",
    "columns": {
      "character": "キャラクター",
      "cheatType": "チートタイプ",
      "time": "時間"
    },
    "connectedPod": "● 接続済み · {{pod}}",
    "disconnected": "○ 切断済み",
    "disconnectedState": "切断されました。",
    "eventsCount_one": "{{count}} 件のイベント",
    "eventsCount_other": "{{count}} 件のイベント",
    "failedToLoad": "Podの読み込みに失敗しました：{{message}}",
    "linesCount_one": "{{count}} 行",
    "linesCount_other": "{{count}} 行",
    "logFiles": "ログファイル",
    "logFileSingular": "ログファイル",
    "noCheatEvents": "過去7日間にチートイベントは見つかりませんでした。",
    "pods": "Pod",
    "podSingular": "pod",
    "reconnect": "再接続",
    "selectFromPanel": "ログのストリーミングを開始するには、左パネルから {{label}} を選択してください。",
    "selectSource": "○ {{label}} を選択",
    "sourceTitle_one": "{{label}} ({{count}})",
    "sourceTitle_other": "{{label}} ({{count}})",
    "stop": "停止",
    "waitingForLines": "ログ行を待機中...",
    "wsError": "WebSocketエラー"
  },
  "market": {
    "bot": {
      "actions": {
        "cleanupFailed": "クリーンアップに失敗しました：{{message}}",
        "dormantHint": "Botが無効 — ライフサイクルコントロールを使用するには、サーバータブで有効にしてください。",
        "pause": "一時停止",
        "pauseFailed": "Botの一時停止に失敗しました：{{message}}",
        "pauseSuccess": "Bot一時停止：{{output}}",
        "reinitialize": "再初期化",
        "reinitializeFailed": "Botの再初期化に失敗しました：{{message}}",
        "reinitializeSuccess": "Bot再初期化：{{output}}",
        "resume": "再開",
        "resumeFailed": "Botの再開に失敗しました：{{message}}",
        "resumeSuccess": "Bot再開：{{output}}",
        "wipedListings": "{{orders}} 件のリストを削除しました（{{items}} 個のアイテム）",
        "wipeListings": "リストを削除",
        "wipeListingsConfirm": "リストを削除",
        "wipeListingsDesc": "Exchangeのすべてのアクティブな Revy リストが削除されます。プレイヤーのリスト、完了済み注文履歴、Revy の Solari 残高は変更されません。次のリストTickでカタログからリストが再補充されます。",
        "wipeListingsTitle": "すべてのBotリストを削除しますか？"
      },
      "botSectionsLabel": "Botセクション",
      "config": "設定",
      "configEditor": {
        "buyThreshold": "購入しきい値",
        "buyThresholdDesc": "リストの価格がBotのリファレンス価格のこの割合以下の場合のみ購入します。100% = 同額以下 · 70% = 30%以上の割引が必要 · 110% = Bot価格の10%増しまで。",
        "buyThresholdHint": "BotのリファレンスPrice の {{pct}}%",
        "buyTickHint": "例：5m",
        "buyTickInterval": "購入Tick間隔",
        "configSaved": "設定を保存しました — 変更は次のTickで反映されます",
        "gradeFlawless": "完璧",
        "gradeMasterwork": "マスターワーク",
        "gradeMultipliers": "グレード乗数",
        "gradeMultipliersDesc": "品質グレードに応じてリスト価格をスケールします。グレード0（標準）が基準で1.0を維持する必要があります。",
        "gradePristine": "プリスティン",
        "gradeRefined": "精製",
        "gradeStandard": "標準",
        "gradeSuperior": "上質",
        "limits": "上限",
        "limitsDesc": "Botが各Tickで購入・リストするアイテム数を制御します。",
        "listingsPerGrade": "グレード当たりのリスト数",
        "listingsPerGradeDesc": "アイテムあたり品質グレードあたりに維持するアクティブリスト数（0 = 標準 … 5 = 完璧）。スタック可能アイテムはグレード0のみ使用。例：5 × 6グレード = グレード対応アイテムあたり最大30リスト。",
        "listingsPerGradeHint": "アイテムあたり品質レベルあたり",
        "listTickHint": "例：30m, 1h",
        "listTickInterval": "リストTick間隔",
        "maxBuysPerTick": "Tick当たりの最大購入数",
        "rarityMultipliers": "レアリティ乗数",
        "rarityMultipliersDesc": "NPCベンダー価格がないアイテムおよびクラフトしたユニーク/メメント装備に適用されます。レアリティでキー付け；コモン（1.0）がベースライン。グレード乗数がその上に積み重なります。",
        "tickIntervals": "Tick間隔",
        "vendorMultipliers": "ベンダー乗数",
        "vendorMultipliersDesc": "NPCベンダー価格があるアイテム（ほとんどのアイテム）に適用されます。リスト価格 = ベンダー価格 × この乗数、レアリティでキー付け。特定アイテムにはベンダーまたはレアリティのいずれか一方のみが適用されます。"
      },
      "configUnavailable": "設定は利用できません。",
      "disabledItems": {
        "ariaLabel": "無効なアイテム",
        "columns": {
          "name": "名前",
          "templateId": "テンプレートID"
        },
        "disabledItemsCount_one": "無効なアイテム ({{count}})",
        "disabledItemsCount_other": "無効なアイテム ({{count}})",
        "disabledItemsHeading": "無効なアイテム",
        "noDisabledItems": "現在無効なアイテムはありません。",
        "noMatchingItems": "一致するアイテムが見つかりません。",
        "searchAriaLabel": "無効なアイテムを検索",
        "searchLabel": "無効にするアイテムを検索",
        "searchPlaceholder": "名前またはテンプレートIDで検索…"
      },
      "disabledItemsTab": "無効なアイテム",
      "log": {
        "autoScroll": "自動スクロール",
        "backendUnreachable": "バックエンドに到達できません — 実行中か確認してください。",
        "clear": "クリア",
        "connClosed": "接続が閉じられました（コード {{code}}）",
        "connClosedReason": "接続が閉じられました（コード {{code}}）：{{reason}}",
        "connect": "接続",
        "connected": "● 接続済み",
        "connecting": "◌ 接続中…",
        "connectingState": "接続中…",
        "error": "✕ エラー",
        "idle": "○ 切断済み",
        "notAvailable": "ログストリーミングは利用できません",
        "stop": "停止",
        "waitingForLines": "ログ行を待機中…",
        "wsError": "WebSocket 接続に失敗しました — ログストリームが中断されました。"
      },
      "logs": "ログ",
      "panelTitle": "Botコントロール — Revy",
      "reloadConfig": "設定を再読み込み",
      "reset": "リセット",
      "saveConfig": "設定を保存",
      "server": "サーバー",
      "serverConfig": {
        "cacheDb": "キャッシュDB",
        "changesNote": "変更を有効にするにはサーバーの再起動が必要です。",
        "embeddedBot": "内蔵Bot",
        "enableEmbedded": "内蔵Botを有効化",
        "itemData": "アイテムデータ",
        "loadFailed": "サーバー設定の読み込みに失敗しました",
        "remoteBot": "リモートBot",
        "remoteToken": "リモートtoken",
        "remoteUrl": "リモートURL",
        "restartRequired": "（再起動が必要）",
        "savedConfig": "サーバー設定を保存しました — 変更を適用するには再起動が必要です",
        "saveFailed": "保存に失敗しました：{{message}}",
        "statePath": "ステートパス"
      },
      "status": {
        "balance": "残高",
        "errors": "エラー",
        "label": "ステータス",
        "lastBuyTick": "最終購入Tick",
        "lastListTick": "最終リストTick",
        "listings": "リスト数",
        "nextBuyTick": "次回購入Tick",
        "nextListTick": "次回リストTick",
        "paused": "⏸ 一時停止中",
        "running": "● 実行中",
        "uptime": "稼働時間"
      },
      "tickingEnabled": "Tickが有効"
    },
    "botControl": "Botコントロール",
    "itemDetail": {
      "activeListings": "アクティブリスト",
      "armorStats": "防具ステータス",
      "armorValue": "防具値",
      "armorValueByQuality": "品質別防具値",
      "botStock": "Bot在庫",
      "category": "カテゴリ",
      "damageMultiplierByQuality": "品質別ダメージ倍率",
      "itemInfo": "アイテム情報",
      "listingsLabel": "リスト数",
      "lowestPrice": "最低価格",
      "noActiveListings": "アクティブなリストがありません。",
      "priceCol": "価格",
      "rarityLabel": "レアリティ",
      "resistances": "耐性",
      "seller": "セラー",
      "stockCol": "在庫",
      "tierLabel": "ティア",
      "totalStock": "合計在庫",
      "weaponQualityScaling": "武器品質スケーリング"
    },
    "noBotConnected": "マーケットBotが接続されていません — 内蔵Botを有効にしてここで管理してください",
    "search": {
      "allSellers": "全セラー",
      "ariaLabel": "アイテムを検索",
      "botOnly": "Botのみ",
      "clearFilters": "クリア",
      "playersOnly": "プレイヤーのみ",
      "searchPlaceholder": "アイテムを検索...",
      "sellerAriaLabel": "セラーでフィルター"
    },
    "sidebar": {
      "allItems": "全アイテム",
      "categories": "カテゴリ",
      "collapseAriaLabel": "サイドバーを折りたたむ",
      "expandAriaLabel": "サイドバーを展開",
      "schematics": "設計図"
    },
    "subtitle": "BotとプレイヤーセラーのアクティブExchangeリストを閲覧します。",
    "table": {
      "ariaLabel": "マーケットアイテム",
      "botStock": "Bot在庫",
      "category": "カテゴリ",
      "grade": "グレード",
      "item": "アイテム",
      "listings": "リスト数",
      "lowestPrice": "最低価格",
      "noItemsFound": "アイテムが見つかりません。",
      "rarity": "レアリティ",
      "stock": "在庫",
      "tier": "ティア"
    },
    "title": "マーケットボード"
  },
  "nav": {
    "director": "Director",
    "landsraad": "Landsraad",
    "guilds": "ギルド",
    "bases": "拠点",
    "battlegroup": "サーバーの状態",
    "blueprints": "ブループリント",
    "database": "データベース",
    "groups": {
      "economy": "エコノミー",
      "operations": "オペレーション",
      "playerWorld": "プレイヤーワールド"
    },
    "liveMap": "ライブマップ",
    "logs": "ログ",
    "market": "マーケットBot",
    "players": "プレイヤー",
    "server": "サーバー設定",
    "storage": "ストレージ",
    "welcome": "ウェルカムキット"
  },
  "players": {
    "actions": {
      "admin": {
        "characterExport": "キャラクターエクスポート",
        "characterExportDesc": "キャラクターデータをJSONとしてダウンロード",
        "confirmReset": "リセットを確認",
        "confirmWipe": "削除を確認",
        "delete": "削除",
        "deleteTutorials": "チュートリアルを削除",
        "deleteTutorialsConfirmDesc": "{{player}} のすべてのチュートリアル完了記録が削除されます。",
        "deleteTutorialsDesc": "すべてのチュートリアル完了記録を削除します",
        "deleteTutorialsTitle": "チュートリアルを削除しますか？",
        "destructive": "破壊的ライブアクション",
        "destructiveDesc": "不可逆 — プレイヤーはオンラインである必要があります。",
        "dismiss": "閉じる",
        "dismissReturning": "復帰プレイヤーポップアップを閉じる",
        "dismissReturningDesc": "報酬を受け取り済みとしてマークし、ログインポップアップが表示されなくなります",
        "downloadExport": "ダウンロード",
        "exportDownloaded": "エクスポートをダウンロードしました",
        "kick": "キック",
        "kickDesc": "プレイヤーをサーバーから切断します",
        "kickPlayer": "プレイヤーをキック",
        "liveActions": "ライブアクション",
        "liveActionsDesc": "RabbitMQ コマンド — プレイヤーはオンラインである必要があります。",
        "loadingPlayers": "プレイヤーを読み込み中…",
        "manageLocations": "場所を管理",
        "manageLocationsModal": {
          "addHint": "名前と座標を入力して保存してください。既存の名前を保存すると座標が更新されます。Zを空白にすると地面レベル（0）になります。",
          "addSection": "場所の追加 / 更新",
          "delete": "削除",
          "done": "完了",
          "nameLabel": "名前",
          "namePlaceholder": "例：ウィンドサック",
          "noLocations": "場所がありません — 上で追加してください。",
          "save": "保存",
          "title": "場所を管理"
        },
        "mapPickerModal": {
          "cancel": "キャンセル",
          "confirm": "この座標を使用",
          "hint": "ハッガ盆地のどこかをクリックしてX/Yを取得します。Zはデフォルト{{z}} — 必要に応じて手動で調整してください。",
          "selected": "選択済み：",
          "title": "マップで場所を選択"
        },
        "move": "移動",
        "moveToXyz": "XYZに移動",
        "persistent": "永続的",
        "pickOnMap": "マップで選択",
        "pickTarget": "対象を選択…",
        "positionReadFailed": "プレイヤーの位置を読み取れませんでした",
        "resetActions": "アクションをリセット",
        "resetProgression": "進行状況をリセット",
        "resetProgressionConfirmDesc": "{{player}} の経験値、スキル、ジャーニー進行状況が削除されます。この操作は元に戻せません。",
        "resetProgressionDesc": "プレイヤーの経験値、スキル、ジャーニーをリセットします",
        "resetProgressionTitle": "進行状況を完全にリセットしますか？",
        "selectSpawnLocation": "スポーン場所を選択…",
        "selectTargetLabel": "対象プレイヤー",
        "selectVehicle": "乗り物を選択…",
        "spawn": "スポーン",
        "spawnLocationLabel": "スポーン場所",
        "spawnVehicle": "乗り物をスポーン",
        "spawnVehicleDesc": "プレイヤーはオンラインである必要があります。選択したパーティションの場所にスポーンします。",
        "teleport": "テレポート",
        "teleportNote": "オンライン時はリアルタイム · オフライン時はDBに書き込み",
        "teleportPlaceholder": "場所を選択...",
        "teleportToPlayer": "プレイヤーにテレポート",
        "templateLabel": "テンプレート",
        "useCurrent": "現在地を使用",
        "vehicleLabel": "乗り物の種類",
        "whisper": "ウィスパー",
        "whisperFrom": "送信者：",
        "whisperSent": "{{player}} にウィスパーを送信しました",
        "wipe": "削除",
        "wipeCodex": "コーデックスを削除",
        "wipeCodexConfirmDesc": "{{player}} のすべてのコーデックス発見が消去されます。",
        "wipeCodexDesc": "すべてのコーデックス発見を消去します",
        "wipeCodexTitle": "コーデックスを削除しますか？",
        "wipeInventory": "インベントリを削除",
        "wipeInventoryConfirmDesc": "{{player}} のインベントリ内のすべてのアイテムが破壊されます。この操作は元に戻せません。",
        "wipeInventoryDesc": "プレイヤーのインベントリ内のすべてのアイテムを破壊します",
        "wipeInventoryTitle": "インベントリを完全に削除しますか？"
      },
      "contracts": {
        "applyContracts_one": "コントラクトを適用 ({{count}})",
        "applyContracts_other": "コントラクトを適用 ({{count}})",
        "clearAll": "すべてクリア",
        "count_one": "{{count}} 個のコントラクト",
        "count_other": "{{count}} 個のコントラクト",
        "desc": "コントラクトの AddedFlagsOnCompletion タグとティア昇格の副効果を適用します。複数選択に対応。",
        "filterLabel": "コントラクトをフィルター",
        "filterPlaceholder": "コントラクトをフィルター（例：Trainer_Mentat, Atre_Rank01）...",
        "loadFailed": "読み込み失敗：{{error}} — サーバーを再起動してください",
        "loadingContracts": "読み込み中…",
        "noMatching": "一致するコントラクトがありません",
        "reverseContracts_one": "コントラクトを取り消し ({{count}})",
        "reverseContracts_other": "コントラクトを取り消し ({{count}})",
        "tagCount_one": "{{count}} 個のタグ",
        "tagCount_other": "{{count}} 個のタグ",
        "tagCountPlural_one": "{{count}} 個のタグ",
        "tagCountPlural_other": "{{count}} 個のタグ",
        "title": "コントラクトを完了"
      },
      "experimental": {
        "confirmRun": "実行を確認",
        "customScript": "CheatScript — カスタム",
        "customScriptDesc": "任意のスクリプト名またはコンソールコマンドを試す。",
        "customScriptLabel": "カスタムスクリプト名",
        "customScriptPlaceholder": "スクリプト / コマンド名…",
        "knownScripts": "CheatScript — 既知スクリプト",
        "knownScriptsDesc": "DefaultGame.ini で定義された名前付きスクリプト。送信してそれで終わり。",
        "run": "実行",
        "runTitle": "{{label}} を実行しますか？",
        "scripts": {
          "AwardPlayerXP": "Award Player XP",
          "AwardPlayerXPDesc": "戦闘XP 10,000 ＋ 探索XP 10,000 ＋ サイエンスXP 10,000 を付与",
          "LeaveMeAlone": "Leave Me Alone",
          "LeaveMeAloneDesc": "全NPCを削除し、エンカウンター＋砂嵐をクリア、サンドワームを無効化（サーバー全体）",
          "PlaytestSetup": "Playtest Setup",
          "PlaytestSetupAdmin": "Playtest Setup (Admin)",
          "PlaytestSetupAdminDesc": "⚠ DESTRUCTIVE — Playtest Setupと同じだが生のテンプレート名を使用",
          "PlaytestSetupDesc": "⚠ DESTRUCTIVE — ResetProgression + CleanInventory、その後フル装備キット",
          "UnlockAllAbilities": "Unlock All Abilities",
          "UnlockAllAbilitiesDesc": "すべてのアビリティモジュールをレベル1に設定",
          "UnlockAllSkills": "Unlock All Skills",
          "UnlockAllSkillsDesc": "すべてのスキルツリーモジュールをレベル1に設定"
        },
        "try": "試す",
        "warning": "⚠ 実験的 — これらのコマンドはRabbitMQ経由で送信されますが、その効果は未検証です。テストキャラクターのみに使用してください。"
      },
      "history": {
        "columns": {
          "difficulty": "難易度",
          "dungeon": "ダンジョン",
          "duration": "所要時間",
          "eventType": "イベントタイプ",
          "location": "場所",
          "map": "マップ",
          "partySize": "パーティ人数",
          "time": "時間"
        },
        "dungeonLabel": "ダンジョン記録",
        "dungeonRecords": "ダンジョン記録",
        "gameEvents": "ゲームイベント",
        "gameEventsLabel": "ゲームイベント",
        "noDungeons": "ダンジョン記録がありません",
        "noEvents": "イベントがありません"
      },
      "journey": {
        "columns": {
          "done": "完了",
          "nodeId": "ノードID",
          "revealed": "公開済み",
          "reward": "報酬"
        },
        "complete": "完了",
        "filterPlaceholder": "ノードをフィルター...",
        "journeyLabel": "ジャーニーノード",
        "noMatching": "一致するノードがありません",
        "noNodes": "ジャーニーノードが見つかりません",
        "redo": "↻ Re-do",
        "reset": "リセット",
        "title": "ジャーニーノード",
        "wipeAll": "すべて削除",
        "wipeAllDesc": "{{player}} のすべてのジャーニー進行状況が削除されます。この操作は元に戻せません。",
        "wipeAllTitle": "すべてのジャーニーノードを削除しますか？"
      },
      "progression": {
        "apply": "適用",
        "applyUnlock": "ロック解除を適用",
        "loadingPresets": "読み込み中…",
        "mainQuestLabel": "メインクエスト",
        "nodes_one": "{{count}} 個のノード",
        "nodes_other": "{{count}} 個のノード",
        "noPresets": "利用可能なプリセットはありません",
        "presets": {
          "a_new_beginning": {
            "desc": "メインストーリーの導入 — Stillsuitの製作、リソースの収集、ファブリケーター研究。序盤のゲームをアンロックします。",
            "name": "完了: A New Beginning"
          },
          "act1_complete": {
            "desc": "A New Beginning + Find the Fremenを合わせたもの。プレイヤーは第2幕の準備ができた状態で始まります。",
            "name": "完了: 第1幕すべて"
          },
          "deep_desert_intro": {
            "desc": "深砂漠のサイドクエストチェーンを完了します。",
            "name": "スキップ: 深砂漠の導入"
          },
          "find_the_fremen": {
            "desc": "7つの試練、Sietch、エピローグをすべて含みます。Fremkit（Stillsuit、Thumper、Cryss Knifeなど）をアンロックし、第1幕を完了します。",
            "name": "完了: Find the Fremen (Trials of Aql)"
          },
          "overland_intro": {
            "desc": "オーバーランドマップのサイドクエストチェーンを完了します（Hark Landsraadミッション、キーストーン）。",
            "name": "スキップ: オーバーランドマップ導入"
          },
          "skip_npe": {
            "desc": "チュートリアル/NPEを完了済みとしてマークします。入門を必要としない経験豊富なプレイヤーに便利です。",
            "name": "NPE（新規プレイヤー体験）をスキップ"
          },
          "taxation_intro": {
            "desc": "交換/旅行チュートリアルチェーンを完了します。",
            "name": "スキップ: 課税 / 交換チュートリアル"
          },
          "unlock_all_lore": {
            "desc": "すべてのDunipediaエントリを公開します：既知の宇宙、ランドマーク、友好的な砂漠のマニュアル、アラキスをめぐる戦争。",
            "name": "全ロアをアンロック（Dunipedia）"
          },
          "vermillius_intro": {
            "desc": "Vermillius Gapのすべてのチュートリアルクエスト（研究、製作、探索）を完了します。タグの副作用なし — 純粋なチュートリアルスキップ。",
            "name": "スキップ: Vermillius Gap チュートリアル"
          }
        },
        "progressionUnlock": "進行状況ロック解除",
        "progressionUnlockDesc": "DA_FQ_ClimbTheRanks ジャーニーノードを完了し、派閥ティアタグを書き込みます。",
        "quickPresets": "クイックプリセット",
        "quickPresetsDesc": "1つ以上のルートジャーニーノードを完了し、すべての子ノードとタグにカスケードする厳選されたバンドル。",
        "resetSkillTree": "スキルツリーをリセット",
        "resetSkillTreeDesc": "{{player}} の {{trainer}} 完全ジョブスキルツリーが削除されます。",
        "resetSkillTreeTitle": "{{trainer}} スキルツリーをリセットしますか？",
        "reverseUnlock": "ロック解除を取り消し",
        "reverseUnlockDesc": "{{faction}} の {{preset}} プリセットを取り消し、{{player}} から関連タグを削除します。",
        "reverseUnlockTitle": "進行状況ロック解除を取り消しますか？",
        "trainerLabel": "トレーナー",
        "unlockMainQuest": "メインクエストのロックを解除",
        "unlockMainQuestDesc": "すべての DA_MQ_<name>.* ジャーニー行を完了済みとしてフラグを立て、m_TagsToAdd の和集合を適用します。",
        "unlockTrainer": "トレーナーのロックを解除",
        "unlockTrainerDesc": "すべての Trainer_X_* コントラクトを完了し、完全なジョブスキルツリーを付与します。"
      },
      "resources": {
        "award": "授与",
        "awardCharXP": "キャラクター経験値を付与",
        "awardIntel": "インテルを付与",
        "characterXP": "キャラクター経験値",
        "charXPNote": "最大 344,440（レベル200）· オンライン時はリアルタイム、オフライン時はDBに保存",
        "currencyResources": "通貨とリソース",
        "currentXP": "現在：{{xp}} XP — レベル {{level}} / 200",
        "faction": "派閥",
        "factionReputation": "派閥評判",
        "fill": "補充",
        "fillWater": "水を補充",
        "fillWaterNote": "すべての水容器を最大まで補充します（プレイヤーがオンラインである必要があります）",
        "give": "付与",
        "giveCurrency": "通貨を付与",
        "giveScrip": "Scrip を付与",
        "liveActions": "ライブアクション",
        "liveActionsNote": "プレイヤーはオンラインである必要があります。",
        "reputation": "評判",
        "reputationNote": "現在の値に追加、最大 12,474",
        "selectModule": "モジュールを選択…",
        "set": "設定",
        "setSkillModule": "スキルモジュールを設定",
        "skillModules": "スキルモジュール",
        "skillPoints": "スキルポイント",
        "skillPointsNote": "未使用ポイントを設定します"
      },
      "sections": {
        "admin": "管理者",
        "contracts": "コントラクト",
        "experimental": "実験的",
        "history": "履歴",
        "journey": "ジャーニー",
        "progression": "進行状況",
        "resources": "ステータス",
        "specs": "スペシャライゼーション",
        "tags": "タグ"
      },
      "specs": {
        "columns": {
          "level": "レベル",
          "track": "トラック",
          "xp": "経験値"
        },
        "grantMax": "最大値を付与",
        "grantMaxKeystones": "最大キーストーンを付与",
        "onlineWarning": "⚠ プレイヤーはオンラインです — 経験値の変更は再接続するまで反映されない場合があります",
        "resetAllKeystones": "すべてのキーストーンをリセット",
        "resetKeystonesDesc": "{{player}} に付与されたすべてのキーストーンが削除されます。この操作は元に戻せません。",
        "resetKeystonesTitle": "すべてのキーストーンをリセットしますか？",
        "resetSpec": "スペックをリセット",
        "resetSpecDesc": "{{track}} スペシャライゼーショントラックのすべての経験値とレベルが削除されます。",
        "resetSpecTitle": "{{track}} スペックをリセットしますか？",
        "specializations": "スペシャライゼーション",
        "specsLabel": "スペシャライゼーション"
      },
      "tags": {
        "activeTags_one": "アクティブタグ ({{count}})",
        "activeTags_other": "アクティブタグ ({{count}})",
        "activeTagsLabel": "アクティブタグ",
        "addCount_one": "追加 ({{count}})",
        "addCount_other": "追加 ({{count}})",
        "addTags": "タグを追加",
        "filterPlaceholder": "削除するタグをフィルター…",
        "noTags": "タグがありません",
        "removedTag": "タグを削除しました",
        "searchPlaceholder": "タグを検索…",
        "tagColumn": "タグ"
      }
    },
    "dashboard": {
      "activityTrend": "アクティビティ — 直近 {{days}} 日",
      "avgLevel": "平均キャラクターレベル",
      "avgLevelCol": "平均Lv",
      "byFaction": "派閥別",
      "byMap": "マップ別プレイヤー",
      "econPctCol": "経済割合",
      "factionCol": "派閥",
      "growthApprox": "概算 — オンラインスナップショットより",
      "growthTitle": "派閥の成長",
      "metricLevel": "平均レベル",
      "metricSolaris": "Solaris",
      "navLabel": "サーバー概要",
      "noPlayers": "プレイヤーがいません",
      "online": "オンライン",
      "playersCol": "プレイヤー",
      "scripCol": "Scrip",
      "sessions": "セッション",
      "solarisCol": "Solaris",
      "subtitle": "サーバー全体のプレイヤー統計と傾向",
      "title": "サーバー概要",
      "totalPlayers": "プレイヤー総数",
      "totalPlaytime": "合計プレイ時間",
      "totalScrip": "Scrip 合計",
      "totalSolaris": "Solaris 合計"
    },
    "detail": {
      "avgSession": "平均",
      "charXP": "キャラクター経験値",
      "earned": "獲得",
      "economy": "エコノミー",
      "factionAlignment": "派閥所属",
      "unaligned": "無所属",
      "factionTier": "派閥ティア",
      "failedToLoad": "ステータスの読み込みに失敗しました。",
      "lastSeen": "最終ログイン",
      "milestones": "マイルストーン",
      "playtime": "プレイ時間",
      "pois": "ポイントオブインタレスト",
      "progression": "進行状況",
      "scrip": "Scrip",
      "sessionCount": "回数",
      "sessionHistory": "セッション履歴",
      "sessionHistoryEmpty": "セッションデータはプレイヤーのログイン時に蓄積されます。トラッカーは5分ごとに取得します。",
      "sessions": "セッション",
      "skillPts": "スキルポイント",
      "solaris": "Solaris",
      "solarisBalance": "残高",
      "solarisHistory": "Solaris履歴",
      "solarisHistoryEmpty": "Solarisのスナップショットはプレイヤーがオンライン中、5分ごとに記録されます。",
      "spent": "消費",
      "tier": "ティア {{tier}}",
      "xpCharXP": "キャラXP",
      "xpCombat": "戦闘",
      "xpCrafting": "クラフト",
      "xpExploration": "探索",
      "xpGathering": "採集",
      "xpHistory": "XP履歴",
      "xpHistoryEmpty": "XPのスナップショットはプレイヤーがオンライン中、5分ごとに記録されます。",
      "xpSabotage": "サボタージュ"
    },
    "give": {
      "add": "追加",
      "gave": "✓ 付与済み：",
      "gaveItems_one": "{{player}} に {{count}} 個のアイテムを付与しました",
      "gaveItems_other": "{{player}} に {{count}} 個のアイテムを付与しました",
      "giveCount_one": "{{count}} 個のアイテムを付与",
      "giveCount_other": "{{count}} 個のアイテムを付与",
      "loadPack": "パックを読み込む…",
      "managePacks": "パック管理",
      "modalTitle": "{{name}} — アイテムを付与",
      "qty": "数量",
      "quality": "品質",
      "searchTemplates": "テンプレートを検索...",
      "selectTemplate": "テンプレートを選択",
      "skipped": "✕ {{template}} をスキップ：{{reason}}"
    },
    "givePacks": {
      "addItem": "アイテムを追加",
      "addPack": "パックを追加",
      "category": "カテゴリ",
      "deletePack": "パックを削除",
      "duplicateId": "同じIDのパックが既に存在します。",
      "editingPack": "パックを編集",
      "newPack": "新しいパック",
      "noItemsYet": "このパックにはまだアイテムがありません。",
      "noPacks": "パックがまだありません — 上から追加してください。",
      "noPackSelected": "パックを選択してアイテムを編集してください。",
      "packId": "ID",
      "packName": "名前",
      "removeItem": "アイテムを削除",
      "save": "パックを保存",
      "saved": "パックを保存しました",
      "saveFailed": "パックの保存に失敗しました：{{message}}",
      "searchTemplates": "アイテムテンプレートを検索…",
      "tier": "ティア",
      "title": "アイテムパックを管理",
      "updatePack": "パックを更新"
    },
    "inventory": {
      "columns": {
        "durability": "耐久度",
        "quality": "品質",
        "stack": "スタック",
        "template": "テンプレート"
      },
      "deleteOnlineWarning": "プレイヤーはオンラインです — アイテムを削除するとインベントリの同期がずれる可能性があります。続けますか？",
      "itemDeleted": "アイテムを削除しました",
      "itemsLabel": "アイテム",
      "noItemsFound": "アイテムが見つかりません",
      "repair": "修理",
      "repaired": "{{name}} を修理しました",
      "repairGear": "装備を修理",
      "repairGearDone": "{{scanned}} 個の装備のうち {{repaired}} 個を修理しました — ゲーム内で確認するには再ログインしてください",
      "repairGearNone": "修理が必要な装備はありません（{{scanned}} 個のアイテムをスキャン）",
      "repairNotice": "耐久値の変更はDBに書き込まれます。ゲーム内で反映するにはプレイヤーの再ログインが必要です。",
      "title": "インベントリ"
    },
    "searchLabel": "プレイヤーを検索",
    "searchPlaceholder": "プレイヤーをフィルター...",
    "tabs": {
      "actions": "アクション",
      "give": "付与",
      "inventory": "インベントリ",
      "overview": "概要",
      "vehicles": "乗り物"
    },
    "title": "プレイヤー",
    "vehicles": {
      "backup": "バックアップ",
      "columns": {
        "chassis": "シャーシ",
        "class": "クラス",
        "location": "場所",
        "name": "名前",
        "type": "タイプ"
      },
      "noVehiclesFound": "乗り物が見つかりません",
      "recovered": "回収済み",
      "refuel": "給油",
      "refuelDone": "{{label}} に給油しました — ゲーム内で確認するには再ログインしてください",
      "repair": "修理",
      "repairDone": "{{label}} の {{repaired}} 個のモジュールを修理しました — ゲーム内で確認するには再ログインしてください",
      "repairNone": "{{label}} にモジュールが見つかりません",
      "repairNotice": "乗り物の修理をゲーム内で反映するにはサーバーの再起動が必要です。",
      "repairPartial": "{{label}} の {{total}} 個のモジュールのうち {{repaired}} 個を修理しました（{{skipped}} 個をスキップ）— ゲーム内で確認するには再ログインしてください",
      "vehiclesLabel": "乗り物"
    }
  },
  "server": {
    "advancedCategories": "高度な設定",
    "advancedCategoriesDesc": "カテゴリをクリックして展開します。もう一度クリックするか別のカテゴリを選択して切り替えます。",
    "collapse": "キャンセル",
    "collapseCategory": "カテゴリを折りたたむ",
    "collapseSection": "セクションを折りたたむ",
    "commonSettings": "一般設定",
    "commonSettingsDesc": "管理者が最もよく使う10数個のノブ。他はすべて下のカテゴリにあります。",
    "deleteFailed": "削除に失敗しました：{{message}}",
    "iniNotFound": "サーバーINIファイルが見つかりませんでした：{{error}}。kubectl の場合、ゲームサーバーPVCがマウントされていることを確認してください。docker/local の場合、~/.dune-admin/config.yaml に server_ini_dir を追加してください。",
    "loading": "設定を読み込み中…",
    "noMatchSettings": "\"{{query}}\" に一致する設定はありません。",
    "overriddenCount_one": "{{count}} 個がオーバーライドされています",
    "overriddenCount_other": "{{count}} 個がオーバーライドされています",
    "rawIniDesc": "配列エントリ（+キー=値）と未認識のキー、INIセクション別にグループ化。",
    "rawIniSections": "生のINIセクション",
    "rawPlaceholder": "キー=値 または配列エントリは +キー=値",
    "removedFrom": "{{file}} から削除しました",
    "save": "保存",
    "savedTo": "{{file}} に保存しました",
    "saveFailed": "保存に失敗しました：{{message}}",
    "saveWithCount_one": "保存 ({{count}})",
    "saveWithCount_other": "保存 ({{count}})",
    "searchLabel": "設定を検索",
    "searchPlaceholder": "設定を検索…",
    "settingCount_one_one": "{{count}} 個の設定",
    "settingCount_one_other": "{{count}} 個の設定",
    "settingCount_other_one": "{{count}} 個の設定",
    "settingCount_other_other": "{{count}} 個の設定",
    "showAll": "すべて",
    "showAllAriaLabel": "すべての設定を表示中 — クリックしてユーザー設定のみ表示",
    "showUser": "ユーザー",
    "showUserAriaLabel": "ユーザー設定のみ表示中 — クリックしてすべて表示",
    "title": "サーバー設定",
    "unsaved": "未保存",
    "userOverride": "· ユーザーオーバーライド",
    "expertCategories": "エキスパート",
    "expertCategoriesDesc": "エンジンとシステムの内部設定。内容を正確に理解している場合のみ変更してください。",
    "ampManagedTooltip": "AMP APIで管理 — 次回のサーバー再起動時に適用されます",
    "removeFrom": "{{file}} から削除"
  },
  "settings": {
    "adv": {
      "applyReload": "適用して再読み込み",
      "backendUrlHint": "UIが別のホストから提供される場合のみ必要です（SSHトンネル、CDN）。シングルバイナリ構成の場合は空白のままにしてください。",
      "backupDir": "バックアップディレクトリ",
      "defaultIniDir": "デフォルトINIディレクトリ",
      "defaultIniDirHint": "DefaultGame.ini のベースレイヤー",
      "directorUrl": "Director URL",
      "directorUrlHint": "/director/ でプロキシ",
      "listenAddr": "リッスンアドレス",
      "listenAddrHint": "⚠ 再起動が必要",
      "reset": "リセット",
      "scripCurrency": "Scrip通貨ID",
      "serverIniDir": "サーバーINIディレクトリ",
      "serverIniDirHint": "UserGame.ini の場所",
      "url": "URL",
      "urlHint": "ブラウザに保存され、サーバーには保存されません"
    },
    "amp": {
      "containerName": "コンテナ名",
      "containerNameHint": "デフォルト：AMP_<インスタンス>",
      "dataRoot": "データルート",
      "instanceName": "インスタンス名",
      "logPath": "ログパス",
      "useContainer": "コンテナを使用（podman exec）",
      "useContainerHint": "AMPユーザーとしてホストで直接実行するには無効にしてください。",
      "user": "AMPユーザー",
      "apiUser": "AMP API ユーザー",
      "apiPassword": "AMP API パスワード",
      "apiPort": "AMP API ポート",
      "apiHint": "AMP Web API ログイン。dune-admin が AMP 配下のサーバー設定を管理できるようにし、再起動後も保持されます。デフォルトポートは 8081。"
    },
    "broker": {
      "adminAddr": "管理者アドレス",
      "execPrefix": "実行プレフィックス",
      "execPrefixHint": "brokerがコンテナ内にある場合",
      "gameAddr": "ゲームアドレス",
      "jwtSecret": "JWTシークレット",
      "jwtSecretHint": "空白 = 内蔵デフォルト",
      "optionalHint": "設定するとキャプチャと通知が有効になります。",
      "password": "パスワード",
      "user": "ユーザー",
      "useTls": "TLSを使用（amqps://）"
    },
    "cmd": {
      "restart": "再起動",
      "start": "起動",
      "status": "ステータス",
      "stop": "停止"
    },
    "configSaved": "設定を保存しました — 設定を適用中…",
    "control": {
      "amp": "amp — CubeCoders AMP",
      "docker": "docker — Dockerコンテナ",
      "kubectl": "kubectl — Kubernetes / k3s",
      "local": "local — ベアメタル / LGSM / shell",
      "modeHint": "dune-admin がゲームサーバーを管理する方法",
      "selectMode": "モード固有の設定を表示するには、上からコントロールモードを選択してください。"
    },
    "db": {
      "host": "ホスト",
      "hostHint": "SSHトンネル経由で 127.0.0.1",
      "name": "データベース名",
      "password": "パスワード",
      "passwordHint": "既存のパスワードを保持するにはプレースホルダーを送信",
      "port": "ポート",
      "schema": "スキーマ",
      "user": "ユーザー"
    },
    "docker": {
      "brokerAdmin": "Broker（管理者）",
      "brokerGame": "Broker（ゲーム）",
      "database": "データベース",
      "gameServer": "ゲームサーバー"
    },
    "k8s": {
      "namespace": "ネームスペース",
      "namespaceHint": "空白 = 自動検出"
    },
    "loadFailed": "設定を読み込めませんでした：{{message}}",
    "loadingConfig": "設定を読み込み中…",
    "saveFailed": "保存に失敗しました：{{message}}",
    "sections": {
      "amp": "CubeCoders AMP",
      "backendUrlOverride": "バックエンドURLオーバーライド",
      "controlPlane": "コントロールプレーン",
      "database": "データベース",
      "dockerContainers": "Dockerコンテナ",
      "kubernetes": "Kubernetes",
      "paths": "パス",
      "rabbitmq": "RabbitMQ（オプション）",
      "server": "サーバー",
      "serverCommands": "サーバーコマンド",
      "ssh": "SSH（ローカルの場合は空白のまま）"
    },
    "ssh": {
      "hostPort": "ホスト：ポート",
      "hostPortHint": "すべてのDB + execのSSHトンネルを有効化",
      "privateKey": "秘密鍵のパス",
      "privateKeyHint": "絶対パス、空白 = 自動検出",
      "user": "ユーザー"
    },
    "tabs": {
      "advanced": "詳細設定",
      "broker": "Broker",
      "connection": "接続",
      "control": "コントロール"
    }
  },
  "storage": {
    "addItems": "アイテムを追加",
    "addModal": {
      "add": "追加",
      "qtyColLabel": "数量",
      "qtyLabel": "数量",
      "qualityColLabel": "品質",
      "qualityLabel": "品質",
      "searchPlaceholder": "テンプレートを検索...",
      "selectTemplate": "テンプレートを選択",
      "templateLabel": "テンプレート"
    },
    "ariaLabel": "コンテナアイテム",
    "columns": {
      "durability": "耐久度",
      "id": "ID",
      "quality": "品質",
      "stack": "スタック",
      "template": "テンプレート"
    },
    "containerEmpty": "コンテナは空です",
    "containersTitle_one": "コンテナ ({{count}})",
    "containersTitle_other": "コンテナ ({{count}})",
    "containerTitle": "コンテナ #{{id}}",
    "itemRemoved": "アイテムを削除しました",
    "ownerLabel": "オーナー：{{name}}",
    "remove": "削除",
    "searchLabel": "コンテナを検索",
    "searchPlaceholder": "検索...",
    "selectContainer": "コンテナを選択してその内容を表示",
    "warningText": "ストレージコンテナに追加または削除されたアイテムは、他のプレイヤーから見えるようにするためにサーバーゾーンの再起動が必要です。"
  },
  "welcome": {
    "activeVersionGranted": "アクティブバージョン（付与済み）",
    "addItem": "アイテムを追加",
    "addVersion": "バージョンを追加",
    "columns": {
      "character": "キャラクター",
      "error": "エラー",
      "flsId": "FLS ID",
      "status": "ステータス",
      "tries": "試行回数",
      "updated": "更新日時",
      "version": "バージョン"
    },
    "configSubtitle": "付与を有効にし、アクティブなパッケージを設定してウェルカムメッセージを構成します。",
    "editingVersion": "バージョンを編集中",
    "enabledHint": "— アクティブなパッケージを、そのバージョンをまだ受け取っていないオンラインプレイヤーに付与します。",
    "enabledLabel": "有効",
    "failedToLoad": "ウェルカムパッケージの読み込みに失敗しました：{{message}}",
    "grantsLabel": "ウェルカムパッケージ付与記録",
    "grantsTitle_one": "付与履歴 ({{count}})",
    "grantsTitle_other": "付与履歴 ({{count}})",
    "message": {
      "enabledHint": "GMペルソナを通じてアクティブバージョンごとにプレイヤー1人につき1回送信されます。付与台帳に記録されます。",
      "enabledLabel": "新規プレイヤーの初回ログイン時にウィスパーを送信する",
      "messageLabel": "メッセージ",
      "messagePlaceholder": "サーバーへようこそ！スターターパックをお楽しみください。",
      "senderLabel": "送信者のFLS ID（任意）",
      "senderPlaceholder": "空白のままにすると設定済みGMペルソナが使用されます",
      "title": "ウェルカムメッセージ"
    },
    "newVersionLabel": "新しいバージョン名",
    "newVersionPlaceholder": "例：v2 または season2",
    "noGrants": "まだ付与記録がありません。",
    "noItemsYet": "このバージョンにはまだアイテムがありません。",
    "noPackageSelected": "パッケージが選択されていません。開始するにはバージョンを追加してください。",
    "packagesSubtitle": "アイテムパッケージを作成・管理します。各バージョンは独立して付与できます。",
    "removeItem": "アイテムを削除",
    "retry": "再試行",
    "retryCleared": "クリアしました — 次のスキャンで再試行されます",
    "retryFailed": "再試行に失敗しました：{{message}}",
    "runFailed": "実行に失敗しました：{{message}}",
    "runNow": "今すぐ実行",
    "saveConfig": "設定を保存",
    "savedDisabled": "ウェルカムパッケージを保存しました（無効）",
    "savedEnabled": "有効化しました — 1回のスキャンTick以内に \"{{version}}\" を付与します",
    "saveFailed": "保存に失敗しました：{{message}}",
    "scanComplete": "スキャン完了 — {{granted}} 件付与、{{failed}} 件失敗、{{skipped}} 件スキップ",
    "scanInterval": "スキャン間隔（秒）",
    "sections": {
      "config": "設定",
      "grants": "付与履歴",
      "packages": "パッケージ"
    },
    "title": "ウェルカムキット",
    "revoke": "取り消す",
    "revoked": "付与を取り消しました — パッケージを再度付与できます",
    "revokeFailed": "取り消しに失敗しました: {{message}}",
    "motd": {
      "enabledHint": "参加するたびにGMペルソナ経由でウィスパー送信されます（初回だけでなく毎回）。プレイヤー名には {player} を使用します。",
      "enabledLabel": "プレイヤーが参加するたびにメッセージを送信する",
      "messageLabel": "メッセージ",
      "messagePlaceholder": "おかえりなさい、{player}さん！イベント情報はDiscordをご確認ください。",
      "senderLabel": "送信者のFLS ID（任意）",
      "senderPlaceholder": "空白のままにすると設定済みGMペルソナが使用されます",
      "title": "今日のメッセージ"
    },
    "runConfirmTitle": "ウェルカムパッケージを今すぐ付与しますか？",
    "runConfirmBody": "対象のオンラインプレイヤー全員にパッケージ {{versions}} を今すぐ付与します。続行しますか？"
  }
}
