{
  "header": {
    "collapseSidebar": "サイドバーを折りたたむ",
    "expandSidebar": "サイドバーを展開する",
    "toggleConnection": "バックエンド接続を切り替える",
    "viewAnnualSummary": "年間サマリーを表示",
    "annualSummary": "2025 年間サマリー",
    "searchPlaceholder": "検索...",
    "viewDocs": "MaiBot ドキュメントを表示",
    "docs": "MaiBot ドキュメント",
    "switchToLight": "ライトモードに切り替える",
    "switchToDark": "ダークモードに切り替える",
    "logout": "ログアウト",
    "logoutLabel": "ログアウト",
    "notConnected": "未接続"
  },
  "sidebar": {
    "groups": {
      "overview": "概要",
      "botConfig": "ボット設定",
      "botResources": "ボットリソース",
      "extensionsMonitor": "プラグインと拡張",
      "system": "システム"
    },
    "menu": {
      "home": "ホーム",
      "botMainConfig": "ボットメイン設定",
      "aiModelProvider": "AIモデルプロバイダー",
      "modelManagement": "モデル管理",
      "promptManagement": "Prompt 管理",
      "adapterConfig": "アダプター設定",
      "emojiManagement": "絵文字管理",
      "expressionManagement": "表現管理",
      "slangManagement": "スラング管理",
      "personInfo": "人物情報",
      "knowledgeGraph": "長期記憶グラフ",
      "knowledgeBase": "長期記憶",
      "pluginMarket": "プラグインマーケット",
      "configTemplate": "設定テンプレート",
      "pluginConfig": "プラグイン管理",
      "mcpSettings": "MCP 設定",
      "logViewer": "ログビューア",
      "reasoningProcess": "推論プロセス",
      "maisakaMonitor": "MaiSaka チャット監視",
      "localChat": "ローカルチャット",
      "settings": "設定"
    }
  },
  "workspace": {
    "switcherLabel": "麦麦ワークスペースを切り替え",
    "settings": "麦麦設定",
    "chat": "麦麦チャット"
  },
  "chat": {
    "defaultTab": "WebUI",
    "botNameFallback": "麦麦",
    "userFallback": "ユーザー",
    "userNameFallback": "WebUIユーザー",
    "virtualGroupFallback": "WebUI仮想グループチャット",
    "status": {
      "connected": "接続済み",
      "connecting": "接続中...",
      "disconnected": "未接続"
    },
    "actions": {
      "cancel": "キャンセル",
      "reconnect": "再接続",
      "save": "保存",
      "send": "メッセージを送信"
    },
    "identity": {
      "current": "現在の身份：",
      "editName": "ニックネームを変更",
      "group": "グループ：{{group}}",
      "namePlaceholder": "ニックネームを入力",
      "virtual": "仮想身份："
    },
    "input": {
      "placeholder": "メッセージを入力...",
      "waiting": "接続待ち..."
    },
    "message": {
      "empty": "{{bot}} と会話を始めましょう！",
      "emptyHint": "下の入力欄にメッセージを入力し、Enter キーで送信",
      "errorFallback": "エラーが発生しました",
      "thinking": "考え中..."
    },
    "composer": {
      "hint": "Enter で送信・Shift + Enter で改行"
    },
    "sidebar": {
      "closeConversation": "{{label}} を閉じる",
      "conversations": "チャット会話",
      "emptyPreview": "まだメッセージはありません",
      "identityHint": "ローカルチャット身份",
      "newVirtual": "仮想身份チャットを作成",
      "online": "オンライン",
      "offline": "オフライン",
      "subtitle": "{{count}} 件の会話",
      "title": "チャット",
      "webuiBadge": "WebUI",
      "virtualBadge": "仮想",
      "profileTitle": "自分の身份",
      "editName": "ニックネームを編集",
      "saveName": "保存"
    },
    "dialog": {
      "create": "会話を作成",
      "description": "麦麦がすでに知っているユーザーを選び、そのユーザーとして麦麦と会話します。麦麦はそのユーザーへの記憶と理解を使って返信します。",
      "groupName": "仮想グループ名（任意）",
      "groupNameHint": "麦麦はこれをこの名前のグループチャットとして認識します",
      "knownUserSuffix": " · 既知",
      "loading": "読み込み中...",
      "noUsers": "ユーザーが見つかりません",
      "personCount": "({{count}} 人)",
      "platform": "プラットフォームを選択",
      "platformPlaceholder": "プラットフォームを選択",
      "searchUser": "ユーザー名を検索...",
      "title": "仮想身份チャットを作成",
      "user": "ユーザーを選択"
    },
    "media": {
      "audioUnsupported": "お使いのブラウザは音声再生に対応していません",
      "emoji": "絵文字",
      "face": "[表情:{{data}}]",
      "file": "[ファイル: {{data}}]",
      "forward": "[転送メッセージ]",
      "image": "画像",
      "loadFailed": "[{{type}}の読み込みに失敗]",
      "music": "[音楽共有]",
      "noCaptions": "字幕なし",
      "reply": "[返信メッセージ]",
      "unknown": "[{{type}}]",
      "unknownMessage": "不明なメッセージ",
      "videoUnsupported": "お使いのブラウザは動画再生に対応していません"
    },
    "toast": {
      "backendUnavailable": "バックエンドサービスに接続できません。MaiBot が起動しているか確認してください",
      "backendUnavailableShort": "バックエンドサービスに接続できません",
      "connectionFailed": "接続に失敗しました",
      "currentSessionUnavailable": "現在のチャットセッションは利用できません。しばらくしてから再試行してください",
      "error": "エラー",
      "incompleteConfig": "設定が未完了です",
      "networkError": "ネットワークエラー",
      "platformFailed": "プラットフォームの取得に失敗しました",
      "selectPlatformAndUser": "プラットフォームとユーザーを選択してください",
      "sendFailed": "送信に失敗しました",
      "serverError": "サーバーエラー: {{status}}",
      "sessionUnavailable": "チャットセッションを開始できません。しばらくしてから再試行してください",
      "virtualTabCreated": "仮想身份タブ",
      "virtualTabCreatedDesc": "{{label}} の会話を作成しました"
    }
  },
  "layout": {
    "verifyingLogin": "ログイン状態を確認中...",
    "logoTitle": "MaiBot WebUI",
    "logoTitleShort": "M"
  },
  "httpWarning": {
    "title": "セキュリティ通知：",
    "message": "WebUI に HTTP でアクセスしています。",
    "description": "ローカル以外の HTTP 接続では、アクセストークンや設定内容が漏えいする可能性があります。可能であれば HTTPS または信頼できる内網接続を使用してください。",
    "dismiss": "HTTP セキュリティ通知を閉じる"
  },
  "settings": {
    "title": "設定",
    "description": "アプリの設定を管理する",
    "tabs": {
      "appearance": "外観",
      "security": "セキュリティ",
      "other": "その他",
      "about": "について"
    },
    "appearance": {
      "themeMode": "テーマモード",
      "themeModeDesc": "ライト / ダーク / システムに従う",
      "light": "ライト",
      "dark": "ダーク",
      "system": "システム",
      "accentColor": "アクセントカラー",
      "resetDefault": "デフォルトにリセット",
      "colorPreview": "カラープレビュー",
      "styleTweaks": "スタイル調整",
      "typography": "タイポグラフィ",
      "visualEffects": "視覚効果",
      "layout": "レイアウト",
      "animation": "アニメーション",
      "background": "背景",
      "customCss": "カスタム CSS",
      "animationEffect": "アニメーション効果",
      "importExportTheme": "テーマのインポート / エクスポート",
      "importTheme": "テーマをインポート",
      "exportTheme": "テーマをエクスポート",
      "importSuccess": "インポート成功",
      "importFailed": "インポート失敗",
      "resetSuccess": "リセット成功",
      "fontFamily": "フォントファミリー",
      "fontSize": "フォントサイズ",
      "borderRadius": "ボーダー半径",
      "contentWidth": "コンテンツ幅",
      "sidebarWidth": "サイドバー幅",
      "animationSpeed": "アニメーション速度",
      "backgroundImage": "背景画像",
      "backgroundBlur": "背景ぼかし",
      "backgroundOpacity": "背景の透明度",
      "lightDesc": "常にライトテーマを使用",
      "darkDesc": "常にダークテーマを使用",
      "systemDesc": "システム設定に従って自動切り替え",
      "accentPrimary": "メインカラー",
      "accentHint": "カラーリングをクリックするか、HEX 値を入力してください",
      "resetTheme": "デフォルトにリセット",
      "confirmResetTheme": "テーマのリセットを確認",
      "confirmResetThemeDesc": "これにより、色、フォント、レイアウト、カスタム CSS を含むすべてのテーマ設定がデフォルトにリセットされます。この操作は元に戻せません。よろしいですか？",
      "confirmResetAction": "リセットを確認",
      "cssWarningTitle": "以下の内容はセキュリティフィルターされました：",
      "cssPlaceholder": "/* カスタム CSS をここに入力 */\n\n/* 例： */\n/* .sidebar { background: #1a1a2e; } */",
      "cssDescription": "カスタム CSS を記述して、インターフェースをさらにカスタマイズしてください。危険な CSS（@import、url() など）は自動的にフィルターされます。",
      "clearCss": "クリア",
      "exportDesc": "テーマを JSON ファイルとしてエクスポートして共有またはバックアップ。インポート時にすべての設定が自動適用されます。",
      "importSuccessDesc": "テーマ設定がインポートされました。ページが自動的にリロードされます",
      "resetSuccessDesc": "テーマがデフォルトにリセットされました",
      "enableAnimations": "アニメーションを有効にする",
      "enableAnimationsDesc": "無効にすると、すべてのトランジションアニメーションとエフェクトが無効化されパフォーマンスが向上します",
      "loginWavesBackground": "ログインページのウェーブ背景",
      "loginWavesBackgroundDesc": "無効にするとログインページが単色背景になります。低スペックのデバイスに適しています",
      "inheritParentBg": "上位背景を継承",
      "inheritParentBgDesc": "有効にすると上位レイヤーの背景設定を使用します",
      "fontFamilyLabel": "フォントファミリー",
      "fontFamilyPlaceholder": "フォントファミリーを選択",
      "fontFamilySystem": "システムデフォルト (System)",
      "fontFamilySans": "サンセリフ (Sans-serif)",
      "fontFamilySerif": "セリフ (Serif)",
      "fontFamilyMono": "等幅 (Monospace)",
      "baseFontSize": "基準フォントサイズ (Base Size)",
      "lineHeight": "行の高さ (Line Height)",
      "lineHeightPlaceholder": "行高を選択",
      "lineHeightCompact": "コンパクト (1.2)",
      "lineHeightNormal": "標準 (1.5)",
      "lineHeightLoose": "ルーズ (1.75)",
      "borderRadiusLabel": "圆角の大きさ (Radius)",
      "shadowLabel": "シャドウの強度 (Shadow)",
      "shadowPlaceholder": "シャドウの強度を選択",
      "shadowNone": "なし (None)",
      "shadowSm": "軽微 (Small)",
      "shadowMd": "中程度 (Medium)",
      "shadowLg": "強い (Large)",
      "shadowXl": "極強 (Extra Large)",
      "blurLabel": "ボカシ効果 (Blur)",
      "sidebarWidthLabel": "サイドバー幅 (Sidebar Width)",
      "maxContentWidth": "コンテンツ最大幅 (Max Width)",
      "spacingUnit": "基準間隔 (Spacing Unit)",
      "animationSpeedLabel": "アニメーション速度 (Speed)",
      "animationSpeedPlaceholder": "アニメーション速度を選択",
      "animationFast": "高速 (100ms)",
      "animationNormal": "標準 (300ms)",
      "animationSlow": "低速 (500ms)",
      "animationOff": "オフ (0ms)",
      "bgPage": "ページ",
      "bgSidebar": "サイドバー",
      "typographyGroup": "タイポグラフィ (Typography)",
      "visualGroup": "視覚効果 (Visual)",
      "layoutGroup": "レイアウト (Layout)",
      "animationGroup": "アニメーション (Animation)",
      "backgroundGroup": "背景設定 (Backgrounds)"
    },
    "security": {
      "currentToken": "現在のアクセストークン",
      "yourToken": "あなたのアクセストークン",
      "regenerate": "再生成",
      "customToken": "カスタムアクセストークン",
      "securityTip": "セキュリティのヒント",
      "cannotCopy": "コピーできません",
      "copySuccess": "コピーしました",
      "copyFailed": "コピー失敗",
      "updateSuccess": "更新しました",
      "updateFailed": "更新失敗",
      "generateSuccess": "生成しました",
      "generateFailed": "生成失敗",
      "newToken": "新しいアクセストークン",
      "confirmRegenerate": "トークンの再生成を確認",
      "confirmRegenerateDesc": "再生成後、古いトークンは無効になります。再ログインが必要です。",
      "cancel": "キャンセル",
      "confirm": "確認",
      "cannotCopyDesc": "Token はセキュアな Cookie に保存されています。新しい Token を取得するには再生成してください。",
      "copySuccessDesc": "Token をクリップボードにコピーしました",
      "copyFailedDesc": "Token を手動でコピーしてください",
      "inputError": "入力エラー",
      "inputErrorDesc": "新しい Token を入力してください",
      "formatError": "フォーマットエラー",
      "formatErrorDesc": "Token が要件を満たしていません: {{failedRules}}",
      "updateSuccessDesc": "Access Token を更新しました。ログインページにリダイレクトします。",
      "updateFailedDesc": "Token を更新できません",
      "updateFailedConn": "サーバーへの接続に失敗しました",
      "generateSuccessDesc": "新しい Access Token を生成しました。すぐに保存してください。",
      "generateFailedDesc": "新しい Token を生成できません",
      "generateFailedConn": "サーバーへの接続に失敗しました",
      "cannotView": "表示できません",
      "cannotViewDesc": "Token はセキュアな Cookie に保存されています。新しい Token が必要な場合は\"再生成\"をクリックしてください。",
      "hide": "非表示",
      "show": "表示",
      "copyTip": "クリップボードにコピー",
      "regenerateShort": "生成する",
      "confirmRegenerateFullDesc": "新しい 64 桁のセキュアトークンを生成し、現在の Token を即座に無効にします。新しい Token で再ログインが必要です。この操作は元に戻せません。続けますか？",
      "confirmGenerate": "生成を確認",
      "tokenStorePlaceholder": "Token はセキュアな Cookie に保存されています",
      "safekeepTip": "Access Token を安全に保管し、他人に漏洩しないでください。",
      "newTokenLabel": "新しいアクセストークン",
      "customTokenPlaceholder": "カスタム Token を入力",
      "tokenReqTitle": "Token セキュリティ要件:",
      "tokenValid": "Token のフォーマットは正しく使用できます",
      "updateBtn": "カスタム Token を更新",
      "updating": "更新しています...",
      "dialogTitle": "新しい Access Token",
      "dialogDesc": "これが新しい Token です。すぐに保存してください。このウィンドウを閉じるとログインページにリダイレクトされます。",
      "dialogTokenLabel": "新しい Token (64 桁セキュアトークン)",
      "important": "重要なお知らせ",
      "tip1": "この Token は一度しか表示されません。閉じた後は表示できません",
      "tip2": "すぐにコピーして安全な場所に保存してください",
      "tip3": "閉じると自動的にログインページにリダイレクトされます",
      "tip4": "新しい Token で再ログインしてください",
      "copied": "コピー済み",
      "copyToken": "Token をコピー",
      "savedClose": "保存しました。閉じる",
      "securityTip1": "再生成するとシステムがランダムに生成した 64 桁のセキュアトークンが作成されます",
      "securityTip2": "カスタム Token はすべてのセキュリティ要件を満たす必要があります",
      "securityTip3": "Token を更新すると、古い Token は即座に無効になります",
      "securityTip4": "安全な環境で Token を表示してコピーしてください",
      "securityTip5": "Token の漏洩が疏われる場合は、すぐに再生成または更新してください",
      "securityTip6": "最高のセキュリティのためにシステム生成の Token を推奨します"
    },
    "other": {
      "performance": "パフォーマンス & ストレージ",
      "localStorage": "ローカルストレージ使用量",
      "logCache": "ログキャッシュサイズ",
      "importExport": "設定のインポート / エクスポート",
      "configWizard": "設定ウィザード",
      "devTools": "開発者ツール",
      "clearStorage": "ローカルストレージを削除",
      "clearStorageDesc": "すべてのローカルストレージデータを削除します",
      "clearStorageConfirm": "削除を確認",
      "clearLogCache": "ログキャッシュを削除",
      "clearLogCacheDesc": "すべてのキャッシュされたログデータを削除します",
      "clearLogCacheConfirm": "削除を確認",
      "importSettings": "設定をインポート",
      "exportSettings": "設定をエクスポート",
      "resetAllSettings": "すべての設定をリセット",
      "resetAllSettingsDesc": "すべての設定をデフォルトに戻します",
      "resetAllSettingsConfirm": "リセットを確認",
      "clearStorageSuccess": "ローカルストレージを削除しました",
      "clearStorageFailed": "削除失敗",
      "clearLogSuccess": "ログキャッシュを削除しました",
      "clearLogFailed": "削除失敗",
      "importSuccess": "インポート成功",
      "importFailed": "インポート失敗",
      "exportSuccess": "エクスポート成功",
      "exportFailed": "エクスポート失敗",
      "resetSuccess": "リセット成功",
      "resetFailed": "リセット失敗",
      "storageItems": "{{count}} 件のアイテム",
      "logCacheSizeDesc": "ログビューアがキャッシュする最大ログ数を制御します。大きい値はより多くのメモリを使用します。",
      "logCacheSizeUnit": "件",
      "dataSyncIntervalLabel": "ホームデータ更新間隔",
      "dataSyncIntervalUnit": "秒間",
      "dataSyncIntervalDesc": "ホーム画面の統計データの自動更新間隔を制御します",
      "wsReconnectLabel": "WebSocket 再接続間隔",
      "wsReconnectUnit": "秒間",
      "wsReconnectDesc": "ログ WebSocket 切断後の再接続基本間隔",
      "wsMaxReconnectLabel": "WebSocket 最大再接続回数",
      "wsMaxReconnectUnit": "回",
      "wsMaxReconnectDesc": "接続失敗後の最大再接続試行回数",
      "clearLogCacheFn": "ログキャッシュをクリア",
      "clearLocalCache": "ローカルキャッシュをクリア",
      "confirmClearCache": "ローカルキャッシュのクリアを確認",
      "confirmClearCacheDesc": "ローカルにキャッシュされたすべての設定とデータ（ログイン資格情報を除く）をクリアします。一部の設定を再構成する必要があるかもしれません。続けますか？",
      "confirmClear": "クリアを確認",
      "importExportDesc": "現在のインターフェース設定をエクスポートしてバックアップしたり、以前のファイルから復元したりできます。",
      "exporting": "エクスポート中...",
      "importing": "インポート中...",
      "resetAllSettingsBtn": "すべての設定をデフォルトにリセット",
      "confirmResetAll": "すべての設定のリセットを確認",
      "confirmResetAllDesc": "テーマ、色、アニメーションなどのインターフェース設定をデフォルトに戻します。ログイン状態には影響しません。続けますか？",
      "configWizardDesc": "初回設定ウィザードを再実行してシステムの基本設定を再構成できます。",
      "rerunSetup": "初回設定を再実行",
      "confirmRerunSetup": "再構成を確認",
      "confirmRerunSetupDesc": "初回設定ウィザードに戻ります。システムの基本設定を再設定できます。続けますか？",
      "devToolsDesc": "以下の機能は開発・デバッグ目的のみです。クラッシュや異常動作を引き起こす可能性があります。",
      "triggerError": "テストエラーを発生させる",
      "confirmTriggerError": "エラーの発生を確認",
      "confirmTriggerErrorDesc": "React エラーを手動で発生させ、エラーボーダーコンポーネントをテストします。ページを更新するかホームに戻ることで復元できます。",
      "confirmTrigger": "発生を確認",
      "logCleared": "ログをクリアしました",
      "logClearedDesc": "ログキャッシュをクリアしました",
      "cacheCleared": "キャッシュをクリアしました",
      "cacheClearedDesc": "{{count}} 件のキャッシュデータをクリアしました",
      "exportSuccessDesc": "設定を JSON ファイルとしてエクスポートしました",
      "exportFailedDesc": "設定のエクスポートに失敗しました",
      "importSuccessDesc": "{{imported}} 件の設定をインポートしました",
      "importSkippedSuffix": "、{{skipped}} 件をスキップ",
      "importRefreshHint": "お知らせ",
      "importRefreshHintDesc": "一部の設定はページを更新するまで完全に有効になりません",
      "importNoDataDesc": "インポートする有効な設定がありません",
      "importInvalidDesc": "ファイルフォーマットが無効です",
      "resetDone": "リセット完了",
      "resetDoneDesc": "すべての設定がデフォルトに戻りました。変更を適用するにはページを更新してください。"
    },
    "about": {
      "openSource": "オープンソース",
      "aboutApp": "MaiBot Dashboard について",
      "version": "バージョン:",
      "author": "開発者",
      "techStack": "技術スタック",
      "frontendFramework": "フロントエンドフレームワーク",
      "uiComponents": "UI コンポーネント",
      "backend": "バックエンド",
      "buildTool": "ビルドツール",
      "openSourceThanks": "使用オープンソースライブラリ",
      "openSourceLicense": "オープンソースライセンス",
      "openSourceDesc": "このプロジェクトは GitHub で公開されています。Star ⭐ でサポートしてください！",
      "visitGitHub": "GitHub へ進む",
      "appDesc": "MaiBot のモダンな Web 管理インターフェース",
      "maimaiCore": "MaiBot コア",
      "uiFrameworkGroup": "UI フレームワーク & コンポーネント",
      "routingStateGroup": "ルーティング & 状態管理",
      "formGroup": "フォーム処理",
      "utilsGroup": "ユーティリティライブラリ",
      "animationGroup": "アニメーション",
      "backendGroup": "バックエンドフレームワーク",
      "devToolsGroup": "開発ツール",
      "openSourceThanksDesc": "このプロジェクトは以下の優れたオープンソースライブラリを使用しています。貢献に感謝します:",
      "licenseDesc": "このプロジェクトは GNU General Public License v3.0 でライセンスされています。同じオープンソースライセンスを保持する限り、自由に使用・修改・配布できます。",
      "licenseDeps": "このプロジェクトのすべての依存オープンソースライブラリはそれぞれのライセンス（MIT、Apache-2.0、BSD など）に従っています。すべてのオープンソース貢献者に感謝します。",
      "lib": {
        "react": "UIを構築するためのライブラリ",
        "shadcn": "エレガントな React コンポーネントライブラリ",
        "radix": "スタイルなしのアクセシブルなコンポーネント",
        "tailwind": "ユーティリティファーストの CSS フレームワーク",
        "lucide": "美しいアイコンライブラリ",
        "tanstackRouter": "型安全なルーティングライブラリ",
        "zustand": "軽量な状態管理ライブラリ",
        "reactHookForm": "高パフォーマンスなフォームライブラリ",
        "zod": "TypeScript ファーストのスキーマ検証",
        "clsx": "条件付き className ビルダー",
        "tailwindMerge": "Tailwind クラス名マージツール",
        "cva": "コンポーネントバリアント管理",
        "dateFns": "モダンな日付ユーティリティライブラリ",
        "framerMotion": "React アニメーションライブラリ",
        "vaul": "ドロワーコンポーネントアニメーション",
        "fastapi": "モダンな Python Web フレームワーク",
        "uvicorn": "ASGI サーバー",
        "pydantic": "データ検証ライブラリ",
        "pythonMultipart": "ファイルアップロードサポート",
        "typescript": "JavaScript のスーパーセット",
        "vite": "次世代フロントエンドビルドツール",
        "eslint": "JavaScript コードリンター"
      }
    }
  },
  "auth": {
    "title": "ログイン",
    "description": "続行するにはアクセストークンを入力してください",
    "tokenLabel": "アクセストークン",
    "tokenPlaceholder": "アクセストークンを入力",
    "loginButton": "ログイン",
    "loggingIn": "ログイン中...",
    "loginFailed": "ログイン失敗",
    "loginSuccess": "ログイン成功",
    "checkingAuth": "ログイン状態を確認中...",
    "welcome": "MaiBot へようこそ",
    "accessDesc": "システムにアクセスするためにアクセストークンを入力してください",
    "tokenRequired": "アクセストークンを入力してください",
    "verifyingLabel": "验証中...",
    "verifyEnter": "验証して入る",
    "helpLink": "Token がありません。どこで取得できますか？",
    "helpTitle": "Access Token の取得方法",
    "helpDesc": "Access Token は MaiBot WebUI にアクセスする唯一の証明情報です。次の方法で取得してください",
    "method1Title": "方法１：起動ログを確認",
    "method1Desc": "MaiBot 起動時にコンソールに WebUI Access Token が表示されます。",
    "method1Example1": "🔑 WebUI Access Token: abc123...",
    "method1Example2": "💡 この Token で WebUI にログインしてください",
    "method2Title": "方法２：設定ファイルを確認",
    "method2Desc": "Token はプロジェクトルートの設定ファイルに保存されています：",
    "method2FileHint": "このファイルを開いて access_token フィールドの値をコピーしてください",
    "securityTipTitle": "セキュリティノート",
    "securityTip1": "Token を安全に保管し、他人に漏洱しないでください",
    "securityTip2": "Token をリセットするには、ログイン後にシステム設定へ進んでください",
    "slowLink": "インターフェースが重いです。どうすればいいですか？",
    "disableAnimTitle": "バックグラウンドアニメーションを無効にする",
    "disableAnimDesc": "バックグラウンドアニメーションは低スペックのデバイスで遅延を引き起こす可能性があります。無効にすると活百度が大幅に向上します。",
    "disableAnimDetail": "無効にすると背景が単色になりますが、機能には影響しません。システム設定からいつでも再有効化できます。",
    "disableAnimBtn": "アニメーションを無効にする",
    "verifyFailed": "Token の検証に失敗しました。确認して再試行してください。",
    "connFailed": "サーバーへの接続に失敗しました。ネットワーク接続を確認してください。",
    "switchToLight": "ライトモードに切り替える",
    "switchToDark": "ダークモードに切り替える"
  },
  "setupPage": {
    "steps": {
      "botBasic": {
        "title": "Bot基本設定",
        "description": "ボットの基本情報を設定します"
      },
      "personality": {
        "title": "人格設定",
        "description": "ボットの性格や話し方を定義します"
      },
      "apiProvider": {
        "title": "API設定",
        "description": "APIプロバイダーを設定します"
      },
      "modelSetup": {
        "title": "モデル設定",
        "description": "planner と replyer モデルを設定します"
      }
    },
    "loading": {
      "title": "設定を読み込み中...",
      "description": "既存の設定を読み取っています"
    },
    "header": {
      "title": "初回セットアップウィザード",
      "description": "{{appName}} の初期設定を一緒に完了しましょう"
    },
    "progress": {
      "stepCounter": "ステップ {{current}} / {{total}}"
    },
    "validation": {
      "selectPlatform": "プラットフォームを選択してください",
      "enterNickname": "ニックネームを入力してください",
      "enterQqAccount": "QQ アカウントを入力してください",
      "enterAccountId": "アカウント ID を入力してください",
      "enterProviderName": "APIプロバイダー名を入力してください",
      "enterBaseUrl": "API Base URL を入力してください",
      "enterApiKey": "API Key を入力してください",
      "enterPlannerModelIdentifier": "planner モデル識別子を入力してください",
      "enterReplyerModelIdentifier": "replyer モデル識別子を入力してください"
    },
    "toast": {
      "loadFailedTitle": "設定の読み込みに失敗しました",
      "loadFailedDescription": "既存の設定を読み込めなかったため、デフォルト値を使用します",
      "saveSuccessTitle": "保存しました",
      "saveSuccessDescription": "{{step}} を保存しました",
      "saveFailedTitle": "保存に失敗しました",
      "validationFailedTitle": "入力内容を確認してください",
      "completeSuccessTitle": "設定が完了しました",
      "completeSuccessDescription": "新しい設定を反映するために {{appName}} を再起動しています...",
      "completeFailedTitle": "設定の完了に失敗しました",
      "skipFailedTitle": "セットアップのスキップに失敗しました",
      "unknownError": "不明なエラー"
    },
    "actions": {
      "previous": "前へ",
      "next": "次へ",
      "skip": "ウィザードをスキップ",
      "complete": "設定を完了",
      "saving": "保存中...",
      "completing": "完了処理中..."
    },
    "skipDialog": {
      "title": "セットアップウィザードをスキップしますか？",
      "description": "システム設定からいつでも再度セットアップウィザードを開けます。スキップしてもよろしいですか？",
      "confirm": "スキップする"
    },
    "footer": "これらの設定はいつでも設定画面から変更できます",
    "defaults": {
      "personality": {
        "personality": "女子大生で、現在大学2年生。掲示板を見るのが好き。",
        "replyStyle": "返信は淡々と、短めにし、中国語で話してください。自分の学科背景をわざと強調しないでください。Tieba、Zhihu、Weibo の返信スタイルを参考にできます。",
        "multipleReplyStyles": {
          "plain": "淡々として少し皮肉っぽく、とても短く口語的に返信します。Tieba や Weibo の返信スタイルを参考にできます。",
          "shortText": "1〜2文字で返信する",
          "shortSymbol": "1〜2個の記号で返信する",
          "translation": "少し翻訳調にするが、長くしない"
        }
      },
      "emoji": {
        "filtrationPrompt": "公序良俗に反しないこと"
      }
    },
    "forms": {
      "botBasic": {
        "platform": {
          "label": "プラットフォーム *",
          "placeholder": "プラットフォームを選択",
          "description": "ボットが動作するプラットフォームを選択します",
          "options": {
            "custom": "その他のプラットフォーム"
          }
        },
        "customPlatform": {
          "label": "プラットフォーム名 *",
          "placeholder": "matrix などのプラットフォーム名を入力"
        },
        "qqAccount": {
          "label": "QQ アカウント *",
          "placeholder": "ボットの QQ アカウントを入力",
          "description": "ボットのログインに使用する QQ アカウントです"
        },
        "primaryAccount": {
          "label": "アカウント ID *",
          "placeholder": "ボットのアカウント ID を入力",
          "description": "このプラットフォーム上でのボットのアカウント識別子です"
        },
        "nickname": {
          "label": "ニックネーム *",
          "placeholder": "ボットのニックネームを入力",
          "description": "ボットの主な呼び名です"
        },
        "alias": {
          "label": "別名",
          "placeholder": "別名を入力して Enter で追加",
          "add": "追加",
          "description": "ボットの他の呼び名を複数追加できます",
          "remove": "別名 {{alias}} を削除"
        }
      },
      "personality": {
        "personality": {
          "label": "人格特性 *",
          "placeholder": "ボットの人格や設定を説明してください（120文字以内推奨）",
          "description": "例：大学2年生の女子大生で、Tieba をよく見ている"
        },
        "replyStyle": {
          "label": "話し方 *",
          "placeholder": "ボットの話し方や表現の癖を説明してください",
          "description": "例：返信は淡々と短めにし、中国語で話し、Tieba・Zhihu・Weibo の雰囲気を参考にする"
        },
        "multipleReplyStyle": {
          "label": "代替返信スタイル",
          "placeholder": "1行につき1つの代替返信スタイルを入力",
          "description": "リストが空でない場合、MaiBot は下の確率でデフォルトの返信スタイルをランダムに置き換えます"
        },
        "multipleProbability": {
          "label": "代替スタイルの発動確率",
          "description": "返信を構築するたびに、代替返信スタイルでデフォルトを置き換える確率です"
        }
      },
      "emoji": {
        "emojiSendNum": {
          "label": "絵文字候補数",
          "description": "送信前にいくつの絵文字から選ぶかを指定します。最大 64 です"
        },
        "maxRegNum": {
          "label": "最大絵文字数",
          "description": "ボットが保存できる絵文字の最大数です"
        },
        "doReplace": {
          "label": "上限到達時に置き換える",
          "description": "有効にすると古い絵文字を削除し、無効にすると新しい絵文字を収集しません"
        },
        "checkInterval": {
          "label": "確認間隔（分）",
          "description": "絵文字の登録、破損、削除を確認する間隔です"
        },
        "stealEmoji": {
          "label": "絵文字を収集する",
          "description": "一部の絵文字をボットが自分用に保存できるようにします"
        },
        "contentFiltration": {
          "label": "絵文字フィルタリングを有効にする",
          "description": "条件に合う絵文字だけを保存します"
        },
        "filtrationPrompt": {
          "label": "フィルタ条件",
          "placeholder": "例：公序良俗に反しないこと",
          "description": "保存する絵文字の条件を説明してください"
        }
      },
      "other": {
        "allGlobal": {
          "label": "グローバルスラングモードを有効にする",
          "description": "グループ内のスラングを学習して使えるようにします"
        }
      },
      "apiProvider": {
        "providerName": {
          "label": "APIプロバイダー名 *",
          "placeholder": "例: OpenAI、DeepSeek、自ホストサービス",
          "description": "この名前は model_config.toml に保存され、下のモデルから参照されます"
        },
        "baseUrl": {
          "label": "API Base URL *",
          "description": "OpenAI互換エンドポイントを入力してください。例: https://api.example.com/v1"
        },
        "apiKey": {
          "label": "API Key *",
          "description": "このプロバイダーの API Key を入力してください",
          "show": "API Key を表示",
          "hide": "API Key を非表示"
        }
      },
      "modelSetup": {
        "planner": {
          "identifier": {
            "label": "planner モデル識別子 *",
            "description": "APIサービスが提供する実際のモデルID。モデル名はこの識別子で初期化されます"
          },
          "visual": {
            "label": "ビジョンを有効化"
          }
        },
        "replyer": {
          "identifier": {
            "label": "replyer モデル識別子 *",
            "description": "APIサービスが提供する実際のモデルID。モデル名はこの識別子で初期化されます"
          },
          "visual": {
            "label": "ビジョンを有効化"
          }
        },
        "saveHint": "より詳細なタスク割り当ては後で設定できます。"
      }
    }
  },
  "common": {
    "loading": "読み込み中...",
    "error": "エラー",
    "retry": "再試行",
    "save": "保存する",
    "cancel": "キャンセル",
    "confirm": "確認",
    "delete": "削除",
    "edit": "編集",
    "close": "閉じる",
    "search": "検索",
    "noData": "データなし",
    "success": "成功しました",
    "failed": "失敗"
  },
  "restart": {
    "preparing": "再起動を準備中",
    "preparingDesc": "再起動リクエストを送信中...",
    "preparingTip": "🔄 MaiBot の再起動を準備中...",
    "restarting": "MaiBot を再起動中",
    "restartingDesc": "しばらお待ちください、MaiBot が再起動中です...",
    "restartingTip": "🔄 設定を保存しました、メインプロセスを再起動中...",
    "checking": "サービス状態を確認中",
    "checkingDesc": "サービスの回復を待機中... ({{current}}/{{max}})",
    "checkingTip": "⏳ サービスの回復を待機中、ページを閉じないでください...",
    "success": "再起動成功",
    "successDesc": "ログインページにリダイレクト中...",
    "successTip": "✅ 設定が適用されました、サービスは正常に動作しています",
    "failed": "再起動タイムアウト",
    "failedDesc": "サービスが予定時間内に回復しませんでした",
    "failedTip": "⚠️ 長時間応答がない場合は、手動で再起動してください",
    "refreshPage": "ページを更新",
    "retryCheck": "再試行",
    "elapsed": "経過時間:"
  },
  "errorBoundary": {
    "title": "問題が発生しました",
    "description": "アプリケーションが予期しないエラーを検出しました。ページを更新するかホームに戻ることができます。",
    "refreshPage": "ページを更新",
    "goHome": "ホームに戻る",
    "footer": "問題が解決しない場合は、エラー情報をコピーして開発者に報告してください",
    "copiedToClipboard": "クリップボードにコピーしました",
    "copyError": "エラー情報をコピー"
  },
  "search": {
    "placeholder": "ページを検索...",
    "title": "検索",
    "noResults": "一致するページが見つかりません",
    "startSearch": "キーワードを入力して検索を開始",
    "navigate": "ナビゲート",
    "select": "選択",
    "close": "閉じる",
    "categories": {
      "overview": "概要",
      "config": "設定",
      "resources": "リソース",
      "monitor": "監視",
      "extensions": "拡張機能",
      "system": "システム"
    },
    "items": {
      "home": "ホーム",
      "homeDesc": "ダッシュボード概要を表示",
      "botConfig": "ボットメイン設定",
      "botConfigDesc": "ボットのコア設定を構成",
      "modelProvider": "モデルプロバイダー設定",
      "modelProviderDesc": "モデルプロバイダーを設定",
      "model": "モデル設定",
      "modelDesc": "モデルパラメーターを設定",
      "emoji": "絵文字管理",
      "emojiDesc": "ボットの絵文字を管理",
      "expression": "表現管理",
      "expressionDesc": "ボットの表現を管理",
      "person": "人物情報",
      "personDesc": "人物情報を管理",
      "jargon": "スラング管理",
      "jargonDesc": "ボットが学習したスラングを管理",
      "statistics": "統計情報",
      "statisticsDesc": "使用統計を表示",
      "plugins": "プラグインマーケット",
      "pluginsDesc": "プラグインを閉覧してインストール",
      "logs": "ログビューア",
      "logsDesc": "システムログを表示",
      "reasoningProcessDesc": "Maisaka prompt の推論ログを閲覧",
      "settings": "設定",
      "settingsDesc": "システム設定を構成"
    }
  },
  "a11y": {
    "skipToContent": "メインコンテンツにスキップ",
    "sidebarNav": "メインナビゲーション",
    "closeMenu": "メニューを閉じる",
    "navigatedTo": "{{page}} に移動しました"
  },
  "home": {
    "title": "リアルタイムモニター",
    "subtitle": "MaiBotの稼働状況と統計データの一覧",
    "loading": "統計データを読み込み中...",
    "loadingHint": "MaiBotの稼働データを取得しています",
    "timeRange": {
      "24h": "24時間",
      "7d": "7日間",
      "30d": "30日間"
    },
    "autoRefresh": "自動更新",
    "botStatus": {
      "title": "MaiBot ステータス",
      "running": "稼働中",
      "stopped": "停止中",
      "uptime": "稼働 {{time}}"
    },
    "quickActions": {
      "title": "クイック操作",
      "restart": "MaiBotを再起動",
      "restarting": "再起動中...",
      "expressionReview": "表現レビュー",
      "viewLogs": "ログを見る",
      "pluginManage": "プラグイン管理",
      "systemSettings": "システム設定"
    },
    "survey": {
      "title": "フィードバック",
      "description": "製品体験の改善にご協力ください",
      "webui": "WebUI フィードバック",
      "maibot": "MaiBot フィードバック"
    },
    "stats": {
      "totalRequests": "総リクエスト数",
      "totalCost": "総コスト",
      "tokenUsage": "トークン消費",
      "avgResponse": "平均応答",
      "avgResponseDesc": "API平均レイテンシ",
      "onlineTime": "オンライン時間",
      "messageProcessing": "メッセージ処理",
      "costEfficiency": "コスト効率",
      "recentPeriod": "直近{{range}}",
      "perHour": "{{value}}/時",
      "noData": "データなし",
      "replied": "返信 {{num}} 件",
      "per100Messages": "100メッセージあたり",
      "seconds": "秒間",
      "hours": "時間",
      "days": "日"
    },
    "charts": {
      "tabs": {
        "trends": "トレンド",
        "models": "モデル",
        "activity": "アクティビティ",
        "daily": "日次統計"
      },
      "requestTrend": "リクエストトレンド",
      "requestTrendDesc": "直近{{hours}}時間のリクエスト量の変化",
      "costTrend": "コストトレンド",
      "costTrendDesc": "API呼び出しコストの変化",
      "tokenUsage": "トークン消費",
      "tokenUsageDesc": "トークン使用量の変化",
      "modelDistribution": "モデルリクエスト分布",
      "modelDistributionDesc": "各モデルの使用割合（{{count}}モデル）",
      "modelDetails": "モデル詳細統計",
      "modelDetailsDesc": "リクエスト数、コスト、パフォーマンス",
      "recentActivity": "最近のアクティビティ",
      "recentActivityDesc": "最新のAPI呼び出し記録",
      "dailyStats": "日次統計",
      "dailyStatsDesc": "直近7日間のデータサマリー",
      "requests": "リクエスト数",
      "cost": "コスト(¥)",
      "requestCount": "リクエスト数",
      "costLabel": "コスト",
      "avgTime": "平均所要時間",
      "timeCost": "所要時間",
      "status": "ステータス"
    },
    "time": {
      "hoursMinutes": "{{hours}}時間{{minutes}}分"
    },
    "hitokotoFallback": "人生はチョコレートの箱のようなもの、次に何が出てくるか分からない。",
    "hitokotoFallbackFrom": "フォレスト・ガンプ",
    "unknownSource": "不明",
    "ariaLabel": {
      "requestTrend": "時間ごとのリクエスト数トレンドチャート、直近のリクエスト数変化を表示",
      "costTrend": "APIコストトレンドチャート、直近のAPI呼び出しコスト変化を表示",
      "tokenUsage": "Token消費トレンドチャート、直近のToken使用量変化を表示"
    }
  }
}
