{ "app": { "brand": "nanobot", "loading": { "connecting": "nanobot に接続中…", "boot": "nanobot を読み込み中…" }, "error": { "title": "nanobot に接続できませんでした", "gatewayHint": "gateway(`nanobot gateway`)が起動しており、このページが同じマシン上で開かれていることを確認してください。" }, "system": { "section": "システム", "restartHint": "実行時の変更を適用するには nanobot を再起動します。", "restart": "nanobot を再起動", "restarting": "再起動中..." }, "restart": { "completed": "{{seconds}} 秒で再起動が完了しました。" }, "documentTitle": { "base": "nanobot", "chat": "{{title}} · nanobot" }, "meta": { "description": "nanobot Web UI — nanobot ワークスペースと会話します。" } }, "sidebar": { "collapse": "サイドバーを閉じる", "toggleTheme": "テーマを切り替える", "newChat": "新しいチャット", "viewOptions": "View", "compactList": "Compact list", "showPreviews": "Show previews", "showTimestamps": "Show time", "sortLabel": "Sort", "sortUpdated": "Recently updated", "sortCreated": "Recently created", "sortTitle": "Title A-Z", "recent": "最近のチャット", "refreshSessions": "セッションを更新", "settings": "設定", "language": { "label": "言語", "ariaLabel": "言語を変更" }, "searchAria": "検索", "searchPlaceholder": "検索", "searchResults": "検索結果", "noSearchResults": "一致するチャットはありません。" }, "settings": { "backToChat": "チャットに戻る", "sidebar": { "title": "設定", "ariaLabel": "設定セクション" }, "nav": { "general": "一般", "byok": "BYOK", "overview": "Overview", "appearance": "Appearance", "models": "Models", "providers": "Providers", "image": "Image", "web": "Web", "runtime": "Runtime", "advanced": "Advanced" }, "sections": { "interface": "インターフェース", "ai": "AI", "system": "システム", "status": "Status", "localPreferences": "Local preferences", "presets": "Presets", "webSearch": "Web search", "webBehavior": "Behavior", "identity": "Identity", "safety": "Safety", "integrations": "Integrations" }, "rows": { "theme": "テーマ", "language": "言語", "provider": "プロバイダー", "model": "モデル", "restart": "nanobot を再起動", "configPath": "設定パス", "activePreset": "Active preset", "gateway": "Gateway", "restartState": "Restart state", "selectedPreset": "Selected preset", "presetModel": "Preset model", "density": "Density", "activityMode": "Activity detail", "codeWrap": "Code wrapping", "maxResults": "Max results", "timeout": "Timeout", "jinaReader": "Jina reader", "botName": "Bot name", "botIcon": "Bot icon", "timezone": "Timezone", "toolHintMaxLength": "Tool hint length", "workspacePath": "Workspace path", "heartbeat": "Heartbeat", "dream": "Dream", "unifiedSession": "Unified session", "restrictWorkspace": "Restrict to workspace", "execTool": "Exec tool", "execSandbox": "Exec sandbox", "ssrfWhitelist": "SSRF whitelist", "mcpServers": "MCP servers", "pathAppend": "PATH append", "configurationDocs": "Configuration docs" }, "help": { "theme": "ライト表示とダーク表示を切り替えます。", "language": "WebUI で使用する言語を選択します。", "provider": "新しいモデルリクエストに使うプロバイダーを選択します。", "model": "nanobot が既定で使用するモデル名を設定します。", "configPath": "現在ゲートウェイが使用している設定ファイルです。", "selectedPreset": "Named presets are read-only here; edit them in config.json.", "presetModel": "Switch to Default to edit model and provider from the WebUI.", "density": "Stored only in this browser.", "activityMode": "Choose how much agent activity chrome to show by default.", "codeWrap": "Keep long code lines readable on smaller screens.", "maxResults": "Results returned by each web_search call.", "timeout": "Seconds before a search provider request times out.", "jinaReader": "Use Jina Reader for web_fetch when available.", "botName": "Shown in runtime surfaces that use the configured bot identity.", "botIcon": "Short emoji or text shown beside the bot name.", "timezone": "IANA timezone used by runtime context and schedules.", "toolHintMaxLength": "Maximum characters shown in tool progress hints.", "advancedReadOnly": "Advanced safety controls are read-only in WebUI. Edit config.json intentionally when needed." }, "values": { "light": "ライト", "dark": "ダーク", "notAvailable": "利用不可", "enabled": "Enabled", "disabled": "Disabled", "restartRequired": "Restart required", "liveReload": "Live reload ready", "comfortable": "Comfortable", "compact": "Compact", "auto": "Auto", "expanded": "Expanded", "on": "On", "off": "Off", "configured": "Configured", "notConfigured": "Not configured" }, "status": { "loading": "設定を読み込んでいます...", "loadError": "設定を読み込めませんでした", "unsaved": "未保存の変更があります。", "savedRestart": "保存しました。反映するには nanobot を再起動してください。" }, "actions": { "save": "保存", "saving": "保存中", "edit": "編集", "cancel": "キャンセル", "openDocs": "Open docs" }, "byok": { "description": "自分の provider キーを使います。Nanobot は現在の config から値を読み込み、設定済みの provider だけを一般設定で選択できます。", "configured": "設定済み", "notConfigured": "未設定", "configuredSection": "設定済み", "notConfiguredSection": "未設定", "showMore": "さらに {{count}} 件表示", "showLess": "折りたたむ", "apiKey": "API key", "apiBase": "API base", "apiKeyPlaceholder": "API key を入力", "apiKeyConfiguredPlaceholder": "空欄のままなら現在の key を保持", "configuredKeyHint": "設定済み key", "apiBasePlaceholder": "provider の既定値を使用", "apiKeyRequired": "この provider を設定するには API key が必要です。", "showApiKey": "API key を表示", "hideApiKey": "API key を隠す", "noConfiguredProviders": "設定済み provider がありません", "configureFirst": "先に BYOK で provider を設定してください。", "openByok": "BYOK を開く", "tabs": { "ariaLabel": "BYOK 認証情報タイプ", "llm": "LLM", "webSearch": "Web Search" }, "webSearch": { "provider": "検索 provider", "providerHelp": "web search ツールで使うバックエンドを選択します。", "selectProvider": "provider を選択", "credentials": "認証情報", "noCredentialRequired": "key は不要", "noCredentialHelp": "DuckDuckGo は API key を保存せずに使えます。", "apiKeyHelp": "config に保存され、保存後はマスク表示されます。", "baseUrl": "Base URL", "baseUrlHelp": "SearXNG には自分のインスタンス URL が必要です。", "baseUrlPlaceholder": "https://search.example.com", "apiKeyRequired": "この検索 provider には API key が必要です。", "baseUrlRequired": "SearXNG には Base URL が必要です。", "missingCredential": "保存する前に必要な認証情報を入力してください。", "saveHint": "変更は新しい web search リクエストに適用されます。" } }, "overview": { "model": "Current model", "providers": "Providers", "configuredCount": "{{count}} configured", "totalProviders": "{{count}} available", "webSearch": "Web search", "workspace": "Workspace" }, "providers": { "searchPlaceholder": "Search providers", "noMatches": "No providers match this search." } }, "chat": { "fallbackTitle": "チャット {{id}}", "loading": "読み込み中…", "noSessions": "まだセッションがありません。", "actions": "「{{title}}」のチャット操作", "activity": { "running": "Agent running", "complete": "Agent finished" }, "pin": "Pin", "unpin": "Unpin", "rename": "Rename", "renameTitle": "Rename chat", "renameDescription": "Choose a local sidebar name for this chat.", "renamePlaceholder": "Chat name", "renameSave": "Save", "archive": "Archive", "unarchive": "Unarchive", "showArchived": "Show archived", "hideArchived": "Hide archived", "delete": "削除", "newChat": "新しいチャット", "groups": { "pinned": "Pinned", "all": "Chats", "today": "Today", "yesterday": "Yesterday", "earlier": "Earlier", "archived": "Archived" } }, "deleteConfirm": { "title": "このチャットを削除しますか?", "description": "この操作は元に戻せません。", "cancel": "キャンセル", "confirm": "削除" }, "connection": { "idle": "待機中", "connecting": "接続中…", "open": "接続済み", "reconnecting": "再接続中…", "closed": "切断済み", "error": "接続エラー" }, "thread": { "loadingConversation": "会話を読み込み中…", "empty": { "description": "質問したり、ローカル作業を続けたり、新しいスレッドを始めたりできます。", "greeting": "何をお手伝いしましょうか?", "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": "サイドバーを切り替える" }, "composer": { "placeholderThread": "メッセージを入力…", "placeholderHero": "何を考えていますか?", "placeholderOpening": "新しいチャットを開いています…", "placeholderStreaming": "モデルが応答しています…", "inputAria": "メッセージ入力欄", "sendHint": "Enter で送信 · Shift+Enter で改行", "runRuntimeTitle": "実行中 · {{elapsed}}", "goalStateStrip": "目標 · {{label}}", "goalStateFallback": "目標", "goalStateExpandAria": "目標の全文を表示", "goalStateSheetTitle": "目標", "send": "メッセージを送信", "stop": "応答を停止", "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" } }, "encoding": "処理中…", "remove": "添付を削除", "normalizedSizeHint": "{{orig}} → {{current}}(自動圧縮)", "imageRejected": { "unsupported_type": "対応していないファイル形式です", "too_many_images": "1 メッセージにつき最大 {{max}} 枚です", "magic_mismatch": "画像ファイルではないようです", "decode_failed": "この画像をデコードできません", "too_large": "画像が大きすぎます。小さいものを選んでください", "io": "このファイルを読み込めません" }, "slash": { "ariaLabel": "スラッシュコマンド", "label": "コマンド", "navigateHint": "↑↓ 選択", "selectHint": "Enter/Tab 入力", "closeHint": "Esc 閉じる", "commands": { "new": { "title": "新しいチャット", "description": "現在のタスクを停止して、新しい会話を開始します。" }, "stop": { "title": "現在のタスクを停止", "description": "このチャットで実行中の agent ターンをキャンセルします。" }, "restart": { "title": "nanobot を再起動", "description": "bot プロセスをその場で再起動します。" }, "status": { "title": "ステータスを表示", "description": "ランタイム、provider、channel の状態を表示します。" }, "history": { "title": "会話履歴を表示", "description": "保存済みの直近 N 件の会話メッセージを表示します。" }, "dream": { "title": "Dream を実行", "description": "メモリ統合を手動で開始します。" }, "dream_log": { "title": "Dream ログを表示", "description": "直近の Dream 統合で変更された内容を表示します。" }, "dream_restore": { "title": "メモリを復元", "description": "以前の Dream スナップショットへメモリを戻します。" }, "goal": { "title": "長期目標", "description": "持続的な複数ステップの目標として扱うようエージェントに伝えます。" }, "help": { "title": "ヘルプを表示", "description": "利用可能なスラッシュコマンドを一覧表示します。" } } }, "goalStateCloseAria": "目標を閉じる" }, "scrollToBottom": "一番下へスクロール", "loadEarlier": "以前のメッセージを読み込む" }, "message": { "streaming": "生成中", "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": "画像の添付", "turnLatencyTitle": "応答時間(全行程)" }, "lightbox": { "title": "画像プレビュー", "open": "画像を表示", "prev": "前の画像", "next": "次の画像", "close": "プレビューを閉じる" }, "code": { "fallbackLanguage": "コード", "copyAria": "コードをコピー", "copy": "コピー", "copied": "コピーしました" }, "common": { "dismiss": "閉じる" }, "errors": { "messageTooBig": { "title": "メッセージが大きすぎます", "body": "サイズ上限を超えたため、直前のメッセージはサーバーに拒否されました。画像を減らすか、より小さいファイルに差し替えて再送してください。" } } }