{
  "app": {
    "brand": "nanobot",
    "loading": {
      "connecting": "nanobot に接続中…",
      "boot": "nanobot を読み込み中…"
    },
    "error": {
      "title": "nanobot に接続できませんでした",
      "gatewayHint": "gateway（`nanobot gateway`）が起動しており、このページが同じマシン上で開かれていることを確認してください。"
    },
    "auth": {
      "label": "パスワード",
      "showPassword": "パスワードを表示",
      "hidePassword": "パスワードを隠す",
      "submit": "接続",
      "required": "パスワードを入力してください。",
      "invalid": "パスワードが正しくありません。もう一度お試しください。"
    },
    "account": {
      "section": "アカウント",
      "logoutHint": "このブラウザーを gateway から切断します。",
      "logout": "サインアウト"
    },
    "system": {
      "section": "システム",
      "restartHint": "実行時の変更を適用するには nanobot を再起動します。",
      "restart": "nanobot を再起動",
      "restarting": "再起動中...",
      "restartEngine": "エンジンを再起動",
      "restartingEngine": "エンジンを再起動中..."
    },
    "restart": {
      "completed": "{{seconds}} 秒で再起動が完了しました。"
    },
    "documentTitle": {
      "base": "nanobot",
      "chat": "{{title}} · nanobot"
    },
    "meta": {
      "description": "nanobot Web UI — nanobot ワークスペースと会話します。"
    },
    "pairing": {
      "title": "チャットユーザーをペアリング",
      "description": "チャットに表示されたペアリングコードを入力してください。",
      "code": "ペアリングコード",
      "matched": "{{channel}} と一致しました。接続中…",
      "expiresInline": "コードの有効期限: {{expires}}。",
      "queueCount": "{{count}} 件待機中",
      "noMatch": "このコードに一致する保留中のリクエストはありません。"
    }
  },
  "temporaryChat": {
    "title": "一時チャット",
    "retention": "履歴やメモリには保存されません。",
    "expiration": "再読み込み、ページを閉じる操作、接続切断で一時チャットは終了します。",
    "externalEffects": "リクエストは引き続きモデルプロバイダーに送信され、ツール操作による変更は残る場合があります。",
    "clear": "一時チャットを消去",
    "sectionTitle": "一時チャット",
    "closeAction": "一時チャット「{{title}}」を閉じる"
  },
  "sidebar": {
    "navigation": "サイドバーのナビゲーション",
    "collapse": "サイドバーを閉じる",
    "newChat": "新しいトピック",
    "searchAria": "検索",
    "searchPlaceholder": "検索",
    "searchResults": "検索結果",
    "noSearchResults": "一致するトピックはありません。",
    "recent": "最近のトピック",
    "settings": "設定",
    "language": {
      "label": "言語",
      "ariaLabel": "言語を変更"
    },
    "apps": "アプリ",
    "automations": "自動タスク",
    "skills": {
      "title": "スキル"
    }
  },
  "settings": {
    "backToChat": "チャットに戻る",
    "sidebar": {
      "title": "設定",
      "ariaLabel": "設定セクション"
    },
    "nav": {
      "general": "一般",
      "byok": "BYOK",
      "overview": "概要",
      "appearance": "外観",
      "models": "モデル",
      "providers": "プロバイダー",
      "image": "画像",
      "voice": "音声",
      "browser": "ウェブ",
      "channels": "チャンネル",
      "runtime": "システム",
      "advanced": "セキュリティ",
      "cliApps": "CLI アプリ",
      "mcp": "MCP",
      "apps": "アプリ",
      "automations": "自動タスク",
      "skills": "スキル"
    },
    "sections": {
      "interface": "インターフェース",
      "ai": "AI",
      "system": "システム",
      "about": "情報",
      "status": "状態",
      "localPreferences": "ローカル設定",
      "presets": "プリセット",
      "imageGeneration": "画像生成",
      "imageDefaults": "既定値",
      "webSearch": "ウェブ検索",
      "webBehavior": "動作",
      "regional": "地域",
      "webuiSafety": "WebUI の安全性",
      "capabilities": "機能",
      "cliApps": "CLI アプリ",
      "mcp": "MCP サービス",
      "apps": "アプリ",
      "nativeHost": "ネイティブホスト",
      "hostSafety": "アプリの安全性",
      "voiceInput": "音声入力"
    },
    "rows": {
      "theme": "テーマ",
      "language": "言語",
      "provider": "プロバイダー",
      "model": "モデル",
      "restart": "nanobot を再起動",
      "configPath": "設定パス",
      "activePreset": "アクティブなプリセット",
      "gateway": "ゲートウェイ",
      "restartState": "再起動状態",
      "pendingChanges": "保留中の変更",
      "selectedPreset": "選択中のプリセット",
      "presetModel": "プリセットモデル",
      "density": "表示密度",
      "activityMode": "アクティビティ詳細",
      "fileEditDisplay": "ファイル編集表示",
      "codeWrap": "コードの折り返し",
      "maxResults": "最大結果数",
      "timeout": "タイムアウト",
      "jinaReader": "Jina リーダー",
      "imageGeneration": "画像生成",
      "imageProvider": "画像プロバイダー",
      "imageProviderStatus": "プロバイダー状態",
      "imageProviderBase": "プロバイダー URL",
      "imageModel": "画像モデル",
      "defaultAspectRatio": "既定の比率",
      "defaultImageSize": "既定のサイズ",
      "maxImagesPerTurn": "1 ターンの最大画像数",
      "imageSaveDir": "保存先ディレクトリ",
      "timezone": "タイムゾーン",
      "workspacePath": "既定のワークスペース",
      "localServiceAccess": "ローカルサービス",
      "webuiDefaultAccess": "既定の権限",
      "currentModel": "現在の設定",
      "brandLogos": "ブランドロゴ",
      "cliAppsCatalog": "カタログ",
      "cliAppsFilter": "フィルター",
      "engine": "エンジン",
      "logs": "ログ",
      "diagnostics": "診断",
      "contextWindow": "コンテキストウィンドウ",
      "transcription": "文字起こし",
      "transcriptionProvider": "プロバイダー",
      "transcriptionProviderStatus": "プロバイダー状態",
      "transcriptionModel": "モデル",
      "transcriptionLanguage": "言語",
      "voiceLimits": "制限"
    },
    "help": {
      "theme": "ライト表示とダーク表示を切り替えます。",
      "language": "WebUI で使用する言語を選択します。",
      "provider": "新しいモデルリクエストに使うプロバイダーを選択します。",
      "model": "このプリセットで使用するモデルを選択します。",
      "configPath": "現在ゲートウェイが使用している設定ファイルです。",
      "selectedPreset": "名前付きプリセットはここでは読み取り専用です。編集するには config.json を変更してください。",
      "presetModel": "既定に切り替えると、WebUI からモデルとプロバイダーを編集できます。",
      "density": "このブラウザーにのみ保存されます。",
      "activityMode": "既定で表示するエージェントアクティビティの詳細量を選択します。",
      "fileEditDisplay": "ファイル編集アクティビティを行数または差分で表示します。",
      "codeWrap": "小さな画面でも長いコード行を読みやすくします。",
      "maxResults": "各 web_search 呼び出しで返す結果数です。",
      "timeout": "検索プロバイダーのリクエストがタイムアウトするまでの秒数です。",
      "jinaReader": "利用可能な場合、web_fetch に Jina Reader を使います。",
      "imageGeneration": "画像プロバイダーが設定済みのとき、チャットで generate_image を有効にします。",
      "imageProvider": "generate_image で使用する登録済みプロバイダーを選択します。",
      "imageProviderStatus": "画像生成はプロバイダー設定の認証情報を再利用します。",
      "imageModel": "選択した画像プロバイダーへ送信するモデル名です。",
      "defaultAspectRatio": "プロンプトで比率が指定されていない場合に使用します。",
      "defaultImageSize": "対応しているプロバイダーへ送信するサイズ指定です。",
      "maxImagesPerTurn": "1 回の generate_image リクエストで生成できる画像数の上限です。",
      "timezone": "スケジュールと時刻を考慮する返信に使用します。",
      "localServiceAccess": "フルアクセスの shell コマンドが localhost サービスにアクセスできるようにします。",
      "webuiDefaultAccess": "プロジェクト固有の権限がない Web チャットで使用します。",
      "securityManagedControls": "Web 取得は常にローカル、プライベート、メタデータサービスを保護します。コアチャネルの安全性は config.json で管理されます。",
      "currentModel": "新しい返信に使用します。",
      "selectedModelProvider": "選択したモデルによって設定されます。",
      "selectedModelValue": "選択したモデルによって設定されます。",
      "brandLogos": "設定で第三者プロバイダーと CLI のロゴを表示します。",
      "cliAppsCatalog": "nanobot がローカルで実行できるアプリ CLI アダプターだけをインストールします。ネイティブアプリは変更しません。",
      "cliAppsFilter": "アプリ、カテゴリ、機能で検索します。",
      "logs": "ネイティブエンジンのログフォルダーを開きます。",
      "diagnostics": "サポート用の小さなランタイムレポートを書き出します。",
      "localServiceAccessNative": "フルアクセスの shell コマンドがこの Mac 上のサービスにアクセスできるようにします。",
      "webuiDefaultAccessNative": "プロジェクト固有の権限がないネイティブチャットで使用します。",
      "contextWindow": "このモデル設定で使う既定のコンテキスト予算を選択します。",
      "transcription": "マイク入力を送信前に文字起こしします。チャネルの音声メッセージも同じ設定を使います。",
      "transcriptionProvider": "プロバイダー設定にある対応する認証情報を使います。",
      "transcriptionProviderStatus": "APIキーは文字起こし設定ではなくプロバイダー側に保存されます。",
      "transcriptionModel": "プロバイダーがカスタムモデルIDを必要としない限り、解決済みのデフォルトのままにします。",
      "transcriptionLanguage": "en、zh、ja、ko などの任意の ISO-639 ヒント。"
    },
    "values": {
      "light": "ライト",
      "dark": "ダーク",
      "notAvailable": "利用不可",
      "enabled": "有効",
      "disabled": "無効",
      "restartPending": "再起動待ち",
      "ready": "準備完了",
      "privateEngine": "プライベートエンジン",
      "unixSocket": "Unix ソケット",
      "defaultWorkspace": "既定のワークスペース",
      "comfortable": "標準",
      "compact": "コンパクト",
      "auto": "自動",
      "expanded": "展開",
      "default": "既定",
      "summary": "概要",
      "diff": "差分",
      "collapsedDiff": "折りたたみ差分",
      "on": "オン",
      "off": "オフ",
      "defaultPermission": "既定の権限",
      "fullAccess": "完全アクセス",
      "configured": "設定済み",
      "notConfigured": "未設定",
      "pending": "保留中",
      "restartingEngine": "再起動中",
      "checking": "確認中",
      "running": "実行中",
      "needsSetup": "設定が必要"
    },
    "status": {
      "loading": "設定を読み込んでいます...",
      "loadError": "設定を読み込めませんでした",
      "unsaved": "未保存の変更があります。",
      "upToDate": "最新です。",
      "savedRestart": "保存しました。反映するには nanobot を再起動してください。",
      "restartAfterSaving": "変更を保存してから、準備ができたら再起動してください。",
      "savedRestartApply": "保存しました。準備ができたら再起動してください。",
      "imageProviderRestart": "画像プロバイダーの変更を保存しました。準備ができたら再起動してください。",
      "hostRestartAfterSaving": "保存すると nanobot がエンジンを再起動します。",
      "hostRestartPending": "保存しました。準備ができたらエンジンを再起動します。",
      "hostApiUnavailable": "ホスト操作はネイティブアプリ内でのみ利用できます。",
      "logsOpened": "ログフォルダーを開きました。",
      "logsOpenFailed": "ログフォルダーを開けませんでした。",
      "diagnosticsExported": "診断を {{path}} に書き出しました。",
      "diagnosticsExportFailed": "診断を書き出せませんでした。"
    },
    "actions": {
      "save": "保存",
      "saving": "保存中",
      "saveOrder": "順序を保存",
      "savePreset": "プリセットを保存",
      "delete": "削除",
      "deleting": "削除中...",
      "edit": "編集",
      "cancel": "キャンセル",
      "dismiss": "閉じる",
      "open": "開く",
      "export": "書き出す",
      "opening": "開いています...",
      "exporting": "書き出しています..."
    },
    "byok": {
      "description": "自分のプロバイダーキーを使います。Nanobot は現在の設定から値を読み込み、設定済みのプロバイダーだけをモデルプリセットで使用できます。",
      "configured": "設定済み",
      "notConfigured": "未設定",
      "configuredSection": "設定済み",
      "notConfiguredSection": "未設定",
      "showMore": "さらに {{count}} 件表示",
      "showLess": "折りたたむ",
      "apiKey": "API キー",
      "apiBase": "API ベース",
      "apiKeyPlaceholder": "API キーを入力",
      "apiKeyConfiguredPlaceholder": "空欄のままなら現在の key を保持",
      "configuredKeyHint": "設定済み key",
      "apiBasePlaceholder": "プロバイダーの既定値を使用",
      "apiKeyRequired": "このプロバイダーを設定するには API キーが必要です。",
      "showApiKey": "API キーを表示",
      "hideApiKey": "API キーを隠す",
      "noConfiguredProviders": "設定済みプロバイダーがありません",
      "configureFirst": "先に BYOK でプロバイダーを設定してください。",
      "openByok": "BYOK を開く",
      "tabs": {
        "ariaLabel": "BYOK 認証情報タイプ",
        "llm": "LLM",
        "webSearch": "ウェブ検索"
      },
      "webSearch": {
        "provider": "検索プロバイダー",
        "providerHelp": "Web 検索ツールで使うバックエンドを選択します。",
        "selectProvider": "プロバイダーを選択",
        "credentials": "認証情報",
        "noCredentialRequired": "key は不要",
        "noCredentialHelp": "DuckDuckGo は API キーを保存せずに使えます。",
        "apiKeyHelp": "config に保存され、保存後はマスク表示されます。",
        "baseUrl": "ベース URL",
        "baseUrlHelp": "SearXNG には自分のインスタンス URL が必要です。",
        "baseUrlPlaceholder": "https://search.example.com",
        "apiKeyRequired": "この検索プロバイダーには API キーが必要です。",
        "baseUrlRequired": "SearXNG にはベース URL が必要です。",
        "missingCredential": "保存する前に必要な認証情報を入力してください。",
        "saveHint": "変更は新しい Web 検索リクエストに適用されます。"
      }
    },
    "overview": {
      "model": "現在のモデル",
      "providers": "プロバイダー",
      "configuredCount": "{{count}} 個設定済み",
      "totalProviders": "{{count}} 個利用可能",
      "webSearch": "Web 検索",
      "imageGeneration": "画像生成",
      "voiceInput": "音声入力",
      "workspace": "ワークスペース"
    },
    "usage": {
      "title": "トークンアクティビティ",
      "shortTitle": "トークン使用量",
      "subtitle": "直近 12 か月にプロバイダーが報告したトークン使用量。",
      "empty": "新しいモデル返信の後にトークンアクティビティが表示されます。",
      "totalTokens": "累計トークン数",
      "peakTokens": "ピークトークン数",
      "thirtyDayTokens": "30 日間のトークン数",
      "currentStreak": "現在の連続日数",
      "longestStreak": "最長連続日数",
      "daysValue": "{{count}} 日",
      "last30": "30 日",
      "activeDays": "アクティブ日数",
      "requests": "リクエスト",
      "estimated": "推定",
      "includesEstimates": "推定を含む",
      "cellTitle": "{{date}}: {{tokens}} トークン、{{requests}} 件のリクエスト",
      "sources": {
        "user": "チャット",
        "api": "API",
        "cron": "自動タスク",
        "dream": "メモリ整理",
        "system": "システム"
      }
    },
    "providers": {
      "title": "モデルプロバイダー",
      "searchPlaceholder": "プロバイダーを検索",
      "noMatches": "一致するプロバイダーはありません。",
      "addOwnProvider": "独自のモデルプロバイダーを追加",
      "customProvider": "カスタムプロバイダー",
      "customProviderName": "プロバイダー名",
      "customProviderNamePlaceholder": "マイモデルプロバイダー",
      "saveProvider": "プロバイダーを保存",
      "advancedOptions": "詳細オプション",
      "saveAdvancedBeforeSignIn": "サインインする前に詳細オプションを保存してください。",
      "apiType": "API タイプ",
      "proxy": "ネットワークプロキシ",
      "thinkingStyle": "思考スタイル",
      "region": "リージョン",
      "profile": "プロファイル",
      "extraHeaders": "追加ヘッダー",
      "extraBody": "追加ボディ",
      "extraQuery": "追加クエリ",
      "capabilityFastMode": "高速モード",
      "capabilityFastModeHelp": "OpenAI の優先サービス階層を使用して応答を高速化します。クレジットの消費も速くなります。",
      "capabilityDeepSeekSearch": "DeepSeek ウェブ検索",
      "capabilityDeepSeekSearchHelp": "DeepSeek V4 Flash が Responses API 経由でウェブを検索できるようにします。検索状況はチャットに表示されます。",
      "capabilityXSearch": "X 検索",
      "capabilityXSearchHelp": "対応する Grok モデルが xAI ホストの X Search を使用できるようにします。検索状況はチャットに表示されます。",
      "capabilityOpenAISearch": "OpenAI ウェブ検索",
      "capabilityOpenAISearchHelp": "Responses API 対応モデルがウェブを検索できるようにします。検索状況はチャットに表示されます。"
    },
    "image": {
      "selectProvider": "プロバイダーを選択",
      "selectAspect": "比率を選択",
      "selectSize": "サイズを選択",
      "selectModel": "画像モデルを選択",
      "searchOrTypeModel": "モデル ID を検索または入力",
      "typeModelId": "このプロバイダーが対応するモデル ID を入力してください。",
      "configureProvider": "プロバイダーを設定",
      "missingCredential": "画像生成を有効にする前に、このプロバイダーを設定してください。"
    },
    "capabilities": {
      "providerSupport": "プロバイダーサポート",
      "providerInstallOnSave": "このプロバイダーを保存すると、必要なサポートが自動的にインストールされます。",
      "searchSupport": "検索プロバイダーサポート",
      "searchInstallOnSave": "保存時に Olostep のサポートが自動的にインストールされます。",
      "installing": "サポートをインストール中..."
    },
    "models": {
      "selectModel": "モデルを選択",
      "addConfiguration": "設定を追加",
      "newConfiguration": "新しいモデル設定",
      "newConfigurationHelp": "プロバイダーとモデルをワンクリックの選択肢として保存します。",
      "configurationName": "設定名",
      "configurationNameHelp": "保存済みのモデル設定の名前を変更します。",
      "configurationNamePlaceholder": "高速執筆",
      "callOrder": "モデル呼び出し順序",
      "primary": "プライマリ",
      "fallbackNumber": "フォールバック {{number}}",
      "addToOrder": "プリセットを有効化",
      "newPreset": "新しいモデルプリセット",
      "newPresetHelp": "再利用できるモデルと生成設定を保存します。",
      "presets": "モデルプリセット",
      "editPreset": "プリセットを編集",
      "presetName": "プリセット名",
      "presetNameHelp": "画面と /model コマンドで使用します。名前は一意である必要があります。",
      "presetNameDuplicate": "同じ名前のプリセットがすでに存在します。",
      "presetNamePlaceholder": "高速執筆",
      "advancedOptions": "詳細オプション",
      "advancedSummary": "コンテキスト {{context}} · 最大 {{max}} トークン",
      "maxTokens": "最大出力トークン",
      "temperature": "温度",
      "reasoningEffort": "推論の強度",
      "convertTitle": "現在のモデル設定を変換",
      "convertHelp": "既存のプライマリモデルとフォールバックモデルをプリセットに変換し、ここで順序を管理できるようにします。",
      "converting": "変換中...",
      "convertAction": "プリセットに変換",
      "dragToReorder": "ドラッグして並べ替え",
      "moveUp": "上へ移動",
      "moveDown": "下へ移動",
      "removeFromOrder": "プリセットを無効化",
      "inCallOrder": "呼び出し順序に追加済み",
      "disabled": "無効",
      "noPresets": "モデルプリセットはまだありません",
      "noPresetsHelp": "プリセットを作成してから呼び出し順序に追加してください。",
      "removeBeforeDelete": "削除する前に、このプリセットを呼び出し順序から外してください。",
      "providerSetupRequired": "プロバイダーの設定が必要です",
      "configureProviderBeforeSaving": "プリセットを保存する前に、このプロバイダーを設定してください。",
      "deletePresetTitle": "モデルプリセットを削除しますか？",
      "deletePresetHelp": "プリセット「{{name}}」を削除します。プロバイダーの認証情報には影響しません。",
      "searchModels": "モデル ID を検索または入力",
      "useCustomModel": "使用",
      "loadingModels": "モデルを読み込んでいます...",
      "searchCatalog": "プロバイダーのカタログからモデルを選択します。",
      "modelsAvailable": "利用可能",
      "noModelResults": "一致するモデルはありません。",
      "loadFailed": "モデル一覧を利用できません。",
      "unsupportedModelList": "モデル ID を手動で入力してください。",
      "providerNotConfigured": "モデルを読み込む前にこのプロバイダーを設定してください。",
      "autoProviderCustomOnly": "自動プロバイダーモードではカスタムモデル ID を使用します。"
    },
    "timezone": {
      "select": "タイムゾーンを選択",
      "search": "タイムゾーンを検索",
      "empty": "一致するタイムゾーンはありません。"
    },
    "cliApps": {
      "allCategories": "すべてのカテゴリ",
      "availableCount": "{{count}} 個のアプリ",
      "installedCount": "{{count}} 個インストール済み",
      "summary": "{{total}} 個中 {{installed}} 個の CLI がインストール済み",
      "filterAll": "すべて",
      "filterInstalled": "インストール済み CLI",
      "filterNotInstalled": "未インストール",
      "searchPlaceholder": "CLI を検索",
      "statusInstalled": "インストール済み",
      "statusAvailable": "利用可能",
      "statusMissing": "依存関係が不足",
      "statusUnsupported": "未対応",
      "statusNotInstalled": "未インストール",
      "unsupported": "未対応",
      "loading": "CLI アプリを読み込み中...",
      "empty": "この条件に一致する CLI アプリはありません。",
      "readyTitle": "@{{name}} の準備ができました",
      "readyStatus": "準備完了",
      "readyPrompt": "@{{name}} を使って、この CLI でできることを確認します。",
      "readyTry": "@{{name}} を試す",
      "readyCopied": "コピーしました",
      "openChat": "チャットを開く",
      "requires": "必要条件",
      "test": "CLI をテスト",
      "update": "CLI を更新",
      "uninstall": "CLI をアンインストール",
      "install": "CLI をインストール",
      "unavailable": "利用不可",
      "noDescription": "説明はありません。"
    },
    "about": {
      "version": "バージョン",
      "checking": "確認中...",
      "checkForUpdates": "アップデートを確認",
      "upToDate": "最新の状態です",
      "updateAvailable": "アップデートがあります v{{version}}"
    },
    "mcp": {
      "allCategories": "すべてのカテゴリ",
      "summary": "{{total}} 個中 {{installed}} 個のプリセットが有効",
      "filterAll": "すべて",
      "filterInstalled": "有効",
      "filterNotInstalled": "未有効",
      "searchPlaceholder": "MCP プリセットを検索",
      "moreOptions": "MCP サーバーを追加",
      "moreOptionsSubtitle": "カスタム MCP サーバーを接続するか、既存の設定をインポートします。",
      "customTitle": "カスタム MCP",
      "customSubtitle": "任意の stdio、HTTP、SSE MCP サーバーを追加します。",
      "customAction": "カスタム",
      "importAction": "インポート",
      "serverName": "サーバー名",
      "serverUrl": "URL",
      "transport": "トランスポート",
      "authentication": "認証",
      "authNone": "なし",
      "authHeaders": "ヘッダー",
      "command": "コマンド",
      "args": "引数 JSON",
      "headers": "ヘッダー JSON",
      "oauthAfterSave": "サーバーを保存してから、［接続］を選択してサインインします。",
      "headersHelp": "このサーバーで使用するリクエストヘッダーを追加します。",
      "env": "環境変数 JSON",
      "timeout": "ツールのタイムアウト",
      "advancedOptions": "詳細オプション",
      "hideAdvanced": "詳細を隠す",
      "saveCustom": "MCP を保存",
      "configImport": "mcp.json をインポート",
      "importConfig": "インポート",
      "restartRequired": "更新された MCP ツールに接続するには nanobot を再起動してください。",
      "toolsFound": "{{count}} 個のツール",
      "loading": "MCP プリセットを読み込み中...",
      "empty": "この条件に一致する MCP プリセットはありません。",
      "openDocs": "ドキュメントを開く",
      "test": "テスト",
      "remove": "削除",
      "enable": "有効化",
      "enabled": "有効",
      "setup": "接続",
      "configure": "接続",
      "reconnect": "再接続",
      "connectTitle": "{{name}} に接続",
      "reconnectTitle": "{{name}} に再接続",
      "actionsTitle": "{{name}} の操作",
      "connectHint": "アカウント設定からキーを追加します。",
      "saveAndEnable": "保存して有効化",
      "updateSetup": "設定を更新",
      "configured": "設定済み",
      "keepExisting": "既存の値を維持するには空欄のままにします",
      "statusConfigured": "設定済み",
      "statusMissingCredentials": "キーが必要",
      "connectingAccount": "{{name}} に接続しています",
      "connectingLabel": "接続中…",
      "continueSignIn": "サインインを続ける",
      "preparingSignIn": "安全なサインインを準備しています…",
      "openSignInToContinue": "サインインページを開いて続行してください。",
      "finishSignInInBrowser": "ブラウザウィンドウでサインインを完了してください。",
      "manualCallbackRequired": "サインインを完了し、コールバック URL を nanobot に貼り付けてください。",
      "manualCallbackHelp": "アクセスを承認すると localhost ページは開きません。アドレスバーから完全な URL をコピーして、ここに貼り付けてください。",
      "finishingConnection": "接続を完了しています…",
      "activatingTools": "ツールを有効にしています…",
      "connected": "接続しました。",
      "connectionFailed": "接続に失敗しました。",
      "connectionCancelled": "接続をキャンセルしました。",
      "reloadFailed": "サインインしましたが、nanobot はツールに接続できませんでした。nanobot を再起動してください。",
      "oauthFailed": "接続できません。もう一度サインインしてください。",
      "statusMissingDependency": "依存関係が必要",
      "statusComingSoon": "近日公開",
      "comingSoon": "近日公開",
      "statusNotInstalled": "未有効",
      "manage": "管理",
      "manageTitle": "{{name}} を管理",
      "fixConnection": "接続を修復",
      "overviewTab": "概要",
      "connectionTab": "接続",
      "manageTabs": "MCP 管理",
      "about": "概要",
      "statusLabel": "状態",
      "transportLabel": "転送方式",
      "endpointLabel": "エンドポイント",
      "toolPreview": "ツール",
      "noToolsAvailable": "利用可能なツールはありません",
      "searchTools": "ツールを検索",
      "searchToolsPlaceholder": "ツールを検索",
      "selectedCount": "{{count}} 件有効",
      "noMatchingTools": "一致するツールはありません",
      "applyChanges": "変更を保存",
      "connectionDetails": "接続情報",
      "credentials": "認証情報",
      "none": "なし",
      "dangerZone": "接続を削除",
      "toolScope": "ツール",
      "allTools": "すべて有効化",
      "noTools": "すべて無効化",
      "reloadTools": "ツールを再読込",
      "presetDescriptions": {
        "browserbase": "Browserbase でクラウドブラウザーを自動操作します。",
        "playwright": "Playwright でローカルブラウザーを検査・自動操作します。",
        "context7": "最新のライブラリ資料とコード例を取得します。",
        "firecrawl": "Web コンテンツをクロール、検索、抽出します。",
        "parallel-search": "Web を検索して関連ページを読み込みます。",
        "exa": "Web を検索して整形済みのページ内容を抽出します。",
        "microsoft-learn": "Microsoft Learn の資料を検索・閲覧します。",
        "aws-docs": "AWS の資料とサービスガイドを検索します。",
        "brave-search": "Brave Search で Web、ニュース、画像、動画、ローカル情報を検索します。",
        "postman": "Postman の API、コレクション、ワークスペースを確認・管理します。",
        "figma": "ローカルの Dev Mode MCP から Figma のデザイン情報を読み込みます。",
        "xmind": "Xmind のクラウドマインドマップを作成、閲覧、編集します。",
        "notion": "Notion ワークスペースを閲覧・更新します。",
        "linear": "Linear の課題、プロジェクト、コメントを検索・管理します。",
        "github": "GitHub のリポジトリ、Issue、Pull Request を管理します。",
        "supabase": "Supabase プロジェクトを確認・管理します。"
      }
    },
    "api": {
      "title": "API サーバー", "openaiCompatible": "OpenAI 互換 API", "description": "ローカルの /v1 エンドポイントから SDK やエージェントを接続します。",
      "start": "API サーバーを起動", "starting": "起動中...", "stop": "停止", "stopping": "停止中...",
      "access": "アクセス", "thisDevice": "このデバイス", "localNetwork": "ローカルネットワーク",
      "localHelp": "このデバイスだけが接続できます。", "networkHelp": "他のデバイスも接続できるため API キーが必要です。",
      "port": "ポート", "portHelp": "API が使用するローカルポートです。", "apiKey": "API キー", "apiKeyHelp": "クライアントは Bearer トークンとして送信します。",
      "apiKeyRequired": "ネットワークに公開する前に必要です。", "apiKeyPlaceholder": "API キーを入力",
      "autoInstall": "起動時に API サポートを自動インストールします。"
    },
    "observability": {
      "title": "可観測性", "configured": "nanobot がトレース認証情報を利用できます。",
      "environment": "LANGFUSE_SECRET_KEY と LANGFUSE_PUBLIC_KEY を設定して nanobot を再起動してください。", "enable": "トレースサポートを有効化"
    },
    "legal": {
      "thirdPartyBrands": "製品名、ロゴ、ブランドはそれぞれの所有者に帰属します。使用は識別のみを目的とし、承認を意味するものではありません。"
    },
    "apps": {
      "description": "nanobot にツールを追加し、チャットで @ を付けて使用できます。",
      "cliLabel": "アプリ",
      "mcpLabel": "MCP",
      "channelLabel": "チャンネル",
      "featureLabel": "機能",
      "filterAll": "使用可能",
      "filterPlugins": "プラグイン",
      "filterCli": "アプリ",
      "filterMcp": "MCP",
      "enabledSummary": "{{count}} 件使用可能",
      "caption": "アプリ {{cli}} 件 · MCP ツール {{mcp}} 件",
      "searchPlaceholder": "アプリを検索",
      "featured": "ツール",
      "mcpTools": "MCP ツール",
      "loading": "アプリを読み込み中...",
      "empty": "検索条件に一致するツールはありません。",
      "emptyApps": "利用できるアプリはありません。",
      "emptyIntegrations": "利用できる MCP ツールはありません。",
      "emptyReady": "使用可能なツールはまだありません。",
      "clearSearch": "検索をクリア",
      "browseApps": "アプリを見る",
      "browseIntegrations": "MCP ツールを見る",
      "emptyIntegrationsHint": "下からカスタム MCP サーバーを追加できます。",
      "restartRequired": "更新したアプリと MCP ツールを反映するには nanobot を再起動してください。"
    },
    "channels": {
      "description": "nanobot をチャットアプリに接続します。サポートのインストールは統合パッケージを追加するだけで、多くのチャンネルでは引き続きトークンやワークスペース設定が必要です。",
      "caption": "{{enabled}} 件有効 · 全 {{total}} チャンネル",
      "searchPlaceholder": "チャンネルを検索",
      "backToChannels": "すべてのチャンネル",
      "catalog": "チャンネル",
      "loading": "チャンネルを読み込み中...",
      "empty": "一致するチャンネルはありません。",
      "restartRequired": "更新したチャンネルサポートを反映するには nanobot を再起動してください。",
      "requires": "必要: {{requirements}}",
      "setUp": "設定",
      "setupGuide": "設定ガイド",
      "setupSummary": "有効化は nanobot 側のサポートをオンにするだけです。プラットフォームの認証情報を追加してから nanobot を再起動してください。",
      "configKeys": "設定キー",
      "enable": "チャンネルを有効化",
      "disable": "チャンネルを無効化",
      "needsConfig": "設定が必要",
      "connect": "接続",
      "reconnect": "再接続",
      "advanced": "詳細設定",
      "checkAndEnable": "確認して有効化",
      "checkConnection": "接続を確認",
      "connectionChecks": "接続チェック",
      "open": "開く",
      "checkedAndEnabled": "確認して有効化しました。",
      "checking": "確認中...",
      "checkOnly": "確認のみ",
      "commandCopied": "コマンドをコピーしました。",
      "commandCopyFailed": "コマンドをコピーできませんでした。",
      "configuredInstances": "{{count}} 個のインスタンスを設定済み",
      "connectPreview": "次の手順でブラウザー内接続を行います。今は下のコマンドを実行してください。",
      "copyCommand": "コマンドをコピー",
      "filterAll": "すべて",
      "filterOff": "オフ",
      "filterOn": "オン",
      "helperCopied": "{{name}} をコピーしました。",
      "helperCopyFailed": "{{name}} をコピーできませんでした。",
      "hideSecret": "シークレットを隠す",
      "instanceConfigured": "設定済み",
      "instanceNeedsSetup": "設定が必要",
      "runtimeFailed": "起動失敗",
      "runtimeStarting": "起動中",
      "runtimeStopped": "未実行",
      "managedByWebui": "WebUI で管理",
      "officialGuide": "公式ガイド",
      "optional": "任意",
      "providerPreset": "プロバイダー",
      "requiredSetup": "必要な設定",
      "savedSecret": "保存済み",
      "savedSecretPlaceholder": "保存済みのシークレット",
      "savedSettings": "設定を保存しました。",
      "saveSettings": "設定を保存",
      "selectChannel": "{{name}} の設定を表示",
      "setupSteps": "次の手順",
      "showSecret": "シークレットを表示",
      "toggleChannel": "{{name}} チャンネル",
      "toggleInstance": "{{name}} インスタンス",
      "tryIt": "試してみる",
      "validationFailed": "有効化する前に必要な設定を確認してください。",
      "validation": {
        "connected": "接続済み",
        "configured": "手動設定済み",
        "needs_setup": "設定が必要",
        "invalid": "無効",
        "unsupported": "手動設定"
      }
    },
    "nanobotFeatures": {
      "enabled": "有効",
      "enable": "有効化",
      "disable": "無効化",
      "ready": "準備完了",
      "missingDependency": "サポート不足",
      "installSupport": "サポートをインストール",
      "installConfirmTitle": "{{name}} のサポートをインストールしますか？",
      "installConfirmDescription": "nanobot が {{name}} に必要なものを追加し、その後有効化します。続けますか？",
      "installConfirmAction": "インストールして有効化",
      "websocketRequired": "WebUI に必須",
      "channelDisabled": "チャンネルは無効",
      "notEnabled": "未有効"
    },
    "automations": {
      "filters": {
        "all": "すべて",
        "active": "実行中",
        "paused": "一時停止",
        "failed": "要対応",
        "system": "システム"
      },
      "sort": {
        "next": "次回実行",
        "last": "前回実行",
        "updated": "更新日時",
        "name": "名前"
      },
      "search": "タスク、メッセージ、関連チャット、予定を検索",
      "queue": "キュー",
      "loading": "自動タスクを読み込み中...",
      "noMatches": "この表示に一致する自動タスクはありません。",
      "empty": "自動タスクはまだありません。",
      "emptyHint": "正しいコンテキストを保持するには、チャットで自動化を作成してください。",
      "emptyAction": "チャットを開く",
      "clearFilters": "フィルターをクリア",
      "oneShot": "一回限り",
      "systemTask": "システム管理の自動タスク",
      "localTrigger": "ローカルトリガー",
      "labels": {
        "schedule": "スケジュール",
        "next": "次回",
        "origin": "関連チャット",
        "created": "作成",
        "updated": "更新"
      },
      "runNow": "今すぐ実行",
      "pause": "一時停止",
      "resume": "再開",
      "edit": "編集",
      "delete": "削除",
      "protected": "保護済み",
      "editTitle": "自動タスクを編集",
      "save": "保存",
      "commandCopied": "コピーしました",
      "copyCommand": "コピー",
      "deleteTitle": "自動タスクを削除",
      "deleteDescription": "{{name}} を cron ストアから削除します。過去のチャットメッセージはセッションに残ります。",
      "cancel": "キャンセル",
      "status": {
        "system": "システム",
        "running": "実行中",
        "paused": "一時停止",
        "failed": "失敗",
        "completed": "完了",
        "noSchedule": "スケジュールなし",
        "active": "実行中"
      },
      "origin": {
        "system": "システム",
        "unknown": "関連チャットなし"
      },
      "channels": {
        "api": "API",
        "cli": "CLI",
        "dingtalk": "DingTalk",
        "discord": "Discord",
        "email": "Email",
        "feishu": "Feishu",
        "matrix": "Matrix",
        "msteams": "Microsoft Teams",
        "qq": "QQ",
        "slack": "Slack",
        "telegram": "Telegram",
        "wechat": "WeChat",
        "wecom": "WeCom",
        "weixin": "WeChat",
        "whatsapp": "WhatsApp"
      },
      "schedule": {
        "at": "{{time}}",
        "every": "{{duration}} ごと",
        "cron": "Cron {{expr}}",
        "cronWithTz": "Cron {{expr}} · {{tz}}",
        "withTz": "{{summary}} · {{tz}}",
        "dailyAt": "毎日 {{time}}",
        "weekdaysAt": "平日 {{time}}",
        "hourlyAt": "毎時 :{{minute}}",
        "hourlyWindow": "{{start}}-{{end}} の毎時 :{{minute}}",
        "local": "ローカルトリガー",
        "custom": "カスタムスケジュール"
      },
      "next": {
        "paused": "一時停止",
        "pending": "実行中",
        "local": "トリガー待ち",
        "none": "次回実行なし"
      },
      "message": {
        "showMore": "メッセージ全文を表示",
        "showLess": "折りたたむ"
      },
      "fields": {
        "name": "名前",
        "message": "メッセージ",
        "command": "コマンド",
        "scheduleType": "スケジュール種別",
        "every": "間隔",
        "unit": "単位",
        "cronExpression": "Cron 式",
        "timezone": "タイムゾーン",
        "runAt": "実行日時"
      },
      "scheduleTypes": {
        "every": "間隔",
        "cron": "Cron",
        "at": "一回限り"
      },
      "everyUnits": {
        "second": "秒",
        "minute": "分",
        "hour": "時間",
        "day": "日"
      },
      "validation": {
        "nameRequired": "名前は必須です。",
        "messageRequired": "メッセージは必須です。",
        "intervalRequired": "間隔は正の数で指定してください。",
        "cronRequired": "Cron 式は必須です。",
        "timeRequired": "実行日時は必須です。",
        "futureRequired": "実行日時は現在より後にしてください。"
      }
    },
    "oauth": {
      "authentication": "OAuth 認証",
      "signIn": "サインイン",
      "signingIn": "サインイン中...",
      "signInAgain": "再度サインイン",
      "signOut": "サインアウト",
      "signedInAs": "{{account}} としてサインイン済み",
      "signInHelp": "このデバイスからサインインします。API キーは設定に保存されません。",
      "remoteSignInHelp": "「サインイン」を選択して自分のコンピューターで xAI を開き、サインイン後に表示される認証コードを貼り付けてください。",
      "codexRemoteSignInHelp": "このブラウザーでサインインし、localhost の完全なコールバック URL を nanobot に貼り付けてください。",
      "signInRequired": "サインインが必要です",
      "signInBeforeSaving": "プリセットを保存する前に、このプロバイダーへサインインしてください。",
      "signedIn": "サインイン済み",
      "notSignedIn": "未サインイン",
      "proxyLabel": "ネットワークプロキシ",
      "proxySaveBeforeSignIn": "サインイン前にプロキシの変更を保存してください。",
      "saveProxy": "プロキシを保存",
      "localCodeHelp": "ブラウザーでサインインを完了してください。通常は nanobot が自動で完了します。完了しない場合は、認証コードを下に貼り付けてください。",
      "remoteCodeHelp": "「サインイン」を選択して自分のコンピューターで xAI を開いてください。サインイン後、xAI に表示された認証コードを下に貼り付けてください。",
      "localCallbackHelp": "ブラウザーでサインインを完了してください。通常は nanobot が自動で完了します。完了しない場合は、アドレスバーから localhost の完全なコールバック URL をコピーして下に貼り付けてください。",
      "remoteCallbackHelp": "このブラウザーで ChatGPT を開いてサインインを完了してください。localhost ページを開けない場合は、アドレスバーの完全な URL をコピーして下に貼り付けてください。",
      "authorizationCode": "認証コード",
      "callbackUrl": "完全なコールバック URL",
      "callbackUrlPlaceholder": "http://localhost:1455/auth/callback?code=…&state=…",
      "openChatGPT": "ChatGPT を開く",
      "pasteCallbackToContinue": "続行するにはコールバック URL を貼り付けてください。",
      "waitingForCallback": "ブラウザーのコールバックを待機中…",
      "finishSignIn": "サインインを完了"
    },
    "skills": {
      "description": "このエージェントが会話中に読み込める指示スキルを確認します。",
      "caption": "{{available}} 利用可能 · 合計 {{total}}",
      "views": "スキル表示",
      "installedTab": "インストール済み",
      "discoverTab": "見つける",
      "customGroup": "カスタム",
      "builtinGroup": "組み込み",
      "otherGroup": "その他",
      "searchInstalled": "インストール済みスキルを検索",
      "filterAll": "すべて",
      "filterEnabled": "有効",
      "filterDisabled": "無効",
      "noMatching": "一致するスキルがありません。",
      "statusDisabled": "無効",
      "statusEnabled": "有効",
      "statusNeedsSetup": "セットアップが必要",
      "showLess": "折りたたむ",
      "showMore": "さらに表示",
      "enabledControl": "このスキルを使用",
      "enabledDescription": "必要条件が満たされている場合、エージェントがこのスキルを読み込めるようにします。",
      "enableSkill": "{{name}} を有効にする",
      "disableSkill": "{{name}} を無効にする",
      "updateFailed": "このスキルを更新できませんでした。",
      "deleteTitle": "スキルを削除",
      "deleteDescription": "現在のワークスペースからこのスキルを削除します。",
      "deleteAction": "削除",
      "deleteFailed": "このスキルを削除できませんでした。",
      "deleteConfirmTitle": "{{name}} を削除しますか？",
      "deleteConfirmDescription": "現在のワークスペースからスキルファイルを削除します。この操作は元に戻せません。",
      "deleteConfirmAction": "スキルを削除",
      "instructionsTitle": "スキルの説明",
      "setupRequired": "セットアップが必要",
      "setupDescription": "nanobot を実行しているマシンに不足している依存関係をインストールしてから、再確認してください。",
      "copySetupCommand": "セットアップコマンドをコピー",
      "checkAgain": "再確認",
      "marketplaceSearchFailed": "スキルマーケットを検索できませんでした。",
      "marketplaceInstallFailed": "このスキルをインストールできませんでした。",
      "marketplaceSearchPlaceholder": "スキルを検索",
      "marketplaceSearchLabel": "スキルを検索",
      "marketplaceSearching": "検索中",
      "marketplaceProviderFilter": "スキルの提供元",
      "marketplaceProviderAll": "すべて",
      "marketplaceTrendingTitle": "マーケット別トレンド",
      "marketplaceTrendingDescription": "各マーケットのランキングとインストール指標を個別に表示します。",
      "marketplaceViewAll": "すべて表示",
      "marketplaceTrendingUnavailable": "トレンドスキルを一時的に取得できません。",
      "marketplaceEmpty": "「{{query}}」に一致するスキルはありません。",
      "marketplaceConfirmTitle": "{{name}} をインストールしますか？",
      "marketplaceConfirmDescription": "このサードパーティ製スキルは {{provider}}（{{source}}）から提供され、指示や実行可能なスクリプトを含む場合があります。",
      "marketplaceConfirmInstall": "スキルをインストール",
      "marketplaceOpen": "{{provider}} で {{name}} を開く",
      "marketplaceOpenProvider": "{{provider}} を開く",
      "marketplaceInstalls24h": "24時間で {{formattedCount}} 回インストール",
      "marketplaceInstalls": "{{formattedCount}} 回インストール",
      "marketplaceNpxRequired": "npx を含む Node.js が必要です",
      "marketplaceInstalling": "インストール中",
      "marketplaceInstalled": "インストール済み",
      "marketplaceInstall": "インストール",
      "marketplaceNoTrend": "トレンドなし",
      "marketplaceTrendLabel": "8週間のインストール推移",
      "featured": "エージェントスキル",
      "empty": "利用可能なスキルはありません。",
      "sourceWorkspace": "カスタム",
      "sourceBuiltin": "組み込み",
      "statusAvailable": "利用可能",
      "statusUnavailable": "利用不可",
      "unavailableReason": "不足: {{reason}}",
      "openDetails": "{{name}} の詳細を開く",
      "loadingDetail": "スキル詳細を読み込み中...",
      "loadFailed": "スキル詳細を読み込めませんでした。",
      "descriptionTitle": "説明",
      "source": "ソース",
      "status": "状態",
      "requirements": "要件",
      "noRequirements": "明示的な要件はありません。",
      "commands": "コマンド",
      "environment": "環境変数",
      "missingCommands": "CLI 不足",
      "missingEnvironment": "ENV 不足",
      "unavailableReasonLabel": "利用不可の理由",
      "rawInstructions": "元の SKILL.md",
      "rawInstructionsEmpty": "元の説明はありません。",
      "detailDescription": "{{name}} の詳細。"
    },
    "voice": {
      "selectProvider": "プロバイダーを選択",
      "configureProvider": "プロバイダーを設定",
      "languageAuto": "自動"
    }
  },
  "chat": {
    "fallbackTitle": "トピック {{id}}",
    "forkTitle": "分岐：{{title}}",
    "loading": "読み込み中…",
    "noSessions": "まだセッションがありません。",
    "showMore": "さらに {{count}} 件表示",
    "collapsed": "{{count}} 件のトピックを折りたたみ中",
    "showLess": "折りたたむ",
    "actions": "「{{title}}」のトピック操作",
    "newInProject": "「{{project}}」で新しいトピックを開始",
    "activity": {
      "running": "エージェント実行中",
      "complete": "エージェント完了",
      "updated": "新しいアクティビティ"
    },
    "pin": "ピン留め",
    "unpin": "ピン留めを解除",
    "rename": "名前を変更",
    "renameTitle": "トピック名を変更",
    "renameDescription": "このトピックのサイドバー表示名を選択します。",
    "renamePlaceholder": "トピック名",
    "renameProjectTitle": "プロジェクト名を変更",
    "renameProjectDescription": "このプロジェクトのサイドバー表示名を選択します。",
    "renameProjectPlaceholder": "プロジェクト名",
    "renameSave": "保存",
    "archive": "アーカイブ",
    "unarchive": "アーカイブを解除",
    "showArchived": "アーカイブ済みを表示",
    "hideArchived": "アーカイブ済みを隠す",
    "select": "選択",
    "cancelSelection": "選択を解除",
    "selectedCount": "{{count}} 件を選択中",
    "deleteSelected": "削除",
    "delete": "削除",
    "newChat": "新しいトピック",
    "groups": {
      "pinned": "ピン留め",
      "all": "トピック",
      "projects": "プロジェクト",
      "today": "今日",
      "yesterday": "昨日",
      "earlier": "以前",
      "archived": "アーカイブ済み"
    }
  },
  "deleteConfirm": {
    "title": "このチャットを削除しますか？",
    "titleMany": "{{count}} 件の会話を削除しますか？",
    "description": "この操作は元に戻せません。",
    "descriptionMany": "この操作は元に戻せません。",
    "cancel": "キャンセル",
    "confirm": "削除",
    "automationsDescription": "このチャットにはスケジュール済みの自動タスクがあります。削除するとそれらも削除されます。",
    "automationsDescriptionMany": "関連する自動タスクも削除されます。",
    "moreAutomations": "他 {{count}} 件",
    "confirmWithAutomations": "削除",
    "schedule": {
      "at": "{{time}}",
      "every": "{{duration}} ごと",
      "cron": "Cron {{expr}}",
      "cronWithTz": "Cron {{expr}} · {{tz}}",
      "local": "ローカルトリガー",
      "unknown": "カスタムスケジュール"
    },
    "next": {
      "label": "次回: {{time}}",
      "disabled": "一時停止中",
      "local": "トリガー待ち",
      "none": "次回実行なし"
    }
  },
  "connection": {
    "idle": "待機中",
    "connecting": "接続中…",
    "open": "接続済み",
    "reconnecting": "再接続中…",
    "closed": "切断済み",
    "error": "接続エラー"
  },
  "thread": {
    "loadingConversation": "会話を読み込み中…",
    "empty": {
      "greetings": {
        "workOn": "一緒に何に取り組みましょうか？",
        "start": "今日はどこから始めましょう？",
        "build": "今日は何を作りましょうか？",
        "tackle": "一緒に何を解決しましょう？"
      },
      "quickActions": {
        "plan": {
          "title": "プロジェクト計画を作成",
          "prompt": "次に作るものについて、簡潔なプロジェクト計画を作成してください。"
        },
        "analyze": {
          "title": "このデータを分析",
          "prompt": "このデータを分析し、最も重要なパターンを指摘してください。"
        },
        "brainstorm": {
          "title": "アイデアを出す",
          "prompt": "この問題について、実用的なアイデアとトレードオフをいくつか出してください。"
        },
        "code": {
          "title": "コードを書く",
          "prompt": "このタスクのコードを書くのを手伝ってください。まず最小限の有用な変更から始めてください。"
        },
        "summarize": {
          "title": "この文書を要約",
          "prompt": "この文書を要約し、重要なポイントを列挙してください。"
        },
        "more": {
          "title": "その他",
          "prompt": "このワークスペースであなたが手伝える便利な方法をいくつか見せてください。"
        }
      },
      "imageQuickActions": {
        "icon": {
          "title": "アプリアイコンを作る",
          "prompt": "nanobot のクリーンな 1:1 アプリアイコンを生成してください。親しみやすいロボット、シンプルなベクター風、柔らかい青と白の配色、文字なし。"
        },
        "sticker": {
          "title": "ステッカーを作る",
          "prompt": "小さなロボットアシスタントのかわいいステッカー風画像を生成してください。透明風の背景で、表情豊かで遊び心のある雰囲気。"
        },
        "poster": {
          "title": "ポスターを作る",
          "prompt": "個人向け AI アシスタントの洗練されたポスター案を生成してください。モダンな構図、強い視覚階層、ランディングページ向け。"
        },
        "product": {
          "title": "製品モックアップ",
          "prompt": "会話型 AI Web アプリのクリーンな製品モックアップ画像を生成してください。ミニマルな UI、上質なライティング、リアルなデバイスフレーム。"
        },
        "portrait": {
          "title": "スタイル付きポートレート",
          "prompt": "親しみやすい AI コンパニオンのスタイル付きポートレートを生成してください。柔らかい光、細部は豊かで近づきやすい、モダンなイラスト風。"
        },
        "edit": {
          "title": "画像を編集",
          "prompt": "画像編集を手伝ってください。まず編集する画像のアップロードまたは指定を求め、その後に編集後の結果を生成してください。"
        }
      }
    },
    "header": {
      "toggleSidebar": "サイドバーを切り替える",
      "newChat": "新しいトピックを開始",
      "toggleTheme": "ヘッダーからテーマを切り替える",
      "settings": "設定を開く",
      "sessionInfo": "セッション詳細"
    },
    "sessionInfo": {
      "title": "セッション",
      "untitled": "無題のトピック",
      "automations": "自動タスク",
      "count": "{{count}}",
      "loading": "自動タスクを読み込み中...",
      "loadFailed": "自動タスクを読み込めませんでした。",
      "empty": "このセッションにはまだ自動タスクがありません。",
      "disabled": "オフ",
      "schedule": {
        "at": "{{time}}",
        "every": "{{duration}}ごと",
        "cron": "Cron {{expr}}",
        "cronWithTz": "Cron {{expr}} · {{tz}}",
        "local": "ローカルトリガー",
        "unknown": "カスタムスケジュール"
      },
      "next": {
        "label": "次回 {{time}}",
        "pending": "まもなく実行",
        "disabled": "一時停止",
        "local": "トリガー待ち",
        "none": "次回実行なし"
      }
    },
    "composer": {
      "placeholderThread": "メッセージを入力…",
      "placeholderHero": "何を考えていますか？",
      "placeholderOpening": "新しいトピックを開いています…",
      "placeholderStreaming": "モデルが応答しています…",
      "inputAria": "メッセージ入力欄",
      "sendHint": "Enter で送信 · Shift+Enter で改行",
      "runRuntimeTitle": "実行中 · {{elapsed}}",
      "goalStateStrip": "目標 · {{label}}",
      "goalStateFallback": "目標",
      "goalStateExpandAria": "目標の全文を表示",
      "goalStateSheetTitle": "目標",
      "goalStateCloseAria": "目標を閉じる",
      "send": "メッセージを送信",
      "stop": "応答を停止",
      "quotedContext": "引用したコンテキスト",
      "removeQuotedContext": "引用したコンテキストを削除",
      "modelNotConfigured": "モデルが未設定です",
      "configureModel": "モデルを設定",
      "queued": {
        "label": "保留中のガイド",
        "guide": "ガイド",
        "delete": "ガイドを削除",
        "edit": "ガイドを編集",
        "drag": "ドラッグして並べ替え"
      },
      "attachImage": "ファイルを添付",
      "imageMode": {
        "label": "画像生成",
        "toggle": "画像生成モードを切り替え",
        "placeholder": "画像を説明または編集…",
        "aspectAria": "画像のアスペクト比",
        "aspectLabel": "画像の比率",
        "aspect": {
          "auto": "自動",
          "1_1": "正方形 1:1",
          "3_4": "縦長 3:4",
          "9_16": "ストーリー 9:16",
          "4_3": "横長 4:3",
          "16_9": "ワイド 16:9"
        }
      },
      "tools": {
        "search": "検索",
        "reason": "推論",
        "deepResearch": "詳細調査",
        "voice": "音声入力"
      },
      "voice": {
        "hint": "クリックして音声入力、または長押し",
        "stop": "録音を停止",
        "transcribing": "文字起こし中...",
        "recordingStatus": "録音中 {{time}}"
      },
      "voiceErrors": {
        "insecureContext": "セキュリティ上、Chrome などのブラウザーはリモートの HTTP ページからのマイクアクセスをブロックします。音声入力を使用するには、この WebUI を HTTPS で開いてください。",
        "unsupported": "このブラウザーは音声入力に対応していません。",
        "permission": "アドレスバーでマイクを許可してから再試行してください。",
        "notConfigured": "先に文字起こしプロバイダーを設定してください。",
        "tooLong": "録音が長すぎます。",
        "tooShort": "もう少し長く録音してください。",
        "noInput": "マイク入力が検出されませんでした。",
        "noDevice": "マイクが見つかりません。接続して再試行してください。",
        "failed": "音声を文字起こしできませんでした。"
      },
      "slash": {
        "ariaLabel": "スラッシュコマンド",
        "label": "コマンド",
        "navigateHint": "↑↓ 選択",
        "selectHint": "Enter/Tab 入力",
        "closeHint": "Esc 閉じる",
        "commands": {
          "new": {
            "title": "新しいチャット",
            "description": "このチャットをリセットして、新しい会話を開始します。"
          },
          "stop": {
            "title": "現在のタスクを停止",
            "description": "このチャットで実行中のエージェントのターンをキャンセルします。"
          },
          "restart": {
            "title": "nanobot を再起動",
            "description": "bot プロセスをその場で再起動します。"
          },
          "status": {
            "title": "ステータスを表示",
            "description": "ランタイム、プロバイダー、チャンネルの状態を表示します。"
          },
          "model": {
            "title": "モデル",
            "description": "有効なモデルプリセットを表示または切り替えます。"
          },
          "history": {
            "title": "会話履歴を表示",
            "description": "保存済みの直近 N 件の会話メッセージを表示します。"
          },
          "dream": {
            "title": "Dream を実行",
            "description": "メモリ統合を手動で開始します。"
          },
          "dream_log": {
            "title": "Dream ログを表示",
            "description": "直近の Dream 統合で変更された内容を表示します。"
          },
          "dream_restore": {
            "title": "メモリを復元",
            "description": "以前の Dream スナップショットへメモリを戻します。"
          },
          "dream_prompt": {
            "title": "Dream の記憶",
            "description": "このワークスペースの記憶を Dream がどう整理するかを設定します。"
          },
          "goal": {
            "title": "長期目標",
            "description": "持続的な複数ステップの目標として扱うようエージェントに伝えます。"
          },
          "trigger": {
            "title": "ローカルトリガーを作成",
            "description": "このチャットセッションに紐づく CLI トリガーを作成します。"
          },
          "help": {
            "title": "ヘルプを表示",
            "description": "利用可能なスラッシュコマンドを一覧表示します。"
          },
          "pairing": {
            "title": "ペアリング",
            "description": "ペアリングリクエストを管理します。"
          }
        },
        "badges": {
          "current": "現在",
          "recent": "最近"
        },
        "details": {
          "goalActive": "目標が実行中",
          "goalReady": "継続的な目標を開始",
          "history": "最近のメッセージを表示",
          "stopRunning": "実行中"
        }
      },
      "encoding": "処理中…",
      "remove": "添付を削除",
      "normalizedSizeHint": "{{orig}} → {{current}}（自動圧縮）",
      "textTooLarge": "メッセージ本文が大きすぎます（最大 {{max}}）",
      "imageRejected": {
        "unsupported_type": "対応していないファイル形式です",
        "empty_file": "空のファイルは添付できません",
        "too_many_attachments": "1 メッセージにつき最大 {{max}} 件までです",
        "too_many_images": "1 メッセージにつき最大 {{max}} 枚です",
        "magic_mismatch": "画像ファイルではないようです",
        "decode_failed": "この画像をデコードできません",
        "too_large": "ファイルが大きすぎます。小さいものを選んでください",
        "total_too_large": "添付ファイルの合計サイズが大きすぎます。いくつか削除するか、より小さいファイルを使用してください",
        "transport_too_large": "この添付ファイルはゲートウェイの転送上限を超えます",
        "io": "このファイルを読み込めません"
      },
      "mentions": {
        "ariaLabel": "メンション",
        "label": "アプリ",
        "cliGroup": "CLI アプリ",
        "mcpGroup": "MCP サービス",
        "sessionGroup": "Nanobot の会話",
        "cliBadge": "CLI",
        "mcpBadge": "MCP",
        "cliDescription": "@{{name}} をローカル CLI アプリとして使用",
        "mcpDescription": "@{{name}} を MCP サーバーとして使用",
        "cliTitle": "CLI アプリ: {{name}}",
        "mcpTitle": "MCP サーバー: {{name}}",
        "sessionBadge": "Nanobot の会話",
        "sessionDescription": "@{{name}} を過去のチャットとして参照"
      },
      "workspace": {
        "accessAria": "ワークスペースのアクセスモード",
        "projectAria": "プロジェクトを選択",
        "projectPlaceholder": "プロジェクトを選択",
        "default": "既定の権限",
        "defaultShort": "既定",
        "full": "フルアクセス",
        "fullShort": "フル"
      }
    },
    "scrollToBottom": "一番下へスクロール",
    "loadEarlier": "以前のメッセージを読み込む",
    "forkedFromHistory": "履歴から分岐",
    "promptNavigator": {
      "open": "プロンプトナビゲーターを開く",
      "title": "プロンプト",
      "search": "プロンプトを検索",
      "noResults": "一致するプロンプトがありません。",
      "jumpTo": "プロンプトへ移動: {{label}}",
      "railAria": "ユーザープロンプトのナビゲーション"
    }
  },
  "message": {
    "streaming": "生成中",
    "delivery": {
      "sending": "送信中…",
      "failed": "未送信"
    },
    "assistantTyping": "アシスタントが入力中",
    "toolSingle": "ツールを使用中",
    "toolMany": "{{count}} 個のツールを使用",
    "toolSummary": "{{count}} 個のツール",
    "toolSummaryMany": "{{count}} 個のツール",
    "reasoningTools": "思考 · {{count}} 個のツール",
    "reasoningToolsSingular": "思考 · 1 個のツール",
    "reasoning": "思考",
    "reasoningStreaming": "思考中…",
    "reasoningSummary": "思考",
    "agentActivitySummary": "{{reasoning}} ステップ · ツール呼び出し {{tools}} 回",
    "agentActivityToolsOnly": "ツール呼び出し {{tools}} 回",
    "agentActivityLiveSummary": "実行中… · {{reasoning}} ステップ · ツール呼び出し {{tools}} 回",
    "agentActivityLiveToolsOnly": "実行中… · ツール呼び出し {{tools}} 回",
    "imageAttachment": "画像の添付",
    "videoAttachment": "動画の添付",
    "fileAttachment": "ファイルの添付",
    "attachmentUnavailable": "添付ファイルを利用できません",
    "dataTable": "データテーブル",
    "fileEditPreparing": "ファイル編集を準備中…",
    "openLink": "リンクを開く: {{label}}",
    "openAttachment": "開く: {{name}}",
    "skill": "スキル: {{name}}",
    "askAboutSelection": "この内容について質問",
    "forkFromHere": "分岐",
    "copyReply": "コピー",
    "copiedReply": "コピー済み",
    "turnLatencyTitle": "応答時間（全行程）",
    "fileEditViewDiff": "差分を表示",
    "fileEditViewLargeDiff": "大きな差分を表示",
    "fileEditDiffLineCount": "{{count}} 行",
    "fileEditUnchangedLinesHidden": "未変更の {{count}} 行を非表示",
    "fileEditShowMoreLines": "さらに {{count}} 行を表示",
    "fileEditShowFewerLines": "表示行数を減らす",
    "fileEditOpenFile": "ファイルを開く",
    "fileEditDiffTruncated": "差分は切り詰められました。完全な変更はファイルを開いて確認してください。",
    "activityThinkingFor": "{{duration}}考えています",
    "activityThought": "思考しました",
    "activityThoughtFor": "{{duration}}考えました",
    "activityWorkingFor": "{{duration}}作業中",
    "activityWorked": "作業しました",
    "activityWorkedFor": "{{duration}}作業しました",
    "cliActivityRunningOne": "{{name}} を使用中",
    "cliActivityRanOne": "{{name}} を使用しました",
    "cliActivityFailedOne": "{{name}} が失敗しました",
    "cliActivityRunningMany": "{{count}} 個の CLI アプリを使用中",
    "cliActivityRanMany": "{{count}} 個の CLI アプリを使用しました",
    "cliActivityFailedMany": "{{count}} 個の CLI アプリが失敗しました",
    "cliRunRunning": "使用中",
    "cliRunRan": "使用済み",
    "cliRunFailed": "失敗",
    "automationSourceFallback": "自動化",
    "automationTriggered": "自動実行"
  },
  "lightbox": {
    "title": "画像プレビュー",
    "open": "画像を表示",
    "prev": "前の画像",
    "next": "次の画像",
    "close": "プレビューを閉じる"
  },
  "filePreview": {
    "aria": "ファイルプレビュー",
    "breadcrumb": "ファイルパス",
    "close": "ファイルプレビューを閉じる",
    "loading": "プレビューを読み込み中...",
    "failed": "このファイルをプレビューできませんでした。",
    "routeMissing": "ファイルプレビューには最新の gateway が必要です。nanobot gateway を再起動してから再試行してください。",
    "resize": "ファイルプレビューの幅を変更",
    "truncated": "ファイルが大きいため、プレビューは途中まで表示されています。"
  },
  "code": {
    "fallbackLanguage": "コード",
    "copyAria": "コードをコピー",
    "copy": "コピー",
    "copied": "コピーしました"
  },
  "workbench": {
    "aria": "会話ワークベンチ",
    "panes": "ペイン",
    "tabAria": "グループ：{{title}}",
    "panesInTab": "{{title}} のペイン",
    "collapseTabGroup": "{{title}} のペインを折りたたむ",
    "expandTabGroup": "{{title}} のペインを展開する",
    "dropPane": "{{pane}} を {{tab}} に移動",
    "createGroup": "グループを作成",
    "moveTo": "移動先",
    "renameGroupTitle": "グループ名を変更",
    "renameGroupDescription": "このグループに名前を付けます。",
    "renameGroupPlaceholder": "グループ名",
    "dissolveTab": "グループを解除",
    "layout": "ペインレイアウト",
    "addPane": "ペインを追加",
    "paneLimit": "最大 {{count}} ペイン",
    "deleteConversations": "すべて削除",
    "movePane": "{{title}} ペインを移動",
    "movePaneHint": "ドラッグで移動 · 矢印キーでも移動できます",
    "resizePaneBoundary": "ペイン境界 {{index}} のサイズを変更",
    "promotePane": "{{title}} をメインペインにする",
    "paneActions": "{{title}} ペインの操作",
    "detachPane": "外す",
    "composerAria": "{{title}} へのメッセージ",
    "layouts": {
      "columns": "列",
      "rows": "行",
      "grid": "グリッド",
      "bsp": "BSP",
      "main-stack": "メインとスタック"
    }
  },
  "common": {
    "dismiss": "閉じる",
    "close": "閉じる",
    "current": "現在",
    "cancel": "キャンセル"
  },
  "errors": {
    "messageTooBig": {
      "title": "メッセージが大きすぎます",
      "body": "サイズ上限を超えたため、直前のメッセージはサーバーに拒否されました。画像を減らすか、より小さいファイルに差し替えて再送してください。"
    },
    "workspaceScopeRejected": {
      "title": "ワークスペースは変更されませんでした",
      "body": "このプロジェクトまたはアクセスモードはゲートウェイに拒否されました。既存のプロジェクトまたは別のアクセスモードを選択して、もう一度お試しください。"
    },
    "turnRejected": {
      "title": "メッセージは送信されませんでした",
      "body": "ゲートウェイがこのメッセージを拒否しました。本文または添付ファイルを確認して、もう一度お試しください。"
    }
  },
  "workspace": {
    "dialog": {
      "defaultProject": "既定のワークスペース",
      "manual": "パスを貼り付け",
      "manualPlaceholder": "/Users/name/project",
      "usePath": "パスを使用",
      "absolutePathRequired": "このマシン上の絶対フォルダーパスを入力してください。"
    }
  }
}
