mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-04-16 08:12:42 +08:00
Add additive mode support for OpenCode in sync_current_to_live: - Add AppType::is_additive_mode() to distinguish switch vs additive mode - Add AppType::all() iterator to avoid hardcoding app lists - Add sync_all_providers_to_live() for additive mode apps - Refactor sync_current_to_live to handle both modes Frontend changes (directory settings): - Track opencodeDirChanged in useDirectorySettings - Trigger syncCurrentProvidersLiveSafe when OpenCode dir changes - Add i18n strings for OpenCode directory settings
1410 lines
76 KiB
JSON
1410 lines
76 KiB
JSON
{
|
||
"app": {
|
||
"title": "CC Switch",
|
||
"description": "Claude Code・Codex・Gemini CLI のためのオールインワンアシスタント"
|
||
},
|
||
"common": {
|
||
"add": "追加",
|
||
"edit": "編集",
|
||
"delete": "削除",
|
||
"save": "保存",
|
||
"saving": "保存中...",
|
||
"cancel": "キャンセル",
|
||
"confirm": "確認",
|
||
"close": "閉じる",
|
||
"done": "完了",
|
||
"settings": "設定",
|
||
"about": "バージョン情報",
|
||
"version": "バージョン",
|
||
"loading": "読み込み中...",
|
||
"notInstalled": "未インストール",
|
||
"success": "成功",
|
||
"error": "エラー",
|
||
"unknown": "不明",
|
||
"enterValidValue": "有効な値を入力してください",
|
||
"clear": "クリア",
|
||
"toggleTheme": "テーマを切り替え",
|
||
"format": "フォーマット",
|
||
"formatSuccess": "整形しました",
|
||
"formatError": "整形に失敗しました: {{error}}",
|
||
"copy": "コピー",
|
||
"view": "表示",
|
||
"back": "戻る",
|
||
"refresh": "更新",
|
||
"refreshing": "更新中...",
|
||
"all": "すべて",
|
||
"search": "検索",
|
||
"reset": "リセット",
|
||
"actions": "操作",
|
||
"deleting": "削除中..."
|
||
},
|
||
"apiKeyInput": {
|
||
"placeholder": "API Key を入力",
|
||
"show": "API Key を表示",
|
||
"hide": "API Key を隠す"
|
||
},
|
||
"jsonEditor": {
|
||
"mustBeObject": "設定はオブジェクト形式の JSON で入力してください(配列や他の型は不可)",
|
||
"invalidJson": "JSON 形式が正しくありません"
|
||
},
|
||
"claudeConfig": {
|
||
"configLabel": "Claude Code settings.json (JSON) *",
|
||
"writeCommonConfig": "共通設定を書き込む",
|
||
"editCommonConfig": "共通設定を編集",
|
||
"editCommonConfigTitle": "共通設定スニペットを編集",
|
||
"commonConfigHint": "「共通設定を書き込む」がオンのとき settings.json にマージされます",
|
||
"fullSettingsHint": "Claude Code の settings.json 全文",
|
||
"extractFromCurrent": "編集内容から抽出",
|
||
"extractNoCommonConfig": "編集内容から抽出できる共通設定がありません",
|
||
"extractFailed": "抽出に失敗しました: {{error}}",
|
||
"saveFailed": "保存に失敗しました: {{error}}"
|
||
},
|
||
"header": {
|
||
"viewOnGithub": "GitHub で見る",
|
||
"toggleDarkMode": "ダークモードに切り替え",
|
||
"toggleLightMode": "ライトモードに切り替え",
|
||
"addProvider": "プロバイダーを追加",
|
||
"switchToChinese": "中国語に切り替え",
|
||
"switchToEnglish": "英語に切り替え",
|
||
"enterEditMode": "編集モードに入る",
|
||
"exitEditMode": "編集モードを終了"
|
||
},
|
||
"provider": {
|
||
"tabProvider": "プロバイダー",
|
||
"tabUniversal": "統一プロバイダー",
|
||
"noProviders": "まだプロバイダーがありません",
|
||
"noProvidersDescription": "右上の「プロバイダーを追加」を押して最初の API プロバイダーを登録してください",
|
||
"currentlyUsing": "現在使用中",
|
||
"enable": "有効化",
|
||
"inUse": "使用中",
|
||
"editProvider": "プロバイダーを編集",
|
||
"editProviderHint": "保存すると現在のプロバイダーにすぐ反映されます。",
|
||
"deleteProvider": "プロバイダーを削除",
|
||
"addNewProvider": "新しいプロバイダーを追加",
|
||
"addClaudeProvider": "Claude Code プロバイダーを追加",
|
||
"addCodexProvider": "Codex プロバイダーを追加",
|
||
"addGeminiProvider": "Gemini プロバイダーを追加",
|
||
"addOpenCodeProvider": "OpenCode プロバイダーを追加",
|
||
"addToConfig": "追加",
|
||
"removeFromConfig": "削除",
|
||
"inConfig": "追加済み",
|
||
"addProviderHint": "一覧にすばやく切り替えられるよう、ここに情報を入力してください。",
|
||
"editClaudeProvider": "Claude Code プロバイダーを編集",
|
||
"editCodexProvider": "Codex プロバイダーを編集",
|
||
"configError": "設定エラー",
|
||
"notConfigured": "公式サイト用に未設定",
|
||
"applyToClaudePlugin": "Claude プラグインに適用",
|
||
"removeFromClaudePlugin": "Claude プラグインから解除",
|
||
"dragToReorder": "ドラッグで並べ替え",
|
||
"dragHandle": "ドラッグで並べ替え",
|
||
"searchPlaceholder": "名前・メモ・URLで検索...",
|
||
"searchAriaLabel": "プロバイダーを検索",
|
||
"searchScopeHint": "名前・メモ・URL を対象に検索します。",
|
||
"searchCloseHint": "Esc で閉じる",
|
||
"searchCloseAriaLabel": "検索を閉じる",
|
||
"noSearchResults": "一致するプロバイダーがありません。",
|
||
"duplicate": "複製",
|
||
"sortUpdateFailed": "並び順の更新に失敗しました",
|
||
"configureUsage": "利用状況を設定",
|
||
"name": "プロバイダー名",
|
||
"namePlaceholder": "例: Claude Official",
|
||
"websiteUrl": "Web サイト URL",
|
||
"notes": "メモ",
|
||
"notesPlaceholder": "例: 会社用アカウント",
|
||
"configJson": "Config JSON",
|
||
"writeCommonConfig": "共通設定を書き込む",
|
||
"editCommonConfigButton": "共通設定を編集",
|
||
"configJsonHint": "Claude Code の設定をすべて入力してください",
|
||
"editCommonConfigTitle": "共通設定スニペットを編集",
|
||
"editCommonConfigHint": "共通設定スニペットは、この機能をオンにしたすべてのプロバイダーへマージされます",
|
||
"addProvider": "プロバイダーを追加",
|
||
"sortUpdated": "並び順を更新しました",
|
||
"usageSaved": "利用状況の設定を保存しました",
|
||
"usageSaveFailed": "利用状況設定の保存に失敗しました",
|
||
"geminiConfig": "Gemini 設定",
|
||
"geminiConfigHint": ".env 形式で Gemini を設定してください",
|
||
"form": {
|
||
"gemini": {
|
||
"model": "モデル",
|
||
"oauthTitle": "OAuth 認証モード",
|
||
"oauthHint": "Google 公式は OAuth 個人認証を使用するため API Key は不要です。初回利用時にブラウザが開きます。",
|
||
"apiKeyPlaceholder": "Gemini API Key を入力"
|
||
}
|
||
}
|
||
},
|
||
"notifications": {
|
||
"providerAdded": "プロバイダーを追加しました",
|
||
"providerSaved": "プロバイダー設定を保存しました",
|
||
"providerDeleted": "プロバイダーを削除しました",
|
||
"switchSuccess": "切り替え成功!",
|
||
"addToConfigSuccess": "設定に追加しました",
|
||
"removeFromConfigSuccess": "設定から削除しました",
|
||
"switchFailedTitle": "切り替えに失敗しました",
|
||
"switchFailed": "切り替えに失敗しました: {{error}}",
|
||
"autoImported": "既存設定からデフォルトプロバイダーを自動作成しました",
|
||
"addFailed": "プロバイダーの追加に失敗しました: {{error}}",
|
||
"saveFailed": "保存に失敗しました: {{error}}",
|
||
"saveFailedGeneric": "保存に失敗しました。もう一度お試しください",
|
||
"appliedToClaudePlugin": "Claude プラグインに適用しました",
|
||
"removedFromClaudePlugin": "Claude プラグインから削除しました",
|
||
"syncClaudePluginFailed": "Claude プラグインとの同期に失敗しました",
|
||
"skipClaudeOnboardingFailed": "Claude Code の初回確認スキップに失敗しました",
|
||
"clearClaudeOnboardingSkipFailed": "Claude Code の初回確認の復元に失敗しました",
|
||
"updateSuccess": "プロバイダーを更新しました",
|
||
"updateFailed": "プロバイダーの更新に失敗しました: {{error}}",
|
||
"deleteSuccess": "プロバイダーを削除しました",
|
||
"deleteFailed": "プロバイダーの削除に失敗しました: {{error}}",
|
||
"settingsSaved": "設定を保存しました",
|
||
"settingsSaveFailed": "設定の保存に失敗しました: {{error}}"
|
||
},
|
||
"confirm": {
|
||
"deleteProvider": "プロバイダーを削除",
|
||
"deleteProviderMessage": "プロバイダー「{{name}}」を削除してもよろしいですか?この操作は元に戻せません。",
|
||
"removeProvider": "プロバイダーを解除",
|
||
"removeProviderMessage": "プロバイダー「{{name}}」を設定から解除してもよろしいですか?\n\n解除後、このプロバイダーは無効になりますが、設定データは CC Switch に保持されます。いつでも再追加できます。"
|
||
},
|
||
"settings": {
|
||
"title": "設定",
|
||
"general": "一般",
|
||
"tabGeneral": "一般",
|
||
"tabAdvanced": "詳細",
|
||
"advanced": {
|
||
"configDir": {
|
||
"title": "設定ディレクトリ",
|
||
"description": "Claude、Codex、Gemini の設定保存パスを管理"
|
||
},
|
||
"proxy": {
|
||
"title": "ローカルプロキシ",
|
||
"description": "プロキシサービスの切り替え、ステータスとポート情報を表示",
|
||
"running": "実行中",
|
||
"stopped": "停止中"
|
||
},
|
||
"modelTest": {
|
||
"title": "モデルテスト設定",
|
||
"description": "モデルテストで使用するデフォルトモデルとプロンプトを設定"
|
||
},
|
||
"failover": {
|
||
"title": "自動フェイルオーバー",
|
||
"description": "フェイルオーバーキューとサーキットブレーカー戦略を設定"
|
||
},
|
||
"pricing": {
|
||
"title": "コスト計算",
|
||
"description": "各モデルのトークン料金ルールを管理"
|
||
},
|
||
"globalProxy": {
|
||
"title": "グローバル送信プロキシ",
|
||
"description": "CC Switch が外部 API にアクセスする際のプロキシを設定"
|
||
},
|
||
"data": {
|
||
"title": "データ管理",
|
||
"description": "設定のインポート/エクスポートとバックアップ/復元"
|
||
},
|
||
"rectifier": {
|
||
"title": "整流器",
|
||
"description": "API リクエストの互換性問題を自動修正",
|
||
"enabled": "整流器を有効化",
|
||
"enabledDescription": "マスタースイッチ、オフにするとすべての整流機能が無効になります",
|
||
"requestGroup": "リクエスト整流",
|
||
"responseGroup": "レスポンス整流",
|
||
"thinkingSignature": "Thinking 署名整流",
|
||
"thinkingSignatureDescription": "Claude API の thinking 署名検証エラーを自動修正"
|
||
},
|
||
"logConfig": {
|
||
"title": "ログ管理",
|
||
"description": "ログ出力レベルを制御",
|
||
"enabled": "ログを有効化",
|
||
"enabledDescription": "マスタースイッチ、オフにするとすべてのログが無効になります",
|
||
"level": "ログレベル",
|
||
"levelDescription": "出力する最小ログレベルを設定",
|
||
"levels": {
|
||
"error": "エラー",
|
||
"warn": "警告",
|
||
"info": "情報",
|
||
"debug": "デバッグ",
|
||
"trace": "トレース"
|
||
},
|
||
"levelHint": "ログレベルの説明:",
|
||
"levelDesc": {
|
||
"error": "重大なエラーのみ",
|
||
"warn": "エラー + 警告",
|
||
"info": "一般的な操作情報(デフォルト)",
|
||
"debug": "SSE ストリームとリクエスト/レスポンスを含む詳細情報",
|
||
"trace": "すべてのログ、最も詳細"
|
||
}
|
||
}
|
||
},
|
||
"language": "言語",
|
||
"languageHint": "切り替えるとすぐにプレビューされ、保存後に永続化されます。",
|
||
"theme": "テーマ",
|
||
"themeHint": "アプリのテーマを選択します。すぐに反映されます。",
|
||
"themeLight": "ライト",
|
||
"themeDark": "ダーク",
|
||
"themeSystem": "システム",
|
||
"importExport": "SQL インポート/エクスポート",
|
||
"importExportHint": "移行や復元用にデータベースの SQL バックアップをインポート/エクスポートします(インポートは CC Switch がエクスポートしたバックアップのみ対応)。",
|
||
"exportConfig": "SQL バックアップをエクスポート",
|
||
"selectConfigFile": "SQL ファイルを選択",
|
||
"noFileSelected": "ファイルが選択されていません。",
|
||
"import": "インポート",
|
||
"importing": "インポート中...",
|
||
"importSuccess": "インポート成功!",
|
||
"importFailed": "インポート失敗",
|
||
"syncLiveFailed": "インポートしましたが、現在のプロバイダーへの同期に失敗しました。手動で再選択してください。",
|
||
"importPartialSuccess": "設定はインポートされましたが、現在のプロバイダーへの同期に失敗しました。",
|
||
"importPartialHint": "ライブ設定を更新するため、もう一度プロバイダーを選択してください。",
|
||
"configExported": "設定をエクスポートしました:",
|
||
"exportFailed": "エクスポートに失敗しました",
|
||
"selectFileFailed": "有効な SQL バックアップファイルを選択してください",
|
||
"configCorrupted": "SQL ファイルが壊れているか形式が無効な可能性があります",
|
||
"backupId": "バックアップ ID",
|
||
"autoReload": "データを更新しました",
|
||
"languageOptionChinese": "中文",
|
||
"languageOptionEnglish": "English",
|
||
"languageOptionJapanese": "日本語",
|
||
"windowBehavior": "ウィンドウ動作",
|
||
"windowBehaviorHint": "最小化動作や Claude プラグイン連携を設定します。",
|
||
"launchOnStartup": "起動時に自動実行",
|
||
"launchOnStartupDescription": "システム起動時に CC Switch を自動起動します",
|
||
"silentStartup": "サイレント起動",
|
||
"silentStartupDescription": "起動時にメインウィンドウを表示せず、トレイのみで起動",
|
||
"autoLaunchFailed": "自動起動の設定に失敗しました",
|
||
"minimizeToTray": "閉じるときトレイへ最小化",
|
||
"minimizeToTrayDescription": "チェックすると閉じるボタンでトレイに隠し、オフならアプリを終了します。",
|
||
"enableClaudePluginIntegration": "Claude Code 拡張に適用",
|
||
"enableClaudePluginIntegrationDescription": "オンにすると VS Code の Claude Code 拡張のプロバイダーも同期します",
|
||
"skipClaudeOnboarding": "Claude Code の初回確認をスキップ",
|
||
"skipClaudeOnboardingDescription": "オンにすると Claude Code の初回インストール確認をスキップします",
|
||
"appVisibility": {
|
||
"title": "ホームページ表示",
|
||
"description": "ホームページに表示するアプリを選択",
|
||
"claudeDesc": "Anthropic Claude Code CLI",
|
||
"codexDesc": "OpenAI Codex CLI",
|
||
"geminiDesc": "Google Gemini CLI",
|
||
"opencodeDesc": "OpenCode CLI"
|
||
},
|
||
"skillSync": {
|
||
"title": "スキル同期方式",
|
||
"description": "スキルファイルの同期方法を選択",
|
||
"symlink": "シンボリックリンク",
|
||
"copy": "ファイルコピー",
|
||
"symlinkHint": "シンボリックリンクはディスク容量を節約し、リアルタイム同期を有効にします。注意:Windowsでは管理者権限または開発者モードが必要な場合があります"
|
||
},
|
||
"terminal": {
|
||
"title": "優先ターミナル",
|
||
"description": "ターミナルボタンをクリックした時に使用するターミナルアプリを選択",
|
||
"fallbackHint": "選択したターミナルが利用できない場合、システムのデフォルトが使用されます",
|
||
"options": {
|
||
"macos": {
|
||
"terminal": "Terminal.app",
|
||
"iterm2": "iTerm2",
|
||
"alacritty": "Alacritty",
|
||
"kitty": "Kitty",
|
||
"ghostty": "Ghostty"
|
||
},
|
||
"windows": {
|
||
"cmd": "コマンドプロンプト",
|
||
"powershell": "PowerShell",
|
||
"wt": "Windows Terminal"
|
||
},
|
||
"linux": {
|
||
"gnomeTerminal": "GNOME Terminal",
|
||
"konsole": "Konsole",
|
||
"xfce4Terminal": "Xfce4 Terminal",
|
||
"alacritty": "Alacritty",
|
||
"kitty": "Kitty",
|
||
"ghostty": "Ghostty"
|
||
}
|
||
}
|
||
},
|
||
"configDirectoryOverride": "設定ディレクトリの上書き(詳細)",
|
||
"configDirectoryDescription": "WSL などで Claude Code や Codex を使う場合、ここで設定ディレクトリを WSL 側に合わせるとデータを揃えられます。",
|
||
"appConfigDir": "CC Switch 設定ディレクトリ",
|
||
"appConfigDirDescription": "CC Switch の保存場所をカスタマイズします(クラウド同期フォルダを指定すると設定を同期できます)",
|
||
"browsePlaceholderApp": "例: C:\\\\Users\\\\Administrator\\\\.cc-switch",
|
||
"claudeConfigDir": "Claude Code 設定ディレクトリ",
|
||
"claudeConfigDirDescription": "Claude の設定ディレクトリ(settings.json)を上書きし、claude.json(MCP)も同じ場所に置きます。",
|
||
"codexConfigDir": "Codex 設定ディレクトリ",
|
||
"codexConfigDirDescription": "Codex の設定ディレクトリを上書きします。",
|
||
"geminiConfigDir": "Gemini 設定ディレクトリ",
|
||
"geminiConfigDirDescription": "Gemini の設定ディレクトリ(.env)を上書きします。",
|
||
"opencodeConfigDir": "OpenCode 設定ディレクトリ",
|
||
"opencodeConfigDirDescription": "OpenCode の設定ディレクトリ(opencode.json)を上書きします。",
|
||
"browsePlaceholderClaude": "例: /home/<your-username>/.claude",
|
||
"browsePlaceholderCodex": "例: /home/<your-username>/.codex",
|
||
"browsePlaceholderGemini": "例: /home/<your-username>/.gemini",
|
||
"browsePlaceholderOpencode": "例: /home/<your-username>/.config/opencode",
|
||
"browseDirectory": "ディレクトリを選択",
|
||
"resetDefault": "デフォルトに戻す(保存後に反映)",
|
||
"checkForUpdates": "アップデートを確認",
|
||
"updateTo": "v{{version}} に更新",
|
||
"updating": "更新中...",
|
||
"checking": "確認中...",
|
||
"upToDate": "最新バージョンです",
|
||
"aboutHint": "バージョン情報と更新状況を表示します。",
|
||
"portableMode": "ポータブルモード: 更新は手動ダウンロードが必要です。",
|
||
"updateAvailable": "新しいバージョンがあります: {{version}}",
|
||
"updateBadge": "更新あり",
|
||
"updateFailed": "更新のインストールに失敗しました。ダウンロードページを開こうとしました。",
|
||
"checkUpdateFailed": "更新の確認に失敗しました。時間をおいて再試行してください。",
|
||
"openReleaseNotesFailed": "リリースノートの表示に失敗しました",
|
||
"releaseNotes": "リリースノート",
|
||
"viewReleaseNotes": "このバージョンのリリースノートを見る",
|
||
"viewCurrentReleaseNotes": "現在のバージョンのリリースノートを見る",
|
||
"oneClickInstall": "ワンクリックインストール",
|
||
"oneClickInstallHint": "Claude Code / Codex / Gemini CLI をインストール",
|
||
"localEnvCheck": "ローカル環境チェック",
|
||
"installCommandsCopied": "インストールコマンドをコピーしました",
|
||
"installCommandsCopyFailed": "コピーに失敗しました。手動でコピーしてください。",
|
||
"importFailedError": "設定のインポートに失敗しました: {{message}}",
|
||
"exportFailedError": "設定のエクスポートに失敗しました:",
|
||
"restartRequired": "再起動が必要です",
|
||
"restartRequiredMessage": "CC Switch の設定ディレクトリを変更すると再起動が必要です。今すぐ再起動しますか?",
|
||
"restartNow": "今すぐ再起動",
|
||
"restartLater": "後で再起動",
|
||
"restartFailed": "アプリの再起動に失敗しました。手動で閉じて再度開いてください。",
|
||
"devModeRestartHint": "開発モードでは自動再起動をサポートしていません。手動で再起動してください。",
|
||
"saving": "保存中...",
|
||
"globalProxy": {
|
||
"label": "グローバルプロキシ",
|
||
"hint": "すべてのリクエスト(API、Skills ダウンロードなど)をプロキシ経由で送信します。空欄で直接接続。",
|
||
"username": "ユーザー名(任意)",
|
||
"password": "パスワード(任意)",
|
||
"test": "接続テスト",
|
||
"scan": "ローカルプロキシをスキャン",
|
||
"clear": "クリア",
|
||
"scanFailed": "スキャンに失敗しました: {{error}}",
|
||
"saved": "プロキシ設定を保存しました",
|
||
"saveFailed": "保存に失敗しました: {{error}}",
|
||
"testSuccess": "接続成功!遅延 {{latency}}ms",
|
||
"testFailed": "接続に失敗しました: {{error}}"
|
||
}
|
||
},
|
||
"apps": {
|
||
"claude": "Claude",
|
||
"codex": "Codex",
|
||
"gemini": "Gemini",
|
||
"opencode": "OpenCode"
|
||
},
|
||
"console": {
|
||
"providerSwitchReceived": "プロバイダー切り替えイベントを受信:",
|
||
"setupListenerFailed": "プロバイダー切り替えリスナーの設定に失敗:",
|
||
"updateProviderFailed": "プロバイダー更新に失敗:",
|
||
"autoImportFailed": "デフォルト設定の自動インポートに失敗:",
|
||
"openLinkFailed": "リンクを開けませんでした:",
|
||
"getVersionFailed": "バージョン情報の取得に失敗:",
|
||
"loadSettingsFailed": "設定の読み込みに失敗:",
|
||
"getConfigPathFailed": "設定パスの取得に失敗:",
|
||
"getConfigDirFailed": "設定ディレクトリの取得に失敗:",
|
||
"detectPortableFailed": "ポータブルモードの検出に失敗:",
|
||
"saveSettingsFailed": "設定の保存に失敗:",
|
||
"updateFailed": "更新に失敗:",
|
||
"checkUpdateFailed": "更新確認に失敗:",
|
||
"openConfigFolderFailed": "設定フォルダを開けませんでした:",
|
||
"selectConfigDirFailed": "設定ディレクトリの選択に失敗:",
|
||
"getDefaultConfigDirFailed": "デフォルト設定ディレクトリの取得に失敗:",
|
||
"openReleaseNotesFailed": "リリースノートを開けませんでした:"
|
||
},
|
||
"providerForm": {
|
||
"supplierName": "プロバイダー名",
|
||
"supplierNameRequired": "プロバイダー名 *",
|
||
"supplierNamePlaceholder": "例: Anthropic Official",
|
||
"websiteUrl": "Web サイト URL",
|
||
"websiteUrlPlaceholder": "https://example.com(任意)",
|
||
"apiEndpoint": "API エンドポイント",
|
||
"apiEndpointPlaceholder": "https://your-api-endpoint.com",
|
||
"codexApiEndpointPlaceholder": "https://your-api-endpoint.com/v1",
|
||
"manageAndTest": "管理・テスト",
|
||
"configContent": "設定内容",
|
||
"officialNoApiKey": "公式ログインは API Key 不要です。そのまま保存できます",
|
||
"codexOfficialNoApiKey": "公式は API Key 不要です。そのまま保存してください",
|
||
"codexApiKeyAutoFill": "ここに入力すれば auth.json も自動で埋まります",
|
||
"apiKeyAutoFill": "ここに入力すれば下の設定も自動で埋まります",
|
||
"cnOfficialApiKeyHint": "💡 API Key のみ入力すれば OK。エンドポイントはプリセット済みです",
|
||
"aggregatorApiKeyHint": "💡 API Key のみ入力すれば OK。エンドポイントはプリセット済みです",
|
||
"thirdPartyApiKeyHint": "💡 API Key のみ入力すれば OK。エンドポイントはプリセット済みです",
|
||
"customApiKeyHint": "💡 カスタム設定では必要な項目をすべて手動で入力してください",
|
||
"officialHint": "💡 公式プロバイダーはブラウザログインで、API Key は不要です",
|
||
"getApiKey": "API Key を取得",
|
||
"partnerPromotion": {
|
||
"zhipu": "Zhipu GLM は CC Switch の公式パートナーです。リンク経由でチャージすると 10% 割引",
|
||
"packycode": "PackyCode は CC Switch の公式パートナーです。登録後チャージ時に \"cc-switch\" を入力すると 10% オフ",
|
||
"minimax_cn": "MiniMax Coding Plan 特別価格、Starter ¥9.9 から",
|
||
"minimax_en": "MiniMax Coding Plan Black Friday、Starter が月額 $2(80% OFF)",
|
||
"dmxapi": "Claude Code 専用モデル 66% OFF 実施中!",
|
||
"cubence": "Cubence は CC Switch の公式パートナーです。登録後チャージ時に \"CCSWITCH\" を入力すると、毎回 10% オフ",
|
||
"aigocode": "AIGoCode は CC Switch の公式パートナーです。このリンクから登録すると、初回チャージ時に 10% のボーナスクレジットがもらえます!",
|
||
"rightcode": "RightCode は CC Switch の公式パートナーです。このリンクから登録すると、毎回のチャージに 5% のボーナスクレジットがもらえます!"
|
||
},
|
||
"parameterConfig": "パラメーター設定 - {{name}} *",
|
||
"mainModel": "メインモデル(任意)",
|
||
"mainModelPlaceholder": "例: GLM-4.6",
|
||
"fastModel": "高速モデル(任意)",
|
||
"fastModelPlaceholder": "例: GLM-4.5-Air",
|
||
"modelHint": "💡 空欄ならプロバイダーのデフォルトモデルを使用します",
|
||
"apiHint": "💡 Claude API 互換サービスのエンドポイントを入力してください。末尾にスラッシュを付けないでください",
|
||
"codexApiHint": "💡 OpenAI Response 互換のサービスエンドポイントを入力してください",
|
||
"fillSupplierName": "プロバイダー名を入力してください",
|
||
"fillConfigContent": "設定内容を入力してください",
|
||
"fillParameter": "{{label}} を入力してください",
|
||
"fillTemplateValue": "{{label}} を入力してください",
|
||
"endpointRequired": "公式以外は API エンドポイントが必須です",
|
||
"apiKeyRequired": "公式以外は API Key が必須です",
|
||
"configJsonError": "Config JSON の形式が正しくありません。構文を確認してください",
|
||
"authJsonRequired": "auth.json は JSON オブジェクトで入力してください",
|
||
"authJsonError": "auth.json の形式が正しくありません。JSON を確認してください",
|
||
"fillAuthJson": "auth.json の設定を入力してください",
|
||
"fillApiKey": "OPENAI_API_KEY を入力してください",
|
||
"visitWebsite": "{{url}} を開く",
|
||
"anthropicModel": "メインモデル",
|
||
"anthropicSmallFastModel": "高速モデル",
|
||
"anthropicReasoningModel": "推論モデル(Thinking)",
|
||
"openrouterCompatMode": "OpenRouter 互換モード",
|
||
"openrouterCompatModeHint": "OpenAI Chat Completions インターフェースを使用し、Anthropic SSE に変換します。",
|
||
"anthropicDefaultHaikuModel": "既定 Haiku モデル",
|
||
"anthropicDefaultSonnetModel": "既定 Sonnet モデル",
|
||
"anthropicDefaultOpusModel": "既定 Opus モデル",
|
||
"modelPlaceholder": "",
|
||
"smallModelPlaceholder": "",
|
||
"haikuModelPlaceholder": "",
|
||
"modelHelper": "任意: 既定で使いたい Claude モデルを指定。空欄ならシステム既定を使用します。",
|
||
"categoryOfficial": "公式",
|
||
"categoryCnOfficial": "オープンソース公式",
|
||
"categoryAggregation": "アグリゲーター",
|
||
"categoryThirdParty": "サードパーティ"
|
||
},
|
||
"endpointTest": {
|
||
"title": "API エンドポイント管理",
|
||
"endpoints": "エンドポイント",
|
||
"autoSelect": "自動選択",
|
||
"testSpeed": "テスト",
|
||
"testing": "テスト中",
|
||
"addEndpointPlaceholder": "https://api.example.com",
|
||
"done": "完了",
|
||
"noEndpoints": "エンドポイントがありません",
|
||
"failed": "失敗",
|
||
"enterValidUrl": "有効な URL を入力してください",
|
||
"invalidUrlFormat": "URL 形式が正しくありません",
|
||
"onlyHttps": "HTTP/HTTPS のみサポートします",
|
||
"urlExists": "この URL はすでに存在します",
|
||
"saveFailed": "保存に失敗しました。もう一度お試しください",
|
||
"loadEndpointsFailed": "カスタムエンドポイントの読み込みに失敗:",
|
||
"addEndpointFailed": "カスタムエンドポイントの追加に失敗:",
|
||
"removeEndpointFailed": "カスタムエンドポイントの削除に失敗:",
|
||
"removeFailed": "削除に失敗しました: {{error}}",
|
||
"updateLastUsedFailed": "エンドポイントの最終使用時間の更新に失敗しました",
|
||
"pleaseAddEndpoint": "まずエンドポイントを追加してください",
|
||
"testUnavailable": "速度テストを実行できません",
|
||
"noResult": "結果がありません",
|
||
"testFailed": "速度テストに失敗しました: {{error}}",
|
||
"status": "ステータス: {{code}}"
|
||
},
|
||
"providerAdvanced": {
|
||
"testConfig": "モデルテスト設定",
|
||
"useCustomConfig": "個別設定を使用",
|
||
"testConfigDesc": "このプロバイダーに個別のモデルテストパラメータを設定します。無効の場合はグローバル設定を使用します。",
|
||
"testModel": "テストモデル",
|
||
"testModelPlaceholder": "空白の場合はグローバル設定を使用",
|
||
"timeoutSecs": "タイムアウト(秒)",
|
||
"testPrompt": "テストプロンプト",
|
||
"degradedThreshold": "低下閾値(ミリ秒)",
|
||
"maxRetries": "最大リトライ回数",
|
||
"proxyConfig": "プロキシ設定",
|
||
"useCustomProxy": "個別プロキシを使用",
|
||
"proxyConfigDesc": "このプロバイダーに個別のネットワークプロキシを設定します。無効の場合はシステムプロキシまたはグローバル設定を使用します。",
|
||
"proxyUsername": "ユーザー名(任意)",
|
||
"proxyPassword": "パスワード(任意)"
|
||
},
|
||
"codexConfig": {
|
||
"authJson": "auth.json (JSON) *",
|
||
"authJsonPlaceholder": "{\n \"OPENAI_API_KEY\": \"sk-your-api-key-here\"\n}",
|
||
"authJsonHint": "Codex の auth.json 設定内容",
|
||
"configToml": "config.toml (TOML)",
|
||
"configTomlHint": "Codex の config.toml 設定内容",
|
||
"writeCommonConfig": "共通設定を書き込む",
|
||
"editCommonConfig": "共通設定を編集",
|
||
"editCommonConfigTitle": "Codex 共通設定スニペットを編集",
|
||
"commonConfigHint": "「共通設定を書き込む」がオンの場合、config.toml の末尾に追記されます",
|
||
"apiUrlLabel": "API リクエスト URL",
|
||
"extractFromCurrent": "編集内容から抽出",
|
||
"extractNoCommonConfig": "編集内容から抽出できる共通設定がありません",
|
||
"extractFailed": "抽出に失敗しました: {{error}}",
|
||
"saveFailed": "保存に失敗しました: {{error}}"
|
||
},
|
||
"geminiConfig": {
|
||
"envFile": "環境変数 (.env)",
|
||
"envFileHint": ".env 形式で Gemini の環境変数を設定",
|
||
"configJson": "設定ファイル (config.json)",
|
||
"configJsonHint": "Gemini 拡張パラメーターを JSON 形式で設定(任意)",
|
||
"writeCommonConfig": "共通設定を書き込む",
|
||
"editCommonConfig": "共通設定を編集",
|
||
"editCommonConfigTitle": "Gemini 共通設定スニペットを編集",
|
||
"commonConfigHint": "このスニペットは Gemini の .env に書き込みます(GOOGLE_GEMINI_BASE_URL、GEMINI_API_KEY は使用できません)",
|
||
"extractFromCurrent": "編集内容から抽出",
|
||
"extractNoCommonConfig": "編集内容から抽出できる共通設定がありません",
|
||
"extractFailed": "抽出に失敗しました: {{error}}",
|
||
"saveFailed": "保存に失敗しました: {{error}}",
|
||
"extractedConfigInvalid": "抽出した設定のフォーマットが不正です",
|
||
"invalidJsonFormat": "共通設定スニペットの形式が不正です(有効な JSON でなければなりません)",
|
||
"commonConfigInvalidKeys": "共通設定スニペットに GOOGLE_GEMINI_BASE_URL または GEMINI_API_KEY を含めることはできません(検出: {{keys}})",
|
||
"commonConfigInvalidValues": "共通設定スニペットの値は文字列である必要があります",
|
||
"noCommonConfigToApply": "共通設定スニペットが空、または適用できる項目がありません",
|
||
"configMergeFailed": "設定のマージに失敗しました: {{error}}",
|
||
"configReplaceFailed": "設定の置換に失敗しました: {{error}}"
|
||
},
|
||
"opencode": {
|
||
"npmPackage": "API フォーマット",
|
||
"selectPackage": "API フォーマットを選択",
|
||
"npmPackageHint": "AI サービスの API フォーマットを選択",
|
||
"baseUrl": "Base URL",
|
||
"baseUrlHint": "カスタム API エンドポイント URL",
|
||
"models": "モデル設定",
|
||
"modelsHint": "利用可能なモデルとその表示名を設定",
|
||
"addModel": "モデルを追加",
|
||
"modelId": "モデル ID",
|
||
"modelName": "表示名",
|
||
"noModels": "モデルが設定されていません",
|
||
"providerKey": "プロバイダーキー",
|
||
"providerKeyPlaceholder": "my-provider",
|
||
"providerKeyHint": "設定ファイルの一意の識別子。作成後は変更できません。小文字、数字、ハイフンのみ使用できます。",
|
||
"providerKeyRequired": "プロバイダーキーを入力してください",
|
||
"providerKeyDuplicate": "このキーは既に使用されています",
|
||
"providerKeyInvalid": "無効な形式です。小文字、数字、ハイフンのみ使用できます。",
|
||
"extraOptions": "追加オプション",
|
||
"extraOptionsHint": "timeout、setCacheKey などの SDK オプションを設定。値は自動的に適切な型(数値、真偽値など)に変換されます。",
|
||
"addExtraOption": "追加",
|
||
"extraOptionKey": "キー名",
|
||
"extraOptionValue": "値",
|
||
"extraOptionKeyPlaceholder": "timeout",
|
||
"extraOptionValuePlaceholder": "600000",
|
||
"noExtraOptions": "追加オプションはありません",
|
||
"noModelOptions": "モデルオプション、+ をクリックして追加",
|
||
"modelOptionKeyPlaceholder": "provider",
|
||
"modelOptionValuePlaceholder": "{\"order\": [\"baseten\"]}"
|
||
},
|
||
"providerPreset": {
|
||
"label": "プロバイダータイプ",
|
||
"custom": "カスタム設定",
|
||
"other": "その他",
|
||
"hint": "プリセットを選んだ後でも、下のフィールドで調整できます。"
|
||
},
|
||
"usage": {
|
||
"title": "利用統計",
|
||
"subtitle": "AI モデルの利用状況とコスト統計を表示",
|
||
"today": "24時間",
|
||
"last7days": "7日間",
|
||
"last30days": "30日間",
|
||
"totalRequests": "総リクエスト数",
|
||
"totalCost": "総コスト",
|
||
"cost": "コスト",
|
||
"perMillion": "(100万あたり)",
|
||
"trends": "利用トレンド",
|
||
"rangeToday": "直近24時間 (時間別)",
|
||
"rangeLast7Days": "過去7日間",
|
||
"rangeLast30Days": "過去30日間",
|
||
"totalTokens": "総トークン数",
|
||
"cacheTokens": "キャッシュトークン",
|
||
"requestLogs": "リクエストログ",
|
||
"providerStats": "プロバイダー統計",
|
||
"modelStats": "モデル統計",
|
||
"time": "時間",
|
||
"provider": "プロバイダー",
|
||
"billingModel": "課金モデル",
|
||
"inputTokens": "入力",
|
||
"outputTokens": "出力",
|
||
"cacheReadTokens": "キャッシュヒット",
|
||
"cacheCreationTokens": "キャッシュ作成",
|
||
"timingInfo": "応答時間/TTFT",
|
||
"status": "ステータス",
|
||
"noData": "データなし",
|
||
"unknownProvider": "不明なプロバイダー",
|
||
"stream": "ストリーム",
|
||
"nonStream": "非ストリーム",
|
||
"totalRecords": "全 {{total}} 件",
|
||
"modelPricing": "モデル料金",
|
||
"loadPricingError": "料金データの読み込みに失敗しました",
|
||
"modelPricingDesc": "各モデルのトークンコストを設定",
|
||
"noPricingData": "料金データがありません。「追加」をクリックしてモデル料金を設定してください。",
|
||
"model": "モデル",
|
||
"displayName": "表示名",
|
||
"inputCost": "入力コスト",
|
||
"outputCost": "出力コスト",
|
||
"cacheReadCost": "キャッシュヒット",
|
||
"cacheWriteCost": "キャッシュ作成",
|
||
"deleteConfirmTitle": "削除の確認",
|
||
"deleteConfirmDesc": "このモデル料金を削除しますか?この操作は元に戻せません。",
|
||
"queryFailed": "照会に失敗しました",
|
||
"refreshUsage": "利用状況を更新",
|
||
"planUsage": "プラン利用状況",
|
||
"invalid": "期限切れ",
|
||
"total": "合計:",
|
||
"used": "使用:",
|
||
"remaining": "残り:",
|
||
"justNow": "たった今",
|
||
"minutesAgo": "{{count}} 分前",
|
||
"hoursAgo": "{{count}} 時間前",
|
||
"daysAgo": "{{count}} 日前",
|
||
"multiplePlans": "{{count}} プラン",
|
||
"expand": "展開",
|
||
"collapse": "折りたたむ",
|
||
"modelIdPlaceholder": "例: claude-3-5-sonnet-20241022",
|
||
"displayNamePlaceholder": "例: Claude 3.5 Sonnet",
|
||
"appType": "アプリ種別",
|
||
"allApps": "すべてのアプリ",
|
||
"statusCode": "ステータスコード",
|
||
"searchProviderPlaceholder": "プロバイダーを検索...",
|
||
"searchModelPlaceholder": "モデルを検索...",
|
||
"timeRange": "期間",
|
||
"input": "Input",
|
||
"output": "Output",
|
||
"cacheWrite": "作成",
|
||
"cacheRead": "ヒット"
|
||
},
|
||
"usageScript": {
|
||
"title": "利用状況を設定",
|
||
"enableUsageQuery": "利用状況照会を有効にする",
|
||
"presetTemplate": "プリセットテンプレート",
|
||
"requestUrl": "リクエスト URL",
|
||
"requestUrlPlaceholder": "例: https://api.example.com",
|
||
"method": "HTTP メソッド",
|
||
"templateCustom": "カスタム",
|
||
"templateGeneral": "General",
|
||
"templateNewAPI": "NewAPI",
|
||
"credentialsConfig": "認証情報",
|
||
"credentialsHint": "空欄の場合はプロバイダー設定を使用",
|
||
"optional": "オプション",
|
||
"apiKeyPlaceholder": "空欄の場合はプロバイダーの API Key を使用",
|
||
"baseUrlPlaceholder": "空欄の場合はプロバイダーの Base URL を使用",
|
||
"baseUrl": "Base URL",
|
||
"accessToken": "Access Token",
|
||
"accessTokenPlaceholder": "「Security Settings」で生成",
|
||
"userId": "ユーザー ID",
|
||
"userIdPlaceholder": "例: 114514",
|
||
"defaultPlan": "デフォルトプラン",
|
||
"queryFailedMessage": "照会に失敗しました",
|
||
"queryScript": "照会スクリプト (JavaScript)",
|
||
"timeoutSeconds": "タイムアウト(秒)",
|
||
"headers": "ヘッダー",
|
||
"body": "ボディ",
|
||
"timeoutHint": "範囲: 2〜30 秒",
|
||
"timeoutMustBeInteger": "タイムアウトは整数で入力してください(小数は切り捨て)",
|
||
"timeoutCannotBeNegative": "タイムアウトは負の値にできません",
|
||
"autoIntervalMinutes": "自動照会間隔(分、0 で無効)",
|
||
"autoQueryInterval": "自動照会間隔(分)",
|
||
"autoQueryIntervalHint": "0 で無効。推奨 5〜60 分",
|
||
"intervalMustBeInteger": "間隔は整数で入力してください(小数は切り捨て)",
|
||
"intervalCannotBeNegative": "間隔は負の値にできません",
|
||
"intervalAdjusted": "間隔を {{value}} 分に調整しました",
|
||
"scriptHelp": "スクリプトの書き方:",
|
||
"configFormat": "設定の形式:",
|
||
"commentOptional": "任意",
|
||
"commentResponseIsJson": "response は API から返る JSON データです",
|
||
"extractorFormat": "抽出関数の返却形式(すべて任意):",
|
||
"tips": "💡 ヒント:",
|
||
"testing": "テスト中...",
|
||
"testScript": "スクリプトをテスト",
|
||
"format": "整形",
|
||
"saveConfig": "設定を保存",
|
||
"scriptEmpty": "スクリプト設定は空にできません",
|
||
"mustHaveReturn": "スクリプトには return 文が必要です",
|
||
"testSuccess": "テスト成功!",
|
||
"testFailed": "テストに失敗しました",
|
||
"formatSuccess": "整形に成功しました",
|
||
"formatFailed": "整形に失敗しました",
|
||
"supportedVariables": "使用可能な変数",
|
||
"variablesHint": "使用可能な変数: {{apiKey}}, {{baseUrl}} | extractor 関数には API 応答の JSON オブジェクトが渡されます",
|
||
"scriptConfig": "リクエスト設定",
|
||
"extractorCode": "抽出コード",
|
||
"extractorHint": "戻り値のオブジェクトに残り枠の項目を含めてください",
|
||
"fieldIsValid": "• isValid: Boolean。プランが有効かどうか",
|
||
"fieldInvalidMessage": "• invalidMessage: String。無効時の理由(isValid が false のとき表示)",
|
||
"fieldRemaining": "• remaining: Number。残り枠",
|
||
"fieldUnit": "• unit: String。単位(例: \"USD\")",
|
||
"fieldPlanName": "• planName: String。プラン名",
|
||
"fieldTotal": "• total: Number。総枠",
|
||
"fieldUsed": "• used: Number。使用量",
|
||
"fieldExtra": "• extra: String。自由記述の追加テキスト",
|
||
"tip1": "• 変数 {{apiKey}} と {{baseUrl}} は自動で置換されます",
|
||
"tip2": "• 抽出関数はサンドボックスで実行され、ES2020+ の構文を使えます",
|
||
"tip3": "• 全体を () で囲み、オブジェクトリテラル式にしてください"
|
||
},
|
||
"errors": {
|
||
"usage_query_failed": "利用状況の取得に失敗しました",
|
||
"configLoadFailedTitle": "設定の読み込みに失敗しました",
|
||
"configLoadFailedMessage": "設定ファイルを読み込めません:\n{{path}}\n\nエラー詳細:\n{{detail}}\n\nJSON が正しいか確認するか、同じディレクトリのバックアップファイル(config.json.bak など)から復元してください。\n\nアプリを終了して修正してください。"
|
||
},
|
||
"presetSelector": {
|
||
"title": "設定タイプを選択",
|
||
"custom": "カスタム",
|
||
"customDescription": "手動で設定。完全な構成が必要",
|
||
"officialDescription": "公式ログイン。API Key 不要",
|
||
"presetDescription": "プリセットを使用。API Key だけ入力すれば OK"
|
||
},
|
||
"mcp": {
|
||
"title": "MCP 管理",
|
||
"import": "インポート",
|
||
"importExisting": "既存をインポート",
|
||
"addMcp": "MCPを追加",
|
||
"claudeTitle": "Claude Code MCP 管理",
|
||
"codexTitle": "Codex MCP 管理",
|
||
"geminiTitle": "Gemini MCP 管理",
|
||
"unifiedPanel": {
|
||
"title": "MCP サーバー管理",
|
||
"addServer": "サーバーを追加",
|
||
"editServer": "サーバーを編集",
|
||
"deleteServer": "サーバーを削除",
|
||
"deleteConfirm": "サーバー「{{id}}」を削除しますか?この操作は元に戻せません。",
|
||
"noServers": "まだサーバーがありません",
|
||
"enabledApps": "有効なアプリ",
|
||
"noImportFound": "インポートする MCP サーバーが見つかりませんでした。すべてのサーバーは CC Switch で管理されています。",
|
||
"importSuccess": "{{count}} 個の MCP サーバーをインポートしました",
|
||
"apps": {
|
||
"claude": "Claude",
|
||
"codex": "Codex",
|
||
"gemini": "Gemini",
|
||
"opencode": "OpenCode"
|
||
}
|
||
},
|
||
"userLevelPath": "ユーザーレベルの MCP パス",
|
||
"serverList": "サーバー一覧",
|
||
"loading": "読み込み中...",
|
||
"empty": "MCP サーバーがありません",
|
||
"emptyDescription": "右上のボタンから最初の MCP サーバーを追加してください",
|
||
"add": "MCP を追加",
|
||
"addServer": "MCP を追加",
|
||
"editServer": "MCP を編集",
|
||
"addClaudeServer": "Claude Code MCP を追加",
|
||
"editClaudeServer": "Claude Code MCP を編集",
|
||
"addCodexServer": "Codex MCP を追加",
|
||
"editCodexServer": "Codex MCP を編集",
|
||
"configPath": "設定パス",
|
||
"serverCount": "MCP サーバー: {{count}} 件",
|
||
"enabledCount": "{{count}} 件が有効",
|
||
"template": {
|
||
"fetch": "クイックテンプレート: mcp-fetch"
|
||
},
|
||
"form": {
|
||
"title": "MCP ID(ユニーク)",
|
||
"titlePlaceholder": "my-mcp-server",
|
||
"name": "表示名",
|
||
"namePlaceholder": "例: @modelcontextprotocol/server-time",
|
||
"enabledApps": "適用するアプリ",
|
||
"noAppsWarning": "少なくとも 1 つ選択してください",
|
||
"description": "説明",
|
||
"descriptionPlaceholder": "任意の説明",
|
||
"tags": "タグ(カンマ区切り)",
|
||
"tagsPlaceholder": "stdio, time, utility",
|
||
"homepage": "ホームページ",
|
||
"homepagePlaceholder": "https://example.com",
|
||
"docs": "ドキュメント",
|
||
"docsPlaceholder": "https://example.com/docs",
|
||
"additionalInfo": "追加情報",
|
||
"jsonConfig": "JSON 全設定",
|
||
"jsonConfigOrPrefix": "JSON 全設定、または",
|
||
"tomlConfigOrPrefix": "TOML 全設定、または",
|
||
"jsonPlaceholder": "{\n \"type\": \"stdio\",\n \"command\": \"uvx\",\n \"args\": [\"mcp-server-fetch\"]\n}",
|
||
"tomlConfig": "TOML 全設定",
|
||
"tomlPlaceholder": "type = \"stdio\"\ncommand = \"uvx\"\nargs = [\"mcp-server-fetch\"]",
|
||
"useWizard": "設定ウィザード",
|
||
"syncOtherSide": "{{target}} にも反映",
|
||
"syncOtherSideHint": "{{target}} に同じ設定を書き込みます。既存の同一 ID は上書きされます。",
|
||
"willOverwriteWarning": "{{target}} の既存設定を上書きします"
|
||
},
|
||
"wizard": {
|
||
"title": "MCP 設定ウィザード",
|
||
"hint": "MCP サーバーを素早く設定し JSON を自動生成します",
|
||
"type": "タイプ",
|
||
"typeStdio": "stdio",
|
||
"typeHttp": "http",
|
||
"typeSse": "sse",
|
||
"command": "コマンド",
|
||
"commandPlaceholder": "npx または uvx",
|
||
"args": "引数",
|
||
"argsPlaceholder": "arg1\narg2",
|
||
"env": "環境変数",
|
||
"envPlaceholder": "KEY1=value1\nKEY2=value2",
|
||
"url": "URL",
|
||
"urlPlaceholder": "https://api.example.com/mcp",
|
||
"urlRequired": "URL を入力してください",
|
||
"headers": "ヘッダー(任意)",
|
||
"headersPlaceholder": "Authorization: Bearer your_token_here\nContent-Type: application/json",
|
||
"preview": "設定プレビュー",
|
||
"apply": "設定を反映"
|
||
},
|
||
"id": "識別子(ユニーク)",
|
||
"type": "タイプ",
|
||
"command": "コマンド",
|
||
"validateCommand": "コマンドを検証",
|
||
"args": "引数",
|
||
"argsPlaceholder": "例: mcp-server-fetch --help",
|
||
"env": "環境変数(1 行に 1 件、KEY=VALUE)",
|
||
"envPlaceholder": "FOO=bar\nHELLO=world",
|
||
"reset": "リセット",
|
||
"msg": {
|
||
"saved": "保存しました",
|
||
"deleted": "削除しました",
|
||
"enabled": "有効化しました",
|
||
"disabled": "無効化しました",
|
||
"templateAdded": "テンプレートを追加しました"
|
||
},
|
||
"error": {
|
||
"idRequired": "識別子を入力してください",
|
||
"idExists": "この識別子は既に存在します。別のものを選んでください。",
|
||
"jsonInvalid": "JSON 形式が無効です",
|
||
"tomlInvalid": "TOML 形式が無効です",
|
||
"commandRequired": "コマンドを入力してください",
|
||
"singleServerObjectRequired": "単一の MCP サーバーオブジェクトを貼り付けてください(トップレベルの mcpServers は不要)",
|
||
"saveFailed": "保存に失敗しました",
|
||
"deleteFailed": "削除に失敗しました"
|
||
},
|
||
"validation": {
|
||
"ok": "コマンドが見つかりました",
|
||
"fail": "コマンドが見つかりません"
|
||
},
|
||
"confirm": {
|
||
"deleteTitle": "MCP サーバーを削除",
|
||
"deleteMessage": "MCP サーバー「{{id}}」を削除してもよろしいですか?この操作は元に戻せません。"
|
||
},
|
||
"presets": {
|
||
"title": "MCP タイプを選択",
|
||
"enable": "有効化",
|
||
"enabled": "有効",
|
||
"installed": "インストール済み",
|
||
"docs": "ドキュメント",
|
||
"requiresEnv": "環境変数が必要",
|
||
"fetch": {
|
||
"name": "mcp-server-fetch",
|
||
"description": "汎用 HTTP リクエストツール。GET/POST などに対応し、API テストや Web データ取得に最適です"
|
||
},
|
||
"time": {
|
||
"name": "@modelcontextprotocol/server-time",
|
||
"description": "現在時刻、タイムゾーン変換、日付計算を提供する時間クエリツール"
|
||
},
|
||
"memory": {
|
||
"name": "@modelcontextprotocol/server-memory",
|
||
"description": "エンティティ・関係・観測を扱うナレッジグラフ型メモリ。会話の重要情報を AI に記憶させます"
|
||
},
|
||
"sequential-thinking": {
|
||
"name": "@modelcontextprotocol/server-sequential-thinking",
|
||
"description": "複雑な問題をステップに分解して深く考えるためのシーケンシャル思考ツール"
|
||
},
|
||
"context7": {
|
||
"name": "@upstash/context7-mcp",
|
||
"description": "最新のライブラリドキュメントとコード例を提供する Context7 ドキュメント検索ツール。キー設定で上限が拡張されます"
|
||
}
|
||
}
|
||
},
|
||
"prompts": {
|
||
"manage": "プロンプト",
|
||
"title": "{{appName}} プロンプト管理",
|
||
"claudeTitle": "Claude プロンプト管理",
|
||
"codexTitle": "Codex プロンプト管理",
|
||
"add": "プロンプトを追加",
|
||
"edit": "プロンプトを編集",
|
||
"addTitle": "{{appName}} プロンプトを追加",
|
||
"editTitle": "{{appName}} プロンプトを編集",
|
||
"import": "既存をインポート",
|
||
"count": "{{count}} 件のプロンプト",
|
||
"enabled": "有効",
|
||
"enable": "有効化",
|
||
"enabledName": "有効: {{name}}",
|
||
"noneEnabled": "有効なプロンプトがありません",
|
||
"currentFile": "現在の {{filename}} の内容",
|
||
"empty": "まだプロンプトがありません",
|
||
"emptyDescription": "上のボタンからプロンプトを追加またはインポートしてください",
|
||
"loading": "読み込み中...",
|
||
"name": "名前",
|
||
"namePlaceholder": "例: デフォルトプロジェクトプロンプト",
|
||
"description": "説明",
|
||
"descriptionPlaceholder": "任意の説明",
|
||
"content": "内容",
|
||
"contentPlaceholder": "# {{filename}}\n\nここにプロンプト内容を入力...",
|
||
"loadFailed": "プロンプトの読み込みに失敗しました",
|
||
"saveSuccess": "保存しました",
|
||
"saveFailed": "保存に失敗しました",
|
||
"deleteSuccess": "削除しました",
|
||
"deleteFailed": "削除に失敗しました",
|
||
"enableSuccess": "有効化しました",
|
||
"enableFailed": "有効化に失敗しました",
|
||
"disableSuccess": "無効化しました",
|
||
"disableFailed": "無効化に失敗しました",
|
||
"importSuccess": "インポートしました",
|
||
"importFailed": "インポートに失敗しました",
|
||
"confirm": {
|
||
"deleteTitle": "削除の確認",
|
||
"deleteMessage": "プロンプト「{{name}}」を削除してもよろしいですか?"
|
||
}
|
||
},
|
||
"env": {
|
||
"warning": {
|
||
"title": "競合する環境変数を検出しました",
|
||
"description": "設定を上書きする可能性のある環境変数を {{count}} 件見つけました"
|
||
},
|
||
"actions": {
|
||
"expand": "詳細を表示",
|
||
"collapse": "折りたたむ",
|
||
"selectAll": "すべて選択",
|
||
"clearSelection": "選択を解除",
|
||
"deleteSelected": "選択 {{count}} 件を削除",
|
||
"deleting": "削除中..."
|
||
},
|
||
"field": {
|
||
"value": "値",
|
||
"source": "ソース"
|
||
},
|
||
"source": {
|
||
"userRegistry": "ユーザー環境変数(レジストリ)",
|
||
"systemRegistry": "システム環境変数(レジストリ)",
|
||
"systemEnv": "システム環境変数"
|
||
},
|
||
"delete": {
|
||
"success": "環境変数を削除しました",
|
||
"error": "環境変数の削除に失敗しました"
|
||
},
|
||
"backup": {
|
||
"location": "バックアップ場所: {{path}}"
|
||
},
|
||
"confirm": {
|
||
"title": "環境変数を削除しますか?",
|
||
"message": "{{count}} 件の環境変数を削除してもよろしいですか?",
|
||
"backupNotice": "削除前に自動バックアップを作成します。後で復元できます。再起動またはターミナル再起動後に反映されます。",
|
||
"confirm": "削除を確認"
|
||
},
|
||
"error": {
|
||
"noSelection": "削除する環境変数を選択してください"
|
||
}
|
||
},
|
||
"skills": {
|
||
"manage": "Skills",
|
||
"title": "Skills 管理",
|
||
"description": "人気リポジトリからスキルを探してインストールし、Claude Code/Codex/Gemini を拡張",
|
||
"refresh": "更新",
|
||
"refreshing": "更新中...",
|
||
"repoManager": "リポジトリ管理",
|
||
"count": "{{count}} 個のスキル",
|
||
"empty": "スキルがありません",
|
||
"emptyDescription": "スキルリポジトリを追加して探索してください",
|
||
"addRepo": "スキルリポジトリを追加",
|
||
"loading": "読み込み中...",
|
||
"installed": "インストール済み",
|
||
"install": "インストール",
|
||
"installing": "インストール中...",
|
||
"uninstall": "アンインストール",
|
||
"uninstalling": "アンインストール中...",
|
||
"view": "表示",
|
||
"noDescription": "説明なし",
|
||
"loadFailed": "読み込みに失敗しました",
|
||
"installSuccess": "スキル {{name}} をインストールしました",
|
||
"installFailed": "インストールに失敗しました",
|
||
"uninstallSuccess": "スキル {{name}} をアンインストールしました",
|
||
"uninstallFailed": "アンインストールに失敗しました",
|
||
"error": {
|
||
"skillNotFound": "スキルが見つかりません: {{directory}}",
|
||
"missingRepoInfo": "リポジトリ情報(owner または name)が不足しています",
|
||
"downloadTimeout": "リポジトリ {{owner}}/{{name}} のダウンロードがタイムアウトしました({{timeout}} 秒)",
|
||
"downloadTimeoutHint": "ネットワークを確認するか、時間をおいて再試行してください",
|
||
"skillPathNotFound": "リポジトリ {{owner}}/{{name}} にスキルパス '{{path}}' がありません",
|
||
"skillDirNotFound": "スキルディレクトリが見つかりません: {{path}}",
|
||
"directoryConflict": "スキルディレクトリ '{{directory}}' は既に {{existing_repo}} で使用されています。{{new_repo}} からインストールできません",
|
||
"emptyArchive": "ダウンロードしたアーカイブが空です",
|
||
"downloadFailed": "ダウンロードに失敗しました: HTTP {{status}}",
|
||
"allBranchesFailed": "すべてのブランチで失敗しました。試行: {{branches}}",
|
||
"httpError": "HTTP エラー {{status}}",
|
||
"http403": "GitHub へのアクセスが制限されています(レート制限の可能性)",
|
||
"http404": "リポジトリまたはブランチが見つかりません。URL を確認してください",
|
||
"http429": "リクエストが多すぎます。時間をおいて再試行してください",
|
||
"parseMetadataFailed": "スキルメタデータの解析に失敗しました",
|
||
"getHomeDirFailed": "ユーザーのホームディレクトリを取得できません",
|
||
"networkError": "ネットワークエラー",
|
||
"fsError": "ファイルシステムエラー",
|
||
"unknownError": "不明なエラー",
|
||
"suggestion": {
|
||
"checkNetwork": "ネットワーク接続を確認してください",
|
||
"checkProxy": "HTTP プロキシの設定を検討してください",
|
||
"retryLater": "時間をおいて再試行してください",
|
||
"checkRepoUrl": "リポジトリ URL とブランチ名を確認してください",
|
||
"checkDiskSpace": "ディスク容量を確認してください",
|
||
"checkPermission": "ディレクトリの権限を確認してください",
|
||
"uninstallFirst": "同名のスキルを先にアンインストールしてください"
|
||
}
|
||
},
|
||
"repo": {
|
||
"title": "スキルリポジトリを管理",
|
||
"description": "GitHub のスキルリポジトリソースを追加または削除します",
|
||
"url": "リポジトリ URL",
|
||
"urlPlaceholder": "owner/name または https://github.com/owner/name",
|
||
"branch": "ブランチ",
|
||
"branchPlaceholder": "main",
|
||
"path": "スキルパス",
|
||
"pathPlaceholder": "skills(任意。空欄はルート)",
|
||
"add": "リポジトリを追加",
|
||
"list": "追加済みリポジトリ",
|
||
"empty": "リポジトリがありません",
|
||
"invalidUrl": "リポジトリ URL の形式が無効です",
|
||
"addSuccess": "リポジトリ {{owner}}/{{name}} を追加しました。検出スキル: {{count}} 件",
|
||
"addFailed": "追加に失敗しました",
|
||
"removeSuccess": "リポジトリ {{owner}}/{{name}} を削除しました",
|
||
"removeFailed": "削除に失敗しました",
|
||
"skillCount": "{{count}} 件のスキルを検出"
|
||
},
|
||
"search": "スキルを検索",
|
||
"searchPlaceholder": "スキル名または説明で検索...",
|
||
"filter": {
|
||
"placeholder": "状態で絞り込み",
|
||
"all": "すべて",
|
||
"installed": "インストール済み",
|
||
"uninstalled": "未インストール"
|
||
},
|
||
"noResults": "一致するスキルが見つかりませんでした",
|
||
"noInstalled": "インストールされたスキルがありません",
|
||
"noInstalledDescription": "リポジトリからスキルを発見してインストールするか、既存のスキルをインポートしてください",
|
||
"discover": "スキルを発見",
|
||
"import": "既存をインポート",
|
||
"importDescription": "CC Switch 統合管理にインポートするスキルを選択してください",
|
||
"importSuccess": "{{count}} 件のスキルをインポートしました",
|
||
"importSelected": "選択をインポート ({{count}})",
|
||
"noUnmanagedFound": "インポートするスキルが見つかりませんでした。すべてのスキルは CC Switch で管理されています。",
|
||
"foundIn": "発見場所",
|
||
"local": "ローカル",
|
||
"uninstallConfirm": "「{{name}}」をアンインストールしますか?すべてのアプリからこのスキルが削除されます。",
|
||
"uninstallInMainPanel": "メインパネルからスキルをアンインストールしてください",
|
||
"notFound": "スキルが見つかりません",
|
||
"apps": {
|
||
"claude": "Claude",
|
||
"codex": "Codex",
|
||
"gemini": "Gemini",
|
||
"opencode": "OpenCode"
|
||
}
|
||
},
|
||
"deeplink": {
|
||
"confirmImport": "プロバイダーのインポートを確認",
|
||
"confirmImportDescription": "次の設定をディープリンクから CC Switch へインポートします",
|
||
"importPrompt": "プロンプトをインポート",
|
||
"importPromptDescription": "このシステムプロンプトをインポートするか確認してください",
|
||
"importMcp": "MCP サーバーをインポート",
|
||
"importMcpDescription": "これらの MCP サーバーをインポートするか確認してください",
|
||
"importSkill": "スキルリポジトリを追加",
|
||
"importSkillDescription": "このスキルリポジトリを追加するか確認してください",
|
||
"promptImportSuccess": "プロンプトをインポートしました",
|
||
"promptImportSuccessDescription": "インポートされたプロンプト: {{name}}",
|
||
"mcpImportSuccess": "MCP サーバーをインポートしました",
|
||
"mcpImportSuccessDescription": "{{count}} 件のサーバーをインポートしました",
|
||
"mcpPartialSuccess": "一部のみインポート成功",
|
||
"mcpPartialSuccessDescription": "成功: {{success}}、失敗: {{failed}}",
|
||
"skillImportSuccess": "スキルリポジトリを追加しました",
|
||
"skillImportSuccessDescription": "追加したリポジトリ: {{repo}}",
|
||
"app": "アプリ種別",
|
||
"providerName": "プロバイダー名",
|
||
"homepage": "ホームページ",
|
||
"endpoint": "API エンドポイント",
|
||
"apiKey": "API Key",
|
||
"icon": "アイコン",
|
||
"model": "モデル",
|
||
"haikuModel": "Haiku モデル",
|
||
"sonnetModel": "Sonnet モデル",
|
||
"opusModel": "Opus モデル",
|
||
"multiModel": "マルチモーダルモデル",
|
||
"notes": "メモ",
|
||
"import": "インポート",
|
||
"importing": "インポート中...",
|
||
"warning": "インポート前に内容を確認してください。後から一覧で編集・削除できます。",
|
||
"parseError": "ディープリンクの解析に失敗しました",
|
||
"importSuccess": "インポート成功",
|
||
"importSuccessDescription": "プロバイダー「{{name}}」をインポートしました",
|
||
"importError": "インポートに失敗しました",
|
||
"configSource": "設定ソース",
|
||
"configEmbedded": "埋め込み設定",
|
||
"configRemote": "リモート設定",
|
||
"configDetails": "設定の詳細",
|
||
"configUrl": "設定ファイル URL",
|
||
"configMergeError": "設定ファイルのマージに失敗しました",
|
||
"primaryEndpoint": "メイン",
|
||
"mcp": {
|
||
"title": "MCP サーバーを一括インポート",
|
||
"targetApps": "ターゲットアプリ",
|
||
"serverCount": "MCP サーバー({{count}} 件)",
|
||
"enabledWarning": "インポート後、指定したすべてのアプリに即座に書き込まれます"
|
||
},
|
||
"prompt": {
|
||
"title": "システムプロンプトをインポート",
|
||
"app": "アプリ",
|
||
"name": "名前",
|
||
"description": "説明",
|
||
"contentPreview": "内容プレビュー",
|
||
"enabledWarning": "インポート後すぐにこのプロンプトが有効になり、他は無効になります"
|
||
},
|
||
"skill": {
|
||
"title": "Claude スキルリポジトリを追加",
|
||
"repo": "GitHub リポジトリ",
|
||
"directory": "対象ディレクトリ",
|
||
"branch": "ブランチ",
|
||
"skillsPath": "スキルパス",
|
||
"hint": "この操作でスキルリポジトリが一覧に追加されます。",
|
||
"hintDetail": "追加後、スキル管理ページから個別のスキルをインストールできます。"
|
||
}
|
||
},
|
||
"iconPicker": {
|
||
"search": "アイコンを検索",
|
||
"searchPlaceholder": "アイコン名を入力...",
|
||
"noResults": "一致するアイコンが見つかりません",
|
||
"category": {
|
||
"aiProvider": "AI プロバイダー",
|
||
"cloud": "クラウドプラットフォーム",
|
||
"tool": "開発ツール",
|
||
"other": "その他"
|
||
}
|
||
},
|
||
"providerIcon": {
|
||
"label": "アイコン",
|
||
"colorLabel": "アイコンカラー",
|
||
"selectIcon": "アイコンを選択",
|
||
"preview": "プレビュー",
|
||
"clickToChange": "クリックでアイコンを変更",
|
||
"clickToSelect": "クリックでアイコンを選択"
|
||
},
|
||
"migration": {
|
||
"success": "設定の移行が完了しました",
|
||
"skillsSuccess": "スキルを {{count}} 件、自動的に統合管理へインポートしました",
|
||
"skillsFailed": "スキルの自動インポートに失敗しました",
|
||
"skillsFailedDescription": "Skills 画面で「既存をインポート」をクリックして手動でインポートしてください(または再起動して再試行)。"
|
||
},
|
||
"agents": {
|
||
"title": "エージェント"
|
||
},
|
||
"health": {
|
||
"operational": "正常",
|
||
"degraded": "低下",
|
||
"failed": "失敗",
|
||
"circuitOpen": "サーキットオープン",
|
||
"consecutiveFailures": "{{count}} 回連続失敗"
|
||
},
|
||
"failover": {
|
||
"enabled": "{{app}} フェイルオーバーが有効になりました",
|
||
"disabled": "{{app}} フェイルオーバーが無効になりました",
|
||
"toggleFailed": "操作に失敗しました: {{detail}}",
|
||
"inQueue": "キュー内",
|
||
"addQueue": "追加",
|
||
"priority": {
|
||
"tooltip": "フェイルオーバー優先度 {{priority}}"
|
||
},
|
||
"tooltip": {
|
||
"enabled": "{{app}} フェイルオーバーが有効\nキューの優先度(P1→P2→...)で使用します",
|
||
"disabled": "{{app}} フェイルオーバーを有効にする\nキューの P1 に即時切替し、失敗時は次を順に試行します"
|
||
}
|
||
},
|
||
"proxy": {
|
||
"panel": {
|
||
"serviceAddress": "サービスアドレス",
|
||
"addressCopied": "アドレスをコピーしました",
|
||
"currentProvider": "現在のプロバイダー:",
|
||
"waitingFirstRequest": "現在のプロバイダー: 最初のリクエスト待ち...",
|
||
"stoppedTitle": "プロキシサービス停止中",
|
||
"stoppedDescription": "右上のトグルでサービスを開始できます",
|
||
"openSettings": "プロキシサービスを設定",
|
||
"stats": {
|
||
"activeConnections": "アクティブ接続",
|
||
"totalRequests": "総リクエスト数",
|
||
"successRate": "成功率",
|
||
"uptime": "稼働時間"
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "プロキシサービス設定",
|
||
"description": "ローカルプロキシサーバーのリッスンアドレス、ポート、実行パラメータを設定します。保存後すぐに反映されます。",
|
||
"alert": {
|
||
"autoApply": "変更は実行中のプロキシサービスに自動的に同期され、手動での再起動は不要です。"
|
||
},
|
||
"basic": {
|
||
"title": "基本設定",
|
||
"description": "プロキシサービスのリッスンアドレスとポートを設定します。"
|
||
},
|
||
"advanced": {
|
||
"title": "詳細パラメータ",
|
||
"description": "リクエストの安定性とログ記録を制御します。"
|
||
},
|
||
"timeout": {
|
||
"title": "タイムアウト設定",
|
||
"description": "ストリーミングと非ストリーミングリクエストのタイムアウトを設定します。"
|
||
},
|
||
"fields": {
|
||
"listenAddress": {
|
||
"label": "リッスンアドレス",
|
||
"placeholder": "127.0.0.1",
|
||
"description": "プロキシサーバーがリッスンするIPアドレス(推奨: 127.0.0.1)"
|
||
},
|
||
"listenPort": {
|
||
"label": "リッスンポート",
|
||
"placeholder": "15721",
|
||
"description": "プロキシサーバーがリッスンするポート番号(1024 ~ 65535)"
|
||
},
|
||
"maxRetries": {
|
||
"label": "最大リトライ回数",
|
||
"placeholder": "3",
|
||
"description": "リクエスト失敗時のリトライ回数(0 ~ 10)"
|
||
},
|
||
"requestTimeout": {
|
||
"label": "リクエストタイムアウト(秒)",
|
||
"placeholder": "0(無制限)または 300",
|
||
"description": "単一リクエストの最大待機時間(0 = 無制限、または 10 ~ 600 秒)"
|
||
},
|
||
"enableLogging": {
|
||
"label": "ログ記録を有効化",
|
||
"description": "トラブルシューティングのためにすべてのプロキシリクエストを記録"
|
||
},
|
||
"streamingFirstByteTimeout": {
|
||
"label": "ストリーミング初回バイトタイムアウト(秒)",
|
||
"description": "最初のデータチャンクを待つ最大時間"
|
||
},
|
||
"streamingIdleTimeout": {
|
||
"label": "ストリーミングアイドルタイムアウト(秒)",
|
||
"description": "データチャンク間の最大間隔"
|
||
},
|
||
"nonStreamingTimeout": {
|
||
"label": "非ストリーミングタイムアウト(秒)",
|
||
"description": "非ストリーミングリクエストの総タイムアウト"
|
||
}
|
||
},
|
||
"validation": {
|
||
"addressInvalid": "有効なIPアドレスを入力してください",
|
||
"portMin": "ポートは1024より大きい必要があります",
|
||
"portMax": "ポートは65535より小さい必要があります",
|
||
"retryMin": "リトライ回数は負の値にできません",
|
||
"retryMax": "リトライ回数は10を超えることはできません",
|
||
"timeoutNonNegative": "タイムアウトは負の値にできません",
|
||
"timeoutMax": "タイムアウトは600秒を超えることはできません",
|
||
"timeoutRange": "0または10-600の間の値を入力してください",
|
||
"streamingTimeoutMin": "タイムアウトは少なくとも5秒必要です",
|
||
"streamingTimeoutMax": "タイムアウトは300秒を超えることはできません"
|
||
},
|
||
"actions": {
|
||
"save": "設定を保存"
|
||
},
|
||
"toast": {
|
||
"saved": "プロキシ設定を保存しました",
|
||
"saveFailed": "保存に失敗しました: {{error}}"
|
||
}
|
||
},
|
||
"switchFailed": "切り替えに失敗しました: {{error}}",
|
||
"failover": {
|
||
"proxyRequired": "フェイルオーバーを設定するには、プロキシサービスを先に起動する必要があります",
|
||
"autoSwitch": "自動フェイルオーバー",
|
||
"autoSwitchDescription": "有効にするとキューの P1 に即時切り替え、リクエスト失敗時はキュー内の次のプロバイダーを自動で試行します"
|
||
},
|
||
"failoverQueue": {
|
||
"title": "フェイルオーバーキュー",
|
||
"description": "各アプリのプロバイダーのフェイルオーバー順序を管理します",
|
||
"info": "自動フェイルオーバーを有効にすると、キューの優先度順(P1 優先)でプロバイダーを使用します。失敗時はキュー内の次のプロバイダーを順に試行します。",
|
||
"selectProvider": "キューに追加するプロバイダーを選択",
|
||
"noAvailableProviders": "追加できるプロバイダーがありません",
|
||
"empty": "フェイルオーバーキューが空です。自動フェイルオーバーを有効にするにはプロバイダーを追加してください。",
|
||
"orderHint": "キューの順序はホームのプロバイダー一覧の順序と一致します。ホームでドラッグして順序を変更できます。",
|
||
"dragHint": "ドラッグでフェイルオーバー順序を調整します。番号が小さいほど優先度が高くなります。",
|
||
"toggleEnabled": "有効/無効",
|
||
"addSuccess": "フェイルオーバーキューに追加しました",
|
||
"addFailed": "追加に失敗しました",
|
||
"removeSuccess": "フェイルオーバーキューから削除しました",
|
||
"removeFailed": "削除に失敗しました",
|
||
"reorderSuccess": "キュー順序を更新しました",
|
||
"reorderFailed": "順序の更新に失敗しました",
|
||
"toggleFailed": "状態の更新に失敗しました"
|
||
},
|
||
"autoFailover": {
|
||
"info": "フェイルオーバーキューに複数のプロバイダーが設定されている場合、リクエストが失敗すると優先度順に試行します。プロバイダーが連続失敗のしきい値に達すると、サーキットブレーカーが開き、一時的にスキップされます。",
|
||
"configSaved": "自動フェイルオーバー設定を保存しました",
|
||
"configSaveFailed": "保存に失敗しました",
|
||
"retrySettings": "リトライとタイムアウト設定",
|
||
"failureThreshold": "失敗しきい値",
|
||
"failureThresholdHint": "この回数連続で失敗するとサーキットブレーカーが開きます(推奨: 3-10)",
|
||
"timeout": "回復待ち時間(秒)",
|
||
"timeoutHint": "サーキットが開いた後、回復を試みるまでの待ち時間(推奨: 30-120)",
|
||
"circuitBreakerSettings": "サーキットブレーカー設定",
|
||
"successThreshold": "回復成功しきい値",
|
||
"successThresholdHint": "半開状態でこの回数成功するとサーキットブレーカーが閉じます",
|
||
"errorRate": "エラー率しきい値 (%)",
|
||
"errorRateHint": "この値を超えるとサーキットブレーカーが開きます",
|
||
"minRequests": "最小リクエスト数",
|
||
"minRequestsHint": "エラー率を計算する前の最小リクエスト数",
|
||
"explanationTitle": "仕組み",
|
||
"failureThresholdLabel": "失敗しきい値",
|
||
"failureThresholdExplain": "この回数連続で失敗すると、サーキットブレーカーが開き、プロバイダーは一時的に利用不可になります",
|
||
"timeoutLabel": "回復待ち時間",
|
||
"timeoutExplain": "サーキットが開いた後、半開状態を試みるまでの待ち時間",
|
||
"successThresholdLabel": "回復成功しきい値",
|
||
"successThresholdExplain": "半開状態でこの回数成功するとサーキットブレーカーが閉じ、プロバイダーが再び利用可能になります",
|
||
"errorRateLabel": "エラー率しきい値",
|
||
"errorRateExplain": "失敗しきい値に達していなくても、エラー率がこの値を超えるとサーキットブレーカーが開きます"
|
||
}
|
||
},
|
||
"streamCheck": {
|
||
"configSaved": "ヘルスチェック設定を保存しました",
|
||
"configSaveFailed": "保存に失敗しました",
|
||
"testModels": "テストモデル",
|
||
"claudeModel": "Claude モデル",
|
||
"codexModel": "Codex モデル",
|
||
"geminiModel": "Gemini モデル",
|
||
"checkParams": "チェックパラメーター",
|
||
"timeout": "タイムアウト(秒)",
|
||
"maxRetries": "最大リトライ回数",
|
||
"degradedThreshold": "劣化しきい値(ミリ秒)",
|
||
"testPrompt": "テストプロンプト"
|
||
},
|
||
"proxyConfig": {
|
||
"proxyEnabled": "プロキシ有効",
|
||
"appTakeover": "プロキシ有効",
|
||
"perAppConfig": "アプリ別設定",
|
||
"circuitBreaker": "サーキットブレーカー",
|
||
"circuitBreakerSettings": "サーキットブレーカー設定",
|
||
"failureThreshold": "失敗閾値",
|
||
"successThreshold": "回復閾値",
|
||
"recoveryTimeout": "回復待機時間",
|
||
"errorRateThreshold": "エラー率閾値",
|
||
"minRequests": "最小リクエスト数",
|
||
"timeoutConfig": "タイムアウト設定",
|
||
"streamingFirstByte": "ストリーミング初回バイトタイムアウト",
|
||
"streamingIdle": "ストリーミングアイドルタイムアウト",
|
||
"nonStreaming": "非ストリーミングタイムアウト"
|
||
},
|
||
"universalProvider": {
|
||
"title": "統合プロバイダー",
|
||
"description": "統合プロバイダーは Claude、Codex、Gemini の設定を同時に管理します。変更は有効なすべてのアプリに自動的に同期されます。",
|
||
"add": "統合プロバイダーを追加",
|
||
"edit": "統合プロバイダーを編集",
|
||
"empty": "統合プロバイダーがありません",
|
||
"emptyHint": "下の「統合プロバイダーを追加」ボタンをクリックして作成してください",
|
||
"selectPreset": "プリセットタイプを選択",
|
||
"name": "名前",
|
||
"namePlaceholder": "例:私の NewAPI",
|
||
"baseUrl": "API URL",
|
||
"apiKey": "API キー",
|
||
"websiteUrl": "ウェブサイト URL",
|
||
"websiteUrlPlaceholder": "https://example.com(オプション、リストに表示されます)",
|
||
"notes": "メモ",
|
||
"notesPlaceholder": "オプション:メモを追加",
|
||
"enabledApps": "有効なアプリ",
|
||
"modelConfig": "モデル設定",
|
||
"model": "モデル",
|
||
"sync": "アプリに同期",
|
||
"synced": "すべてのアプリに同期しました",
|
||
"syncError": "同期に失敗しました",
|
||
"noAppsEnabled": "有効なアプリがありません",
|
||
"added": "統合プロバイダーを追加しました",
|
||
"updated": "統合プロバイダーを更新しました",
|
||
"deleted": "統合プロバイダーを削除しました",
|
||
"addSuccess": "統合プロバイダーを追加しました",
|
||
"addFailed": "統合プロバイダーの追加に失敗しました",
|
||
"manage": "管理",
|
||
"loadError": "統合プロバイダーの読み込みに失敗しました",
|
||
"saveError": "統合プロバイダーの保存に失敗しました",
|
||
"deleteError": "統合プロバイダーの削除に失敗しました",
|
||
"deleteConfirmTitle": "統合プロバイダーを削除",
|
||
"deleteConfirmDescription": "「{{name}}」を削除してもよろしいですか?各アプリで生成されたプロバイダー設定も削除されます。",
|
||
"syncConfirmTitle": "統合プロバイダーを同期",
|
||
"syncConfirmDescription": "「{{name}}」を同期すると、Claude、Codex、Gemini の関連プロバイダー設定が上書きされます。続行しますか?",
|
||
"syncConfirm": "同期",
|
||
"saveAndSync": "保存して同期",
|
||
"savedAndSynced": "すべてのアプリに保存・同期されました",
|
||
"saveAndSyncError": "保存と同期に失敗しました",
|
||
"configJsonPreview": "設定 JSON プレビュー",
|
||
"configJsonPreviewHint": "以下は各アプリに同期される設定内容です(表示されているフィールドのみ上書きされ、他のカスタム設定は保持されます)"
|
||
}
|
||
}
|