- 将 A_Memorix 从旧 submodule / 插件形态迁入主线源码,主体落到 src/A_memorix - 调整主程序接入方式,使 A_Memorix 作为源码内长期记忆子系统运行 - 回收父项目插件体系中针对 A_Memorix 的特判,减少对 plugin 通用层的侵入 - 将长期记忆配置、运行时、自检、导入、调优等能力收口到 memory 路由与主线服务层 - 重做长期记忆控制台与图谱页面,按 MaiBot 现有 dashboard 风格接入 - 补充实体关系图与证据视图双视图能力,支持查看节点、关系、段落及其证据链路 - 新增长期记忆配置编辑器与 memory-api,支持主线内配置管理 - 补齐删除管理能力:删除预览、混合删除、来源批量删除、删除操作恢复 - 优化删除预览与删除操作详情的前端展示,支持分页、检索,并以实体名/关系内容/段落摘要替代单纯 hash 展示 - 修复图谱与控制台相关前端问题,包括证据视图切换、查询触发时机、删除弹层空值保护等 - 新增或更新 A_Memorix 相关测试、WebUI 路由测试、前端 vitest 测试与辅助验证脚本 - 移除旧 plugins/A_memorix、.gitmodules 及相关历史维护文档
781 lines
42 KiB
JSON
781 lines
42 KiB
JSON
{
|
||
"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": "モデル管理",
|
||
"adapterConfig": "アダプター設定",
|
||
"emojiManagement": "絵文字管理",
|
||
"expressionManagement": "表現管理",
|
||
"slangManagement": "スラング管理",
|
||
"personInfo": "人物情報",
|
||
"knowledgeGraph": "長期記憶グラフ",
|
||
"knowledgeBase": "長期記憶コンソール",
|
||
"pluginMarket": "プラグインマーケット",
|
||
"configTemplate": "設定テンプレート",
|
||
"pluginConfig": "プラグイン設定",
|
||
"logViewer": "ログビューア",
|
||
"plannerMonitor": "プランナー & リプライヤー監視",
|
||
"localChat": "ローカルチャット",
|
||
"settings": "設定"
|
||
}
|
||
},
|
||
"layout": {
|
||
"verifyingLogin": "ログイン状態を確認中...",
|
||
"logoTitle": "MaiBot WebUI",
|
||
"logoTitleShort": "M"
|
||
},
|
||
"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": "方法1:起動ログを確認",
|
||
"method1Desc": "MaiBot 起動時にコンソールに WebUI Access Token が表示されます。",
|
||
"method1Example1": "🔑 WebUI Access Token: abc123...",
|
||
"method1Example2": "💡 この Token で WebUI にログインしてください",
|
||
"method2Title": "方法2:設定ファイルを確認",
|
||
"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": "ボットの性格や話し方を定義します"
|
||
},
|
||
"emoji": {
|
||
"title": "絵文字パック",
|
||
"description": "絵文字パック関連の設定を行います"
|
||
},
|
||
"other": {
|
||
"title": "その他の設定",
|
||
"description": "ツールや感情システムなどを設定します"
|
||
},
|
||
"siliconFlow": {
|
||
"title": "API設定",
|
||
"description": "SiliconFlow API キーを設定します"
|
||
}
|
||
},
|
||
"loading": {
|
||
"title": "設定を読み込み中...",
|
||
"description": "既存の設定を読み取っています"
|
||
},
|
||
"header": {
|
||
"title": "初回セットアップウィザード",
|
||
"description": "{{appName}} の初期設定を一緒に完了しましょう"
|
||
},
|
||
"progress": {
|
||
"stepCounter": "ステップ {{current}} / {{total}}"
|
||
},
|
||
"validation": {
|
||
"selectPlatform": "プラットフォームを選択してください",
|
||
"enterNickname": "ニックネームを入力してください",
|
||
"enterQqAccount": "QQ アカウントを入力してください",
|
||
"enterAccountId": "アカウント ID を入力してください"
|
||
},
|
||
"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 の返信スタイルを参考にできます。",
|
||
"interest": "技術、ゲーム、アニメ、日常の話題に興味があり、重すぎたり厳粛すぎたりする話題は好みません。",
|
||
"planStyle": "1. 利用可能な **すべて** の action の **各アクション** が現在の条件に合うか考え、会話内容に合えば使用してください\n2. 同じ内容がすでに実行されている場合は繰り返さないでください\n3. 発言頻度を調整し、発言しすぎないでください\n4. 誰かがあなたにうんざりしている場合は、返信を減らしてください\n5. 誰かがあなたを攻撃したり感情的になったりした場合は、適切に対応してください",
|
||
"privatePlanStyle": "1. 利用可能な **すべて** の action の **各アクション** が現在の条件に合うか考え、会話内容に合えば使用してください\n2. 同じ内容がすでに実行されている場合は繰り返さないでください\n3. すでに返信した文には再度返信しないでください"
|
||
},
|
||
"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 の雰囲気を参考にする"
|
||
},
|
||
"interest": {
|
||
"label": "興味 *",
|
||
"placeholder": "ボットが興味を持つ話題を説明してください",
|
||
"description": "どの話題に返信しやすくなるかに影響します"
|
||
},
|
||
"planStyle": {
|
||
"label": "グループチャットのルール *",
|
||
"placeholder": "グループチャットでの行動方針やルール",
|
||
"description": "返信頻度や条件など、グループチャットでの振る舞いを定義します"
|
||
},
|
||
"privatePlanStyle": {
|
||
"label": "個別チャットのルール *",
|
||
"placeholder": "個別チャットでの行動方針やルール",
|
||
"description": "個別チャットでの振る舞いを定義します"
|
||
}
|
||
},
|
||
"emoji": {
|
||
"emojiChance": {
|
||
"label": "絵文字パック発動確率",
|
||
"description": "ボットが絵文字を送る確率です"
|
||
},
|
||
"maxRegNum": {
|
||
"label": "最大絵文字数",
|
||
"description": "ボットが保存できる絵文字の最大数です"
|
||
},
|
||
"doReplace": {
|
||
"label": "上限到達時に置き換える",
|
||
"description": "有効にすると古い絵文字を削除し、無効にすると新しい絵文字を収集しません"
|
||
},
|
||
"checkInterval": {
|
||
"label": "確認間隔(分)",
|
||
"description": "絵文字の登録、破損、削除を確認する間隔です"
|
||
},
|
||
"stealEmoji": {
|
||
"label": "絵文字を収集する",
|
||
"description": "一部の絵文字をボットが自分用に保存できるようにします"
|
||
},
|
||
"contentFiltration": {
|
||
"label": "絵文字フィルタリングを有効にする",
|
||
"description": "条件に合う絵文字だけを保存します"
|
||
},
|
||
"filtrationPrompt": {
|
||
"label": "フィルタ条件",
|
||
"placeholder": "例:公序良俗に反しないこと",
|
||
"description": "保存する絵文字の条件を説明してください"
|
||
}
|
||
},
|
||
"other": {
|
||
"enableTool": {
|
||
"label": "ツールシステムを有効にする",
|
||
"description": "ボットが各種ツールを使って機能を拡張できるようにします"
|
||
},
|
||
"allGlobal": {
|
||
"label": "グローバルスラングモードを有効にする",
|
||
"description": "グループ内のスラングを学習して使えるようにします"
|
||
}
|
||
},
|
||
"siliconFlow": {
|
||
"about": {
|
||
"title": "SiliconFlow について",
|
||
"description": "SiliconFlow は DeepSeek V3、Qwen、ビジョンモデル、音声認識、埋め込みモデルなど幅広いモデルを提供します。API Key が1つあれば MaiBot の全機能を利用できます。",
|
||
"link": "SiliconFlow で API Key を取得する"
|
||
},
|
||
"apiKey": {
|
||
"label": "SiliconFlow API Key *",
|
||
"description": "SiliconFlow の API Key を入力してください。入力後、MaiBot が必要なモデルを自動設定します。",
|
||
"show": "API Key を表示",
|
||
"hide": "API Key を隠す"
|
||
},
|
||
"autoConfig": {
|
||
"title": "以下のモデルが自動設定されます:",
|
||
"items": {
|
||
"deepseek": "DeepSeek V3 - メインの会話・ツールモデル",
|
||
"qwen3": "Qwen3 30B - 頻繁な小タスクとツール呼び出し",
|
||
"qwen3Vl": "Qwen3 VL 30B - 画像認識",
|
||
"senseVoice": "SenseVoice - 音声認識",
|
||
"bgeM3": "BGE-M3 - テキスト埋め込み",
|
||
"lpmm": "知識ベース関連モデル (LPMM)"
|
||
}
|
||
},
|
||
"hint": {
|
||
"title": "ヒント:",
|
||
"description": "ウィザード完了後は、「システム設定 -> モデル設定」でさらに API プロバイダーやモデルを追加できます。"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"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": "システムログを表示",
|
||
"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使用量変化を表示"
|
||
}
|
||
}
|
||
}
|