849 lines
57 KiB
TypeScript
849 lines
57 KiB
TypeScript
import type { MessageKey } from './resources';
|
||
|
||
export const jaOverrides = {
|
||
'app.language': '言語',
|
||
'app.theme.light': 'ライトモード',
|
||
'app.theme.dark': 'ダークモード',
|
||
'app.theme.switchToLight': 'ライトモードに切り替え',
|
||
'app.theme.switchToDark': 'ダークモードに切り替え',
|
||
'app.desktopConsole': 'デスクトップコンソール',
|
||
'app.navigation': 'メインナビゲーション',
|
||
'app.nav.home': 'ホーム',
|
||
'app.nav.versions': 'バージョン管理',
|
||
'app.nav.kernel': 'コア',
|
||
'app.nav.config': '詳細設定',
|
||
'app.nav.thinkingAliases': 'モデルエイリアス',
|
||
'app.nav.oauth': 'OAuth',
|
||
'app.nav.api': 'API 接続',
|
||
'app.nav.authFiles': '認証ファイル',
|
||
'app.nav.quota': 'クォータ照会',
|
||
'app.nav.usageRecords': '使用履歴',
|
||
'app.nav.agents': 'エージェント',
|
||
'app.coreRequired.title': '先にコアを起動してください',
|
||
'app.coreRequired.description': '設定、OAuth、API 接続などを使用するには CPA コアを起動してください。',
|
||
'app.contact.title': 'QQ でお問い合わせ',
|
||
'app.contact.label': 'お問い合わせ',
|
||
'app.close.title': '次の操作を選択してください',
|
||
'app.close.description': 'アプリを終了するか、EasyCLIProxyAPI をシステムトレイで実行し続けることができます。',
|
||
'app.close.minimizing': '最小化しています...',
|
||
'app.close.minimize': 'トレイに最小化',
|
||
'app.close.exiting': '終了しています...',
|
||
'app.close.exit': 'アプリを終了',
|
||
'error.render.title': 'ページの描画中にエラーが発生しました',
|
||
'error.unknown': '不明なエラー',
|
||
'error.reload': 'ページを再読み込み',
|
||
'quota.title': 'クォータ照会',
|
||
'quota.queryableCredentials.one': '照会可能な認証情報 {count} 件',
|
||
'quota.queryableCredentials.other': '照会可能な認証情報 {count} 件',
|
||
'quota.credentials.one': '認証情報 {count} 件',
|
||
'quota.credentials.other': '認証情報 {count} 件',
|
||
'quota.readList': '一覧を読み込む',
|
||
'quota.refreshAll': 'すべて更新',
|
||
'quota.loadingFiles': '認証ファイルを読み込んでいます',
|
||
'quota.empty.title': '照会可能なクォータがありません',
|
||
'quota.empty.description': 'まず認証ファイルにクォータ照会対応の認証情報を追加してください。',
|
||
'quota.unknownProvider': '不明',
|
||
'quota.reset': 'クォータをリセット',
|
||
'quota.fileDisabled': '認証ファイルは無効です',
|
||
'quota.refresh': 'クォータを取得/更新',
|
||
'quota.notFetched': 'クォータはまだ取得されていません',
|
||
'quota.disabled': '無効',
|
||
'quota.fetch': 'クォータを取得',
|
||
'quota.querying': '照会中',
|
||
'quota.resetCredits': '手動リセット回数',
|
||
'quota.earliestExpiry': '最も早い有効期限',
|
||
'quota.remaining': '残り {percent}%',
|
||
'quota.confirm.title': '「{name}」の Codex クォータをリセットしますか?',
|
||
'quota.confirm.cost': 'この操作では手動リセットを 1 回消費します。',
|
||
'quota.confirm.available': '現在利用可能:{count} 回',
|
||
'quota.confirm.expiry': '最も早い有効期限:{time}',
|
||
'quota.confirm.warning': '「確認」を押した場合のみ実行されます。「キャンセル」ではリセット回数を消費しません。',
|
||
'oauth.title': 'OAuth ログイン',
|
||
'oauth.loginSuccess': '{provider} へのログインに成功しました',
|
||
'oauth.priorityApplyFailed': 'OAuth ログインは成功しましたが、新しい認証情報の優先度を 0 に設定できませんでした:{error}',
|
||
'oauth.authFailed': '認証に失敗しました',
|
||
'oauth.loginFailed': '{provider} へのログインに失敗しました{detail}',
|
||
'oauth.missingState': 'コアから OAuth state が返されませんでした',
|
||
'oauth.missingStatePolling': 'コアから OAuth state が返されなかったため、ログイン状態を確認できません',
|
||
'oauth.openFailedDetail': 'ログインリンクを取得しましたが、ブラウザーを自動で開けませんでした:{error}',
|
||
'oauth.openFailed': 'ログインリンクを取得しましたが、ブラウザーを自動で開けませんでした。手動で開いてください',
|
||
'oauth.linkCopied': 'ログインリンクをコピーしました',
|
||
'oauth.linkCopyFailed': 'ログインリンクをコピーできませんでした',
|
||
'oauth.pasteCallback': 'コールバック URL を貼り付けてください',
|
||
'oauth.pasteXaiCallback': 'xAI から返された code またはコールバック URL を貼り付けてください',
|
||
'oauth.invalidCallback': 'コールバック内容が無効です',
|
||
'oauth.invalidXaiCallback': '入力から xAI コールバックを作成できません。code と state を確認してください',
|
||
'oauth.callbackSubmittedNotice': 'コールバックを送信しました。認証完了を待っています',
|
||
'oauth.loginAnother': '別のアカウントでログイン',
|
||
'oauth.loggingIn': 'ログイン中…',
|
||
'oauth.startLogin': 'ログインを開始',
|
||
'oauth.hint': 'ログインを開始するとブラウザーが開き、認証を行います。自動で開かない場合はリンクを手動で開いてください',
|
||
'oauth.authorizationLink': '認証リンク',
|
||
'oauth.copyLink': 'リンクをコピー',
|
||
'oauth.openLink': 'リンクを開く',
|
||
'oauth.callbackPlaceholder': '完全なコールバック URL を貼り付け',
|
||
'oauth.xaiCallbackPlaceholder': 'code または完全なコールバック URL を貼り付け',
|
||
'oauth.submitCallback': 'コールバックを送信',
|
||
'oauth.callbackSubmitted': 'コールバックを送信しました。認証完了を待っています',
|
||
'oauth.callbackFailed': 'コールバックの送信に失敗しました{detail}',
|
||
'oauth.openBrowser': 'ブラウザーを開く',
|
||
'oauth.status.completed': '完了',
|
||
'oauth.status.failed': '失敗',
|
||
'oauth.status.waiting': 'コールバック待ち',
|
||
'oauth.status.signedOut': '未ログイン',
|
||
'usage.title': '使用履歴',
|
||
'usage.collector.collecting': 'ローカルで収集中',
|
||
'usage.collector.error': '収集エラー',
|
||
'usage.collector.waiting': 'コアを待機中',
|
||
'usage.longTermRecords': '長期レコード {count} 件',
|
||
'usage.pageLabel': '使用履歴ページ',
|
||
'usage.tab.overview': '概要',
|
||
'usage.tab.analysis': '分析',
|
||
'usage.tab.events': 'リクエスト詳細',
|
||
'usage.tab.pricing': '料金統計',
|
||
'usage.filter.timeRange': '期間',
|
||
'usage.range.4h': '過去 4 時間',
|
||
'usage.range.24h': '過去 24 時間',
|
||
'usage.range.today': '今日',
|
||
'usage.range.7d': '過去 7 日間',
|
||
'usage.range.30d': '過去 30 日間',
|
||
'usage.range.all': '全期間',
|
||
'usage.range.custom': 'カスタム',
|
||
'usage.filter.model': 'モデル',
|
||
'usage.filter.allModels': 'すべてのモデル',
|
||
'usage.filter.allProviders': 'すべてのプロバイダー',
|
||
'usage.filter.source': 'ソース',
|
||
'usage.filter.allSources': 'すべてのソース',
|
||
'usage.filter.allKeys': 'すべてのキー',
|
||
'usage.filter.result': 'リクエスト結果',
|
||
'usage.filter.allResults': 'すべての結果',
|
||
'usage.result.success': '成功',
|
||
'usage.result.failed': '失敗',
|
||
'usage.filter.startTime': '開始日時',
|
||
'usage.filter.endTime': '終了日時',
|
||
'usage.filter.to': '~',
|
||
'usage.loading': 'ローカル SQLite の使用履歴を読み込んでいます',
|
||
'usage.stat.requests': '総リクエスト数',
|
||
'usage.stat.requestMeta': '成功 {success} · 失敗 {failed}',
|
||
'usage.stat.tokens': '合計 Token',
|
||
'usage.stat.tokenMeta': '入力 {input} · 出力 {output}',
|
||
'usage.stat.successRate': '成功率',
|
||
'usage.stat.reasoningMeta': '推論 {tokens} Token',
|
||
'usage.stat.averageLatency': '平均レイテンシ',
|
||
'usage.stat.tps': 'TPS',
|
||
'usage.stat.performanceMeta': '{rpm} RPM · 平均レイテンシ {latency} ms',
|
||
'usage.stat.cacheHitRate': 'キャッシュヒット率',
|
||
'usage.stat.cacheHitMeta': 'ヒット {hit} / 入力 {input} Token',
|
||
'usage.stat.estimatedCost': '推定コスト',
|
||
'usage.stat.costMeta': '{priced} / {total} 件を計算済み · 参考値',
|
||
'usage.pricing.coverage': '{priced} / {total} 件を計算済み · 利用可能なモデル料金 {saved} 件',
|
||
'usage.pricing.search': 'モデルを検索',
|
||
'usage.pricing.add': '手動で追加',
|
||
'usage.pricing.sync': '料金を同期',
|
||
'usage.pricing.syncing': '同期中',
|
||
'usage.pricing.syncResult': '料金を更新しました:{imported} 件を追加、手動料金 {skipped} 件を保持、{unmatched} 件は未一致',
|
||
'usage.pricing.syncFallback': 'リモート料金を読み込めなかったため、内蔵料金を引き続き使用します',
|
||
'usage.pricing.model': 'モデル',
|
||
'usage.pricing.calls': 'リクエスト数',
|
||
'usage.pricing.cost': '推定コスト',
|
||
'usage.pricing.prompt': '入力料金 ($/1M)',
|
||
'usage.pricing.completion': '出力料金 ($/1M)',
|
||
'usage.pricing.cache': '互換キャッシュ料金 ($/1M)',
|
||
'usage.pricing.cacheRead': 'キャッシュ読み取り料金 ($/1M)',
|
||
'usage.pricing.cacheCreation': 'キャッシュ作成料金 ($/1M)',
|
||
'usage.pricing.actions': '操作',
|
||
'usage.pricing.optional': '任意。空欄の場合は代替料金を使用',
|
||
'usage.pricing.modelRequired': 'モデル名を入力してください',
|
||
'usage.pricing.saving': '保存中',
|
||
'usage.pricing.saved': 'モデル料金を保存し、概要のコストを更新しました',
|
||
'usage.pricing.deleted': 'モデル料金を削除し、概要のコストを更新しました',
|
||
'usage.pricing.deleteConfirm': 'モデル {model} の料金を削除しますか?',
|
||
'usage.trend.title': 'リクエストと Token の推移',
|
||
'usage.trend.description': 'システムのローカル時刻ごとに集計',
|
||
'usage.token.title': 'Token の内訳',
|
||
'usage.token.description': 'キャッシュ、推論、生成の消費量',
|
||
'usage.token.input': '入力',
|
||
'usage.token.output': '出力',
|
||
'usage.token.reasoning': '推論',
|
||
'usage.token.cacheRead': 'キャッシュ読み取り',
|
||
'usage.token.cacheCreation': 'キャッシュ作成',
|
||
'usage.trend.aria': 'リクエスト推移',
|
||
'usage.analysis.models': 'モデル使用量',
|
||
'usage.analysis.sources': 'リクエスト元',
|
||
'usage.analysis.keys': '認証キー',
|
||
'usage.analysis.hours': '時間帯分布',
|
||
'usage.analysis.sortedByTokens': 'Token 順',
|
||
'usage.analysis.itemMeta': '{requests} 回 · {percent}% · {tokens} Token',
|
||
'usage.events.total': '合計 {count} 件',
|
||
'usage.events.page': '{page} / {total} ページ',
|
||
'usage.column.time': '日時',
|
||
'usage.column.model': 'モデル',
|
||
'usage.column.source': 'ソース',
|
||
'usage.column.result': '結果',
|
||
'usage.column.latency': '合計所要時間',
|
||
'usage.column.ttft': '初回トークン遅延',
|
||
'usage.column.input': '入力',
|
||
'usage.column.output': '出力',
|
||
'usage.column.reasoning': '推論',
|
||
'usage.column.cache': 'キャッシュ',
|
||
'usage.column.total': '合計',
|
||
'usage.key.noRemark': 'メモなし',
|
||
'usage.previous': '前へ',
|
||
'usage.next': '次へ',
|
||
'usage.empty': '現在のフィルター範囲に使用履歴はありません',
|
||
'aliases.effort.low': '低',
|
||
'aliases.effort.medium': '標準',
|
||
'aliases.effort.high': '高',
|
||
'aliases.effort.xhigh': '超高',
|
||
'aliases.effort.max': '最大',
|
||
'aliases.source.openAiCompatible': 'OpenAI 互換',
|
||
'aliases.source.other': 'その他のソース',
|
||
'aliases.source.available': '現在コアで利用可能なモデル',
|
||
'aliases.error.selectModel': '先に元のモデルを選択してください',
|
||
'aliases.error.emptyAlias': 'エイリアスモデル名を入力してください',
|
||
'aliases.error.emptyEffort': '推論レベルを入力してください',
|
||
'aliases.created': '{alias} を作成し、推論レベルを {effort} に固定しました',
|
||
'aliases.deleteConfirm': 'エイリアスモデル「{alias}」を削除しますか?\n対応する推論レベルの上書きルールも削除されます。',
|
||
'aliases.deleted': '{alias} を削除しました',
|
||
'aliases.create.title': '推論エイリアスを作成',
|
||
'aliases.create.description': 'Codex OAuth、Codex API、OpenAI 互換接続に対応',
|
||
'aliases.originalModel': '元のモデル',
|
||
'aliases.loadingModels': 'モデルを読み込んでいます',
|
||
'aliases.searchModel': '元のモデルを検索して選択',
|
||
'aliases.availableModels': '利用可能な元モデル',
|
||
'aliases.noMatch': '一致するモデルまたはソースがありません',
|
||
'aliases.noModels': '選択可能なモデルがありません',
|
||
'aliases.sourceLabel': 'ソース:{source}',
|
||
'aliases.sourceHint': '同名モデルは Codex OAuth、Codex API、OpenAI 互換ソースごとに表示されます',
|
||
'aliases.effort.title': '推論レベル',
|
||
'aliases.effort.description': '一般的なレベルを選択するか、上流が対応するカスタム値を入力します',
|
||
'aliases.customLevel': 'カスタムレベル:{effort}',
|
||
'aliases.customLevelHint': 'モデルプロバイダーが対応する別の推論レベルを入力',
|
||
'aliases.custom': 'カスタム',
|
||
'aliases.customPlaceholder': '例:minimal、auto、ultra、またはベンダー独自レベル',
|
||
'aliases.collapseCustom': 'カスタム入力を折りたたむ',
|
||
'aliases.customHelp': '対象モデルが実際に対応するレベル名のみ入力してください',
|
||
'aliases.aliasName.title': 'エイリアスモデル名',
|
||
'aliases.aliasName.description': '新しい入口のみを追加し、元のモデル名は変更しません',
|
||
'aliases.aliasName.example': '例:{model}-{effort}',
|
||
'aliases.aliasName.selectFirst': '先に元のモデルを選択し、クライアントで使用するエイリアスを入力してください',
|
||
'aliases.notSelected': 'モデル未選択',
|
||
'aliases.enterAlias': 'エイリアスモデル名を入力してください',
|
||
'aliases.notSet': '未入力',
|
||
'aliases.creating': '作成中',
|
||
'aliases.create': 'エイリアスを作成',
|
||
'aliases.createdList.title': '作成済みエイリアス',
|
||
'aliases.createdList.description': '各エイリアスには元のモデル、ソース、固定推論レベルが保持されます',
|
||
'aliases.loadingConfig': '設定を読み込んでいます',
|
||
'aliases.empty.title': '推論エイリアスはまだありません',
|
||
'aliases.empty.description': '左側でモデルとレベルを選択して作成できます',
|
||
'aliases.unboundEffort': 'レベル未設定',
|
||
'aliases.delete': '{alias} を削除',
|
||
'config.routing.roundRobin': 'ラウンドロビン',
|
||
'config.routing.fillFirst': '優先充填',
|
||
'config.tabs.label': '詳細設定ページ',
|
||
'config.tabs.general': '基本設定',
|
||
'config.tabs.network': 'ネットワークとルーティング',
|
||
'config.error.emptyKey': '認証キーを入力してください',
|
||
'config.error.invalidKey': '空白を含まない表示可能な ASCII 文字のみ使用できます',
|
||
'config.error.duplicateKey': '同じ認証キーがすでに存在します',
|
||
'config.error.remarkTooLong': 'メモは 80 文字以内で入力してください',
|
||
'config.error.portRange': 'ポートは 1〜65535 の整数で入力してください',
|
||
'config.error.networkRestartFailed': '設定は保存されましたが、コアの再起動に失敗しました:{error}',
|
||
'config.error.saveFailed': '保存に失敗しました:{error}',
|
||
'config.notice.keyAdded': '認証キーを追加しました',
|
||
'config.notice.keyUpdated': '認証キーを更新しました',
|
||
'config.notice.keyDeleted': '認証キーを削除しました',
|
||
'config.notice.keyCopied': '認証キーをコピーしました',
|
||
'config.notice.keyCopyFailed': '認証キーをコピーできませんでした',
|
||
'config.notice.routingUpdated': 'ルーティング方式を更新しました',
|
||
'config.notice.networkUpdated': 'ネットワークとセッションルーティング設定を保存しました',
|
||
'config.notice.networkRestarted': 'ネットワーク設定を保存し、コアを再起動しました',
|
||
'config.notice.networkNextStart': 'ネットワーク設定を保存しました。次回のコア起動時に反映されます',
|
||
'config.notice.proxyUpdated': 'プロキシ URL を保存しました',
|
||
'config.notice.sessionAffinityEnabled': 'セッションアフィニティを有効にしました',
|
||
'config.notice.sessionAffinityDisabled': 'セッションアフィニティを無効にしました',
|
||
'config.notice.sessionTtlUpdated': 'セッションアフィニティ TTL を保存しました',
|
||
'config.keys.title': '認証キー',
|
||
'config.keys.count': 'キー数',
|
||
'config.keys.add': '認証キーを追加',
|
||
'config.unavailable': '設定を利用できません',
|
||
'common.retry': '再試行',
|
||
'config.keys.noRemark': 'メモなし',
|
||
'config.keys.copy': '認証キーをコピー',
|
||
'config.keys.copyNth': '{number} 番目の認証キーをコピー',
|
||
'config.keys.edit': '認証キーを編集',
|
||
'config.keys.editNth': '{number} 番目の認証キーを編集',
|
||
'config.keys.delete': '認証キーを削除',
|
||
'config.keys.deleteNth': '{number} 番目の認証キーを削除',
|
||
'config.keys.empty': '認証キーがありません',
|
||
'common.loading': '読み込み中',
|
||
'common.unavailable': '利用不可',
|
||
'common.enabled': '有効',
|
||
'common.disabled': '無効',
|
||
'config.routing.title': 'ルーティング方式',
|
||
'config.network.title': 'ネットワークとセッションルーティング',
|
||
'config.network.networkSection': 'ネットワーク設定',
|
||
'config.network.routingSection': 'セッションルーティング',
|
||
'config.network.saving': '保存中',
|
||
'config.network.saved': '保存済み',
|
||
'config.network.unsaved': '未保存の変更あり',
|
||
'config.network.confirmSave': '確認して保存',
|
||
'config.network.port': 'ポート',
|
||
'config.network.portHint': '範囲は 1〜65535。コア実行中の変更時は自動的に再起動します',
|
||
'config.network.allowLan': 'LAN アクセスを許可',
|
||
'config.network.allowLanHint': 'LAN 内の他のデバイスからこのプロキシへのアクセスを許可します',
|
||
'config.network.proxyUrl': 'プロキシ URL',
|
||
'config.network.proxyPlaceholder': '例:socks5://127.0.0.1:7890',
|
||
'config.network.proxyHint': 'グローバル上流プロキシ。空欄の場合は使用しません',
|
||
'config.network.sessionAffinity': 'セッションアフィニティ',
|
||
'config.network.sessionAffinityHint': '同じセッションでは以前選択した認証情報を優先します',
|
||
'config.network.sessionTtl': 'セッションアフィニティ TTL',
|
||
'config.network.sessionTtlHint': '例:1h。空欄の場合はコアのデフォルト値を使用します',
|
||
'config.keys.addTitle': '認証キーを追加',
|
||
'config.keys.editTitle': '認証キーを編集',
|
||
'common.close': '閉じる',
|
||
'config.keys.label': '認証キー',
|
||
'config.keys.hide': 'キーを隠す',
|
||
'config.keys.show': 'キーを表示',
|
||
'config.keys.remark': 'メモ',
|
||
'config.keys.remarkPlaceholder': '例:開発環境、田中さんのキー',
|
||
'config.keys.generate': 'キーを生成',
|
||
'config.keys.adding': '追加中',
|
||
'common.add': '追加',
|
||
'config.keys.deleteTitle': '認証キーを削除',
|
||
'config.keys.deleteAllWarning': 'すべてのキーを削除すると、デフォルトですべてのキーが許可されます',
|
||
'common.cancel': 'キャンセル',
|
||
'common.deleting': '削除中',
|
||
'common.delete': '削除',
|
||
'authFiles.unknownProvider': '不明なプロバイダー',
|
||
'authFiles.status.disabled': '無効',
|
||
'authFiles.status.unavailable': '利用不可',
|
||
'authFiles.status.ready': '準備完了',
|
||
'authFiles.quota.loading': 'クォータを照会中',
|
||
'authFiles.quota.failed': 'クォータの取得に失敗しました',
|
||
'authFiles.quota.aria': 'クォータ情報',
|
||
'authFiles.quota.empty': 'クォータデータがありません',
|
||
'authFiles.quota.resets': '手動リセット {count} 回',
|
||
'authFiles.quota.expiry': '最も早い有効期限 {time}',
|
||
'authFiles.models.noneForProvider': 'このプロバイダーには設定可能なモデル定義がありません',
|
||
'authFiles.models.updated': '{provider} の公開モデルを更新しました',
|
||
'authFiles.priority.button': '優先度 {priority}',
|
||
'authFiles.priority.title': '認証情報の優先度を変更',
|
||
'authFiles.priority.label': '優先度',
|
||
'authFiles.priority.placeholder': '例:10 または -1',
|
||
'authFiles.priority.hint': '整数のみ指定できます。値が大きいほど優先度が高くなります。空欄または 0 で既定値に戻ります。',
|
||
'authFiles.priority.invalid': '有効な整数の優先度を入力してください',
|
||
'authFiles.priority.updated': '{name} の優先度を更新しました',
|
||
'authFiles.uploaded': '認証ファイルを {count} 件アップロードしました',
|
||
'authFiles.uploadFailed': '{count} 件のファイルをアップロードできませんでした:{errors}',
|
||
'authFiles.notice.enabled': '認証ファイルを有効にしました',
|
||
'authFiles.notice.disabled': '認証ファイルを無効にしました',
|
||
'authFiles.runtimeDeleteError': '実行時認証ファイルはディスクから削除できません',
|
||
'authFiles.deleteConfirm': '「{name}」を削除しますか?',
|
||
'authFiles.deleted': '認証ファイルを削除しました',
|
||
'authFiles.deleteAllConfirm': 'ディスク上の認証ファイルをすべて削除しますか?実行時認証は削除されません。',
|
||
'authFiles.deletedAll': 'ディスク上の認証ファイルをすべて削除しました',
|
||
'common.copyFailed': 'コピーに失敗しました',
|
||
'authFiles.title': '認証ファイル',
|
||
'authFiles.summary': 'ファイル {files} 件 · 無効 {disabled} 件',
|
||
'common.refresh': '更新',
|
||
'authFiles.clearDisk': 'ディスクファイルを消去',
|
||
'common.upload': 'アップロード',
|
||
'authFiles.searchPlaceholder': 'ファイル名、アカウント、プロバイダーを検索',
|
||
'authFiles.filter.allProviders': 'すべてのプロバイダー',
|
||
'authFiles.filter.allStatuses': 'すべての状態',
|
||
'authFiles.filter.enabled': '有効',
|
||
'authFiles.filter.disabled': '無効',
|
||
'authFiles.filter.runtime': '実行時のみ',
|
||
'authFiles.loading': '認証ファイルを読み込んでいます',
|
||
'authFiles.empty.filtered': '一致する認証ファイルがありません',
|
||
'authFiles.empty.none': '認証ファイルがありません',
|
||
'authFiles.empty.tryFilter': '別のフィルター条件をお試しください',
|
||
'authFiles.empty.upload': 'JSON 認証ファイルをアップロードするとここに表示されます',
|
||
'authFiles.unknownSize': 'サイズ不明',
|
||
'authFiles.runtime': '実行時',
|
||
'authFiles.quota.querying': '照会中',
|
||
'authFiles.quota.refresh': 'クォータを更新',
|
||
'authFiles.quota.fetch': 'クォータを取得',
|
||
'authFiles.models.settings': '公開モデルを設定',
|
||
'authFiles.models.button': 'モデル',
|
||
'authFiles.copyName': 'ファイル名をコピー',
|
||
'authFiles.openDirectory': '認証情報フォルダーを開く',
|
||
'common.enable': '有効化',
|
||
'common.disable': '無効化',
|
||
'authFiles.runtimeFootnote': '{count} 件の認証情報は実行時ストレージ由来です。対応するプロバイダーまたは認証元でのみ管理できます。',
|
||
'authFiles.models.title': '公開モデル',
|
||
'authFiles.models.description': '{provider} · 既定ではすべて公開されます。不要なモデルは選択解除できます',
|
||
'authFiles.models.search': 'モデル名を検索',
|
||
'authFiles.models.summary': '合計 {total} 件 · 公開 {open} 件',
|
||
'authFiles.models.closeVisible': '表示中を非公開',
|
||
'authFiles.models.openVisible': '表示中を公開',
|
||
'authFiles.models.openAll': 'すべて公開',
|
||
'authFiles.models.closeAll': 'すべて非公開',
|
||
'authFiles.models.loading': 'モデル定義を読み込んでいます',
|
||
'authFiles.models.loadFailed': 'モデルの読み込みに失敗しました',
|
||
'authFiles.models.noMatch': '一致するモデルがありません',
|
||
'authFiles.models.empty': 'モデル定義がありません',
|
||
'common.saving': '保存中',
|
||
'authFiles.models.save': '保存({count} 件を公開)',
|
||
'agents.description.claudeCode': 'CPA の Anthropic 互換 API を使用',
|
||
'agents.description.claudeDesktop': 'CPA 3P 推論ゲートウェイを使用(Windows、macOS、Linux Beta 対応)',
|
||
'agents.description.codex': 'CPA Responses API を使用',
|
||
'agents.description.opencode': 'CPA OpenAI Compatible プロバイダーを使用',
|
||
'agents.description.openclaw': 'CPA モデルプロバイダーと既定モデルを使用',
|
||
'agents.description.hermes': 'CPA カスタムプロバイダーを使用',
|
||
'agents.list.detecting': '検出中',
|
||
'agents.list.unsupported': '現在のプラットフォームでは非対応',
|
||
'agents.list.notInstalled': 'インストールを検出できません',
|
||
'agents.list.modified': '変更済み · {model}',
|
||
'agents.list.installedVersion': 'インストール済み · {version}',
|
||
'agents.list.installed': 'インストール済み · 元の設定を維持',
|
||
'agents.model.loading': 'モデルを読み込んでいます',
|
||
'agents.model.loadFailed': 'モデルの取得に失敗しました',
|
||
'agents.model.select': 'モデルを選択',
|
||
'agents.model.none': 'モデル一覧は空です',
|
||
'agents.model.search': 'モデル名またはエイリアスを検索',
|
||
'agents.model.clearSearch': '検索を消去',
|
||
'agents.model.refresh': 'モデルを更新',
|
||
'agents.model.fetching': 'モデルを取得しています',
|
||
'agents.model.noMatch': '一致するモデルがありません',
|
||
'agents.model.unavailable': 'モデル一覧は空です',
|
||
'agents.model.tryKeywords': '別のキーワードをお試しください',
|
||
'agents.model.connectFirst': '先に利用可能なモデルを接続してから更新してください',
|
||
'agents.model.available': '利用可能なモデル',
|
||
'agents.model.count': '利用可能なモデル {count} 件',
|
||
'agents.model.stale': '更新に失敗したため、前回の結果を表示しています',
|
||
'agents.error.modelsLoading': 'モデル一覧を読み込み中です。しばらくしてから再試行してください',
|
||
'agents.error.noModels': '選択可能なモデルがないため、設定変更を適用できません',
|
||
'agents.error.selectionGone': '選択中のモデルは利用可能一覧にありません。更新後に選び直してください',
|
||
'agents.error.applyFirst': '選択したモデルはまだ適用されていません。先に「設定変更を適用」をクリックしてください',
|
||
'agents.status.detecting': '検出中',
|
||
'agents.status.unsupported': 'プラットフォーム非対応',
|
||
'agents.status.notInstalled': '未インストール',
|
||
'agents.status.conflict': '設定競合',
|
||
'agents.status.modified': '設定変更済み',
|
||
'agents.status.original': '元の設定を維持',
|
||
'agents.status.invalid': '設定が無効',
|
||
'agents.status.applied': '適用済み',
|
||
'agents.status.unconfigured': '未設定',
|
||
'agents.title': 'エージェント設定',
|
||
'agents.redetect': '再検出',
|
||
'agents.tabs.label': 'エージェント設定ページ',
|
||
'agents.tabs.core': 'コア設定',
|
||
'agents.tabs.sessions': 'セッション管理',
|
||
'agents.sessions.title': 'Codex セッション管理',
|
||
'agents.sessions.description': 'ローカルの Codex セッションをスキャンし、過去のセッションの復元、バックアップ、削除を安全に行います。',
|
||
'agents.sessions.refresh': '更新',
|
||
'agents.sessions.currentPage': '現在のページ',
|
||
'agents.sessions.active': '未アーカイブ',
|
||
'agents.sessions.archived': 'アーカイブ済み',
|
||
'agents.sessions.database': 'データベース',
|
||
'agents.sessions.databaseMissing': 'セッションデータベースが見つかりません',
|
||
'agents.sessions.repairTitle': '過去のセッションを復元',
|
||
'agents.sessions.repairDescription': '他の Provider のセッションを現在のセッション Provider に同期します。',
|
||
'agents.sessions.autoRepair': '過去のセッションを自動復元',
|
||
'agents.sessions.settingLoading': '読み込み中',
|
||
'agents.sessions.settingOn': 'オン',
|
||
'agents.sessions.settingOff': 'オフ',
|
||
'agents.sessions.settingLoadFailed': '自動復元設定の読み込みに失敗しました:{error}',
|
||
'agents.sessions.applyManagedFirst': '先に Codex の CPA 管理設定を適用してください',
|
||
'agents.sessions.repairNow': '今すぐ復元',
|
||
'agents.sessions.repairing': '復元中',
|
||
'agents.sessions.loadFailed': 'Codex セッションの読み込みに失敗しました:{error}',
|
||
'agents.sessions.localSessions': 'ローカルセッション',
|
||
'agents.sessions.pageDescription': '{page} ページ目・1 ページ最大 {size} 件',
|
||
'agents.sessions.selected': '{count} 件選択中',
|
||
'agents.sessions.selectAll': 'このページをすべて選択',
|
||
'agents.sessions.clearSelection': '選択を解除',
|
||
'agents.sessions.deleteSelected': '選択項目を削除',
|
||
'agents.sessions.multiSelect': '複数選択',
|
||
'agents.sessions.loading': 'ローカルセッションをスキャンしています…',
|
||
'agents.sessions.empty': 'Codex セッションが見つかりません。',
|
||
'agents.sessions.selectSession': 'セッション {title} を選択',
|
||
'agents.sessions.untitled': '無題のセッション',
|
||
'agents.sessions.noProject': 'プロジェクトパスなし',
|
||
'agents.sessions.noProvider': '不明な Provider',
|
||
'agents.sessions.noTime': '更新時刻不明',
|
||
'agents.sessions.activeBadge': '未アーカイブ',
|
||
'agents.sessions.archivedBadge': 'アーカイブ済み',
|
||
'agents.sessions.previousPage': '前のページ',
|
||
'agents.sessions.nextPage': '次のページ',
|
||
'agents.sessions.pageNumber': '{page} ページ目',
|
||
'agents.sessions.deleteOneTitle': 'このセッションを削除しますか?',
|
||
'agents.sessions.deleteManyTitle': '{count} 件のセッションを削除しますか?',
|
||
'agents.sessions.deleteOneDescription': 'バックアップを作成してから「{title}」と既知の関連記録を削除します。アプリ内で元に戻すことはできません。',
|
||
'agents.sessions.deleteManyDescription': 'バックアップを作成してから、次の {count} 件と既知の関連記録を削除します:{preview}{extra}',
|
||
'agents.sessions.deleteMore': '、ほか {count} 件',
|
||
'agents.sessions.confirmDelete': 'バックアップして削除',
|
||
'agents.sessions.deleteResult': '{deleted} 件を削除、{failed} 件失敗。{details}{backup}',
|
||
'agents.sessions.deleteFailed': 'セッションの削除に失敗しました:{error}',
|
||
'agents.sessions.backupAt': 'バックアップ先:{path}',
|
||
'agents.sessions.settingFailed': '自動復元設定の保存に失敗しました:{error}',
|
||
'agents.sessions.repairResult': '過去のセッションを {provider} に復元しました:rollout {files} ファイルを移行、データベース {rows} 行を更新、使用中の {skipped} ファイルをスキップしました。',
|
||
'agents.sessions.repairFailed': '過去のセッションの復元に失敗しました:{error}',
|
||
'agents.sessions.progressCount': '{processed}/{total}',
|
||
'agents.sessions.progress.scanning': 'セッションをスキャン中',
|
||
'agents.sessions.progress.backingUp': 'バックアップを作成中',
|
||
'agents.sessions.progress.rewriting': '過去のセッションを移行中',
|
||
'agents.sessions.progress.updatingDatabase': 'データベースを同期中',
|
||
'agents.sessions.progress.complete': '復元完了',
|
||
'agents.sessions.scanIndex': '無効なセッション記録を確認',
|
||
'agents.sessions.scanningIndex': '無効な記録を確認中',
|
||
'agents.sessions.cleanupNoCandidates': '安全に削除できる無効なセッション記録はありません。',
|
||
'agents.sessions.cleanupPreviewFailed': '無効なセッション記録の確認に失敗しました:{error}',
|
||
'agents.sessions.cleanupTitle': '削除可能な無効な索引',
|
||
'agents.sessions.cleanupDescription': 'session_index.jsonl のみに存在し、実際のセッション元がなくなった記録が {count} 件見つかりました。初期状態では未選択です。Codex と ChatGPT を終了し、項目ごとに確認して削除してください。不明な形式の記録は保持されます。',
|
||
'agents.sessions.cleanupSelectAll': '候補をすべて選択',
|
||
'agents.sessions.cleanupConfirm': '選択した {count} 件を削除',
|
||
'agents.sessions.cleanupResult': '無効なセッション索引を {count} 件削除しました。{backup}',
|
||
'agents.sessions.cleanupFailed': '無効なセッション索引の削除に失敗しました:{error}',
|
||
'agents.localClients': 'ローカルクライアント',
|
||
'agents.selectClient': '管理するエージェントを選択',
|
||
'agents.installStatus': 'インストール状態',
|
||
'agents.clientDetected': 'クライアントを検出しました',
|
||
'agents.clientNotDetected': 'クライアントを検出できません',
|
||
'agents.clientVersion': 'クライアントバージョン',
|
||
'agents.notFetched': '未取得',
|
||
'agents.useModel': '使用モデル',
|
||
'agents.pending': '未適用',
|
||
'agents.model.readingAvailable': '利用可能なモデルを読み込んでいます',
|
||
'agents.model.current': '現在適用中:{model}',
|
||
'agents.model.firstSelection': '利用可能なモデル {count} 件。初回は先頭を選択します',
|
||
'agents.modify.title': '設定変更',
|
||
'agents.modify.oauthConfiguration': 'OAuth 設定方式',
|
||
'agents.oauthLoginRequired.title': 'Codex へのログインが必要です',
|
||
'agents.oauthLoginRequired.enableDescription': '有効な Codex のログイン認証情報が見つからないため、OAuth 設定方式を有効にできません。Codex アプリで ChatGPT アカウントにログインしてください。Codex アプリでログインを開始できない場合は、先に',
|
||
'agents.oauthLoginRequired.enableClearConfiguration': '設定を消去',
|
||
'agents.oauthLoginRequired.enableDescriptionSuffix': 'を使用してください。',
|
||
'agents.oauthLoginRequired.applyDescription': '有効な Codex のログイン認証情報が見つからないため、OAuth 設定を適用できません。Codex で ChatGPT アカウントにログインしてから、設定を適用してください。',
|
||
'agents.oauthLoginRequired.launchDescription': 'OAuth 設定方式が有効ですが、有効な Codex のログイン認証情報が見つかりません。起動する前に Codex で ChatGPT アカウントにログインしてください。',
|
||
'agents.oauthLoginRequired.confirm': '了解しました',
|
||
'agents.modify.apply': '設定変更を適用',
|
||
'agents.modify.default': 'デフォルト設定',
|
||
'agents.modify.clear': '設定を消去',
|
||
'agents.modify.invalid': '現在の設定を解析できません。「設定変更を適用」は最小の有効な設定を再構築し、「デフォルト設定」はファイル全体をリセットします。',
|
||
'agents.modify.applied': 'アプリが管理するフィールドは適用済みで、それ以外のユーザー設定は保持されています。',
|
||
'agents.launch.enableFirst': '先に設定変更を適用してください',
|
||
'agents.launch.applyFirst': '先に選択中のモデルを適用してください',
|
||
'agents.launch.starting': '起動中',
|
||
'agents.launch.startCli': 'CLI を起動',
|
||
'agents.launch.startApp': 'App を起動',
|
||
'agents.launch.start': '{target} を起動',
|
||
'agents.launch.unavailable': '起動できません',
|
||
'agents.launch.closeChatgpt': 'ChatGPT App を終了',
|
||
'agents.launch.closingChatgpt': '終了中',
|
||
'agents.default.title': 'デフォルト設定にリセット',
|
||
'agents.default.description': '選択中のモデルを使って {name} の関連設定ファイルをすべて書き直し、その他のユーザー内容を削除します。バックアップは作成されず、元に戻せません。',
|
||
'agents.default.confirm': 'デフォルト設定を書き込む',
|
||
'agents.clear.title': 'Codex 設定を消去',
|
||
'agents.clear.description': 'Codex 設定ディレクトリの auth.json と config.toml を完全に削除し、このアプリが記録した適用状態をリセットします。バックアップは作成されず、元に戻せません。',
|
||
'agents.clear.confirm': '設定を消去',
|
||
'agents.clear.success': 'Codex 設定を消去しました。',
|
||
'agents.closeApp.title': 'ChatGPT App を終了',
|
||
'agents.closeApp.description': 'このコンピューターで実行中の ChatGPT App プロセスとその子プロセスをすべて終了します。生成中の応答や未保存の状態が失われる可能性があります。',
|
||
'agents.closeApp.confirm': 'App を終了',
|
||
'agents.closeApp.success': 'ChatGPT App を終了しました({count} プロセス)。',
|
||
'agents.closeApp.notRunning': 'ChatGPT App は実行されていません。',
|
||
'apiAccess.compatibleName': 'OpenAI 互換 {number}',
|
||
'apiAccess.error.headerMissingColon': 'カスタムヘッダーの {number} 行目にコロンがありません',
|
||
'apiAccess.error.headerInvalid': 'カスタムヘッダーの {number} 行目の形式が無効です',
|
||
'apiAccess.error.partialLoad': '一部の接続を読み込めませんでした:{errors}',
|
||
'apiAccess.error.requiredAll': 'メモ、Base URL、キーを入力してください',
|
||
'apiAccess.error.requiredBaseKey': 'Base URL と API キーを入力してください',
|
||
'apiAccess.error.requiredKey': 'API キーを入力してください',
|
||
'apiAccess.error.baseRequired': '{provider} 接続には Base URL が必要です',
|
||
'apiAccess.error.noModels': '公開可能なモデルが見つかりません。Base URL と API キーを確認してください',
|
||
'apiAccess.error.stale': '接続設定が別の操作で変更されました。更新してから再試行してください',
|
||
'apiAccess.error.duplicate': '同じ接続設定がすでに存在します',
|
||
'apiAccess.error.remarkInvalid': 'メモは 80 文字以内で、改行や制御文字を含めないでください',
|
||
'apiAccess.notice.updated': '接続を更新しました',
|
||
'apiAccess.notice.added': '接続を追加しました',
|
||
'apiAccess.deleteConfirm': '「{remark}」を削除しますか?',
|
||
'apiAccess.notice.deleted': '接続を削除しました',
|
||
'apiAccess.notice.enabled': '接続を有効にしました',
|
||
'apiAccess.notice.disabled': '接続を無効にしました',
|
||
'apiAccess.title': 'API 接続',
|
||
'apiAccess.count': '接続 {count} 件',
|
||
'apiAccess.add': '追加',
|
||
'apiAccess.matches': '一致する接続 {count} 件',
|
||
'apiAccess.search': 'メモ、キー、アドレスを検索',
|
||
'apiAccess.loading': '設定を読み込んでいます',
|
||
'apiAccess.empty.filtered': '一致する接続がありません',
|
||
'apiAccess.empty.none': '接続設定がありません',
|
||
'apiAccess.empty.tryKeyword': '別のキーワードをお試しください',
|
||
'apiAccess.empty.addFirst': '右上の「追加」から最初の接続を追加してください',
|
||
'apiAccess.keys.count': 'キー {count} 件',
|
||
'apiAccess.keys.summary': '{key} · 合計 {count} 件',
|
||
'apiAccess.remarkValue': 'メモ:{remark}',
|
||
'apiAccess.defaultUrl': '既定のアドレスを使用',
|
||
'apiAccess.models.summary': 'モデル {count} 件 · {models}',
|
||
'apiAccess.priorityValue': '優先度 {priority}',
|
||
'apiAccess.runtimeCredential': '実行時認証情報 {index}…',
|
||
'apiAccess.enable': '接続を有効化',
|
||
'apiAccess.disable': '接続を無効化',
|
||
'apiAccess.status.disabled': '無効',
|
||
'apiAccess.status.enabled': '有効',
|
||
'apiAccess.toggleAria': '{remark} 接続の{action}スイッチ',
|
||
'common.edit': '編集',
|
||
'apiAccess.error.enterBaseUrl': '先に Base URL を入力してください',
|
||
'apiAccess.error.noAvailableModels': '利用可能なモデルが見つかりません',
|
||
'apiAccess.error.baseBeforeModels': 'モデルを取得する前に Base URL を入力してください',
|
||
'apiAccess.models.selected': '{count} 件のモデルを選択済み',
|
||
'apiAccess.models.restricted': 'モデル制限を設定済み',
|
||
'apiAccess.models.autoAll': '保存時にすべてのモデルを既定で公開',
|
||
'apiAccess.models.upstreamDefault': '上流の既定モデルを使用',
|
||
'apiAccess.models.hiddenHint': '選択していないモデルは公開一覧に表示されません',
|
||
'apiAccess.models.autoHint': '接続の保存時にモデルを自動取得します。不要な項目は事前に選択解除できます',
|
||
'apiAccess.models.allHint': '現在、上流のすべてのモデルを公開しています',
|
||
'apiAccess.dialog.edit': 'API 接続を編集',
|
||
'apiAccess.dialog.add': 'API 接続を追加',
|
||
'apiAccess.field.keysMany': 'API キー(1 行に 1 件)',
|
||
'apiAccess.field.key': 'API キー',
|
||
'apiAccess.field.remark': 'メモ',
|
||
'apiAccess.remarkPlaceholder': '例:本番環境、チームのメインアカウント',
|
||
'apiAccess.baseRequiredPlaceholder': '必須、例:https://api.example.com',
|
||
'apiAccess.baseOptionalPlaceholder': '任意。空欄の場合は既定のアドレスを使用',
|
||
'apiAccess.preset.title': 'OpenAI 互換プリセット',
|
||
'apiAccess.preset.description': 'DeepSeek 公式アドレスを入力済みです。保存時にすべてのモデルを自動検出して公開します',
|
||
'apiAccess.thinking.builtIn': '組み込み推論レベル',
|
||
'apiAccess.thinking.builtInDescription': '現在公開中のすべてのモデルに自動適用します',
|
||
'apiAccess.thinking.title': '推論レベル',
|
||
'apiAccess.thinking.description': '上流の対応状況に合わせて追加してください',
|
||
'apiAccess.thinking.placeholder': '例:low、medium、またはカスタムレベル',
|
||
'apiAccess.thinking.add': '追加',
|
||
'apiAccess.thinking.delete': '{level} を削除',
|
||
'apiAccess.thinking.deleteAria': '推論レベル {level} を削除',
|
||
'apiAccess.thinking.empty': '未追加の場合 thinking.levels は書き込まれません',
|
||
'apiAccess.models.title': 'モデル',
|
||
'apiAccess.models.description': '選択したモデルを公開します。選択解除するとモデル一覧から非表示になります',
|
||
'apiAccess.models.fetch': 'モデルを取得',
|
||
'apiAccess.field.priority': '優先度',
|
||
'common.optional': '任意',
|
||
'apiAccess.advanced': '詳細設定',
|
||
'apiAccess.field.prefix': 'モデル接頭辞',
|
||
'apiAccess.prefixPlaceholder': '任意、例:team-a',
|
||
'apiAccess.field.headers': 'カスタムリクエストヘッダー(1 行に Name: Value)',
|
||
'apiAccess.field.excludedModels': '除外モデル(1 行に 1 件、ワイルドカード対応)',
|
||
'apiAccess.field.testModel': 'テストモデル',
|
||
'apiAccess.cloak.mode': 'Claude 偽装モード',
|
||
'apiAccess.cloak.default': '既定(auto)',
|
||
'apiAccess.cloak.words': '偽装する機密語(1 行に 1 件)',
|
||
'apiAccess.cloak.strict': '厳格モード',
|
||
'apiAccess.cloak.strictDescription': 'Claude Code のシステムプロンプトのみ保持します',
|
||
'apiAccess.cloak.enableStrict': '厳格モードを有効化',
|
||
'apiAccess.cloak.cacheUser': 'ユーザー識別子をキャッシュ',
|
||
'apiAccess.cloak.cacheUserDescription': '偽装後のユーザー識別子を再利用します',
|
||
'apiAccess.websocket.description': 'この Codex 接続で WebSocket を有効にします',
|
||
'apiAccess.websocket.enable': 'WebSocket を有効化',
|
||
'apiAccess.cooling.title': 'クールダウンを無効化',
|
||
'apiAccess.cooling.description': '上流でレート制限が発生しても、この接続を引き続き選択可能にします',
|
||
'common.save': '保存',
|
||
'apiAccess.modelDialog.title': 'モデルを選択',
|
||
'apiAccess.modelDialog.summary': '{found} 件検出 · {selected} 件選択済み',
|
||
'apiAccess.modelDialog.deselectAll': 'すべて選択解除',
|
||
'apiAccess.modelDialog.selectVisible': '表示中をすべて選択',
|
||
'common.clear': '消去',
|
||
'apiAccess.modelDialog.fetching': 'モデルを取得しています',
|
||
'apiAccess.modelDialog.fetchFailed': 'モデルの取得に失敗しました',
|
||
'apiAccess.modelDialog.noMatch': '一致するモデルがありません',
|
||
'apiAccess.modelDialog.none': 'モデルが見つかりません',
|
||
'apiAccess.modelDialog.tryKeyword': '別のキーワードをお試しください',
|
||
'apiAccess.modelDialog.checkCredentials': 'Base URL と API キーを確認してください',
|
||
'apiAccess.modelDialog.apply': '選択を適用({count})',
|
||
'kernel.install.completed': '{version} のインストールが完了しました',
|
||
'kernel.error.progressListener': 'ダウンロード進捗の監視に失敗しました:{error}',
|
||
'kernel.action.start': '起動',
|
||
'kernel.action.stop': '停止',
|
||
'kernel.action.restart': '再起動',
|
||
'kernel.notice.actionSuccess': 'コアの{action}に成功しました',
|
||
'kernel.notice.actionFailed': 'コアの{action}に失敗しました:{error}',
|
||
'kernel.notice.networkRestarted': 'ネットワーク設定を保存し、コアを再起動しました',
|
||
'kernel.notice.networkRestartFailed': 'ネットワーク設定を保存しましたが、コアの再起動に失敗しました',
|
||
'kernel.notice.networkNextStart': 'ネットワーク設定を保存しました。次回のコア起動時に反映されます',
|
||
'kernel.notice.networkSaveFailed': 'ネットワーク設定を保存できませんでした:{error}',
|
||
'kernel.error.port': 'ポートは 1~65535 の範囲で指定してください',
|
||
'kernel.error.installTask': 'インストールタスクを読み込めませんでした:{error}',
|
||
'kernel.install.installingVersion': '{version} をインストールしています',
|
||
'kernel.phase.preparingDownload': 'ダウンロードを準備中',
|
||
'kernel.phase.downloading': 'ダウンロード中',
|
||
'kernel.phase.extracting': '展開中',
|
||
'kernel.phase.completed': 'インストール完了',
|
||
'kernel.install.installingBundled': '組み込みコア {version} をインストールしています',
|
||
'kernel.phase.preparingBundled': '組み込みコアを準備中',
|
||
'kernel.install.bundledCompleted': '組み込みコア {version} のインストールが完了しました',
|
||
'kernel.phase.failed': 'インストール失敗',
|
||
'kernel.phase.cancelled': 'キャンセル済み',
|
||
'kernel.install.cancelling': 'ダウンロードをキャンセルしています',
|
||
'kernel.notice.copyFailed': '接続情報をコピーできませんでした',
|
||
'kernel.error.openUpdate': '更新ページを開けませんでした:{error}',
|
||
'kernel.progress.completed': '完了',
|
||
'kernel.progress.extracting': 'ファイルを展開しています',
|
||
'kernel.progress.waiting': '進捗情報を待っています',
|
||
'kernel.status.running': '実行中',
|
||
'kernel.status.stopped': '停止済み',
|
||
'kernel.status.notInstalled': '未インストール',
|
||
'common.detectionFailed': '検出失敗',
|
||
'common.detecting': '検出中',
|
||
'kernel.update.failedRetry': '確認失敗、再試行',
|
||
'kernel.update.toVersion': '{version} に更新',
|
||
'kernel.update.checking': '確認中',
|
||
'kernel.update.failed': '確認失敗',
|
||
'kernel.update.notChecked': '未確認',
|
||
'kernel.update.statusChecking': '確認しています',
|
||
'kernel.update.notYetChecked': 'まだ確認していません',
|
||
'kernel.update.latest': '最新バージョンです',
|
||
'kernel.update.available': '新しいバージョンをインストールできます',
|
||
'appUpdate.eyebrow': 'ソフトウェア更新',
|
||
'appUpdate.title': 'アプリのバージョン管理',
|
||
'appUpdate.current': '現在のバージョン',
|
||
'appUpdate.latest': '最新バージョン',
|
||
'appUpdate.status': '更新状態',
|
||
'appUpdate.manualFallback': '検出に失敗した場合は、GitHub ページから手動で更新してください',
|
||
'appUpdate.upToDate': '最新バージョンです',
|
||
'appUpdate.available': 'バージョン {version} を利用できます',
|
||
'appUpdate.check': '更新を確認',
|
||
'appUpdate.checking': '確認中',
|
||
'appUpdate.catalog.label': 'Codex モデルカタログ',
|
||
'appUpdate.catalog.description': '起動時に GitHub から通知なしで自動同期します',
|
||
'appUpdate.catalog.update': 'モデルカタログを同期',
|
||
'appUpdate.catalog.updateHint': 'GitHub を確認して Codex モデルカタログを更新します',
|
||
'appUpdate.catalog.updating': 'モデルカタログを同期しています',
|
||
'appUpdate.catalog.updated': 'GitHub からモデルカタログを同期しました',
|
||
'appUpdate.catalog.unchanged': 'モデルカタログは最新です',
|
||
'appUpdate.installNow': '今すぐ更新',
|
||
'appUpdate.openRelease': 'ダウンロードページを開く',
|
||
'appUpdate.confirmTitle': 'アプリ更新をインストール',
|
||
'appUpdate.confirmDescription': '{version} をダウンロードしてインストールします。アプリは再起動し、管理中のコアは一時停止後に復帰します。',
|
||
'appUpdate.progressTitle': 'アプリを更新中',
|
||
'appUpdate.cancelDownload': 'ダウンロードをキャンセル',
|
||
'appUpdate.badgeAvailable': 'アプリの新しいバージョン {version} があります',
|
||
'appUpdate.phase.idle': '待機中',
|
||
'appUpdate.phase.checking': '更新を確認中',
|
||
'appUpdate.phase.available': '更新可能',
|
||
'appUpdate.phase.downloading': 'ダウンロード中',
|
||
'appUpdate.phase.verifying': '検証中',
|
||
'appUpdate.phase.staging': '更新を準備中',
|
||
'appUpdate.phase.waitingForExit': 'アプリの終了を待機中',
|
||
'appUpdate.phase.restarting': '再起動中',
|
||
'appUpdate.phase.completed': '更新完了',
|
||
'appUpdate.phase.cancelled': 'ダウンロードをキャンセルしました',
|
||
'appUpdate.phase.failed': '更新失敗',
|
||
'kernel.install.inProgress': 'インストール中',
|
||
'kernel.install.githubFailed': 'GitHub に接続できません。「オフラインインストール」を使用してください',
|
||
'kernel.install.titleCancelling': 'ダウンロードをキャンセル中',
|
||
'kernel.install.titleInstalling': 'コアをインストール中',
|
||
'kernel.install.titleCompleted': 'インストール完了',
|
||
'kernel.install.titleCancelled': 'ダウンロードをキャンセルしました',
|
||
'kernel.install.titleFailed': 'インストール失敗',
|
||
'kernel.install.waitingStop': 'ダウンロードタスクの停止を待っています',
|
||
'kernel.install.taskRunning': 'インストールタスクを実行中です',
|
||
'kernel.install.cancellingShort': 'キャンセル中',
|
||
'kernel.install.cancel': 'ダウンロードをキャンセル',
|
||
'common.processing': '処理中',
|
||
'kernel.overview.coreStatus': 'コア状態',
|
||
'kernel.overview.appVersion': 'アプリバージョン',
|
||
'kernel.update.openGithub': 'GitHub の最新リリースページを開く',
|
||
'kernel.overview.coreVersion': 'コアバージョン',
|
||
'kernel.control.title': '実行制御',
|
||
'kernel.control.installStatus': 'インストール状態',
|
||
'kernel.control.installed': 'インストール済み',
|
||
'kernel.control.runStatus': '実行状態',
|
||
'kernel.control.pid': 'プロセス PID',
|
||
'kernel.control.notRunning': '未実行',
|
||
'kernel.control.noPid': 'なし',
|
||
'kernel.control.allowLan': 'LAN を許可',
|
||
'kernel.control.lanRestartHint': '変更すると実行中のコアが自動的に再起動します',
|
||
'kernel.control.allowLanAria': 'LAN アクセスを許可',
|
||
'kernel.control.port': 'ポート',
|
||
'kernel.control.portPlaceholder': 'ポート番号',
|
||
'kernel.control.portRange': 'ポート範囲:1~65535',
|
||
'kernel.notice.stopped': 'コアを停止しました',
|
||
'kernel.notice.started': 'コアを起動しました',
|
||
'kernel.notice.restarted': 'コアを再起動しました',
|
||
'kernel.control.refresh': '状態を更新',
|
||
'kernel.versions.title': 'コアバージョン管理',
|
||
'kernel.versions.offlineHint': 'GitHub に接続できない場合は、オフラインインストールで組み込みコアを使用できます。',
|
||
'kernel.versions.current': '現在のバージョン',
|
||
'kernel.versions.latest': '最新バージョン',
|
||
'kernel.versions.bundled': '組み込みバージョン',
|
||
'kernel.versions.notIncluded': '含まれていません',
|
||
'kernel.versions.platform': '実行プラットフォーム',
|
||
'kernel.versions.updateStatus': '更新状態',
|
||
'kernel.versions.check': '更新を確認',
|
||
'kernel.versions.installVersion': '{version} をインストール',
|
||
'kernel.versions.installLatest': '最新版をインストール',
|
||
'kernel.versions.reinstallTitle': '現在のバージョンを再インストール',
|
||
'kernel.versions.reinstall': '再インストール',
|
||
'kernel.versions.noBundled': 'このリリースには組み込みコアが含まれていません',
|
||
'kernel.versions.offlineInstall': 'オフラインインストール',
|
||
'kernel.access.firstKey': '最初のキー',
|
||
'kernel.access.noConfiguredKey': 'キーが設定されていないため、現在はすべてのキーがデフォルトで許可されます',
|
||
'kernel.access.connectable': '接続可能',
|
||
'kernel.access.waiting': 'コアの起動を待っています',
|
||
'kernel.access.localUrl': 'ローカル URL',
|
||
'kernel.access.localCopied': '{name} のローカル URL をコピーしました',
|
||
'kernel.access.copyLocal': '{name} のローカル URL をコピー',
|
||
'kernel.access.lanUrl': 'LAN URL',
|
||
'kernel.access.detectingIp': 'LAN IP を検出しています',
|
||
'kernel.access.noIp': 'LAN IP を検出できません',
|
||
'kernel.access.lanCopied': '{name} の LAN URL をコピーしました',
|
||
'kernel.access.copyLan': '{name} の LAN URL をコピー',
|
||
'kernel.dialog.install': 'コアのインストール',
|
||
'kernel.dialog.phase': '現在の段階',
|
||
'kernel.dialog.unknownProgress': '進捗不明',
|
||
'kernel.access.openaiDescription': 'OpenAI互換形式',
|
||
'kernel.access.claudeDescription': 'Anthropic互換形式',
|
||
'kernel.access.geminiDescription': 'Gemini互換形式',
|
||
'authFiles.unnamed': '無名の認証ファイル',
|
||
'management.notConfigured': '未設定',
|
||
'management.error.upstream': '上流リクエストに失敗しました',
|
||
'management.error.upstreamHttp': '上流が HTTP {status} を返しました',
|
||
'model.error.invalidBaseUrl': 'Base URL が無効です。https://api.example.com のような URL を入力してください',
|
||
'model.error.unsupportedBaseUrl': 'Base URL は http:// または https:// のみ使用できます',
|
||
'model.error.baseUrlRequired': '先に Base URL を入力してください',
|
||
'model.error.noResponse': 'モデル API から応答がありません',
|
||
'quota.service.relative.daysHours': '{days} 日 {hours} 時間後',
|
||
'quota.service.relative.days': '{days} 日後',
|
||
'quota.service.relative.hoursMinutes': '{hours} 時間 {minutes} 分後',
|
||
'quota.service.relative.hours': '{hours} 時間後',
|
||
'quota.service.relative.minutes': '{minutes} 分後',
|
||
'quota.service.duration.unknown': '不明な期間',
|
||
'quota.service.duration.days': '{count} 日',
|
||
'quota.service.duration.hours': '{count} 時間',
|
||
'quota.service.duration.minutes': '{count} 分',
|
||
'quota.service.duration.seconds': '{count} 秒',
|
||
'quota.service.limit.fiveHours': '5 時間制限',
|
||
'quota.service.limit.week': '週間制限',
|
||
'quota.service.limit.month': '月間制限',
|
||
'quota.service.limit.duration': '{duration}制限',
|
||
'quota.service.codeReview': 'コードレビュー',
|
||
'quota.service.additional': '追加 {index}',
|
||
'quota.service.window.fiveHour': '5 時間枠',
|
||
'quota.service.window.sevenDay': '7 日間枠',
|
||
'quota.service.window.sevenDayOAuth': '7 日間 OAuth アプリ枠',
|
||
'quota.service.window.sevenDayOpus': '7 日間 Opus 枠',
|
||
'quota.service.window.sevenDaySonnet': '7 日間 Sonnet 枠',
|
||
'quota.service.window.sevenDayCowork': '7 日間 Cowork 枠',
|
||
'quota.service.window.duration': '{duration}枠',
|
||
'quota.service.extraUsage': '追加使用量',
|
||
'quota.service.usedOf': '使用済み {used} / {limit}',
|
||
'quota.service.weekly': '週間クォータ',
|
||
'quota.service.limit.numbered': '制限 {index}',
|
||
'quota.service.product.numbered': '製品 {index}',
|
||
'quota.service.monthlyIncluded': '月間内包クォータ',
|
||
'quota.service.onDemand': '従量課金クォータ',
|
||
'quota.service.quota': 'クォータ',
|
||
'quota.service.quota.numbered': 'クォータ {index}',
|
||
'quota.service.error.missingAuthIndex': 'auth-index がないためクォータを照会できません',
|
||
'quota.service.error.missingProject': 'Antigravity project ID がありません',
|
||
'quota.service.error.antigravityEmpty': 'Antigravity は成功しましたが、認識可能なクォータグループがありません',
|
||
'quota.service.error.upstreamEmpty': '上流から空のクォータデータが返されました',
|
||
'quota.service.error.noResponse': 'クォータ API から応答がありません',
|
||
'quota.service.error.missingResetAuthIndex': 'auth-index がないため手動リセット回数を照会できません',
|
||
'quota.service.error.unsupportedProvider': 'このプロバイダーのクォータ照会には対応していません',
|
||
'quota.service.error.unrecognized': '上流からクォータデータが返されましたが、形式を認識できません',
|
||
'quota.service.error.codexResetOnly': 'リセットクォータを使用できるのは Codex 認証情報のみです',
|
||
'quota.service.error.missingConsumeAuthIndex': 'auth-index がないためリセットクォータを使用できません',
|
||
} satisfies Partial<Record<MessageKey, string>>;
|