{ "common": { "save": "保存", "cancel": "キャンセル", "close": "閉じる", "confirm": "確認", "clear": "クリア", "edit": "編集", "delete": "削除", "loading": "読み込み中..", "new": "新規" }, "nav": { "about": "概要", "editor": "エディタ", "newChat": "新しいチャットを開始", "settings": "設定", "hidePanel": "チャットパネルを非表示 (Ctrl+B)", "showPanel": "チャットパネルを表示 (Ctrl+B)", "aiChat": "AI チャット" }, "providers": { "useServerDefault": "サーバーデフォルトを使用", "openai": "OpenAI", "anthropic": "Anthropic", "google": "Google", "azure": "Azure OpenAI", "openrouter": "OpenRouter", "deepseek": "DeepSeek", "siliconflow": "SiliconFlow" }, "chat": { "placeholder": "ダイアグラムを説明するか、ファイルをアップロード...", "send": "送信", "sending": "送信中...", "sendMessage": "メッセージを送信", "clearConversation": "会話をクリア", "diagramHistory": "ダイアグラム履歴", "saveDiagram": "ダイアグラムを保存", "uploadFile": "ファイルをアップロード(画像、PDF、テキスト)", "minimalStyle": "ミニマル", "styledMode": "スタイル付き", "minimalTooltip": "高速生成のためミニマルを使用(色なし)", "regenerate": "応答を再生成", "copyResponse": "応答をコピー", "copied": "コピーしました!", "failedToCopy": "コピーに失敗しました", "goodResponse": "良い応答", "badResponse": "悪い応答", "clickToEdit": "クリックして編集", "editMessage": "メッセージを編集", "saveAndSubmit": "保存して送信" }, "examples": { "title": "AI でダイアグラムを作成", "subtitle": "作成したいものを説明するか、画像をアップロードして複製", "quickExamples": "クイック例", "paperToDiagram": "論文からダイアグラムへ", "paperDescription": ".pdf, .txt, .md, .json, .csv, .py, .js, .ts などをアップロード", "animatedDiagram": "アニメーション図", "animatedDescription": "アニメーションコネクタ付きの Transformer アーキテクチャを描画", "awsArchitecture": "AWS アーキテクチャ", "awsDescription": "AWS アイコンでクラウドアーキテクチャ図を作成", "replicateFlowchart": "フローチャートを複製", "replicateDescription": "既存のフローチャートをアップロードして複製", "creativeDrawing": "クリエイティブな描画", "creativeDescription": "楽しくてクリエイティブなものを描く", "cachedNote": "例はキャッシュされ、即座に応答します", "mcpServer": "MCP サーバー", "mcpDescription": "Claude Desktop、VS Code、Cursor で使用", "preview": "プレビュー" }, "settings": { "title": "設定", "description": "アプリケーション設定を構成します。", "accessCode": "アクセスコード", "accessCodePlaceholder": "アクセスコードを入力", "accessCodeDescription": "このアプリケーションを使用するために必要です。", "aiProvider": "AI プロバイダー設定", "aiProviderDescription": "独自の API キーを使用して使用制限を回避できます。キーはブラウザのローカルに保存され、サーバーには保存されません。", "provider": "プロバイダー", "modelId": "モデル ID", "apiKey": "API キー", "apiKeyPlaceholder": "あなたの API キー", "baseUrl": "ベース URL(オプション)", "customEndpoint": "カスタムエンドポイント URL", "overrides": "上書き", "clearSettings": "設定をクリア", "useServerDefault": "サーバーデフォルトを使用", "theme": "テーマ", "themeDescription": "インターフェースと DrawIO キャンバスのダーク/ライトモード。", "drawioStyle": "DrawIO スタイル", "drawioStyleDescription": "キャンバススタイル:", "switchTo": "切り替え", "minimal": "ミニマル", "sketch": "スケッチ", "closeProtection": "ページ離脱確認", "closeProtectionDescription": "ページを離れる際に確認を表示します。" }, "save": { "title": "ダイアグラムを保存", "description": "形式とファイル名を選択してダイアグラムを保存します。", "format": "形式", "filename": "ファイル名", "filenamePlaceholder": "ファイル名を入力", "formats": { "drawio": "Draw.io XML", "png": "PNG 画像", "svg": "SVG 画像" } }, "history": { "title": "ダイアグラム履歴", "description": "AI 修正前に保存された各ダイアグラム。\nダイアグラムをクリックして復元", "noHistory": "まだ履歴がありません。メッセージを送信してダイアグラム履歴を作成してください。", "version": "バージョン", "restoreTo": "バージョン {version} に復元しますか?" }, "dialogs": { "clearTitle": "すべてクリアしますか?", "clearDescription": "現在の会話をクリアし、ダイアグラムをリセットします。この操作は元に戻せません。", "clearEverything": "すべてクリア", "clearSuccess": "新しいチャットを開始しました" }, "errors": { "maxFiles": "ファイルが多すぎます。最大 {max} 個まで許可されています。", "onlyMoreAllowed": "あと {slots} 個のファイルのみ許可されています", "fileExceeds": "「{name}」は {size} です({max}MB を超えています)", "unsupportedType": "「{name}」はサポートされていないファイルタイプです", "filesRejected": "{count} 個のファイルが拒否されました:", "andMore": "...およびさらに {count} 個", "invalidAccessCode": "無効または欠落したアクセスコード。設定で入力してください。", "networkError": "ネットワークエラー。接続を確認してください。", "retryLimit": "自動再試行制限に達しました({max})。手動で再試行してください。", "validationFailed": "ダイアグラムの検証に失敗しました。再生成してみてください。", "malformedXml": "AI が無効なダイアグラム XML を生成しました。再生成してみてください。", "failedToProcess": "ダイアグラムの処理に失敗しました。再生成してみてください。", "sessionCorrupted": "セッションデータが破損しました。最初からやり直します。", "failedToSave": "localStorage へのメッセージの保存に失敗しました", "failedToRestore": "localStorage からの復元に失敗しました", "failedToPersist": "アンロード前の状態の永続化に失敗しました", "failedToExport": "チャートデータの取得エラー", "failedToLoadExample": "例の画像の読み込みエラー" }, "quota": { "dailyLimit": "1日の割当量に達しました", "tokenLimit": "1日のトークン制限に達しました", "tpmLimit": "レート制限", "tpmMessage": "リクエストが多すぎます。しばらくお待ちください。", "messageApi": "おっと — このデモの1日の API 制限に達しました!個人開発者として API コストをすべて負担しているため、持続可能性を保つためにこれらの制限を設定する必要があります。", "messageToken": "おっと — このデモの1日のトークン制限に達しました!個人開発者として API コストをすべて負担しているため、持続可能性を保つためにこれらの制限を設定する必要があります。", "tip": "ヒント:独自の API キーを使用する(設定アイコンをクリック)か、プロジェクトをセルフホストしてこれらの制限を回避できます。", "reset": "制限は明日リセットされます。ご理解ありがとうございます!", "selfHost": "セルフホスト", "sponsor": "スポンサー", "learnMore": "詳細 →", "usedOf": "{used}/{limit}" }, "tools": { "generateDiagram": "ダイアグラムを生成", "editDiagram": "ダイアグラムを編集", "appendDiagram": "ダイアグラムに追加", "complete": "完了", "error": "エラー", "truncated": "切り捨て" }, "file": { "reading": "読み込み中...", "chars": "文字", "removeFile": "ファイルを削除" }, "reasoning": { "thinking": "考え中...", "thoughtFor": "{duration} 秒考えました", "thoughtBrief": "数秒考えました" }, "about": { "modelChange": "モデル変更と利用制限について", "walletCrying": "(別名:お財布が悲鳴を上げています)", "seekingSponsorship": "スポンサー募集", "contactMe": "お問い合わせ", "usageNotice": "利用量の増加に伴い、コスト削減のためモデルを Claude から minimax-m2 に変更し、いくつかの利用制限を設けました。詳細は概要ページをご覧ください。" }, "modelConfig": { "title": "AIモデル設定", "description": "複数のAIプロバイダーとモデルを設定", "configure": "設定", "addProvider": "プロバイダーを追加", "addModel": "モデルを追加", "modelId": "モデルID", "modelLabel": "表示名", "streaming": "ストリーミングを有効", "deleteProvider": "プロバイダーを削除", "deleteModel": "モデルを削除", "noModels": "モデルが設定されていません。モデルを追加してください。", "selectProvider": "プロバイダーを選択または追加してください", "configureMultiple": "複数のAIプロバイダーを設定して簡単に切り替え", "apiKeyStored": "APIキーはブラウザにローカル保存されます", "test": "テスト", "validationError": "検証に失敗しました", "addModelFirst": "検証するには少なくとも1つのモデルを追加してください" } }