{
  "common": {
    "save": "保存",
    "cancel": "キャンセル",
    "delete": "削除",
    "loading": "読み込み中...",
    "error": "エラーが発生しました",
    "success": "成功",
    "confirm": "よろしいですか？",
    "refresh": "リフレッシュ",
    "close": "閉じる",
    "add": "追加",
    "edit": "編集",
    "search": "検索",
    "back": "戻る",
    "next": "次へ",
    "submit": "送信する",
    "reset": "リセット",
    "copy": "コピー",
    "copied": "コピーしました！",
    "enabled": "有効",
    "disabled": "無効",
    "active": "アクティブ",
    "inactive": "非アクティブ",
    "noData": "利用可能なデータがありません",
    "nothingHere": "Nothing here yet",
    "configure": "設定する",
    "manage": "管理する",
    "name": "名前",
    "actions": "アクション",
    "status": "ステータス",
    "type": "種類",
    "model": "モデル",
    "models": "モデル",
    "provider": "プロバイダー",
    "account": "アカウント",
    "time": "時間",
    "details": "詳細",
    "created": "作成されました",
    "lastUsed": "Last Refreshed",
    "loadMore": "もっと読み込む",
    "noResults": "結果が見つかりませんでした",
    "reloadPage": "ページをリロードする",
    "connected": "接続済み",
    "disconnected": "切断されました",
    "notConfigured": "未設定",
    "testConnection": "テスト接続",
    "enable": "有効にする",
    "disable": "無効にする",
    "columns": "列",
    "newest": "新しい順",
    "oldest": "古い順",
    "all": "すべて",
    "none": "なし",
    "yes": "はい",
    "no": "いいえ",
    "on": "__MISSING__:ON",
    "off": "__MISSING__:OFF",
    "warning": "警告",
    "note": "注記",
    "free": "無料",
    "skipToContent": "コンテンツにスキップ",
    "maintenanceServerIssues": "Server is experiencing issues. Some features may be unavailable.",
    "maintenanceServerUnreachable": "Server is unreachable. Reconnecting...",
    "accept": "accept",
    "accountId": "accountId",
    "alias": "alias",
    "apiKeyId": "apiKeyId",
    "apiKeyName": "apiKeyName",
    "apiKeySecret": "apiKeySecret",
    "authorization": "authorization",
    "content-type": "content-type",
    "content-length": "content-length",
    "cookie": "cookie",
    "file": "file",
    "host": "host",
    "id": "id",
    "import": "import",
    "limit": "limit",
    "offset": "offset",
    "open": "open",
    "origin": "origin",
    "promptTokens": "promptTokens",
    "completionTokens": "completionTokens",
    "totalTokens": "totalTokens",
    "rawModel": "rawModel",
    "scope": "scope",
    "skill": "skill",
    "sortBy": "sortBy",
    "sortOrder": "sortOrder",
    "tab": "tab",
    "text": "text",
    "textarea": "textarea",
    "tool": "tool",
    "toolId": "toolId",
    "web": "web",
    "whereUsed": "whereUsed",
    "whitelist": "whitelist",
    "blacklist": "blacklist",
    "resolve": "resolve",
    "force": "force",
    "base64url": "base64url",
    "hex": "hex",
    "range": "range",
    "component": "component",
    "redirect_uri": "redirect_uri",
    "idempotency-key": "idempotency-key",
    "error_description": "error_description",
    "code": "code",
    "compatible": "compatible",
    "chat-completions": "chat-completions",
    "oauth": "oauth",
    "auth_token": "auth_token",
    "crypto": "crypto",
    "hours": "hours",
    "selfsigned": "selfsigned",
    "proxy_id": "proxy_id",
    "proxyId": "proxyId",
    "connectionId": "connectionId",
    "resolveConnectionId": "resolveConnectionId",
    "resolve_connection_id": "resolve_connection_id",
    "scope_id": "scope_id",
    "scopeId": "scopeId",
    "jwtSecret": "jwtSecret",
    "keytar": "keytar",
    "better-sqlite3": "better-sqlite3",
    "undici": "undici",
    "builder-id": "builder-id",
    "musicDesc": "musicDesc",
    "musicGeneration": "musicGeneration",
    "idc": "idc",
    "cloud-status-changed": "cloud-status-changed",
    "where_used": "where_used",
    "windowMs": "windowMs",
    "social-github": "GitHub",
    "social-google": "Google",
    "TOOL_ALLOWLIST": "ツールの許可リスト",
    "TOOL_DENYLIST": "ツール拒否リスト",
    "Failed to save pricing": "価格設定を保存できませんでした",
    "Failed to reset pricing": "価格設定のリセットに失敗しました",
    "apikey": "APIキー",
    "http": "HTTP",
    "goToDashboard": "Go to Dashboard",
    "checkSystemStatus": "Check System Status",
    "selectModel": "Select Model",
    "combos": "Combos",
    "noModelsFound": "No models found",
    "clear": "Clear",
    "done": "Done",
    "errorOccurred": "Error Occurred",
    "comboDeleted": "Combo Deleted",
    "hide": "Hide",
    "creating": "Creating",
    "comboCreated": "Combo Created",
    "swapFormats": "Swap Formats",
    "daysAgo": "Days Ago",
    "retries": "Retries",
    "errorDuringRestore": "Error During Restore",
    "eventsAppearHint": "Events Appear Hint",
    "noLockouts": "No Lockouts",
    "webSearchDesc": "Web Search Desc",
    "audioProvidersHeading": "Audio Providers Heading",
    "cloudAgentProviders": "クラウドエージェントプロバイダー",
    "minutesAgo": "Minutes Ago",
    "a": "A",
    "liveAutoRefreshing": "Live Auto Refreshing",
    "webSearch": "Web Search",
    "anthropicPrefixPlaceholder": "Anthropic Prefix Placeholder",
    "addModelToCombo": "Add Model To Combo",
    "failedToLoad": "Failed To Load",
    "categoryMedia": "Category Media",
    "enableCloud": "Enable Cloud",
    "expirationBannerExpiringSoon": "Expiration Banner Expiring Soon",
    "retry": "Retry",
    "embeddings": "Embeddings",
    "errorCount": "Error Count",
    "backupReasonManual": "Backup Reason Manual",
    "safeSearchModerate": "Safe Search Moderate",
    "activeLimiters": "Active Limiters",
    "a2aCardTitle": "A2A Card Title",
    "cloudWorkerUnreachable": "Cloud Worker Unreachable",
    "testFailed": "Test Failed",
    "compatibleBaseUrlHint": "Compatible Base Url Hint",
    "usageTracking": "Usage Tracking",
    "disableCloudTitle": "Disable Cloud Title",
    "noConnections": "No Connections",
    "providerHealth": "Provider Health",
    "confirmDbImport": "Confirm Db Import",
    "notAvailableSymbol": "Not Available Symbol",
    "backupsAvailable": "Backups Available",
    "providerAuto": "Provider Auto",
    "newProviderNamePlaceholder": "New Provider Name Placeholder",
    "a2aQuickStartStep2": "A2A Quick Start Step2",
    "ok": "Ok",
    "available": "Available",
    "noBackupYet": "No Backup Yet",
    "more": "More",
    "noCompatibleYet": "No Compatible Yet",
    "multiProvider": "Multi Provider",
    "repairEnvHint": "Repair Env Hint",
    "disablingCloud": "Disabling Cloud",
    "testBench": "Test Bench",
    "valid": "Valid",
    "cloudBenefitShare": "Cloud Benefit Share",
    "mcpCardTitle": "Mcp Card Title",
    "disableConfirm": "Disable Confirm",
    "filters": "Filters",
    "expirationBannerExpiredDesc": "Expiration Banner Expired Desc",
    "saveComboDefaults": "Save Combo Defaults",
    "cloudConnectedVerified": "Cloud Connected Verified",
    "uptime": "Uptime",
    "compatibleProdPlaceholder": "Compatible Prod Placeholder",
    "fallbackChainsTitle": "Fallback Chains Title",
    "oauthLabel": "Oauth Label",
    "a2aCardDescription": "A2A Card Description",
    "okShort": "Ok Short",
    "maintenance": "Maintenance",
    "formatConverter": "Format Converter",
    "zedImportNetworkError": "Zed Import Network Error",
    "apiKeyLabel": "Api Key Label",
    "noModelsForProvider": "No Models For Provider",
    "mcpCardDescription": "Mcp Card Description",
    "apiTypeLabel": "Api Type Label",
    "configuredProvidersLabel": "Configured Providers Label",
    "maxRetriesLabel": "Max Retries Label",
    "title": "Title",
    "output": "Output",
    "prefixHint": "Prefix Hint",
    "skipWizard": "Skip Wizard",
    "failedCount": "Failed Count",
    "confirmDbImportDesc": "Confirm Db Import Desc",
    "entries": "Entries",
    "until": "Until",
    "disableCombo": "Disable Combo",
    "liveMonitorDescriptionPrefix": "Live Monitor Description Prefix",
    "runningCount": "Running Count",
    "noActiveConnectionsInGroup": "No Active Connections In Group",
    "savedSuccessfully": "Saved Successfully",
    "systemStorage": "System Storage",
    "videoDesc": "Video Desc",
    "maxResults": "Max Results",
    "timeRangeMonth": "Time Range Month",
    "testSummary": "Test Summary",
    "failedSetPassword": "Failed Set Password",
    "audio": "Audio",
    "restore": "Restore",
    "disableWarning": "Disable Warning",
    "moderationsDesc": "Moderations Desc",
    "providerHealthStatusAria": "Provider Health Status Aria",
    "modelNamePlaceholder": "Model Name Placeholder",
    "mcpQuickStartStep2": "Mcp Quick Start Step2",
    "quickStart": "Quick Start",
    "fullExportFailedWithError": "Full Export Failed With Error",
    "loadingBackups": "Loading Backups",
    "anthropicBaseUrlPlaceholder": "Anthropic Base Url Placeholder",
    "description": "Description",
    "noProviderFound": "No Provider Found",
    "auto": "Auto",
    "protocolsDescription": "Protocols Description",
    "cloudSessionNote": "Cloud Session Note",
    "advancedSettings": "Advanced Settings",
    "defaultStrategy": "Default Strategy",
    "purgeExpiredLogs": "Purge Expired Logs",
    "justNow": "Just Now",
    "providerTestFailed": "Provider Test Failed",
    "openaiBaseUrlPlaceholder": "Openai Base Url Placeholder",
    "image": "Image",
    "failedCreateChain": "Failed Create Chain",
    "importDatabase": "Import Database",
    "allDataLocal": "All Data Local",
    "sectionTitle": "Section Title",
    "failedToggle": "Failed Toggle",
    "editCombo": "Edit Combo",
    "testResults": "Test Results",
    "searchQuery": "Search Query",
    "addCcCompatible": "Add Cc Compatible",
    "duplicate": "Duplicate",
    "createCombo": "Create Combo",
    "searchTypeWeb": "Search Type Web",
    "addChain": "Add Chain",
    "prefixLabel": "Prefix Label",
    "listModelsDesc": "List Models Desc",
    "databaseSize": "Database Size",
    "chainCreated": "Chain Created",
    "providerTestTimeout": "Provider Test Timeout",
    "routingStrategy": "Routing Strategy",
    "translateAction": "Translate Action",
    "exportFailed": "Export Failed",
    "connectedVerificationPending": "Connected Verification Pending",
    "a2aQuickStartTitle": "A2A Quick Start Title",
    "couldNotTest": "Could Not Test",
    "testAllCompatible": "Test All Compatible",
    "anthropicCompatibleName": "Anthropic Compatible Name",
    "disabling": "Disabling",
    "failedEnable": "Failed Enable",
    "categoryUtility": "Category Utility",
    "customUrlOptional": "Custom Url Optional",
    "localProviders": "Local Providers",
    "comboNamePlaceholder": "Combo Name Placeholder",
    "memoryRss": "Memory Rss",
    "disableProvider": "Disable Provider",
    "welcomeDesc": "Welcome Desc",
    "nameLabel": "Name Label",
    "allOperational": "All Operational",
    "backupNow": "Backup Now",
    "providerMaxRetriesAria": "Provider Max Retries Aria",
    "textToSpeechDesc": "Text To Speech Desc",
    "machineId": "Machine Id",
    "globalProxy": "Global Proxy",
    "hitsMisses": "Hits Misses",
    "testDesc": "Test Desc",
    "chatDesc": "Chat Desc",
    "importSuccess": "Import Success",
    "chat": "Chat",
    "a2aQuickStartStep1": "A2A Quick Start Step1",
    "importFailed": "Import Failed",
    "inputPlaceholder": "Input Placeholder",
    "providerModelsTitle": "Provider Models Title",
    "lastBackup": "Last Backup",
    "yourEndpoint": "Your Endpoint",
    "autoDisableThresholdDesc": "Auto Disable Threshold Desc",
    "rerankDesc": "Rerank Desc",
    "modelsPathPlaceholder": "Models Path Placeholder",
    "noCombosYet": "No Combos Yet",
    "connectedVerificationPendingWithError": "Connected Verification Pending With Error",
    "comboDefaultsGuideHint1": "Combo Defaults Guide Hint1",
    "enableCloudTitle": "Enable Cloud Title",
    "configuredProvidersHint": "Configured Providers Hint",
    "paused": "Paused",
    "llmProviders": "Llm Providers",
    "enableCombo": "Enable Combo",
    "removeProviderOverrideAria": "Remove Provider Override Aria",
    "nodeVersion": "Node Version",
    "openai": "Openai",
    "exportFailedWithError": "Export Failed With Error",
    "proxyConfigured": "Proxy Configured",
    "concurrencyPerModel": "Concurrency Per Model",
    "protocolTasksLabel": "Protocol Tasks Label",
    "oauthProviders": "Oauth Providers",
    "lockedCount": "Locked Count",
    "deleteChainConfirm": "Delete Chain Confirm",
    "recentTranslations": "Recent Translations",
    "zedImportButton": "Zed Import Button",
    "responsesDesc": "Responses Desc",
    "testedCount": "Tested Count",
    "providersCommaSeparatedPlaceholder": "Providers Comma Separated Placeholder",
    "signatureDefaults": "Signature Defaults",
    "errorCreating": "Error Creating",
    "timeRangeYear": "Time Range Year",
    "compatibleLabel": "Compatible Label",
    "cloudDisabledSuccess": "Cloud Disabled Success",
    "deleteConfirm": "Delete Confirm",
    "check": "Check",
    "safeSearch": "Safe Search",
    "protocolLastActivity": "Protocol Last Activity",
    "openMcpDashboard": "Open Mcp Dashboard",
    "testBenchTab": "Test Bench Tab",
    "chatPathLabel": "Chat Path Label",
    "retryDelay": "Retry Delay",
    "errorUpdating": "Error Updating",
    "ideCliIntegrations": "Ide Cli Integrations",
    "imageGeneration": "Image Generation",
    "apiKeyRequired": "Api Key Required",
    "resetAllTitle": "Reset All Title",
    "connectionError": "Connection Error",
    "modelName": "Model Name",
    "apiKeyForCheck": "Api Key For Check",
    "cloudRequestTimeout": "Cloud Request Timeout",
    "showConfiguredOnly": "Show Configured Only",
    "showFreeOnly": "無料のみ",
    "addFirstProvider": "最初のプロバイダーを追加する",
    "addFirstProviderDesc": "AI プロバイダーに接続して、OmniRoute 経由でリクエストのルーティングを開始します。無料のプロバイダー、API キー、または OAuth アカウントを使用できます。",
    "learnMore": "さらに詳しく",
    "includeDomains": "Include Domains",
    "promptCache": "Prompt Cache",
    "cloudConnected": "Cloud Connected",
    "deleteChain": "Delete Chain",
    "chatPathPlaceholder": "Chat Path Placeholder",
    "databasePath": "Database Path",
    "usingLocalServer": "Using Local Server",
    "globalComboConfig": "Global Combo Config",
    "backupFailed": "Backup Failed",
    "tabProtocols": "Tab Protocols",
    "continue": "Continue",
    "categorySearch": "Category Search",
    "rateLimitStatus": "Rate Limit Status",
    "repairEnvSuccess": "Repair Env Success",
    "nameRequired": "Name Required",
    "country": "Country",
    "trackMetricsDesc": "Track Metrics Desc",
    "durationSecondsShort": "Duration Seconds Short",
    "formatConverterDescription": "Format Converter Description",
    "cloudBenefitAccess": "Cloud Benefit Access",
    "maxRetries": "Max Retries",
    "queueTimeout": "Queue Timeout",
    "addProvider": "Add Provider",
    "realtime": "Realtime",
    "totalTranslations": "Total Translations",
    "protocolActiveStreamsLabel": "Protocol Active Streams Label",
    "repairEnv": "Repair Env",
    "modelsCount": "Models Count",
    "viewBackups": "View Backups",
    "responsesApi": "Responses Api",
    "copyComboName": "Copy Combo Name",
    "failures": "Failures",
    "failedUpdate": "Failed Update",
    "imageDesc": "Image Desc",
    "failedCreate": "Failed Create",
    "remainingOfLimit": "Remaining Of Limit",
    "protocolsTitle": "Protocols Title",
    "expirationBannerExpiringSoonDesc": "Expiration Banner Expiring Soon Desc",
    "source": "Source",
    "failed": "Failed",
    "apiKeyMgmt": "Api Key Mgmt",
    "mcpQuickStartStep1": "Mcp Quick Start Step1",
    "runTest": "Run Test",
    "loadingFallbackChains": "Loading Fallback Chains",
    "healthy": "Healthy",
    "version": "Version",
    "saveBlockWeighted": "Save Block Weighted",
    "zedImportNone": "Zed Import None",
    "noBackupsYet": "No Backups Yet",
    "noGlobalProxy": "No Global Proxy",
    "noModels": "No Models",
    "stickyLimit": "Sticky Limit",
    "passedCount": "Passed Count",
    "zedImportFailed": "Zed Import Failed",
    "saving": "Saving",
    "testAll": "Test All",
    "globalProxyDesc": "Global Proxy Desc",
    "latencyP99": "Latency P99",
    "connectingToCloud": "Connecting To Cloud",
    "responses": "Responses",
    "errorDeleting": "Error Deleting",
    "openaiPrefixPlaceholder": "Openai Prefix Placeholder",
    "enterPassword": "Enter Password",
    "openA2aDashboard": "Open A2A Dashboard",
    "enableProvider": "Enable Provider",
    "modeTest": "Mode Test",
    "failedDeleteChain": "Failed Delete Chain",
    "providerDesc": "Provider Desc",
    "templateLoadHint": "Template Load Hint",
    "lastFailure": "Last Failure",
    "moveDown": "Move Down",
    "providerLabel": "Provider Label",
    "clearCacheFailed": "Clear Cache Failed",
    "imagesGenerations": "Images Generations",
    "repairEnvWorking": "Repair Env Working",
    "millisecondsShort": "Milliseconds Short",
    "globalLabel": "Global Label",
    "failuresPlural": "Failures Plural",
    "completionsLegacyDesc": "Completions Legacy Desc",
    "searchProviders": "Search Providers",
    "chatPathHint": "Chat Path Hint",
    "defaultStrategyDesc": "Default Strategy Desc",
    "latencyP95": "Latency P95",
    "textToSpeech": "Text To Speech",
    "searchType": "Search Type",
    "messages": "Messages",
    "aggregatorsGateways": "Aggregators Gateways",
    "comboStrategyAria": "Combo Strategy Aria",
    "input": "Input",
    "testingConnection": "Testing Connection",
    "excludeDomains": "Exclude Domains",
    "webCookieProviders": "Web Cookie Providers",
    "allTestsPassed": "All Tests Passed",
    "openaiCompatibleName": "Openai Compatible Name",
    "warningCostOptimizedPartialPricing": "Warning Cost Optimized Partial Pricing",
    "comboDefaultsGuideTitle": "Combo Defaults Guide Title",
    "hoursAgo": "Hours Ago",
    "notAvailable": "Not Available",
    "skipAndContinue": "Skip And Continue",
    "moderations": "Moderations",
    "proxyConfig": "Proxy Config",
    "upstreamProxyProviders": "Upstream Proxy Providers",
    "exportAll": "Export All",
    "queuedCount": "Queued Count",
    "resetAll": "Reset All",
    "noTranslations": "No Translations",
    "avgLatency": "Avg Latency",
    "throttleStatus": "Throttle Status",
    "backupRetentionDesc": "Backup Retention Desc",
    "noCBData": "No Cb Data",
    "chainDeleted": "Chain Deleted",
    "timeLeft": "Time Left",
    "expirationBannerExpired": "Expiration Banner Expired",
    "language": "Language",
    "invalidFileType": "Invalid File Type",
    "monitoredProviders": "Monitored Providers",
    "errors": "Errors",
    "heap": "Heap",
    "chatCompletions": "Chat Completions",
    "exampleTemplatesHint": "Example Templates Hint",
    "retryDelayLabel": "Retry Delay Label",
    "audioTranscription": "Audio Transcription",
    "fallbackChainsDesc": "Fallback Chains Desc",
    "exampleTemplates": "Example Templates",
    "connectionsCount": "Connections Count",
    "modelsPathLabel": "Models Path Label",
    "activeProvidersHint": "Active Providers Hint",
    "activeLockouts": "Active Lockouts",
    "invalid": "Invalid",
    "skipPassword": "Skip Password",
    "moveUp": "Move Up",
    "timeRange": "Time Range",
    "stickyLimitDesc": "Sticky Limit Desc",
    "cloudBenefitEdge": "Cloud Benefit Edge",
    "custom": "Custom",
    "verifying": "Verifying",
    "baseUrlLabel": "Base Url Label",
    "setPassword": "Set Password",
    "safeSearchStrict": "Safe Search Strict",
    "noChangesSinceBackup": "No Changes Since Backup",
    "modelsPathHint": "Models Path Hint",
    "audioTranscriptions": "Audio Transcriptions",
    "testCombo": "Test Combo",
    "mcpQuickStartTitle": "Mcp Quick Start Title",
    "comboUpdated": "Combo Updated",
    "weighted": "Weighted",
    "providers": "Providers",
    "ccCompatibleLabel": "Cc Compatible Label",
    "noFallbackChainsDesc": "No Fallback Chains Desc",
    "yesImport": "Yes Import",
    "lockoutsAutoRefreshHint": "Lockouts Auto Refresh Hint",
    "tabApis": "Tab Apis",
    "sectionDescription": "Section Description",
    "filter": "Filter",
    "purgeLogsFailed": "Purge Logs Failed",
    "latency": "Latency",
    "testAllOAuth": "Test All O Auth",
    "mcpQuickStartStep3": "Mcp Quick Start Step3",
    "repairEnvFailed": "Repair Env Failed",
    "zedImportHint": "Zed Import Hint",
    "modelsAcrossEndpoints": "Models Across Endpoints",
    "autoDisableBannedAccounts": "Auto Disable Banned Accounts",
    "securityDesc": "Security Desc",
    "listModels": "List Models",
    "backupRestore": "Backup Restore",
    "target": "Target",
    "zedImportSuccess": "Zed Import Success",
    "lastHeaderUpdate": "Last Header Update",
    "categoryCore": "Category Core",
    "noFallbackChains": "No Fallback Chains",
    "noSearchProviders": "No Search Providers",
    "autoBalance": "Auto Balance",
    "noModelsYet": "No Models Yet",
    "signatureFamily": "Signature Family",
    "externalApiCalls": "External Api Calls",
    "providerOverridesDesc": "Provider Overrides Desc",
    "signatureTool": "Signature Tool",
    "connectionFailed": "Connection Failed",
    "activeLimitersPlural": "Active Limiters Plural",
    "doneDesc": "Done Desc",
    "down": "Down",
    "noDataYet": "No Data Yet",
    "activeProviders": "Active Providers",
    "nameInvalid": "Name Invalid",
    "skip": "Skip",
    "createChain": "Create Chain",
    "audioSpeech": "Audio Speech",
    "cacheCleared": "Cache Cleared",
    "searchTypeNews": "Search Type News",
    "durationMillisecondsShort": "Duration Milliseconds Short",
    "addOpenAICompatible": "Add Open Ai Compatible",
    "chatTesterTab": "Chat Tester Tab",
    "queued": "Queued",
    "domainPlaceholder": "Domain Placeholder",
    "durationMinutesShort": "Duration Minutes Short",
    "verifyingConnection": "Verifying Connection",
    "imageProviders": "Image Providers",
    "protocolToolsLabel": "Protocol Tools Label",
    "queryPlaceholder": "Query Placeholder",
    "videoGeneration": "Video Generation",
    "timeRangeWeek": "Time Range Week",
    "limitExhausted": "Limit Exhausted",
    "failedDisable": "Failed Disable",
    "inMemoryNote": "In Memory Note",
    "compatibleHint": "Compatible Hint",
    "errorShort": "Error Short",
    "advancedHint": "Advanced Hint",
    "restoreFailed": "Restore Failed",
    "searchProvidersHeading": "Search Providers Heading",
    "comboName": "Combo Name",
    "autoDisableDescription": "Auto Disable Description",
    "embeddingsDesc": "Embeddings Desc",
    "operational": "Operational",
    "testAllApiKey": "Test All Api Key",
    "backupCreated": "Backup Created",
    "errorDuringImport": "Error During Import",
    "comboDefaultsGuideHint2": "Combo Defaults Guide Hint2",
    "connecting": "Connecting",
    "fillModelAndProviders": "Fill Model And Providers",
    "syncing": "Syncing",
    "resetConfirm": "Reset Confirm",
    "trackMetrics": "Track Metrics",
    "successful": "Successful",
    "recovering": "Recovering",
    "autoDisableThreshold": "Auto Disable Threshold",
    "anthropic": "Anthropic",
    "syncingData": "Syncing Data",
    "cloudBenefitPorts": "Cloud Benefit Ports",
    "compatibleProviders": "Compatible Providers",
    "freeTierProviders": "無料利用枠プロバイダー",
    "freeTierLabel": "無料利用枠あり",
    "freeTierProvidersDesc": "無料枠のあるプロバイダー - API キーのサインアップが必要なプロバイダーもあれば、認証情報がまったく必要ないプロバイダーもあります。",
    "clearCache": "Clear Cache",
    "reqs": "Reqs",
    "addAnthropicCompatible": "Add Anthropic Compatible",
    "apiKeyProviders": "Api Key Providers",
    "tabsAria": "Tabs Aria",
    "resetting": "Resetting",
    "millisecondsAbbr": "Milliseconds Abbr",
    "backupReasonPreRestore": "Backup Reason Pre Restore",
    "disableCloud": "Disable Cloud",
    "newProviderNameAria": "New Provider Name Aria",
    "passwordsMismatch": "Passwords Mismatch",
    "a2aQuickStartStep3": "A2A Quick Start Step3",
    "liveMonitorDescriptionSuffix": "Live Monitor Description Suffix",
    "failedAddProvider": "Failed Add Provider",
    "addAtLeastOneProvider": "Add At Least One Provider",
    "reasonSeparator": "Reason Separator",
    "zedImporting": "Zed Importing",
    "confirmPasswordPlaceholder": "Confirm Password Placeholder",
    "whatYouGet": "What You Get",
    "signatureSession": "Signature Session",
    "errorCountNoCode": "Error Count No Code",
    "testing": "Testing",
    "providersCommaSeparated": "Providers Comma Separated",
    "exportDatabase": "Export Database",
    "hitRate": "Hit Rate",
    "completionsLegacy": "Completions Legacy",
    "removeModel": "Remove Model",
    "timeRangeDay": "Time Range Day",
    "cloudRequestFailed": "Cloud Request Failed",
    "updatedAt": "Updated At",
    "monitoredProvidersHint": "Monitored Providers Hint",
    "connectionSuccessful": "Connection Successful",
    "latencyP50": "Latency P50",
    "logsDeleted": "Logs Deleted",
    "chatTester": "Chat Tester",
    "safeSearchOff": "Safe Search Off",
    "nameHint": "Name Hint",
    "debugToggle": "Debug Toggle",
    "embedding": "Embedding",
    "issuesLabel": "Issues Label",
    "optionAny": "Option Any",
    "maxNestingDepth": "Max Nesting Depth",
    "rerank": "Rerank",
    "checking": "Checking",
    "getStarted": "Get Started",
    "restoreSuccess": "Restore Success",
    "issuesDetected": "Issues Detected",
    "signatureCache": "Signature Cache",
    "modelLockouts": "Model Lockouts",
    "usingCloudProxy": "Using Cloud Proxy",
    "loadingHealth": "Loading Health",
    "providerOverrides": "Provider Overrides",
    "audioTranscriptionDesc": "Audio Transcription Desc",
    "learnedFromHeaders": "Learned From Headers",
    "totalRequests": "Total Requests",
    "cloudUnstableNote": "Cloud Unstable Note",
    "gamificationAdmin": "ゲーミフィケーション管理者",
    "monitorAnomaliesAndHealth": "異常とシステムの健全性を監視する",
    "flaggedAnomalies": "フラグが立てられた異常",
    "noAnomaliesDetected": "異常は検出されませんでした",
    "apiKey": "APIキー",
    "xpLastHour": "XP (1時間)",
    "zScore": "Zスコア",
    "tokensCommunityServers": "コミュニティサーバー",
    "tokensServerNamePlaceholder": "サーバー名",
    "tokensApiKeyPlaceholder": "APIキー",
    "tokensTokenBalance": "トークン残高",
    "tokensSendTokens": "トークンの送信",
    "tokensRecipientApiKeyId": "受信者APIキーID",
    "tokensRecipientApiKeyIdPlaceholder": "受信者のAPIキーIDを入力してください",
    "tokensReasonOptional": "理由（任意）",
    "tokensReasonPlaceholder": "例:ボーナス、報酬",
    "tokensTransactionHistory": "取引履歴",
    "tokensNoTransactionsYet": "まだ取引はありません",
    "tokensInviteCodes": "招待コード",
    "tokensMaxUses": "最大使用回数",
    "tokensRedeemCode": "コードを引き換える",
    "tokensRedeemCodePlaceholder": "招待コードを入力してください",
    "tokensYourActiveInvites": "アクティブな招待状",
    "tierCoverageTitle": "階層の範囲",
    "tierCoverageSubtitle": "フォールバック層ごとに構成されたプロバイダー",
    "batchDetailCopyId": "IDをコピーする",
    "batchDetailClose": "閉じる",
    "batchDetailEndpoint": "エンドポイント",
    "batchDetailModel": "モデル",
    "batchDetailWindow": "窓",
    "batchDetailCreated": "作成されました",
    "providerTopologyEmpty": "まだプロバイダーが接続されていません",
    "badgeToastUnlocked": "バッジのロックが解除されました!",
    "batchListSearchPlaceholder": "ID、エンドポイント、モデルで検索…",
    "batchListDeleteAllCompletedTitle": "完了したバッチをすべて削除する",
    "batchListBatchesTable": "バッチ",
    "changelogViewerLoading": "GitHub から変更ログを読み込んでいます...",
    "profileLoading": "プロファイルを読み込んでいます...",
    "profileHowToEarn": "稼ぎ方",
    "bootstrapBannerDismiss": "解雇する",
    "batchListDeleteBatchTitle": "バッチとそのファイルを削除する",
    "leaderboardYourRank": "あなたのランク",
    "leaderboardLoading": "リーダーボードを読み込んでいます...",
    "batchFileDetailCopyId": "IDをコピーする",
    "batchFileDetailClose": "閉じる",
    "batchFileDetailFailedToLoad": "ファイルコンテンツのロードに失敗しました",
    "batchFilesListSearchPlaceholder": "IDまたはファイル名で検索…",
    "batchFilesListFilesTable": "ファイル",
    "batchPageLoadingMore": "さらに読み込み中…",
    "recommended": "__MISSING__:Recommended",
    "batchConceptTitle": "Batch processing",
    "batchConceptSubtitle": "Process thousands of requests asynchronously at ~50% of the cost (24h window). Ideal for evaluations, classification, and embeddings.",
    "batchConceptHowItWorks": "How it works",
    "batchConceptBenefit50pct": "50% discount on input + output tokens",
    "batchConceptAsync24h": "Async with a 24h completion window",
    "batchConceptUseCases": "Best for bulk classification, evaluations, and embeddings",
    "filesConceptTitle": "Batch files",
    "filesConceptSubtitle": "JSONL files used by batches: input requests, results, and errors.",
    "filesConceptInput": "Input — your JSONL with one request per line",
    "filesConceptOutput": "Output — results from completed requests",
    "filesConceptError": "Errors — requests that failed",
    "filesConceptRetention": "Retention: 30 days by default (29 days on Anthropic)",
    "wizardTitle": "New batch",
    "wizardClose": "Close",
    "wizardNext": "Next",
    "wizardBack": "Back",
    "wizardCancel": "Cancel",
    "wizardCreate": "Create batch",
    "wizardCreating": "Creating…",
    "wizardStep1Destination": "Destination",
    "wizardStep2Input": "Input",
    "wizardStep3Validate": "Validate",
    "wizardStep4Cost": "Cost & create",
    "wizardProviderLabel": "Provider",
    "wizardEndpointLabel": "Endpoint",
    "wizardModelLabel": "Model",
    "wizardInputKindJsonl": "JSONL",
    "wizardInputKindCsv": "CSV (we'll convert)",
    "wizardDropOrPick": "Drop a file or click to pick",
    "wizardCsvMappingTitle": "Map CSV columns → request fields",
    "wizardCsvMappingAddField": "Add field",
    "wizardValidationOk": "All lines valid",
    "wizardValidationErrors": "Validation errors",
    "wizardValidationPreview": "Preview (first 5 requests)",
    "wizardValidationSamplingNote": "File is large — validated by sampling (first 1000 + last 100 lines). Full validation runs server-side.",
    "wizardCostSync": "Sync cost",
    "wizardCostBatch": "Batch cost (-50%)",
    "wizardCostSavings": "Savings",
    "wizardCostEstimatedNotice": "Estimated cost — real billing may vary.",
    "wizardErrorUpload": "Failed to upload file. Try again.",
    "wizardErrorCreate": "Failed to create batch. Try again.",
    "wizardEmptyProviders": "Connect a provider with batch support (OpenAI, Anthropic, or Gemini) to create a batch.",
    "uploadModalTitle": "Upload batch file",
    "uploadModalDropOrPick": "Drop a .jsonl file or click to pick",
    "uploadModalUpload": "Upload",
    "uploadModalCancel": "Cancel",
    "uploadModalError": "Upload failed. Try again.",
    "uploadModalSuccess": "Uploaded",
    "uploadModalSizeLimit": "Max 512 MB",
    "batchListNewButton": "New batch",
    "batchListAutoRefresh": "Auto-refresh 30s",
    "batchListCostColumn": "Cost",
    "batchActionCancel": "Cancel",
    "batchActionDownloadOutput": "Download output",
    "batchActionDownloadErrors": "Download errors",
    "batchActionRetry": "Retry failed",
    "batchActionRetryConfirm": "Retry {n} failed request(s)? Final cost depends on actual tokens consumed.",
    "expirationBadgeCritical": "Critical",
    "expirationBadgeWarning": "Soon",
    "expirationBadgeNormal": "Pending",
    "expirationBadgeExpired": "Expired",
    "filesListUploadButton": "Upload",
    "filesListUsedByColumn": "Used by",
    "filesListUsedByNone": "None",
    "filesListDelete": "Delete",
    "filesListDownload": "Download",
    "batchDetailActionCancel": "Cancel batch",
    "batchDetailActionRetry": "Retry failed requests",
    "batchDetailCancelling": "Cancelling…",
    "batchDetailRetrying": "Preparing retry…",
    "batchDetailCancelConfirm": "Cancel this batch? In-progress requests will stop.",
    "batchActionCancelError": "Failed to cancel batch. Try again.",
    "batchActionRetryError": "Failed to retry failed requests. Try again.",
    "batchConceptRetentionNote": "Results and error files are retained for 30 days (Anthropic: 29 days)",
    "filesListUsedByRoleInput": "input",
    "filesListUsedByRoleOutput": "output",
    "filesListUsedByRoleError": "error",
    "batchListProgressPartial": "(partial)",
    "filesListSizeColumn": "Size",
    "batchListProviderColumn": "Provider",
    "batchListProviderUnknown": "—",
    "batchListBatchCreated": "Batch {id} created — refreshing list…",
    "batchListBatchCreatedDismiss": "Dismiss",
    "batchListRefreshing": "Refreshing…",
    "batchListRefresh": "Refresh",
    "uploadFileModalRemove": "Remove",
    "uploadFileModalUploading": "Uploading…",
    "wizardInputReading": "Reading file…",
    "wizardInputReady": "Ready",
    "wizardInputLargeFileLabel": "Large file — sampling validation",
    "wizardInputCsvJsonlReady": "JSONL generated — ready to validate.",
    "wizardInputLargeFileWarning": "Large file detected — validation runs by sampling (first 5 MB + last 100 KB). Full validation happens server-side.",
    "wizardCostWindow24h": "24h completion window",
    "wizardValidationFieldsOk": "required fields valid",
    "batchListProviderOther": "Other",
    "batchListTitle": "Batches",
    "batchListCount": "{count} batches",
    "batchListRemovingCompleted": "Removing…",
    "batchListRemoveCompleted": "Remove completed",
    "batchListTableStatus": "Status",
    "batchListTableId": "ID",
    "batchListTableEndpoint": "Endpoint",
    "batchListTableModel": "Model",
    "batchListTableProgress": "Progress",
    "batchListTableCreated": "Created",
    "batchListTableExpires": "Expires",
    "batchListLoading": "Loading…",
    "batchListEmpty": "No batches found",
    "batchListValidating": "Validating…",
    "batchStatusAll": "All statuses",
    "batchStatusInProgress": "In progress",
    "batchStatusValidating": "Validating",
    "batchStatusFinalizing": "Finalizing",
    "batchStatusCompleted": "Completed",
    "batchStatusFailed": "Failed",
    "batchStatusCancelled": "Cancelled",
    "batchStatusCancelling": "Cancelling",
    "batchStatusExpired": "Expired",
    "batchStatusCompletedWithFailures": "completed with failures",
    "batchStatusInProgressWithFailures": "in progress (with failures)",
    "batchStatusFinalizingWithFailures": "finalizing (with failures)",
    "batchStatusCancelledWithFailures": "cancelled with failures",
    "batchStatusExpiredWithFailures": "expired (partial)",
    "wizardCostEstimating": "Estimating cost…",
    "wizardCostRequests": "Requests",
    "wizardCostInputTok": "input tok",
    "wizardCostOutputTok": "output tok",
    "wizardCostWindow": "Window",
    "wizardDestinationSelectProvider": "Select a provider…",
    "wizardDestinationSelectModel": "Select a model…",
    "wizardDestinationConnectProvider": "Connect a provider"
  },
  "sidebar": {
    "home": "ホーム",
    "dashboard": "ダッシュボード",
    "providers": "プロバイダー",
    "combos": "コンボ",
    "usage": "使用法",
    "analytics": "分析",
    "costs": "コスト",
    "health": "健康",
    "proxy": "プロキシ",
    "limits": "制限と割り当て",
    "cliTools": "CLIツール",
    "media": "メディア",
    "settings": "設定",
    "translator": "翻訳者",
    "playground": "プレイグラウンド",
    "searchTools": "Search Tools",
    "agents": "エージェント",
    "cloudAgents": "クラウドエージェント",
    "memory": "Memory",
    "skills": "Skills",
    "omniSkills": "オムニスキル",
    "agentSkills": "エージェントスキル",
    "docs": "ドキュメント",
    "issues": "問題点",
    "endpoints": "エンドポイント",
    "endpointsSubtitle": "AI 接続 URL",
    "apiManager": "APIマネージャー",
    "apiManagerSubtitle": "API キーとアクセスを管理する",
    "embeddedServices": "__MISSING__:Embedded Services",
    "embeddedServicesSubtitle": "__MISSING__:Manage local proxy services",
    "logs": "ログ",
    "webhooks": "Webhook",
    "webhooksSubtitle": "イベントの通知を受け取る",
    "combosSubtitle": "フェイルオーバー用のグループプロバイダー",
    "batchSubtitle": "複数のリクエストを処理する",
    "contextCavemanSubtitle": "即時圧縮",
    "contextRtkSubtitle": "出力フィルタリング",
    "auditLog": "監査ログ",
    "shutdown": "シャットダウン",
    "restart": "再起動",
    "shutdownConfirm": "オムニルートをシャットダウンしますか?",
    "restartConfirm": "オムニルートを再起動しますか?",
    "version": "v{version}",
    "debug": "デバッグ",
    "system": "システム",
    "help": "ヘルプ",
    "primarySection": "Main",
    "cliSection": "CLI",
    "debugSection": "Debug",
    "systemSection": "System",
    "helpSection": "Help",
    "serverDisconnected": "サーバーが切断されました",
    "serverDisconnectedMsg": "プロキシ サーバーが停止しているか、再起動中です。",
    "expandSidebar": "サイドバーを展開する",
    "collapseSidebar": "サイドバーを折りたたむ",
    "themes": "Themes",
    "presetColors": "Popular colors",
    "createTheme": "Create theme",
    "chooseColor": "Pick one color",
    "themeCoral": "Coral",
    "themeBlue": "Blue",
    "themeRed": "Red",
    "themeGreen": "Green",
    "themeViolet": "Violet",
    "themeOrange": "Orange",
    "themeCyan": "Cyan",
    "cliToolsShort": "ツール",
    "cache": "Cache",
    "cacheShort": "Cache",
    "batch": "Batch Jobs",
    "themeSystem": "Theme System",
    "whitelabelingDesc": "Whitelabeling Desc",
    "switchThemes": "Switch Themes",
    "themeAccentDesc": "Theme Accent Desc",
    "uploadFavicon": "Upload Favicon",
    "themeDark": "Theme Dark",
    "customLogoDesc": "Custom Logo Desc",
    "sidebarVisibilityToggle": "Sidebar Visibility Toggle",
    "themeAccent": "Theme Accent",
    "resetFavicon": "Reset Favicon",
    "whitelabeling": "Whitelabeling",
    "darkMode": "Dark Mode",
    "uploadLogo": "Upload Logo",
    "themeLight": "Theme Light",
    "appName": "App Name",
    "appNameDesc": "App Name Desc",
    "resetLogo": "Reset Logo",
    "customFavicon": "Custom Favicon",
    "hideHealthLogs": "Hide Health Logs",
    "customLogo": "Custom Logo",
    "appearance": "Appearance",
    "themeSelectionAria": "Theme Selection Aria",
    "themeCreate": "Theme Create",
    "customFaviconDesc": "Custom Favicon Desc",
    "logoPreview": "Logo Preview",
    "themeCustom": "Theme Custom",
    "hideHealthLogsDesc": "Hide Health Logs Desc",
    "faviconPreview": "Favicon Preview",
    "changelog": "Changelog",
    "contextSection": "Context & Cache",
    "contextCaveman": "Caveman",
    "contextRtk": "RTK",
    "contextCombos": "Engine Combos",
    "routingSection": "Routing",
    "protocolsSection": "Protocols",
    "agentsAiSection": "Agents & AI",
    "cacheContextSection": "Cache & Context",
    "analyticsSection": "Analytics",
    "costsSection": "Costs",
    "monitoringSection": "Monitoring",
    "auditSecuritySection": "Audit & Security",
    "devtoolsSection": "Dev Tools",
    "configurationSection": "Configuration",
    "aiFeaturesSection": "AI Features",
    "mcp": "MCP",
    "a2a": "A2A",
    "apiEndpoints": "API Endpoints",
    "batchFiles": "Files",
    "analyticsEvals": "Evals",
    "analyticsSearch": "Search",
    "analyticsUtilization": "Utilization",
    "analyticsComboHealth": "Combo Health",
    "analyticsCompression": "Compression",
    "costsBudget": "Budget",
    "costsQuotaShare": "Quota Sharing",
    "costsPricing": "Pricing",
    "logsProxy": "Proxy Logs",
    "logsConsole": "Console",
    "logsActivity": "Activity",
    "auditMcp": "MCP Audit",
    "auditA2a": "A2A監査",
    "settingsGeneral": "General",
    "settingsAppearance": "Appearance",
    "settingsAi": "AI Settings",
    "settingsSecurity": "Security",
    "settingsFeatureFlags": "機能フラグ",
    "settingsAuthz": "__MISSING__:Authz",
    "settingsRouting": "Routing",
    "settingsResilience": "Resilience",
    "settingsAdvanced": "Advanced",
    "omniProxySection": "OmniProxy",
    "quotaTracker": "Provider Quota",
    "providerQuota": "Provider Quota",
    "runtime": "Runtime",
    "consoleLogs": "Console Logs",
    "globalRouting": "Global Routing",
    "mitmProxy": "MITM Proxy",
    "oneProxy": "1Proxy",
    "agenticFeaturesSection": "Agentic Features",
    "otherFeaturesSection": "Other Features",
    "compressionContextGroup": "Compression Context",
    "toolsGroup": "Tools",
    "integrationsGroup": "Integrations",
    "proxyGroup": "Proxy",
    "costsParametersGroup": "Costs Parameters",
    "auditGroup": "Audit",
    "batchGroup": "Batch",
    "homeSubtitle": "Dashboard overview",
    "providersSubtitle": "Manage AI providers",
    "quotaTrackerSubtitle": "Track usage limits",
    "providerQuotaSubtitle": "Track provider usage limits",
    "runtimeSubtitle": "Realtime resilience & sessions",
    "contextCombosSubtitle": "Combine compression engines",
    "cliToolsSubtitle": "Configure CLI runtimes",
    "agentsSubtitle": "Manage local agents",
    "cloudAgentsSubtitle": "Manage cloud-based agents",
    "apiEndpointsSubtitle": "Expose custom endpoints",
    "proxySubtitle": "HTTP proxy settings",
    "mitmProxySubtitle": "MITM interception",
    "oneProxySubtitle": "Public proxy gateway",
    "leaderboard": "Leaderboard",
    "profile": "Profile",
    "tokens": "Tokens",
    "leaderboardSubtitle": "Rankings and achievements",
    "profileSubtitle": "Account and preferences",
    "tokensSubtitle": "Token usage and budgets",
    "usageSubtitle": "Traffic and usage stats",
    "analyticsComboHealthSubtitle": "Combo target reliability",
    "analyticsUtilizationSubtitle": "Provider utilization",
    "costsSubtitle": "Spend breakdown",
    "cacheSubtitle": "Cache hit rates",
    "analyticsCompressionSubtitle": "Token savings stats",
    "analyticsSearchSubtitle": "Search tool analytics",
    "analyticsEvalsSubtitle": "Eval suite results",
    "logsSubtitle": "Application logs",
    "logsProxySubtitle": "Proxy traffic logs",
    "consoleLogsSubtitle": "Console output",
    "logsActivitySubtitle": "User activity log",
    "healthSubtitle": "System health check",
    "costsPricingSubtitle": "Per-model pricing rules",
    "costsBudgetSubtitle": "Budget limits",
    "costsQuotaShareSubtitle": "Share provider quotas across keys",
    "auditLogSubtitle": "Authorization audit",
    "auditMcpSubtitle": "MCP server audit",
    "auditA2aSubtitle": "A2A protocol audit",
    "translatorSubtitle": "Format conversion",
    "playgroundSubtitle": "Test prompts live",
    "searchToolsSubtitle": "Search tool registry",
    "memorySubtitle": "Persistent agent memory",
    "omniSkillsSubtitle": "Sandbox skill registry",
    "agentSkillsSubtitle": "A2A skill registry",
    "mcpSubtitle": "MCP server controls",
    "a2aSubtitle": "A2A protocol server",
    "mediaSubtitle": "Cached media files",
    "batchFilesSubtitle": "Batch input/output files",
    "settingsSubtitle": "All settings",
    "settingsGeneralSubtitle": "App basics",
    "settingsAppearanceSubtitle": "Theme and layout",
    "settingsAiSubtitle": "AI behavior defaults",
    "globalRoutingSubtitle": "Global routing rules",
    "settingsResilienceSubtitle": "Retries and breakers",
    "settingsAdvancedSubtitle": "Power user options",
    "settingsSecuritySubtitle": "Auth and encryption",
    "settingsFeatureFlagsSubtitle": "システム機能の切り替え",
    "settingsSidebar": "Sidebar",
    "settingsSidebarSubtitle": "Customize sidebar layout",
    "settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
    "docsSubtitle": "Documentation",
    "issuesSubtitle": "Report a bug",
    "changelogSubtitle": "Release notes"
  },
  "webhooks": {
    "title": "Webhook",
    "description": "システム イベントの HTTP コールバックを構成します。",
    "configuredWebhooks": "構成されたWebhook",
    "configuredWebhooksDesc": "配信エンドポイント、サブスクライブされたイベント、ステータス、およびテスト送信を管理します。",
    "addWebhook": "Webhook の追加",
    "editWebhook": "Webhook の編集",
    "name": "名前",
    "namePlaceholder": "生産監視",
    "unnamedWebhook": "名前のないウェブフック",
    "url": "エンドポイント URL",
    "events": "イベント",
    "allEvents": "すべてのイベント",
    "secret": "秘密",
    "secretPlaceholder": "シークレットを自動生成するには空白のままにします",
    "secretEditPlaceholder": "現在のシークレットを保持するには空白のままにします",
    "status": "ステータス",
    "active": "アクティブ",
    "inactive": "非アクティブ",
    "errored": "エラーが発生しました",
    "total": "合計",
    "lastTriggered": "最後にトリガーされた",
    "actions": "アクション",
    "enabled": "有効",
    "enabledDesc": "無効化された Webhook は保存されたままになりますが、配信は受信されません。",
    "refresh": "リフレッシュ",
    "loading": "Webhook を読み込んでいます...",
    "never": "決してしない",
    "failureCount": "{count, plural, =0 {no failures} one {# failure} other {# failures}}",
    "testWebhook": "テストの送信",
    "testSuccess": "テスト Webhook が正常に送信されました。",
    "testFailed": "Webhook のテストが失敗しました。",
    "saveSuccess": "Webhook が正常に保存されました。",
    "saveFailed": "Webhook の保存に失敗しました。",
    "loadFailed": "Webhook の読み込みに失敗しました。",
    "delete": "削除",
    "deleteConfirm": "この Webhook を削除してもよろしいですか?",
    "deleteSuccess": "Webhook が正常に削除されました。",
    "deleteFailed": "Webhook の削除に失敗しました。",
    "edit": "編集",
    "enable": "有効にする",
    "disable": "無効にする",
    "noWebhooks": "Webhook はまだ構成されていません。",
    "signatureTitle": "Webhook 署名",
    "signatureDescription": "各配信には、Webhook シークレットを使用して HMAC-SHA256 で署名された X-Webhook-Signature ヘッダーが含まれます。ペイロードを信頼する前に署名を検証してください。",
    "wizard": {
      "cancel": "__MISSING__:Cancel",
      "step1Title": "__MISSING__:Select Integration",
      "step2Title": "__MISSING__:Configure Target",
      "step3Title": "__MISSING__:Events & Test",
      "back": "__MISSING__:Back",
      "next": "__MISSING__:Next",
      "finish": "__MISSING__:Finish",
      "step1Desc": "__MISSING__:Select the target integration system for this webhook."
    },
    "howItWorks": {
      "step1": "__MISSING__:Choose an integration provider (e.g. Slack, Discord, custom webhook) and set up the connection details.",
      "step2": "__MISSING__:Configure system events to subscribe to (e.g. completion errors, model fallbacks, or usage limits).",
      "step3": "__MISSING__:Verify the configuration by sending a test payload to make sure the endpoint receives it.",
      "step4": "__MISSING__:Secure your endpoint by validating the X-Webhook-Signature HMAC-SHA256 header using the webhook's secret.",
      "title": "__MISSING__:How Webhooks Work",
      "customOnly": "__MISSING__:Only applicable for custom endpoint integrations.",
      "hmacRecipeTitle": "__MISSING__:HMAC Verification Recipe",
      "hmacRecipe": "__MISSING__:To verify webhook payloads in Node.js, compute the HMAC-SHA256 of the raw request body using your secret key. Compare it to the X-Webhook-Signature header using timingSafeEqual.",
      "timeoutNote": "__MISSING__:Webhook deliveries have a timeout of 10 seconds.",
      "retryNote": "__MISSING__:Failed deliveries are retried up to 5 times with exponential backoff.",
      "docsLink": "__MISSING__:Read the full Webhooks developer guide",
      "hmacRecipePython": "__MISSING__:Python HMAC verification: hmac.new(secret, body, hashlib.sha256).hexdigest()",
      "hmacRecipeBash": "__MISSING__:Bash HMAC verification: echo -n \"$body\" | openssl dgst -sha256 -hmac \"$secret\""
    },
    "deliveries": {
      "title": "__MISSING__:Delivery Logs",
      "loadFailed": "__MISSING__:Failed to load webhook delivery logs.",
      "empty": "__MISSING__:No deliveries recorded yet. Trigger an event or send a test payload.",
      "status": "__MISSING__:Status",
      "event": "__MISSING__:Event",
      "latency": "__MISSING__:Latency",
      "at": "__MISSING__:Sent At"
    },
    "kinds": {
      "comingSoon": "__MISSING__:Coming Soon",
      "slack": "__MISSING__:Slack",
      "slackDesc": "__MISSING__:Post system events directly into a Slack channel",
      "telegram": "__MISSING__:Telegram",
      "telegramDesc": "__MISSING__:Send event messages using a Telegram bot",
      "discord": "__MISSING__:Discord",
      "discordDesc": "__MISSING__:Deliver real-time updates directly to a Discord server",
      "custom": "__MISSING__:Custom Webhook",
      "customDesc": "__MISSING__:Deliver system event payloads to any HTTPS endpoint",
      "email": "__MISSING__:Email Notification",
      "emailDesc": "__MISSING__:Receive summary updates via email",
      "pagerduty": "__MISSING__:PagerDuty",
      "pagerdutyDesc": "__MISSING__:Trigger alerts on PagerDuty for critical system issues",
      "teams": "__MISSING__:Microsoft Teams",
      "teamsDesc": "__MISSING__:Forward system notifications to Microsoft Teams channels"
    },
    "testPayloadSent": "__MISSING__:Test Payload Sent",
    "testResponse": "__MISSING__:Test Response",
    "validateUrl": {
      "checking": "__MISSING__:Checking URL...",
      "ok": "__MISSING__:URL is valid",
      "blockedPrivate": "__MISSING__:URL is a blocked private address",
      "invalidUrl": "__MISSING__:Invalid URL format"
    },
    "custom": {
      "endpointUrl": "__MISSING__:Endpoint URL",
      "endpointUrlPlaceholder": "__MISSING__:https://api.yourdomain.com/webhook",
      "secretKey": "__MISSING__:Secret Key",
      "secretKeyPlaceholder": "__MISSING__:Enter secret key or leave blank to auto-generate",
      "secretKeyHint": "__MISSING__:Used to sign the payload header for authentication."
    },
    "discord": {
      "webhookUrl": "__MISSING__:Discord Webhook URL",
      "webhookUrlPlaceholder": "__MISSING__:https://discord.com/api/webhooks/...",
      "webhookUrlHint": "__MISSING__:The webhook URL copied from your Discord channel integration settings.",
      "tutorial": "__MISSING__:How to create a Discord webhook:"
    },
    "slack": {
      "webhookUrl": "__MISSING__:Slack Webhook URL",
      "webhookUrlPlaceholder": "__MISSING__:https://hooks.slack.com/services/...",
      "webhookUrlHint": "__MISSING__:The webhook URL copied from your Slack Incoming Webhooks integration.",
      "tutorial": "__MISSING__:How to create a Slack webhook:"
    },
    "telegram": {
      "botToken": "__MISSING__:Telegram Bot Token",
      "botTokenPlaceholder": "__MISSING__:123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ",
      "botTokenHint": "__MISSING__:The HTTP API token received from @BotFather when creating your bot.",
      "chatId": "__MISSING__:Telegram Chat ID / Channel",
      "chatIdPlaceholder": "__MISSING__:-100123456789 or @channelname",
      "chatIdHint": "__MISSING__:The unique numerical identifier or public username of the chat/channel.",
      "tutorial": "__MISSING__:How to configure Telegram webhook:"
    }
  },
  "compliance": {
    "auditTitle": "監査",
    "auditDescription": "コンプライアンス イベントと MCP ツール呼び出しを 1 つの運用ビューから確認します。",
    "complianceTab": "コンプライアンス",
    "mcpTab": "MCP監査",
    "title": "コンプライアンス監査",
    "description": "コンプライアンス監査ログによって記録されるポリシー、アクセス、プロバイダー、およびセキュリティ イベント。",
    "eventType": "イベントの種類",
    "eventTypePlaceholder": "アクションまたはイベントのタイプでフィルタリングする",
    "severity": "重大度",
    "allSeverities": "すべての重大度",
    "info": "情報",
    "warning": "警告",
    "critical": "クリティカル",
    "sourceIp": "送信元IP",
    "userOrKey": "ユーザー/キー",
    "action": "アクション",
    "result": "結果",
    "details": "詳細",
    "timestamp": "タイムスタンプ",
    "from": "から",
    "to": "へ",
    "refresh": "リフレッシュ",
    "export": "エクスポート",
    "clearFilters": "フィルターをクリアする",
    "loading": "監査イベントを読み込んでいます...",
    "showing": "{total} イベント中 {count} を表示しています",
    "policyViolation": "ポリシー違反",
    "accessDenied": "アクセスが拒否されました",
    "injectionBlocked": "注入がブロックされました",
    "noEvents": "コンプライアンス イベントは記録されません。",
    "failedFetch": "コンプライアンス監査ログの取得に失敗しました。",
    "viewDetails": "詳細を見る",
    "closeDetails": "詳細を閉じる",
    "notAvailable": "—",
    "system": "システム",
    "previous": "前へ",
    "next": "次へ",
    "mcpAudit": "MCP監査",
    "mcpAuditDesc": "MCP サーバーによって記録されたツール呼び出し監査エントリ。",
    "failedFetchMcpAudit": "MCP監査ログの取得に失敗しました。",
    "tool": "ツール",
    "toolPlaceholder": "ツール名でフィルタリングする",
    "duration": "期間",
    "apiKey": "APIキー",
    "output": "出力",
    "allResults": "すべての結果",
    "success": "成功",
    "failure": "失敗",
    "noMcpEvents": "MCP 監査イベントは記録されません。",
    "a2aAudit": "A2A監査",
    "a2aAuditDesc": "A2A サーバーによって記録されたタスク実行の監査証跡。",
    "a2aShowingTasks": "{total} タスク中 {count} を表示しています",
    "a2aSkill": "スキル",
    "a2aSkillPlaceholder": "スキル名で絞り込む",
    "a2aState": "州",
    "a2aAllStates": "すべての州",
    "a2aStateSubmitted": "提出済み",
    "a2aStateWorking": "働く",
    "a2aStateCompleted": "完了",
    "a2aStateFailed": "失敗しました",
    "a2aStateCancelled": "キャンセルされました",
    "a2aTaskId": "タスクID",
    "a2aEvents": "イベント",
    "a2aArtifacts": "アーティファクト",
    "a2aNoTasks": "A2A タスクは記録されません。",
    "a2aLoadingTasks": "A2A タスクをロードしています..."
  },
  "themesPage": {
    "title": "Themes",
    "description": "Choose a preset theme or create your own with a single color",
    "presetColors": "Popular colors",
    "customTheme": "Custom theme",
    "customThemeDesc": "Click create theme and pick one color",
    "createTheme": "Create theme",
    "activePreset": "Active theme"
  },
  "header": {
    "logout": "ログアウト",
    "language": "言語",
    "providers": "プロバイダー",
    "providerDescription": "AI プロバイダー接続を管理します",
    "combos": "コンボ",
    "comboDescription": "フォールバック付きのモデルコンボ",
    "usage": "使用状況と分析",
    "usageDescription": "API の使用状況、トークンの消費、リクエスト ログを監視します。",
    "analytics": "アナリティクス",
    "analyticsDescription": "チャート、トレンド、評価の洞察",
    "cliTools": "CLIツール",
    "cliToolsDescription": "CLI ツールの構成",
    "home": "ホーム",
    "homeDescription": "オムニルートへようこそ",
    "endpoint": "エンドポイント",
    "endpointDescription": "プロキシエンドポイント、MCP、A2A、APIエンドポイントを管理",
    "mcp": "MCP",
    "mcpDescription": "Model Context Protocol server management and tools",
    "a2a": "A2A",
    "a2aDescription": "Agent-to-Agent protocol tasks and observability",
    "settings": "設定",
    "settingsDescription": "設定を管理します",
    "openaiCompatible": "OpenAI対応",
    "anthropicCompatible": "Anthropic 互換",
    "media": "Media",
    "mediaDescription": "Generate images, videos, and music",
    "themes": "Themes",
    "themesDescription": "Choose a color theme for the whole dashboard panel",
    "costsDescription": "Track spending, analyze trends, and manage your AI budget across all providers",
    "cacheDescription": "Monitor provider prompt cache efficiency and local semantic response reuse.",
    "limitsDescription": "Configure rate limits and quotas per API key and provider",
    "runtimeDescription": "Live runtime observability — circuit breakers, cooldowns, model lockouts, sessions and quota alerts",
    "apiManagerDescription": "Manage API keys and access control for your OmniRoute instance",
    "batchDescription": "Process large volumes of requests asynchronously with batched API calls",
    "contextCavemanDescription": "Rule-based message compression, language packs, analytics and output mode controls.",
    "contextRtkDescription": "Command-aware compression for tool output, terminal logs and build results.",
    "contextCombosDescription": "Define how engines are combined for different routing scenarios.",
    "changelogDescription": "Stay up to date with the latest platform features and announcements.",
    "agentsDescription": "Manage and configure AI agent tools: Codex, Devin, Jules, and custom agents",
    "cloudAgentsDescription": "Orchestrate cloud-based AI agents with live task tracking and plan approval",
    "memoryDescription": "Persistent conversational memory with semantic search and FTS5 full-text indexing",
    "skillsDescription": "Install and manage sandbox skills for automated prompt and tool execution",
    "agentSkillsDescription": "Agent-ready skills catalog with one-click URL copy for AI client integration",
    "translatorDescription": "Translate and test prompts across API formats: OpenAI ↔ Claude ↔ Gemini",
    "playgroundDescription": "Test prompts interactively with live provider responses and format inspection",
    "searchToolsDescription": "Search analytics, provider breakdown, cache hit rates, and cost tracking",
    "logsDescription": "Real-time request logs, error traces, and streaming event inspector",
    "auditDescription": "Compliance audit trail of API key usage, MCP tool calls, and policy events",
    "webhooksDescription": "Configure webhook endpoints to receive real-time event notifications",
    "healthDescription": "System health overview: providers, circuit breakers, rate limits, and database",
    "proxyDescription": "Configure upstream proxy settings for outbound provider connections",
    "apiEndpointsDescription": "Manage custom API endpoint configurations and routing overrides",
    "batchFilesDescription": "Browse and manage batch job output files and results",
    "analyticsEvalsDescription": "Model evaluation results and performance benchmarks",
    "analyticsSearchDescription": "Search query analytics, cache hit rates, and cost tracking",
    "analyticsUtilizationDescription": "Provider utilization metrics and capacity planning",
    "analyticsComboHealthDescription": "Real-time health and performance of combo routing configurations",
    "analyticsCompressionDescription": "Context compression analytics and token savings",
    "costsBudgetDescription": "Budget limits and spending alerts per API key and provider",
    "costsPricingDescription": "Custom pricing configuration for token cost calculations",
    "logsProxyDescription": "Upstream proxy request logs and traffic inspection",
    "logsConsoleDescription": "Application console output and debug logs",
    "logsActivityDescription": "Audit trail of user actions and system events",
    "auditMcpDescription": "MCP tool invocation audit trail and compliance records",
    "auditA2a": "A2A監査",
    "auditA2aDescription": "A2Aタスク実行監査証跡、状態遷移、スキル呼び出し記録",
    "settingsGeneralDescription": "Storage, database, and general instance configuration",
    "settingsAppearanceDescription": "Theme, branding, and visual customization",
    "settingsAiDescription": "AI behaviors, thinking budgets, vision, and memory settings",
    "settingsSecurityDescription": "Authentication, authorization, and access control settings",
    "featureFlags": "機能フラグ",
    "featureFlagsDescription": "制御システムの機能と実験的機能",
    "featureFlagsActive": "{count} がアクティブです",
    "featureFlagsInactive": "{count} が非アクティブです",
    "featureFlagsOverrides": "{count} DB オーバーライド",
    "featureFlagsSearch": "検索フラグ...",
    "featureFlagsCategoryAll": "すべて",
    "featureFlagsCategorySecurity": "セキュリティ",
    "featureFlagsCategoryNetwork": "ネットワーク",
    "featureFlagsCategoryPolicies": "ポリシー",
    "featureFlagsCategoryRuntime": "ランタイム",
    "featureFlagsCategoryCli": "CLI",
    "featureFlagsCategoryHealth": "健康",
    "featureFlagsSourceDb": "DB",
    "featureFlagsSourceEnv": "環境",
    "featureFlagsSourceDefault": "守備",
    "featureFlagsReset": "リセット",
    "featureFlagsResetAll": "すべてのオーバーライドをリセット",
    "featureFlagsResetAllConfirm": "すべての機能フラグの上書きをリセットしてもよろしいですか?これにより、すべてのフラグが ENV またはデフォルト値に戻ります。",
    "featureFlagsRestartRequired": "適用するには再起動が必要です",
    "featureFlagsNoResults": "検索に一致するフラグはありません",
    "featureFlagsSaved": "フラグが更新されました",
    "featureFlagsError": "フラグの更新に失敗しました",
    "settingsRoutingDescription": "Routing rules, model aliases, combo defaults, and degradation settings",
    "settingsResilienceDescription": "Circuit breaker, retry, and fallback configuration",
    "settingsAdvancedDescription": "Advanced payload rules, request limits, and proxy API settings",
    "mitmProxyDescription": "Configure MITM proxy settings for traffic inspection and debugging",
    "oneProxyDescription": "Configure 1Proxy settings for advanced proxy chaining"
  },
  "home": {
    "quickStart": "クイックスタート",
    "quickStartDesc": "4 ステップでセットアップ完了。プロバイダー接続、モデルルーティング、監視まで一括で行えます。",
    "fullDocs": "完全版ドキュメント",
    "step1Title": "1. APIキーの作成",
    "step1Desc": "<endpoint>Endpoint</endpoint> -> Registered Keys に移動し、環境ごとに 1 つのキーを作成します。",
    "step2Title": "2. プロバイダーを接続",
    "step2Desc": "<providers>Providers</providers> でアカウントを追加します。OAuth、API Key、無料枠に対応しています。",
    "step3Title": "3. クライアントを設定",
    "step3Desc": "IDE または API クライアントの Base URL を {url} に設定します。",
    "step4Title": "4. 監視と最適化",
    "step4Desc": "<logs>リクエストログ</logs> と <analytics>アナリティクス</analytics> でトークン・コスト・エラーを追跡します。",
    "providersOverview": "プロバイダーの概要",
    "configuredOf": "{configured} は {total} の利用可能なプロバイダーで構成されています",
    "noModelsAvailable": "このプロバイダーで利用できるモデルはありません。",
    "noProvidersConfigured": "プロバイダーがまだ構成されていません",
    "addProvider": "プロバイダーを追加する",
    "configureFirst": "最初に {providers} で接続を構成します",
    "configureProvider": "プロバイダーの構成",
    "modelAvailable": "{count} モデルが利用可能",
    "modelsAvailable": "{count} モデルが利用可能",
    "connectionsActive": "{count} 接続がアクティブです",
    "connectionsActivePlural": "{count} 接続がアクティブです",
    "copyModelName": "モデル名をコピーする",
    "documentation": "ドキュメント",
    "healthMonitor": "ヘルスモニター",
    "reportIssue": "問題を報告する",
    "activeError": "{active} アクティブ · {errors} エラー",
    "oauthLabel": "OAuth",
    "apiKeyLabel": "APIキー",
    "requestsShort": "{count} 件",
    "providerModelsTitle": "{provider} - モデル",
    "copiedModel": "コピーしました: {model}",
    "aliasLabel": "別名",
    "updateNow": "今すぐ更新",
    "updating": "更新中...",
    "updateAvailableDesc": "新しいバージョンが利用可能です。クリックして更新。",
    "updateStarted": "更新を開始しました...",
    "reloadingPageAutomatically": "ページを自動的に再読み込みしています...",
    "providerTopology": "プロバイダー トポロジ"
  },
  "analytics": {
    "title": "分析",
    "usageAnalyticsTitle": "__MISSING__:Usage Analytics",
    "diversityScoreTitle": "プロバイダーの多様性",
    "diversityScoreDesc": "__MISSING__:Provider concentration snapshot for the recent traffic window.",
    "diversityShannonEntropy": "__MISSING__:Shannon entropy",
    "diversityWindow": "__MISSING__:Window: {count} reqs · Last {mins} mins",
    "diversityHealthy": "__MISSING__:Healthy Distribution",
    "diversityRiskHigh": "__MISSING__:High Vendor Lock-in Risk",
    "diversityRiskModerate": "__MISSING__:Moderate Distribution",
    "diversityScoreLabel": "__MISSING__:score",
    "diversityHigherExplanation": "__MISSING__:Higher values mean traffic is spread across multiple providers.",
    "diversityNoData": "__MISSING__:No recent usage data available.",
    "chartRequests": "__MISSING__:Requests",
    "chartInput": "__MISSING__:Input",
    "chartOutput": "__MISSING__:Output",
    "chartTotal": "__MISSING__:Total",
    "chartCost": "__MISSING__:Cost",
    "chartShare": "__MISSING__:Share",
    "chartServiceTier": "__MISSING__:Service Tier",
    "chartServiceTierSplit": "__MISSING__:Fast / Standard cost split",
    "chartCostPct": "__MISSING__:{pct}% of cost",
    "chartUsageDetail": "__MISSING__:Usage Detail",
    "chartCacheRead": "__MISSING__:Cache read",
    "chartCostByProvider": "__MISSING__:Cost by Provider",
    "chartNoCostData": "__MISSING__:No cost data",
    "chartModelUsageOverTime": "__MISSING__:Model Usage Over Time",
    "chartNoData": "__MISSING__:No data",
    "chartWeekly": "__MISSING__:Weekly",
    "chartModelBreakdown": "__MISSING__:Model Breakdown",
    "chartModel": "__MISSING__:Model",
    "chartProvider": "__MISSING__:Provider",
    "chartProviderBreakdown": "__MISSING__:Provider Breakdown",
    "filterAllKeys": "__MISSING__:All Keys",
    "filterSearchKeys": "__MISSING__:Search keys…",
    "filterNoKeysMatch": "__MISSING__:No keys match",
    "filterOneKey": "__MISSING__:1 key",
    "filterMultipleKeys": "__MISSING__:{count} keys",
    "rangeToday": "__MISSING__:Today",
    "rangeYesterday": "__MISSING__:Yesterday",
    "rangeLast3Days": "__MISSING__:Last 3 days",
    "rangeThisWeek": "__MISSING__:This week",
    "rangeLast14Days": "__MISSING__:Last 14 days",
    "rangeThisMonth": "__MISSING__:This month",
    "rangeQuickSelect": "__MISSING__:Quick Select",
    "rangeStart": "__MISSING__:Start",
    "rangeEnd": "__MISSING__:End",
    "rangeCancel": "__MISSING__:Cancel",
    "rangeApply": "__MISSING__:Apply",
    "rangeErrorInvalid": "__MISSING__:Start must be before end",
    "period1D": "__MISSING__:1D",
    "period7D": "__MISSING__:7D",
    "period30D": "__MISSING__:30D",
    "period90D": "__MISSING__:90D",
    "periodYTD": "__MISSING__:YTD",
    "periodAll": "__MISSING__:All",
    "totalTokens": "__MISSING__:Total Tokens",
    "inputTokens": "__MISSING__:Input Tokens",
    "outputTokens": "__MISSING__:Output Tokens",
    "estCost": "__MISSING__:Est. Cost",
    "infraTitle": "__MISSING__:Infrastructure",
    "infraAccounts": "__MISSING__:Accounts",
    "infraProviders": "__MISSING__:Providers",
    "infraApiKeys": "__MISSING__:API Keys",
    "infraModels": "__MISSING__:Models",
    "perfTitle": "__MISSING__:Performance",
    "perfAvgTokens": "__MISSING__:Avg Tokens/Req",
    "perfCostReq": "__MISSING__:Cost/Req",
    "perfIoRatio": "__MISSING__:I/O Ratio",
    "perfFastReq": "__MISSING__:Fast Requests",
    "highlightsTitle": "__MISSING__:Highlights",
    "highlightsTopModel": "__MISSING__:Top Model",
    "highlightsTopProvider": "__MISSING__:Top Provider",
    "highlightsBusiestDay": "__MISSING__:Busiest Day",
    "highlightsDiversity": "__MISSING__:Diversity",
    "highlightsFallbackRate": "__MISSING__:Fallback Rate",
    "customRange": "__MISSING__:Custom",
    "overviewDescription": "すべてのプロバイダーとモデルにわたる API 使用パターン、トークン消費量、コスト、アクティビティの傾向を監視します。",
    "evalsDescription": "評価スイートを実行して、LLM エンドポイントをテストおよび検証します。モデルの品質を比較し、回帰を検出し、待ち時間をベンチマークします。",
    "overview": "概要",
    "evals": "エヴァルス",
    "utilization": "活用率",
    "utilizationDescription": "プロバイダーのクォータ使用傾向とレート制限の追跡",
    "modelStatus": "モデルステータス",
    "modelStatusCooldown": "クールダウン",
    "modelStatusUnavailable": "利用不可",
    "modelStatusError": "エラー",
    "comboHealth": "コンボ健全性",
    "comboHealthDescription": "コンボレベルのクォータ、使用分布、パフォーマンスメトリクス",
    "compressionAnalyticsTitle": "Compression Analytics",
    "compressionAnalyticsDescription": "Compression analytics — token savings, mode breakdown, and provider stats.",
    "autoRoutingTotalAutoRequests": "自動リクエストの合計数",
    "autoRoutingAvgSelectionScore": "平均選択スコア",
    "autoRoutingExplorationRate": "探索速度",
    "autoRoutingLkgpHitRate": "LKGPヒット率",
    "autoRoutingRequestsByVariant": "バリアント別のリクエスト",
    "autoRoutingTopRoutedProviders": "上位のルーティングプロバイダー",
    "comboHealthWorstQuotaLeft": "最悪のノルマが残っている",
    "comboHealthUsageSkew": "使用量の偏り",
    "comboHealthSuccessRate": "成功率",
    "comboHealthQuotaHealth": "クォータの健全性",
    "comboHealthRequests": "リクエスト",
    "comboHealthTokens": "トークン",
    "comboHealthAvgLatency": "平均レイテンシー",
    "comboHealthTotalRequests": "リクエストの合計",
    "comboHealthExecutionTargets": "実行対象",
    "comboHealthSuccess": "成功",
    "comboHealthLatency": "レイテンシ",
    "comboHealthQuota": "割り当て",
    "comboHealthTitle": "コンボヘルス",
    "comboHealthUnableToLoad": "コンボのヘルスをロードできません",
    "comboHealthGettingStarted": "はじめに",
    "compressionAnalyticsTotalRequests": "総リクエスト数",
    "compressionAnalyticsTokensSaved": "保存されたトークン",
    "compressionAnalyticsAvgSavings": "平均節約額",
    "compressionAnalyticsAvgDuration": "平均継続時間",
    "compressionAnalyticsReceipts": "領収書",
    "compressionAnalyticsFallbacks": "フォールバック",
    "compressionAnalyticsPromptTokens": "プロンプトトークン",
    "compressionAnalyticsCompletionTokens": "完了トークン",
    "compressionAnalyticsTotalTokens": "総トークン数",
    "compressionAnalyticsCacheTokens": "キャッシュトークン",
    "compressionAnalyticsNoDataYet": "圧縮データはまだありません",
    "searchAnalyticsTotalSearches": "合計検索数",
    "searchAnalyticsCacheHitRate": "キャッシュヒット率",
    "searchAnalyticsTotalCost": "総コスト",
    "searchAnalyticsAvgResponse": "平均応答",
    "searchAnalyticsNoSearchesYet": "まだ検索はありません",
    "providerUtilizationTitle": "プロバイダーの利用状況",
    "providerUtilizationFailedToLoad": "使用率データのロードに失敗しました",
    "providerUtilizationNoData": "利用可能な使用率データはありません",
    "providerUtilizationGettingStarted": "はじめに",
    "providerUtilizationLatestSnapshot": "最新のクォータのスナップショット",
    "providerUtilizationRemainingCapacity": "残容量"
  },
  "apiManager": {
    "title": "APIキー",
    "createKey": "APIキーの作成",
    "key": "キー",
    "revokeKey": "キーを取り消す",
    "revokeConfirm": "この API キーを取り消してもよろしいですか?",
    "noKeys": "API キーはまだありません",
    "noKeysDesc": "エンドポイントへのリクエストを認証するための最初の API キーを作成します",
    "keyLabel": "キーラベル",
    "permissions": "権限",
    "expiresAt": "有効期限が切れます",
    "never": "決してしない",
    "revoke": "取り消し",
    "showKey": "キーを表示",
    "hideKey": "キーを隠す",
    "copyKey": "APIキーをコピーする",
    "allModels": "全モデル",
    "selectedModels": "選択されたモデル",
    "readOnly": "読み取り専用",
    "fullAccess": "フルアクセス",
    "keyManagement": "APIキー管理",
    "keyManagementDesc": "エンドポイントへのリクエストを認証するための API キーを作成および管理する",
    "totalKeys": "キーの総数",
    "restricted": "制限付き",
    "totalRequests": "総リクエスト数",
    "modelsAvailable": "利用可能なモデル",
    "registeredKeys": "登録されたキー",
    "keysRegistered": "{count} キーが登録されました",
    "keyRegistered": "{count} キーが登録されました",
    "keysSecurityNote": "各キーは使用状況の追跡を分離しており、個別に取り消すことができます。キーは、セキュリティのために作成後にマスクされます。",
    "createFirstKey": "最初のキーを作成する",
    "name": "名前",
    "usage": "使用法",
    "created": "作成されました",
    "actions": "アクション",
    "reqs": "要求",
    "neverUsed": "一度も使用されていない",
    "deleteConfirm": "この API キーを削除しますか?",
    "usageTips": "使用上のヒント",
    "tipAuth": "Authorization ヘッダーの API キーをベアラー YOUR_KEY として使用します",
    "tipSecure": "キーは作成中に一度だけ表示されます - 安全に保管してください",
    "tipSeparate": "異なるクライアントまたは環境に対して個別のキーを作成する",
    "tipRestrict": "セキュリティとコスト管理を向上させるためにキーを特定のモデルに制限する",
    "keyName": "キー名",
    "keyNamePlaceholder": "例: プロダクションキー、開発キー",
    "keyNameDesc": "このキーの目的を識別するためのわかりやすい名前を選択してください",
    "managementAccessDesc": "この API キーに OmniRoute の設定管理を許可します。",
    "selfServiceVisibility": "セルフサービスの可視性",
    "selfServiceVisibilityDesc": "このキーが自身の使用状況と共有 upstream クォータについて確認できる範囲を制御します。",
    "ownUsageVisibility": "自身のコストとトークン使用量",
    "ownUsageVisibilityDesc": "このキーが自身の USD 使用量、予算割合、トークン合計を確認するためにステータス endpoint を呼び出せるようにします。",
    "sharedAccountQuotaVisibility": "共有アカウントクォータ",
    "sharedAccountQuotaVisibilityDesc": "明示的な接続が 1 つ設定されている場合、このキーに共有 upstream アカウントクォータの表示を許可します。",
    "keyCreated": "APIキーが作成されました",
    "keyCreatedSuccess": "キーが正常に作成されました。",
    "keyCreatedNote": "このキーをコピーして保存してください。再度表示されなくなります。",
    "done": "完了",
    "savePermissions": "権限の保存",
    "endpointRestrictions": "__MISSING__:Allowed Endpoints",
    "allEndpointsAllowed": "__MISSING__:This key can access all API endpoints.",
    "endpointsRestricted": "__MISSING__:Restricted to {count} endpoint{count, plural, one {} other {s}}.",
    "autoResolve": "Auto-Resolve",
    "autoResolveDesc": "Auto-resolve ambiguous model names to native provider for this API key.",
    "keyActive": "Key Active",
    "keyActiveDesc": "Enable or disable this API key. Disabled keys are immediately rejected with 403.",
    "accessSchedule": "Access Schedule",
    "accessScheduleDesc": "Restrict access to specific hours and days of the week.",
    "scheduleFrom": "From",
    "scheduleUntil": "Until",
    "scheduleDays": "Days",
    "scheduleTimezone": "Timezone",
    "scheduleTimezoneHint": "Use IANA timezone names, e.g. America/New_York, Europe/Berlin",
    "scheduleActive": "Schedule",
    "disabled": "Disabled",
    "daySun": "Sun",
    "dayMon": "Mon",
    "dayTue": "Tue",
    "dayWed": "Wed",
    "dayThu": "Thu",
    "dayFri": "Fri",
    "daySat": "Sat",
    "allowAll": "すべて許可",
    "restrict": "制限する",
    "allowAllInfo": "このキーは、利用可能なすべてのモデルにアクセスできます。",
    "restrictInfo": "このキーは、{total} モデルの {selected} にアクセスできます。",
    "selected": "{count} が選択されました",
    "all": "すべて",
    "clear": "クリア",
    "searchModels": "名前またはプロバイダーでモデルを検索...",
    "noModelsFound": "モデルが見つかりません",
    "keyNameRequired": "キー名は必須です",
    "keyNameTooLong": "キー名は {max} 文字以下である必要があります",
    "keyNameInvalid": "キー名には文字、数字、スペース、ハイフン、アンダースコアのみを含めることができます",
    "invalidKeyName": "無効なキー名です",
    "failedCreateKey": "キーの作成に失敗しました",
    "failedCreateKeyRetry": "キーの作成に失敗しました。もう一度試してください。",
    "invalidKeyId": "無効なキーID",
    "failedDeleteKey": "キーの削除に失敗しました",
    "failedDeleteKeyRetry": "キーの削除に失敗しました。もう一度試してください。",
    "invalidModelsSelection": "無効なモデルの選択",
    "cannotSelectMoreThanModels": "{max} モデルを超えるモデルは選択できません",
    "failedUpdatePermissions": "権限の更新に失敗しました",
    "failedUpdatePermissionsRetry": "権限の更新に失敗しました。もう一度試してください。",
    "unknownProvider": "不明",
    "copyMaskedKey": "マスクされたキーをコピーする",
    "keyOnlyAvailableAtCreation": "Full key available only at creation time — copy it when you first create the key",
    "modelsCount": "{count, plural, one {# model} other {# models}}",
    "lastUsedOn": "最後: {date}",
    "editPermissions": "権限の編集",
    "deleteKey": "削除キー",
    "regenerateKey": "キーを再生成する",
    "regenerateConfirm": "この API キーを再生成してもよろしいですか?古いキーはすぐに無効になります。",
    "failedRegenerateKey": "APIキーの再生成に失敗しました",
    "failedRegenerateKeyRetry": "APIキーの再生成に失敗しました。もう一度試してください。",
    "model": "{count} モデル",
    "models": "{count} モデル",
    "permissionsTitle": "権限: {name}",
    "allowAllDesc": "このキーは、利用可能なすべてのモデルにアクセスできます。",
    "restrictDesc": "このキーは、{totalModels} モデルの {selectedCount} にアクセスできます。",
    "selectedCount": "{count} が選択されました",
    "maxActiveSessions": "最大アクティブセッション数",
    "apiManagerCustomRateLimits": "カスタムレート制限",
    "apiManagerCustomRateLimitsDesc": "グローバルなデフォルト制限をオーバーライドします。デフォルトを使用する場合は空のままにしてください。",
    "apiManagerRateLimitRequestsPlaceholder": "リクエスト",
    "apiManagerRateLimitReqPer": "要求 /",
    "apiManagerRateLimitSecondsPlaceholder": "秒",
    "apiManagerRemoveLimitTitle": "制限を削除する",
    "apiManagerTimezonePlaceholder": "アメリカ/サンパウロ",
    "noLogPayloadPrivacy": "ログなしペイロードのプライバシー",
    "bannedStatus": "禁止ステータス",
    "managementApiAccess": "管理APIアクセス",
    "expirationDate": "有効期限",
    "managementAccess": "管理アクセス",
    "allowedConnections": "許可された接続",
    "searchPlaceholder": "__MISSING__:Search by name or token...",
    "activeOnly": "__MISSING__:Active only",
    "filterStatus": "__MISSING__:STATUS",
    "filterType": "__MISSING__:TYPE",
    "filterAll": "__MISSING__:All",
    "filterStatusActive": "__MISSING__:Active",
    "filterStatusDisabled": "__MISSING__:Disabled",
    "filterStatusBanned": "__MISSING__:Banned",
    "filterStatusExpired": "__MISSING__:Expired",
    "filterTypeStandard": "__MISSING__:Standard",
    "filterTypeManage": "__MISSING__:Manage",
    "filterTypeRestricted": "__MISSING__:Restricted",
    "shownOf": "__MISSING__:{shown} of {total} shown",
    "emptyFilterTitle": "__MISSING__:No keys match your filters",
    "emptyFilterClear": "__MISSING__:Clear filters",
    "endpointRestrictions": "Allowed Endpoints",
    "allEndpointsAllowed": "This key can access all API endpoints.",
    "endpointsRestricted": "Restricted to {count} endpoint{count, plural, one {} other {s}}."
  },
  "auditLog": {
    "title": "監査ログ",
    "searchPlaceholder": "検索アクション...",
    "action": "アクション",
    "actor": "俳優",
    "target": "ターゲット",
    "ipAddress": "IPアドレス",
    "timestamp": "タイムスタンプ",
    "noEntries": "監査エントリが見つかりませんでした",
    "filterByAction": "アクションでフィルタリング...",
    "filterByActor": "俳優でフィルター...",
    "filterEntriesAria": "監査ログエントリをフィルタリングする",
    "filterByActionTypeAria": "アクションの種類でフィルタリングする",
    "filterByActorAria": "俳優で絞り込む",
    "refreshAuditLogAria": "監査ログを更新する",
    "tableAria": "監査ログエントリ",
    "failedFetchAuditLog": "監査ログの取得に失敗しました",
    "notAvailable": "—",
    "description": "管理アクションとセキュリティ イベント",
    "showing": "{count} エントリを表示しています (オフセット {offset})",
    "previous": "前へ"
  },
  "media": {
    "title": "メディアプレイグラウンド",
    "subtitle": "画像、動画、音楽を生成",
    "model": "Model",
    "prompt": "Prompt",
    "generate": "生成",
    "generating": "Generating...",
    "loadingModels": "Loading available models...",
    "noModels": "No models available. Configure providers with media capabilities first.",
    "error": "Generation Failed",
    "result": "Result",
    "imageDescription": "Generate images from text prompts using OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI and more.",
    "videoDescription": "Create videos with AnimateDiff, Stable Video Diffusion via ComfyUI or SD WebUI.",
    "musicDescription": "Compose music using Stable Audio Open or MusicGen via ComfyUI.",
    "kinds": {
      "embedding": "__MISSING__:Embedding",
      "image": "__MISSING__:Image",
      "imageToText": "__MISSING__:Image to Text",
      "tts": "__MISSING__:Text to Speech",
      "stt": "__MISSING__:Speech to Text",
      "webSearch": "__MISSING__:Web Search",
      "webFetch": "__MISSING__:Web Fetch",
      "video": "__MISSING__:Video",
      "music": "__MISSING__:Music"
    },
    "noProviders": "__MISSING__:No providers configured for this kind yet.",
    "addConnection": "__MISSING__:Add Connection",
    "backToProviders": "__MISSING__:Back to Providers",
    "connections": "__MISSING__:{count} Connections",
    "noConnections": "__MISSING__:No connections yet — add one from the provider page.",
    "loading": "__MISSING__:Loading..."
  },
  "search": {
    "searchQuery": "Search Query",
    "searchResults": "Search Results",
    "cachedResult": "Cached",
    "searchCost": "Cost",
    "searchTools": "Search Tools",
    "searchToolsDesc": "Advanced search testing with provider comparison",
    "compareProviders": "Compare Providers",
    "rerankResults": "Rerank Results",
    "searchHistory": "Search History",
    "urlOverlap": "URL Overlap",
    "noSearchProviders": "No search providers configured. Add providers in Settings.",
    "noRerankModels": "No rerank model available",
    "webSearch": "Web Search",
    "provider": "Provider",
    "searchType": "Search Type",
    "maxResults": "Max Results",
    "filters": "Filters",
    "country": "Country",
    "language": "Language",
    "timeRange": "Time Range",
    "includeDomains": "Include Domains",
    "excludeDomains": "Exclude Domains",
    "safeSearch": "Safe Search",
    "safeSearchOff": "Off",
    "safeSearchModerate": "Moderate",
    "safeSearchStrict": "Strict",
    "queryPlaceholder": "Enter search query...",
    "providerAuto": "auto (cheapest)",
    "searchTypeWeb": "web",
    "searchTypeNews": "news",
    "optionAny": "any",
    "timeRangeDay": "Past day",
    "timeRangeWeek": "Past week",
    "timeRangeMonth": "Past month",
    "timeRangeYear": "Past year",
    "domainPlaceholder": "example.com",
    "requestTimedOut": "Request timed out ({seconds}s)",
    "networkError": "Network error",
    "formatted": "Formatted",
    "rawJson": "JSON",
    "cacheMiss": "cache miss",
    "cacheHit": "cache hit",
    "latency": "Latency",
    "cost": "Cost",
    "results": "Results",
    "rerank": "Rerank",
    "rerankModel": "Rerank Model",
    "positionDelta": "Position Change",
    "emptyState": "Send a search query to see results",
    "copy": "コピー",
    "resetToDefault": "デフォルトにリセットする",
    "tabSearch": "Search",
    "tabScrape": "Scrape",
    "tabCompare": "Compare",
    "modalitiesGuide": "Modalities guide",
    "searchConceptTitle": "Search",
    "searchConceptDesc": "Search = fetches a list of web results (title, URL, snippet, relevance score)",
    "scrapeConceptTitle": "Scrape",
    "scrapeConceptDesc": "Scrape = extracts the full content of a URL (markdown, text or HTML)",
    "compareConceptTitle": "Compare",
    "compareConceptDesc": "Compare = runs the same query across N providers side-by-side to compare latency, cost and result overlap",
    "rerankConceptTitle": "Rerank",
    "rerankConceptDesc": "Rerank = reorders results via LLM to improve relevance based on the query",
    "autoConceptTitle": "Auto (cheapest)",
    "autoConceptDesc": "Auto (cheapest) = automatically picks the cheapest available provider with configured credentials",
    "providerCatalogTitle": "Provider Catalog",
    "kindSearch": "Search",
    "kindFetch": "Fetch/Scrape",
    "statusConfigured": "Configured",
    "statusMissing": "No credential",
    "statusRateLimited": "Rate limited",
    "configureProvider": "Configure in Providers",
    "loadingProviders": "Loading providers…",
    "failedToLoadProviders": "Failed to load providers",
    "costPerQuery": "Cost/query",
    "freeQuota": "Free quota/mo",
    "scrapeUrl": "URL to scrape",
    "scrapeUrlPlaceholder": "https://example.com",
    "scrapeExtract": "Extract",
    "scrapeExtracting": "Extracting…",
    "scrapeFullPage": "Full page",
    "scrapeFormat": "Format",
    "formatMarkdown": "Markdown",
    "formatHtml": "HTML",
    "formatText": "Text",
    "scrapePreview": "Preview",
    "scrapeRaw": "Raw",
    "scrapeContentTruncated": "(truncated, view raw)",
    "scrapeMetadata": "Metadata",
    "scrapeProvider": "Provider",
    "scrapeSize": "Size",
    "compareRun": "Compare",
    "compareRunning": "Comparing…",
    "autoProvider": "Auto (cheapest)",
    "configuredStatus": "Configured",
    "rateLimitedStatus": "Rate limited",
    "noCredential": "No credential",
    "searchTypeLabel": "Type",
    "rerankModelLabel": "Rerank model",
    "noneOption": "None",
    "size": "Size"
  },
  "cliTools": {
    "title": "CLIツール",
    "noActiveProviders": "アクティブなプロバイダーはありません",
    "noActiveProvidersDesc": "CLI ツールを設定するには、最初にプロバイダーを追加して接続してください。",
    "mapModels": "地図モデル",
    "testConnection": "テスト接続",
    "connectionStatus": "接続ステータス",
    "configureEndpoint": "エンドポイントの構成",
    "instructions": "指示",
    "modelMapping": "モデルマッピング",
    "baseUrl": "ベースURL",
    "apiKey": "APIキー",
    "configured": "設定済み",
    "notConfigured": "未設定",
    "notInstalled": "インストールされていません",
    "custom": "カスタム",
    "unknown": "不明",
    "lastSavedAt": "最終保存日: {date}",
    "never": "決してしない",
    "justNow": "たった今",
    "minutesAgoShort": "{count}分前",
    "hoursAgoShort": "{count}時間前",
    "daysAgoShort": "{count}日前",
    "monthsAgoShort": "{count} か月前",
    "yearsAgoShort": "{count}年前",
    "runtimeCheckFailed": "実行時チェックに失敗しました",
    "yourApiKeyPlaceholder": "あなたの API キー",
    "modelPlaceholder": "プロバイダー/モデル ID",
    "configurationSaved": "設定が正常に保存されました。",
    "failedToSave": "設定の保存に失敗しました。",
    "noApiKeysCreateOne": "API キーがありません - [キー] ページで API キーを作成します",
    "defaultOmnirouteKey": "sk_omniroute (デフォルト)",
    "selectModel": "モデルの選択",
    "selectModelForAlias": "{alias} のモデルを選択してください",
    "selectModelForTool": "{tool} のモデルを選択してください",
    "select": "選択",
    "clear": "クリア",
    "comingSoon": "近日公開予定",
    "checkingRuntime": "実行時のステータスを確認しています...",
    "guideOnlyIntegration": "ガイドのみの統合 (ローカル ランタイムは不要)",
    "cliRuntimeDetected": "CLI ランタイムが検出され準備完了",
    "cliFoundNotRunnable": "CLI は見つかりましたが、実行できません{reason}",
    "cliRuntimeNotDetected": "CLI ランタイムが検出されない",
    "binary": "バイナリ",
    "configPath": "構成パス",
    "configPathShort": "構成",
    "failedCheckRuntimeStatus": "実行時のステータスの確認に失敗しました。",
    "copy": "コピー",
    "copied": "コピーされました",
    "copyConfig": "構成のコピー",
    "saveConfig": "設定の保存",
    "selectionSaved": "選択内容が保存されました",
    "guide": "ガイド",
    "detected": "検出されました",
    "notReady": "準備ができていません",
    "active": "アクティブ",
    "inactive": "非アクティブ",
    "startMitm": "MITMを開始する",
    "stopMitm": "MITMを停止する",
    "mitmStarted": "MITM は正常に開始されました。",
    "mitmStopped": "MITM は正常に停止しました。",
    "failedStart": "MITMの開始に失敗しました",
    "failedStop": "MITMの停止に失敗しました",
    "saveMappings": "マッピングの保存",
    "mappingsSaved": "マッピングが保存されました!",
    "failedSaveMappings": "マッピングの保存に失敗しました",
    "howItWorks": "仕組み:",
    "antigravityHowWorksDesc": "Antigravity は Google のエンドポイントにリクエストを送信します。 MITM はそれらをインターセプトし、OmniRoute にリダイレクトします。",
    "antigravityStep1": "1. MITM を開始して、OmniRoute 経由でリクエストをルーティングします。",
    "antigravityStep2Prefix": "2.追加",
    "antigravityStep2Suffix": "ホスト ファイルに 127.0.0.1 として追加します。",
    "antigravityStep3": "3. Antigravity を開くと、リクエストがプロキシされます。",
    "mitmHowWorksDesc": "{toolName} sends requests to its provider endpoint. MITM intercepts and redirects them to OmniRoute.",
    "mitmStep1": "1. Start MITM to route requests through OmniRoute.",
    "mitmStep2Prefix": "2. Add",
    "mitmStep2Suffix": "to your hosts file as 127.0.0.1.",
    "mitmStep3": "3. Open {toolName} and requests will be proxied.",
    "sudoPasswordRequiredTitle": "Sudo パスワードが必要です",
    "sudoPasswordHint": "ホスト ファイルとシステム プロキシ設定を変更するには、管理者パスワードが必要です。",
    "enterSudoPassword": "sudoパスワードを入力してください",
    "sudoPasswordRequiredError": "Sudo パスワードが必要です。",
    "cancel": "キャンセル",
    "confirm": "確認する",
    "settingsApplied": "設定が正常に適用されました。",
    "failedApplySettings": "設定の適用に失敗しました",
    "settingsReset": "設定が正常にリセットされました。",
    "failedResetSettings": "設定のリセットに失敗しました",
    "backupRestored": "バックアップが復元されました！",
    "failedRestore": "復元に失敗しました",
    "checkingCli": "{tool} CLI を確認しています...",
    "cliNotRunnable": "{tool} CLI はインストールされていますが、実行できません",
    "cliNotInstalled": "{tool} CLI がインストールされていません",
    "cliNotDetected": "{tool} CLI が検出されませんでした",
    "cliDetectedReady": "{tool} CLI が検出され準備完了",
    "cliFoundFailedHealthcheck": "{tool} CLI が見つかりましたが、ランタイム ヘルスチェック {reason} に失敗しました。",
    "installCliPrompt": "この機能を使用するには、{tool} CLI をインストールしてください。",
    "installCodexPrompt": "自動適用機能を使用するには、Codex CLI をインストールしてください。",
    "hide": "隠す",
    "howToInstall": "インストール方法",
    "installationGuide": "インストールガイド",
    "platforms": "macOS / Linux / Windows:",
    "afterInstallationRun": "インストール後、実行します",
    "toVerify": "確認するために。",
    "current": "現在",
    "baseUrlPlaceholder": "https://.../v1",
    "resetToDefault": "デフォルトにリセットする",
    "providerModelPlaceholder": "プロバイダー/モデル ID",
    "apply": "申し込む",
    "reset": "リセット",
    "manualConfig": "手動設定",
    "backups": "バックアップ",
    "configBackups": "構成のバックアップ",
    "noBackupsYet": "まだバックアップはありません。バックアップは、適用またはリセットの前に自動的に作成されます。",
    "restore": "復元",
    "backupRestoredReloading": "バックアップが復元されました！ステータスをリロード中...",
    "failedRestoreBackup": "バックアップの復元に失敗しました",
    "applied": "適用されました！",
    "failed": "失敗しました",
    "resetDone": "リセット！",
    "omnirouteConfiguredOpenAiCompatible": "OmniRoute は OpenAI 互換プロバイダーとして構成されています",
    "provider": "プロバイダー",
    "model": "モデル",
    "providers": "プロバイダー",
    "auth": "認証",
    "noApiKeysAvailable": "利用可能な API キーがありません",
    "usingDefaultOmniroute": "デフォルトの使用: sk_omniroute",
    "updateConfig": "構成の更新",
    "applyConfig": "構成の適用",
    "noBackupsAvailable": "利用可能なバックアップはありません。",
    "profileSaved": "プロフィール「{name}」を保存しました!",
    "failedSaveProfile": "プロファイルの保存に失敗しました",
    "profileActivated": "プロフィールが有効になりました！",
    "failedActivateProfile": "プロファイルをアクティブ化できませんでした",
    "profiles": "プロフィール",
    "savedProfiles": "保存されたプロファイル",
    "noProfilesYet": "プロファイルはまだ保存されていません。現在の設定を以下のプロファイルとして保存します。",
    "activate": "アクティブ化する",
    "deleteProfile": "プロフィールの削除",
    "profileNamePlaceholder": "プロファイル名 (例: 個人アカウント)",
    "saveCurrent": "現在の保存",
    "codexAuthNotePrefix": "コーデックスの用途",
    "codexAuthNoteMiddle": "と",
    "codexAuthNoteSuffix": "「適用」をクリックして自動設定を行います。",
    "claudeManualConfiguration": "Claude CLI - 手動構成",
    "codexManualConfiguration": "Codex CLI - 手動構成",
    "droidManualConfiguration": "Factory Droid - 手動構成",
    "openClawManualConfiguration": "オープンクロー - 手動設定",
    "clineManualConfiguration": "クライン手動設定",
    "kiloManualConfiguration": "キロコードの手動設定",
    "whenToUseLabel": "いつ使用するか",
    "openToolDocs": "ツールドキュメントを開く",
    "toolUseCases": {
      "claude": "クロード コードを使用して強力な計画ワークフローと長い複数ファイルのリファクタリングが必要な場合に使用します。",
      "codex": "チームが OpenAI Codex CLI フローとプロファイルベースの認証で標準化されている場合に使用します。",
      "droid": "高速コーディングとコマンド実行ループに重点を置いた軽量のターミナル エージェントが必要な場合に使用します。",
      "openclaw": "Open Claw スタイルのコーディング エージェントが必要だが、OmniRoute ポリシーを通じてルーティングされる場合に使用します。",
      "cline": "エディター内でコーディング エージェントを構成し、OmniRoute モデルを使用したガイド付きセットアップが必要な場合に使用します。",
      "kilo": "ワークフローが Kilo Code コマンドと高速反復編集に依存している場合に使用します。",
      "cursor": "Cursor でコーディングし、OmniRoute を介してカスタム OpenAI 互換モデルが必要な場合に使用します。",
      "continue": "IDE で続行を実行し、移植可能な JSON ベースのプロバイダー構成が必要な場合に使用します。",
      "opencode": "ターミナルネイティブのエージェントの実行と OpenCode によるスクリプトによる自動化を希望する場合に使用します。",
      "kiro": "Kiro を統合し、OmniRoute からモデルのルーティングを一元的に制御する場合に使用します。",
      "windsurf": "Use when you want an AI-first IDE with Codeium/Windsurf models routed through OmniRoute.",
      "antigravity": "Antigravity/Kiro トラフィックを MITM 経由でインターセプトし、OmniRoute にルーティングする必要がある場合に使用します。",
      "copilot": "OmniRoute キーとルーティング ルールを適用しながら、Copilot チャット スタイルの UX が必要な場合に使用します。",
      "amp": "Use when you want Amp CLI routed through OmniRoute with stable shorthand aliases and OpenAI-compatible setup.",
      "qwen": "Use when you want Qwen Code CLI with OmniRoute-managed provider settings and multi-provider model access.",
      "hermes": "素早いタスクのために軽量のターミナル ネイティブ AI アシスタントが必要な場合に使用します。",
      "hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
      "custom": "カスタム ツールの実装または汎用の OpenAI 互換構成に使用します。"
    },
    "toolDescriptions": {
      "antigravity": "MITM を備えた Google Antigravity IDE",
      "claude": "Anthropic Claude コード CLI",
      "codex": "OpenAI コーデックス CLI",
      "droid": "ファクトリー ドロイド AI アシスタント",
      "openclaw": "オープンクロー AI アシスタント",
      "cline": "Cline AI コーディング アシスタント CLI",
      "kilo": "Kilo Code AI アシスタント CLI",
      "cursor": "カーソルAIコードエディター",
      "continue": "AIアシスタントを続ける",
      "opencode": "OpenCode AI coding agent (Terminal)",
      "kiro": "Amazon Kiro — AI-powered IDE",
      "windsurf": "Windsurf AI Code Editor",
      "copilot": "GitHub Copilot AI Assistant",
      "qwen": "Alibaba Qwen Code CLI",
      "amp": "Sourcegraph Amp coding assistant CLI",
      "hermes": "エルメス AI ターミナルアシスタント",
      "hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
      "custom": "汎用の OpenAI 互換 CLI または SDK 構成ジェネレーター"
    },
    "guides": {
      "cursor": {
        "notes": {
          "0": "この機能を使用するには、Cursor Pro アカウントが必要です。",
          "1": "カーソルは独自のサーバーを介してリクエストをルーティングするため、ローカル エンドポイントはサポートされません。設定でクラウドエンドポイントを有効にしてください。"
        },
        "steps": {
          "1": {
            "title": "設定を開く",
            "desc": "設定 -> モデルに移動します"
          },
          "2": {
            "title": "OpenAI APIを有効にする",
            "desc": "「OpenAI API キー」オプションを有効にする"
          },
          "3": {
            "title": "ベースURL"
          },
          "4": {
            "title": "APIキー"
          },
          "5": {
            "title": "カスタムモデルの追加",
            "desc": "「すべてのモデルを表示」→「カスタムモデルを追加」をクリックします。"
          },
          "6": {
            "title": "モデルの選択"
          }
        }
      },
      "continue": {
        "steps": {
          "1": {
            "title": "構成を開く",
            "desc": "Continue 構成ファイルを開く"
          },
          "2": {
            "title": "APIキー"
          },
          "3": {
            "title": "モデルの選択"
          },
          "4": {
            "title": "モデル構成の追加",
            "desc": "次の構成をモデル配列に追加します。"
          }
        },
        "notes": {
          "0": "ContinueはJSON設定ファイルを使用します。"
        }
      },
      "opencode": {
        "steps": {
          "1": {
            "title": "Install OpenCode",
            "desc": "Install via npm: npm install -g opencode-ai"
          },
          "2": {
            "title": "API Key"
          },
          "3": {
            "title": "Set Base URL",
            "desc": "opencode config set baseUrl {baseUrl}"
          },
          "4": {
            "title": "Select Model"
          },
          "5": {
            "title": "Use Thinking Variant",
            "desc": "For thinking models, run with --variant high/low/max (example command below)."
          }
        },
        "notes": {
          "0": "OpenCodeはAPIキー設定が必要です。",
          "1": "ベースURLをOmniRouteエンドポイントに設定してください。"
        }
      },
      "kiro": {
        "steps": {
          "1": {
            "title": "Open Kiro Settings",
            "desc": "Go to Settings → AI Provider"
          },
          "2": {
            "title": "Base URL",
            "desc": "Paste your OmniRoute endpoint URL"
          },
          "3": {
            "title": "API Key"
          },
          "4": {
            "title": "Select Model"
          }
        },
        "notes": {
          "0": "KiroはAmazonアカウントが必要です。"
        }
      },
      "windsurf": {
        "steps": {
          "1": {
            "title": "Open AI Settings",
            "desc": "Click the AI Settings icon in Windsurf or go to Settings"
          },
          "2": {
            "title": "Add Custom Provider",
            "desc": "Select \"Add custom provider\" (OpenAI-compatible)"
          },
          "3": {
            "title": "Base URL",
            "desc": "http://127.0.0.1:20128/v1"
          },
          "4": {
            "title": "API Key",
            "desc": "Select your OmniRoute API key"
          },
          "5": {
            "title": "Select Model",
            "desc": "Choose a model from the dropdown"
          }
        }
      }
    },
    "autoConfiguredTab": "Auto Configured Tab",
    "toolCategoriesDesc": "Tool Categories Desc",
    "allToolsTab": "All Tools Tab",
    "guidedClientsTab": "Guided Clients Tab",
    "mitmClientsTab": "Mitm Clients Tab",
    "customCliTab": "カスタムCLI",
    "toolCategories": "Tool Categories",
    "visibleToolsCount": "{count} 個のツールが利用可能",
    "customCliBuilderTitle": "OpenAI互換のCLIビルダー",
    "customCliBuilderDescription": "OpenAI 互換のベース URL、API キー、およびモデル ID を受け入れる CLI または SDK の環境変数と JSON スニペットを生成します。",
    "customCliNoModels": "少なくとも 1 つのプロバイダーに接続してモデル セレクターを設定します。",
    "customCliNameLabel": "CLI名",
    "customCliNamePlaceholder": "例:私のチーム CLI",
    "customCliDefaultModelLabel": "デフォルトモデル",
    "customCliDefaultModelHelp": "任意の OmniRoute モデル ID またはコンボを使用します。ほとんどの OpenAI 互換 CLI では、/v1 ベース URL とモデル文字列のみが必要です。",
    "customCliKeyHelper": "ローカル インストールの場合、OmniRoute は sk_omniroute を使用できます。クラウド モードでは、管理 API キーの 1 つを選択します。",
    "customCliAliasMappingsLabel": "エイリアスのマッピング",
    "customCliAliasMappingsHelp": "安定した短縮名が必要なラッパー スクリプトまたは構成ファイルのオプションのヘルパー エイリアス。",
    "customCliAddAlias": "エイリアスの追加",
    "customCliNoMappings": "エイリアスのマッピングはまだありません。ラッパーまたはチーム スクリプトが安定した短い名前を使用する場合は、1 つ追加します。",
    "customCliAliasPlaceholder": "例:レビュー",
    "customCliTargetModelLabel": "対象機種",
    "customCliEndpointHintLabel": "エンドポイントの配線方法",
    "customCliEndpointHint": "OpenAI 互換クライアントを OmniRoute /v1 ベース URL にポイントします。未加工のチャット完了エンドポイントは {endpoint} です。ツールがプロバイダー オブジェクトを必要とする場合は JSON ブロックを使用し、OPENAI_* 変数を読み取る場合は env スクリプトを使用します。",
    "customCliEnvBlockTitle": "環境 / シェル スニペット",
    "customCliJsonBlockTitle": "プロバイダー JSON ブロック",
    "copilotConfigGenerator": "GitHub コパイロット構成ジェネレーター",
    "copilotApiKey": "APIキー",
    "copilotFilterModelsPlaceholder": "モデルをフィルタリング...",
    "copilotMaxInputTokens": "最大入力トークン数",
    "copilotMaxOutputTokens": "最大出力トークン数",
    "copilotToolCalling": "ツール呼び出し",
    "copilotPasteInto": "以下に貼り付けます: ",
    "wireApiChatCompletions": "チャットの完了 (/chat/completions)",
    "wireApiResponses": "レスポンス API (/responses)"
  },
  "combos": {
    "title": "コンボ",
    "description": "重み付けルーティングとフォールバックのサポートを備えたモデルのコンボを作成する",
    "autoCatalogTitle": "自動ルーティングカタログ",
    "autoCatalogTemplateCount": "{count} テンプレート",
    "autoCatalogDescription": "接続されたプロバイダーから動的に解決される組み込みの auto/* コンボ。これらの ID のいずれかをモデル フィールドとして使用します。設定は必要ありません。",
    "autoCatalogExpand": "自動ルーティングカタログを展開する",
    "autoCatalogCollapse": "自動ルーティングカタログを折りたたむ",
    "createCombo": "コンボを作成する",
    "editCombo": "コンボを編集する",
    "deleteCombo": "コンボの削除",
    "noModels": "モデルがありません",
    "noModelsYet": "まだモデルは追加されていません",
    "addModel": "モデルの追加",
    "addModelToCombo": "モデルをコンボに追加",
    "routingStrategy": "ルーティング戦略",
    "maxRetries": "最大再試行回数",
    "timeout": "タイムアウト (ミリ秒)",
    "healthcheck": "ヘルスチェック",
    "priority": "優先順位",
    "fallback": "フォールバック",
    "roundRobin": "ラウンドロビン",
    "random": "ランダム",
    "leastLatency": "最小レイテンシ",
    "comboName": "コンボ名",
    "comboNamePlaceholder": "私のコンボ",
    "deleteConfirm": "このコンボを削除しますか?",
    "noCombosYet": "まだコンボはありません",
    "comboCreated": "コンボが正常に作成されました",
    "comboUpdated": "コンボが正常に更新されました",
    "comboDeleted": "コンボが削除されました",
    "failedCreate": "コンボ作成に失敗しました",
    "failedUpdate": "コンボの更新に失敗しました",
    "errorCreating": "コンボ作成エラー",
    "errorUpdating": "コンボ更新エラー",
    "errorDeleting": "コンボ削除エラー",
    "testFailed": "テストリクエストが失敗しました",
    "failedToggle": "コンボの切り替えに失敗しました",
    "testResults": "テスト結果 — {name}",
    "resolvedBy": "解決者:",
    "more": "+{count} 詳細",
    "reqs": "要求",
    "success": "成功",
    "proxyConfigured": "プロキシが設定されました",
    "copyComboName": "コンボ名をコピーする",
    "enableCombo": "コンボを有効にする",
    "disableCombo": "コンボを無効にする",
    "testCombo": "テストコンボ",
    "duplicate": "重複",
    "proxyConfig": "プロキシ構成",
    "nameRequired": "名前は必須です",
    "nameInvalid": "文字、数字、-、_、/、および のみ。許可される",
    "nameHint": "文字、数字、-、_、/、および 。許可される",
    "priorityDesc": "順次フォールバック: 最初にモデル 1、次にモデル 2 というように試行します。",
    "weightedDesc": "フォールバックを使用して重量パーセントに基づいてトラフィックを分散します。",
    "roundRobinDesc": "循環分散: 各リクエストはローテーションで次のモデルに送信されます。",
    "contextRelay": "Context Relay",
    "contextRelayDesc": "Preserves session continuity with handoff summaries when accounts rotate",
    "randomDesc": "均一なランダム選択、その後残りのモデルへのフォールバック",
    "leastUsedDesc": "リクエストが最も少ないモデルを選択し、時間の経過とともに負荷のバランスをとります",
    "costOptimizedDesc": "価格に基づいて最初に最も安価なモデルにルーティングします",
    "resetAware": "リセット対応 RR",
    "resetAwareDesc": "残りの割り当てと 5 時間および毎週のリセットのバランスをとり、同様のスコアをラウンドロビンします。",
    "strictRandom": "Strict Random",
    "strictRandomDesc": "Shuffle deck — uses each model once before reshuffling",
    "models": "モデル",
    "autoBalance": "オートバランス",
    "advancedSettings": "詳細設定",
    "retryDelay": "再試行遅延 (ミリ秒)",
    "concurrencyPerModel": "同時実行性 / モデル",
    "queueTimeout": "キューのタイムアウト (ミリ秒)",
    "contextRelayHandoffThreshold": "Handoff Threshold",
    "contextRelayHandoffThresholdHelp": "When quota usage reaches this threshold, OmniRoute generates a structured handoff summary before the active account is exhausted.",
    "contextRelayMaxMessages": "Max Messages For Summary",
    "contextRelayMaxMessagesHelp": "Limits how much recent history is condensed into the relay summary.",
    "contextRelaySummaryModel": "Summary Model",
    "contextRelaySummaryModelHelp": "Optional override model used only for generating the handoff summary. Leave empty to reuse the active combo model.",
    "contextRelayProviderNote": "Context Relay currently generates handoffs for Codex account rotation. Pair it with multiple accounts of the same provider for the best continuity.",
    "advancedHint": "グローバルなデフォルトを使用するには、空のままにします。これらはプロバイダーごとの設定をオーバーライドします。",
    "failoverBeforeRetry": "再試行前のフェイルオーバー",
    "maxSetRetries": "最大セット再試行回数",
    "setRetryDelayMs": "再試行遅延の設定 (ミリ秒)",
    "moveUp": "上に移動",
    "moveDown": "下に移動",
    "removeModel": "削除",
    "saving": "保存中...",
    "weighted": "加重",
    "leastUsed": "最も使用頻度の低いもの",
    "costOpt": "コスト最適化",
    "strategyGuideTitle": "How to use this strategy",
    "strategyGuideWhen": "When to use",
    "strategyGuideAvoid": "Avoid when",
    "strategyGuideExample": "Example",
    "strategyGuide": {
      "priority": {
        "when": "You have one preferred model and only want fallback on failure.",
        "avoid": "You need request distribution across models.",
        "example": "Primary coding model with cheaper backup for outages."
      },
      "weighted": {
        "when": "You need controlled traffic split across models.",
        "avoid": "You cannot maintain accurate weights over time.",
        "example": "80% stable model + 20% canary model rollout."
      },
      "round-robin": {
        "when": "You want predictable and even distribution.",
        "avoid": "Models differ too much in latency or cost.",
        "example": "Same model on multiple accounts to spread throughput."
      },
      "random": {
        "when": "You want simple distribution with minimal setup.",
        "avoid": "You need strict traffic guarantees.",
        "example": "Quick prototyping with equivalent models."
      },
      "least-used": {
        "when": "You want adaptive balancing based on live demand.",
        "avoid": "Traffic is too low to benefit from usage balancing.",
        "example": "Mixed workloads where one model often gets overloaded."
      },
      "cost-optimized": {
        "when": "Cost reduction is your top priority.",
        "avoid": "Pricing data is missing or outdated.",
        "example": "Background or batch jobs where lower cost is preferred."
      },
      "reset-aware": {
        "when": "クォータ テレメトリとさまざまなリセット ウィンドウを使用して、複数のアカウント間でルーティングします。",
        "avoid": "クォータ テレメトリは、ほとんどのアカウントでは利用できません。",
        "example": "後で 80% のアカウントをリセットするよりも、明日に毎週 60% のアカウントをリセットすることを優先します。"
      },
      "strict-random": {
        "when": "Use when you want perfectly even spread — each model used once before repeating.",
        "avoid": "Avoid when models have different quality or latency and order matters.",
        "example": "Example: Multiple accounts of the same model to distribute usage evenly."
      },
      "p2c": {
        "when": "Use when you want low-latency selection using Power-of-Two-Choices algorithm.",
        "avoid": "Avoid for small combos with 2 or fewer models — no benefit over round-robin.",
        "example": "Example: High-throughput inference across 4+ equivalent model endpoints."
      },
      "context-relay": {
        "when": "Use when long sessions must survive account rotation without losing the working context.",
        "avoid": "Avoid when account switching is rare or when you do not want extra summarization requests.",
        "example": "Example: Codex sessions that rotate across multiple accounts near quota exhaustion."
      },
      "fill-first": {
        "when": "次のプロバイダに移動する前に、あるプロバイダのクォータを完全に使い果たしたい場合に使用します。",
        "avoid": "プロバイダ間でリクエストレベルの負荷分散が必要な場合は避けてください。",
        "example": "例: Groq にフォールバックする前に、200 ドルの Deepgram クレジットをすべて使用します。"
      },
      "auto": {
        "when": "コスト、遅延、品質に基づいた多要素スコアリング ルーティングが必要な場合に使用します。",
        "avoid": "厳密な優先順位付けや履歴の永続性が必要な場合は避けてください。",
        "example": "例: 異なる強度を持つモデル間でリクエストのバランスをとります。"
      },
      "lkgp": {
        "when": "過去の成功率とパフォーマンスに基づいてルーティングする場合に使用します。",
        "avoid": "履歴データが限られている場合や信頼性が低い場合は避けてください。",
        "example": "例: 特定のタスクで優れた実績を持つモデルにルーティングします。"
      },
      "context-optimized": {
        "when": "モデル間でコンテキスト ウィンドウの使用を最適化する必要がある場合に使用します。",
        "avoid": "モデルのコンテキストの長さが類似している場合やタスクが単純な場合は避けてください。",
        "example": "例: 大きなコンテキスト ウィンドウを使用して、長い会話をモデル全体に分散します。"
      }
    },
    "advancedHelp": {
      "maxRetries": "How many retries are attempted before failing a request.",
      "retryDelay": "Initial wait between retries. Higher values reduce burst pressure.",
      "timeout": "Maximum request duration before aborting.",
      "healthcheck": "Skips unhealthy models/providers from routing decisions.",
      "concurrencyPerModel": "Max simultaneous requests allowed per model in round-robin.",
      "queueTimeout": "How long a request can wait in queue before timing out.",
      "failoverBeforeRetry": "有効にすると、アップストリーム エラーが発生すると、次のコンボ ターゲットへの即時フェイルオーバーがトリガーされ、すべての再試行とフォールバック URL がスキップされます。",
      "maxSetRetries": "すべてのターゲットが失敗した場合にターゲット セット全体を再試行する回数。 0 = セットレベルの再試行なし。",
      "setRetryDelayMs": "設定レベルの再試行間の遅延により、一時的な問題を解決する時間が与えられます。"
    },
    "templatesTitle": "Quick templates",
    "templatesDescription": "Apply a starting profile, then adjust models and config.",
    "templateApply": "Apply template",
    "templateHighAvailability": "High availability",
    "templateHighAvailabilityDesc": "Priority routing with health checks and safe retries.",
    "templateCostSaver": "Cost saver",
    "templateCostSaverDesc": "Cost-optimized routing for budget-first workloads.",
    "templateBalanced": "Balanced load",
    "templateBalancedDesc": "Least-used routing to spread demand over time.",
    "usageGuideHide": "Hide",
    "usageGuideDontShowAgain": "Don't show again",
    "usageGuideShow": "Show guide",
    "quickTestTitle": "Combo ready to validate",
    "quickTestDescription": "Run a test now to confirm fallback and latency behavior.",
    "testNow": "Test now",
    "pricingCoverage": "Pricing coverage",
    "pricingCoverageHint": "Cost-optimized works best when all combo models have pricing.",
    "pricingAvailable": "Pricing available",
    "pricingMissing": "No pricing",
    "pricingAvailableShort": "priced",
    "pricingMissingShort": "no-price",
    "warningRoundRobinSingleModel": "Round-robin is most useful with at least 2 models.",
    "warningCostOptimizedPartialPricing": "Only {priced} of {total} models have pricing. Routing may be partially cost-aware.",
    "warningCostOptimizedNoPricing": "No pricing data found for this combo. Cost-optimized may route unexpectedly.",
    "filterAll": "All",
    "filterIntelligent": "Intelligent",
    "filterDeterministic": "Deterministic",
    "filterEmptyTitle": "No combos match this strategy filter.",
    "filterEmptyIntelligentDescription": "Create an auto or LKGP combo to populate the intelligent routing dashboard.",
    "filterEmptyDeterministicDescription": "Only auto and LKGP combos exist right now. Switch back to All or create a deterministic combo.",
    "readinessTitle": "保存する準備はできましたか?",
    "readinessDescription": "このコンボを作成または更新する前に、チェックリストを確認してください。",
    "readinessCheckName": "コンボ名は有効です",
    "readinessCheckModels": "少なくとも 1 つのモデルが選択されています",
    "readinessCheckWeights": "加重合計は 100%",
    "readinessCheckWeightsOptional": "重量ルールは不要です",
    "readinessCheckPricing": "価格データが利用可能です",
    "readinessCheckPricingOptional": "価格設定ルールは不要です",
    "saveBlockedTitle": "次の項目が修正されるまで、保存はブロックされます。",
    "saveBlockName": "コンボ名を定義します。",
    "saveBlockModels": "少なくとも 1 つのモデルを追加します。",
    "saveBlockWeighted": "重みを 100% に設定します (現在: {total}%)。",
    "saveBlockPricing": "少なくとも 1 つのモデルに価格を追加するか、別の戦略を選択してください。",
    "recommendationsLabel": "Recommended setup",
    "applyRecommendations": "Apply recommendations",
    "recommendationsUpdated": "Recommendations updated for {strategy}.",
    "recommendationsApplied": "Recommendations applied to this combo.",
    "intelligentPanelTitle": "Intelligent Routing Dashboard",
    "intelligentPanelDesc": "Real-time scoring and health status for this auto-routing combo.",
    "configOnlyStatus": "__MISSING__:Configuration View",
    "configOnlyHint": "__MISSING__:This panel shows routing inputs only. Live breaker state is available on the Health page.",
    "routingInputs": "__MISSING__:Routing Inputs",
    "routingInputsHint": "__MISSING__:Mode pack and weighting stay here; breaker runtime state stays on the Health page.",
    "emailVisibilityHint": "__MISSING__:Account emails here follow the global privacy toggle.",
    "emailVisibilityTooltip": "__MISSING__:Use the eye icon to reveal or hide account emails globally across combos, providers and quota screens.",
    "manualModel": "__MISSING__:Manual model",
    "manualModelInvalid": "__MISSING__:Enter a model as provider/model.",
    "manualModelUnknownProvider": "__MISSING__:Unknown provider prefix.",
    "builderDynamicAccountShort": "__MISSING__:Dynamic account",
    "builderNeedValidName": "__MISSING__:Define a valid combo name before continuing.",
    "statusOverview": "Status Overview",
    "normalOperation": "Normal Operation",
    "allProvidersHealthy": "Providers are reporting healthy routing conditions.",
    "incidentMode": "Incident Mode",
    "highCircuitBreakerRate": "High circuit breaker trip rate detected.",
    "activeModePack": "Active Mode Pack",
    "modePackUpdated": "Mode pack updated to {pack}.",
    "modePackHint": "Switch presets to bias the routing engine without rebuilding the combo.",
    "providerScores": "Provider Scores",
    "allProvidersEvaluated": "No candidate pool configured. All active providers are evaluated at runtime.",
    "excludedProviders": "Excluded Providers",
    "excludedProvidersHint": "Providers with an OPEN circuit breaker are temporarily excluded from routing.",
    "noExcludedProviders": "No providers are currently excluded.",
    "cooldownMinutes": "Cooldown: {minutes}m",
    "builderIntelligentTitle": "Intelligent Routing Configuration",
    "builderIntelligentDesc": "Configure the multi-factor scoring engine for this auto-routing combo.",
    "candidatePoolLabel": "Candidate Pool",
    "candidatePoolHint": "Select which providers this engine should evaluate. Leave empty to use all active providers.",
    "candidatePoolEmpty": "No active providers available yet.",
    "candidatePoolAllProviders": "All providers",
    "modePackLabel": "Mode Pack",
    "routerStrategyLabel": "Router Strategy",
    "strategyRules": "Rules (6-Factor Scoring)",
    "explorationRateLabel": "Exploration Rate",
    "explorationRateHint": "{percent}% of requests can explore non-optimal providers.",
    "budgetCapLabel": "Budget Cap (USD / request)",
    "budgetCapPlaceholder": "No limit",
    "advancedWeightsTitle": "Advanced: Scoring Weights",
    "weightQuota": "Quota",
    "weightHealth": "Health",
    "weightCostInv": "Cost",
    "weightLatencyInv": "Latency",
    "weightTaskFit": "Task Fit",
    "weightStability": "Stability",
    "weightTierPriority": "Tier",
    "reviewIntelligentTitle": "Intelligent Routing Config",
    "strategyRecommendations": {
      "priority": {
        "title": "Fail-safe baseline",
        "description": "Use one primary model and keep fallback chain short and reliable.",
        "tip1": "Put your most reliable model first.",
        "tip2": "Keep 1-2 backup models with similar quality.",
        "tip3": "Use safe retries to absorb transient provider failures."
      },
      "weighted": {
        "title": "Controlled traffic split",
        "description": "Great for canary rollouts and gradual migration between models.",
        "tip1": "Start with conservative split like 90/10.",
        "tip2": "Keep the total at 100% and auto-balance after changes.",
        "tip3": "Monitor success and latency before increasing canary weight."
      },
      "round-robin": {
        "title": "Predictable load sharing",
        "description": "Best when models are equivalent and you need smooth distribution.",
        "tip1": "Use at least 2 models.",
        "tip2": "Set concurrency limits to avoid burst overload.",
        "tip3": "Use queue timeout to fail fast under saturation."
      },
      "random": {
        "title": "Quick spread with low setup",
        "description": "Use when you need simple distribution without strict guarantees.",
        "tip1": "Use models with similar latency profiles.",
        "tip2": "Keep retries enabled to absorb random misses.",
        "tip3": "Prefer this for experimentation, not strict SLAs."
      },
      "least-used": {
        "title": "Adaptive balancing",
        "description": "Routes to less-used models to reduce hotspots over time.",
        "tip1": "Works better under continuous traffic.",
        "tip2": "Combine with health checks for safer balancing.",
        "tip3": "Track per-model usage to validate distribution gains."
      },
      "cost-optimized": {
        "title": "Budget-first routing",
        "description": "Routes to lower-cost models when pricing metadata is available.",
        "tip1": "Ensure pricing coverage for all selected models.",
        "tip2": "Keep a quality fallback for hard prompts.",
        "tip3": "Use for batch/background jobs where cost is the main KPI."
      },
      "reset-aware": {
        "title": "リセットを意識したアカウントのローテーション",
        "description": "残りのプロバイダー クォータとリセット タイミングのバランスをとります。",
        "tip1": "クォータ テレメトリを備えたプロバイダーには、明示的なアカウント ステップまたはアカウント タグ ルーティングを使用します。",
        "tip2": "短期的な疲労の危険性が高い場合は、セッションと毎週の体重を調整してください。",
        "tip3": "タイバンドを小さく保ち、同等のアカウントが引き続き公平にローテーションできるようにします。"
      },
      "strict-random": {
        "title": "Shuffle deck distribution",
        "description": "Each model is used exactly once per cycle before reshuffling.",
        "tip1": "Use at least 2 models for meaningful distribution.",
        "tip2": "Works best with equivalent-performance models.",
        "tip3": "Ideal for load balancing across multiple API accounts."
      },
      "fill-first": {
        "description": "フォールバックする前に、プロバイダー クォータを順番に使い果たします。",
        "tip1": "明確なフォールバック チェーンを使用したクォータベースのルーティングに使用します。",
        "tip2": "時期尚早のフォールバックを避けるために、クォータを正確に設定します。",
        "tip3": "無料枠またはクレジット バケットを提供するプロバイダーと最適に機能します。",
        "title": "クォータの枯渇"
      },
      "auto": {
        "description": "コスト、レイテンシー、品質、健全性のリアルタイム スコアリングに基づいてルーティングします。",
        "tip1": "エンジンが複数の要素のバランスを自動的にとるようにします。",
        "tip2": "どの要因がルーティング決定を決定するかをログで監視します。",
        "tip3": "単一の要因が支配しない複雑なワークロードに使用します。",
        "title": "多要素の最適化"
      },
      "lkgp": {
        "description": "過去の実績と成功パターンに基づいたルート。",
        "tip1": "正確な予測を行うには、十分なリクエスト履歴が必要です。",
        "tip2": "一貫したモデルのパフォーマンス パターンを持つワークロードに適しています。",
        "tip3": "予測精度を監視し、必要に応じて重みを調整します。",
        "title": "履歴ベースのルーティング"
      },
      "context-optimized": {
        "description": "コンテキスト ウィンドウの使用状況とトークンの効率に基づいてルーティングを最適化します。",
        "tip1": "長い会話をより大きなコンテキスト ウィンドウを持つモデルにルーティングします。",
        "tip2": "コンテキストの使用状況を監視して、トークンの無駄を回避します。",
        "tip3": "広範なコンテキスト保持を必要とする会話型 AI に最適です。",
        "title": "コンテキストの最適化"
      },
      "context-relay": {
        "description": "アカウントのローテーションが予想され、次のアカウントが簡素化されたタスクの概要を継承する必要がある場合に最適です。",
        "tip1": "同じモデル ファミリのアカウントをローテーションするプロバイダーと併用します。",
        "tip2": "サマリー生成時間のハード クォータ カットオフよりも低いハンドオフしきい値を設定します。",
        "tip3": "専用の要約モデルは、プライマリが高価すぎるか不安定な場合にのみ設定してください。",
        "title": "セッション継続性の優先度"
      },
      "p2c": {
        "description": "リアルタイムのメトリクスに基づいて、現在の負荷が最も低いプロバイダーにルーティングします。",
        "tip1": "正確な負荷評価のためにプロバイダーの健全性メトリクスを監視します。",
        "tip2": "同種のプロバイダー プールで最適に機能します。",
        "tip3": "トラフィック急増時の発振を避けるために感度を調整します。",
        "title": "2 つの選択肢の力"
      }
    },
    "templateFreeStack": "Free Stack ($0)",
    "templateFreeStackDesc": "Round-robin across all free providers: Kiro (Claude), Qoder (5 models), Qwen (4 models), Gemini CLI. Zero cost, never stops coding.",
    "auto": "Auto Combo",
    "autoDesc": "Self-healing smart routing pool (Performance optimized)",
    "lkgp": "LKGP Mode",
    "lkgpDesc": "Last Known Good Provider (Predictable resilience)",
    "wizardGuideTitle": "Getting Started with Combos",
    "wizardGuideDesc": "Create model combos to route AI traffic intelligently",
    "wizardGuideHint": "or click + Create Combo above",
    "createFirstCombo": "Create Your First Combo",
    "wizardStep1Title": "Name Your Combo",
    "wizardStep1Desc": "Give your combo a unique name to identify it in routing rules",
    "wizardStep2Title": "Add Models",
    "wizardStep2Desc": "Select AI models and arrange their fallback priority order",
    "wizardStep3Title": "Choose Strategy",
    "wizardStep3Desc": "Pick how requests are distributed across your models - 13 strategies available",
    "wizardStep4Title": "Review & Save",
    "wizardStep4Desc": "Review your configuration and activate the combo",
    "emailVisibilityStateOn": "On",
    "emailVisibilityStateOff": "Off",
    "reorderHandle": "Drag to reorder",
    "failedReorder": "Failed to reorder models",
    "builderFlowTitle": "Combo Builder Flow",
    "builderStage": {
      "basics": {
        "label": "Basics",
        "description": "Name and starting template"
      },
      "steps": {
        "label": "Steps",
        "description": "Provider, model, and account selection"
      },
      "strategy": {
        "label": "Strategy",
        "description": "Routing behavior and advanced settings"
      },
      "intelligent": {
        "label": "Smart Routing",
        "description": "Auto-routing candidate pool, presets, and scoring"
      },
      "review": {
        "label": "Review",
        "description": "Final validation before saving"
      }
    },
    "builderStageVisited": "Stage completed",
    "builderStageCurrent": "Current stage",
    "builderStagePending": "Pending",
    "builderStageLocked": "Locked — complete previous stage first",
    "builderTitle": "Build a Combo",
    "builderBrowseCatalog": "Browse catalog",
    "builderProvider": "Provider",
    "builderLoadingProviders": "Loading providers...",
    "builderSelectProvider": "Select provider",
    "builderModel": "Model",
    "builderSelectModel": "Select model",
    "builderProviderFirst": "Pick provider first",
    "builderAccount": "Account",
    "builderPreview": "Preview",
    "builderAddStep": "Add step",
    "builderDuplicateExact": "この正確なプロバイダー/モデル/アカウントのステップはすでにコンボに含まれています。",
    "builderComboRef": "Combo Ref",
    "builderAddComboRef": "Add combo reference",
    "builderComboRefStep": "Add combo reference",
    "builderPinnedAccount": "Pinned Account",
    "builderLegacyEntry": "Legacy entry",
    "reviewName": "Name",
    "reviewStrategy": "Strategy",
    "reviewSteps": "Steps",
    "reviewAccounts": "Accounts",
    "reviewProviders": "Providers",
    "reviewComboRefs": "Combo References",
    "reviewAdvanced": "Advanced Settings",
    "reviewAgentFlags": "Agent Flags",
    "reviewSequence": "Model Sequence",
    "reviewNoSteps": "No steps configured",
    "builderStagesDescription": "各ステージを完了して、コンボを定義し、ステップを構築し、ルーティング戦略を選択し、結果を確認します。",
    "builderStepsDescription": "各コンボ ステップをプロバイダー、モデル、アカウントの順に構築します。これにより、異なるアカウント間で同じプロバイダーとモデルを再利用できます。",
    "selectProvider": "プロバイダーの選択",
    "selectProviderPlaceholder": "プロバイダーを選択してください",
    "selectModel": "モデルの選択",
    "selectModelPlaceholder": "まずプロバイダーを選択してください",
    "selectAccount": "アカウントの選択",
    "selectComboToReference": "参照するコンボを選択してください",
    "comboReference": "コンボリファレンス",
    "addComboReference": "コンボ参照の追加",
    "addStepBeforeContinue": "次の段階に進む前に、少なくとも 1 つのステップを追加してください。",
    "previewNextStep": "次のステップをプレビューする",
    "autoSelectAccount": "実行時にアカウントを自動的に選択する",
    "modePackBalanced": "バランスの取れた",
    "modePackBudget": "予算",
    "modePackPerformance": "パフォーマンス",
    "modePackCustom": "カスタム",
    "browseLegacyCatalog": "従来のコンボ カタログを参照する",
    "agentFeaturesTitle": "エージェントの機能",
    "agentFeaturesDescription": "このコンボを使用してエージェントの高度な機能を有効にする",
    "agentFeaturesSystemMessageOverride": "システムメッセージを上書きする",
    "agentFeaturesSystemMessagePlaceholder": "あなたはエキスパートアシスタントです...",
    "agentFeaturesSystemMessageHint": "エージェントのシステム メッセージ オーバーライド",
    "agentFeaturesToolFilterRegex": "/正規表現パターン/",
    "agentFeaturesToolFilterHint": "エージェント用のツールフィルター正規表現",
    "agentFeaturesContextCacheHint": "エージェント ツールのインコンテキスト キャッシュを有効にする",
    "agentFeaturesContextCacheProtection": "エージェントツールの突然変異からキャッシュを保護する",
    "agentFeaturesContextLength": "コンテキストの長さ",
    "agentFeaturesContextLengthPlaceholder": "例: 128000",
    "agentFeaturesContextLengthHint": "/v1/models でこのコンボのコンテキスト ウィンドウを定義します。",
    "agentFeaturesContextLengthErrorInteger": "コンテキストの長さは有効な整数である必要があります",
    "agentFeaturesContextLengthErrorRange": "コンテキストの長さは 1000 ～ 2000000 でなければなりません",
    "compressionOverride": "圧縮オーバーライド",
    "modePack": "モードパック"
  },
  "costs": {
    "title": "コスト",
    "pageDescription": "すべてのプロバイダーにわたる支出を追跡し、傾向を分析し、AI 予算を管理します",
    "overview": "概要",
    "budget": "予算",
    "totalCost": "総コスト",
    "breakdown": "コストの内訳",
    "noData": "コストデータなし",
    "byModel": "モデル別",
    "byProvider": "プロバイダー別",
    "range7d": "7日間",
    "range30d": "30日",
    "range90d": "90日",
    "rangeAll": "オールタイム",
    "spend30d": "Spend30D",
    "activeModels": "Active Models",
    "selectedWindow": "Selected Window",
    "activeProviders": "Active Providers",
    "overviewTitle": "Overview Title",
    "spend7d": "Spend7D",
    "avgCostPerRequest": "Avg Cost Per Request",
    "noCostDataDescription": "No Cost Data Description",
    "spendToday": "Spend Today",
    "overviewLoadFailed": "Overview Load Failed",
    "overviewDescription": "Overview Description",
    "providerShare": "Provider Share",
    "topProviders": "Top Providers",
    "costTrend": "Cost Trend",
    "noCostDataTitle": "No Cost Data Title",
    "topModels": "Top Models",
    "requestsInWindow": "Requests In Window",
    "tokenUsage": "トークンの使用法",
    "totalTokens": "総トークン数",
    "inputTokens": "入力トークン",
    "outputTokens": "出力トークン",
    "inputOutputRatio": "入出力比",
    "tokens": "トークン",
    "routingEfficiency": "ルーティング効率",
    "fallbackCount": "フォールバックリクエスト",
    "fallbackRate": "フォールバック率",
    "modelCoverage": "モデルの範囲",
    "modelCoverageDesc": "明示的なモデルを含むリクエストの割合",
    "outOfRequests": "{total} リクエスト中",
    "costByApiKey": "APIキーごとのコスト",
    "costByAccount": "アカウント別のコスト",
    "apiKeyName": "APIキー",
    "account": "アカウント",
    "requests": "リクエスト",
    "cost": "コスト",
    "dayStreak": "一日連続",
    "weeklyUsagePattern": "週ごとの使用パターン",
    "activityHeatmap": "アクティビティ（365日）",
    "less": "少ない",
    "more": "もっと見る",
    "monthlyForecast": "月次予報",
    "forecastBasis": "過去 {days} 日間に基づく",
    "avgDailyCost": "平均一日のコスト",
    "daysRemaining": "残り {days} 日",
    "periodComparison": "期間比較",
    "previousPeriod": "前半",
    "currentPeriod": "現在の半分",
    "exportCSV": "CSVとしてエクスポート",
    "exportJSON": "JSONとしてエクスポート",
    "legacyFreeLabel": "__MISSING__:Legacy / Free",
    "costExplorerTitle": "コストエクスプローラー",
    "costExplorerDescription": "プロバイダー、モデル、APIキー、アカウント、サービス階層別に支出を確認します。",
    "groupProvider": "プロバイダー",
    "groupModel": "モデル",
    "groupApiKey": "APIキー",
    "groupAccount": "アカウント",
    "groupServiceTier": "サービス階層",
    "serviceTierFast": "__MISSING__:Fast",
    "serviceTierFlex": "__MISSING__:Flex",
    "serviceTierStandard": "__MISSING__:Standard",
    "serviceTierBreakdownTitle": "__MISSING__:Service Tier",
    "serviceTierBreakdownSubtitle": "__MISSING__:Fast / Flex / Standard split",
    "serviceTierUsageSaved": "__MISSING__:usage saved",
    "serviceTierCostSaved": "__MISSING__:saved",
    "serviceTierCostShareSuffix": "__MISSING__:of cost",
    "dimension": "ディメンション",
    "share": "割合",
    "legacyOrFree": "レガシー / 無料",
    "filterRows": "行をフィルター…",
    "filterCostExplorerRows": "コストエクスプローラーの行をフィルター",
    "noMatchingCostRows": "一致するコスト行がありません",
    "noMatchingCostRowsDescription": "検索テキスト、グループ化、または選択した時間枠を調整してください。",
    "showingCostRows": "一致する {total} 行のうち {shown} 行を表示しています。",
    "showingTopCostRows": "一致する {total} 行のうち {shown} 行を表示しています（上位50件）。"
  },
  "endpoint": {
    "title": "APIエンドポイント",
    "available": "利用可能なエンドポイント",
    "cloudProxy": "クラウドプロキシ",
    "disableConfirm": "クラウド プロキシを無効にしてもよろしいですか?",
    "baseUrl": "ベースURL",
    "apiKeyLabel": "APIキー",
    "registeredKeys": "登録されたキー",
    "chatCompletions": "チャットの完了",
    "responses": "応答",
    "listModels": "モデルの一覧表示",
    "usingCloudProxy": "クラウドプロキシの使用",
    "usingLocalServer": "ローカルサーバーの使用",
    "machineId": "マシン ID: {id}...",
    "disableCloud": "クラウドを無効にする",
    "enableCloud": "クラウドを有効にする",
    "modelsAcrossEndpoints": "{endpoints} エンドポイントにわたる {models} モデル",
    "loadingModels": "Loading available models...",
    "chatDesc": "すべてのプロバイダーとのストリーミングおよび非ストリーミング チャット",
    "embeddings": "埋め込み",
    "embeddingsDesc": "検索および RAG パイプライン用のテキスト埋め込み",
    "imageGeneration": "画像生成",
    "imageDesc": "テキストプロンプトから画像を生成する",
    "rerank": "リランク",
    "rerankDesc": "クエリとの関連性によってドキュメントを再ランク付けする",
    "audioTranscription": "音声文字起こし",
    "audioTranscriptionDesc": "音声ファイルをテキストに変換する (Whisper)",
    "textToSpeech": "テキスト読み上げ",
    "textToSpeechDesc": "テキストを自然な音声に変換する",
    "musicGeneration": "Music Generation",
    "musicDesc": "Generate music and audio tracks via ComfyUI (Stable Audio, MusicGen)",
    "moderations": "モデレーション",
    "moderationsDesc": "コンテンツの管理と安全性の分類",
    "responsesDesc": "Codexおよび高度なエージェントワークフロー向けOpenAI Responses API",
    "listModelsDesc": "接続されたすべてのプロバイダーの利用可能なモデルを一覧表示",
    "settingsApiDesc": "API経由でOmniRouteの設定を読み取り・変更",
    "settingsApi": "Settings API",
    "categoryCore": "コアAPI",
    "categoryMedia": "メディア＆マルチモーダル",
    "categorySearch": "Search & Discovery",
    "categoryUtility": "ユーティリティ＆管理",
    "webSearch": "Web Search",
    "webSearchDesc": "Unified web search across multiple providers with automatic failover and caching",
    "searchProvider": "Search Provider",
    "searchProviderDesc": "This provider is used for web search via POST /v1/search. No model configuration needed — search providers are ready to use once an API key is connected.",
    "enableCloudTitle": "クラウドプロキシを有効にする",
    "whatYouGet": "得られるもの",
    "cloudBenefitAccess": "世界中のどこからでも API にアクセス",
    "cloudBenefitShare": "エンドポイントをチームと簡単に共有",
    "cloudBenefitPorts": "ポートを開いたりファイアウォールを設定したりする必要はありません",
    "cloudBenefitEdge": "高速なグローバルエッジネットワーク",
    "cloudSessionNote": "クラウドは認証セッションを 1 日間保持します。使用されない場合は自動的に削除されます。",
    "cloudUnstableNote": "現在、Claude Code OAuth ではクラウドが不安定になる場合があります。",
    "cloudConnected": "クラウドプロキシが接続されました！",
    "connectingToCloud": "クラウドに接続しています...",
    "verifyingConnection": "接続を確認しています...",
    "connecting": "接続中...",
    "verifying": "確認中...",
    "connected": "つながりました！",
    "disableCloudTitle": "クラウドプロキシを無効にする",
    "disableWarning": "すべての認証セッションはクラウドから削除されます。",
    "syncingData": "最新のデータを同期しています...",
    "disablingCloud": "クラウドを無効にしています...",
    "syncing": "同期中...",
    "disabling": "無効化中...",
    "cloudConnectedVerified": "クラウド プロキシが接続され、確認されました。",
    "connectedVerificationPending": "接続済み — 検証保留中",
    "connectedVerificationPendingWithError": "接続済み — 検証保留中: {error}",
    "cloudDisabledSuccess": "クラウドは正常に無効になりました",
    "syncedSuccess": "正常に同期されました",
    "failedDisable": "クラウドを無効にできませんでした",
    "failedEnable": "クラウドを有効にできませんでした",
    "cloudRequestTimeout": "クラウドリクエストのタイムアウト",
    "cloudRequestFailed": "クラウドリクエストが失敗しました",
    "cloudWorkerUnreachable": "クラウド ワーカーに到達できませんでした。クラウド サービスが実行されていることを確認します (/cloud の npm run dev)。",
    "connectionFailed": "接続に失敗しました",
    "syncFailed": "クラウドデータの同期に失敗しました",
    "cloudflaredTitle": "Cloudflare Quick Tunnel",
    "cloudflaredDescription": "Create a Cloudflare Quick Tunnel for this endpoint to make it accessible from the internet without configuring DNS.",
    "cloudflaredUrlNotice": "Creates a temporary Cloudflare Quick Tunnel. URLs change after restart.",
    "cloudflaredEnable": "Enable Tunnel",
    "cloudflaredInstallAndEnable": "Install & Enable",
    "cloudflaredDisable": "Stop Tunnel",
    "cloudflaredRunning": "Running",
    "cloudflaredStarting": "Starting",
    "cloudflaredStoppedState": "Stopped",
    "cloudflaredNotInstalled": "Not installed",
    "cloudflaredUnsupported": "Unsupported",
    "cloudflaredError": "Error",
    "cloudflaredStarted": "Cloudflare tunnel started",
    "cloudflaredStopped": "Cloudflare tunnel stopped",
    "cloudflaredRequestFailed": "Failed to update Cloudflare tunnel",
    "cloudflaredTemporaryNote": "Quick Tunnel URLs are temporary and will change after restart.",
    "cloudflaredUnsupportedNote": "This platform is not supported for managed installation.",
    "cloudflaredIdleNote": "Create a temporary Cloudflare Quick Tunnel for this endpoint.",
    "cloudflaredLastError": "Last error: {error}",
    "providerModelsTitle": "{provider} — モデル",
    "noModelsForProvider": "このプロバイダーで利用できるモデルはありません。",
    "chat": "チャット",
    "embedding": "埋め込み",
    "image": "画像",
    "custom": "カスタム",
    "modelsCount": "{count, plural, one {# model} other {# models}}",
    "sectionTitle": "Integration Surface",
    "sectionDescription": "OpenAI-compatible APIs and operational protocol endpoints",
    "tabApis": "OpenAI-compatible APIs",
    "tabProtocols": "Protocols",
    "tabsAria": "Endpoint sections",
    "protocolsTitle": "Protocols",
    "protocolsDescription": "MCP and A2A are first-class endpoints with dedicated observability and controls.",
    "mcpCardTitle": "MCP Server",
    "mcpCardDescription": "Model Context Protocol over stdio",
    "a2aCardTitle": "A2A Server",
    "a2aCardDescription": "Agent2Agent JSON-RPC endpoint",
    "protocolToolsLabel": "Tools",
    "protocolTasksLabel": "Tasks",
    "protocolActiveStreamsLabel": "Active streams",
    "protocolLastActivity": "Last activity",
    "quickStart": "Quick Start",
    "openMcpDashboard": "Open MCP management",
    "openA2aDashboard": "Open A2A management",
    "mcpQuickStartTitle": "MCP Quick Start",
    "mcpQuickStartStep1": "Run the MCP server via `omniroute --mcp`.",
    "mcpQuickStartStep2": "Configure your MCP client to connect over stdio transport.",
    "mcpQuickStartStep3": "Invoke tools such as `omniroute_get_health` and `omniroute_list_combos`.",
    "a2aQuickStartTitle": "A2A Quick Start",
    "a2aQuickStartStep1": "Discover the agent card at `/.well-known/agent.json`.",
    "a2aQuickStartStep2": "Send JSON-RPC requests to `POST /a2a` using `message/send` or `message/stream`.",
    "a2aQuickStartStep3": "Track and control tasks using `tasks/get` and `tasks/cancel`.",
    "completionsLegacy": "Completions (Legacy)",
    "completionsLegacyDesc": "Legacy OpenAI text completions — accepts both prompt string and messages array format",
    "messagesApi": "メッセージ",
    "messagesApiDesc": "Claude 互換プロバイダー用のネイティブ Anthropic Messages API 形式",
    "imageEdits": "画像編集",
    "imageEditsDesc": "AI を使用して既存の画像を編集および変更 (インペイント、アウトペイント、バリエーション)",
    "batchApi": "バッチAPI",
    "batchApiDesc": "大量のリクエストのバッチを非同期で処理します (OpenAI 互換)",
    "filesApi": "ファイルAPI",
    "filesApiDesc": "バッチ処理用にファイルをアップロードおよび管理する",
    "videoGeneration": "Video Generation",
    "videoDesc": "Generate videos using AI models like ComfyUI and Stable Video Diffusion.",
    "tailscaleRequestFailed": "Failed to load Tailscale status",
    "tailscaleEnableFailed": "Failed to enable Tailscale Funnel",
    "tailscaleWaitingForLogin": "Complete the Tailscale login in the opened browser tab. OmniRoute will retry automatically.",
    "tailscaleLoginTimedOut": "Timed out waiting for Tailscale login",
    "tailscaleWaitingForFunnel": "Enable Funnel for this device in the opened browser tab. OmniRoute will keep polling.",
    "tailscaleFunnelTimedOut": "Timed out waiting for Tailscale Funnel to be enabled",
    "tailscaleStarted": "Tailscale Funnel enabled",
    "tailscaleDisableFailed": "Failed to disable Tailscale Funnel",
    "tailscaleStopped": "Tailscale Funnel disabled",
    "tailscaleInstallFailed": "Failed to install Tailscale",
    "tailscaleInstallProgress": "Working...",
    "tailscaleInstalled": "Tailscale installed successfully",
    "tailscaleRunning": "Running",
    "tailscaleNeedsLogin": "Needs Login",
    "tailscaleStoppedState": "Stopped",
    "tailscaleNotInstalled": "Not installed",
    "tailscaleUnsupported": "Unsupported",
    "tailscaleError": "Error",
    "tailscaleDisable": "Stop Funnel",
    "tailscaleInstallAndEnable": "Install & Enable",
    "tailscaleLoginAndEnable": "Login & Enable",
    "tailscaleEnable": "Enable Funnel",
    "tailscaleUrlNotice": "Uses your Tailscale .ts.net address. Login and Funnel approval may be required on first use.",
    "tailscaleTitle": "Tailscale Funnel",
    "tailscaleNeedsLoginHint": "Authenticate this machine with Tailscale, then enable Funnel.",
    "tailscaleBinaryPath": "Binary: {path}",
    "tailscaleLastError": "Last error: {error}",
    "tailscaleInstallTitle": "Install Tailscale",
    "tailscaleInstallIntro": "Installs Tailscale on this machine and prepares OmniRoute to enable Funnel.",
    "tailscaleInstallPasswordHint": "On macOS and Linux, sudo may be required for the package install and daemon start.",
    "tailscaleSudoPlaceholder": "Optional sudo password",
    "tailscaleInstalling": "Installing",
    "tailscaleSudoLabel": "Sudo パスワード (macOS/Linux では必須)",
    "ngrokTitle": "ングロク トンネル",
    "ngrokRunning": "ランニング",
    "ngrokStarting": "開始",
    "ngrokStoppedState": "停止しました",
    "ngrokNeedsAuth": "認証が必要です",
    "ngrokNotInstalled": "インストールされていません",
    "ngrokUnsupported": "サポートされていません",
    "ngrokError": "エラー",
    "ngrokEnable": "トンネルを有効にする",
    "ngrokDisable": "ストップトンネル",
    "ngrokUrlNotice": "パブリック ngrok トンネルを作成します。",
    "ngrokAuthTokenLabel": "認証トークン (NGROK_AUTHTOKEN が設定されていない場合は必須)",
    "ngrokAuthTokenPlaceholder": "ngrok 認証トークンを入力してください",
    "ngrokLastError": "最後のエラー: {error}",
    "ngrokStarted": "ngrokトンネルが開始されました",
    "ngrokStopped": "ngrokトンネルが停止しました",
    "ngrokRequestFailed": "ngrok トンネルの更新に失敗しました",
    "tokenSaverSubtitle": "すべてのリクエストで消費するトークンを減らします。",
    "tokenSaverToolOutput": "ツールの出力",
    "tokenSaverLlmOutput": "LLM出力",
    "tokenSaverInputCompression": "入力圧縮",
    "apiEndpointsCatalogUnavailable": "APIカタログが利用できません",
    "apiEndpointsSearchPlaceholder": "エンドポイントを検索...",
    "apiEndpointsRequiresAuth": "認証が必要です",
    "apiEndpointsNoMatch": "フィルターに一致するエンドポイントはありません",
    "localServer": "ローカルサーバー",
    "cloudOmniroute": "クラウドオムニルート",
    "copyUrl": "URLをコピー",
    "badgeLoopbackTooltip": "__MISSING__:This endpoint is only accessible locally (loopback only)",
    "badgeAlwaysProtectedTooltip": "__MISSING__:This endpoint is always protected and requires authorization",
    "badgeInternalTooltip": "__MISSING__:This is an internal system endpoint",
    "tierAll": "__MISSING__:All",
    "tierAuth": "__MISSING__:Authenticated",
    "tierLoopback": "__MISSING__:Loopback",
    "tierAlwaysProtected": "__MISSING__:Always Protected",
    "tierPublic": "__MISSING__:Public",
    "hideInternal": "__MISSING__:Hide Internal",
    "showInternal": "__MISSING__:Show Internal"
  },
  "endpoints": {
    "tabProxy": "エンドポイント プロキシ",
    "tabApiEndpoints": "APIエンドポイント",
    "apiEndpointsTitle": "APIエンドポイント",
    "apiEndpointsDescription": "他のアプリケーションやサービスから利用可能なバックエンドAPIエンドポイント。",
    "comingSoon": "近日公開",
    "plannedFeatures": "予定されている機能",
    "featureRestApi": "REST APIカタログとインタラクティブなドキュメント",
    "featureWebhooks": "Webhook設定とイベントサブスクリプション",
    "featureSwagger": "OpenAPI / Swagger仕様の自動生成",
    "featureAuth": "エンドポイントごとのAPIキーとOAuthスコープ管理"
  },
  "mcpDashboard": {
    "loading": "Loading MCP dashboard...",
    "activate": "activate",
    "deactivate": "deactivate",
    "confirmSwitchCombo": "{action} コンボ「{combo}」を確認しますか?",
    "switchComboFailed": "コンボ状態の切り替えに失敗しました。",
    "switchComboSuccess": "コンボ「{combo}」を更新しました。",
    "confirmApplyProfile": "復元プロファイル「{profile}」を適用しますか?",
    "applyProfileFailed": "復元プロファイルの適用に失敗しました。",
    "applyProfileSuccess": "プロファイル「{profile}」が適用されました。",
    "confirmResetBreakers": "すべてのサーキットブレーカーをリセットしますか?",
    "resetBreakersFailed": "サーキットブレーカーのリセットに失敗しました。",
    "resetBreakersSuccess": "サーキットブレーカーがリセットされました。",
    "processStatus": "プロセスステータス",
    "online": "オンライン",
    "offline": "オフライン",
    "disableLabel": "__MISSING__:Disable {label}",
    "enableLabel": "__MISSING__:Enable {label}",
    "transportMode": "__MISSING__:Transport Mode",
    "transportStdioDesc": "__MISSING__:Local — IDE spawns process via omniroute --mcp",
    "transportSseDesc": "__MISSING__:Remote — Server-Sent Events over HTTP",
    "transportStreamableHttpDesc": "__MISSING__:Remote — Modern bidirectional HTTP",
    "copy": "__MISSING__:Copy",
    "mcpDashboardCopyUrl": "URLをコピー",
    "mcpDisabledTitle": "__MISSING__:MCP is disabled",
    "mcpDisabledDesc": "__MISSING__:Enable MCP above to configure transport mode and view server telemetry.",
    "mcpIntro": "__MISSING__:Model Context Protocol — {tools} tools across {scopes} scopes, {transports} transports (stdio / SSE / Streamable HTTP).",
    "mcpStep1": "__MISSING__:Run via {code}",
    "mcpStep2": "__MISSING__:Configure your MCP client to connect over stdio transport.",
    "mcpStep3": "__MISSING__:Invoke tools like {code1} and {code2}.",
    "pid": "PID",
    "sessionUptime": "Session uptime",
    "lastHeartbeat": "Last heartbeat",
    "activity24h": "Activity (24h)",
    "totalCalls": "Total calls",
    "successRate": "Success rate",
    "avgLatency": "Avg latency",
    "topTools": "Top tools",
    "noToolCalls24h": "No tool calls in the last 24 hours.",
    "runtimeDetails": "Runtime details",
    "transport": "Transport",
    "scopesEnforced": "Scopes enforced",
    "yes": "yes",
    "no": "no",
    "lastCall": "Last call",
    "heartbeatPath": "Heartbeat path",
    "operationalControls": "Operational controls",
    "switchCombo": "Switch combo",
    "inactive": "inactive",
    "active": "active",
    "activateCombo": "Activate combo",
    "deactivateCombo": "Deactivate combo",
    "applyResilienceProfile": "Apply resilience profile",
    "profileAggressive": "aggressive",
    "profileBalanced": "balanced",
    "profileConservative": "conservative",
    "applyProfile": "Apply profile",
    "resetCircuitBreakers": "Reset circuit breakers",
    "resetCircuitBreakersHelp": "Clears current breaker state and failure counters for providers.",
    "resetAllBreakers": "Reset all breakers",
    "toolsAndScopes": "Tools and scopes",
    "tableTool": "Tool",
    "tableScopes": "Scopes",
    "tablePhase": "Phase",
    "tableAudit": "Audit",
    "auditLog": "Audit log",
    "auditSummary": "Calls: {total} | page {page} of {totalPages}",
    "allTools": "All tools",
    "allResults": "All results",
    "success": "Success",
    "failure": "Failure",
    "apiKeyIdPlaceholder": "apiKeyId",
    "loadingAuditEntries": "Loading audit entries...",
    "noAuditEntriesForFilters": "No audit entries found for current filters.",
    "tableTimestamp": "Timestamp",
    "tableDuration": "Duration",
    "tableResult": "Result",
    "tableApiKey": "API key",
    "failed": "failed",
    "previous": "Previous",
    "next": "Next",
    "apiKeyId": "Api Key Id",
    "offset": "Offset",
    "limit": "Limit",
    "tool": "Tool"
  },
  "a2aDashboard": {
    "loading": "Loading A2A dashboard...",
    "confirmCancelTask": "Cancel task {taskId}?",
    "cancelTaskFailed": "Failed to cancel task.",
    "cancelTaskSuccess": "Task {taskId} cancelled.",
    "smokeSendFailed": "message/send smoke test failed.",
    "smokeSendSuccessWithTask": "message/send ok (task {taskId}).",
    "smokeSendSuccess": "message/send ok.",
    "smokeStreamFailed": "message/stream smoke test failed.",
    "smokeStreamSuccessWithTask": "message/stream ok (task {taskId}{stateSuffix}).",
    "smokeStreamNoTaskId": "message/stream finished without task id.",
    "health": "Health",
    "ok": "ok",
    "totalTasks": "Total tasks",
    "activeStreams": "Active streams",
    "lastTask": "Last task",
    "taskStateOverview": "Task state overview",
    "state": {
      "submitted": "submitted",
      "working": "working",
      "completed": "completed",
      "failed": "failed",
      "cancelled": "cancelled"
    },
    "agentCard": "Agent card",
    "agentCardPath": "__MISSING__:/.well-known/agent.json",
    "version": "Version",
    "url": "URL",
    "capabilities": "Capabilities",
    "agentCardNotAvailable": "Agent card not available.",
    "quickValidation": "Quick validation",
    "quickValidationDescription": "Executes smoke calls through the live `/a2a` endpoint.",
    "runMessageSend": "Run message/send",
    "runMessageStream": "Run message/stream",
    "taskManagement": "Task management",
    "taskSummary": "{total} tasks | page {page} of {totalPages}",
    "allStates": "all",
    "allSkills": "all skills",
    "loadingTasks": "Loading tasks...",
    "noTasksForFilters": "No tasks found for current filters.",
    "tableTask": "Task",
    "tableSkill": "Skill",
    "tableState": "State",
    "tableUpdated": "Updated",
    "tableActions": "Actions",
    "view": "View",
    "cancel": "Cancel",
    "previous": "Previous",
    "next": "Next",
    "taskDetail": "Task detail",
    "close": "Close",
    "metadata": "Metadata",
    "events": "Events",
    "artifacts": "Artifacts",
    "tablePhase": "Table Phase",
    "offset": "Offset",
    "limit": "Limit",
    "skill": "Skill",
    "rpcEndpoint": "POST /a2a",
    "rpcMethodSend": "メッセージ/送信",
    "rpcMethodStream": "メッセージ/ストリーム",
    "rpcMethodGet": "タスク/取得",
    "rpcMethodCancel": "タスク/キャンセル",
    "serviceLabel": "A2A",
    "online": "__MISSING__:Online",
    "offline": "__MISSING__:Offline",
    "disableLabel": "__MISSING__:Disable {label}",
    "enableLabel": "__MISSING__:Enable {label}",
    "a2aDisabledTitle": "__MISSING__:A2A is disabled",
    "a2aDisabledDesc": "__MISSING__:Enable A2A above to view task telemetry, agent details, and validation tools.",
    "a2aIntro": "__MISSING__:Agent2Agent JSON-RPC 2.0 endpoint — send tasks, stream responses, cancel in-flight jobs.",
    "a2aStep1": "__MISSING__:Discover the agent card at {code}.",
    "a2aStep2": "__MISSING__:Send JSON-RPC to {code1} using {code2} or {code3}.",
    "a2aStep3": "__MISSING__:Track and cancel tasks with {code1} and {code2}."
  },
  "memory": {
    "title": "Memory Management",
    "description": "View and manage stored memory entries",
    "memories": "Memories",
    "totalEntries": "Total Entries",
    "tokensUsed": "Tokens Used",
    "hitRate": "Hit Rate",
    "loading": "Loading memories...",
    "noMemories": "No memories found",
    "search": "Search memories...",
    "allTypes": "All Types",
    "export": "Export",
    "import": "Import",
    "addMemory": "Add Memory",
    "type": "Type",
    "key": "Key",
    "content": "Content",
    "created": "Created",
    "actions": "Actions",
    "delete": "Delete",
    "factual": "Factual",
    "episodic": "Episodic",
    "procedural": "Procedural",
    "semantic": "Semantic",
    "a": "A",
    "pipelineOk": "パイプラインは OK ({latencyMs}ms)",
    "pipelineError": "パイプラインエラー",
    "healthUnknown": "健康状態不明",
    "checkingHealth": "確認中…",
    "checkHealth": "健康状態をチェックする",
    "pageInfo": "ページ {page} / {totalPages} (合計 {total})",
    "previous": "前へ",
    "next": "次へ",
    "cancel": "キャンセル",
    "save": "保存",
    "keyPlaceholder": "例: user.preferences.テーマ",
    "contentPlaceholder": "覚えておくべき値または JSON コンテンツ"
  },
  "skills": {
    "title": "Skills",
    "description": "Manage and monitor AI skills",
    "skillsTab": "Skills",
    "executionsTab": "Executions",
    "sandboxTab": "Sandbox",
    "loading": "Loading skills...",
    "noSkills": "No skills found",
    "noExecutions": "No executions found",
    "enabled": "Enabled",
    "disabled": "Disabled",
    "version": "Version",
    "tableDescription": "Description",
    "skill": "Skill",
    "status": "Status",
    "duration": "Duration",
    "time": "Time",
    "sandboxConfig": "Sandbox Configuration",
    "cpuLimit": "CPU Limit",
    "cpuLimitDesc": "Maximum execution time per skill",
    "memoryLimit": "Memory Limit",
    "memoryLimitDesc": "Maximum memory allocation",
    "timeout": "Timeout",
    "timeoutDesc": "Maximum wait time for response",
    "networkAccess": "Network Access",
    "networkAccessDesc": "Allow outbound network requests",
    "mode": "Mode",
    "q": "Q",
    "filterSkillsPlaceholder": "名前、説明、またはタグでスキルをフィルタリングする",
    "allModes": "すべてのモード",
    "totalSkills": "__MISSING__:Total Skills",
    "enabledSkills": "__MISSING__:Enabled",
    "totalExecutions": "__MISSING__:Executions",
    "successRate": "__MISSING__:Success Rate",
    "marketplaceTab": "__MISSING__:Marketplace",
    "applyFilters": "__MISSING__:Apply filters",
    "popularDefaultsLabel": "__MISSING__:Popular by default for selected provider:",
    "onMode": "__MISSING__:ON",
    "offMode": "__MISSING__:OFF",
    "autoMode": "__MISSING__:AUTO",
    "installSkillButton": "__MISSING__:Install Skill",
    "installSkillModalTitle": "__MISSING__:Install Skill",
    "installJsonPlaceholder": "__MISSING__:Paste skill manifest JSON here...",
    "installing": "__MISSING__:Installing...",
    "installSuccess": "__MISSING__:Skill installed ({id})",
    "installError": "__MISSING__:Install failed",
    "invalidJson": "__MISSING__:Invalid JSON",
    "searchMarketplacePlaceholder": "__MISSING__:Search skills...",
    "searchMarketplace": "__MISSING__:Search Marketplace",
    "marketplaceEmpty": "__MISSING__:No skills found in marketplace",
    "marketplaceError": "__MISSING__:Search failed",
    "installingFromMarketplace": "__MISSING__:Installing from marketplace...",
    "popularSkills": "__MISSING__:Popular Skills",
    "skillsMarketplace": "スキルマーケットプレイス",
    "searching": "__MISSING__:Searching...",
    "pageInfo": "__MISSING__:Page {page} of {totalPages} ({total} total)",
    "previous": "__MISSING__:Previous",
    "next": "__MISSING__:Next",
    "activeProvider": "__MISSING__:Active provider:",
    "changeInSettings": "__MISSING__:Change this in Settings → Memory & Skills.",
    "installs": "__MISSING__:installs",
    "marketplaceSkillsMpHint": "__MISSING__:Configure your SkillsMP API key in Settings to browse the marketplace.",
    "marketplaceSkillsShHint": "__MISSING__:Search the skills.sh open directory to discover and install agent skills.",
    "installSkillModalDesc": "__MISSING__:Paste a skill manifest JSON or upload a .json file.",
    "uploadJson": "__MISSING__:Upload JSON",
    "cancel": "__MISSING__:Cancel",
    "installSkill": "スキルのインストール"
  },
  "health": {
    "title": "システムの健全性",
    "description": "OmniRoute インスタンスのリアルタイム監視",
    "healthy": "健康",
    "degraded": "劣化した",
    "down": "ダウン",
    "uptime": "稼働時間",
    "memory": "記憶",
    "memoryRss": "メモリ（RSS）",
    "heap": "ヒープ",
    "cpu": "CPU",
    "database": "データベース",
    "version": "バージョン",
    "lastCheck": "最終チェック",
    "providerHealth": "プロバイダーの健康状態",
    "systemMetrics": "システムメトリクス",
    "tokenHealth": "トークンの健全性",
    "refreshAll": "すべて更新",
    "checkNow": "今すぐチェック",
    "loadingHealth": "健康データをロードしています...",
    "failedToLoad": "健康データのロードに失敗しました: {error}",
    "retry": "再試行",
    "allOperational": "すべてのシステムが稼働中",
    "issuesDetected": "システムの問題が検出されました",
    "updatedAt": "{time} を更新しました",
    "latency": "レイテンシー",
    "latencyP50": "p50",
    "latencyP95": "p95",
    "latencyP99": "p99",
    "millisecondsShort": "{value}ms",
    "notAvailable": "—",
    "totalRequests": "リクエストの合計",
    "noDataYet": "まだデータがありません",
    "promptCache": "プロンプトキャッシュ",
    "entries": "エントリー",
    "hitRate": "命中率",
    "hitsMisses": "ヒット/ミス",
    "signatureCache": "署名キャッシュ",
    "signatureDefaults": "デフォルト",
    "signatureTool": "ツール",
    "signatureFamily": "家族",
    "signatureSession": "セッション",
    "recovering": "回復中",
    "noCBData": "サーキットブレーカーのデータはありません。最初にいくつかのリクエストを行ってください。",
    "providerHealthStatusAria": "プロバイダーの健康状態",
    "issuesLabel": "検出された問題",
    "operational": "稼働中",
    "providers": "プロバイダー",
    "configuredProvidersLabel": "ダッシュボードで設定",
    "configuredProvidersHint": "実行時の状態に関係なく、認証情報を持つプロバイダーは /dashboard/providers に保存されます。",
    "activeProviders": "{count} active",
    "activeProvidersHint": "リクエストのルーティングが現在有効になっている構成済みプロバイダー。",
    "monitoredProviders": "{count} monitored",
    "monitoredProvidersHint": "現在、プロバイダーはサーキット ブレーカー ヘルス モニターによって追跡されています。",
    "healthyCount": "{count} は健康です",
    "nodeVersion": "ノード {version}",
    "failures": "{count} 失敗",
    "failuresPlural": "{count} の失敗",
    "lastFailure": "最後",
    "rateLimitStatus": "レート制限ステータス",
    "activeLimiters": "{count} アクティブ リミッター",
    "activeLimitersPlural": "{count} アクティブ リミッター",
    "queued": "キューに入れられました",
    "queuedCount": "{count} がキューに入れられました",
    "running": "走っている",
    "runningCount": "{count} 実行中",
    "ok": "OK",
    "activeLockouts": "アクティブなロックアウト",
    "resetConfirm": "すべてのサーキットブレーカーを正常な状態にリセットしますか?これにより、すべての失敗カウントがクリアされ、すべてのプロバイダーが動作状態に復元されます。",
    "resetAllTitle": "すべてのサーキットブレーカーを正常な状態にリセットします",
    "resetting": "リセット中...",
    "resetAll": "すべてリセット",
    "until": "{time} まで",
    "limitExhausted": "Exhausted",
    "learnedFromHeaders": "Learned from headers",
    "remainingOfLimit": "{remaining}/{limit} remaining",
    "throttleStatus": "Throttle: {value}",
    "lastHeaderUpdate": "Header update: {age}",
    "databaseHealth": "データベースの健全性",
    "stickyBoundSessions": "スティッキーバインドされたセッション",
    "sessionsByApiKey": "APIキーによるセッション",
    "noActiveSessionsTracked": "アクティブなセッションはまだ追跡されていません。",
    "noSessionQuotaMonitorsActive": "アクティブなセッション クォータ モニターはありません。",
    "gracefulDegradationStatus": "正常な劣化ステータス",
    "additionalModels": "+{count} 個以上のモデル",
    "providerHealthMatrixTitle": "__MISSING__:Provider Health Matrix",
    "providerHealthMatrixDescription": "__MISSING__:Provider × account × model states from breakers, cooldowns, lockouts and logs.",
    "healthMatrixRange": "__MISSING__:Health matrix range",
    "providerFilter": "__MISSING__:Provider filter",
    "onlyIssues": "__MISSING__:Only issues",
    "refresh": "__MISSING__:Refresh",
    "accounts": "__MISSING__:Accounts",
    "models": "__MISSING__:Models",
    "issues": "__MISSING__:Issues",
    "loadingProviderHealthMatrix": "__MISSING__:Loading provider health matrix...",
    "failedProviderHealthMatrix": "__MISSING__:Failed to load Provider Health Matrix: {error}",
    "noProvidersMatchedFilters": "__MISSING__:No providers matched the current filters.",
    "modelPillSummary": "__MISSING__:{requests} req · {successRate} success · {latency} avg",
    "modelLockoutSummary": "__MISSING__:{reason} · {duration} left",
    "locked": "__MISSING__:locked",
    "inferred": "__MISSING__:inferred",
    "inactive": "__MISSING__:Inactive",
    "noConnectionId": "__MISSING__:no connection id",
    "accountModelSummary": "__MISSING__:{connectionId} · {count} models",
    "cooldown": "__MISSING__:cooldown",
    "durationRemaining": "__MISSING__:{duration} remaining",
    "noSyncedModelsOrTraffic": "__MISSING__:No synced models or recent traffic yet.",
    "providerRowSummary": "__MISSING__:{active}/{total} active accounts · {requests} req · {successRate} success · {latency} avg",
    "cooldownCount": "__MISSING__:{count} cooldown",
    "lockoutCount": "__MISSING__:{count} lockouts",
    "issueCount": "__MISSING__:{count} issues",
    "score": "__MISSING__:Score",
    "lastRequest": "__MISSING__:Last request",
    "lastError": "__MISSING__:Last error"
  },
  "telemetry": {
    "title": "システムテレメトリ",
    "description": "この OmniRoute プロセスからのローリング リクエスト、ランタイム、セッション、およびメモリ信号。",
    "uptime": "稼働時間",
    "totalRequests": "総リクエスト数",
    "avgLatency": "平均レイテンシ",
    "errorRate": "エラー率",
    "activeConnections": "アクティブな接続",
    "memoryUsage": "メモリ使用量",
    "latencyTrend": "レイテンシの傾向",
    "throughputTrend": "スループットの傾向",
    "memoryTrend": "記憶の傾向",
    "refresh": "リフレッシュ",
    "updatedAt": "{time} を更新しました",
    "loadFailed": "テレメトリのロードに失敗しました。",
    "partialData": "テレメトリは部分的に利用可能です: {error}"
  },
  "mitm": {
    "title": "MITM プロキシ",
    "description": "クライアント要求をインターセプトしてルーティングするための透過的プロキシ。",
    "enable": "MITM プロキシを有効にする",
    "enableDesc": "ローカル インターセプト プロセスと DNS オーバーライドを開始または停止します。",
    "status": "ステータス",
    "running": "ランニング",
    "stopped": "停止しました",
    "start": "スタート",
    "stop": "停止",
    "refresh": "リフレッシュ",
    "port": "プロキシポート",
    "apiKey": "ルーターAPIキー",
    "apiKeyPlaceholder": "オプション。ローカルキーにフォールバックします",
    "sudoPassword": "須藤パスワード",
    "cachedPassword": "このプロセスのためにキャッシュされました",
    "saveSettings": "設定の保存",
    "settingsSaved": "MITM設定が保存されました。",
    "startedSuccess": "MITM プロキシが開始されました。",
    "stoppedSuccess": "MITM プロキシが停止しました。",
    "saveFailed": "MITM設定の更新に失敗しました。",
    "loadFailed": "MITM設定のロードに失敗しました。",
    "invalidPort": "現在、透過的 MITM インターセプトにはポート 443 が必要です。",
    "certificate": "CA証明書",
    "certificateReady": "証明書はクライアント信頼インストールに使用できます。",
    "certificateMissing": "証明書はまだ生成されていません。",
    "available": "利用可能",
    "missing": "行方不明",
    "downloadCert": "CA証明書のダウンロード",
    "regenerateCert": "証明書を再生成する",
    "regenerateConfirm": "これにより、既存のクライアントの信頼が無効になります。続く？",
    "regenerateSuccess": "MITM 証明書が再生成されました。",
    "regenerateFailed": "MITM 証明書の再生成に失敗しました。",
    "targetRoutes": "対象路線",
    "interceptedRequests": "傍受されたリクエスト",
    "activeConnections": "アクティブな接続",
    "dnsConfigured": "DNSが設定されました",
    "pid": "PID",
    "lastIntercept": "最後のインターセプト",
    "target": "ターゲット",
    "host": "ホスト",
    "localPort": "ローカルポート",
    "endpoints": "エンドポイント",
    "enabled": "有効",
    "configured": "設定済み",
    "yes": "はい",
    "no": "いいえ",
    "noTargets": "ターゲットルートが設定されていません。"
  },
  "limits": {
    "title": "制限と割り当て",
    "rateLimit": "レート制限",
    "remaining": "残り",
    "requestsPerMinute": "リクエスト/分",
    "tokensPerMinute": "トークン/分",
    "dailyLimit": "1日あたりの制限"
  },
  "logs": {
    "title": "ログ",
    "requestLogs": "リクエストログ",
    "proxyLogs": "プロキシログ",
    "auditLog": "監査ログ",
    "console": "コンソール",
    "auditLogDesc": "管理アクションとセキュリティ イベント",
    "loading": "読み込み中...",
    "refresh": "リフレッシュ",
    "filterByAction": "アクションでフィルタリング...",
    "filterByActor": "俳優でフィルター...",
    "filterEntriesAria": "監査ログエントリをフィルタリングする",
    "filterByActionTypeAria": "アクションの種類でフィルタリングする",
    "filterByActorAria": "俳優で絞り込む",
    "refreshAuditLogAria": "監査ログを更新する",
    "tableAria": "監査ログエントリ",
    "failedFetchAuditLog": "監査ログの取得に失敗しました",
    "showing": "{count} エントリを表示しています (オフセット {offset})",
    "search": "検索",
    "timestamp": "タイムスタンプ",
    "action": "アクション",
    "actor": "俳優",
    "target": "ターゲット",
    "details": "詳細",
    "ipAddress": "IPアドレス",
    "notAvailable": "—",
    "noEntries": "監査ログエントリが見つかりませんでした",
    "previous": "前へ",
    "next": "次へ",
    "providerWarningTitle": "Provider Warning Title",
    "viewDetails": "View Details",
    "eventMetadata": "Event Metadata",
    "eventPayload": "Event Payload",
    "requestId": "Request Id",
    "providerWarningDesc": "Provider Warning Desc",
    "a": "A",
    "offset": "Offset",
    "limit": "Limit",
    "status": "Status",
    "resourceType": "Resource Type",
    "totalEntries": "Total Entries",
    "tab": "Tab",
    "auditModalSubtitle": "Audit Modal Subtitle",
    "close": "Close",
    "runningRequests": "Active Requests",
    "runningRequestsDesc": "Real-time view of currently running upstream requests",
    "clearAll": "すべてクリア",
    "confirmClearActiveRequests": "アクティブなリクエストをすべてクリアしますか?",
    "model": "Model",
    "provider": "Provider",
    "account": "Account",
    "elapsed": "Elapsed",
    "activeStage": "__MISSING__:Stage",
    "activeStageUnknown": "__MISSING__:Not sent to upstream yet",
    "activeStageRegistered": "__MISSING__:Registered",
    "activeStagePayloadPrepared": "__MISSING__:Payload prepared",
    "activeStageWaitingAccountSlot": "__MISSING__:Waiting for account slot",
    "activeStageWaitingRateLimit": "__MISSING__:Waiting for rate limiter",
    "activeStageRateLimitSlotAcquired": "__MISSING__:Rate limit slot acquired",
    "activeStageSendingToProvider": "__MISSING__:Sending to upstream",
    "activeStageProviderResponseStarted": "__MISSING__:Upstream response started",
    "count": "Count",
    "payloads": "Payloads",
    "viewPayloads": "View",
    "activeCount": "{count} active",
    "clientPayload": "Client Request Payload",
    "upstreamPayload": "Upstream Provider Payload",
    "upstreamNotSentYet": "Not sent to upstream yet",
    "runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
    "export": "Export",
    "exporting": "Exporting...",
    "exportFailed": "Export failed",
    "timeRange": "Time Range",
    "lastNHours": "Last {hours}",
    "defaultRange": "default",
    "consoleViewer": {
      "fetchFailed": "Failed to fetch logs",
      "copyFailed": "Failed to copy log entry",
      "copyLogEntry": "Copy log entry"
    }
  },
  "onboarding": {
    "welcome": "ようこそ",
    "security": "セキュリティ",
    "test": "テスト",
    "ready": "準備完了！",
    "setPassword": "パスワードを設定する",
    "addProvider": "最初のプロバイダーを追加する",
    "getStarted": "始めましょう",
    "skip": "スキップ",
    "skipWizard": "ウィザードを完全にスキップする",
    "skipPassword": "パスワード設定をスキップする",
    "skipAndContinue": "スキップして続行",
    "passwordLabel": "パスワード",
    "confirmPassword": "パスワードの確認",
    "enterPassword": "パスワードを入力してください",
    "confirmPasswordPlaceholder": "パスワードの確認",
    "passwordsMismatch": "パスワードが一致しません",
    "setupComplete": "セットアップ完了！",
    "goToDashboard": "ダッシュボードに移動 →",
    "welcomeDesc": "OmniRoute はローカル AI API プロキシです。負荷分散、フェイルオーバー、使用状況追跡を使用して、リクエストを複数の AI プロバイダーにルーティングします。",
    "multiProvider": "マルチプロバイダー",
    "usageTracking": "使用状況の追跡",
    "securityDesc": "ダッシュボードを保護するためにパスワードを設定するか、今はスキップしてください。",
    "providerDesc": "初めての AI プロバイダーに接続します。後でさらに追加することもできます。",
    "apiKeyRequired": "APIキー(必須)",
    "customUrlOptional": "カスタム URL (オプション)",
    "testDesc": "プロバイダー接続が機能することを確認してみましょう。",
    "runTest": "接続テストの実行",
    "testingConnection": "接続をテストしています...",
    "connectionSuccessful": "接続成功！プロバイダーの準備が整いました。",
    "noProviderFound": "プロバイダーが見つかりませんでした。後でダッシュボードから追加できます。",
    "testFailed": "テストは失敗しましたが、これは後で構成できます。",
    "couldNotTest": "現在テストできませんでした。ダッシュボードからテストできます。",
    "doneDesc": "準備は完了です! OmniRoute インスタンスが構成され、AI リクエストをプロキシする準備ができました。",
    "yourEndpoint": "エンドポイント:",
    "continue": "続ける",
    "retry": "再試行",
    "failedSetPassword": "パスワードの設定に失敗しました。もう一度やり直してください。",
    "failedAddProvider": "プロバイダーの追加に失敗しました。もう一度やり直してください。",
    "connectionError": "接続エラー。もう一度試してください。",
    "provider": "プロバイダー",
    "apiKeyHelp": "API キーは AI サービスのパスワードです。プロバイダーの Web サイト (platform.openai.com、console.anthropic.com など) から入手します。",
    "tier": {
      "subtitle": "OmniRoute はプロバイダーを 3 つの層に編成するため、ルーティングでは最も信頼性が高く、コストが最も低いパスが最初に優先されます。",
      "tier1": {
        "label": "プレミアムクライアント",
        "description": "ネイティブの認証フローと推論モデルを備えたファーストクラスの CLI。"
      },
      "tier2": {
        "label": "コストの最適化",
        "description": "日常のトラフィックに使用される、安価で高スループットのプロバイダー。"
      },
      "tier3": {
        "label": "フォールバックと専門分野",
        "description": "ローカルでホストされているエンドポイント、またはフォールバックとして使用される特殊なエンドポイント。"
      },
      "configure": "プロバイダーの構成"
    },
    "tierFlowDiagramAlt": "OmniRoute 3 層フォールバック図",
    "apiKeyMgmt": "APIキー管理"
  },
  "providers": {
    "title": "プロバイダー",
    "allProviders": "すべてのプロバイダー",
    "audioProviders": "オーディオプロバイダー",
    "showFreeOnly": "無料のみ",
    "addProvider": "プロバイダーの追加",
    "addFirstProvider": "最初のプロバイダーを追加する",
    "addFirstProviderDesc": "AI プロバイダーに接続して、OmniRoute 経由でリクエストのルーティングを開始します。無料のプロバイダー、API キー、または OAuth アカウントを使用できます。",
    "learnMore": "さらに詳しく",
    "editProvider": "プロバイダーの編集",
    "deleteProvider": "プロバイダーの削除",
    "noProviders": "プロバイダーが構成されていません",
    "modelAvailability": "モデルの入手可能性",
    "accounts": "アカウント",
    "newAccount": "新しいアカウント",
    "deleteConfirm": "このプロバイダーを削除してもよろしいですか?",
    "testing": "テスト中...",
    "testConnection": "テスト接続",
    "testSuccess": "接続成功",
    "testFailed": "接続に失敗しました",
    "available": "利用可能",
    "cooldown": "クールダウン",
    "unavailable": "利用不可",
    "unknown": "不明",
    "oauthLabel": "OAuth",
    "compatibleLabel": "互換性のある",
    "chat": "チャット",
    "responses": "応答",
    "messages": "メッセージ",
    "oauthProviders": "OAuthプロバイダー",
    "freeProviders": "無料プロバイダー",
    "apiKeyProviders": "APIキープロバイダー",
    "compatibleProviders": "API キー互換プロバイダー",
    "testAll": "すべてをテストする",
    "testAllOAuth": "すべての OAuth 接続をテストする",
    "testAllFree": "すべての無料接続をテストする",
    "testAllApiKey": "すべての API キー接続をテストする",
    "testAllCompatible": "すべての互換性のある接続をテストする",
    "connected": "{count} 接続されました",
    "errorCount": "{count} エラー ({code})",
    "errorCountNoCode": "{count} エラー",
    "warningCount": "{count} 警告",
    "noConnections": "接続がありません",
    "expiredBadge": "Expired",
    "expiringSoonBadge": "Expiring Soon",
    "freeTier": "無料利用枠",
    "freeTierAvailable": "無料利用枠あり",
    "hasFreeTooltip": "__MISSING__:Free tier available",
    "noAuthLabel": "__MISSING__:No Auth",
    "noAuthProviders": "__MISSING__:No Auth Providers",
    "upstreamProxyLabel": "__MISSING__:Upstream Proxy",
    "freeAggregated": "__MISSING__:All providers with free tier (also shown in their native category)",
    "deprecated": "廃止されました",
    "deprecatedProvider": "このプロバイダーは廃止されました",
    "riskNotice": {
      "title": "__MISSING__:Before continuing",
      "tooltip": "__MISSING__:Provider with usage caveats — click for details",
      "oauth": "__MISSING__:This provider uses your official product session/OAuth, which is not authorized for proxy/router use.\n\nWe don't recommend intensive autonomous agent usage (OpenCloud-style, long multi-step flows, large batches) — the upstream may react by restricting or banning the account.\n\nUse at your own risk.",
      "webCookie": "__MISSING__:This provider authenticates through your web session cookies. The upstream service may invalidate the session at any time, requiring you to log in again. Not recommended for long unattended operations.\n\nUse at your own risk.",
      "deprecated": "__MISSING__:This provider was discontinued by its upstream and may stop working without notice. Existing connections may continue working until the upstream fully removes access. Consider alternatives.",
      "dontShowAgain": "__MISSING__:Don't show this again for this provider",
      "understand": "__MISSING__:I understand, continue",
      "cancel": "__MISSING__:Cancel"
    },
    "disabled": "障害者",
    "enableProvider": "プロバイダーを有効にする",
    "disableProvider": "プロバイダーを無効にする",
    "testResults": "テスト結果",
    "noCompatibleYet": "互換性のあるプロバイダーはまだ追加されていません",
    "compatibleHint": "上のボタンを使用して、OpenAI または Anthropic と互換性のあるエンドポイントを追加します",
    "addOpenAICompatible": "OpenAI互換性を追加",
    "addAnthropicCompatible": "人間互換性を追加",
    "addNewProvider": "新しいプロバイダーの追加",
    "backToProviders": "プロバイダーに戻る",
    "configureNewProvider": "アプリケーションで使用する新しい AI プロバイダーを構成します。",
    "providerLabel": "プロバイダー",
    "selectProvider": "プロバイダーを選択してください",
    "selectedProvider": "選択したプロバイダー",
    "authMethod": "認証方法",
    "apiKeyLabel": "APIキー",
    "apiKeyRequired": "APIキーが必要です",
    "selectProviderRequired": "プロバイダーを選択してください",
    "enterApiKey": "API キーを入力してください",
    "apiKeySecure": "API キーは暗号化され、安全に保管されます。",
    "oauth2Connect": "OAuth2で接続する",
    "oauth2Label": "OAuth2",
    "oauth2Desc": "OAuth2 認証を使用してアカウントを接続します。",
    "displayName": "表示名",
    "displayNamePlaceholder": "例: 本番 API、開発環境",
    "displayNameHint": "オプション。この構成を識別するためのフレンドリ名。",
    "active": "アクティブ",
    "activeDescription": "このプロバイダーをアプリケーションで使用できるようにします。",
    "cancel": "キャンセル",
    "createProvider": "プロバイダーの作成",
    "failedCreate": "プロバイダーの作成に失敗しました",
    "errorOccurred": "エラーが発生しました。もう一度試してください。",
    "modelStatus": "モデルステータス",
    "showConfiguredOnly": "Configured only",
    "allModelsOperational": "全モデル稼働中",
    "modelsWithIssues": "{count} モデルに問題があります",
    "allModelsNormal": "全機種正常に反応しております。",
    "cooldownCleared": "{model} のクールダウンがクリアされました",
    "failedClearCooldown": "クールダウンをクリアできませんでした",
    "loadingAvailability": "モデルの可用性を読み込んでいます...",
    "clearCooldown": "クリア",
    "clearing": "クリア中...",
    "until": "{time} まで",
    "providerTestFailed": "プロバイダーのテストに失敗しました",
    "providerTestTimeout": "Provider test timed out — too many connections to test at once",
    "modeTest": "{mode} テスト",
    "passedCount": "{count} が合格しました",
    "failedCount": "{count} が失敗しました",
    "testedCount": "{count} テスト済み",
    "millisecondsAbbr": "{value}ms",
    "okShort": "OK",
    "errorShort": "エラー",
    "noActiveConnectionsInGroup": "このグループに対してアクティブな接続が見つかりません。",
    "allTestsPassed": "すべての {total} テストに合格しました",
    "testSummary": "{passed}/{total} は成功、{failed} は失敗",
    "nameLabel": "名前",
    "prefixLabel": "プレフィックス",
    "baseUrlLabel": "ベースURL",
    "apiTypeLabel": "API タイプ",
    "prefixHint": "必須。モデル名の一意の接頭辞。",
    "nameHint": "必須。このノードのわかりやすいラベル。",
    "baseUrlHint": "必須。  プロバイダー API のベース URL。",
    "anthropicPrefixPlaceholder": "ac-prod",
    "openaiPrefixPlaceholder": "oc-prod",
    "anthropicBaseUrlPlaceholder": "https://api.anthropic.com/v1",
    "openaiBaseUrlPlaceholder": "https://api.openai.com/v1",
    "validateConnection": "接続の検証",
    "validating": "検証中...",
    "connectionValid": "接続は有効です!",
    "connectionFailed": "接続に失敗しました。 URLとキーを確認してください。",
    "testKeyLabel": "APIキーをテストする",
    "testKeyPlaceholder": "sk-... (検証のみ)",
    "providerNotFound": "プロバイダーが見つかりません",
    "deleteConnectionConfirm": "この接続を削除しますか?",
    "batchDeleteSelected": "Delete Selected ({count})",
    "batchDeleteConfirm": "Delete {count} connection(s)? This action cannot be undone.",
    "batchDeleteSuccess": "Deleted {count} connection(s)",
    "batchActivateSelected": "__MISSING__:Activate",
    "batchDeactivateSelected": "__MISSING__:Deactivate",
    "batchRetestSelected": "__MISSING__:Retest",
    "batchActivateSuccess": "__MISSING__:Activated {count} connection(s)",
    "batchDeactivateSuccess": "__MISSING__:Deactivated {count} connection(s)",
    "failedSetAlias": "エイリアスの設定に失敗しました",
    "failedSaveConnection": "接続の保存に失敗しました",
    "failedSaveConnectionRetry": "接続を保存できませんでした。もう一度試してください。",
    "failedRetestConnection": "接続の再テストに失敗しました",
    "deleteCompatibleNodeConfirm": "この {type} 互換ノードを削除しますか?",
    "anthropicCompatibleDetails": "人類互換性の詳細",
    "openaiCompatibleDetails": "OpenAI互換性の詳細",
    "messagesApi": "メッセージAPI",
    "responsesApi": "レスポンスAPI",
    "embeddings": "Embeddings",
    "audioTranscriptions": "Audio Transcriptions",
    "audioSpeech": "Audio Speech",
    "imagesGenerations": "Images Generations",
    "chatCompletions": "チャットの完了",
    "importingModels": "インポート中...",
    "importFromModels": "/models からインポート",
    "modelsImported": "{count} models imported",
    "allModelsAlreadyImported": "すべてのモデルは既にインポート済みです",
    "noNewModelsToImport": "インポートする新しいモデルはありません — すべてのモデルは既にレジストリまたはカスタムモデルリストにあります",
    "skippingExistingModels": "{count}件の既存モデルをスキップ",
    "autoSync": "自動同期",
    "autoSyncTooltip": "24時間ごとにモデルリストを自動更新（MODEL_SYNC_INTERVAL_HOURSで設定可能）",
    "autoSyncEnabled": "自動同期有効 — モデルは定期的に更新されます",
    "autoSyncDisabled": "自動同期無効",
    "autoSyncToggleFailed": "自動同期の切り替えに失敗",
    "clearAllModels": "すべてのモデルを削除",
    "clearAllModelsConfirm": "このプロバイダーのすべてのモデルを削除してもよろしいですか？",
    "clearAllModelsSuccess": "すべてのモデルを削除しました",
    "clearAllModelsFailed": "モデルの削除に失敗",
    "addConnectionToImport": "接続を追加してインポートを有効にします。",
    "noModelsConfigured": "モデルが設定されていません",
    "connectionCount": "{count} 接続",
    "fetchingModels": "利用可能なモデルを取得しています...",
    "failedFetchModels": "モデルの取得に失敗しました",
    "noModelsFound": "モデルが見つかりません",
    "importFailed": "インポートに失敗しました",
    "noNewModelsAdded": "新しいモデルは追加されませんでした。",
    "adding": "追加中...",
    "close": "Close",
    "importingModelsTitle": "モデルのインポート",
    "copyModel": "モデルをコピーする",
    "filterModels": "モデルを絞り込む…",
    "modelsActive": "有効",
    "showModel": "モデルを表示",
    "hideModel": "モデルを非表示",
    "removeModel": "モデルの削除",
    "rateLimitProtected": "保護されています",
    "rateLimitUnprotected": "保護されていない",
    "enableRateLimitProtection": "クリックしてレート制限保護を有効にします",
    "disableRateLimitProtection": "クリックしてレート制限保護を無効にします",
    "productionKey": "プロダクションキー",
    "enterNewApiKey": "新しいAPIキーを入力してください",
    "codexApplyModalTitle": "ローカルコーデックスに適用する",
    "codexApplyTargetLabel": "ターゲットパス",
    "codexApplyBackupLabel": "バックアップ",
    "codexApplyWarning": "これは既存の auth.json を置き換えます。続く？",
    "codexApplyConfirmCheckbox": "既存の auth.json を置き換えることを確認します",
    "codexApply": "申し込む",
    "bulkTabSingle": "シングル",
    "bulkTabBulkAdd": "一括追加",
    "bulkAddFormatHint": "1 行に 1 つのキー。形式: name|apiKey または単に apiKey (インデックスによって自動命名)。",
    "bulkValidateKeys": "保存する前に各キーを検証します (時間がかかります)",
    "bulkAddAllKeys": "すべてのキーを追加",
    "bulkAddedCount": "{count, plural, one {# key added} other {# keys added}}",
    "bulkFailedCount": "{count, plural, one {# failed} other {# failed}}",
    "optional": "オプション",
    "anthropicCompatibleName": "人間互換性",
    "openaiCompatibleName": "OpenAI対応",
    "failedImportModels": "モデルのインポートに失敗しました",
    "noModelsReturnedFromEndpoint": "/models エンドポイントからモデルが返されませんでした。",
    "importingModelsProgress": "{total} モデルの {current} をインポートしています...",
    "foundModelsStartingImport": "{count} モデルが見つかりました。インポートを開始しています...",
    "importingModelById": "{modelId} をインポートしています...",
    "importSuccessCount": "{count, plural, one {# model} other {# models}} が正常にインポートされました。",
    "noNewModelsAddedExisting": "新しいモデルは追加されませんでした (すべてすでに存在しています)。",
    "importDoneCount": "✓ 完了! {count, plural, one {# model imported.} other {# models imported.}}",
    "unexpectedErrorOccurred": "予期しないエラーが発生しました",
    "connectionCountLabel": "{count, plural, one {# connection} other {# connections}}",
    "messagesPath": "メッセージ",
    "responsesPath": "応答",
    "chatCompletionsPath": "チャット/補完",
    "add": "追加",
    "edit": "編集",
    "delete": "削除",
    "anthropic": "人間的",
    "openai": "OpenAI",
    "singleConnectionPerCompatible": "互換性のあるノードごとに 1 つの接続のみが許可されます。さらに接続が必要な場合は、別のノードを追加します。",
    "connections": "接続",
    "providerProxyTitleConfigured": "プロバイダー プロキシ: {host}",
    "configured": "設定済み",
    "providerProxyConfigureHint": "このプロバイダーのすべての接続に対してプロキシを構成します",
    "providerProxy": "プロバイダープロキシ",
    "repairEnv": "Repair env",
    "repairEnvWorking": "Repairing...",
    "repairEnvHint": "Restore missing OAuth defaults into .env without overwriting existing values.",
    "repairEnvSuccess": "OAuth defaults restored",
    "repairEnvFailed": "Failed to repair .env",
    "noConnectionsYet": "まだ接続がありません",
    "addFirstConnectionHint": "最初の接続を追加して開始します",
    "addConnection": "接続の追加",
    "availableModels": "利用可能なモデル",
    "builtInModels": "Built-in models",
    "builtInModelsHint": "Registry models for this provider. Use the pencil to set compatibility options.",
    "pageAutoRefresh": "ページは自動的に更新されます...",
    "statusDisabled": "無効化された",
    "statusConnected": "接続されています",
    "statusRuntimeIssue": "ランタイムの問題",
    "statusAuthFailed": "認証に失敗しました",
    "statusRateLimited": "レート制限あり",
    "statusNetworkIssue": "ネットワークの問題",
    "statusTestUnsupported": "テストはサポートされていません",
    "statusUnavailable": "利用不可",
    "statusFailed": "失敗しました",
    "statusError": "エラー",
    "oauthAccount": "OAuth アカウント",
    "errorTypeRuntime": "ローカルランタイム",
    "errorTypeUpstreamAuth": "アップストリーム認証",
    "errorTypeMissingCredential": "資格情報がありません",
    "errorTypeRefreshFailed": "更新に失敗しました",
    "errorTypeTokenExpired": "トークンの有効期限が切れました",
    "errorTypeRateLimited": "レート制限あり",
    "errorTypeUpstreamUnavailable": "上流は利用不可",
    "errorTypeNetworkError": "ネットワークエラー",
    "errorTypeTestUnsupported": "テストはサポートされていません",
    "errorTypeUpstreamError": "上流エラー",
    "proxySourceGlobal": "グローバル",
    "proxySourceProvider": "プロバイダー",
    "proxySourceKey": "キー",
    "proxyConfiguredBySource": "プロキシ ({source}): {host}",
    "autoPriority": "自動: {priority}",
    "proxy": "プロキシ",
    "retestAuthentication": "認証を再テストする",
    "retest": "再テスト",
    "disableConnection": "接続を無効にする",
    "enableConnection": "接続を有効にする",
    "reauthenticateConnection": "この接続を再認証します",
    "proxyConfig": "プロキシ構成",
    "aliasExistsAlert": "エイリアス「{alias}」はすでに存在します。別のモデルを使用するか、既存のエイリアスを編集してください。",
    "openRouterAnyModelHint": "OpenRouter はあらゆるモデルをサポートします。モデルを追加し、すぐにアクセスできるようにエイリアスを作成します。",
    "modelIdFromOpenRouter": "モデルID (OpenRouterから)",
    "openRouterModelPlaceholder": "人間的/クロード-3-作品",
    "customModels": "カスタムモデル",
    "customModelsHint": "デフォルトのリストにないモデル ID を追加します。これらはルーティングに使用できるようになります。",
    "normalizeToolCallIdLabel": "Normalize tool call IDs to 9 characters (e.g. Mistral)",
    "preserveDeveloperRoleLabel": "Keep OpenAI Responses developer role (do not map to system)",
    "compatAdjustmentsTitle": "Compatibility",
    "compatButtonLabel": "Compatibility",
    "compatToolIdShort": "Tool ID 9",
    "compatDeveloperShort": "Developer role",
    "compatDoNotPreserveDeveloper": "Do not preserve developer role",
    "compatBadgeNoPreserve": "No preserve",
    "compatProtocolLabel": "Client request protocol",
    "compatProtocolHint": "These options apply when OmniRoute detects this request shape (OpenAI Chat, Responses API, or Anthropic Messages).",
    "compatProtocolOpenAI": "OpenAI Chat Completions",
    "compatProtocolOpenAIResponses": "OpenAI Responses API",
    "compatProtocolClaude": "Anthropic Messages",
    "compatUpstreamHeadersLabel": "Extra upstream headers",
    "compatUpstreamHeadersHint": "High-privilege setting — same trust level as editing provider API credentials; only trusted admins should use it. Merged after OmniRoute adds auth from the provider API key. If a custom header uses the same name as an existing one (e.g. Authorization), your value fully replaces the auto-generated header (including the Bearer token) — the upstream only sees what you typed, not the key from settings. Misconfiguration can cause 401 or broken upstream auth. One row per header (e.g. extra Authentication for some gateways). Hover or focus the value to preview. Saves on blur, outside click, or closing this panel.",
    "compatUpstreamHeaderName": "Header name",
    "compatUpstreamHeaderValue": "Value",
    "compatUpstreamAddRow": "Add header",
    "compatUpstreamRemoveRow": "Remove row",
    "compatBadgeUpstreamHeaders": "Headers",
    "perModelQuotaLabel": "Per Model Quota Label",
    "perModelQuotaDescription": "Per Model Quota Description",
    "perModelQuotaToggle": "モデルごとのクォータの切り替え",
    "modelId": "モデルID",
    "customModelPlaceholder": "例: gpt-4.5-ターボ",
    "loading": "読み込み中...",
    "removeCustomModel": "カスタムモデルを削除する",
    "noCustomModels": "カスタム モデルはまだ追加されていません。",
    "allSuggestedAliasesExist": "提案されたエイリアスはすべてすでに存在します。別のモデルを選択するか、競合するエイリアスを削除してください。",
    "failedSaveCustomModel": "カスタムモデルの保存に失敗しました",
    "modelAddedSuccess": "モデル {modelId} が正常に追加されました",
    "failedAddModelTryAgain": "モデルの追加に失敗しました。もう一度試してください。",
    "failedSaveImportedModel": "インポートされたモデルをカスタム データベースに保存できませんでした",
    "failedImportModelsTryAgain": "モデルのインポートに失敗しました。もう一度試してください。",
    "failedRemoveModelFromDatabase": "データベースからモデルを削除できませんでした",
    "modelRemovedSuccess": "モデルは正常に削除されました",
    "failedDeleteModelTryAgain": "モデルの削除に失敗しました。もう一度試してください。",
    "compatibleModelsDescription": "{type} 互換モデルを手動で追加するか、/models エンドポイントからインポートします。",
    "anthropicCompatibleModelPlaceholder": "クロード-3-opus-20240229",
    "openaiCompatibleModelPlaceholder": "gpt-4o",
    "apiKeyValidationFailed": "API キーの検証に失敗しました。キーを確認して再試行してください。",
    "addProviderApiKeyTitle": "{provider} API キーを追加",
    "checking": "確認中...",
    "check": "チェックする",
    "valid": "有効",
    "invalid": "無効です",
    "creating": "作成中...",
    "validationChecksAnthropicCompatible": "検証では、API キーを検証することで {provider} をチェックします。",
    "validationChecksOpenAiCompatible": "検証では、ベース URL の /models を介して {provider} がチェックされます。",
    "priorityLabel": "優先順位",
    "saving": "保存中...",
    "save": "保存",
    "editConnection": "接続の編集",
    "accountName": "アカウント名",
    "email": "電子メール",
    "healthCheckMinutes": "ヘルスチェック (分)",
    "healthCheckHint": "プロアクティブなトークンの更新間隔。 0 = 無効。",
    "selectAllModels": "Select all",
    "deselectAllModels": "Deselect all",
    "modelsActiveCount": "{active}/{total} active",
    "noModelsMatch": "No models match \"{filter}\"",
    "groupLabel": "Environment",
    "groupPlaceholder": "e.g. eKaizen, Personal",
    "failedTestConnection": "接続のテストに失敗しました",
    "failed": "失敗しました",
    "leaveBlankKeepCurrentApiKey": "現在の API キーを保持するには、空白のままにします。",
    "editCompatibleTitle": "編集 {type} 互換",
    "compatibleBaseUrlHint": "Root URL of your {type}-compatible API. Use Advanced Settings for custom endpoint paths.",
    "apiKeyForCheck": "APIキー（チェック用）",
    "compatibleProdPlaceholder": "{type} 互換性あり (製品)",
    "tokenRefreshed": "Token refreshed successfully",
    "tokenRefreshFailed": "Token refresh failed",
    "applyCodexAuthLocal": "Apply auth",
    "exportCodexAuthFile": "Export auth",
    "applyClaudeAuthLocal": "認証を適用する",
    "exportClaudeAuthFile": "エクスポート認証",
    "importClaudeAuth": "インポート認証",
    "claudeApplyModalTitle": "ローカル クロード コードに適用する",
    "claudeApplyTargetLabel": "ターゲットパス",
    "claudeApplyBackupLabel": "バックアップ",
    "claudeApplyMcpHint": "既存の MCP OAuth 状態は保持されます。",
    "claudeApplyWarning": "これは、既存の claudeAiOauth セクションを置き換えます。続く？",
    "claudeApplyConfirmCheckbox": "既存の claudeAiOauth セクションを置き換えることを確認します",
    "claudeApply": "申し込む",
    "claudeAuthAppliedLocal": "クロード認証がローカルに適用される",
    "claudeAuthApplyFailed": "クロード認証をローカルに適用できませんでした",
    "claudeAuthExported": "クロード認証ファイルがエクスポートされました",
    "claudeAuthExportFailed": "クロード認証ファイルのエクスポートに失敗しました",
    "claudeImportModalTitle": "クロード認証のインポート",
    "claudeImportTabSingle": "シングル",
    "claudeImportTabBulk": "バルク",
    "claudeImportTabUpload": "ファイルをアップロードする",
    "claudeImportTabPaste": "JSON を貼り付け",
    "claudeImportFileLabel": ".credentials.json を選択します",
    "claudeImportPasteLabel": "JSONコンテンツを貼り付けます",
    "claudeImportEmailLabel": "アカウントのメールアドレス",
    "claudeImportNameLabel": "接続名 (オプション)",
    "claudeImportOverwriteLabel": "アカウントがすでに存在する場合は既存の接続を置き換えます",
    "claudeImportSubmit": "インポート",
    "claudeImportSuccess": "クロード接続が正常にインポートされました",
    "claudeImportInvalidJson": "ファイルを JSON として解析できませんでした",
    "claudeImportInvalidShape": "ファイルは有効な .credentials.json ではありません",
    "claudeImportDuplicate": "アカウントはすでに存在します - 「既存のものを置き換える」を有効にして上書きします",
    "claudeImportIdentityUnverified": "ブートストラップはアカウントを確認できませんでした。 「既存のものを置き換える」を有効にするか、電子メールを入力してください。",
    "claudeImportFailed": "クロード認証のインポートに失敗しました",
    "claudeImportBulkModeUpload": "ファイルをアップロードする",
    "claudeImportBulkModePaste": "JSON配列を貼り付けます",
    "claudeImportBulkModeZip": "ZIP をアップロードする",
    "claudeImportBulkUploadHint": "最大 50 個の .credentials.json ファイル (それぞれ 256 KB、合計 10 MB) をドロップまたはピックします。",
    "claudeImportBulkPasteHint": "オブジェクトの配列を貼り付けます: [{ json, name?, email? }, ...]",
    "claudeImportBulkZipHint": ".json エントリを含む ZIP。最大 50 エントリ、解凍された状態で 10MB。",
    "claudeImportBulkSubmit": "すべてインポート",
    "claudeImportBulkSuccess": "インポートされた {count} クロード接続",
    "claudeImportBulkFailed": "一部のエントリのインポートに失敗しました",
    "claudeImportBulkZipExtracting": "ZIP を解凍中…",
    "claudeImportBulkZipError": "ZIPの解凍に失敗しました",
    "applyGeminiAuthLocal": "認証を適用する",
    "exportGeminiAuthFile": "エクスポート認証",
    "importGeminiAuth": "インポート認証",
    "geminiApplyModalTitle": "ローカル Gemini CLI に適用する",
    "geminiApplyTargetLabel": "ターゲットパス",
    "geminiApplyBackupLabel": "バックアップ",
    "geminiApplyAccountsHint": "google_accounts.json アクティブなアカウントは、この接続に一致するように更新されます。",
    "geminiApplyWarning": "これにより、既存の oauth_creds.json が置き換えられ、google_accounts.json が更新されます。続く？",
    "geminiApplyConfirmCheckbox": "既存の oauth_creds.json を置き換えることを確認します",
    "geminiApply": "申し込む",
    "geminiAuthAppliedLocal": "Gemini 認証がローカルに適用される",
    "geminiAuthApplyFailed": "Gemini 認証をローカルに適用できませんでした",
    "geminiAuthExported": "Gemini 認証ファイルがエクスポートされました",
    "geminiAuthExportFailed": "Gemini 認証ファイルのエクスポートに失敗しました",
    "geminiImportModalTitle": "Gemini 認証のインポート",
    "geminiImportTabSingle": "シングル",
    "geminiImportTabBulk": "バルク",
    "geminiImportTabUpload": "ファイルをアップロードする",
    "geminiImportTabPaste": "JSON を貼り付け",
    "geminiImportFileLabel": "oauth_creds.json を選択します",
    "geminiImportPasteLabel": "JSONコンテンツを貼り付けます",
    "geminiImportEmailLabel": "アカウントのメールアドレス",
    "geminiImportNameLabel": "接続名 (オプション)",
    "geminiImportOverwriteLabel": "アカウントがすでに存在する場合は既存の接続を置き換えます",
    "geminiImportSubmit": "インポート",
    "geminiImportSuccess": "Gemini 接続が正常にインポートされました",
    "geminiImportInvalidJson": "ファイルを JSON として解析できませんでした",
    "geminiImportInvalidShape": "ファイルは有効な oauth_creds.json ではありません",
    "geminiImportDuplicate": "アカウントはすでに存在します - 「既存のものを置き換える」を有効にして上書きします",
    "geminiImportIdentityUnverified": "id_token から ID を検証できませんでした。 「既存のものを置き換える」を有効にするか、電子メールを入力してください。",
    "geminiImportFailed": "Gemini 認証のインポートに失敗しました",
    "geminiImportBulkModeUpload": "ファイルをアップロードする",
    "geminiImportBulkModePaste": "JSON配列を貼り付けます",
    "geminiImportBulkModeZip": "ZIP をアップロードする",
    "geminiImportBulkUploadHint": "最大 50 個の oauth_creds.json ファイル (それぞれ 256 KB、合計 10 MB) をドロップまたはピックします。",
    "geminiImportBulkPasteHint": "オブジェクトの配列を貼り付けます: [{ json, name?, email? }, ...]",
    "geminiImportBulkZipHint": "oauth_creds.json エントリを含む ZIP。最大 50 エントリ、解凍された状態で 10MB。",
    "geminiImportBulkSubmit": "すべてインポート",
    "geminiImportBulkSuccess": "インポートされた {count} Gemini 接続",
    "geminiImportBulkFailed": "一部のエントリのインポートに失敗しました",
    "geminiImportBulkZipExtracting": "ZIP を解凍中…",
    "geminiImportBulkZipError": "ZIPの解凍に失敗しました",
    "codexAuthAppliedLocal": "Codex auth.json applied locally",
    "codexAuthApplyFailed": "Failed to apply Codex auth.json locally",
    "codexAuthExported": "Codex auth.json exported",
    "codexAuthExportFailed": "Failed to export Codex auth.json",
    "importCodexAuth": "インポート認証",
    "codexImportModalTitle": "コーデックス認証のインポート",
    "codexImportTabSingle": "シングル",
    "codexImportTabBulk": "バルク",
    "codexImportTabUpload": "ファイルをアップロードする",
    "codexImportTabPaste": "JSON を貼り付け",
    "codexImportFileLabel": "auth.jsonを選択します",
    "codexImportFileHint": "Codex または OmniRoute からエクスポートされた auth.json ファイルを選択します。",
    "codexImportPasteLabel": "JSONコンテンツを貼り付けます",
    "codexImportEmailLabel": "アカウントのメールアドレス",
    "codexImportEmailHint": "ファイルから自動検出されます。必要に応じて編集します。",
    "codexImportNameLabel": "接続名 (オプション)",
    "codexImportOverwriteLabel": "アカウントがすでに存在する場合は既存の接続を置き換えます",
    "codexImportSubmit": "インポート",
    "codexImportSuccess": "Codex 接続が正常にインポートされました",
    "codexImportInvalidJson": "ファイルを JSON として解析できませんでした",
    "codexImportInvalidShape": "ファイルは有効な Codex auth.json ではありません",
    "codexImportDuplicate": "アカウントはすでに存在します - 「既存のものを置き換える」を有効にして上書きします",
    "codexImportFailed": "Codex認証のインポートに失敗しました",
    "codexImportDetectedEmail": "検出されました: {email}",
    "codexImportNoEmailDetected": "ファイル内に電子メールが検出されませんでした",
    "codexImportBulkModeUpload": "ファイルをアップロードする",
    "codexImportBulkModePaste": "リストの貼り付け",
    "codexImportBulkModeZip": "ZIP アーカイブ",
    "codexImportBulkUploadHint": "複数の .json ファイルを選択するか、ドラッグ アンド ドロップします。",
    "codexImportBulkPasteHint": "JSON 配列 [ {...}, {...} ]、または単独の行に --- で区切られた複数の JSON",
    "codexImportBulkZipHint": "auth.json ファイルを含む .zip をアップロードします (最大 50 ファイル、10 MB)",
    "codexImportBulkSubmit": "{count} アカウントをインポートする",
    "codexImportBulkLimit": "インポートごとに最大 50 ファイル",
    "codexImportBulkSuccess": "{count} がインポートされました",
    "codexImportBulkFailed": "{count} が失敗しました",
    "codexImportBulkZipExtracting": "ZIP を解凍中…",
    "codexImportBulkZipError": "ZIPの解凍に失敗しました",
    "advancedSettings": "Advanced Settings",
    "chatPathLabel": "Chat Endpoint Path",
    "chatPathPlaceholder": "/chat/completions",
    "chatPathHint": "Custom chat path for providers with non-standard APIs (e.g. /v4/chat/completions)",
    "modelsPathLabel": "Models Endpoint Path",
    "modelsPathPlaceholder": "/models",
    "modelsPathHint": "Custom models path for validation (e.g. /v4/models)",
    "statusDeactivated": "Deactivated (Manual)",
    "statusBanned": "Banned / Sandbox Violation",
    "statusCreditsExhausted": "Insufficient Balance / Quota Exhausted",
    "showEmails": "Show all emails",
    "hideEmails": "Hide all emails",
    "a": "A",
    "accountConcurrencyCapHint": "Account Concurrency Cap Hint",
    "accountConcurrencyCapLabel": "Account Concurrency Cap Label",
    "accountIdHint": "Account Id Hint",
    "accountIdLabel": "Account Id Label",
    "accountIdPlaceholder": "Account Id Placeholder",
    "addAnotherApiKey": "Add another API key or paste multiple keys",
    "addCcCompatible": "Add Cc Compatible",
    "aggregatorsGateways": "Aggregators Gateways",
    "enterpriseCloud": "エンタープライズとクラウド",
    "apiFormatLabel": "Api Format Label",
    "apiKeyOptionalHint": "Api Key Optional Hint",
    "apiKeyOptionalLabel": "Api Key Optional Label",
    "apiRegionChina": "Api Region China",
    "apiRegionHint": "Api Region Hint",
    "apiRegionInternational": "Api Region International",
    "apiRegionLabel": "Api Region Label",
    "apikey": "Apikey",
    "audio": "Audio",
    "audioProvidersHeading": "Audio Providers Heading",
    "cloudAgentProviders": "クラウドエージェントプロバイダー",
    "audioShortLabel": "Audio Short Label",
    "azureOpenAiBaseUrlHint": "Azure Open Ai Base Url Hint",
    "bailianBaseUrlHint": "Bailian Base Url Hint",
    "claudeWebCookieHint": "Open claude.ai → DevTools → Application → Cookies → claude.ai, copy the 'sessionKey' value. Also need cf_clearance, __cf_bm, _cfuvid for Cloudflare.",
    "claudeWebCookiePlaceholder": "sessionKey=sk-ant-...",
    "blackboxWebCookieHint": "Blackbox Web Cookie Hint",
    "blackboxWebCookiePlaceholder": "Blackbox Web Cookie Placeholder",
    "t3ChatWebCookieHint": "t3.chat → DevTools → Application → Local Storage → https://t3.chat を開き、「convex-session-id」をコピーします。次に、[DevTools] → [Network] を開き、チャット リクエストから完全な Cookie ヘッダーをコピーします。両方の値を下のフィールドに貼り付けます。",
    "t3ChatWebCookiePlaceholder": "凸セッションID=abc123...",
    "blockClaudeExtraUsageDescription": "Block Claude Extra Usage Description",
    "blockClaudeExtraUsageLabel": "Block Claude Extra Usage Label",
    "bulkPasteAdded": "{count, plural, one {1 key added} other {# keys added}}",
    "bulkPasteDuplicatesIgnored": "{count, plural, one {1 duplicate skipped} other {# duplicates skipped}}",
    "bulkPasteHint": "Paste one API key per line. Empty lines are ignored and duplicate keys are skipped.",
    "ccCompatibleBaseUrlHint": "Cc Compatible Base Url Hint",
    "ccCompatibleBaseUrlPlaceholder": "Cc Compatible Base Url Placeholder",
    "ccCompatibleChatPathHint": "Cc Compatible Chat Path Hint",
    "ccCompatibleContext1mDescription": "Cc Compatible Context1M Description",
    "ccCompatibleContext1mLabel": "Cc Compatible Context1M Label",
    "ccCompatibleDetailsTitle": "Cc Compatible Details Title",
    "ccCompatibleLabel": "Cc Compatible Label",
    "ccCompatibleModelsDescription": "Cc Compatible Models Description",
    "ccCompatibleNameHint": "Cc Compatible Name Hint",
    "ccCompatibleNamePlaceholder": "Cc Compatible Name Placeholder",
    "ccCompatiblePrefixHint": "Cc Compatible Prefix Hint",
    "ccCompatiblePrefixPlaceholder": "Cc Compatible Prefix Placeholder",
    "ccCompatibleValidationHint": "Cc Compatible Validation Hint",
    "claudeExtraUsageShort": "Claude Extra Usage Short",
    "claudeExtraUsageToggleTitle": "Claude Extra Usage Toggle Title",
    "codex5hToggleTitle": "Codex5H Toggle Title",
    "codexFastServiceTierDescription": "Use the priority service tier for Codex requests when available.",
    "codexFastServiceTierLabel": "Codex fast service tier",
    "codexWeeklyToggleTitle": "Codex Weekly Toggle Title",
    "compatUpstreamHeaderNamePlaceholder": "Compat Upstream Header Name Placeholder",
    "compatUpstreamHeaderValuePlaceholder": "Compat Upstream Header Value Placeholder",
    "compatible": "Compatible",
    "configuredCount": "Configured Count",
    "consoleApiKeyOracleHint": "Console Api Key Oracle Hint",
    "consoleApiKeyOracleLabel": "Console Api Key Oracle Label",
    "consoleApiKeyOraclePlaceholder": "Console Api Key Oracle Placeholder",
    "cpaModeDisabledTitle": "Cpa Mode Disabled Title",
    "cpaModeEnabledTitle": "Cpa Mode Enabled Title",
    "customUserAgentHint": "Custom User Agent Hint",
    "customUserAgentLabel": "Custom User Agent Label",
    "databricksBaseUrlHint": "Databricks Base Url Hint",
    "defaultThinkingStrengthHint": "Used when a request does not specify reasoning effort.",
    "defaultThinkingStrengthLabel": "Default thinking strength",
    "deleteAllExtraApiKeys": "Delete all",
    "excludedModelsHint": "Excluded Models Hint",
    "excludedModelsLabel": "Excluded Models Label",
    "excludedModelsPlaceholder": "Excluded Models Placeholder",
    "expirationBannerExpired": "Expiration Banner Expired",
    "expirationBannerExpiredDesc": "Expiration Banner Expired Desc",
    "expirationBannerExpiringSoon": "Expiration Banner Expiring Soon",
    "expirationBannerExpiringSoonDesc": "Expiration Banner Expiring Soon Desc",
    "extraApiKeyMasked": "Key {index}: {prefix}••••{suffix}",
    "extraApiKeysHint": "Extra Api Keys Hint",
    "extraApiKeysLabel": "Extra Api Keys Label",
    "apiKeyHealthLabel": "API Key Health",
    "apiKeyStatusActive": "Active",
    "apiKeyStatusWarning": "Warning ({count} failures)",
    "apiKeyStatusInvalid": "Invalid",
    "primaryKey": "Primary Key",
    "apiKeyInvalidAlert": "{count} API key(s) marked as invalid due to authentication failures in connections: {connections}. They will be skipped in rotation. Click to review.",
    "apiKeyInvalidAlertTitle": "API Key Health Alert",
    "apiKeyWarningAlert": "{count} API key(s) in warning state due to elevated failure rate in connections: {connections}. Review to prevent rotation issues.",
    "apiKeyWarningAlertTitle": "API Key Warning",
    "googlePseInfo": "Google Pse Info",
    "geminiCliProjectIdHint": "Google Cloud プロジェクト ID。例外のあるアカウントの場合は必須です。 Gemini CLI で使用する GCP プロジェクト ID を入力します。",
    "geminiCliProjectIdLabel": "Google Cloud プロジェクト ID",
    "geminiCliProjectIdPlaceholder": "私のgcpプロジェクトID",
    "antigravityProjectIdHint": "Antigravity Cloud Code リクエストのオプションのオーバーライド。 Google OAuth 中に検出されたプロジェクトを使用する場合は、空白のままにします。",
    "antigravityClientProfileLabel": "__MISSING__:Client profile",
    "antigravityClientProfileHint": "__MISSING__:Choose which Antigravity client identity OmniRoute presents to the API.",
    "antigravityClientProfileIde": "__MISSING__:IDE",
    "antigravityClientProfileHarness": "__MISSING__:Harness / CLI",
    "codexFastTierActiveChip": "__MISSING__:Codex Fast tier is active",
    "tierFast": "__MISSING__:Fast",
    "antigravityProjectIdLabel": "Google Cloud プロジェクト ID",
    "antigravityProjectIdPlaceholder": "私のgcpプロジェクトID",
    "grokWebCookieHint": "Grok Web Cookie Hint",
    "grokWebCookiePlaceholder": "Grok Web Cookie Placeholder",
    "herokuBaseUrlHint": "Heroku Base Url Hint",
    "hideEmail": "Hide Email",
    "imageProviders": "Image Providers",
    "videoProviders": "ビデオ生成",
    "embeddingRerankProviders": "埋め込みと再ランク付け",
    "imagesShortLabel": "Images Short Label",
    "llmProviders": "Llm Providers",
    "localProviderApiKeyOptionalHint": "Local Provider Api Key Optional Hint",
    "localProviderBaseUrlHint": "Local Provider Base Url Hint",
    "localProviders": "Local Providers",
    "maxConcurrentWholeNumberError": "Max Concurrent Whole Number Error",
    "museSparkWebCookieHint": "Muse Spark Web Cookie Hint",
    "museSparkWebCookiePlaceholder": "Muse Spark Web Cookie Placeholder",
    "oauth": "Oauth",
    "openCliTools": "Open Cli Tools",
    "openSettings": "Open Settings",
    "openaiResponsesStoreDescription": "Allow compatible Responses API requests to preserve stored response state.",
    "openaiResponsesStoreLabel": "OpenAI Responses store",
    "perplexitySearchSharedKeyInfo": "Perplexity Search Shared Key Info",
    "perplexityWebCookieHint": "Perplexity Web Cookie Hint",
    "perplexityWebCookiePlaceholder": "Perplexity Web Cookie Placeholder",
    "personalAccessTokenLabel": "Personal Access Token Label",
    "qoderPatHint": "Qoder Pat Hint",
    "qoderPatPlaceholder": "Qoder Pat Placeholder",
    "refreshOauthTokenTitle": "Refresh Oauth Token Title",
    "regionHint": "Region Hint",
    "regionLabel": "Region Label",
    "removeThisKey": "Remove This Key",
    "routingTagsHint": "Routing Tags Hint",
    "routingTagsLabel": "Routing Tags Label",
    "routingTagsPlaceholder": "Routing Tags Placeholder",
    "search": "Search",
    "searchEngineIdHint": "Search Engine Id Hint",
    "searchEngineIdLabel": "Search Engine Id Label",
    "searchEngineIdRequired": "Search Engine Id Required",
    "searchProvider": "Search Provider",
    "searchProviderDesc": "Search Provider Desc",
    "searchProviders": "プロバイダーを検索...",
    "searchProvidersHeading": "Search Providers Heading",
    "searxngBaseUrlHint": "Searxng Base Url Hint",
    "searxngInfo": "Searxng Info",
    "sessionCookieLabel": "Session Cookie Label",
    "showEmail": "Show Email",
    "snowflakeBaseUrlHint": "Snowflake Base Url Hint",
    "supportedEndpointAudio": "Supported Endpoint Audio",
    "supportedEndpointChat": "Supported Endpoint Chat",
    "supportedEndpointEmbeddings": "Supported Endpoint Embeddings",
    "supportedEndpointImages": "Supported Endpoint Images",
    "supportedEndpointsLabel": "Supported Endpoints Label",
    "tagGroupHint": "Tag Group Hint",
    "tagGroupLabel": "Tag Group Label",
    "tagGroupPlaceholder": "Tag Group Placeholder",
    "testModel": "Test Model",
    "testingModel": "Testing Model",
    "toggleOffShort": "Toggle Off Short",
    "toggleOnShort": "Toggle On Short",
    "tokenExpiredBadge": "Token Expired Badge",
    "tokenExpiredTitle": "Token Expired Title",
    "tokenExpiresSoonTitle": "Token Expires Soon Title",
    "tokenShort": "Token Short",
    "totalKeysRotating": "{count, plural, one {1 key rotating} other {# keys rotating}}",
    "unhideModel": "Unhide Model",
    "upstreamProxyProviders": "Upstream Proxy Providers",
    "validationModelIdHint": "Validation Model Id Hint",
    "validationModelIdLabel": "Validation Model Id Label",
    "validationModelIdPlaceholder": "Validation Model Id Placeholder",
    "vertexServiceAccountPlaceholder": "Paste your Service Account JSON ({\"type\":\"service_account\",\"project_id\":\"…\",\"client_email\":\"…\",\"private_key\":\"…\"}) or an OAuth access_token",
    "webCookieProviders": "Web Cookie Providers",
    "weeklyShort": "Weekly Short",
    "xiaomiMimoBaseUrlHint": "Xiaomi Mimo Base Url Hint",
    "zedImportButton": "Zed Import Button",
    "zedImportFailed": "Zed Import Failed",
    "zedImportHint": "Zed Import Hint",
    "zedImportNetworkError": "Zed Import Network Error",
    "zedImportNone": "Zed Import None",
    "zedImportSuccess": "Zed Import Success",
    "zedImporting": "Zed Importing",
    "freeTierProviders": "無料利用枠プロバイダー",
    "freeTierLabel": "無料利用枠あり",
    "freeTierProvidersDesc": "無料枠のあるプロバイダー - API キーのサインアップが必要なプロバイダーもあれば、認証情報がまったく必要ないプロバイダーもあります。",
    "providerSummaryAll": "合計",
    "ideProviders": "IDEプロバイダー",
    "ideProvidersDesc": "AI サブスクリプションが組み込まれたエディター。プロバイダー ページを使用して、IDE キーチェーンから資格情報を直接インポートします。",
    "noIdeProviders": "現在のフィルターに一致する IDE プロバイダーはありません。",
    "providerDetailFastTierTooltip": "デフォルトで Codex Fast 層をすべての Codex 接続に適用します",
    "providerDetailFastDefaultLabel": "高速デフォルト",
    "providerDetailBrowserManualConnect": "ブラウザ/手動接続",
    "providerDetailAuthUrl": "認証URL",
    "providerDetailCallbackUrl": "コールバック URL",
    "providerDetailValidClaudeCredentialsFile": "有効なクロード認証情報ファイル",
    "providerDetailPathAutoDetectedAllOs": "パスは OS (Linux/Mac/Windows) ごとに自動検出されます。",
    "providerDetailMyClaudeAccountPlaceholder": "私のクロードアカウント",
    "providerDetailPathAutoDetected": "パスは OS (Linux/Mac) ごとに自動検出されます。",
    "webFetch": "__MISSING__:Web Fetch",
    "webFetchTooltip": "__MISSING__:Providers that extract content from web URLs (HTML → Markdown, scrape, screenshot)",
    "webFetchProvidersHeading": "__MISSING__:Web Fetch Providers",
    "compatibleProvidersDesc": "__MISSING__:OpenAI-compatible and Anthropic-compatible endpoints you host or configure. Point any OpenAI SDK to your own URL and route requests here.",
    "oauthProvidersDesc": "__MISSING__:Providers authenticated via OAuth — sign in once and OmniRoute handles token rotation automatically.",
    "webCookieProvidersDesc": "これらのプロバイダーは、API キーの代わりにブラウザー Web セッション、Cookie、または Web トークンを使用します。プロバイダーを開いて、必要なセッション資格情報を追加します。",
    "apiKeyProvidersDesc": "__MISSING__:Standard API key providers. Add your key once and OmniRoute routes, retries, and rate-limits on your behalf.",
    "noAuthProvidersDesc": "__MISSING__:Open endpoints that require no credentials — ready to use immediately without any sign-up.",
    "upstreamProxyProvidersDesc": "__MISSING__:Route outbound traffic through an upstream proxy before it reaches the provider. Useful for corporate networks or traffic inspection.",
    "webFetchProvidersDesc": "__MISSING__:Providers that fetch and extract content from web URLs. Use them to ground prompts with live web data.",
    "aggregatorsGatewaysDesc": "__MISSING__:Multi-provider aggregators and AI gateways that expose a single unified API across dozens of underlying models.",
    "enterpriseCloudDesc": "__MISSING__:Enterprise-tier and cloud-hosted models with enhanced SLAs, compliance certifications, and dedicated capacity.",
    "cloudAgentProvidersDesc": "__MISSING__:Autonomous cloud agents that execute long-running tasks with plan approval and live status tracking.",
    "localProvidersDesc": "__MISSING__:Self-hosted models running on your own hardware. No data leaves your infrastructure.",
    "searchProvidersDesc": "__MISSING__:Web and document search providers. Attach them to LLM calls for Retrieval-Augmented Generation.",
    "audioProvidersDesc": "__MISSING__:Text-to-speech and speech-to-text providers for voice I/O and audio transcription pipelines.",
    "embeddingRerankProvidersDesc": "__MISSING__:Vector embedding and reranking providers for semantic search, RAG pipelines, and similarity scoring.",
    "imageProvidersDesc": "__MISSING__:Image generation and vision providers — create images from text or analyse existing ones.",
    "videoProvidersDesc": "__MISSING__:Video generation providers. Create short video clips from text prompts or images.",
    "onboardingWizard": "プロバイダーのオンボーディング ウィザード",
    "onboardingWizardShort": "オンボーディングウィザード",
    "onboardingWizardDescription": "API キー、カスタム互換、OAuth プロバイダーを検証、永続性、即時接続テストで接続します。",
    "onboardingStepType": "種類",
    "onboardingStepProvider": "プロバイダー",
    "onboardingStepCredentials": "資格情報",
    "onboardingStepResult": "結果",
    "onboardingTypeApiKeyTitle": "APIキープロバイダー",
    "onboardingTypeApiKeyText": "OpenAI、Anthropic、Gemini、Groq、Azure などの組み込みプロバイダーを使用します。",
    "onboardingTypeCustomTitle": "カスタム互換プロバイダー",
    "onboardingTypeCustomText": "OpenAI、Anthropic、または Claude Code と互換性のあるエンドポイントを作成し、そのキーを追加します。",
    "onboardingTypeOAuthTitle": "OAuthプロバイダー",
    "onboardingTypeOAuthText": "既存の OAuth、デバイス コード、またはコーディング プロバイダーのローカル インポート フローを再利用します。",
    "onboardingChooseOAuthProvider": "OAuthプロバイダーを選択してください",
    "onboardingChooseApiKeyProvider": "API キープロバイダーの選択",
    "onboardingChooseProviderDescription": "プロバイダーを選択すると、ウィザードの指示に従って資格情報とテストが行われます。",
    "onboardingChangeType": "種類の変更",
    "onboardingChangeProvider": "プロバイダーを変更する",
    "onboardingSearchProviders": "プロバイダーを検索…",
    "onboardingApiKeyOptional": "APIキーはオプション",
    "onboardingProviderConnected": "プロバイダーが接続されました",
    "onboardingProviderSavedWithWarnings": "プロバイダーは警告付きで保存されました",
    "onboardingProviderFinished": "プロバイダーのオンボーディングが完了しました",
    "onboardingYourProviderConnection": "プロバイダー接続",
    "onboardingTestPassed": "テストに合格しました",
    "onboardingTestFailed": "テストが失敗しました",
    "onboardingOpenProviderDetails": "プロバイダーの詳細を開く",
    "onboardingTryInPlayground": "遊び場で試してみる",
    "onboardingDefaultConnectionName": "{provider} プライマリ",
    "onboardingTestingConnection": "プロバイダー接続をテストしています…",
    "onboardingValidatingCredentials": "資格情報を検証しています…",
    "onboardingSavingConnection": "プロバイダー接続を保存中…",
    "onboardingProviderFailed": "プロバイダーのオンボーディングに失敗しました",
    "onboardingCreatingCompatibleProvider": "互換性のあるプロバイダーを作成しています…",
    "onboardingSavingCompatibleConnection": "互換性のあるプロバイダー接続を保存しています…",
    "onboardingCustomProviderFallbackName": "カスタムプロバイダー",
    "onboardingCustomProviderFailed": "カスタムプロバイダーのオンボーディングに失敗しました",
    "onboardingLoadingOAuthConnection": "OAuth 接続を読み込み中…",
    "onboardingOAuthNoConnectionFound": "OAuth は終了しましたが、プロバイダー接続が見つかりませんでした。",
    "onboardingOAuthFailed": "OAuth オンボーディングに失敗しました",
    "onboardingAddProvider": "{provider} を追加",
    "onboardingConnectionName": "接続名",
    "onboardingApiKeyOptionalLabel": "APIキー（オプション）",
    "onboardingBaseUrlOverride": "ベース URL オーバーライド",
    "onboardingBaseUrlOverrideHint": "オプション。 ProviderSpecificData.baseUrl として保存されます。",
    "onboardingRegion": "地域",
    "onboardingSearchCx": "CX / エンジン ID を検索",
    "onboardingProviderSpecificIdPlaceholder": "オプションのプロバイダー固有の ID",
    "onboardingCustomUserAgent": "カスタム ユーザー エージェント",
    "onboardingWorking": "働いています…",
    "onboardingValidateSaveTest": "検証、保存、テスト",
    "onboardingBack": "戻る",
    "onboardingCreateCustomCompatibleProvider": "互換性のあるカスタムプロバイダーを作成する",
    "onboardingCreateCustomCompatibleDescription": "ウィザードは最初にプロバイダー ノードを作成し、次にその API キー接続を保存してテストします。",
    "onboardingProtocol": "プロトコル",
    "onboardingOpenAiCompatible": "OpenAI対応",
    "onboardingAnthropicCompatible": "人間互換性",
    "onboardingClaudeCodeCompatible": "クロードコード対応",
    "onboardingProviderPrefix": "プロバイダプレフィックス",
    "onboardingProviderPrefixHint": "管理対象プロバイダー ID を生成するために使用されます。",
    "onboardingChatPath": "チャットパス",
    "onboardingModelsPath": "モデルパス",
    "onboardingCreateSaveTest": "作成、保存、テスト",
    "onboardingConnectProvider": "{provider} を接続します",
    "onboardingOAuthFlowDescription": "OmniRoute は、このプロバイダーの既存の OAuth フローを開きます。ログイン後、ウィザードは保存された接続を再ロードし、プロバイダー ページと同じ接続テストを実行します。",
    "onboardingStartOAuthFlow": "OAuth フローを開始する",
    "passthroughModelsDescription": "{provider} は、プロバイダーネイティブのモデル ID を受け入れます。 /models からインポートするか、ルーティング用のカスタム ID を追加します。",
    "bedrockModelsDescription": "Amazon Bedrock モデルは、AWS リージョンによって範囲が定められています。 /models からインポートするか、選択したリージョンで有効になっている Bedrock モデル ID を追加します。",
    "bedrockModelPlaceholder": "anthropic.クロード・ソネット-4-6",
    "addProviderSessionCookieTitle": "{provider} セッション Cookie を追加します",
    "addProviderWebTokenTitle": "{provider} Web トークンを追加",
    "addProviderConnectionTitle": "{provider} 接続を追加",
    "webTokenCredentialLabel": "Webセッショントークン",
    "webNoAuthCredentialLabel": "資格情報は必要ありません",
    "webCookieCredentialHint": "必要な Cookie: {credential}。サインインしている自分の {provider} Web セッションから Cookie ヘッダー値を貼り付けます。 Cookie: プレフィックスを含めないでください。",
    "webTokenCredentialHint": "資格情報: {credential}。サインインしている独自の {provider} Web セッション、またはプロバイダーがサポートしている場合は DevTools HAR エクスポートからトークン値を貼り付けます。",
    "webCookieEditHint": "現在のセッション Cookie を保持するには、空白のままにします。必要な Cookie: {credential}。",
    "webTokenEditHint": "現在の Web セッション トークンを保持するには、空白のままにします。資格情報: {credential}。",
    "webSessionGuideTitle": "セッション認証情報を取得する方法",
    "webSessionGuideIntro": "{provider} は、API キーの代わりにブラウザーの Web セッションを使用します。",
    "webCookieRequiredCredential": "必要なクッキー: {credential}",
    "webTokenRequiredCredential": "必要なトークン: {credential}",
    "webSessionGuideStep1": "ブラウザで {provider} にサインインします。",
    "webSessionGuideStep2": "ブラウザー開発者ツールを開き、Web アプリによって行われたリクエストを検査します。",
    "webSessionGuideStep3": "プロバイダー独自のドメインから必要な資格情報をコピーします。 Cookie の場合は、Cookie ヘッダー値のみをコピーし、Cookie: を省略します。",
    "webSessionGuideStep4": "ここに貼り付けて接続を確認してください。動作しなくなった場合は、再度サインインして新しい値に置き換えます。",
    "webSessionSecurityHint": "これをパスワードのように扱います。有効期限が切れるか取り消されるまで、サインインしている Web アカウントにアクセスできます。",
    "webNoAuthGuideTitle": "資格情報は必要ありません",
    "webNoAuthGuideBody": "{provider} には API キーや Cookie は必要ありません。無料の Web エンドポイントを使用するには、接続を保存します。",
    "webSessionCredentialValidationFailed": "セッション資格情報の検証に失敗しました。再度サインインし、新しい資格情報をコピーして、再試行してください。",
    "checkCookie": "クッキーをチェックする",
    "checkWebToken": "トークンをチェックする"
  },
  "settings": {
    "title": "設定",
    "general": "一般",
    "security": "セキュリティ",
    "appearance": "外観",
    "routing": "ルーティング",
    "cache": "キャッシュ",
    "resilience": "回復力",
    "routingSettingsIntro": "リクエストがどのようにルーティング、変換され、AI プロバイダーに送信されるかを制御します。",
    "routingOpDropParagraphContainsLabel": "__MISSING__:Drop paragraph (contains)",
    "routingOpDropParagraphStartsWithLabel": "__MISSING__:Drop paragraph (starts with)",
    "routingOpReplaceTextLabel": "__MISSING__:Replace text",
    "routingOpReplaceRegexLabel": "__MISSING__:Replace regex",
    "routingOpDropBlockContainsLabel": "__MISSING__:Drop block (contains)",
    "routingOpPrependSystemBlockLabel": "__MISSING__:Prepend system block",
    "routingOpAppendSystemBlockLabel": "__MISSING__:Append system block",
    "routingOpInjectBillingHeaderLabel": "__MISSING__:Inject billing header",
    "routingOpObfuscateWordsLabel": "__MISSING__:Obfuscate words (ZWJ)",
    "routingOpDropParagraphContainsDesc": "__MISSING__:Removes any paragraph (text block split on blank lines) inside the system prompt whose text contains ANY of the listed substrings. Use to strip third-party client fingerprints like 'github.com/anomalyco/opencode' or 'docs.openwebui.com' that Anthropic's classifier flags.",
    "routingOpDropParagraphStartsWithDesc": "__MISSING__:Removes any paragraph that STARTS WITH one of the listed prefixes. Use for identity lines like 'You are OpenCode' or 'You are Open WebUI' that announce the calling client.",
    "routingOpReplaceTextDesc": "__MISSING__:Replaces a literal substring with another literal substring. Use for known trigger phrases — e.g. rewrite 'Here is some useful information about the environment you are running in:' to 'Environment context you are running in:' (an empirically-validated trigger phrase).",
    "routingOpReplaceRegexDesc": "__MISSING__:Replaces text matching a regular expression. Use when you need patterns (character classes, optional whitespace, anchors) instead of literal substrings. A malformed pattern is caught at runtime when the op runs.",
    "routingOpDropBlockContainsDesc": "__MISSING__:Removes ENTIRE system blocks (not just paragraphs) whose text contains any of the listed substrings. Use when a whole block is fingerprint-bearing and you want it gone — e.g. an injected MCP-server description.",
    "routingOpPrependSystemBlockDesc": "__MISSING__:Inserts a new text block at the FRONT of the system array. Use to add the SDK identity 'You are a Claude agent, built on Anthropic's Claude Agent SDK.' that Anthropic's classifier expects.",
    "routingOpAppendSystemBlockDesc": "__MISSING__:Inserts a new text block at the END of the system array. Use for cosmetic additions that don't need to be at position [0].",
    "routingOpInjectBillingHeaderDesc": "__MISSING__:Prepends the special 'x-anthropic-billing-header: cc_version=...; cc_entrypoint=...; cch=...;' text block that Anthropic's classifier validates. Required for CC bridge relay endpoints; for the native claude provider OmniRoute already injects its own billing line so this op is usually redundant there.",
    "routingOpObfuscateWordsDesc": "__MISSING__:Inserts a Zero-Width-Joiner character after the first letter of each listed word, so 'opencode' becomes 'o‍pencode'. Reads identical to humans but bypasses classifier word matches. Targets system blocks, user/assistant messages, and tool descriptions.",
    "routingNeedlesHint": "__MISSING__:List of substrings. A paragraph matches if it contains ANY one of them. Add one per line via 'Add entry'.",
    "routingPrefixesHint": "__MISSING__:List of strings. A paragraph matches if it starts with any one of them (leading whitespace is trimmed before matching).",
    "routingCaseSensitiveHint": "__MISSING__:When ON, 'OpenCode' and 'opencode' are different strings. When OFF (default), the comparison ignores case.",
    "routingMatchLiteralHint": "__MISSING__:Exact literal substring to find. No regex syntax — special chars like . * ? are treated as themselves.",
    "routingReplacementTextHint": "__MISSING__:Replacement string. Leave blank to delete the match. The output preserves surrounding text.",
    "routingAllOccurrencesHint": "__MISSING__:When ON (default), every instance is replaced. When OFF, only the first match is replaced.",
    "routingPatternHint": "__MISSING__:JavaScript regex source. Don't wrap in slashes — just 'foo(.*)bar'. Server rejects patterns that fail to compile.",
    "routingRegexFlagsHint": "__MISSING__:JavaScript regex flags (g = all matches, i = case-insensitive, s = dot matches newline, m = multiline). Default 'g'.",
    "routingBlockTextHint": "__MISSING__:Full text of the new system block. Use a literal string; the system block stores text only.",
    "routingIdempotencyKeyHint": "__MISSING__:Optional. If set, the op skips when a block whose text starts with this key is already present. Prevents double-prepend on retries.",
    "routingBillingEntrypointHint": "__MISSING__:Value injected as 'cc_entrypoint='. Anthropic accepts 'sdk-cli' (Agent SDK), 'cli' (Claude Code CLI), or other documented values.",
    "routingBillingVersionFormatHint": "__MISSING__:How the 3-char build hash after cc_version= is computed. 'ex-machina' = sha256 of CCH_SALT+chars-from-first-user-msg+version (per-message). 'omniroute-daystamp' = sha256 of YYYY-MM-DD+version (stable per-day).",
    "routingBillingCchAlgoHint": "__MISSING__:How the 5-char cch= token is computed. 'sha256-first-user' = sha256 of first user message text. 'xxhash64-body' = body-level signing fills it later. 'static-zero' = literal '00000' placeholder.",
    "routingObfuscateWordsHint": "__MISSING__:Lowercase words to obfuscate. ZWJ insertion is applied case-insensitively, so 'opencode' also matches 'OpenCode' and 'OPENCODE'.",
    "routingObfuscateTargetsHint": "__MISSING__:Which body regions to scan for the words: system blocks, user/assistant messages, and/or tool descriptions.",
    "routingObfuscateTargetsLabel": "__MISSING__:Targets",
    "routingSummarizeDropParagraphContains": "__MISSING__:drop paragraphs containing: {items}",
    "routingSummarizeDropParagraphStartsWith": "__MISSING__:drop paragraphs starting with: {items}",
    "routingSummarizeReplaceText": "__MISSING__:replace \"{match}\" → \"{replacement}\"",
    "routingSummarizeReplaceRegex": "__MISSING__:regex /{pattern}/{flags} → \"{replacement}\"",
    "routingSummarizeDropBlockContains": "__MISSING__:drop blocks containing: {items}",
    "routingSummarizePrependSystemBlock": "__MISSING__:prepend block: \"{text}\"",
    "routingSummarizeAppendSystemBlock": "__MISSING__:append block: \"{text}\"",
    "routingSummarizeInjectBillingHeader": "__MISSING__:inject billing header (entrypoint={entrypoint}, version={versionFormat}, cch={cchAlgo})",
    "routingSummarizeObfuscateWords": "__MISSING__:obfuscate {count} word(s) via ZWJ in {targets}",
    "routingDefaultAutoVariantLKGP": "__MISSING__:Last Known Good Provider",
    "routingDefaultAutoVariantLKGPDesc": "__MISSING__:Last Known Good Provider",
    "routingDefaultAutoVariantCoding": "__MISSING__:Quality-first for code",
    "routingDefaultAutoVariantCodingDesc": "__MISSING__:Quality-first for code",
    "routingDefaultAutoVariantFast": "__MISSING__:Low-latency routing",
    "routingDefaultAutoVariantFastDesc": "__MISSING__:Low-latency routing",
    "routingDefaultAutoVariantCheap": "__MISSING__:Cost-optimized",
    "routingDefaultAutoVariantCheapDesc": "__MISSING__:Cost-optimized",
    "routingDefaultAutoVariantOffline": "__MISSING__:High availability",
    "routingDefaultAutoVariantOfflineDesc": "__MISSING__:High availability",
    "routingDefaultAutoVariantSmart": "__MISSING__:Best discovery (10% explore)",
    "routingDefaultAutoVariantSmartDesc": "__MISSING__:Best discovery (10% explore)",
    "routingOpSummaryCount": "__MISSING__:{count, plural, =0 {no ops} one {# op} other {# ops}}",
    "routingOpEnabled": "__MISSING__:enabled",
    "routingOpDisabled": "__MISSING__:disabled",
    "routingOpStatusSeparator": "__MISSING__: · ",
    "resilienceSettingsIntro": "プロバイダーに障害が発生した場合の自動再試行、クールダウン、およびフォールバック。",
    "aiSettingsIntro": "思考バジェット、モデルの動作、圧縮に関する AI 固有の設定。",
    "systemPrompt": "システムプロンプト",
    "thinkingBudget": "予算を考える",
    "proxy": "プロキシ",
    "httpProxy": "HTTP Proxy",
    "1proxy": "1proxy",
    "proxySubTabsAria": "Proxy sections",
    "requestBodyLimitTitle": "Request Body Limit",
    "requestBodyLimitDescription": "Maximum API payload size accepted before a request body is parsed. Dedicated upload routes keep at least their built-in 100 MB limit.",
    "requestBodyLimitInputLabel": "Request body limit in MB",
    "requestBodyLimitEmptyError": "Enter a limit in MB",
    "requestBodyLimitWholeNumberError": "Use a whole number",
    "requestBodyLimitMinimumError": "Minimum is {min} MB",
    "requestBodyLimitMaximumError": "Maximum is {max} MB",
    "requestBodyLimitLoadFailed": "Failed to load request limit settings",
    "requestBodyLimitSaveSuccess": "Request body limit saved",
    "requestBodyLimitSaveFailed": "Failed to save request body limit",
    "requestBodyLimitSaving": "Saving...",
    "requestBodyLimitSave": "Save",
    "requestBodyLimitCurrent": "Current: {value}",
    "mitmProxy": "MITM プロキシ",
    "pricing": "価格設定",
    "storage": "ストレージ",
    "policies": "ポリシー",
    "ipFilter": "IPフィルター",
    "comboDefaults": "コンボのデフォルト",
    "fallbackChains": "フォールバックチェーン",
    "changePassword": "パスワードの変更",
    "enablePassword": "パスワードを有効にする",
    "darkMode": "ダークモード",
    "lightMode": "ライトモード",
    "memoryTitle": "Memory",
    "memoryDesc": "Persistent cross-session conversational memory",
    "memoryEnabled": "Enable Memory",
    "memoryEnabledDesc": "When enabled, OmniRoute will inject relevant past context.",
    "maxTokens": "Max Tokens",
    "retentionDays": "Retention",
    "recent": "Recent",
    "recentDesc": "Chronological window",
    "semantic": "Semantic",
    "semanticDesc": "Vector search",
    "hybrid": "Hybrid",
    "hybridDesc": "Recent + Semantic",
    "skillsTitle": "Skills",
    "skillsDesc": "Tools for models",
    "skillsEnabled": "Enable Skills",
    "skillsEnabledDesc": "Allows agents to trigger functions.",
    "skillsComingSoon": "Skills marketplace coming soon.",
    "memorySkillsTitle": "Memory & Skills",
    "memorySkillsDesc": "Persistent context & capabilities",
    "modelsDevTitle": "Model Database",
    "modelsDevDesc": "Auto-sync pricing, capabilities & specs from models.dev",
    "modelsDevEnabled": "Enable models.dev Sync",
    "modelsDevEnabledDesc": "Fetch model pricing, capabilities, and specs from the open-source models.dev database",
    "modelsDevInterval": "Sync Interval",
    "syncNow": "Sync Now",
    "syncing": "Syncing...",
    "lastSync": "Last sync",
    "never": "Never",
    "justNow": "たった今",
    "modelsDevStats": "Sync Statistics",
    "modelsDevStatsDesc": "Current models.dev data coverage",
    "providers": "プロバイダー",
    "modelsWithPricing": "Models with Pricing",
    "capabilities": "Capabilities",
    "lastSyncCount": "Last Sync Count",
    "lastSyncFull": "Last full sync",
    "modelsDevInfo": "How It Works",
    "modelsDevInfoDesc": "models.dev is an open-source database of AI model specifications maintained by the SST/OpenCode team. It provides pricing, capabilities, context limits, and modalities for 4,000+ models across 100+ providers.",
    "modelsDevInfoResolution": "Pricing resolution order (highest priority first):",
    "modelsDevInfoOrder": "User Override → models.dev → LiteLLM → Hardcoded Default",
    "systemTheme": "システムテーマ",
    "debugToggle": "Enable Debug Mode",
    "sidebarVisibilityToggle": "Show Sidebar Items",
    "enableCache": "キャッシュを有効にする",
    "cacheTTL": "キャッシュTTL",
    "maxCacheSize": "最大キャッシュサイズ",
    "clearCache": "キャッシュのクリア",
    "cacheCleared": "Cache cleared successfully",
    "clearCacheFailed": "Failed to clear cache",
    "cacheHits": "キャッシュヒット",
    "cacheMisses": "キャッシュミス",
    "hitRate": "命中率",
    "cacheEntries": "キャッシュエントリ",
    "cacheSettings": "Cache Settings",
    "semanticCache": "Semantic Cache",
    "maxEntries": "Max Entries",
    "ttlMinutes": "TTL (minutes)",
    "promptCache": "プロンプトキャッシュ",
    "strategy": "Strategy",
    "preserveClientCache": "Preserve Client Cache",
    "enabled": "Enabled",
    "loading": "Loading...",
    "saving": "保存中...",
    "save": "Save",
    "circuitBreaker": "サーキットブレーカー",
    "retryPolicy": "再試行ポリシー",
    "maxRetries": "最大再試行回数",
    "retryDelay": "再試行遅延",
    "timeoutMs": "タイムアウト (ミリ秒)",
    "enableSystemPrompt": "システムプロンプトを有効にする",
    "systemPromptText": "システムプロンプトテキスト",
    "autoDisableBannedAccounts": "Auto-Disable Banned Accounts",
    "autoDisableDescription": "Permanently mark provider connections as deactivated if they return specific terminal ban signals (e.g. HTTP 403 'verify your account'). This removes them from the combo rotation.",
    "autoDisableThreshold": "Ban Threshold",
    "autoDisableThresholdDesc": "Consecutive ban signals required before permanent deactivation.",
    "resilienceStructureTitle": "Resilience Structure",
    "resilienceStructureDesc": "このページでは動作を設定するだけです。ライブ ブレーカーの状態は [ヘルス] ページに表示されます。コンボ固有のリトライとラウンドロビン スロット制御はコンボ設定に残ります。",
    "enableThinking": "思考を可能にする",
    "maxThinkingTokens": "最大思考トークン",
    "enableProxy": "プロキシを有効にする",
    "proxyUrl": "プロキシ URL",
    "pricingRates": "価格設定レートの形式",
    "currentPricing": "現在の価格の概要",
    "loadingPricing": "価格データをロードしています...",
    "noPricing": "利用可能な価格データはありません",
    "input": "入力",
    "output": "出力",
    "cached": "キャッシュされた",
    "reasoning": "推論",
    "cacheCreation": "キャッシュの作成",
    "customPricing": "カスタム価格設定",
    "databaseSize": "データベースのサイズ",
    "backupDb": "バックアップデータベース",
    "restoreDb": "データベースの復元",
    "exportData": "データのエクスポート",
    "importData": "データのインポート",
    "clearData": "すべてのデータをクリア",
    "clearDataConfirm": "これにより、すべてのデータが完全に削除されます。本気ですか？",
    "enableRequestLogs": "リクエストログを有効にする",
    "logRetention": "ログの保存期間",
    "ipWhitelist": "IPホワイトリスト",
    "ipBlacklist": "IPブラックリスト",
    "addIP": "IPの追加",
    "savedSuccessfully": "設定が正常に保存されました",
    "ai": "AI",
    "advanced": "上級者向け",
    "localMode": "ローカル モード — すべてのデータはマシンに保存されています",
    "settingsSectionsAria": "設定セクション",
    "switchThemes": "明るいテーマと暗いテーマを切り替える",
    "themeSelectionAria": "テーマの選択",
    "themeLight": "ライト",
    "themeDark": "暗い",
    "themeSystem": "システム",
    "endpointTunnelVisibility": "エンドポイントトンネルの可視性",
    "endpointTunnelVisibilityDesc": "トンネルの状態を変更せずに、エンドポイント ページからトンネル コントロールを非表示にします。",
    "showCloudflareTunnel": "Cloudflare クイック トンネル",
    "showCloudflareTunnelDesc": "[エンドポイント]ページにCloudflareクイックトンネルコントロールを表示します。",
    "showTailscaleFunnel": "テールスケールファネル",
    "showTailscaleFunnelDesc": "[エンドポイント] ページに Tailscale Funnel コントロールを表示します。",
    "showNgrokTunnel": "ングロク トンネル",
    "showNgrokTunnelDesc": "[エンドポイント] ページに ngrok トンネル コントロールを表示します。",
    "sidebarVisibility": "Hide sidebar items",
    "sidebarVisibilityDesc": "Hide any sidebar navigation entry to reduce visual clutter.",
    "sidebarVisibilityHint": "Any sidebar section is hidden automatically when a...",
    "hideHealthLogs": "ヘルスチェックログを非表示にする",
    "hideHealthLogsDesc": "ON の場合、サーバー コンソールで [HealthCheck] メッセージを抑制します",
    "themeAccent": "テーマカラー",
    "themeAccentDesc": "プリセットカラーを選ぶか、1色で独自のテーマを作成します",
    "themeCreate": "テーマを作成",
    "themeCustom": "カスタムテーマ",
    "themeBlue": "青",
    "themeRed": "赤",
    "themeGreen": "緑",
    "themeViolet": "紫",
    "themeOrange": "オレンジ",
    "themeCyan": "シアン",
    "whitelabeling": "Branding",
    "whitelabelingDesc": "Customize the application name and logo",
    "appName": "Application Name",
    "appNameDesc": "Display name shown in sidebar and browser tab",
    "customLogo": "Custom Logo URL",
    "customLogoDesc": "URL to your custom logo image",
    "uploadLogo": "Upload Logo",
    "resetLogo": "Reset to Default",
    "logoPreview": "Preview",
    "customFavicon": "Browser Favicon",
    "customFaviconDesc": "URL to your custom favicon (shown in browser tab)",
    "uploadFavicon": "Upload Favicon",
    "resetFavicon": "Reset Favicon",
    "faviconPreview": "Favicon Preview",
    "flushCache": "キャッシュのフラッシュ",
    "flushing": "フラッシング…",
    "size": "サイズ",
    "hits": "ヒット曲",
    "evictions": "立ち退き",
    "loadingCacheStats": "キャッシュ統計を読み込み中…",
    "globalProxy": "グローバルプロキシ",
    "globalProxyDesc": "すべての API 呼び出しに対してグローバル送信プロキシを構成します。個々のプロバイダー、コンボ、およびキーはこれをオーバーライドできます。",
    "noGlobalProxy": "グローバル プロキシが構成されていません",
    "globalLabel": "グローバル",
    "configure": "設定する",
    "globalSystemPrompt": "グローバル システム プロンプト",
    "saved": "保存されました",
    "beforePromptLabel": "__MISSING__:Before Prompt",
    "beforePromptDesc": "__MISSING__:Injected before agent/provider system instructions",
    "beforePromptPlaceholder": "__MISSING__:Instructions inserted before agent/provider prompt...",
    "afterPromptLabel": "__MISSING__:After Prompt",
    "afterPromptDesc": "__MISSING__:Injected after agent/provider system instructions",
    "afterPromptPlaceholder": "__MISSING__:Instructions inserted after agent/provider prompt...",
    "chars": "{count} 文字",
    "thinkingBudgetTitle": "予算を考える",
    "thinkingBudgetDesc": "すべてのリクエストにわたる AI 推論トークンの使用を制御する",
    "passthrough": "パススルー",
    "passthroughDesc": "変更なし – クライアントが思考予算をコントロール",
    "auto": "自動",
    "autoDesc": "すべての思考構成を取り除きます - プロバイダーに決定させます",
    "custom": "カスタム",
    "customDesc": "すべてのリクエストに対して固定のトークン予算を設定する",
    "adaptive": "アダプティブ",
    "adaptiveDesc": "リクエストの複雑さに基づいて予算を調整する",
    "effortNone": "なし（トークン0個）",
    "effortLow": "低 (1,000 トークン)",
    "effortMedium": "中 (10,000 トークン)",
    "effortHigh": "高 (128,000 トークン)",
    "tokenBudget": "トークンの予算",
    "tokens": "トークン",
    "baseEffortLevel": "基本努力レベル",
    "adaptiveHint": "アダプティブ モードは、メッセージ数、ツールの使用状況、プロンプトの長さに基づいて、この基本レベルからスケールします。",
    "requireLogin": "ログインが必要",
    "requireLoginDesc": "ON の場合、ダッシュボードにはパスワードが必要です。 OFFの場合、ログインせずにアクセスします。",
    "currentPassword": "現在のパスワード",
    "enterCurrentPassword": "現在のパスワードを入力してください",
    "newPassword": "新しいパスワード",
    "enterNewPassword": "新しいパスワードを入力してください",
    "confirmPassword": "新しいパスワードを確認する",
    "confirmPasswordPlaceholder": "新しいパスワードを確認します",
    "passwordsNoMatch": "パスワードが一致しません",
    "passwordUpdated": "パスワードが正常に更新されました",
    "failedUpdatePassword": "パスワードの更新に失敗しました",
    "errorOccurred": "エラーが発生しました",
    "updatePassword": "パスワードを更新する",
    "setPassword": "パスワードを設定する",
    "apiEndpointProtection": "APIエンドポイント保護",
    "requireAuthModels": "/models の API キーが必要です",
    "requireAuthModelsDesc": "ON の場合、/v1/models エンドポイントは、認証されていないリクエストに対して 404 を返します。権限のないユーザーによるモデルの発見を防ぎます。",
    "authModelHeading": "アクティブな認可モデル",
    "authModelClient": "クライアント API エンドポイント (/v1/*、/chat/*、/responses/*、/codex/*、/messages/*) にはベアラー API キーが必要です。",
    "authModelManagement": "管理エンドポイント (/dashboard、/api/*) には、ダッシュボード セッションまたは管理資格情報が必要です。",
    "authModelPublic": "ログイン、ヘルス、およびブートストラップ ルートのみがパブリックです。",
    "bruteForceProtection": "ログインブルートフォース保護",
    "bruteForceProtectionDesc": "同じ IP からの失敗が繰り返された後、/api/auth/login をスロットルしてロックします。",
    "corsAllowedOrigins": "CORS で許可されるオリジン",
    "corsAllowedOriginsDesc": "このサーバーを呼び出すことが許可されているブラウザオリジンのカンマ区切りのリスト。空のリスト = ブラウザー CORS アクセスなし (サーバー間は引き続き機能します)。 CORS_ALLOW_ALL=true 環境変数は開発の場合にのみ使用してください。",
    "blockedProviders": "ブロックされたプロバイダー",
    "blockedProvidersDesc": "/v1/models 応答から特定のプロバイダーを非表示にします。ブロックされたプロバイダーはモデルのリストに表示されません。",
    "providersBlocked": "{count} プロバイダーが /models からブロックされました",
    "blockProviderTitle": "{provider} をブロックする",
    "unblockProviderTitle": "{provider} のブロックを解除する",
    "cliFingerprint": "CLI Fingerprint Matching",
    "cliFingerprintDesc": "Match native CLI binary signatures when proxying requests. Reorders headers and body fields to look identical to the official CLI tools. Your proxy IP is preserved.",
    "cliFingerprintEnabled": "{count} provider(s) with CLI fingerprint active",
    "enableFingerprintTitle": "Enable fingerprint for {provider}",
    "disableFingerprintTitle": "Disable fingerprint for {provider}",
    "systemTransforms": "システムブロックの変換パイプライン",
    "systemTransformsDesc": "転送前にリクエスト本文に適用される、プロバイダーごとに順序付けされた変換のパイプライン。あらゆるプロバイダー ID をサポートします。",
    "systemTransformsAddProvider": "プロバイダーの追加",
    "systemTransformsAddProviderPlaceholder": "プロバイダーを選択してください…",
    "systemTransformsAddProviderAllConfigured": "すべてのプロバイダーはすでに構成されています",
    "systemTransformsRemoveProvider": "プロバイダーを削除する",
    "systemTransformsNoProviders": "プロバイダーが構成されていません。開始するにはプロバイダーを追加してください。",
    "systemTransformsOpMoveUp": "上に移動",
    "systemTransformsOpMoveDown": "下に移動",
    "systemTransformsOpDelete": "オペレーションを削除",
    "routingStrategy": "ルーティング戦略",
    "routingAdvancedGuideTitle": "高度なルーティング ガイダンス",
    "routingAdvancedGuideHint1": "予測可能な優先度を得るには Fill First を使用し、公平性を得るにはラウンド ロビンを、レイテンシの回復力を得るには P2C を使用します。",
    "routingAdvancedGuideHint2": "プロバイダーによって品質/コストが異なる場合は、バックグラウンド作業についてはコスト最適化から開始し、バランスのとれた摩耗については最も使用されないようにします。",
    "fillFirst": "最初に入力してください",
    "fillFirstDesc": "優先順位に従ってアカウントを使用する",
    "roundRobin": "ラウンドロビン",
    "roundRobinDesc": "すべてのアカウントを循環する",
    "p2c": "P2C",
    "p2cDesc": "ランダムに 2 つ選択し、より健康的なものを使用してください",
    "random": "ランダム",
    "randomDesc": "リクエストごとにランダムなアカウント",
    "leastUsed": "最も使用されていない",
    "leastUsedDesc": "最も最近使用されていないアカウントを選択する",
    "costOpt": "コストオプション",
    "costOptDesc": "利用可能な最も安いアカウントを優先する",
    "resetAware": "リセット対応 RR",
    "resetAwareDesc": "残りのクォータが健全でリセットに近いアカウントを優先する",
    "strictRandom": "Strict Random",
    "strictRandomDesc": "Shuffle deck — uses each account once before reshuffling",
    "stickyLimit": "スティッキー制限",
    "stickyLimitDesc": "切り替える前のアカウントごとの通話数",
    "modelAliases": "モデルのエイリアス",
    "modelAliasesTitle": "モデルエイリアス",
    "modelAliasesDesc": "Remap model names using exact matches or wildcard patterns.",
    "addCustomAlias": "カスタムエイリアスを追加",
    "deprecatedModelId": "非推奨モデルID",
    "newModelId": "新しいモデルID",
    "customAliases": "カスタムエイリアス",
    "builtInAliases": "組み込みエイリアス",
    "backgroundDegradationTitle": "バックグラウンドタスク降格",
    "backgroundDegradationDesc": "バックグラウンドタスク（タイトル、要約）を自動検出し、安価なモデルにルーティング",
    "enableDegradation": "バックグラウンド降格を有効化",
    "enableDegradationHint": "有効にすると、タイトル生成や要約などのバックグラウンドタスクが自動的に安価なモデルにルーティングされます",
    "tasksDetected": "検出されたタスク",
    "degradationMap": "モデル降格マップ",
    "premiumModel": "プレミアムモデル",
    "cheapModel": "安価なモデル",
    "detectionPatterns": "検出パターン",
    "newPattern": "例：\"タイトルを生成\"",
    "aliasPatternPlaceholder": "クロード・ソネット-*",
    "aliasTargetPlaceholder": "クロード・ソネット-4-20250514",
    "pattern": "パターン",
    "targetModel": "対象機種",
    "add": "+追加",
    "session": "セッション",
    "sessionDetailsAria": "セッション詳細",
    "status": "ステータス",
    "authenticated": "認証済み",
    "guest": "ゲスト",
    "loginTime": "ログイン時間",
    "sessionAge": "セッションの経過時間",
    "browser": "ブラウザ",
    "clearLocalData": "ローカルデータのクリア",
    "logout": "ログアウト",
    "clearLocalDataConfirm": "ローカルデータをすべて消去しますか?これにより設定がリセットされます。",
    "unknown": "不明",
    "systemActor": "システム",
    "ipAccessControl": "IPアクセス制御",
    "ipAccessControlDesc": "特定の IP アドレスをブロックまたは許可する",
    "ipModeDisabled": "障害者",
    "ipModeBlacklist": "ブラックリスト",
    "ipModeWhitelist": "ホワイトリスト",
    "ipModeWhitelistPriority": "WL優先",
    "addIpAddress": "IPアドレスの追加",
    "ipAddressPlaceholder": "192.168.1.0/24 または 10.0.*.*",
    "block": "+ブロック",
    "allow": "+ 許可する",
    "blocked": "ブロックされました ({count})",
    "allowed": "許可されています ({count})",
    "temporaryBans": "一時的な禁止 ({count})",
    "minLeft": "残り {min}m",
    "auditLog": "監査ログ",
    "searchAuditLogs": "監査ログを検索します...",
    "failedLoadAuditLog": "監査ログのロードに失敗しました",
    "noAuditEvents": "監査イベントが見つかりませんでした",
    "action": "アクション",
    "actor": "俳優",
    "details": "詳細",
    "time": "時間",
    "fallbackChainsTitle": "フォールバックチェーン",
    "fallbackChainsDesc": "モデルごとにプロバイダーのフォールバック順序を定義する",
    "addChain": "+ チェーンを追加",
    "modelName": "モデル名",
    "modelNamePlaceholder": "クロード・ソネット-4-20250514",
    "providersCommaSeparated": "プロバイダー (カンマ区切り、優先順位順)",
    "providersCommaSeparatedPlaceholder": "人間、オープンナイ、ジェミニ",
    "createChain": "チェーンの作成",
    "noFallbackChains": "フォールバックチェーンなし",
    "noFallbackChainsDesc": "チェーンを作成して、モデルのプロバイダーのフォールバック順序を定義します。",
    "loadingFallbackChains": "フォールバック チェーンをロードしています...",
    "deleteChainConfirm": "「{model}」のフォールバック チェーンを削除しますか?",
    "chainCreated": "{model} 用にチェーンが作成されました",
    "chainDeleted": "{model} のチェーンが削除されました",
    "failedCreateChain": "チェーンの作成に失敗しました",
    "failedDeleteChain": "チェーンの削除に失敗しました",
    "deleteChain": "チェーンの削除",
    "fillModelAndProviders": "モデル名とプロバイダーを入力してください",
    "addAtLeastOneProvider": "少なくとも 1 つのプロバイダーを追加します",
    "comboDefaultsTitle": "コンボのデフォルト",
    "comboDefaultsGuideTitle": "コンボのデフォルトを調整する方法",
    "comboDefaultsGuideHint1": "低遅延フローでは再試行を低く抑えます。長い世代のタスクの場合にのみタイムアウトを増やします。",
    "comboDefaultsGuideHint2": "1 つのプロバイダーがグローバルなデフォルトとは異なるタイムアウト/再試行動作を必要とする場合は、プロバイダー オーバーライドを使用します。",
    "globalComboConfig": "グローバルコンボ構成",
    "defaultStrategy": "デフォルトの戦略",
    "defaultStrategyDesc": "明示的な戦略なしで新しいコンボに適用される",
    "comboStrategyAria": "コンボ戦略",
    "priority": "優先順位",
    "weighted": "加重",
    "contextRelay": "Context Relay",
    "contextRelayDesc": "Hands off context between providers with automatic summarization",
    "maxRetriesLabel": "最大再試行回数",
    "retryDelayLabel": "再試行遅延 (ミリ秒)",
    "timeoutLabel": "タイムアウト (ミリ秒)",
    "healthCheck": "健康診断",
    "healthCheckDesc": "プロバイダーの可用性を事前に確認する",
    "trackMetrics": "メトリクスの追跡",
    "trackMetricsDesc": "コンボごとのリクエストメトリクスを記録する",
    "providerOverrides": "プロバイダーのオーバーライド",
    "providerOverridesDesc": "プロバイダーごとにタイムアウトと再試行をオーバーライドします。プロバイダー設定はグローバルデフォルトをオーバーライドします。",
    "providerMaxRetriesAria": "{provider} 最大再試行回数",
    "providerTimeoutAria": "{provider} タイムアウトミリ秒",
    "removeProviderOverrideAria": "{provider} オーバーライドを削除",
    "newProviderNamePlaceholder": "例:グーグル、オープンナイ...",
    "newProviderNameAria": "新しいプロバイダ名",
    "retries": "再試行",
    "ms": "ミリ秒",
    "saveComboDefaults": "コンボのデフォルトを保存",
    "maxNestingDepth": "最大ネスト深さ",
    "concurrencyPerModel": "同時実行性 / モデル",
    "queueTimeout": "キューのタイムアウト (ミリ秒)",
    "contextRelayHandoffThreshold": "Handoff Threshold",
    "contextRelayMaxMessages": "Max Messages For Summary",
    "contextRelaySummaryModel": "Summary Model",
    "contextRelayProviderNote": "Context Relay currently generates handoffs for Codex accounts and uses these values as global defaults for new or unconfigured combos.",
    "providerProfiles": "プロバイダープロファイル",
    "providerProfilesDesc": "OAuth (セッションベース) プロバイダーと API キー (従量制) プロバイダーの個別の復元設定。 OAuth プロバイダーには、レート制限が低いため、より厳しいしきい値が設定されています。",
    "oauthProviders": "OAuthプロバイダー",
    "apiKeyProviders": "APIキープロバイダー",
    "transientCooldown": "一時的なクールダウン",
    "rateLimitCooldown": "レート制限クールダウン",
    "maxBackoffLevel": "最大バックオフ レベル",
    "cbThreshold": "CB しきい値",
    "cbResetTime": "CBリセット時間",
    "rateLimiting": "レート制限",
    "rateLimitingDesc": "API キープロバイダーは、安全なデフォルトで自動的にレート制限されます。制限は応答ヘッダーから学習され、時間の経過とともに適応されます。",
    "defaultSafetyNet": "デフォルトのセーフティネット",
    "rpm": "回転数",
    "minGap": "最小ギャップ",
    "maxConcurrent": "最大同時実行数",
    "activeLimiters": "アクティブリミッター",
    "noActiveLimiters": "アクティブなレート リミッタはまだありません。",
    "reservoir": "貯水池",
    "running": "ランニング",
    "queued": "キューに入れられました",
    "circuitBreakers": "サーキットブレーカー",
    "breakerStateClosed": "閉店",
    "breakerStateOpen": "開く",
    "breakerStateHalfOpen": "ハーフオープン",
    "tripped": "{count} がトリップしました",
    "healthy": "{count} は健康です",
    "resetAll": "すべてリセット",
    "noCircuitBreakers": "まだサーキットブレーカーが作動していません。これらは、リクエストがコンボ パイプラインを通過するときに自動的に作成されます。",
    "failures": "{count} 回の失敗",
    "policiesLocked": "ポリシーとロックされた識別子",
    "allOperational": "すべてのシステムが稼働中 - ロックアウトやブレーカーの低下はありません",
    "loadingPolicies": "ポリシーを読み込んでいます...",
    "lockedIdentifiers": "ロックされた識別子",
    "unlockedIdentifier": "ロック解除済み: {identifier}",
    "sinceDate": "{date} 以降",
    "forceUnlock": "強制ロック解除",
    "unlocking": "ロックを解除中...",
    "failedUnlock": "ロック解除に失敗しました",
    "failedLoadWithStatus": "ロードに失敗しました: {status}",
    "failedLoadResilience": "復元ステータスのロードに失敗しました",
    "saveFailed": "保存に失敗しました",
    "resetFailed": "リセットに失敗しました",
    "loadingResilience": "回復力ステータスを読み込んでいます...",
    "retry": "再試行",
    "systemStorage": "システムとストレージ",
    "allDataLocal": "すべてのデータはマシン上にローカルに保存されます",
    "databasePath": "データベースのパス",
    "exportDatabase": "データベースのエクスポート",
    "exportAll": "すべてエクスポート (.tar.gz)",
    "importDatabase": "データベースのインポート",
    "confirmDbImport": "データベースのインポートを確認する",
    "confirmDbImportDesc": "これにより、現在のデータがすべて {file} のコンテンツに置き換えられます。インポート前にバックアップが自動的に作成されます。",
    "yesImport": "はい、インポートします",
    "lastBackup": "最後のバックアップ",
    "noBackupYet": "まだバックアップがありません",
    "backupNow": "今すぐバックアップ",
    "backupRestore": "バックアップと復元",
    "viewBackups": "バックアップの表示",
    "hide": "隠す",
    "backupRetentionDesc": "データベースのスナップショットは、復元前とデータ変更時に 15 分ごとに自動的に作成されます。保持: スマート ローテーションによる 24 時間 + 30 日のバックアップ。",
    "loadingBackups": "バックアップを読み込んでいます...",
    "noBackupsYet": "利用可能なバックアップはまだありません。データが変更されると、バックアップが自動的に作成されます。",
    "backupsAvailable": "{count} 個のバックアップが利用可能です",
    "refresh": "リフレッシュ",
    "confirm": "確認しますか？",
    "yes": "はい",
    "no": "いいえ",
    "restore": "復元",
    "invalidFileType": "無効なファイルタイプです。 .sqlite ファイルのみが受け入れられます。",
    "exportFailed": "エクスポートに失敗しました",
    "exportFailedWithError": "エクスポートに失敗しました: {error}",
    "fullExportFailedWithError": "完全なエクスポートに失敗しました: {error}",
    "backupCreated": "バックアップが作成されました: {file}",
    "restoreSuccess": "復元されました！ {connections} 接続、{nodes} ノード、{combos} コンボ、{apiKeys} API キー。",
    "importSuccess": "データベースがインポートされました! {connections} 接続、{nodes} ノード、{combos} コンボ、{apiKeys} API キー。",
    "minutesAgo": "{count}分前",
    "hoursAgo": "{count}時間前",
    "daysAgo": "{count}日前",
    "backupReasonManual": "マニュアル",
    "backupReasonPreRestore": "復元前",
    "connectionsCount": "{count, plural, one {# connection} other {# connections}}",
    "noChangesSinceBackup": "前回のバックアップ以降変更はありません",
    "backupFailed": "バックアップに失敗しました",
    "restoreFailed": "復元に失敗しました",
    "importFailed": "インポートに失敗しました",
    "errorDuringRestore": "復元中にエラーが発生しました",
    "errorDuringImport": "インポート中にエラーが発生しました",
    "modelPricing": "モデルの価格",
    "modelPricingDesc": "モデルごとにコストレートを設定します。すべてのレートは $/1M トークン単位です。",
    "registry": "レジストリ",
    "priced": "価格付き",
    "searchProvidersModels": "プロバイダーまたはモデルを検索...",
    "showAll": "すべて表示",
    "noProvidersMatch": "検索に一致するプロバイダーはありません。",
    "howPricingWorks": "価格設定の仕組み",
    "cacheWrite": "キャッシュ書き込み",
    "unsaved": "未保存",
    "resetDefaults": "デフォルトにリセット",
    "saveProvider": "プロバイダーの保存",
    "model": "モデル",
    "models": "モデル",
    "moreProviders": "{count} 件のプロバイダーが追加されました",
    "withPricing": "価格設定が設定された状態で",
    "policiesCircuitBreakers": "ポリシーとサーキットブレーカー",
    "activeIssuesDetected": "アクティブな問題が検出されました",
    "off": "オフ",
    "resetPricingConfirm": "{provider} のすべての価格をデフォルトにリセットしますか?",
    "pricingDescInput": "入力: モデルに送信されたトークン",
    "pricingDescOutput": "出力: 生成されたトークン",
    "pricingDescCached": "キャッシュ: 再利用された入力 (入力レートの最大 50%)",
    "pricingDescReasoning": "推論: 思考トークン (出力にフォールバック)",
    "pricingDescCacheWrite": "キャッシュ書き込み: キャッシュ エントリの作成 (入力にフォールバック)",
    "pricingDescFormula": "コスト = (入力 × 入力レート) + (出力 × 出力レート) + (キャッシュ × キャッシュ レート) 100 万トークンあたり。",
    "pricingSettingsTitle": "価格設定",
    "totalModels": "トータルモデル",
    "active": "アクティブ",
    "costCalculation": "コスト計算",
    "costCalculationDesc": "コストは、トークンの使用量と各モデルに設定された価格設定レートに基づいて計算されます。",
    "pricingFormat": "価格設定形式",
    "pricingFormatDesc": "すべてのレートは、$/1M トークン (100 万トークンあたりのドル) 単位です。",
    "tokenTypes": "トークンの種類",
    "inputTokenDesc": "標準プロンプトトークン",
    "outputTokenDesc": "完了/応答トークン",
    "cachedTokenDesc": "キャッシュされた入力トークン (通常は入力レートの 50%)",
    "reasoningTokenDesc": "特別な推論/思考トークン (出力レートへのフォールバック)",
    "cacheCreationTokenDesc": "キャッシュ エントリの作成に使用されるトークン (入力レートへのフォールバック)",
    "customPricingNote": "特定のモデルのデフォルトの価格をオーバーライドできます。カスタム オーバーライドは、自動検出された価格設定よりも優先されます。",
    "editPricing": "価格の編集",
    "viewFullDetails": "詳細を表示",
    "themeCoral": "コーラル",
    "adaptiveVolumeRouting": "Adaptive Volume Routing",
    "adaptiveVolumeRoutingDesc": "Scale connections dynamically based on payload volume and throughput pressure.",
    "lkgpToggleTitle": "Last Known Good Provider (LKGP)",
    "lkgpToggleDesc": "When enabled, the router remembers which provider last served a successful response and tries it first on subsequent requests.",
    "clearLkgpCache": "Clear LKGP Cache",
    "lkgpCacheCleared": "LKGP cache cleared successfully",
    "lkgpCacheClearFailed": "Failed to clear LKGP cache",
    "days": "Days",
    "lkgp": "LKGP Mode",
    "lkgpDesc": "Last Known Good Provider (Predictable resilience)",
    "maintenance": "Maintenance",
    "purgeExpiredLogs": "Purge Expired Logs",
    "purgeLogsFailed": "Failed to purge logs",
    "contextOpt": "Context Optimized",
    "contextOptDesc": "Routes based on context window requirements and conversation length",
    "priorityDesc": "Sequential fallback - tries provider 1 first, then provider 2, and so on",
    "weightedDesc": "Distributes traffic by percentage weights across providers",
    "modelRoutingTitle": "Model Routing Rules",
    "modelRoutingDesc": "Automatically route models to specific combos using glob patterns",
    "addRule": "Add Rule",
    "routeToCombo": "Route to Combo",
    "selectCombo": "Select combo...",
    "priorityHint": "Higher = checked first. Use 10+ for specific patterns.",
    "patternHint": "Use * for any chars, ? for single char. Case-insensitive.",
    "noRoutingRules": "No routing rules configured. Requests use the global combo by default.",
    "routingRuleHint": "Add a rule like claude-opus* -> frontier-combo to automatically route requests.",
    "deleteRoutingRule": "Delete this model routing rule?",
    "exactMatchMode": "Exact Match",
    "wildcardPatternMode": "Wildcard Pattern",
    "exactMatchModeDesc": "Use exact aliases for deprecated or renamed model IDs.",
    "wildcardPatternModeDesc": "Use wildcard aliases with * and ? when a family of models should map to one target.",
    "noExactAliasesConfigured": "No exact-match aliases configured.",
    "wildcardRulesTitle": "Wildcard Rules",
    "noWildcardAliasesConfigured": "No wildcard aliases configured.",
    "overview": "Overview",
    "unknownError": "Unknown Error",
    "pricingSourceLiteLLM": "Pricing Source Lite Llm",
    "clearSyncedPricingConfirm": "Clear Synced Pricing Confirm",
    "clearSyncedPricingFailed": "Clear Synced Pricing Failed",
    "pricingSourceUser": "Pricing Source User",
    "pageDescription": "Page Description",
    "pricingSyncStatus": "Pricing Sync Status",
    "whitelist": "Whitelist",
    "syncDisabled": "Sync Disabled",
    "pricingLoadFailed": "Pricing Load Failed",
    "pricingSyncDescription": "Pricing Sync Description",
    "clearSyncedPricingSuccess": "Clear Synced Pricing Success",
    "clearSyncedPricingFailedWithReason": "価格設定をクリアできませんでした: {reason}",
    "pricingSourceDefault": "Pricing Source Default",
    "pricingSyncSuccess": "Pricing Sync Success",
    "enableSyncError": "Enable Sync Error",
    "syncEnabled": "Sync Enabled",
    "blacklist": "Blacklist",
    "pricingSourceModelsDev": "Pricing Source Models Dev",
    "syncedModels": "Synced Models",
    "budget": "Budget",
    "pricingSyncTitle": "Pricing Sync Title",
    "pricingResetFailedWithReason": "価格をリセットできませんでした: {reason}",
    "tab": "Tab",
    "pricingSavedProvider": "{provider} の価格を保存しました",
    "pricingSyncFailed": "Pricing Sync Failed",
    "pricingSaveFailedWithReason": "価格設定を保存できませんでした: {reason}",
    "pricingResetProvider": "{provider} の料金をリセットしました",
    "nextSync": "Next Sync",
    "pricingSyncFailedWithReason": "価格の同期に失敗しました: {reason}",
    "clearSyncedPricing": "Clear Synced Pricing",
    "compressionTitle": "Prompt Compression",
    "compressionDesc": "Reduce token usage by compressing prompts before sending to providers",
    "compressionMode": "Compression Mode",
    "compressionModeOff": "Off",
    "compressionModeOffDesc": "No compression applied",
    "compressionModeLite": "Lite",
    "compressionModeLiteDesc": "Whitespace and blank line reduction",
    "compressionModeStandard": "Standard (Caveman)",
    "compressionModeStandardDesc": "Rule-based compression with 30+ patterns, preserves code blocks and URLs",
    "compressionModeAggressive": "Aggressive",
    "compressionModeAggressiveDesc": "Summarization + tool result compression + progressive aging for maximum savings",
    "compressionModeUltra": "Ultra",
    "compressionModeUltraDesc": "Maximum compression with all techniques including semantic deduplication",
    "compressionAggressiveConfig": "アグレッシブなエンジン構成",
    "compressionAggressiveConfigDesc": "要約、ツール圧縮、およびエージングしきい値を微調整する",
    "compressionUltraConfig": "Ultra エンジンの構成",
    "compressionUltraConfigDesc": "ヒューリスティックプルーニング、SLMフォールバック、メッセージごとのしきい値を微調整する",
    "compressionUltraRate": "キープレート",
    "compressionUltraMinScore": "最小スコアしきい値",
    "compressionUltraSlmFallback": "アグレッシブへのフォールバック",
    "compressionUltraModelPath": "SLM モデルのパス",
    "compressionSummarizerEnabled": "サマライザーを有効にする",
    "compressionMaxTokensPerMessage": "メッセージあたりの最大トークン数",
    "compressionMinSavings": "最小貯蓄額のしきい値",
    "compressionAgingThresholds": "老化の閾値",
    "compressionAgingThresholdsDesc": "各エージング層で保持される最近のメッセージの数 (大きいほど保持されます)",
    "compressionToolStrategies": "ツールの結果戦略",
    "compressionToolStrategiesDesc": "さまざまなツール結果タイプの圧縮戦略を切り替える",
    "compressionGeneral": "General Settings",
    "compressionAutoTrigger": "Auto-Trigger Threshold",
    "compressionCacheTTL": "Cache TTL",
    "compressionPreserveSystem": "Preserve System Prompt",
    "compressionCavemanConfig": "Caveman Engine Configuration",
    "compressionCavemanConfigDesc": "Fine-tune the rule-based compression engine",
    "compressionRoles": "Compress Message Roles",
    "compressionRoleUser": "User",
    "compressionRoleAssistant": "Assistant",
    "compressionRoleSystem": "System",
    "compressionMinLength": "Minimum Message Length",
    "compressionSkipRules": "Skip Compression Rules",
    "compressionSkipRulesDesc": "Click rules to skip them during compression",
    "compressionPreservePatterns": "Preserve Patterns",
    "compressionPreservePatternsDesc": "Regex patterns that are never compressed (one per line)",
    "compressionLogTitle": "Compression Log",
    "compressionLogEmpty": "No compressed requests yet. Compression stats will appear here when requests are processed with compression enabled.",
    "minutes": "分",
    "compressionModeRtk": "RTK",
    "compressionModeRtkDesc": "Command-aware tool output filtering",
    "compressionModeStacked": "Stacked",
    "compressionModeStackedDesc": "RTK tool-output filtering followed by Caveman message compression",
    "qdrantTitle": "Qdrant (Vector memory)",
    "qdrantDesc": "Optional. Indexes semantic memories in an external vector database for faster retrieval.",
    "qdrantStatusActive": "Active",
    "qdrantStatusError": "Error",
    "qdrantStatusDisabled": "Disabled",
    "qdrantEnable": "Enable Qdrant",
    "qdrantEnableDesc": "When enabled, semantic/hybrid strategy can use Qdrant to retrieve memories.",
    "qdrantTesting": "Testing...",
    "qdrantTestConnection": "Test connection",
    "qdrantSaved": "Configuration saved",
    "qdrantSaveError": "Failed to save configuration",
    "qdrantHostHint": "Without port. Example: 127.0.0.1 or http://qdrant",
    "qdrantPort": "Port",
    "qdrantPortHint": "Qdrant default: 6333",
    "qdrantCollectionHint": "Where memory points will be stored.",
    "qdrantEmbeddingModel": "Embedding model",
    "qdrantHelpTitle": "Quick setup help",
    "qdrantHelpQuickTitle": "Quick setup (Qdrant + OpenRouter)",
    "qdrantHelpStep1": "1. Host: Qdrant IP/URL, Port: 6333, Collection: omniroute_memory.",
    "qdrantHelpStep2": "2. If using nvidia/llama-nemotron-embed-vl-1b-v2:free, use collection dimension 2048.",
    "qdrantHelpStep3": "3. Model field: openrouter/nvidia/llama-nemotron-embed-vl-1b-v2:free.",
    "qdrantHelpStep4": "4. Save, test connection, then test search.",
    "qdrantEmbeddingQuickSelect": "Quick select from discovered models...",
    "qdrantEmbeddingInputPlaceholder": "openai/text-embedding-3-small",
    "qdrantEmbeddingHint": "Format: provider/model. The provider credential must be configured.",
    "qdrantApiKeyPlaceholderKeep": "(leave empty to keep current key)",
    "qdrantApiKeyPlaceholderOptional": "(leave empty if not used)",
    "qdrantSaveHint": "Tip: edit host/port/collection/model and click Save. API key is optional.",
    "qdrantSearchTestTitle": "Search test",
    "qdrantSearchTestDesc": "Generates embedding and searches in Qdrant.",
    "qdrantSearchPlaceholder": "Example: user preferences, history, etc",
    "qdrantNoResults": "No results (or Qdrant is not configured).",
    "qdrantCleanupTitle": "Retention and cleanup",
    "qdrantCleanupDesc": "Removes expired and old points based on",
    "searching": "Searching...",
    "cleaning": "Cleaning...",
    "cleanNow": "Clean now",
    "optional": "オプション",
    "current": "現在",
    "remove": "削除",
    "search": "検索",
    "oneproxyTitle": "1proxy 無料プロキシ マーケットプレイス",
    "oneproxyTotalProxies": "プロキシの総数",
    "oneproxyAvgQuality": "平均品質",
    "resilienceScope": "範囲:",
    "resilienceTrigger": "トリガー:",
    "resilienceEffect": "効果:",
    "resilienceRequestQueueTitle": "Request Queue & Rate",
    "resilienceAutoEnableApiKeyProviders": "Auto-enable for API-key providers",
    "resilienceRequestsPerMinute": "Requests per minute",
    "resilienceMinTimeBetweenRequests": "Minimum time between requests",
    "resilienceConcurrentRequests": "Concurrent requests",
    "resilienceMaxQueueWaitTime": "キューの最大待機時間",
    "resilienceBaseCooldown": "Base cooldown",
    "resilienceUseUpstreamRetryHints": "Use upstream retry hints",
    "resilienceDefaultPerProvider": "Default (per provider)",
    "resilienceAlwaysOn": "Always on",
    "resilienceAlwaysOff": "Always off",
    "routingRemoveEntry": "エントリを削除",
    "routingNeedlesSubstrings": "針 (一致する部分文字列)",
    "routingCaseSensitive": "大文字と小文字を区別する",
    "routingPrefixes": "プレフィックス",
    "routingMatch": "一致",
    "routingReplacement": "交換",
    "routingReplaceAllOccurrences": "すべての出現箇所を置き換える",
    "routingPatternRegex": "パターン (正規表現)",
    "routingFlags": "フラグ",
    "routingNeedles": "針",
    "routingBlockText": "ブロックテキスト",
    "routingIdempotencyKey": "冪等性キー",
    "routingEntrypoint": "エントリポイント",
    "routingVersionFormat": "バージョン形式",
    "routingCchAlgorithm": "CCHアルゴリズム",
    "routingWordsToObfuscate": "難読化する単語 (最初の文字の後に ZWJ を挿入)",
    "logsSettingsTitle": "ログ設定",
    "detailedLogsLabel": "詳細ログの有効化",
    "detailedLogsDesc": "詳細なリクエスト/レスポンスのログを有効にする",
    "callLogPipelineLabel": "通話ログパイプライン",
    "callLogPipelineDesc": "通話ログ処理パイプラインを有効にする",
    "maxDetailSizeLabel": "最大詳細サイズ (KB)",
    "maxDetailSizeDesc": "詳細ログエントリの最大サイズ",
    "ringBufferSizeLabel": "リングバッファサイズ",
    "ringBufferSizeDesc": "ログ用リングバッファのサイズ",
    "semanticCacheEnabledLabel": "セマンティックキャッシュの有効化",
    "semanticCacheMaxSizeLabel": "セマンティック キャッシュの最大サイズ",
    "semanticCacheMaxSizeDesc": "セマンティック キャッシュ エントリの最大数",
    "semanticCacheTTLLabel": "セマンティックキャッシュTTL",
    "promptCacheEnabledLabel": "プロンプトキャッシュを有効にする",
    "promptCacheEnabledDesc": "プロンプトキャッシュを有効にする",
    "promptCacheStrategyLabel": "プロンプトキャッシュ戦略",
    "promptCacheStrategyDesc": "迅速なキャッシュのための戦略",
    "alwaysPreserveClientCacheLabel": "クライアントキャッシュを常に保持する",
    "alwaysPreserveClientCacheDesc": "クライアントキャッシュ保存ポリシー",
    "logRetentionPolicyTitle": "ログ保持ポリシー",
    "resilienceUseUpstream429HintsForBreaker": "上流の 429 ヒントを使用する (ブレーカー)",
    "appearanceLogoPreviewAlt": "ロゴのプレビュー",
    "appearanceFaviconPreviewAlt": "ファビコンのプレビュー",
    "oneproxyLastSync": "最終同期",
    "oneproxyAllProtocols": "すべてのプロトコル",
    "oneproxyCountryCodePlaceholder": "国コード (例: 米国)",
    "oneproxyMinQualityPlaceholder": "最低品質",
    "oneproxyLoadingProxies": "プロキシを読み込んでいます...",
    "oneproxyLastSyncLabel": "最終同期:",
    "oneproxyProxiesFetched": "フェッチされたプロキシ:",
    "oneproxyConsecutiveFailures": "連続した失敗:",
    "oneproxyErrorLabel": "エラー:",
    "oneproxyNever": "決してしない",
    "oneproxySyncStatusTitle": "同期ステータス",
    "oneproxySuccess": "成功",
    "oneproxyFailed": "失敗しました",
    "routingAntigravitySignatureTitle": "反重力署名キャッシュ モード",
    "routingAntigravitySignatureDesc": "__MISSING__:Control whether OmniRoute reuses only stored Gemini thought signatures or accepts validated client-provided signatures in Antigravity-compatible tool-call flows.",
    "routingAntigravitySignatureEnabledLabel": "__MISSING__:Enabled",
    "routingAntigravitySignatureEnabledDesc": "__MISSING__:Current behavior. Ignore client-provided signatures and keep using the stored OmniRoute flow.",
    "routingAntigravitySignatureBypassLabel": "__MISSING__:Bypass",
    "routingAntigravitySignatureBypassDesc": "__MISSING__:Accept client-provided signatures after lightweight validation and fall back to the stored signature when invalid.",
    "routingAntigravitySignatureBypassStrictLabel": "__MISSING__:Bypass Strict",
    "routingAntigravitySignatureBypassStrictDesc": "__MISSING__:Require full protobuf validation before accepting a client-provided signature.",
    "routingHeaderFingerprintTitle": "ヘッダーのフィンガープリント (プロバイダーごと)",
    "routingServerRejectedSave": "⚠ サーバーが保存を拒否しました:",
    "routingAddTransformOp": "変換演算を追加する",
    "routingClientCacheControlTitle": "クライアントキャッシュ制御",
    "routingClientCacheControlDesc": "__MISSING__:Configure whether OmniRoute preserves client-provided cache_control markers",
    "routingClientCacheControlAutoDesc": "__MISSING__:For deterministic Claude-compatible flows, preserve client-provided cache_control as-is. If the request has no cache_control, OmniRoute does not inject any bridge-owned markers for CC-compatible third-party proxy compatibility.",
    "routingClientCacheControlAlwaysLabel": "__MISSING__:Always Preserve",
    "routingClientCacheControlAlwaysDesc": "__MISSING__:Always forward client-provided cache_control headers to upstream providers as-is.",
    "routingClientCacheControlNeverLabel": "__MISSING__:Never Preserve",
    "routingClientCacheControlNeverDesc": "__MISSING__:Always remove client cache_control headers and let OmniRoute manage caching where native provider flows support it.",
    "routingZeroConfigTitle": "ゼロ構成の自動ルーティング",
    "routingZeroConfigDesc": "__MISSING__:Enable automatic provider selection using the auto/ prefix. When enabled, requests to auto, auto/coding, auto/fast, etc. will dynamically route across all connected providers.",
    "routingDefaultAutoVariant": "デフォルトの自動バリアント",
    "visionBridge": "ビジョンブリッジ",
    "visionBridgeDesc": "__MISSING__:Run an automatic vision-to-text fallback before routing image requests to text-only models.",
    "visionBridgeEnabledLabel": "__MISSING__:Enabled",
    "visionBridgeEnabledDesc": "__MISSING__:Toggle the pre-call bridge that replaces image parts with extracted text.",
    "visionBridgeModel": "橋梁モデル",
    "visionBridgeModelPlaceholder": "openai/gpt-4o-mini",
    "visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
    "visionBridgePrompt": "ブリッジプロンプト",
    "visionBridgePromptPlaceholder": "この画像を簡潔に説明してください。",
    "visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
    "visionBridgeTimeoutMs": "タイムアウト (ミリ秒)",
    "visionBridgeMaxImagesPerRequest": "リクエストあたりの最大画像数",
    "resilienceMaxBackoffSteps": "Max backoff steps",
    "resilienceProviderBreakerTitle": "Circuit Breaker per Provider",
    "resilienceFailureThreshold": "Failure threshold",
    "resilienceResetTimeout": "リセットタイムアウト",
    "resilienceFailureThresholdLabel": "失敗のしきい値",
    "resilienceResetTimeoutLabel": "リセットタイムアウト",
    "resilienceConnectionCooldownTitle": "Connection Cooldown",
    "resilienceUseUpstreamRetryHintsLabel": "アップストリームの再試行ヒントを使用する",
    "resilienceUseUpstream429BreakerLabel": "上流の 429 ヒントを使用する (ブレーカー)",
    "resilienceMaxBackoffStepsLabel": "最大バックオフステップ",
    "resilienceYes": "はい",
    "resilienceNo": "いいえ",
    "resilienceDefault": "Default",
    "storageDatabaseBackupRetention": "データベースバックアップの保持",
    "storagePurgeData": "データのパージ",
    "retentionQuotaSnapshots": "クォータのスナップショット (日)",
    "retentionMcpAudit": "MCP 監査 (日)",
    "retentionA2aEvents": "A2A イベント (日)",
    "retentionCallLogs": "通話記録 (日)",
    "retentionUsageHistory": "利用履歴（日）",
    "retentionMemoryEntries": "メモリエントリ (日)",
    "storageAutoVacuumMode": "自動真空モード",
    "storageScheduledVacuum": "スケジュールされたバキューム",
    "storageVacuumHour": "真空時間 (0-23)",
    "storagePageSize": "ページサイズ (バイト)",
    "storageDatabaseSize": "データベースのサイズ",
    "storagePageCount": "ページ数",
    "storageFreelistCount": "フリーリスト数",
    "storageLastVacuum": "ラストバキューム",
    "storageLastOptimization": "最後の最適化",
    "storageIntegrityCheck": "整合性チェック",
    "storageIntegrityOk": "✓ OK",
    "storageIntegrityError": "✗ エラー",
    "storageUsageTokenBuffer": "使用量トークンバッファ",
    "compressionSettingsAutoTriggerMode": "オートトリガーモード",
    "compressionSettingsMcpDescriptionCompression": "MCP 記述圧縮",
    "compressionSettingsCavemanIntensity": "穴居人の激しさ",
    "compressionSettingsCavemanOutputMode": "穴居人出力モード",
    "compressionSettingsOutputIntensity": "出力強度",
    "compressionSettingsAutoClarityBypass": "自動明瞭度バイパス",
    "resilienceWaitForCooldown": "クールダウンを待ちます",
    "resilienceEnableServerSideWait": "サーバー側の待機を有効にする",
    "resilienceMaximumRetries": "最大再試行回数",
    "resilienceMaximumWaitPerRetry": "再試行ごとの最大待機時間",
    "memorySkillsSkillsmpMarketplace": "SkillsMP マーケットプレイス",
    "memorySkillsFailedToSave": "保存に失敗しました",
    "memorySkillsApiKey": "APIキー",
    "memorySkillsActiveSkillsProvider": "アクティブスキルプロバイダー",
    "cliproxyapiFallback": "CLIProxyAPI フォールバック",
    "cliproxyapiEnableFallback": "CLIProxyAPI フォールバックを有効にする",
    "cliproxyapiUrl": "CLIProxyAPI URL",
    "cliproxyapiStatus": "CLIProxyAPI ステータス",
    "cliproxyapiNotDetected": "検出されませんでした",
    "payloadRulesTitle": "ペイロードルール",
    "payloadRulesDesc": "__MISSING__:Configure request payload mutations by model and protocol. Changes are persisted in settings and hot reloaded into the runtime immediately after save.",
    "payloadRuleDefaultTitle": "__MISSING__:default",
    "payloadRuleDefaultDesc": "__MISSING__:Applies params only when the target path is missing from the outgoing payload.",
    "payloadRuleOverrideTitle": "__MISSING__:override",
    "payloadRuleOverrideDesc": "__MISSING__:Forces values onto the payload, replacing anything already present at that path.",
    "payloadRuleFilterTitle": "__MISSING__:filter",
    "payloadRuleFilterDesc": "__MISSING__:Removes blocked params from the payload before the upstream request is sent.",
    "payloadRuleDefaultRawTitle": "__MISSING__:defaultRaw",
    "payloadRuleDefaultRawDesc": "__MISSING__:Like default, but string values are parsed as JSON first when possible. The legacy input alias default-raw is also accepted on save.",
    "payloadEditorTitle": "__MISSING__:Editor",
    "payloadEditorDesc": "__MISSING__:Use the runtime schema shape: default, override, filter, defaultRaw. The API also accepts the legacy input key default-raw.",
    "payloadEditorReady": "__MISSING__:Ready",
    "payloadResetInfo": "__MISSING__:Editor reset to the neutral template. Save to apply it.",
    "payloadSaveSuccess": "__MISSING__:Payload rules saved and hot reloaded.",
    "payloadJsonParseError": "__MISSING__:JSON parse error: {error}",
    "payloadMustBeObject": "__MISSING__:Payload rules must be a JSON object.",
    "payloadInvalidJson": "__MISSING__:Invalid JSON payload.",
    "payloadValidJsonRequired": "__MISSING__:Payload rules must be valid JSON before saving.",
    "savePayloadRules": "__MISSING__:Save Payload Rules",
    "requestLimitsTitle": "__MISSING__:Request Limits",
    "requestLimitsDesc": "__MISSING__:Configure global request limits and concurrency guards.",
    "maxRequestSizeLabel": "__MISSING__:Max Request Size (MB)",
    "maxRequestSizeDesc": "__MISSING__:Maximum allowed size for incoming API requests.",
    "maxResponseSizeLabel": "__MISSING__:Max Response Size (MB)",
    "maxResponseSizeDesc": "__MISSING__:Maximum allowed size for outgoing API responses.",
    "maxRequestTokensLabel": "__MISSING__:Max Request Tokens",
    "maxRequestTokensDesc": "__MISSING__:Maximum total tokens allowed in a single request.",
    "maxResponseTokensLabel": "__MISSING__:Max Response Tokens",
    "maxResponseTokensDesc": "__MISSING__:Maximum total tokens allowed in a single response.",
    "modelCooldownsTitle": "クールダウン中のモデル",
    "modelCooldownsEmpty": "現在クールダウン中のモデルはありません。",
    "codexFastTierTitle": "コーデックス高速層",
    "codexFastTierDesc": "OpenAI Codex リクエストの service_tier=priority をグローバルに挿入します。",
    "codexFastTierHint": "有効にすると、OmniRoute は層がまだ指定されていない接続のアウトバウンド Codex リクエストに service_tier=priority を追加します。優先レベルには、OpenAI Enterprise API キーまたは ChatGPT-auth Codex パスが必要です。他のキー タイプは、OpenAI から層関連のエラーを受け取ります。 Codex プロバイダー ページの接続ごとの設定が優先されます。",
    "codexFastTierSaveError": "Codex 高速層設定の更新に失敗しました",
    "codexFastTierTierLabel": "__MISSING__:Service tier",
    "codexFastTierTierPriority": "__MISSING__:Priority",
    "codexFastTierTierFlex": "__MISSING__:Flex",
    "codexFastTierTierDefault": "__MISSING__:Default",
    "codexFastTierModelsLabel": "__MISSING__:Fast-tier models",
    "codexFastTierModelsHint": "__MISSING__:Only checked models receive service_tier when Fast Tier is enabled.",
    "codexFastTierModelCheckbox": "__MISSING__:Enable Fast Tier for {model}",
    "claudeFastModeTitle": "クロードファーストモード",
    "claudeFastModeDesc": "選択したクロード リクエストを Anthropic Fast Mode (速度:「fast」) に設定します。",
    "claudeFastModeHint": "Anthropic は、SDK スタイルのクライアントの高速モードを正式にサポートしていません。有効にすると、OmniRoute は X-CPA-Force-Fast-Mode ヘッダーを転送するため、ペアになった CLIProxyAPI ビルドがエントリポイントをオプトインしてスプーフィングできるようになります。リストされた Opus モデルのみが Anthropic のクライアント側チェックによってゲートされます。サブスクリプション層、最大プラン、および高速モードのクレジット残高は引き続きサーバー側で適用されます。トグルがオンになっている場合でも、Anthropic は out_of_credits を返す場合があります。",
    "claudeFastModeModelsLabel": "モデルに適用 ({count})",
    "claudeFastModeModelCheckbox": "{model} の高速モードを有効にする",
    "claudeFastModeSaveError": "クロード高速モード設定の更新に失敗しました",
    "authz": {
      "title": "__MISSING__:Authz Inventory",
      "description": "__MISSING__:5-tier route classification with live bypass policy. Read shows the full taxonomy; mutations re-prompt for the management password.",
      "loading": "__MISSING__:Loading inventory…",
      "loadError": "__MISSING__:Failed to load authz inventory",
      "tier": {
        "LOCAL_ONLY": "__MISSING__:Local only",
        "ALWAYS_PROTECTED": "__MISSING__:Always protected",
        "MANAGEMENT": "__MISSING__:Management",
        "CLIENT_API": "__MISSING__:Client API",
        "PUBLIC": "__MISSING__:Public"
      },
      "bypass": {
        "section": "__MISSING__:Manage-scope bypass",
        "kill_switch": {
          "label": "__MISSING__:Bypass kill-switch",
          "desc": "__MISSING__:Master toggle. When off, no LOCAL_ONLY prefix is reachable from non-loopback regardless of the per-prefix list."
        },
        "prefix": {
          "label": "__MISSING__:Bypassable prefixes",
          "desc": "__MISSING__:LOCAL_ONLY prefixes that manage-scope API keys (or dashboard sessions) may reach from non-loopback hosts.",
          "add": "__MISSING__:Add prefix",
          "placeholder": "__MISSING__:/api/mcp/v2/",
          "empty": "__MISSING__:No prefixes configured. Bypass effectively off."
        },
        "cli_tools_runtime_note": "__MISSING__:Spawn-capable prefix. Compile-time deny; cannot be made bypassable. Shown read-only."
      },
      "password": {
        "prompt": {
          "label": "__MISSING__:Current password",
          "desc": "__MISSING__:Re-confirm to apply security-impacting changes."
        },
        "placeholder": "__MISSING__:Current management password",
        "cancel": "__MISSING__:Cancel",
        "submit": "__MISSING__:Apply"
      },
      "save": "__MISSING__:Save changes",
      "saved": "__MISSING__:Authz settings updated",
      "pending": "__MISSING__:Unsaved changes",
      "badge": {
        "bypassable": "__MISSING__:Bypassable via manage scope",
        "strict": "__MISSING__:Strict loopback",
        "auth_required": "__MISSING__:Auth required",
        "public": "__MISSING__:Public",
        "always_protected": "__MISSING__:Always protected",
        "spawn_capable": "__MISSING__:Spawn-capable"
      },
      "error": {
        "PASSWORD_REQUIRED": "__MISSING__:Current password required to apply these changes.",
        "PASSWORD_MISMATCH": "__MISSING__:Current password is incorrect.",
        "INSUFFICIENT_SCOPE": "__MISSING__:API key lacks the manage scope.",
        "BYPASS_PREFIX_NOT_ALLOWED": "__MISSING__:One or more prefixes target spawn-capable routes and cannot be bypassed.",
        "GENERIC": "__MISSING__:Failed to update authz settings."
      }
    },
    "resilienceBaseCooldownLabel": "基本クールダウン",
    "scopeLabel": "範囲",
    "triggerLabel": "トリガー",
    "effectLabel": "効果",
    "statusEnabled": "有効",
    "statusDisabled": "障害者",
    "resilienceRequestQueueScope": "リクエストキューごと",
    "resilienceRequestQueueTrigger": "上流に送る前に",
    "resilienceRequestQueueEffect": "リクエストをキューに入れ、同時実行を制限し、呼び出しの間隔を空けます。",
    "resilienceRequestQueueDesc": "この層はキューイングとペーシングのみを制御します。クールダウンやオープンサーキットブレーカーは保存されません。",
    "resilienceAutoEnableApiKeyProvidersDesc": "アクティブな API キー接続に対してデフォルトでキュー保護を有効にします。",
    "resilienceMaxQueueWait": "キューの最大待機時間",
    "resilienceConnectionCooldownScope": "個別接続",
    "resilienceConnectionCooldownTrigger": "接続が一時的なアップストリーム障害を返した場合",
    "resilienceConnectionCooldownEffect": "一時的にその接続をスキップし、失敗が繰り返される場合はバックオフを増加します。",
    "resilienceConnectionCooldownDesc": "基本クールダウンは、一時的な接続障害をカバーします。アップストリームの再試行ヒントが有効になっている場合、プロバイダーの明示的なウィンドウがローカルのクールダウンをオーバーライドします。",
    "resilienceUseUpstreamRetryHintsDesc": "利用可能な場合は、アップストリーム プロバイダーからの再試行/リセット値を使用します。",
    "resilienceUseUpstream429BreakerHints": "ブレーカーのクールダウンに上流の 429 ヒントを使用する",
    "resilienceUseUpstream429BreakerHintsShort": "上流の 429 ヒントを使用する",
    "resilienceUseUpstream429BreakerHintsDesc": "429 応答からの Retry-After / クォータを使い果たしたシグナルをサーキット ブレーカーのクールダウン期間に適用します。デフォルトでは、プロバイダーごとのポリシーが使用されます。ダイレクト クラウド プロバイダーはデフォルトでオンになります。リバースプロキシ、セルフホスト、および CLI ベースのプロバイダーはデフォルトでオフになっています。 「アップストリームの再試行ヒントを使用する」とは独立しています。",
    "resilienceProviderBreakerScope": "プロバイダー全体",
    "resilienceProviderBreakerTrigger": "接続フォールバックが使い果たされた後の最終的なトランスポート/サーバー障害",
    "resilienceProviderBreakerEffect": "リセット時間が経過するまで、そのプロバイダーを一時的にブロックします",
    "resilienceProviderBreakerDesc": "ライブ ブレーカーの状態は、[ヘルス] ページにのみ表示されます。接続を対象とした 429 レート制限は、接続クールダウン状態のままであり、プロバイダーのブレーカーは作動しません。",
    "resilienceResetTime": "リセット時間",
    "resilienceWaitForCooldownTitle": "クールダウンを待つ",
    "resilienceWaitForCooldownScope": "現在のクライアントのリクエスト",
    "resilienceWaitForCooldownTrigger": "すべての接続候補がすでにクールダウンしているとき",
    "resilienceWaitForCooldownEffect": "サーバー上で待機し、最初のクールダウンの期限が切れたら再試行します",
    "resilienceWaitForCooldownDesc": "これは現在のリクエストにのみ影響します。接続やプロバイダーの状態は保存されません。",
    "resilienceEnableServerWait": "サーバー側の待機を有効にする",
    "resilienceEnableServerWaitDesc": "有効にすると、OmniRoute は最初のクールダウンが期限切れになるまで待機し、自動的に再試行します。",
    "resilienceMaxAttempts": "最大試行回数",
    "resilienceMaxWaitPerAttempt": "試行ごとの最大待機時間",
    "forcedFingerprintTitle": "Always enabled for {provider} — required for OAuth account safety; cannot be turned off.",
    "forcedFingerprintBadge": "Required",
    "codexSessionAffinityTitle": "コーデックスセッションアフィニティ",
    "codexSessionAffinityDesc": "同じアカウント上で 1 つの Codex 会話をこの秒数維持します。 0 は無効にします。",
    "codexSessionAffinityTtl": "アフィニティ TTL (秒)",
    "resetAwareQuotaCacheTitle": "リセット対応クォータ キャッシュ",
    "resetAwareQuotaCacheDesc": "リセット対応の順序の場合のみ、クォータ テレメトリをキャッシュします。クォータ プリフライトは引き続きリクエストを保護します。 0/0 はライブフェッチを継続します。",
    "resetAwareQuotaCacheTtl": "フレッシュ TTL (秒)",
    "resetAwareQuotaCacheMaxStale": "最大期限切れ (秒)",
    "qdrantCleanupSuccess": "OK: {count} ポイントを削除しました (保持: {days} 日)",
    "qdrantCleanupFailed": "クリーンアップに失敗しました",
    "qdrantCleanupError": "エラー: {error}",
    "vercelRelaySuccess": "__MISSING__:Vercel Relay deployed successfully",
    "vercelRelayButton": "__MISSING__:Deploy Vercel Relay",
    "vercelRelayModalTitle": "__MISSING__:Deploy Vercel Relay",
    "vercelRelayWarning": "__MISSING__:Warning: A Vercel deployment token is required. This token will only be used to create the serverless relay and will never be stored by OmniRoute.",
    "vercelRelayTokenLabel": "__MISSING__:Vercel Access Token",
    "vercelRelayProjectNameLabel": "__MISSING__:Vercel Project Name",
    "vercelRelayFreeTierNote": "__MISSING__:Relays are lightweight proxy endpoints deployed on Vercel's free tier to bypass local network/region limitations.",
    "vercelRelayDeploying": "__MISSING__:Deploying...",
    "vercelRelayDeploy": "__MISSING__:Deploy",
    "homePinProviderQuotaToHome": "Pin Information to Home Page",
    "homeProviderQuotaLimits": "Provider Quota Limits",
    "homeProviderQuotaLimitsDesc": "Pin the Provider Quota status container (with Refresh All button) to the top of the Home page.",
    "homeQuickStart": "Quick Start",
    "homeQuickStartDesc": "Show the Quick Start panel on the Home page.",
    "homeProviderTopology": "Provider Topology",
    "homeProviderTopologyDesc": "Show the Provider Topology on the Home page."
  },
  "contextRtk": {
    "title": "RTK Engine",
    "description": "Command-aware compression for tool output, terminal logs and build results.",
    "enabled": "Enabled",
    "intensity": "Intensity",
    "intensityMinimal": "Minimal",
    "intensityStandard": "Standard",
    "intensityAggressive": "Aggressive",
    "toolResults": "Tool results",
    "assistantMessages": "Assistant messages",
    "codeBlocks": "Code blocks",
    "filterCatalog": "フィルターカタログ",
    "filterCatalogDesc": "カテゴリ別の利用可能な出力フィルタ",
    "guidedConfig": "構成",
    "guidedConfigDesc": "RTK が端末出力をフィルタリングする方法を調整します",
    "maxLines": "Max lines",
    "maxChars": "Max chars",
    "deduplicateThreshold": "重複排除のしきい値",
    "customFilters": "カスタムフィルター",
    "detectedType": "検出された種類",
    "confidence": "自信",
    "beforeAfter": "前 / 後",
    "trustProjectFilters": "信頼できるプロジェクトフィルター",
    "rawOutputRetention": "生出力の保持",
    "rawOutputNever": "決してしない",
    "rawOutputFailures": "失敗",
    "rawOutputAlways": "いつも",
    "rawOutputMaxBytes": "未加工出力の最大バイト数",
    "filterTesting": "Filter Testing",
    "pasteOutput": "Paste tool output to test filtering...",
    "presetHigh": "アグレッシブ",
    "presetLow": "ライト",
    "presetMaxChars": "最大出力文字数",
    "presetMaxLines": "最大出力ライン",
    "presetMedium": "標準",
    "run": "Run",
    "result": "Result",
    "previewEmpty": "Run a sample to preview RTK output.",
    "detected": "Detected",
    "masterSwitchOffAlert": "__MISSING__:Token Saver master switch is OFF — these settings will not affect requests until you turn it on from the Endpoint page.",
    "tokensFiltered": "Tokens filtered",
    "filtersActive": "Filters active",
    "requests": "Requests",
    "avgSavings": "Avg savings",
    "simpleMode": "シンプル",
    "advancedMode": "上級者向け",
    "searchFilters": "検索フィルター...",
    "tooltipDedup": "繰り返される行をどれだけ積極的に削除するか。",
    "tooltipMaxChars": "出力ブロックあたりの最大文字数。",
    "tooltipMaxLines": "コマンド出力から保持する最大行数。超過分は切り捨てられます。"
  },
  "contextCombos": {
    "title": "Compression Combos",
    "description": "Define how engines are combined for different routing scenarios.",
    "createCombo": "Create Compression Combo",
    "editCombo": "Edit",
    "deleteCombo": "Delete",
    "deleteConfirm": "Delete this compression combo?",
    "pipeline": "Pipeline",
    "addStep": "Add Step",
    "removeStep": "Remove",
    "name": "Name",
    "descriptionField": "Description",
    "languagePacks": "Language Packs",
    "outputMode": "Output Mode",
    "assignToRouting": "Assign to Routing Combos",
    "noAssignments": "No routing combos available",
    "default": "Default",
    "setAsDefault": "Set as Default",
    "save": "Save",
    "cancel": "Cancel",
    "enabled": "Enabled"
  },
  "contextCaveman": {
    "title": "Caveman Engine",
    "description": "Rule-based message compression, language packs, analytics and output mode controls.",
    "advancedConfig": "高度な構成",
    "advancedConfigDesc": "圧縮動作を微調整する",
    "aggressiveSettings": "アグレッシブな設定",
    "aggressiveSettingsDesc": "最大の圧縮率と潜在的な品質のトレードオフ",
    "requests": "Requests",
    "tokensSaved": "Tokens saved",
    "savingsPercent": "Savings %",
    "avgLatency": "Avg latency",
    "languagePacks": "Language Packs",
    "languagePacksDesc": "Enable compression rules for specific languages.",
    "labelAutoTrigger": "コンテキストが超過した場合に自動圧縮",
    "labelCompressionRate": "圧縮強度",
    "labelMaxTokens": "メッセージごとのターゲット トークン",
    "labelMinLength": "最小メッセージ長",
    "labelMinSavings": "保存する最小トークン数",
    "enabled": "Enabled",
    "autoDetect": "Auto-detect language",
    "rulesCount": "{count} rules",
    "inputCompressionTitle": "__MISSING__:Input compression",
    "inputCompressionDesc": "__MISSING__:Rewrite chat history with shorter wording. Reduces input tokens by ~50%.",
    "analyticsTitle": "Compression Analytics",
    "noAnalytics": "No compression analytics yet.",
    "outputMode": "出力モード",
    "outputModeDesc": "Instructs the LLM to respond in a terse, compact format.",
    "outputModeTitle": "Output Mode",
    "quickSettings": "クイック設定",
    "quickSettingsDesc": "始めるための基本的な圧縮設定",
    "autoClarity": "Auto-Clarity Bypass",
    "bypassConditions": "Bypass conditions",
    "bypassConditionsList": "セキュリティ、不可逆的、明確化、順序依存",
    "simpleMode": "シンプル",
    "advancedMode": "上級者向け",
    "tooltipAutoTrigger": "コンテキストがこのサイズを超えると、自動的に圧縮されます。",
    "tooltipCompressionRate": "0.0 = なし、1.0 = 最大。 0.5 = バランスが取れています。",
    "tooltipMaxTokens": "圧縮後のターゲット トークン数。低い = より攻撃的です。",
    "tooltipMinLength": "これより短いメッセージは圧縮されません。低い = 圧縮が高くなります。",
    "tooltipMinSavings": "少なくともこの数のトークンを保存する場合にのみ圧縮してください。",
    "ultraSettings": "ウルトラ設定",
    "ultraSettingsDesc": "SLM を利用したセマンティック圧縮",
    "preview": {
      "lite": "Respond concise. Preserve technical terms, code, errors, URLs, and identifiers.",
      "full": "Respond terse and compact. Preserve all technical substance.",
      "ultra": "Respond ultra terse with common technical abbreviations. Preserve exact symbols."
    }
  },
  "translator": {
    "title": "翻訳者",
    "metaTitle": "翻訳者の遊び場 |オムニルート",
    "metaDescription": "プロバイダー間の API 形式の変換をデバッグ、テスト、視覚化する",
    "playgroundTitle": "翻訳者の遊び場",
    "playground": "遊び場",
    "realtime": "リアルタイム翻訳アクティビティ",
    "chatTester": "チャットテスター",
    "testBench": "テストベンチ",
    "liveMonitor": "ライブモニター",
    "modeDescriptionPlayground": "任意の API リクエスト本文を貼り付け、OmniRoute がプロバイダー形式間でそれをどのように変換するかを確認します (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)",
    "modeDescriptionChatTester": "OmniRoute 経由で実際のチャット リクエストを送信し、入力、翻訳されたリクエスト、プロバイダーの応答、翻訳された出力の完全なラウンドトリップを検査します。",
    "modeDescriptionTestBench": "事前定義されたシナリオを実行し、プロバイダーやモデル間の互換性を比較します。",
    "modeDescriptionLiveMonitor": "リクエストが OmniRoute を通過するときに、翻訳イベントをリアルタイムで監視します。",
    "modeDescriptionFallback": "OmniRoute がプロバイダー間で API リクエストを変換する方法をデバッグ、テスト、視覚化します。",
    "recentTranslations": "最近の翻訳",
    "noTranslations": "まだ翻訳はありません",
    "source": "ソース",
    "target": "ターゲット",
    "time": "時間",
    "model": "モデル",
    "status": "ステータス",
    "latency": "レイテンシー",
    "totalTranslations": "総翻訳数",
    "successful": "成功しました",
    "errors": "エラー",
    "avgLatency": "平均遅延時間",
    "millisecondsShort": "{value}ms",
    "notAvailableSymbol": "—",
    "liveAutoRefreshing": "ライブ — 自動更新",
    "paused": "一時停止中",
    "eventsAppearHint": "リクエストが OmniRoute を流れると、翻訳イベントがここに表示されます。イベントを生成するには、次のいずれかの方法を使用します。",
    "chatTesterTab": "「チャットテスター」タブ",
    "testBenchTab": "「テストベンチ」タブ",
    "externalApiCalls": "外部 API 呼び出し",
    "ideCliIntegrations": "IDE/CLIの統合",
    "inMemoryNote": "注: イベントはメモリ内に保存され、サーバーの再起動時にリセットされます。",
    "ok": "OK",
    "errorShort": "エラー",
    "formatConverter": "フォーマットコンバーター",
    "formatConverterDescription": "JSON リクエスト本文を貼り付けるか入力します。トランスレータはソース形式を自動検出し、ターゲット形式に変換します。これを使用して、OmniRoute が形式間でリクエストを変換する方法 (OpenAI ↔ Claude ↔ Gemini ↔ Response API) をデバッグします。",
    "translationPathHubSpoke": "{source} → OpenAI (中級) → {target}",
    "translationPathDirect": "{source} → {target} (直接翻訳者)",
    "translationPathPassthrough": "同じ形式 - 翻訳は必要ありません",
    "openaiIntermediatePanel": "OpenAI中級者",
    "autoFeaturesTitle": "OmniRoute が自動的に行うこと",
    "autoFeaturesCount": "8つの特徴",
    "featureReasoningCache": "推論キャッシュ",
    "featureReasoningCacheDesc": "クライアントが会話履歴から除外した場合、思考モード モデル (DeepSeek V4、Kimi K2、Qwen) のキャッシュされたreasoning_contentを再挿入します。",
    "featureSchemaCoercion": "スキーマの強制",
    "featureSchemaCoercionDesc": "壊れたツール スキーマを修正します。欠落している追加プロパティを追加し、長い説明をサニタイズし、ネストされたオブジェクトを正規化します。",
    "featureRoleNormalization": "役割の正規化",
    "featureRoleNormalizationDesc": "マップ開発者→OpenAI 以外のターゲット向けのシステム。システムの役割をサポートしていないモデルの場合は、システム→ユーザーをマップします。",
    "featureToolCallIds": "ツールコールIDの正規化",
    "featureToolCallIdsDesc": "欠落している場合は、一意のtool_call IDを生成します。 Mistral などのプロバイダーの場合は 9 文字形式に正規化します。",
    "featureMissingToolResponse": "ツール応答インジェクション",
    "featureMissingToolResponseDesc": "クライアントが対応する応答なしでtool_callを送信した場合に、空のtool_resultメッセージを挿入します。",
    "featureThinkingBudget": "予算を考える",
    "featureThinkingBudgetDesc": "思考構成を自動管理します。最後のメッセージがユーザーからのものではない場合、思考パラメーターを削除します。",
    "featureDirectPaths": "直接翻訳パス",
    "featureDirectPathsDesc": "一部の形式ペア (Claude→Gemini) には、OpenAI ハブをバイパスする直接トランスレーターがあり、より正確な出力を生成します。",
    "featureImageMapping": "画像サイズのマッピング",
    "featureImageMappingDesc": "API 形式間で画像の寸法規則を変換します (例: OpenAI 詳細レベル → Gemini 寸法)。",
    "input": "入力",
    "output": "出力",
    "auto": "自動",
    "swapFormats": "フォーマットを交換する",
    "translateAction": "翻訳する",
    "clear": "クリア",
    "inputPlaceholder": "ここにリクエスト本文を貼り付けるか、下のテンプレートを選択してください...",
    "exampleTemplates": "テンプレートの例",
    "exampleTemplatesHint": "— クリックしてロード",
    "templateLoadHint": "テンプレートはリクエストを {format} 形式でロードします。別の形式でロードするには、ソース形式を変更します。",
    "compatibilityTester": "互換性テスター",
    "compatibilityReport": "互換性レポート",
    "testBenchDescription": "事前定義されたシナリオ (単純なチャット、ツール呼び出しなど) を実行して、翻訳とプロバイダーの互換性を確認します。ソース形式とターゲットプロバイダーを選択し、すべてのテストを実行して互換性の割合を確認します。これを使用して、プロバイダー間で機能する機能を見つけます。",
    "targetProvider": "対象プロバイダー",
    "runAllTests": "すべてのテストを実行する",
    "runTest": "テストの実行",
    "reRun": "再実行",
    "running": "走っています...",
    "passed": "合格しました",
    "failed": "失敗しました",
    "passedIconLabel": "✅ 合格",
    "chunks": "チャンク",
    "scenarioSimpleChat": "簡単なチャット",
    "scenarioToolCalling": "ツール呼び出し",
    "scenarioMultiTurn": "マルチターン",
    "scenarioThinking": "考える",
    "scenarioSystemPrompt": "システムプロンプト",
    "scenarioStreaming": "ストリーミング",
    "templateNames": {
      "simple-chat": "簡単なチャット",
      "tool-calling": "ツール呼び出し",
      "multi-turn": "マルチターン",
      "thinking": "考える",
      "system-prompt": "システムプロンプト",
      "streaming": "ストリーミング",
      "vision": "ビジョン",
      "schema-coercion": "スキーマの強制"
    },
    "templateDescriptions": {
      "simple-chat": "基本的なテキストメッセージ",
      "tool-calling": "関数/ツールの呼び出し",
      "multi-turn": "歴史との対話",
      "thinking": "拡張された思考/推論",
      "system-prompt": "複雑なシステム命令",
      "streaming": "SSEストリーミングリクエスト",
      "vision": "画像入力を伴うマルチモーダルリクエスト",
      "schema-coercion": "構造化出力 / JSON スキーマの適用"
    },
    "templatePayloads": {
      "simpleChat": {
        "system": "あなたは役に立つアシスタントです。",
        "userGreeting": "こんにちは！今日は元気ですか？"
      },
      "toolCalling": {
        "userWeather": "サンパウロの天気は?",
        "toolDescription": "場所の現在の天気を取得する",
        "cityNameDescription": "都市名"
      },
      "multiTurn": {
        "system": "あなたはコーディングアシスタントです。",
        "userInitial": "Python で配列をソートする関数を作成します。",
        "assistantExample": "簡単な並べ替え関数を次に示します。\n\n「」パイソン\ndef sort_array(arr):\n    ソートされた状態で返す(arr)\n「」",
        "userFollowUp": "次に、降順で並べ替えるようにします。"
      },
      "thinking": {
        "question": "最初の 100 個の素数の合計はいくらですか?"
      },
      "systemPrompt": {
        "systemInstruction": "あなたは分散システムを専門とするシニア ソフトウェア エンジニアです。業界のベスト プラクティスを使用して質問に簡潔に答えます。関連する場合は、必ずコード例を提供してください。マークダウンを使用して応答をフォーマットします。",
        "question": "サーキット ブレーカー パターンを実装するにはどうすればよいですか?"
      },
      "streaming": {
        "prompt": "ロボットが絵を描くことを学ぶことについての短い物語を教えてください。"
      },
      "vision": {
        "system": "あなたはイメージを正確に説明するアシスタントです。",
        "userPrompt": "この画像には何が写っていますか?",
        "imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/600px-PNG_transparency_demonstration_1.png"
      },
      "schemaCoercion": {
        "userPrompt": "メートル単位を使用して東京の天気を検索し、時間ごとの内訳を含めます。",
        "toolDescription": "構造化されたオプションを使用して都市の天気を取得します。",
        "cityDescription": "クエリする都市。例: 「東京」とか「ニューヨーク」とか。"
      }
    },
    "openaiCompatibleLabel": "OpenAI対応",
    "anthropicCompatibleLabel": "人間互換性",
    "noTemplateForFormat": "この形式のテンプレートはありません",
    "translationFailed": "変換に失敗しました: {error}",
    "pipelineDebugger": "パイプラインデバッガー",
    "translationPipeline": "翻訳パイプライン",
    "pipelineVisualization": "パイプラインの可視化",
    "pipelineVisualizationHint": "メッセージを送信して、リクエストが検出→変換→プロバイダー呼び出しまでどのように流れるかを確認します。",
    "chatTesterDescription": "メッセージを特定のクライアント形式で送信し、翻訳パイプラインの各ステップを検査します。",
    "chatTesterFlow": "クライアントリクエスト → フォーマット検出 → OpenAI中間 → プロバイダフォーマット → 応答",
    "clickStepToInspect": "任意のステップをクリックして、その段階のデータを検査します。",
    "clientFormat": "クライアント形式",
    "provider": "プロバイダー",
    "modelPlaceholder": "モデル名を選択または入力します...",
    "sendMessageToSeePipeline": "メッセージを送信して翻訳パイプラインを確認してください",
    "chatMessageHintPrefix": "メッセージの形式は次のようになります。",
    "chatMessageHintSuffix": "リクエストがパイプラインを通じて変換され、選択されたプロバイダーに送信されます。",
    "youWithFormat": "あなた ({format})",
    "assistant": "アシスタント",
    "typeMessage": "メッセージを入力してください...",
    "send": "送信",
    "clientRequest": "クライアントリクエスト",
    "clientRequestDescription": "クライアントが送信するリクエスト本文",
    "formatDetected": "フォーマットが検出されました",
    "formatDetectedDescription": "OmniRoute はリクエスト構造から API 形式を自動検出します",
    "openaiIntermediate": "OpenAI中級者",
    "openaiIntermediateDescription": "すべての形式は最初に OpenAI 形式 (ユニバーサル ブリッジ) に正規化されます。",
    "providerFormat": "プロバイダー形式",
    "providerFormatDescription": "OpenAI 形式はプロバイダーのネイティブ形式に変換されます",
    "providerResponse": "プロバイダーの応答",
    "providerResponseRawDescription": "プロバイダー API からの生の応答",
    "providerResponseSseDescription": "プロバイダー API からの生の SSE ストリーム",
    "unexpectedError": "予期しないエラーが発生しました",
    "error": "エラー",
    "errorMessage": "エラー: {message}",
    "requestFailed": "リクエストが失敗しました",
    "noTextExtracted": "(テキストは抽出されません)",
    "liveMonitorMemoryNote": "イベントはメモリに保存され、再起動時に失われます。",
    "liveMonitorMemoryCapNote": "最大 200 個のイベントが保持されます。",
    "eventSourcesLabel": "イベントソース:",
    "eventSourceTranslatorPage": "• 翻訳者ページ (チャット テスター、テストベンチ)",
    "eventSourceMainPipeline": "• メインリクエストパイプライン（CLI/IDE/APIトラフィック）",
    "liveMonitorDescriptionPrefix": "API 呼び出しが OmniRoute を通過する際の翻訳イベントを表示します。イベントはメモリ内バッファから取得されます (再起動時にリセットされます)。使用する",
    "liveMonitorDescriptionSuffix": "、またはイベントを生成するための外部 API 呼び出し。",
    "streamTransformer": "ストリームトランス",
    "modeDescriptionStreamTransformer": "Responses トランスフォーマーを介してチャット完了 SSE ストリームを実行します。",
    "streamTransformerTitle": "応答ストリームトランスフォーマー",
    "streamTransformerDescription": "チャット完了 SSE ストリームを貼り付け、OmniRoute の Responses トランスフォーマーを介して実行し、クライアントに接続する前に、発行された response.* イベントを検査します。",
    "loadTextSample": "テキストサンプルをロードする",
    "loadToolSample": "ツール呼び出しサンプルのロード",
    "transformToResponses": "応答への変換",
    "rawChatSseInput": "未加工チャットの完了 SSE",
    "transformedResponsesSse": "変換された応答 API SSE",
    "noResultsYet": "まだ結果はありません",
    "transformedEvents": "変換されたイベント",
    "uniqueEventTypes": "ユニークなイベントタイプ",
    "inputLines": "入力ライン",
    "outputLines": "出力行",
    "transformedEventTimeline": "変換されたイベント タイムライン",
    "transformerTimelineHint": "トランスフォーマーを実行して、発行された response.output_* イベントを順番に検査します。",
    "eventType": "イベントの種類",
    "eventPreview": "プレビュー",
    "comboRouted": "コンボルート",
    "uniqueEndpoints": "固有のエンドポイント",
    "routeDetails": "ルート詳細",
    "comboBadge": "コンボ",
    "routeEndpointLabel": "エンドポイント",
    "routeConnectionLabel": "接続",
    "scenarioVision": "ビジョン（イメージ理解）",
    "scenarioSchemaCoercion": "スキーマ強制 (構造化出力)",
    "techniques": "テクニック:"
  },
  "usage": {
    "title": "使用法",
    "loggerTab": "ロガー",
    "proxyTab": "プロキシ",
    "budgetManagement": "予算管理",
    "budgetSaved": "予算制限が保存されました",
    "budgetSaveFailed": "予算を節約できませんでした",
    "loadingBudgetData": "予算データをロードしています...",
    "noApiKeysTitle": "APIキーがありません",
    "noApiKeysDescription": "最初に API キーを追加して、予算制限を設定します。",
    "apiKey": "APIキー",
    "todaysSpend": "今日の支出",
    "thisMonth": "今月",
    "setLimits": "制限を設定する",
    "dailyLimitUsd": "1 日あたりの限度額 (USD)",
    "monthlyLimitUsd": "月間限度額 (USD)",
    "warningThresholdPercent": "警告しきい値 (%)",
    "dailyLimitPlaceholder": "例: 5.00",
    "monthlyLimitPlaceholder": "例: 50.00",
    "warningThresholdPlaceholder": "80",
    "saveLimits": "保存制限",
    "budgetOk": "予算は OK — 残り {remaining}",
    "budgetExceeded": "予算を超えています - リクエストはブロックされる可能性があります",
    "totalRequests": "リクエストの合計",
    "noDataYet": "まだデータがありません",
    "latency": "レイテンシー",
    "latencyP50": "p50",
    "latencyP95": "p95",
    "latencyP99": "p99",
    "promptCache": "プロンプトキャッシュ",
    "systemHealth": "システムの健全性",
    "entries": "エントリー",
    "activeCount": "{count} がアクティブです",
    "openCircuitBreakersDetected": "断線ブレーカーが検出されました",
    "hitRate": "命中率",
    "hitsMisses": "ヒット/ミス",
    "circuitBreakers": "サーキットブレーカー",
    "lockedIPs": "ロックされたIP",
    "lockoutsAutoRefreshHint": "モデルごとのレート制限ロック • 自動リフレッシュ 10 秒",
    "lockedCount": "{count, plural, one {# locked} other {# locked}}",
    "timeLeft": "{time} 残り",
    "howItWorks": "仕組み",
    "howItWorksSubtitle": "評価によって LLM 応答がどのように検証されるかを学びます",
    "define": "定義する",
    "defineStepDescription": "含む、正規表現、完全一致などの戦略を使用して、入力プロンプトと予想される出力基準を含むテスト ケースを作成します。",
    "run": "走る",
    "runStepDescription": "OmniRoute を通じて LLM エンドポイントに対してテスト ケースを実行します。各ケースは実際の API リクエストとして送信されます。",
    "evaluate": "評価する",
    "evaluateStepDescription": "応答は予想される基準と比較されます。遅延メトリクスと詳細なフィードバックを使用して、各ケースの合否を確認します。",
    "evalsStrategyContainsLabel": "__MISSING__:Contains",
    "evalsStrategyExactLabel": "__MISSING__:Exact Match",
    "evalsStrategyRegexLabel": "__MISSING__:Regex",
    "evalsStrategyCustomLabel": "__MISSING__:Custom Logic",
    "evalsStrategyContainsDescription": "__MISSING__:Checks if the LLM output contains the expected substring.",
    "evalsStrategyExactDescription": "__MISSING__:Checks if the LLM output exactly matches the expected value.",
    "evalsStrategyRegexDescription": "__MISSING__:Validates the LLM output against a regular expression pattern.",
    "evalsStrategyCustomDescription": "__MISSING__:Custom evaluation logic (configured via JSON).",
    "historyColumnSuiteName": "__MISSING__:Suite Name",
    "historyColumnTarget": "__MISSING__:Target",
    "historyColumnPassRate": "__MISSING__:Pass Rate",
    "historyColumnAvgLatencyMs": "__MISSING__:Avg Latency",
    "historyColumnCreatedAt": "__MISSING__:Executed",
    "evalSuites": "評価スイート",
    "evalSuitesHint": "スイートをクリックしてテスト ケースを表示し、実行して LLM エンドポイントを評価します",
    "evalsLoading": "評価スイートを読み込み中...",
    "noEvalSuitesFound": "Eval スイートが見つかりません",
    "noEvalSuitesDescription": "評価スイートは、API またはコードで定義できます。これらは、contains、regex、完全一致、カスタム関数などの戦略を使用して、予想される結果に対してモデルの出力をテストします。",
    "columnCase": "ケース",
    "columnStatus": "ステータス",
    "columnLatency": "レイテンシー",
    "columnDetails": "詳細",
    "columnModel": "モデル",
    "columnStrategy": "戦略",
    "columnExpected": "期待される",
    "statsSuites": "スイート",
    "statsTestCases": "テストケース",
    "statsModels": "モデル",
    "statsCoverage": "適用範囲",
    "statsStrategiesCount": "{count} 戦略",
    "evaluationStrategies": "評価戦略",
    "modelsUnderTest": "テスト対象のモデル",
    "searchSuitesPlaceholder": "スイートを検索...",
    "passSuffix": "パスする",
    "casesCount": "{count, plural, one {# case} other {# cases}}",
    "runEval": "評価の実行",
    "runAllSuites": "すべて実行",
    "runAllRunning": "すべて実行中...",
    "runAllProgress": "{current}/{total} を実行中: {name}",
    "runAllFailedSuites": "{count, plural, one {# suite failed} other {# suites failed}}",
    "runAllCompleted": "{suites} スイートを実行しました — {passed} は成功、{failed} は失敗しました",
    "runAllCompletedWithFailures": "{completed} スイートを実行しました。 {failedSuites} は完了できませんでした",
    "runningProgress": "{current}/{total} を実行中...",
    "passRate": "合格率",
    "summaryBreakdown": "{passed} 成功 · {failed} 失敗 · {total} 合計",
    "passedIconLabel": "✅ 合格",
    "failedIconLabel": "❌ 失敗しました",
    "resultPassed": "合格",
    "resultFailed": "失敗しました",
    "expandResult": "結果の詳細を展開する",
    "collapseResult": "結果の詳細を折りたたむ",
    "detailsContains": "内容: 「{term}」",
    "detailsRegex": "正規表現: {pattern}",
    "detailsExpected": "予期される内容: 「{expected}」",
    "expectedOutputLabel": "期待される出力",
    "noResultsYet": "まだ結果はありません",
    "testCasesCount": "テストケース ({count})",
    "noTestCasesDefined": "テストケースが定義されていません",
    "runEvalHint": "[Run Eval] をクリックして、LLM エンドポイントに対してすべてのケースを実行します。各テストは、OmniRoute を通じて実際のリクエストを送信します。",
    "notifyNoTestCases": "このスイートにはテスト ケースが定義されていません",
    "notifyAllCasesPassed": "すべての {total} 件のケースが合格しました ✅",
    "notifySomeCasesFailed": "{passed}/{total} は成功、{failed} は失敗",
    "notifyEvalRunFailed": "評価の実行に失敗しました",
    "notifyEvalTitle": "評価: {name}",
    "modelEvals": "モデルの評価",
    "evalsHeroDescription": "事前定義された評価スイートを実行して、LLM エンドポイントをテストおよび検証します。各スイートには、OmniRoute を通じて実際のプロンプトを送信し、予想される基準と応答を比較するテスト ケースが含まれており、回帰の検出、モデルの比較、プロバイダー全体での応答品質の確保に役立ちます。",
    "qualityValidation": "品質検証",
    "modelComparison": "モデルの比較",
    "regressionDetection": "回帰の検出",
    "latencyBenchmarks": "レイテンシのベンチマーク",
    "modelLockouts": "モデルのロックアウト",
    "noLockouts": "現在ロックされているモデルはありません",
    "activeSessions": "アクティブなセッション",
    "noSessions": "アクティブなセッションはありません",
    "sessionsHint": "リクエストがプロキシを通過するとセッションが表示されます",
    "sessionsTrackedHint": "リクエストのフィンガープリンティングによって追跡 • 自動リフレッシュ 5 秒",
    "session": "セッション",
    "age": "年齢",
    "requests": "リクエスト",
    "connection": "接続",
    "durationMillisecondsShort": "{value}ms",
    "durationSecondsShort": "{value}s",
    "durationMinutesShort": "{value}m",
    "durationHoursShort": "{value}h",
    "reasonSeparator": " - ",
    "notAvailableSymbol": "-",
    "providerLimits": "プロバイダーの制限",
    "noProviders": "プロバイダーが接続されていません",
    "connectProvidersForQuota": "OAuth を使用してプロバイダーに接続し、API クォータの制限と使用状況を追跡します。",
    "accountsCount": "{count, plural, one {# account} other {# accounts}}",
    "filteredFromCount": "({count} からフィルタリング)",
    "autoRefresh": "自動更新",
    "refreshAll": "すべて更新",
    "loadingQuotas": "読み込み中...",
    "account": "アカウント",
    "modelQuotas": "モデルのクォータ",
    "lastUsed": "Last Refreshed",
    "actions": "アクション",
    "refreshQuota": "クォータの更新",
    "today": "今日",
    "tomorrow": "明日",
    "dayTimeFormat": "{day}、{time}",
    "inDuration": "{duration} 内",
    "notApplicable": "該当なし",
    "rawPlanWithValue": "未加工のプラン: {plan}",
    "noPlanFromProvider": "プロバイダーからのプランなし",
    "noQuotaData": "クォータ データがありません",
    "cardExpand": "__MISSING__:Expand",
    "cardCollapse": "__MISSING__:Collapse",
    "moreQuotas": "__MISSING__:+{count} more",
    "ungrouped": "Ungrouped",
    "viewFlat": "Flat",
    "viewByEnvironment": "By Environment",
    "noQuotaDataAvailable": "利用可能なクォータ データがありません",
    "noAccountsForTierFilter": "層フィルターのアカウントが見つかりませんでした",
    "tierAll": "すべて",
    "tierEnterprise": "エンタープライズ",
    "tierTeam": "チーム",
    "tierBusiness": "ビジネス",
    "tierUltra": "ウルトラ",
    "tierPro": "プロ",
    "tierPlus": "プラス",
    "tierFree": "無料",
    "tierLite": "__MISSING__:Lite",
    "tierUnknown": "不明",
    "statTotal": "__MISSING__:Total",
    "statCritical": "__MISSING__:Critical",
    "statAlert": "__MISSING__:Alert",
    "statHealthy": "__MISSING__:Healthy",
    "filterPurchaseTypeLabel": "__MISSING__:Type",
    "filterTierLabel": "__MISSING__:Tier",
    "purchaseAll": "__MISSING__:All",
    "purchaseOauthSub": "__MISSING__:Subscription",
    "purchaseOauthFree": "__MISSING__:OAuth Free",
    "purchaseApiKey": "__MISSING__:API Key",
    "creditsLabel": "__MISSING__:Credits",
    "creditBalanceHint": "__MISSING__:Remaining balance",
    "unlimitedLabel": "__MISSING__:Unlimited",
    "refreshing": "__MISSING__:Refreshing",
    "resetsIn": "__MISSING__:Resets in",
    "editCutoffs": "カットオフを編集する",
    "forceRefresh": "今すぐ更新してください",
    "suiteBuilderSaveFailed": "Failed to save suite",
    "clone": "クローン",
    "exportSuite": "エクスポート",
    "importSuite": "インポート",
    "suiteExported": "スイートがエクスポートされました",
    "suiteExportFailed": "スイートのエクスポートに失敗しました",
    "suiteImportReady": "スイートのインポートがレビューのためにロードされました",
    "suiteImportFailed": "スイートのインポートに失敗しました",
    "suiteImportInvalid": "無効な評価スイート JSON",
    "suiteBuilderCloneSuffix": "コピー",
    "suiteBuilderImportedSuite": "輸入スイート",
    "scorecardTitle": "Scorecard",
    "evalApiKey": "API Key",
    "scorecardPassRate": "Pass Rate",
    "targetTypeModel": "Model",
    "actualOutputLabel": "Actual Output",
    "evalTargetHint": "Select a model or combo to evaluate.",
    "suiteBuilderDeleted": "Suite deleted successfully",
    "suiteBuilderCaseCardHint": "Define the input prompt and expected output criteria.",
    "nextResetUtc": "Next reset (UTC)",
    "scorecardHint": "Aggregated pass rates across all evaluation suites.",
    "suiteLatestRunsHint": "Most recent evaluation runs for this suite.",
    "saving": "Saving",
    "suiteBuilderCaseModelLabel": "Model (optional)",
    "evalControlsTitle": "Evaluation Controls",
    "suiteBuilderEditTitle": "Edit Eval Suite",
    "suiteBuilderCaseStrategyLabel": "Validation Strategy",
    "notifySelectDifferentCompareTarget": "Please select a different target for comparison",
    "recentRunsHint": "Showing the most recent evaluation runs. Click a run to see detailed results.",
    "evalCompareHint": "Optionally compare results against a second target.",
    "suiteBuilderCaseInvalid": "This case has validation errors. Please fix before saving.",
    "historyEmpty": "No evaluation history yet",
    "suiteBuilderUpdated": "Suite updated successfully",
    "resetInterval": "Reset Interval",
    "suiteBuilderCreateTitle": "Create Eval Suite",
    "activePeriodSpend": "Active Period Spend",
    "evalApiKeyHint": "Select which API key to use for evaluation requests.",
    "evalCompareOptional": "Compare (optional)",
    "suiteBuilderDeleteFailed": "Failed to delete suite",
    "suiteBuilderCaseSystemPromptPlaceholder": "Optional system instructions...",
    "scorecardCases": "Cases",
    "runCompletedWithScore": "Evaluation completed — {score}% pass rate",
    "suiteBuilderCustomBadge": "Custom",
    "targetSuiteDefaults": "Suite defaults",
    "suiteBuilderDeleteConfirm": "Are you sure you want to delete this suite? This action cannot be undone.",
    "suiteBuilderNameLabel": "Suite Name",
    "scorecardSuites": "Suites",
    "evalCompareTarget": "Compare Target",
    "suiteBuilderCaseModelPlaceholder": "e.g. gpt-4o-mini",
    "evalControlsHint": "Configure your evaluation target and API key, then run suites to validate model quality.",
    "recentRunsTitle": "Recent Runs",
    "suiteBuilderCaseSystemPromptLabel": "System Prompt",
    "suiteBuilderCaseExpectedPlaceholder": "e.g. def fibonacci",
    "suiteBuilderCaseExpectedPlaceholderContains": "例:デフフィボナッチ",
    "suiteBuilderCaseExpectedPlaceholderExact": "予想される正確な応答を貼り付けます",
    "suiteBuilderCaseExpectedPlaceholderRegex": "例: ^\\\\s*\\\\{.*\\\\}\\\\s*$",
    "suiteBuilderCaseExpectedHintRegex": "スラッシュを囲まずに JavaScript 正規表現を使用します。",
    "suiteBuilderNamePlaceholder": "e.g. Coding Quality Suite",
    "suiteBuilderAddCase": "Add Case",
    "cancel": "Cancel",
    "evalTarget": "Target",
    "suiteBuilderCaseNameLabel": "Case Name",
    "weeklyLimitUsd": "Weekly Limit (USD)",
    "suiteBuilderCaseUserPromptPlaceholder": "e.g. Write a fibonacci function in Python",
    "suiteBuilderNameRequired": "Suite name is required",
    "suiteBuilderCaseUserPromptLabel": "User Prompt",
    "daily": "Daily",
    "resultErrorLabel": "Error",
    "suiteBuilderBuiltInBadge": "Built-in",
    "suiteBuilderCaseCardTitle": "Test Case",
    "suiteBuilderDuplicateCase": "重複",
    "weeklyLimitPlaceholder": "e.g. 50.00",
    "suiteBuilderCaseTagsHint": "Comma-separated tags for organizing test cases.",
    "notifyEvalRunFailedWithReason": "Evaluation failed: {reason}",
    "weekly": "Weekly",
    "runEvalRunning": "Running evaluation...",
    "delete": "Delete",
    "resetTimeUtc": "Reset Time (UTC)",
    "evalApiKeyAuto": "Auto (use default)",
    "suiteBuilderDescriptionPlaceholder": "Optional description of what this suite tests...",
    "targetComparisonTitle": "Target Comparison",
    "save": "Save",
    "suiteBuilderCreated": "Suite created successfully",
    "suiteLatestRuns": "Latest Runs",
    "suiteBuilderCaseExpectedLabel": "Expected Value",
    "historyLatency": "Latency",
    "suiteBuilderCaseTagsPlaceholder": "e.g. coding, python",
    "targetTypeCombo": "Combo",
    "scorecardPassed": "Passed",
    "suiteBuilderCaseTagsLabel": "Tags",
    "suiteBuilderNewSuite": "New Suite",
    "notifyEvalLoadFailed": "Failed to load evaluation data",
    "notConfigured": "Not Configured",
    "suiteBuilderCaseNamePlaceholder": "e.g. Python fibonacci test",
    "intervalLabel": "Interval",
    "suiteBuilderCreateAction": "Create Suite",
    "suiteBuilderCasesHint": "Each case sends a prompt and validates the response.",
    "suiteBuilderUpdatedAt": "Updated",
    "errorBadge": "Error",
    "suiteBuilderCasesTitle": "Test Cases",
    "edit": "Edit",
    "monthly": "Monthly",
    "suiteBuilderCasesRequired": "At least one test case is required",
    "weeklyLimitSummary": "Weekly budget limit summary",
    "suiteBuilderDescriptionLabel": "Description",
    "targetComparisonHint": "Side-by-side comparison of evaluation results between targets.",
    "compareCompletedWithScore": "Comparison completed — {score}% pass rate",
    "staleQuotaTooltip": "Last refresh failed — showing cached data",
    "quotaThresholdLabel": "残り分",
    "quotaCutoffsColumnHelp": "残りのクォータがこのパーセンテージ以下になった場合、リクエストを停止します。",
    "quotaCutoffsButtonDefault": "デフォルト",
    "quotaCutoffsButtonHelp": "このアカウントの残りの最小クォータのカットオフを編集します。",
    "quotaCutoffsButtonDisabled": "このアカウントではまだ利用可能なクォータ ウィンドウがありません。",
    "quotaCutoffsTitle": "{name} ({provider}) のクォータ カットオフ",
    "quotaCutoffsExplainer": "このアカウントが各クォータ ウィンドウで選択されなくなる最小残りクォータ パーセンテージをオーバーライドします。プロバイダーのデフォルトを継承するには、空白のままにします。",
    "quotaCutoffsDefaultHint": "デフォルトの残りの最小値: {default}%",
    "quotaCutoffsResetAll": "すべてリセット",
    "quotaCutoffsNoWindows": "このアカウントではまだ利用可能なクォータ ウィンドウがありません。",
    "quotaThresholdInvalid": "0 ～ 100 の整数を入力します。",
    "budgetKpiToday": "今日",
    "budgetKpiThisMonth": "今月",
    "budgetKpiProjEom": "プロジェクトEOM",
    "budgetKpiBlocked": "ブロックされました",
    "budgetKpiAtRisk": "危険にさらされています",
    "budgetKpiActiveKeys": "アクティブなキー",
    "budgetSearchKeysPlaceholder": "検索キー...",
    "budgetSortPctUsed": "並べ替え: 使用率 ↓",
    "budgetSortTodayDollar": "並べ替え: 今日 $ ↓",
    "budgetSortMonthDollar": "並べ替え: 月 $ ↓",
    "budgetSortNameAZ": "並べ替え: 名前 (A ～ Z)",
    "budgetColDailyLim": "毎日の制限",
    "budgetColMonthlyLim": "月間限度額",
    "budgetColUsedPct": "使用済み%",
    "budgetLoading": "読み込み中…",
    "budgetNoKeysMatch": "フィルタに一致するキーはありません",
    "budgetLinearExtrapolation": "線形外挿",
    "budgetThisMonthSoFar": "今月はここまで",
    "budgetProjectedEndOfMonth": "月末予定",
    "budgetByProvider": "プロバイダー別",
    "budgetDailyDollar": "毎日の$",
    "budgetWeeklyDollar": "毎週 $",
    "budgetMonthlyDollar": "月額$",
    "budgetWarnAtPct": "% で警告",
    "quotaAlerts": "クォータのアラート",
    "quotaTableRefreshing": "⟳ 爽やか…",
    "noSpendLast30Days": "過去 30 日間に支出はありません",
    "updatedShort": "__MISSING__:Updated",
    "lastRefreshed": "__MISSING__:Last refreshed",
    "providerQuota": "__MISSING__:Provider Quota",
    "providerQuotaHomeHint": "__MISSING__:Live status across connected accounts"
  },
  "modals": {
    "waitingAuth": "承認を待っています",
    "verificationUrl": "認証URL",
    "yourCode": "あなたのコード",
    "remoteAccess": "リモートアクセス:",
    "connectedSuccess": "正常に接続されました!",
    "connectionFailed": "接続に失敗しました",
    "chooseAuthMethod": "認証方法を選択してください:",
    "awsBuilderId": "AWS ビルダー ID",
    "awsIamIdentity": "AWS IAM ID センター",
    "googleAccount": "Googleアカウント",
    "githubAccount": "GitHub アカウント",
    "importToken": "トークンのインポート",
    "pasteToken": "Kiro IDE からリフレッシュ トークンを貼り付けます。",
    "awsRegion": "AWS リージョン",
    "autoDetecting": "トークンを自動検出しています...",
    "readingFromCache": "AWS SSO キャッシュからの読み取り",
    "readingFromCursor": "Cursor IDE データベースからの読み取り",
    "initializing": "初期化中...",
    "pricingConfig": "価格設定",
    "loadingPricing": "価格データをロードしています...",
    "pricingRatesFormat": "価格設定レートの形式",
    "noPricingData": "利用可能な価格データはありません",
    "noModelsFound": "モデルが見つかりません"
  },
  "loggers": {
    "allProviders": "すべてのプロバイダー",
    "allModels": "全モデル",
    "allAccounts": "すべてのアカウント",
    "allApiKeys": "すべての API キー",
    "allTypes": "全種類",
    "allLevels": "すべてのレベル",
    "modelAZ": "モデルA～Z",
    "modelZA": "Z-A型",
    "loadingLogs": "ログを読み込んでいます...",
    "loadingProxyLogs": "プロキシ ログを読み込んでいます...",
    "noLogEntries": "ログエントリが見つかりませんでした",
    "noPayloadData": "このログ エントリに使用できるペイロード データはありません。",
    "proxyEvent": "プロキシイベント",
    "proxy": "プロキシ",
    "level": "レベル",
    "directNative": "ダイレクト（ネイティブ）",
    "combo": "コンボ",
    "inputTokens": "私：",
    "outputTokens": "お:"
  },
  "stats": {
    "usageOverview": "使用方法の概要",
    "outputTokens": "出力トークン",
    "totalCost": "総コスト",
    "usageByModel": "モデル別の使用状況",
    "usageByAccount": "アカウント別の使用状況",
    "failedToLoad": "使用状況統計のロードに失敗しました。",
    "tokenHealth": "トークンの健全性",
    "totalOAuth": "合計 OAuth",
    "healthy": "健康",
    "warning": "警告",
    "errored": "エラーが発生しました",
    "lastCheck": "最終チェック",
    "noData": "データなし",
    "share": "シェアする",
    "unableToLoad": "システムメトリクスをロードできません",
    "product": "製品",
    "resources": "リソース",
    "company": "会社名"
  },
  "auth": {
    "welcome": "ようこそ",
    "signIn": "サインイン",
    "enterPassword": "続行するにはパスワードを入力してください",
    "password": "パスワード",
    "unifiedProxy": "統合 AI API プロキシ",
    "unifiedAiApiProxy": "統合 AI API プロキシ",
    "unifiedAiApiProxyDesc": "単一のエンドポイントを通じて複数の AI プロバイダーにリクエストをルーティングします。負荷分散、フェイルオーバー、使用状況追跡が組み込まれています。",
    "passwordNotEnabled": "パスワード保護が有効になっていません",
    "loading": "読み込み中...",
    "invalidPassword": "無効なパスワード",
    "errorOccurredRetry": "エラーが発生しました。もう一度試してください。",
    "configureInstance": "OmniRoute インスタンスを構成しましょう",
    "runOnboardingWizard": "オンボーディングウィザードを実行して、パスワード設定と最初の AI プロバイダー接続を行います。",
    "startOnboarding": "オンボーディングを開始する",
    "secureYourInstance": "インスタンスを保護する",
    "setPasswordDescription": "パスワードを設定してダッシュボードを保護し、API エンドポイントを不正アクセスから保護します。",
    "configurePassword": "パスワードの設定",
    "continue": "続ける",
    "windowWillClose": "このウィンドウは自動的に閉じます...",
    "closeTabNow": "このタブは今閉じても大丈夫です。",
    "copyUrlManual": "アドレスバーの URL をコピーしてアプリケーションに貼り付けてください。",
    "accessDeniedDescription": "このリソースにアクセスする権限がありません。 API キーを確認するか、管理者に問い合わせてください。",
    "goToDashboard": "ダッシュボードに移動",
    "featureMultiProviderTitle": "マルチプロバイダー",
    "featureMultiProviderDesc": "OpenAI、Anthropic、Google など",
    "featureLoadBalancingTitle": "ロードバランシング",
    "featureLoadBalancingDesc": "リクエストをインテリジェントに分散する",
    "featureUsageTrackingTitle": "使用状況の追跡",
    "featureUsageTrackingDesc": "コストとトークンを監視する",
    "resetPassword": "パスワードのリセット",
    "resetDescription": "ダッシュボードへのアクセスを回復する方法を選択してください",
    "stopServer": "OmniRoute サーバーを停止",
    "processing": "処理中...",
    "pleaseWait": "認証が完了するまでお待ちください。",
    "authSuccess": "認証に成功しました!",
    "copyUrl": "この URL をコピーする",
    "accessDenied": "アクセスが拒否されました",
    "methodCliTitle": "方法 1: CLI のリセット",
    "methodCliDescription": "OmniRoute が実行されているサーバーで次のコマンドを実行します。",
    "methodCliHint": "新しいパスワードを設定するよう求められます。最初にサーバーを停止する必要があります。",
    "methodManualTitle": "方法 2: 手動リセット",
    "methodManualDescription": "データベースからパスワードを削除し、起動時に新しいパスワードを設定します:",
    "setPasswordInYour": "次のファイルで新しいパスワードを設定してください",
    "fileLabelSuffix": "ファイル:",
    "newPasswordPlaceholder": "あなたの新しいパスワード",
    "deleteSettingsFile": "削除",
    "orRemovePasswordHashField": "または、passwordHash フィールドを削除します",
    "restartServerWithNewPassword": "サーバーを再起動すると新しいパスワードが適用されます",
    "backToLogin": "ログインに戻る",
    "forgotPassword": "パスワードをお忘れですか?",
    "defaultPasswordHint": "Default password: CHANGEME (unless INITIAL_PASSWORD was set)",
    "Authorization": "認可",
    "Content-Disposition": "コンテンツの配置",
    "waitingForAuthorization": "Waiting for authorization...",
    "waitingForGoogleAuthorization": "Waiting for Google authorization...",
    "waitingForOpenAIAuthorization": "Waiting for OpenAI authorization...",
    "waitingForAntigravityAuthorization": "Waiting for Antigravity authorization...",
    "waitingForQoderAuthorization": "Waiting for Qoder authorization...",
    "exchangingCodeForTokens": "Exchanging code for tokens...",
    "nodeIncompatibleTitle": "Incompatible Node.js Version",
    "nodeIncompatibleDesc": "You are running Node.js {version}, which is outside OmniRoute's supported secure runtime policy. Use a patched Node.js 20.x or 22.x LTS release.",
    "nodeIncompatibleFixLabel": "Fix: install a patched Node.js 22 LTS release",
    "nodeIncompatibleHint": "OmniRoute requires Node.js 20.20.2+ (20.x LTS), 22.22.2+ (22.x LTS) or 24.0.0+ (24.x LTS). Node 24 LTS is recommended."
  },
  "landing": {
    "brandName": "オムニルート",
    "navigateHome": "ホームに移動する",
    "toggleMenu": "メニューの切り替え",
    "featuresLink": "特長",
    "docsLink": "ドキュメント",
    "github": "GitHub",
    "versionLive": "v1.0 が公開されました",
    "oneEndpoint": "1 つのエンドポイント",
    "allProviders": "すべての AI プロバイダー",
    "heroDescription": "Web ダッシュボードを備えた AI エンドポイント プロキシ - CLIProxyAPI の JavaScript ポート。 Claude Code、OpenAI Codex、Cline、RooCode、その他の CLI ツールとシームレスに連携します。",
    "getStarted": "始めましょう",
    "viewOnGithub": "GitHub で見る",
    "powerfulFeatures": "強力な機能",
    "featuresSubtitle": "AI インフラストラクチャを管理するために必要なものすべてが 1 か所で構築され、規模に応じて構築されます。",
    "featureUnifiedEndpointTitle": "統合エンドポイント",
    "featureUnifiedEndpointDesc": "単一の標準 API URL を介してすべてのプロバイダーにアクセスします。",
    "featureEasySetupTitle": "簡単セットアップ",
    "featureEasySetupDesc": "npx コマンドを使用すると、数分で起動して実行できます。",
    "featureModelFallbackTitle": "モデルのフォールバック",
    "featureModelFallbackDesc": "障害が発生したり待ち時間が長くなったりすると、プロバイダーを自動的に切り替えます。",
    "featureUsageTrackingTitle": "使用状況の追跡",
    "featureUsageTrackingDesc": "すべてのモデルにわたる詳細な分析とコストの監視。",
    "featureOAuthApiKeysTitle": "OAuth と API キー",
    "featureOAuthApiKeysDesc": "認証情報を 1 つのコンテナーで安全に管理します。",
    "featureCloudSyncTitle": "クラウド同期",
    "featureCloudSyncDesc": "デバイス間で構成を即座に同期します。",
    "featureCliSupportTitle": "CLI のサポート",
    "featureCliSupportDesc": "クロード コード、コーデックス、クライン、カーソルなどで動作します。",
    "featureDashboardTitle": "ダッシュボード",
    "featureDashboardDesc": "リアルタイムのトラフィック分析のためのビジュアル ダッシュボード。",
    "howItWorks": "オムニルートの仕組み",
    "howItWorksDescription": "データはアプリケーションからインテリジェントなルーティング層を介して、ジョブに最適なプロバイダーにシームレスに流れます。",
    "howItWorksStep1Title": "1. CLI と SDK",
    "howItWorksStep1Description": "リクエストはお気に入りのツールまたは統合 SDK から始まります。ベースURLを変更するだけです。",
    "howItWorksStep2Title": "2. オムニルートハブ",
    "howItWorksStep2Description": "私たちのエンジンはプロンプトを分析し、プロバイダーの状態をチェックし、遅延やコストが最小になるようにルートを設定します。",
    "howItWorksStep3Title": "3. AIプロバイダー",
    "howItWorksStep3Description": "リクエストは、OpenAI、Anthropic、Gemini などによって即座に実行されます。",
    "getStartedIn30Seconds": "30 秒で始めましょう",
    "getStartedDescription": "OmniRoute をインストールし、Web ダッシュボードでプロバイダーを構成し、AI リクエストのルーティングを開始します。",
    "installOmniRoute": "オムニルートをインストールする",
    "installStepDescription": "npxコマンドを実行してサーバーを即座に起動します",
    "openDashboard": "ダッシュボードを開く",
    "openDashboardStepDescription": "Webインターフェース経由でプロバイダーとAPIキーを設定する",
    "routeRequests": "ルートリクエスト",
    "routeRequestsStepDescription": "CLI ツールを {endpoint} に指定します。",
    "terminal": "端子",
    "copy": "コピー",
    "copied": "✓ コピーされました",
    "startingOmniRoute": "オムニルートを開始しています...",
    "serverRunningOnLabel": "で実行されているサーバー",
    "dashboardLabel": "ダッシュボード",
    "readyToRoute": "ルートの準備ができました! ✓",
    "configureProvidersNote": "📝 ダッシュボードでプロバイダーを構成するか、環境変数を使用する",
    "dataLocation": "データの場所:",
    "dataLocationMacLinux": " macOS/Linux:",
    "dataLocationWindows": " Windows:",
    "product": "製品",
    "dashboardLink": "ダッシュボード",
    "changelog": "変更履歴",
    "resources": "リソース",
    "documentation": "ドキュメント",
    "npm": "故宮",
    "legal": "法的",
    "mitLicense": "MITライセンス",
    "footerTagline": "AI 生成のための統合エンドポイント。 AI プロバイダーを簡単に接続、ルーティング、管理します。",
    "copyright": "© {year} オムニルート。無断転載を禁じます。",
    "flowToolClaudeCode": "クロード・コード",
    "flowToolOpenAICodex": "OpenAI コーデックス",
    "flowToolCline": "クライン",
    "flowToolCursor": "カーソル",
    "flowProviderOpenAI": "OpenAI",
    "flowProviderAnthropic": "人間的",
    "flowProviderGemini": "ジェミニ",
    "flowProviderGithubCopilot": "GitHub コパイロット",
    "interactiveDiagram": "デスクトップ上に表示されるインタラクティブな図",
    "ctaTitle": "AI インフラストラクチャを簡素化する準備はできていますか?",
    "ctaDescription": "OmniRoute との AI 統合を効率化している開発者に加わりましょう。オープンソースで無料で始められます。",
    "startFree": "無料で始める",
    "readDocumentation": "ドキュメントを読む"
  },
  "docs": {
    "title": "ドキュメント",
    "quickStart": "クイックスタート",
    "deploymentGuides": "導入ガイド",
    "features": "特長",
    "supportedProviders": "サポートされているプロバイダー",
    "supportedProvidersToc": "プロバイダー",
    "commonUseCases": "一般的な使用例",
    "clientCompatibility": "クライアントの互換性",
    "protocolsToc": "Protocols",
    "apiReference": "APIリファレンス",
    "managementApiReference": "Management API Reference",
    "managementApiDescription": "Automation endpoints for proxy registry, scope assignments, and legacy proxy migration.",
    "method": "方法",
    "path": "パス",
    "notes": "注意事項",
    "modelPrefixes": "モデルプレフィックス",
    "prefix": "プレフィックス",
    "troubleshooting": "トラブルシューティング",
    "supportsChat": "チャットと応答の両方のエンドポイントをサポートします。",
    "oauthAutoRefresh": "自動トークン更新を使用した OAuth 接続。",
    "fullStreaming": "すべてのモデルでストリーミングを完全にサポート。",
    "docsLabel": "ドキュメント",
    "docsHeroDescription": "マルチプロバイダー LLM 用の AI ゲートウェイ。 OpenAI、Anthropic、Gemini、GitHub Copilot、Claude Code、Cursor、および 20 以上のプロバイダーに対応する 1 つのエンドポイント。",
    "openDashboard": "ダッシュボードを開く",
    "endpointPage": "エンドポイントページ",
    "github": "GitHub",
    "reportIssue": "レポートの問題",
    "onThisPage": "このページでは",
    "documentationVersion": "ドキュメント - v{version}",
    "quickStartStep1Title": "1. インストールして実行する",
    "quickStartStep1Prefix": "走る",
    "quickStartStep1Middle": "または GitHub からクローンを作成して実行します",
    "quickStartStep2Title": "2. APIキーの作成",
    "quickStartStep2Text": "[エンドポイント] -> [登録済みキー] に移動します。環境ごとに 1 つのキーを生成します。",
    "quickStartStep3Title": "3. プロバイダーに接続する",
    "quickStartStep3Text": "OAuth ログイン、API キー、または無料枠の自動接続を介してプロバイダー アカウントを追加します。",
    "quickStartStep4Title": "4. クライアントベースURLの設定",
    "quickStartStep4Prefix": "IDE または API クライアントを次のように指定します。",
    "quickStartStep4Suffix": "たとえば、プロバイダーのプレフィックスを使用します。",
    "deploySetupTitle": "セットアップガイド",
    "deploySetupText": "OmniRoute の段階的なインストール、環境構成、最初の実行のウォークスルー。",
    "deployElectronTitle": "エレクトロンデスクトップ",
    "deployElectronText": "Windows、macOS、Linux 上で OmniRoute をネイティブ デスクトップ アプリケーションとして実行します。",
    "deployDockerTitle": "ドッカー",
    "deployDockerText": "Docker Compose を使用したコンテナ化されたデプロイメント。実稼働スタックと Kubernetes の準備ができています。",
    "deployVmTitle": "仮想マシン",
    "deployVmText": "任意の Linux VM 上でセルフホストします。 systemd ユニット、ログ ローテーション、バックアップ ツールが含まれます。",
    "deployFlyTitle": "Fly.io",
    "deployFlyText": "1 つの fly.toml と 1 つのデプロイ コマンドを使用して、Fly.io エッジ ランタイムにデプロイします。",
    "deployPwaTitle": "PWA",
    "deployPwaText": "OmniRoute をプログレッシブ Web アプリとして Android、iOS、デスクトップ ブラウザーにインストールします。",
    "deployTermuxTitle": "Termux (Android)",
    "deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser.",
    "featureRoutingTitle": "マルチプロバイダールーティング",
    "featureRoutingText": "単一の OpenAI 互換エンドポイントを通じて 30 以上の AI プロバイダーにリクエストをルーティングします。チャット、応答、音声、画像 API をサポートします。",
    "featureCombosTitle": "コンボとバランス調整",
    "featureCombosText": "フォールバック チェーンとバランス戦略 (ラウンドロビン、優先順位、ランダム、使用量が最も少ない戦略、コスト最適化) を使用してモデル コンボを作成します。",
    "featureUsageTitle": "使用量とコストの追跡",
    "featureUsageText": "リアルタイムのトークンカウント、プロバイダー/モデルごとのコスト計算、API キーとアカウントごとの詳細な使用量の内訳。",
    "featureAnalyticsTitle": "分析ダッシュボード",
    "featureAnalyticsText": "リクエスト、トークン、エラー、レイテンシ、コスト、およびモデルの人気を時系列でグラフ化した視覚的な分析。",
    "featureHealthTitle": "ヘルスモニタリング",
    "featureHealthText": "ライブヘルスチェック、プロバイダーのステータス、サーキットブレーカーの状態、および指数バックオフによる自動レート制限検出。",
    "featureCliTitle": "CLIツール",
    "featureCliText": "IDE 構成の管理、バックアップのエクスポート/インポート、コーデックス プロファイルの検出、ダッシュボードからの設定の構成を行います。",
    "featureSecurityTitle": "セキュリティとポリシー",
    "featureSecurityText": "API キー認証、IP フィルタリング、プロンプト インジェクション ガード、ドメイン ポリシー、セッション管理、監査ログ。",
    "featureCloudSyncTitle": "クラウド同期",
    "featureCloudSyncText": "構成をCloudflare Workersに同期して、暗号化された認証情報と自動フェイルオーバーによるリモートアクセスを実現します。",
    "providersAcrossConnectionTypes": "{count} プロバイダーは 3 つの接続タイプにまたがります。",
    "manageProviders": "プロバイダーの管理",
    "providersCount": "{count} プロバイダー",
    "providerTypeFree": "無料利用枠",
    "providerTypeOAuth": "OAuth",
    "providerTypeApiKey": "APIキー",
    "useCaseSingleEndpointTitle": "多くのプロバイダーに対応する単一のエンドポイント",
    "useCaseSingleEndpointText": "クライアントに 1 つのベース URL を指定し、モデル プレフィックス (例: gh/、cc/、kr/、openai/) によってルーティングします。",
    "useCaseFallbackTitle": "コンボによるフォールバックとモデル切り替え",
    "useCaseFallbackText": "ダッシュボードでコンボ モデルを作成し、プロバイダーが内部でローテーションする間、クライアント構成を安定に保ちます。",
    "useCaseUsageVisibilityTitle": "使用量、コスト、デバッグの可視性",
    "useCaseUsageVisibilityText": "[使用状況] タブと [分析] タブで、プロバイダー、アカウント、API キーごとにトークンとコストを追跡します。",
    "clientCherryStudioTitle": "チェリースタジオ",
    "baseUrlLabel": "ベースURL",
    "chatEndpointLabel": "チャットエンドポイント",
    "modelRecommendationLabel": "モデルの推奨事項: 明示的なプレフィックス",
    "clientCodexTitle": "Codex / GitHub コパイロット モデル",
    "clientCodexBullet1": "モデル ID を使用する",
    "clientCodexBullet2": "Codex ファミリ モデルの自動ルーティング先",
    "clientCodexBullet3": "非コーデックスモデルも継続",
    "clientCursorTitle": "カーソルIDE",
    "clientCursorBullet1": "使用する",
    "clientCursorBullet1Suffix": "カーソルモデルのプレフィックス。",
    "clientCursorBullet2": "OAuth 接続 - プロバイダー ページからログインします。",
    "clientClaudeTitle": "クロード・コード / 反重力",
    "clientClaudeBullet1Prefix": "使用する",
    "clientClaudeBullet1Middle": "（クロード）または",
    "clientClaudeBullet1Suffix": "(反重力) 接頭辞。",
    "clientWindsurfTitle": "ウィンドサーフィン",
    "clientWindsurfBullet1": "OmniRoute を OpenAI 互換のベース URL として使用し、確定的なルーティングのために明示的なプロバイダー プレフィックスを保持します。",
    "clientWindsurfBullet2": "一般トラフィック用にモデルを `/v1/chat/completions` にポイントし、Codex スタイルのフロー用に `/v1/responses` を保存します。",
    "clientWindsurfBullet3": "既製の Windsurf 構成ガイドについては、[ダッシュボード] -> [CLI ツール] を使用してください。",
    "clientClineTitle": "クライン",
    "clientClineBullet1": "Cline は明示的なプロバイダー/モデル プレフィックスを使用する場合に最適に機能するため、ルーターはバックエンドを推測する必要がありません。",
    "clientClineBullet2": "一般的なモデルには「/v1/chat/completions」を使用し、異なるアカウント間で同じ OmniRoute ベース URL を再利用します。",
    "clientClineBullet3": "Cline ランタイムの問題をデバッグする前に、プロバイダー ダッシュボードを使用して OAuth/API キーを検証します。",
    "clientKimiTitle": "キミコーディング",
    "clientKimiBullet1": "OmniRoute を安定したベース URL として使用し、その下でアカウントまたはプロバイダーの組み合わせをローテーションします。",
    "clientKimiBullet2": "フォールバックと監査証跡が明示的なままになるように、コーディング フローではプレフィックス付きのモデルを優先します。",
    "clientKimiBullet3": "ツールを使用するクライアントに対してネイティブの Responses スタイルのルーティングが必要な場合は、「/v1/responses」を使用します。",
    "protocolsTitle": "Protocols: MCP & A2A",
    "protocolsDescription": "OmniRoute exposes two operational protocols in addition to OpenAI-compatible APIs: MCP for tool execution and A2A for agent-to-agent workflows.",
    "protocolMcpTitle": "MCP (Model Context Protocol)",
    "protocolMcpDesc": "Use MCP over stdio to let clients discover and call OmniRoute tools with audit visibility.",
    "protocolMcpStep1": "Start MCP transport with `omniroute --mcp`.",
    "protocolMcpStep2": "Point your MCP client to stdio transport.",
    "protocolMcpStep3": "Call `omniroute_get_health` and `omniroute_list_combos` to validate connectivity.",
    "protocolA2aTitle": "A2A (Agent2Agent)",
    "protocolA2aDesc": "Use A2A JSON-RPC to submit tasks synchronously or via SSE streaming.",
    "protocolA2aStep1": "Read `/.well-known/agent.json` for agent discovery.",
    "protocolA2aStep2": "Send `message/send` or `message/stream` requests to `POST /a2a`.",
    "protocolA2aStep3": "Manage task lifecycle with `tasks/get` and `tasks/cancel`.",
    "protocolTroubleshootingTitle": "Protocol Troubleshooting",
    "protocolTroubleshooting1": "If MCP status is offline, verify the stdio process is running and heartbeat file is updating.",
    "protocolTroubleshooting2": "If A2A tasks stay in `working`, inspect `/api/a2a/tasks/:id` and stream events for terminal state.",
    "protocolTroubleshooting3": "Use `/dashboard/mcp` and `/dashboard/a2a` for operational controls and audit visibility.",
    "endpointChatNote": "OpenAI 互換のチャット エンドポイント (デフォルト)。",
    "endpointResponsesNote": "応答 API エンドポイント (Codex、o シリーズ)。",
    "endpointModelsNote": "接続されているすべてのプロバイダーのモデル カタログ。",
    "endpointAudioNote": "音声転写 (Deepgram、AssemblyAI)。",
    "endpointSpeechNote": "テキスト読み上げ（ElevenLabs、OpenAI TTS）。",
    "endpointEmbeddingsNote": "テキスト埋め込み生成（OpenAI、Cohere、Voyage）。",
    "endpointImagesNote": "画像生成（NanoBanana）。",
    "endpointRewriteChatNote": "/v1 のないクライアント用のヘルパーを書き換えます。",
    "endpointRewriteResponsesNote": "/v1 のない応答のヘルパーを書き換えます。",
    "endpointRewriteModelsNote": "/v1 を使用せずにモデル検出用のヘルパーを書き換えます。",
    "mgmtProxiesListNote": "List saved proxy registry items (supports pagination).",
    "mgmtProxiesCreateNote": "Create a reusable proxy item in the registry.",
    "mgmtProxiesHealthNote": "Get 24h/rolling health metrics per saved proxy from proxy logs.",
    "mgmtProxiesBulkAssignNote": "Assign or clear one proxy across many scope IDs in one request.",
    "mgmtAssignmentsListNote": "List proxy assignments by scope, scope_id, or proxy_id.",
    "mgmtAssignmentsUpdateNote": "Assign or clear proxy for global/provider/account/combo scope.",
    "mgmtLegacyMigrationNote": "Import legacy proxyConfig maps into registry assignments.",
    "modelPrefixesDescriptionStart": "特定のプロバイダーにルーティングするには、モデル名の前にプロバイダーのプレフィックスを使用します。例:",
    "modelPrefixesDescriptionEnd": "GitHub Copilot にルートします。",
    "provider": "プロバイダー",
    "type": "種類",
    "troubleshootingModelRouting": "クライアントがモデル ルーティングに失敗した場合は、明示的なプロバイダー/モデル (例: gh/gpt-5.1-codex) を使用します。",
    "troubleshootingAmbiguousModels": "あいまいなモデル エラーを受け取った場合は、裸のモデル ID の代わりにプロバイダー プレフィックスを選択してください。",
    "troubleshootingCodexFamily": "GitHub Codex ファミリ モデルの場合、モデルを gh/codex-model として保持します。ルーターは自動的に選択/応答します。",
    "troubleshootingTestConnection": "IDE または外部クライアントからテストする前に、[ダッシュボード] > [プロバイダー] > [接続のテスト] を使用します。",
    "troubleshootingCircuitBreaker": "プロバイダーがサーキット ブレーカーが開いていることを示している場合は、クールダウンするまで待つか、詳細について [ヘルス] ページを確認してください。",
    "troubleshootingOAuth": "OAuth プロバイダーの場合、トークンの有効期限が切れた場合は再認証します。プロバイダー カードのステータス インジケーターを確認します。",
    "endpointCompletionsNote": "テキスト生成用のレガシー補完エンドポイント。",
    "endpointModerationsNote": "コンテンツの管理と安全性の分類。",
    "endpointRerankNote": "検索拡張生成のためのドキュメントの再ランキング (Cohere、Jina)。",
    "endpointSearchNote": "5 つのプロバイダー (Serper、Brave、Exa、Tavily、Perplexity) による Web 検索。",
    "endpointSearchAnalyticsNote": "検索リクエストの分析とメトリクス。",
    "endpointVideoNote": "ビデオ生成 (ComfyUI、SD WebUI ワークフロー)。",
    "endpointMusicNote": "ComfyUI ワークフローによる音楽生成。",
    "endpointMessagesNote": "人類固有のメッセージ エンドポイント。",
    "endpointCountTokensNote": "指定されたメッセージ ペイロードのトークンをカウントします。",
    "endpointFilesNote": "マルチモーダル入力のファイルアップロード。",
    "endpointBatchesNote": "一括 API リクエストのバッチ処理。",
    "endpointWsNote": "リアルタイム ストリーミング用の WebSocket エンドポイント。",
    "mgmtProvidersListNote": "登録されているすべてのプロバイダー接続をリストします。",
    "mgmtProvidersCreateNote": "新しいプロバイダー接続を作成します。",
    "mgmtProvidersUpdateNote": "既存のプロバイダー接続を更新します。",
    "mgmtProvidersDeleteNote": "プロバイダー接続を削除します。",
    "mgmtProvidersTestNote": "プロバイダーの接続と認証をテストします。",
    "mgmtProvidersModelsNote": "特定のプロバイダーで利用可能なモデルをリストします。",
    "mgmtSettingsGetNote": "現在のアプリケーション設定を取得します。",
    "mgmtSettingsUpdateNote": "アプリケーション設定を更新します。",
    "mgmtPayloadRulesGetNote": "ペイロード変換ルールを取得します。",
    "mgmtPayloadRulesUpdateNote": "ペイロード変換ルールを更新します。",
    "mcpToolsTitle": "MCPツール",
    "mcpToolsDescription": "OmniRoute は、エージェント オーケストレーションのためにモデル コンテキスト プロトコルを介して {count} ツールを公開します。",
    "mcpToolsCount": "{count} ツール",
    "mcpToolsToc": "MCPツール",
    "mcpToolsRoutingTitle": "ルーティングと検出",
    "mcpToolsRoutingDesc": "ヘルスチェック、コンボ管理、クォータ監視、コストレポート、およびモデルカタログへのアクセス。",
    "mcpToolsOperationsTitle": "運営と戦略",
    "mcpToolsOperationsDesc": "ルート シミュレーション、バジェット ガード、戦略の切り替え、復元力プロファイル、プロバイダーのメトリック。",
    "mcpToolsCacheTitle": "キャッシュ管理",
    "mcpToolsCacheDesc": "キャッシュ統計を表示し、セマンティック キャッシュまたは署名キャッシュをフラッシュします。",
    "mcpToolsCompressionTitle": "圧縮エンジン",
    "mcpToolsCompressionDesc": "RTK/Brotli 圧縮を構成し、エンジンを交換し、コンボによる圧縮分析を検査します。",
    "mcpToolsOneProxyTitle": "1プロキシ/トンネル",
    "mcpToolsOneProxyDesc": "送信プロキシを管理し、レジデンシャル IP をローテーションし、プロキシの健全性を検査します。",
    "mcpToolsMemoryTitle": "記憶",
    "mcpToolsMemoryDesc": "永続的な会話メモリ エントリを検索、追加、およびクリアします。",
    "mcpToolsSkillsTitle": "スキル",
    "mcpToolsSkillsDesc": "カスタム スキルの実行を一覧表示、有効化、実行、監視します。",
    "featureAutoComboTitle": "オートコンボ",
    "featureAutoComboText": "接続されているプロバイダー、使用パターン、モデルの機能に基づいて、最適化されたコンボを自動的に作成します。",
    "featureSearchTitle": "ウェブ検索",
    "featureSearchText": "分析とコスト追跡を含む、5 つのプロバイダー (Serper、Brave、Exa、Tavily、Perplexity) による統合 Web 検索。",
    "featureMemoryTitle": "メモリーシステム",
    "featureMemoryText": "セッション全体にわたる抽出、挿入、取得、要約による永続的な会話記憶。",
    "featureSkillsTitle": "スキルフレームワーク",
    "featureSkillsText": "組み込みおよびカスタム スキル、サンドボックス実行、リクエスト インターセプト、およびコンテキスト インジェクションを備えた拡張可能なスキル システム。",
    "featureAcpTitle": "エージェントのコミュニケーション",
    "featureAcpText": "エージェント間のワークフローとツール オーケストレーションを管理するためのエージェント通信プロトコル (ACP) レジストリ。",
    "protocolAcpTitle": "ACP (エージェントコミュニケーション)",
    "protocolAcpDesc": "エージェント間の通信とツール共有のために、ACP レジストリを介してエージェントを登録および管理します。",
    "protocolAcpStep1": "[ダッシュボード] → [エージェント] に移動して、登録されている ACP エージェントを表示します。",
    "protocolAcpStep2": "機能とエンドポイント構成を備えた新しいエージェントを登録します。",
    "protocolAcpStep3": "CLI ツールを使用してエージェント通信チャネルを設定します。"
  },
  "legal": {
    "privacyPolicy": "プライバシーポリシー",
    "termsOfService": "利用規約",
    "providerConfigurations": "プロバイダーの構成",
    "apiKeys": "APIキー",
    "usageLogs": "使用ログ",
    "applicationSettings": "アプリケーション設定",
    "viewExportAnalytics": "使用状況分析の表示とエクスポート",
    "clearHistory": "利用履歴はいつでもクリア",
    "configureRetention": "ログ保持ポリシーを構成する",
    "backupRestore": "データベースのバックアップと復元",
    "privacyMetadataTitle": "プライバシーポリシー |オムニルート",
    "privacyMetadataDescription": "OmniRoute AI API プロキシ ルーターのプライバシー ポリシー。",
    "termsMetadataTitle": "利用規約 |オムニルート",
    "termsMetadataDescription": "OmniRoute AI API プロキシ ルーターの利用規約。",
    "backToHome": "家に戻る",
    "lastUpdated": "最終更新日: {date}",
    "policyLastUpdatedDate": "2026 年 2 月 13 日",
    "listSeparator": "-",
    "questionsVisit": "質問がありますか?訪問してください",
    "githubRepository": "GitHub リポジトリ",
    "privacySection1Title": "1. ローカルファーストのアーキテクチャ",
    "privacySection1Text": "OmniRoute はローカルファーストのアプリケーションとして設計されています。すべてのデータの処理と保存は完全にマシン上で行われます。あなたの情報を収集する集中サーバーはありません。",
    "privacySection2Title": "2. 当社が保管するデータ",
    "privacyDataStoredIn": "次のデータはローカルに保存されます。",
    "privacyDataProviderConfigurationsDesc": "接続 URL、プロバイダーの種類、および優先度の設定",
    "privacyDataApiKeysDesc": "AI プロバイダーによる認証のために暗号化され、ローカルに保存されます",
    "privacyDataUsageLogsDesc": "リクエスト数、トークン使用量、モデル名、タイムスタンプ、応答時間",
    "privacyDataApplicationSettingsDesc": "テーマの設定、ルーティング戦略、およびコンボ構成",
    "privacySection3Title": "3. テレメトリなし",
    "privacySection3Text": "OmniRoute は、テレメトリ、分析、またはクラッシュ レポートを収集しません。データが当社または第三者に送信されることはありません。使用パターン、API 呼び出し、構成は完全に非公開のままです。",
    "privacySection4Title": "4. サードパーティの AI プロバイダー",
    "privacySection4Text": "OmniRoute 経由で API 呼び出しを行うと、リクエストは構成した AI プロバイダー (例: OpenAI、Anthropic、Google) に転送されます。これらのプロバイダーには、データの取り扱い方法を規定する独自のプライバシー ポリシーがあります。確認してください:",
    "privacyOpenAiPolicy": "OpenAI プライバシー ポリシー",
    "privacyAnthropicPolicy": "人類のプライバシーポリシー",
    "privacyGooglePolicy": "Google プライバシー ポリシー",
    "privacySection5Title": "5. クラウド同期 (オプション)",
    "privacySection5Text": "オプションのクラウド同期機能を有効にすると、プロバイダー設定と API キーが、設定されたクラウド エンドポイントに送信される場合があります。この機能はデフォルトでは無効になっており、明示的なオプトインが必要です。",
    "privacySection6Title": "6. ロギング",
    "privacyLoggingIntro": "リクエスト ログは、ダッシュボード設定を通じて構成できます。次のことができます。",
    "privacySection7Title": "7. お客様の権利",
    "privacySection7TextStart": "すべてのデータはローカルに保存されるため、完全に制御できます。データはいつでも削除できます。",
    "privacySection7TextEnd": "ディレクトリを使用するか、ダッシュボードのデータベースのバックアップおよび復元機能を使用します。",
    "termsSection1Title": "1. 概要",
    "termsSection1Text": "OmniRoute は、完全にマシン上で動作するローカルファーストの AI API プロキシ ルーターです。負荷分散、フェイルオーバー、使用状況追跡を使用して、リクエストを複数の AI プロバイダーにルーティングします。",
    "termsSection2Title": "2. ユーザーの責任",
    "termsResponsibilityApiKeys": "独自の API キーとサードパーティ AI プロバイダー (OpenAI、Anthropic、Google など) の認証情報の管理はお客様が単独で責任を負います。",
    "termsResponsibilityCompliance": "OmniRoute を通じて API にアクセスする各 AI プロバイダーのサービス規約に従う必要があります。",
    "termsResponsibilitySecurity": "パスワードの設定やネットワーク アクセスの制限など、ローカルの OmniRoute インストールのセキュリティについてはお客様の責任となります。",
    "termsSection3Title": "3. 仕組み",
    "termsSection3Text": "OmniRoute は中間プロキシとして機能します。 OmniRoute に送信された API 呼び出しは変換され、構成された AI プロバイダーに転送されます。 OmniRoute は、必要なプロトコル変換を超えてリクエストや応答の内容を変更しません。",
    "termsSection4Title": "4. データの取り扱い",
    "termsDataStoredLocally": "すべてのデータは、ローカルのマシン上の SQLite データベースに保存されます。",
    "termsNoTransmission": "OmniRoute は、クラウド同期機能を明示的に有効にしない限り、外部サーバーにデータを送信しません。",
    "termsDataLocationText": "使用ログ、API キー、設定は次の場所に保存されます。",
    "termsSection5Title": "5. 免責事項",
    "termsSection5Text": "OmniRoute は、いかなる種類の保証もなく「現状のまま」提供されます。 API の使用、サービスの中断、またはデータの損失によって発生する費用については、当社は責任を負いません。構成のバックアップを常に維持してください。",
    "termsSection6Title": "6. オープンソース",
    "termsSection6Text": "OmniRoute はオープンソース ソフトウェアです。ライセンス条項に基づいて、自由に検査、変更、配布することができます。"
  },
  "agents": {
    "title": "CLI Agents",
    "description": "Discover installed CLI agents on your system. Add custom agents for auto-detection.",
    "refresh": "Refresh",
    "installed": "Installed",
    "notFound": "Not Found",
    "builtIn": "Built-in",
    "custom": "Custom",
    "remove": "Remove",
    "addCustomAgent": "Add Custom Agent",
    "addCustomAgentDesc": "Register any CLI tool for detection. It will be scanned automatically on refresh.",
    "agentName": "Agent Name",
    "binaryName": "Binary Name",
    "versionCommand": "Version Command",
    "spawnArgs": "Spawn Args",
    "addAgent": "Add Agent",
    "scanning": "Scanning system for CLI agents...",
    "opencodeIntegration": "OpenCode Integration",
    "opencodeDetected": "opencode {version} detected",
    "opencodeDesc": "Generate a ready-to-use {configFile} with your OmniRoute base URL and all available models — drop it in your project root and run {command}.",
    "downloadConfig": "Download {file}",
    "downloaded": "Downloaded!",
    "setupGuideTitle": "Setup guide",
    "openCliTools": "Open CLI Tools",
    "setupGuideDetectCliTitle": "Detect installed CLIs",
    "setupGuideDetectCliDesc": "Click Refresh after installing or updating a CLI so OmniRoute can rescan binaries and versions.",
    "setupGuideCustomAgentTitle": "Register custom binary",
    "setupGuideCustomAgentDesc": "Use Add Custom Agent when your CLI is not in the built-in list. Provide binary name and version command.",
    "setupGuideCommandMissingTitle": "Fix 'command not found'",
    "setupGuideCommandMissingDesc": "Ensure the CLI command exists in PATH, open a new terminal session, and rerun Refresh.",
    "cliToolsRedirectTitle": "Cli Tools Redirect Title",
    "cliToolsRedirectDesc": "Cli Tools Redirect Desc",
    "spawnArgsPlaceholder": "Spawn Args Placeholder",
    "binaryNamePlaceholder": "Binary Name Placeholder",
    "versionCommandPlaceholder": "Version Command Placeholder",
    "architectureTitle": "Architecture Title",
    "flowLocalBinary": "Flow Local Binary",
    "flowOmniRoute": "Flow Omni Route",
    "agentNamePlaceholder": "Agent Name Placeholder",
    "architectureDescription": "Architecture Description",
    "flowExecute": "Flow Execute",
    "flowSpawn": "Flow Spawn",
    "cliToolsRedirectCta": "Cli Tools Redirect Cta",
    "comparisonTitle": "CLI ツールとエージェント ターゲット — 違いは何ですか?",
    "comparisonCliToolsLabel": "CLIツールページ",
    "comparisonCliToolsTitle": "IDE は OmniRoute 経由でリクエストを送信します",
    "comparisonCliToolsDesc": "API ベース URL として OmniRoute を使用するように、Claude Code、Codex、Cursor、およびその他の IDE を構成します。 OmniRoute はプロキシとして機能し、構成されたプロバイダーにリクエストをルーティングします。",
    "comparisonAgentsLabel": "このページ（エージェント対象）",
    "comparisonAgentsTitle": "OmniRoute はリクエストをローカル CLI ツールに送信します",
    "comparisonAgentsDesc": "OmniRoute は、ローカル CLI バイナリ (claude、codex、goose) を実行バックエンドとして生成できます。 CLI ツールは、独自の認証を使用してリクエストを処理し、結果を返します。",
    "comparisonSummary": "つまり、CLI ツール = OmniRoute を指すようにツールを構成します。 Agent Targets = OmniRoute は、エンドポイントとしてツールを使用します。",
    "agentUseCaseHint": "ACPプロトコル経由で実行ターゲットとして使用可能",
    "flowDiagramClient": "クライアントアプリ",
    "flowDiagramClientDesc": "SDK、API、またはアップストリーム サービス",
    "flowDiagramOmniRoute": "オムニルート",
    "flowDiagramOmniRouteDesc": "リクエストを受信し、ターゲットを選択します",
    "flowDiagramSpawn": "スポーンプロセス",
    "flowDiagramSpawnDesc": "標準入出力経由で CLI バイナリを起動します",
    "flowDiagramCli": "CLIエージェント",
    "flowDiagramCliDesc": "独自の認証/モデルを使用したプロセス",
    "fingerprintSettingsHint": "CLI フィンガープリント照合 (リクエストを特定の CLI ツールとして偽装) は、",
    "settingsRoutingLink": "設定/ルーティング",
    "openSettings": "設定",
    "copyRawUrlTitle": "未加工の URL をクリップボードにコピー",
    "copied": "コピーしました！",
    "copyUrl": "URLをコピー",
    "startHere": "ここから始めましょう",
    "badgeNew": "新しい",
    "viewOnGithub": "GitHub で見る",
    "howToUse": "使用方法",
    "browseAllSkillsOnGithub": "GitHub ですべてのスキルを参照する",
    "apiSkills": "APIスキル",
    "cliSkills": "CLI スキル",
    "apiSkillsSubtitle": "__MISSING__:{count} skills — control OmniRoute via REST / HTTP",
    "cliSkillsSubtitle": "__MISSING__:{count} skills — control OmniRoute via the omniroute terminal binary",
    "howToUseStep1": "__MISSING__:Click <bold>{copyUrl}</bold> on the skill you want your agent to know about.",
    "howToUseStep2": "__MISSING__:In your AI agent (Claude, Cursor, Cline…), say:",
    "howToUseStep2Code": "__MISSING__:Use the skill at [pasted-url]",
    "howToUseStep3": "__MISSING__:The agent fetches the SKILL.md and learns OmniRoute's API or CLI — no manual docs needed."
  },
  "cloudAgents": {
    "title": "クラウドエージェント",
    "description": "自律型コーディング エージェントの管理 (Jules、Devin、Codex Cloud)",
    "loading": "タスクを読み込んでいます...",
    "aboutTitle": "クラウドエージェントについて",
    "aboutDescription": "クラウド エージェントは、タスクを自律的に実行できるリモート AI コーディング アシスタントです。これらはローカル CLI エージェントとは動作が異なり、OmniRoute の API を通じて対話します。",
    "howItWorksTitle": "仕組み:",
    "howItWorksDesc": "タスクの作成 → エージェントが分析して計画を提案 → 承認 → エージェントが実行 → 結果が返される",
    "newTaskTitle": "新しいタスクの作成",
    "newTaskDescription": "クラウド エージェントを使用して新しいタスクを開始する",
    "selectAgent": "エージェントの選択",
    "taskDescription": "タスクの説明",
    "taskDescriptionPlaceholder": "エージェントに何をしてもらいたいかを説明してください...",
    "startTask": "タスクの開始",
    "tasks": "タスク",
    "taskDetail": "タスクの詳細",
    "noTasks": "まだタスクはありません。まずは作成してください。",
    "noTasksTitle": "__MISSING__:No tasks yet",
    "noTasksDesc": "__MISSING__:Create your first task to get started.",
    "tasksTab": "__MISSING__:Tasks",
    "agentsTab": "__MISSING__:Agents",
    "settingsTab": "__MISSING__:Settings",
    "agentsEnabled": "__MISSING__:Enabled",
    "agentsDisabled": "__MISSING__:Disabled",
    "filterAllProviders": "__MISSING__:All Providers",
    "filterAll": "__MISSING__:All",
    "autoRefreshing": "__MISSING__:Auto-refreshing",
    "viewPR": "__MISSING__:View Pull Request",
    "connected": "__MISSING__:Connected",
    "notConnected": "__MISSING__:Not connected",
    "configure": "__MISSING__:Configure",
    "settingsTitle": "__MISSING__:Cloud Agent Settings",
    "settingsDesc": "__MISSING__:Configure local preferences for cloud agents.",
    "settingEnableAgents": "__MISSING__:Enable cloud agents",
    "settingEnableAgentsDesc": "__MISSING__:Allow OmniRoute to orchestrate autonomous coding agents.",
    "settingAutoPR": "__MISSING__:Auto-create PR",
    "settingAutoPRDesc": "__MISSING__:When a task is completed, automatically create a Pull Request with the changes.",
    "settingRequireApproval": "__MISSING__:Require plan approval",
    "settingRequireApprovalDesc": "__MISSING__:Always wait for manual approval before an agent executes a proposed plan.",
    "untitledTask": "無題のタスク",
    "created": "作成されました",
    "conversation": "会話",
    "result": "結果",
    "error": "エラー",
    "planReady": "計画の承認準備完了",
    "approvePlan": "計画の承認",
    "rejectPlan": "拒否してキャンセル",
    "sendMessagePlaceholder": "エージェントにメッセージを送信...",
    "cancel": "キャンセル",
    "delete": "削除",
    "selectTaskPrompt": "タスクを選択して詳細を表示します",
    "statusPending": "保留中",
    "statusRunning": "ランニング",
    "statusWaitingApproval": "承認待ち",
    "statusCompleted": "完了",
    "statusFailed": "失敗しました",
    "statusCancelled": "キャンセルされました",
    "repositoryName": "リポジトリ名",
    "repositoryUrl": "リポジトリURL",
    "branch": "支店"
  },
  "templateNames": {
    "simple-chat": "Simple Chat",
    "streaming": "Streaming",
    "system-prompt": "System Prompt",
    "thinking": "Thinking",
    "tool-calling": "Tool Calling",
    "multi-turn": "Multi-turn",
    "vision": "ビジョン",
    "schema-coercion": "スキーマの強制"
  },
  "templateDescriptions": {
    "simple-chat": "Basic chat template",
    "streaming": "Streaming template",
    "system-prompt": "System prompt template",
    "thinking": "Thinking template",
    "tool-calling": "Tool calling template",
    "multi-turn": "Multi-turn template",
    "vision": "画像入力を備えたマルチモーダル テンプレート",
    "schema-coercion": "構造化出力 / JSON スキーマの適用"
  },
  "templatePayloads": {
    "simpleChat": {
      "system": "あなたは役に立つ AI アシスタントです。",
      "userGreeting": "こんにちは！今日はどのようにお手伝いできますか?"
    },
    "streaming": {
      "prompt": "～についての話を書いてください"
    },
    "systemPrompt": {
      "question": "人生の意味とは何でしょうか？",
      "systemInstruction": "思慮深く哲学的な答えを提供してください。"
    },
    "thinking": {
      "question": "量子コンピューティングについて説明する"
    },
    "toolCalling": {
      "cityNameDescription": "天気を取得する都市の名前",
      "toolDescription": "場所の現在の天気を取得する",
      "userWeather": "東京の天気はどうですか？"
    },
    "multiTurn": {
      "system": "あなたは役に立つアシスタントです。",
      "assistantExample": "喜んでお手伝いさせていただきます。",
      "userInitial": "助けが必要です",
      "userFollowUp": "それについて詳しく教えてもらえますか？"
    }
  },
  "cache": {
    "title": "Cache Management",
    "description": "Monitor and manage semantic response cache, hit rates, and token savings.",
    "refresh": "Refresh",
    "clearAll": "Clear All",
    "memoryEntries": "Memory Entries",
    "memoryEntriesSub": "In-memory LRU",
    "dbEntries": "DB Entries",
    "dbEntriesSub": "Persisted (SQLite)",
    "cacheHits": "Cache Hits",
    "cacheHitsSub": "of {total} total",
    "tokensSaved": "Tokens Saved",
    "tokensSavedSub": "Estimated from hits",
    "hitRate": "Hit Rate",
    "performance": "Cache Performance",
    "autoRefresh": "Auto-refreshes every {seconds}s",
    "hits": "Hits",
    "misses": "Misses",
    "total": "Total",
    "behavior": "Cache Behavior",
    "behaviorDeterministic": "Only non-streaming requests with temperature=0 are cached.",
    "behaviorBypass": "Bypass with header {header}.",
    "behaviorTwoTier": "Two-tier storage: in-memory LRU (fast) + SQLite (persistent across restarts).",
    "behaviorTtl": "Default TTL: 30 minutes. Configure via {envVar}.",
    "idempotency": "Idempotency Layer",
    "activeDedupKeys": "Active Dedup Keys",
    "dedupWindow": "Dedup Window",
    "clearSuccess": "Cache cleared. {count} expired entries removed.",
    "clearError": "Failed to clear cache.",
    "unavailable": "Cache unavailable",
    "unavailableDesc": "Could not fetch cache statistics. Make sure the server is running.",
    "loadingCacheAria": "__MISSING__:Loading cache",
    "promptCache": "Prompt Cache (Provider-Side)",
    "semanticCache": "Semantic Cache",
    "promptCacheSectionDesc": "Shows provider-side prompt caching activity from usage history so you can see where cache control is active and how much input reuse you are getting.",
    "promptTrendDesc": "Hourly request volume, cache coverage, and cache read volume across the last 24 hours.",
    "cachedRequests": "Cached Requests",
    "cachedRequests24h": "Cached Requests (24h)",
    "cacheHitRate": "Cache Hit Rate",
    "cacheRate": "Cache Rate",
    "cacheRateDesc": "of total requests",
    "cachedTokens": "Cached Tokens",
    "cacheCreationTokens": "Cache Creation Tokens",
    "cacheMetrics": "Prompt Cache Metrics",
    "withCacheControl": "With Cache Control",
    "cachedTokensRead": "Cached Tokens (Read)",
    "cacheCreationWrite": "Cache Creation (Write)",
    "cacheReuseRatio": "Cache Reuse Ratio",
    "cacheReuseRatioDesc": "Cached tokens / Total input tokens",
    "estCostSaved": "Est. Cost Saved",
    "lastUpdated": "Last updated",
    "hoursTracked": "hours tracked",
    "busiestHour": "Busiest Hour",
    "peakCacheRate": "Peak Cache Rate",
    "trendHour": "Hour",
    "activityVolume": "Activity",
    "requestsShort": "reqs",
    "inputShort": "In",
    "cachedShort": "Cached",
    "writeShort": "Write",
    "resetting": "Resetting...",
    "resetMetrics": "Reset Metrics",
    "byProvider": "Breakdown by Provider",
    "providerCacheRateDesc": "Each provider exposes total input tokens, cache read tokens, and cache write tokens so you can verify the reuse ratio against raw totals.",
    "provider": "Provider",
    "requests": "Requests",
    "inputTokens": "Input Tokens",
    "cachedTokensCol": "Cached",
    "cacheCreation": "Creation",
    "trend24h": "Cache Trend (24h)",
    "peakCached": "Peak cached",
    "cached": "Cached",
    "overview": "Overview",
    "tableProvider": "__MISSING__:Provider",
    "tableModel": "__MISSING__:Model",
    "performanceTitle": "__MISSING__:Performance",
    "semanticCacheSectionDesc": "OmniRoute's own deterministic response cache. When enabled, repeated non-streaming temperature=0 requests can be served locally without hitting the upstream provider.",
    "semanticCacheDisabledDesc": "Semantic cache is disabled. OmniRoute will skip local response reuse until you turn it back on in Settings.",
    "semanticEntriesDesc": "Persisted semantic cache records currently stored in SQLite. Provider-side prompt cache activity is not listed here.",
    "searchEntries": "Search entries...",
    "search": "Search",
    "loading": "Loading...",
    "entriesLoadError": "Failed to load semantic cache entries.",
    "noEntries": "No cache entries found",
    "noPromptCacheData": "No provider-side prompt cache activity has been recorded yet.",
    "noTrendData": "No prompt cache activity has been recorded over the last 24 hours.",
    "signature": "Signature",
    "model": "Model",
    "created": "Created",
    "expires": "Expires",
    "actions": "Actions",
    "deduplicatedRequests": "Deduplicated Requests",
    "savedCalls": "Saved API Calls",
    "totalProcessed": "Total Requests Processed",
    "disabled": "Disabled",
    "totalRequests": "Total Requests",
    "reasoningCache": "推理リプレイ",
    "reasoningCacheDesc": "マルチターン工具呼び出しフローのモデル思考を維持",
    "reasoningEntries": "アクティブなエントリ",
    "reasoningReplayRate": "リプレイレート",
    "reasoningReplays": "合計リプレイ数",
    "reasoningCharsCached": "キャッシュされた文字",
    "reasoningMisses": "キャッシュミス",
    "reasoningByProvider": "プロバイダー別",
    "reasoningByModel": "モデル別",
    "reasoningRecentEntries": "最近のエントリー",
    "reasoningToolCallId": "ツールコールID",
    "reasoningChars": "キャラクター",
    "reasoningAge": "年齢",
    "reasoningView": "見る",
    "reasoningDetail": "推理内容",
    "reasoningBehavior": "行動",
    "reasoningBehaviorCapture": "ストリーミング応答からreasoning_contentをキャプチャします",
    "reasoningBehaviorReplay": "クライアントが省略した場合、次のターンに再注入します",
    "reasoningBehaviorFallback": "クラッシュ回復のための SQLite フォールバックによるメモリファースト",
    "reasoningBehaviorTtl": "TTL: 2 時間 |最大エントリ数: 2,000 (メモリ)",
    "reasoningBehaviorModels": "サポート: DeepSeek、Kimi、Qwen-Thinking、GLM",
    "reasoningClearAll": "推論キャッシュのクリア",
    "reasoningClearSuccess": "{count} 推論キャッシュ エントリをクリアしました",
    "reasoningClearError": "推論キャッシュをクリアできませんでした",
    "reasoningNoData": "まだキャッシュされた推論エントリはありません。思考モデルがツール呼び出しを使用するときにエントリが表示されます。",
    "cachePerformanceRetry": "再試行",
    "cachePerformanceHitRate": "命中率",
    "cachePerformanceAvgLatency": "平均遅延 (ミリ秒)",
    "cachePerformanceP95Latency": "p95 レイテンシー (ミリ秒)",
    "retry": "再試行",
    "reasoningAvgChars": "平均文字数",
    "tableShare": "__MISSING__:Share",
    "justNow": "__MISSING__:just now",
    "minutesAgo": "__MISSING__:{minutes}m ago",
    "hoursAgo": "__MISSING__:{hours}h ago",
    "daysAgo": "__MISSING__:{days}d ago",
    "entries": "Entries"
  },
  "proxyConfigModal": {
    "levelGlobal": "グローバル",
    "levelProvider": "プロバイダー",
    "levelCombo": "コンボ",
    "levelKey": "キー",
    "levelDirect": "直接 (プロキシなし)",
    "titleGlobal": "グローバルプロキシ構成",
    "titleLevel": "{level} プロキシ — {label}",
    "loading": "プロキシ構成を読み込んでいます...",
    "inheritingFrom": "継承元",
    "source": "ソース",
    "savedProxy": "保存されたプロキシ",
    "custom": "カスタム",
    "selectSavedProxyPlaceholder": "保存されたプロキシを選択...",
    "proxyType": "プロキシの種類",
    "host": "ホスト",
    "hostPlaceholder": "1.2.3.4 または proxy.example.com",
    "port": "港",
    "authOptional": "認証 (オプション)",
    "username": "ユーザー名",
    "usernamePlaceholder": "ユーザー名",
    "password": "パスワード",
    "passwordPlaceholder": "パスワード",
    "connected": "接続済み",
    "ip": "IP:",
    "connectionFailed": "接続に失敗しました",
    "testConnection": "テスト接続",
    "clear": "クリア",
    "cancel": "キャンセル",
    "save": "保存",
    "errorSelectSavedProxy": "最初に保存されたプロキシを選択してください。",
    "errorSelectProxyFirst": "最初にプロキシを選択してください。",
    "errorProxyNotFound": "選択したプロキシが見つかりません。",
    "errorClearSavedProxy": "保存されたプロキシをクリアできませんでした",
    "errorSaveProxy": "プロキシ構成の保存に失敗しました",
    "errorClearProxy": "プロキシ設定のクリアに失敗しました",
    "errorSocks5Hidden": "SOCKS5 は構成されていますが、NEXT_PUBLIC_ENABLE_SOCKS5_PROXY=false のため非表示になっています。"
  },
  "oauthModal": {
    "title": "{providerName} を接続します",
    "waiting": "承認を待っています",
    "completeAuthInPopup": "ポップアップで認証を完了します。",
    "popupClosedHint": "リダイレクトせずにポップアップが閉じた場合 (Qoder など)、このダイアログは手動 URL 入力モードに自動的に切り替わります。",
    "popupBlocked": "ポップアップがブロックされましたか? URLを手動で入力してください",
    "deviceCodeVisitUrl": "以下の URL にアクセスしてコードを入力します。",
    "deviceCodeVerificationUrl": "認証URL",
    "deviceCodeYourCode": "あなたのコード",
    "deviceCodeWaiting": "承認を待っています...",
    "googleOAuthWarning": "リモート アクセス + Google OAuth: デフォルトの認証情報は、<code>localhost</code> へのリダイレクトのみを受け入れます。認証後、ブラウザは <code>localhost</code> を開こうとします。その完全な URL をコピーして下に貼り付けてください。この手動手順を行わずに完全にリモートで使用するには、<a>独自の OAuth 資格情報</a> を構成します。",
    "remoteAccessInfo": "リモート アクセス: OmniRoute にリモートでアクセスしているため、認証後にエラー ページ (localhost が見つかりません) が表示されます。これは正常です。ブラウザのアドレス バーから完全な URL をコピーして、下に貼り付けるだけです。",
    "step1OpenUrl": "ステップ 1: ブラウザでこの URL を開きます",
    "copy": "コピー",
    "step2PasteCallback": "ステップ 2: コールバック URL または認証コードをここに貼り付けます",
    "step2Hint": "承認後、完全なコールバック URL を貼り付けます。クロード コードとクラインの場合は、認証コードを直接貼り付けることもできます。 <code>code#state</code>。",
    "connect": "接続する",
    "cancel": "キャンセル",
    "success": "接続成功！",
    "successMessage": "{providerName} アカウントが接続されました。",
    "done": "完了",
    "error": "接続に失敗しました",
    "tryAgain": "もう一度試してください"
  },
  "cursorAuthModal": {
    "title": "カーソルIDEの接続",
    "autoDetecting": "トークンを自動検出しています...",
    "readingFromCursor": "Cursor IDE またはカーソルエージェントからの読み取り",
    "tokensAutoDetected": "トークンは Cursor IDE から正常に自動検出されました。",
    "cursorNotDetected": "カーソル IDE が検出されません。トークンを手動で貼り付けてください。",
    "accessToken": "アクセストークン",
    "required": "*",
    "accessTokenPlaceholder": "アクセストークンは自動入力されます...",
    "machineId": "マシンID",
    "optional": "(オプション)",
    "machineIdPlaceholder": "マシン ID が自動入力されます...",
    "importing": "インポート中...",
    "importToken": "トークンのインポート",
    "cancel": "キャンセル",
    "errorAutoDetect": "トークンを自動検出できません",
    "errorAutoDetectFailed": "トークンの自動検出に失敗しました",
    "errorEnterToken": "アクセストークンを入力してください",
    "errorImportFailed": "インポートに失敗しました"
  },
  "pricingModal": {
    "title": "価格設定",
    "loading": "価格データをロードしています...",
    "pricingRatesFormat": "価格設定レートの形式",
    "ratesDescription": "すべてのレートは <strong> ドル/100 万トークン</strong> ($/100 万トークン) 単位です。例: 入力レート 2.50 は、1,000,000 入力トークンあたり 2.50 ドルを意味します。",
    "model": "モデル",
    "input": "入力",
    "output": "出力",
    "cached": "キャッシュされた",
    "reasoning": "推論",
    "cacheCreation": "キャッシュの作成",
    "noPricingData": "利用可能な価格データはありません",
    "resetToDefaults": "デフォルトにリセットする",
    "cancel": "キャンセル",
    "saving": "保存中...",
    "saveChanges": "変更を保存する",
    "resetConfirm": "すべての価格設定をデフォルトにリセットしますか?これを元に戻すことはできません。",
    "errorSaveFailed": "価格設定を保存できませんでした",
    "errorResetFailed": "価格設定のリセットに失敗しました"
  },
  "proxyRegistry": {
    "title": "Title",
    "description": "Description",
    "importLegacy": "Import Legacy",
    "bulkAssign": "Bulk Assign",
    "addProxy": "Add Proxy",
    "loading": "Loading",
    "noProxies": "No Proxies",
    "tableName": "Table Name",
    "tableEndpoint": "Table Endpoint",
    "tableStatus": "Table Status",
    "tableHealth": "Table Health",
    "tableUsage": "Table Usage",
    "tableActions": "Table Actions",
    "test": "Test",
    "edit": "Edit",
    "delete": "Delete",
    "modalCreateTitle": "Modal Create Title",
    "modalEditTitle": "Modal Edit Title",
    "labelName": "Label Name",
    "labelType": "種類",
    "labelHost": "ホスト",
    "labelPort": "港",
    "labelUsername": "ユーザー名",
    "labelPassword": "パスワード",
    "labelRegion": "地域",
    "labelStatus": "ステータス",
    "labelNotes": "注意事項",
    "usernamePlaceholderEdit": "現在のユーザー名を維持するには空白のままにします",
    "passwordPlaceholderEdit": "現在のパスワードを保持するには空白のままにしてください",
    "statusActive": "アクティブ",
    "statusInactive": "非アクティブ",
    "cancel": "キャンセル",
    "save": "保存",
    "bulkModalTitle": "一括プロキシ割り当て",
    "bulkLabelScope": "範囲",
    "bulkLabelProxy": "プロキシ",
    "bulkClearAssignment": "(課題クリア)",
    "bulkLabelScopeIds": "スコープ ID (カンマまたは改行区切り)",
    "bulkScopeIdsPlaceholder": "プロバイダー-openai、プロバイダー-anthropic",
    "bulkApply": "申し込む",
    "labelScope": "__MISSING__:Scope",
    "labelProxy": "__MISSING__:Proxy",
    "scopeGlobal": "__MISSING__:global",
    "scopeProvider": "__MISSING__:provider",
    "scopeAccount": "__MISSING__:account",
    "scopeCombo": "__MISSING__:combo",
    "bulkImportErrorMissingName": "名前がありません",
    "bulkImportErrorMissingHost": "ホストが見つかりません",
    "bulkImportErrorInvalidPort": "無効なポート (1 ～ 65535 である必要があります)",
    "bulkImportErrorInvalidType": "無効なタイプ (http、https、または sock5 を使用してください)",
    "bulkImportErrorInvalidStatus": "無効なステータス (アクティブまたは非アクティブを使用)",
    "errorLoadFailed": "Error Load Failed",
    "errorNameHostRequired": "Error Name Host Required",
    "errorSaveFailed": "Error Save Failed",
    "errorDeleteFailed": "Error Delete Failed",
    "errorForceDeleteConfirm": "Error Force Delete Confirm",
    "errorMigrateFailed": "Error Migrate Failed",
    "errorBulkFailed": "Error Bulk Failed",
    "success": "✓",
    "failure": "✗",
    "failed": "Failed",
    "successRate": "{rate}% 成功",
    "avgLatency": "平均{latency}ミリ秒",
    "assignmentsCount": "{count} 件の割り当て",
    "noData": "No Data",
    "testSuccess": "✓ {ip}",
    "testLatency": "{latency}ms",
    "testFailure": "✗ {error}",
    "bulkImport": "一括インポート",
    "bulkImportTitle": "プロキシの一括インポート",
    "bulkImportDescription": "パイプ区切り形式を使用してプロキシ プロファイルを貼り付けます。 1 行に 1 つのプロキシ。既存のプロキシ (同じホスト + ポート) が更新されます。",
    "bulkImportParse": "解析する",
    "bulkImportImport": "{count} プロキシをインポートする",
    "bulkImportImporting": "インポート中...",
    "bulkImportParsed": "{count} プロキシが解析されました",
    "bulkImportSkipped": "{count} 行がスキップされました",
    "bulkImportParseErrors": "{count} エラー",
    "bulkImportNoValidEntries": "有効なエントリが見つかりません。形式を確認して再試行してください。",
    "bulkImportSuccess": "インポート完了: {created} 作成、{updated} 更新、{failed} 失敗",
    "bulkImportErrorLine": "{line} 行目: {reason}",
    "bulkImportMaxExceeded": "インポートごとに最大 100 個のプロキシ",
    "bulkImportPreview": "プレビュー",
    "clearAssignment": "(明確な課題)",
    "bulkProxyAssignment": "一括プロキシ割り当て"
  },
  "playground": {
    "title": "Title",
    "description": "Description",
    "endpoint": "Endpoint",
    "provider": "Provider",
    "model": "Model",
    "accountKey": "Account Key",
    "autoAccounts": "自動 ({count} アカウント)",
    "noAccounts": "No Accounts",
    "send": "Send",
    "cancel": "Cancel",
    "audioFile": "Audio File",
    "attachImages": "Attach Images",
    "multipartFormData": "Multipart Form Data",
    "upToImages": "Up To Images",
    "selectAudioFile": "Select Audio File",
    "clearAll": "Clear All",
    "request": "Request",
    "response": "Response",
    "transcription": "Transcription",
    "copy": "Copy",
    "resetToDefault": "Reset To Default",
    "downloadAudio": "Download Audio",
    "copyText": "Copy Text",
    "transcriptionHint": "Transcription Hint",
    "imagesGenerated": "生成された画像は {count} 個です",
    "generatedImage": "生成された画像 {index}",
    "save": "Save",
    "endpointOptions": {
      "chat": "Chat",
      "responses": "Responses",
      "images": "Images",
      "embeddings": "Embeddings",
      "speech": "Speech",
      "transcription": "Transcription",
      "video": "Video",
      "music": "Music",
      "rerank": "Rerank",
      "search": "Search"
    },
    "conversationalChat": "会話型チャット",
    "clearChat": "クリアチャット",
    "typeMessagePlaceholder": "メッセージを入力してください... (Shift+Enter で改行)",
    "tabChat": "Chat",
    "tabCompare": "Compare",
    "tabApi": "API",
    "tabBuild": "Build",
    "configPane": "Config",
    "systemPrompt": "System prompt",
    "systemPromptPlaceholder": "You are a helpful assistant.",
    "modelPlaceholder": "e.g. openai/gpt-4o",
    "endpointLabel": "Endpoint",
    "parametersLabel": "Parameters",
    "collapseConfig": "Collapse config pane",
    "expandConfig": "Expand config pane",
    "temperature": "Temperature",
    "maxTokens": "Max tokens",
    "topP": "Top-p",
    "presencePenalty": "Presence penalty",
    "frequencyPenalty": "Frequency penalty",
    "seedPlaceholder": "Random (leave empty)",
    "presetsLabel": "Presets",
    "loadPreset": "Load preset",
    "savePreset": "Save preset",
    "noPresets": "No presets",
    "presetNamePlaceholder": "Preset name",
    "savingPreset": "Saving…",
    "nameRequired": "Name is required",
    "failedToSavePreset": "Failed to save preset",
    "improvePrompt": "Improve prompt",
    "improvingPrompt": "Improving…",
    "improvePromptTitle": "Improve your prompt with AI",
    "setModelFirst": "Set a model first",
    "improveQuotaWarning": "This will consume quota from the model configured in Config.",
    "improveConfirm": "Improve",
    "exportCode": "Export code",
    "exportCodeTitle": "Export Code",
    "noStateToExport": "No playground state available to export.",
    "copyCode": "Copy",
    "copiedCode": "Copied!",
    "addModel": "+ Add model",
    "runAll": "Run all",
    "cancelAll": "Cancel all",
    "maxColumnsReached": "Maximum {max} columns",
    "modelPlaceholderCompare": "Model (Cmd+K)…",
    "ttft": "TTFT",
    "tps": "TPS",
    "metricsDisclaimer": "client-side estimate",
    "tokensLabel": "Tokens",
    "costLabel": "Cost",
    "costEstimated": "(estimated)",
    "toolsLabel": "Tools",
    "addTool": "Add tool",
    "toolNamePlaceholder": "Function name",
    "toolDescPlaceholder": "Description (optional)",
    "toolParamsInvalid": "Parameters must be valid JSON",
    "structuredOutputLabel": "Structured Output",
    "enableJsonMode": "Enable JSON mode",
    "disableJsonMode": "Disable JSON mode",
    "invalidJson": "Invalid JSON",
    "running": "Running…",
    "runLabel": "Run",
    "enterToolResult": "Enter tool result…"
  },
  "miniPlayground": {
    "endpoint": "__MISSING__:Endpoint",
    "apiKey": "__MISSING__:API Key",
    "model": "__MISSING__:Model",
    "voice": "__MISSING__:Voice",
    "speed": "__MISSING__:Speed",
    "input": "__MISSING__:Input",
    "url": "__MISSING__:URL",
    "format": "__MISSING__:Format",
    "depth": "__MISSING__:Depth",
    "copyCurl": "__MISSING__:Copy cURL",
    "copied": "__MISSING__:Copied!",
    "run": "__MISSING__:Run",
    "running": "__MISSING__:Running...",
    "response": "__MISSING__:Response",
    "tunnel": "__MISSING__:Tunnel",
    "send": "__MISSING__:Send",
    "selectKey": "__MISSING__:Select key",
    "testLabel": "__MISSING__:Test",
    "expandTest": "__MISSING__:Expand test",
    "collapseTest": "__MISSING__:Collapse test",
    "revealKey": "__MISSING__:Reveal key",
    "hideKey": "__MISSING__:Hide key",
    "download": "__MISSING__:Download",
    "play": "__MISSING__:Play",
    "query": "__MISSING__:Query",
    "numResults": "__MISSING__:Max results",
    "prompt": "__MISSING__:Prompt",
    "size": "__MISSING__:Size",
    "duration": "__MISSING__:Duration",
    "question": "__MISSING__:Question",
    "audioFile": "__MISSING__:Audio file",
    "noKeysFound": "__MISSING__:No API keys found. Add one in the Keys section.",
    "exampleLabel": "__MISSING__:Example",
    "latency": "__MISSING__:{ms}ms",
    "statsLine": "__MISSING__:{ms}ms · {tokensIn} in / {tokensOut} out tokens"
  },
  "requestLogger": {
    "recording": "Recording",
    "paused": "Paused",
    "pipelineLogsOn": "Pipeline logs on",
    "pipelineLogsOff": "Pipeline logs off",
    "updatingPipelineLogs": "Updating pipeline logs...",
    "updatePipelineFailed": "Failed to update pipeline logging",
    "capturePipeline": "Capture pipeline payloads for new requests",
    "searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
    "allProviders": "All providers",
    "allModels": "All models",
    "allAccounts": "All accounts",
    "allApiKeys": "All API keys",
    "total": "Total",
    "ok": "Success",
    "err": "Error",
    "combo": "Combo",
    "keys": "Keys",
    "shown": "Shown",
    "sortNewest": "Newest",
    "sortOldest": "Oldest",
    "sortTokensDesc": "Tokens ↓",
    "sortTokensAsc": "Tokens ↑",
    "sortDurationDesc": "Duration ↓",
    "sortDurationAsc": "Duration ↑",
    "sortStatusDesc": "Status ↓",
    "sortStatusAsc": "Status ↑",
    "sortModelAsc": "Model A-Z",
    "sortModelDesc": "Model Z-A",
    "sortLogs": "Sort logs",
    "refresh": "Refresh",
    "columnsLabel": "Columns",
    "cacheSem": "SEM",
    "cacheUp": "UP",
    "semantic": "Semantic",
    "upstream": "Upstream",
    "semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
    "upstreamResponse": "Upstream provider response",
    "noApiKey": "No API key",
    "requestedRoutedTitle": "Requested {requested}, routed as {routed}",
    "statusFilters": {
      "all": "All",
      "error": "Errors",
      "success": "Success",
      "combo": "Combo"
    },
    "columns": {
      "status": "Status",
      "cacheSource": "Cache Source",
      "model": "Model",
      "requested": "Requested",
      "provider": "Provider",
      "protocol": "Request Protocol",
      "account": "Account",
      "apiKey": "API Key",
      "combo": "Combo",
      "tokens": "Tokens",
      "compressed": "圧縮",
      "tps": "TPS",
      "duration": "Duration",
      "time": "Time"
    },
    "loadingLogs": "Loading logs...",
    "noLogs": "No logs yet. Make some API calls to see them here.",
    "noMatchingLogs": "No logs matching current filters.",
    "callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
  },
  "proxyLogger": {
    "filterAll": "All",
    "filterErrors": "Errors",
    "filterSuccess": "Success",
    "filterTimeout": "Timeout",
    "colStatus": "Status",
    "colProxy": "Proxy",
    "colTls": "TLS",
    "colType": "Type",
    "colLevel": "Level",
    "colProvider": "Provider",
    "colTarget": "Target",
    "colLatency": "Latency",
    "colClientIp": "Client IP",
    "colTime": "Time",
    "recording": "Recording",
    "paused": "Paused",
    "searchPlaceholder": "Search host, provider, target, IP...",
    "allTypes": "All Types",
    "allLevels": "All Levels",
    "allProviders": "All Providers",
    "total": "total",
    "ok": "OK",
    "err": "ERR",
    "timeoutShort": "TMO",
    "direct": "direct",
    "newest": "Newest",
    "oldest": "Oldest",
    "latencyDesc": "Latency ↓",
    "latencyAsc": "Latency ↑",
    "refresh": "Refresh",
    "columns": "Columns",
    "loadingProxyLogs": "Loading proxy logs...",
    "noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
    "noMatchingLogs": "No logs match the current filters.",
    "tlsFingerprint": "Chrome 124 TLS Fingerprint"
  },
  "endpointOptions": {
    "speech": "Speech",
    "search": "Search",
    "images": "Images",
    "chat": "Chat",
    "music": "Music",
    "responses": "Responses",
    "rerank": "Rerank",
    "video": "Video",
    "embeddings": "Embeddings",
    "transcription": "Transcription"
  },
  "toolDescriptions": {
    "cline": "Cline",
    "openclaw": "Openclaw",
    "droid": "Droid",
    "codex": "Codex",
    "claude": "Claude",
    "kilo": "Kilo"
  },
  "runtime": {
    "title": "Runtime",
    "description": "Realtime observability — 3-layer resilience + sessions + quota alerts",
    "pause": "Pause",
    "resume": "Resume",
    "refreshNow": "Refresh now",
    "kpiSessions": "Sessions",
    "kpiCircuits": "Circuits",
    "kpiCooldowns": "Cooldowns",
    "kpiLockouts": "Lockouts",
    "hintStickyBound": "{count} sticky-bound",
    "hintRecovering": "{count} recovering",
    "hintAllHealthy": "all healthy",
    "hintOpen": "open",
    "hintConnsCooling": "connections cooling",
    "hintModelsBlocked": "models blocked",
    "resilienceTitle": "3-Layer Resilience",
    "resilienceSubtitle": "Mirrors the documented resilience model",
    "providersHealthy": "{percent}% providers healthy",
    "layer": "Layer {n}",
    "layer1Title": "Provider Circuit Breakers",
    "layer1Desc": "Stop traffic to providers failing at the upstream level",
    "layer2Title": "Connection Cooldowns",
    "layer2Desc": "Skip one bad account/key; other connections keep serving",
    "layer3Title": "Model Lockouts",
    "layer3Desc": "Per-model rate-limit locks; same connection still serves other models",
    "badgeAffectedOf": "{affected} of {total} affected",
    "badgeCooling": "{count} cooling",
    "badgeLocked": "{count} locked",
    "emptyCircuits": "No circuit breakers active yet",
    "emptyCooldowns": "No connection cooldowns active",
    "emptyLockouts": "No model lockouts",
    "moreCooldowns": "+{count} more cooldowns",
    "moreLockouts": "+{count} more lockouts",
    "feedTitle": "Live Feed",
    "feedSubtitle": "Last {count} events",
    "feedFilterAll": "All",
    "feedFilterCircuits": "Circuits",
    "feedFilterCooldowns": "Cooldowns",
    "feedFilterLockouts": "Lockouts",
    "feedFilterSessions": "Sessions",
    "feedFilterQuotas": "Quotas",
    "feedClear": "Clear",
    "feedEmptyWaiting": "Waiting for events... (polled every 5s)",
    "feedEmptyFiltered": "No events match this filter",
    "sessionsTitle": "Active Sessions",
    "sessionsSubtitle": "Sticky-bound request fingerprints (live)",
    "sessionsActive": "{count} active",
    "sessionsEmptyTitle": "No active sessions",
    "sessionsEmptyHint": "Sessions appear as requests flow through the proxy",
    "tblSession": "Session",
    "tblAge": "Age",
    "tblIdle": "Idle",
    "tblReqs": "Reqs",
    "tblBoundTo": "Bound to",
    "topApiKeys": "Top API keys",
    "quotaMonitorsTitle": "Quota Monitors",
    "quotaMonitorsSubtitle": "Live quota state per account window",
    "openQuota": "Open Quota",
    "allQuotasHealthy": "All quotas healthy",
    "statusExhausted": "EXHAUSTED",
    "statusAlerting": "ALERTING",
    "statusError": "ERROR",
    "moreSuffix": "+{count} more"
  },
  "quotaShare": {
    "title": "Quota Sharing",
    "description": "Share provider quotas across API keys with % limits",
    "newPool": "New pool",
    "betaTitle": "Beta — UI preview.",
    "betaDescription": "Configuration is saved in localStorage (not yet persisted on the server). Per-request cap enforcement is not yet wired into the proxy pipeline. This screen lets you design and visualize the quota split; real enforcement will land in a future iteration with DB persistence and upstream call interception.",
    "kpiActivePools": "Active pools",
    "kpiKeysAllocated": "Keys allocated",
    "kpiAvgUnallocated": "Avg unallocated",
    "kpiProvidersWithQuota": "Providers w/ quota",
    "emptyTitle": "No pools configured",
    "emptyDescription": "Create a pool to assign API keys to share a provider's quota window with % allocations.",
    "loading": "Loading…",
    "removePool": "Remove pool",
    "removeConfirm": "Remove this pool?",
    "pool": "Pool",
    "used": "used",
    "allocationsCount": "Allocations ({count})",
    "allocatedFree": "{allocated}% allocated · {free}% free",
    "noAllocations": "No keys allocated yet",
    "capLabel": "cap {value}",
    "notTrackedYet": "(not tracked yet)",
    "policy": "Policy",
    "policyHard": "hard",
    "policySoft": "soft",
    "policyBurst": "burst",
    "policyHardHint": "Block when key exhausts allocation",
    "policySoftHint": "Allow overflow, alert only",
    "policyBurstHint": "Allow burst into free pool",
    "editAllocations": "Edit allocations",
    "newPoolTitle": "New quota pool",
    "providerConnection": "Provider connection (account)",
    "selectConnection": "Select a connection…",
    "noEligibleConnections": "No connections with quota data. Refresh from /dashboard/quota first.",
    "quotaWindow": "Quota window",
    "selectWindow": "Select a window…",
    "alreadyUsedSuffix": "(already used)",
    "windowReset": "Reset",
    "duplicatePoolError": "A pool for this connection + window already exists",
    "cancel": "Cancel",
    "createPool": "Create pool",
    "editTitle": "Edit allocations",
    "noKeysAdded": "No keys allocated. Add one below.",
    "totalLabel": "Total: {percent}%",
    "totalExceeded": "⚠ exceeds 100%",
    "addKey": "+ Add key…",
    "equalSplit": "Equal split",
    "save": "Save allocations",
    "betaPreviewLabel": "ベータ — UI プレビュー。",
    "betaConfigSavedPrefix": "設定は次の場所に保存されます",
    "betaConfigSavedSuffix": "(まだサーバー上に永続化されていません)。リクエストごとの上限の強制はまだプロキシ パイプラインに組み込まれていません。この画面では、クォータ分割を設計および視覚化できます。実際の適用は、DB 永続性とアップストリーム コール インターセプトを伴う将来の反復で行われます。",
    "policyLabel": "ポリシー:",
    "resetIn": "リセットして",
    "quotaTotal": "合計"
  },
  "plugins": {
    "title": "Plugins",
    "description": "Install and manage plugins for extending OmniRoute functionality",
    "loading": "Loading plugins...",
    "scanning": "Scanning...",
    "scanForPlugins": "Scan for Plugins",
    "noPlugins": "No plugins installed",
    "noPluginsDescription": "Place plugin directories in ~/.omniroute/plugins/ and click Scan.",
    "activate": "Activate",
    "deactivate": "Deactivate",
    "uninstall": "Uninstall",
    "uninstallConfirm": "Uninstall plugin \"{name}\"?",
    "pluginScanComplete": "Plugin scan complete",
    "pluginScanFailed": "Plugin scan failed",
    "activated": "{name} activated",
    "deactivated": "{name} deactivated",
    "activateFailed": "Failed to activate {name}",
    "deactivateFailed": "Failed to deactivate {name}",
    "uninstalled": "{name} uninstalled",
    "uninstallFailed": "Failed to uninstall {name}",
    "configure": "Configure: {name}",
    "configurePlugin": "Configure",
    "noConfigSettings": "This plugin has no configurable settings.",
    "saving": "Saving...",
    "saveConfiguration": "Save Configuration",
    "configurationSaved": "Configuration saved",
    "saveConfigurationFailed": "Failed to save configuration",
    "pluginNotFound": "Plugin not found",
    "version": "Version",
    "author": "Author",
    "description_label": "Description",
    "status": "Status",
    "enabled": "Enabled",
    "disabled": "Disabled",
    "hooks": "Hooks"
  }
}
