feat: advanced custom channel (#5590)

This commit is contained in:
Seefs
2026-06-18 18:00:27 +08:00
committed by GitHub
parent 21d4d18dfc
commit 3f2c0aeda7
26 changed files with 3012 additions and 62 deletions
+72 -4
View File
@@ -193,6 +193,7 @@
"Add Provider": "プロバイダーを追加",
"Add Quota": "クォータを追加",
"Add ratio override": "倍率オーバーライドを追加",
"Add route": "ルートを追加",
"Add Row": "行を追加",
"Add Rule": "ルールを追加",
"Add rule group": "ルールグループを追加",
@@ -228,6 +229,10 @@
"Administrator username": "管理者ユーザー名",
"Advanced": "高度な設定",
"Advanced Configuration": "詳細設定",
"Advanced Custom": "高度なカスタム",
"Advanced custom configuration is required": "高度なカスタム設定が必要です",
"Advanced custom configuration requires at least one route or fallback": "高度なカスタム設定には少なくとも1つのルートまたはフォールバックが必要です",
"Advanced Custom Routes": "高度なカスタムルート",
"Advanced options": "詳細オプション",
"Advanced Options": "詳細オプション",
"Advanced platform configuration.": "高度なプラットフォーム設定。",
@@ -340,6 +345,7 @@
"Answer": "回答",
"Answers for common access and billing questions": "アクセスと請求に関するよくある質問への回答",
"Anthropic": "Anthropic",
"Anthropic Messages to OpenAI Chat": "Anthropic Messages から OpenAI Chat",
"Any Match (OR)": "いずれか一致(OR",
"API": "API",
"API Access": "API アクセス",
@@ -442,8 +448,14 @@
"Audio Preview": "音声プレビュー",
"Audio ratio": "音声倍率",
"Audio Tokens": "音声トークン",
"Auth": "認証",
"Auth configured": "認証設定済み",
"Auth name": "認証名",
"Auth name is required": "認証名は必須です",
"Auth Style": "認証スタイル",
"Auth type is invalid": "認証タイプが無効です",
"Auth value": "認証値",
"Auth value is required": "認証値は必須です",
"auth.resetPasswordConfirm.backToLogin": "ログインに戻る",
"auth.resetPasswordConfirm.confirm": "パスワードリセットを確認",
"auth.resetPasswordConfirm.description": "新しいパスワードを生成するには、リセット要求を確認してください。",
@@ -529,6 +541,8 @@
"Base rate limit windows for this account.": "このアカウント向けの基本レート制限ウィンドウ。",
"Base URL": "ベースURL",
"Base URL is required for this channel type": "このチャネルタイプには Base URL が必要です",
"Base URL is required when an advanced route uses an upstream path": "高度なルートで上流パスを使う場合は Base URL が必要です",
"Base URL is required when fallback is enabled": "フォールバックを有効にする場合は Base URL が必要です",
"Base URL of your Uptime Kuma instance": "Uptime KumaインスタンスのベースURL",
"Basic Authentication": "基本認証",
"Basic Configuration": "基本設定",
@@ -667,6 +681,8 @@
"Changes are written to the settings draft on save.": "保存すると変更は設定ドラフトに書き込まれます。",
"Changing...": "変更中...",
"Channel": "チャネル",
"Channel {{name}}": "チャネル {{name}}",
"Channel {{name}} model {{model}}": "チャネル {{name}} モデル {{model}}",
"Channel Affinity": "チャネルアフィニティ",
"Channel affinity reuses the last successful channel based on keys extracted from the request context or JSON body.": "チャネルアフィニティは、リクエストコンテキストまたは JSON Body から抽出したキーに基づいて、前回成功したチャネルを優先的に再利用します。",
"Channel Affinity: Upstream Cache Hit": "チャネルアフィニティ:上流キャッシュヒット",
@@ -680,8 +696,6 @@
"Channel key": "チャネルキー",
"Channel key unlocked": "チャネルキーが解除されました",
"Channel models": "チャネルモデル",
"Channel {{name}}": "チャネル {{name}}",
"Channel {{name}} model {{model}}": "チャネル {{name}} モデル {{model}}",
"Channel name is required": "チャネル名が必要です",
"Channel test completed": "チャネルテストが完了しました",
"Channel type is required": "チャネルタイプが必要です",
@@ -741,6 +755,7 @@
"Classic (Legacy Frontend)": "クラシック(旧フロントエンド)",
"Claude": "Claude",
"Claude CLI Header Passthrough": "Claude CLI ヘッダーパススルー",
"Claude Messages": "Claude メッセージ",
"Clean": "問題なし",
"Clean history logs": "履歴ログをクリーンアップ",
"Clean logs": "ログをクリア",
@@ -884,6 +899,7 @@
"Configure per-tool unit prices ($/1K calls). Per-request models do not incur additional tool fees.": "ツールごとの単価($/1K 回)を設定します。リクエスト課金モデルでは追加工具料金はかかりません。",
"Configure pricing ratios for a specific model.": "特定のモデルの料金比率を設定します。",
"Configure rate limiting rules for a specific user group.": "特定のユーザーグループのレート制限ルールを設定します。",
"Configure routes": "ルートを設定",
"Configure the ratio for this group.": "このグループの比率を設定します。",
"Configure upstream providers and routing.": "アップストリームプロバイダーとルーティングを設定。",
"Configure Waffo Pancake hosted checkout integration for USD-priced top-ups": "USD 建てのチャージ用に Waffo Pancake のホスト型チェックアウト連携を設定",
@@ -962,6 +978,9 @@
"Convert reasoning_content to <think> tag in content": "content内のreasoning_contentを<think>タグに変換",
"Convert string to lowercase": "文字列を小文字に変換",
"Convert string to uppercase": "文字列を大文字に変換",
"Converter": "コンバーター",
"Converter does not match incoming path": "コンバーターが受信パスと一致しません",
"Converter is not registered": "コンバーターが登録されていません",
"Copied": "コピーしました",
"Copied {{count}} key(s)": "{{count}} 件のキーをコピーしました",
"Copied channel (source ID: {{sourceId}}) to {{name}} (new ID: {{id}})": "チャネルを複製しました(元 ID: {{sourceId}})→ {{name}}(新 ID: {{id}}",
@@ -1145,6 +1164,7 @@
"Default / range": "デフォルト / 範囲",
"Default API Version *": "デフォルトのAPIバージョン *",
"Default API version for this channel": "このチャネルのデフォルトのAPIバージョン",
"Default Bearer": "既定の Bearer",
"Default Collapse Sidebar": "デフォルトのサイドバー折りたたみ",
"Default consumption chart": "デフォルトの消費チャート",
"Default Max Tokens": "デフォルトの最大トークン",
@@ -1754,6 +1774,9 @@
"Failed to update user": "ユーザーの更新に失敗しました",
"Failure keywords": "失敗キーワード",
"Fair": "公平",
"Fallback": "フォールバック",
"Fallback base URL": "フォールバック Base URL",
"Fallback routing": "フォールバックルーティング",
"Fallback tier": "フォールバック段階",
"FAQ": "FAQ",
"FAQ added. Click \"Save Settings\" to apply.": "FAQ が追加されました。「設定を保存」をクリックして適用してください。",
@@ -1893,6 +1916,10 @@
"GC executed": "GC 実行完了",
"GC execution failed": "GC 実行失敗",
"Gemini": "Gemini",
"Gemini Batch Embed Contents": "Gemini 一括埋め込みコンテンツ",
"Gemini Embed Content": "Gemini 埋め込みコンテンツ",
"Gemini Generate Content": "Gemini コンテンツ生成",
"Gemini Generate Content to OpenAI Chat": "Gemini Generate Content から OpenAI Chat",
"Gemini Image 4K": "Gemini Image 4K",
"Gemini will continue to auto-detect thinking mode even with the adapter disabled. Enable this only when you need finer control over pricing and budgeting.": "アダプターが無効になっていても、Geminiは思考モードを自動検出します。価格設定と予算編成をより細かく制御する必要がある場合にのみ、これを有効にしてください。",
"General": "一般",
@@ -2095,6 +2122,12 @@
"Include Rule Name": "ルール名を含む",
"Includes request rules": "リクエストルールを含む",
"Including failed requests, 0 = unlimited": "失敗したリクエストを含む、0 = 無制限",
"Incoming path": "受信パス",
"Incoming path is required": "受信パスは必須です",
"Incoming path must be unique": "受信パスは一意である必要があります",
"Incoming path must not include query": "受信パスに query を含めることはできません",
"Incoming path must start with /": "受信パスは / で始める必要があります",
"Incomplete": "未完了",
"Increased user quota by {{quota}}": "ユーザーのクォータを {{quota}} 増やしました",
"Index": "インデックス",
"Initial quota given to new users": "新規ユーザーに付与される初期クォータ",
@@ -2408,6 +2441,7 @@
"Mode": "モード",
"model": "モデル",
"Model": "モデル",
"Model {{model}}": "モデル {{model}}",
"Model Access": "モデルアクセス",
"Model Analytics": "モデル分析",
"Model Analytics Defaults": "モデル分析のデフォルト設定",
@@ -2432,7 +2466,6 @@
"Model mapping must be a JSON object with string values": "モデルマッピングは文字列値を持つ JSON オブジェクトである必要があります",
"Model mapping must be valid JSON": "モデルマッピングは有効な JSON である必要があります",
"Model mapping values must be strings": "モデルマッピングの値は文字列である必要があります",
"Model {{model}}": "モデル {{model}}",
"Model name": "モデル名",
"Model Name": "モデル名",
"Model Name *": "モデル名 *",
@@ -2471,6 +2504,7 @@
"Models climbing the leaderboard fastest": "ランキングで最も急上昇しているモデル",
"Models directory": "モデルディレクトリ",
"Models Directory": "モデルディレクトリ",
"Models exposed by this channel": "このチャンネルで公開するモデル",
"Models fetched successfully": "モデルが正常に取得されました",
"Models filled to form": "フォームにモデルが記入されました",
"Models listed here will not automatically append or remove -thinking / -nothinking suffixes.": "ここに記載されたモデルは、-thinking / -nothinking サフィックスの自動付与・削除を行いません。",
@@ -2551,6 +2585,7 @@
"Name, provider type, and availability.": "名前、プロバイダー種別、利用可否。",
"name@example.com": "name@example.com",
"Native format": "ネイティブ形式",
"Native forwarding": "ネイティブ転送",
"Need a redemption code?": "引き換えコードが必要ですか?",
"Needs API key": "API キーが必要",
"Nested JSON defining per-group rules for adding (+:), removing (-:), or appending usable groups.": "追加 (+:)、削除 (-:)、または使用可能なグループの追加を行うグループごとのルールを定義するネストされたJSON。",
@@ -2593,6 +2628,7 @@
"No API routes configured": "APIルートが設定されていません",
"No app usage data available for this model.": "このモデルのアプリ利用データはまだありません。",
"No apps match the selected filters": "条件に一致するアプリはありません",
"No Auth": "認証なし",
"No available models": "利用可能なモデルがありません",
"No available Web chat links": "利用可能なWebチャットリンクがありません",
"No backup": "バックアップなし",
@@ -2767,7 +2803,14 @@
"of 3:": "3のうち:",
"off": "オフ",
"Official": "公式",
"Official Claude Messages": "公式 Claude Messages",
"Official documentation": "公式ドキュメント",
"Official Gemini from OpenAI Chat": "OpenAI Chat から公式 Gemini",
"Official Gemini Native": "公式 Gemini ネイティブ",
"Official OpenAI Chat": "公式 OpenAI Chat",
"Official OpenAI Embeddings": "公式 OpenAI Embeddings",
"Official OpenAI Images": "公式 OpenAI Images",
"Official OpenAI Responses": "公式 OpenAI Responses",
"Official Repository": "公式リポジトリ",
"Official Sync": "公式同期",
"OhMyGPT": "OhMyGPT",
@@ -2814,9 +2857,24 @@
"Open theme settings": "テーマ設定を開く",
"Open weights": "公開ウェイト",
"OpenAI": "OpenAI",
"OpenAI Audio Speech": "OpenAI 音声生成",
"OpenAI Audio Transcriptions": "OpenAI 音声文字起こし",
"OpenAI Audio Translations": "OpenAI 音声翻訳",
"OpenAI Chat Completions": "OpenAI チャット補完",
"OpenAI Chat to Anthropic Messages": "OpenAI Chat から Anthropic Messages",
"OpenAI Chat to Gemini Generate Content": "OpenAI Chat から Gemini Generate Content",
"OpenAI Chat to OpenAI Responses": "OpenAI Chat から OpenAI Responses",
"OpenAI Completions": "OpenAI 補完",
"OpenAI Compatible": "OpenAI互換",
"OpenAI Embeddings": "OpenAI 埋め込み",
"OpenAI Image Edits": "OpenAI 画像編集",
"OpenAI Image Generations": "OpenAI 画像生成",
"OpenAI Organization": "OpenAI組織",
"OpenAI Organization ID (optional)": "OpenAI 組織 ID (オプション)",
"OpenAI Realtime": "OpenAI リアルタイム",
"OpenAI Rerank": "OpenAI 再ランク付け",
"OpenAI Responses": "OpenAI レスポンス",
"OpenAI Responses Compact": "OpenAI レスポンス圧縮",
"OpenAI, Anthropic, etc.": "OpenAI、Anthropicなど",
"OpenAI, Anthropic, Google, etc.": "OpenAI、Anthropic、Googleなど",
"OpenAIMax": "OpenAIMax",
@@ -3217,6 +3275,7 @@
"QR code is not configured. Please contact support.": "QRコードが設定されていません。サポートにお問い合わせください。",
"Quantity": "数量",
"QuantumNous": "QuantumNous",
"Query": "Query",
"Query Balance": "クエリ残高",
"Query Param": "クエリパラメータ",
"Querying...": "クエリ中...",
@@ -3454,8 +3513,8 @@
"Resolve Conflicts": "競合を解決",
"Resource Configuration": "リソース設定",
"Response": "レスポンス",
"Response time: {{duration}}": "応答時間: {{duration}}",
"Response Time": "応答時間",
"Response time: {{duration}}": "応答時間: {{duration}}",
"Responses API Version": "応答APIバージョン",
"Restore defaults": "既定に戻す",
"Restrict user model request frequency (may impact high concurrency performance)": "ユーザーモデルのリクエスト頻度を制限する(高並行性パフォーマンスに影響を与える可能性があります)",
@@ -3493,6 +3552,7 @@
"Route Description": "ルートの説明",
"Route is required": "ルートは必須です",
"Route, auth, and balance check in one place": "ルート、認証、残高確認を一か所に集約",
"Routes": "ルート",
"Routing & Overrides": "ルーティングと上書き",
"Routing Strategy": "ルーティング戦略",
"Rows per page": "ページあたりの行数",
@@ -4349,12 +4409,17 @@
"Upstream Model Updates": "上流モデルの更新",
"Upstream model updates applied: {{added}} added, {{removed}} removed, {{ignored}} ignored this time, {{totalIgnored}} total ignored models": "上流モデル更新を処理しました:{{added}} 個追加、{{removed}} 個削除、今回 {{ignored}} 個無視、合計 {{totalIgnored}} 個の無視モデル",
"Upstream price sync": "アップストリーム価格同期",
"Upstream path": "上流パス",
"Upstream path is required": "上流パスは必須です",
"Upstream path must be a full URL or a path starting with /": "上流パスは完全な URL、または / で始まるパスである必要があります",
"Upstream prices fetched successfully": "上流価格を正常に取得しました",
"Upstream ratios fetched successfully": "アップストリーム比率が正常に取得されました",
"Upstream Request ID": "上流リクエストID",
"Upstream Response": "アップストリームレスポンス",
"upstream services integrated": "アップストリームサービス連携",
"Upstream Updates": "アップストリーム更新",
"Upstream URL": "上流 URL",
"Upstream URL must be a full URL": "上流 URL は完全な URL である必要があります",
"uptime": "稼働時間",
"Uptime": "稼働時間",
"Uptime (30d)": "稼働率 (30 日)",
@@ -4378,6 +4443,7 @@
"USD price per 1M input tokens.": "100万入力トークンあたりのUSD価格。",
"USD price per 1M tokens.": "100万トークンあたりのUSD価格。",
"Use +: to add a group, -: to remove a default selectable group, or no prefix to append a group.": "+: はグループ追加、-: はデフォルト選択可能グループの削除、接頭辞なしはグループ追記に使います。",
"Use a path to append it to the channel Base URL, or enter a full URL to override the Base URL for this route.": "パスを入力するとチャネルの Base URL に追加されます。完全な URL を入力すると、このルートでは Base URL を使わずその URL を使用します。",
"Use a compatible browser or device with biometric authentication or a security key to register a Passkey.": "生体認証またはセキュリティキーを備えた互換性のあるブラウザまたはデバイスを使用して、パスキーを登録してください。",
"Use authenticator code": "認証コードを使用",
"Use backup code": "バックアップコードを使用",
@@ -4396,6 +4462,7 @@
"Used": "使用済み",
"Used / Remaining": "使用済み / 残り",
"Used as SuccessURL on the new product. You'll be prompted to confirm if left blank.": "新しい商品の SuccessURL として使用されます。空のままにすると確認を求められます。",
"Used by route auth templates": "ルート認証テンプレートで使用",
"Used for load balancing. Higher weight = more requests": "ロードバランシングに使用されます。重みが高いほどリクエスト数が増えます",
"Used in URLs and API routes": "URLとAPIルートで使用されます",
"Used Quota": "使用済みクォータ",
@@ -4590,6 +4657,7 @@
"When enabled, Midjourney callbacks are accepted (reveals server IP).": "有効にすると、Midjourney のコールバックを受け入れます (サーバーの IP を公開します)。",
"When enabled, newly created tokens start in the first auto group.": "有効にすると、新しく作成されたトークンは最初の自動グループで開始されます。",
"When enabled, prompts are scanned before reaching upstream models.": "有効にすると、プロンプトはアップストリームモデルに到達する前にスキャンされます。",
"When enabled, requests that do not match any advanced route are forwarded to the channel base URL. When disabled, unmatched requests return an error.": "有効にすると、高度なルートに一致しないリクエストはチャネルのベース URL へ転送されます。無効の場合、一致しないリクエストはエラーを返します。",
"When enabled, the store field will be blocked": "有効にすると、ストアフィールドはブロックされます",
"When enabled, users can pick this group when creating tokens.": "有効にすると、ユーザーはトークン作成時にこのグループを選択できます。",
"When enabled, violation requests will incur additional charges.": "有効にすると、違反リクエストに追加料金が発生します。",