refactor(ux): consolidate BMAD skills, update design system, and clean up Prisma generated client

This commit is contained in:
Sepehr Ramezani
2026-04-19 19:21:27 +02:00
parent 5296c4da2c
commit 25529a24b8
2476 changed files with 127934 additions and 101962 deletions

View File

@@ -1,7 +1,7 @@
{
"about": {
"appDescription": "AI機能を備えた強力なメモアプリケーション",
"appName": "Keep Notes",
"appName": "Memento",
"buildDate": "ビルド日",
"description": "アプリケーション情報",
"features": {
@@ -69,7 +69,9 @@
"providerOllamaOption": "🦙 Ollama (Local & Free)",
"providerOpenAIOption": "🤖 OpenAI (GPT-5, GPT-4)",
"providerCustomOption": "🔧 Custom OpenAI-Compatible",
"saved": "(保存済み)"
"saved": "(保存済み)",
"chatProvider": "チャットプロバイダー",
"chatDescription": "チャットアシスタント用のAIプロバイダー。未設定の場合はタグプロバイダーにフォールバックします。"
},
"aiTest": {
"description": "タグ生成とセマンティック検索埋め込みのAIプロバイダーをテストします",
@@ -93,7 +95,22 @@
"tipDescription": "テスト前にAIテストパネルを使用して設定の問題を診断してください。",
"tipTitle": "ヒント:",
"title": "AIプロバイダーテスト",
"vectorDimensions": "ベクトル次元"
"vectorDimensions": "ベクトル次元",
"tagsGenerationTest": "🏷️ タグ生成テスト:",
"tagsStep1": "サンプルートをAIプロバイダーに送信",
"tagsStep2": "コンテンツに基づいて3〜5個の関連タグをリクエスト",
"tagsStep3": "生成されたタグと信頼度スコアを表示",
"tagsStep4": "応答時間を計測",
"embeddingsTestLabel": "🔍 埋め込みテスト:",
"embeddingsStep1": "サンプルテキストを埋め込みプロバイダーに送信",
"embeddingsStep2": "ベクトル表現(数値のリスト)を生成",
"embeddingsStep3": "埋め込み次元とサンプル値を表示",
"embeddingsStep4": "ベクトルが有効で正しくフォーマットされていることを確認",
"tipContent": "タグと埋め込みには異なるプロバイダーを使用できます例えば、タグにはOllama無料、埋め込みにはOpenAI最高品質を使うことで、コストとパフォーマンスを最適化できます。",
"testSuccessToast": "{type}テスト成功!",
"testFailedToast": "{type}テスト失敗",
"testingType": "{type}テスト中...",
"technicalDetails": "技術詳細"
},
"aiTesting": "AIテスト",
"security": {
@@ -105,6 +122,22 @@
"updateSuccess": "セキュリティ設定が更新されました"
},
"settings": "管理者設定",
"resend": {
"title": "Resend推奨",
"description": "Resend APIでメールを送信。設定されている場合、SMTPより優先されます。",
"apiKey": "Resend APIキー",
"apiKeyHint": "resend.comからAPIキーを取得してください。エージェント通知やパスワードリセットに使用されます。",
"saveSettings": "Resend設定を保存",
"updateSuccess": "Resend設定を更新しました",
"updateFailed": "Resend設定の更新に失敗しました",
"configured": "Resendが設定され、有効です"
},
"email": {
"title": "メール設定",
"description": "エージェント通知やパスワードリセットのメール送信を設定します。",
"provider": "メールプロバイダー",
"saveSettings": "メール設定を保存"
},
"smtp": {
"description": "パスワードリセット用のメールサーバーを設定します。",
"forceSSL": "SSL/TLSを強制通常はポート465用",
@@ -127,7 +160,7 @@
"userManagement": "ユーザー管理",
"users": {
"addUser": "ユーザーを追加",
"confirmDelete": "Are you sure? This action cannot be undone.",
"confirmDelete": "よろしいですか?この操作は元に戻せません。",
"createFailed": "ユーザーの作成に失敗しました",
"createSuccess": "ユーザーが正常に作成されました",
"createUser": "ユーザーを作成",
@@ -153,6 +186,38 @@
"name": "名前",
"role": "役割"
}
},
"chat": "AIチャット",
"lab": "ラボ",
"agents": "エージェント",
"workspace": "ワークスペース",
"sidebar": {
"dashboard": "ダッシュボード",
"users": "ユーザー",
"aiManagement": "AI管理",
"chat": "AIチャット",
"lab": "ラボ(アイデア)",
"agents": "エージェント",
"settings": "設定"
},
"metrics": {
"vsLastPeriod": "前回期間比"
},
"tools": {
"title": "エージェントツール",
"description": "エージェントのツール使用のための外部ツールを設定ウェブ検索、ウェブスクレイピング、APIアクセス。",
"searchProvider": "ウェブ検索プロバイダー",
"searxng": "SearXNGセルフホスト",
"brave": "Brave Search API",
"both": "両方SearXNG優先、Braveフォールバック",
"searxngUrl": "SearXNG URL",
"braveKey": "Brave Search APIキー",
"jinaKey": "Jina Reader APIキー",
"jinaKeyOptional": "オプション — キーなしでも動作しますが、レート制限あり",
"jinaKeyDescription": "ウェブスクレイピングに使用されます。キーなしでも動作しますが、レート制限があります。",
"saveSettings": "ツール設定を保存",
"updateSuccess": "ツール設定が正常に更新されました",
"updateFailed": "ツール設定の更新に失敗しました"
}
},
"ai": {
@@ -201,10 +266,11 @@
"languageDetected": "検出された言語",
"notebookSummary": {
"regenerate": "要約を再生成",
"regenerating": "要約を再生成中..."
"regenerating": "要約を再生成中...",
"exportPDF": "PDFとしてエクスポート"
},
"original": "元のテキスト",
"poweredByAI": "AI powered",
"poweredByAI": "AI搭載",
"processing": "処理中...",
"reformulateText": "テキストをリフォーミュレート",
"reformulated": "リフォーミュレート済み",
@@ -229,7 +295,21 @@
"transformError": "変換中のエラー",
"transformMarkdown": "Markdownに変換",
"transformSuccess": "テキストをMarkdownに正常に変換しました",
"transforming": "変換中..."
"transforming": "変換中...",
"clarifyDesc": "テキストをより明確で分かりやすくします",
"shortenDesc": "テキストを要約し、要点をまとめます",
"improve": "文章を改善",
"improveDesc": "文法を修正し、スタイルを向上させます",
"toMarkdown": "Markdownで整形",
"toMarkdownDesc": "見出し、箇条書きを追加してテキストを構造化します",
"translate": "翻訳",
"translateDesc": "テキストの言語を変更します",
"translateBack": "戻す",
"translationApplied": "翻訳を適用しました",
"translationFailed": "翻訳に失敗しました",
"undo": "AIを取り消し",
"undoAI": "AI変換を取り消し",
"undoApplied": "元のテキストに戻しました"
},
"aiSettings": {
"description": "AI機能と設定を構成",
@@ -255,7 +335,11 @@
},
"appearance": {
"description": "アプリの見た目をカスタマイズ",
"title": "外観"
"title": "外観",
"notesViewDescription": "ホームとノートブックでノートを表示する方法を選択します。",
"notesViewLabel": "ノートのレイアウト",
"notesViewTabs": "タブOneNote風",
"notesViewMasonry": "カード(グリッド)"
},
"auth": {
"backToLogin": "ログインに戻る",
@@ -283,7 +367,7 @@
"sending": "送信中...",
"signIn": "ログイン",
"signInToAccount": "アカウントにログイン",
"signOut": "Sign out",
"signOut": "ログアウト",
"signUp": "新規登録"
},
"autoLabels": {
@@ -453,11 +537,11 @@
},
"diagnostics": {
"apiStatus": "APIステータス",
"checking": "Checking...",
"checking": "確認中...",
"configuredProvider": "設定されたプロバイダー",
"description": "Check your AI provider connection status",
"errorStatus": "Error",
"operational": "Operational",
"description": "AIプロバイダーの接続状況を確認します",
"errorStatus": "エラー",
"operational": "正常",
"testDetails": "テスト詳細:",
"tip1": "Ollamaが実行されていることを確認ollama serve",
"tip2": "モデルがインストールされていることを確認ollama pull llama3",
@@ -482,13 +566,13 @@
"apply": "適用",
"back": "戻る",
"cancel": "キャンセル",
"clean": "Clean",
"clean": "クリーン",
"clear": "クリア",
"close": "閉じる",
"confirm": "確認",
"edit": "編集",
"error": "エラーが発生しました",
"indexAll": "Index All",
"indexAll": "すべてインデックス",
"loading": "読み込み中...",
"next": "次へ",
"operationFailed": "操作が失敗しました",
@@ -499,7 +583,7 @@
"save": "保存",
"select": "選択",
"submit": "送信",
"testConnection": "Test Connection",
"testConnection": "接続テスト",
"tryAgain": "もう一度お試しください"
},
"generalSettings": {
@@ -507,37 +591,39 @@
"title": "一般設定"
},
"labels": {
"addLabel": "Add label",
"allLabels": "All Labels",
"changeColor": "Change Color",
"changeColorTooltip": "Change color",
"clearAll": "Clear all",
"confirmDelete": "Are you sure you want to delete this label?",
"addLabel": "ラベルを追加",
"allLabels": "すべてのラベル",
"changeColor": "色を変更",
"changeColorTooltip": "色を変更",
"clearAll": "すべてクリア",
"confirmDelete": "このラベルを削除してもよろしいですか?",
"count": "{count} 個のラベル",
"createLabel": "Create label",
"delete": "Delete",
"deleteTooltip": "Delete label",
"editLabels": "Edit Labels",
"editLabelsDescription": "Create, edit colors, or delete labels.",
"filter": "Filter by Label",
"filterByLabel": "Filter by label",
"labelColor": "Label color",
"labelName": "Label name",
"loading": "Loading...",
"manage": "Manage Labels",
"manageLabels": "Manage labels",
"manageLabelsDescription": "Add or remove labels for this note. Click on a label to change its color.",
"manageTooltip": "Manage Labels",
"namePlaceholder": "Enter label name",
"newLabelPlaceholder": "Create new label",
"createLabel": "ラベルを作成",
"delete": "削除",
"deleteTooltip": "ラベルを削除",
"editLabels": "ラベルを編集",
"editLabelsDescription": "ラベルの作成、色の編集、削除を行います。",
"filter": "ラベルで絞り込み",
"filterByLabel": "ラベルで絞り込み",
"labelColor": "ラベルの色",
"labelName": "ラベル名",
"loading": "読み込み中...",
"manage": "ラベルを管理",
"manageLabels": "ラベルを管理",
"manageLabelsDescription": "このノートのラベルを追加・削除します。ラベルをクリックして色を変更できます。",
"manageTooltip": "ラベルを管理",
"namePlaceholder": "ラベル名を入力",
"newLabelPlaceholder": "新しいラベルを作成",
"noLabels": "ラベルがありません",
"noLabelsFound": "No labels found.",
"notebookRequired": "⚠️ Labels are only available in notebooks. Move this note to a notebook first.",
"selectedLabels": "Selected Labels",
"showLess": "Show less",
"showMore": "Show more",
"tagAdded": "Tag \"{tag}\" added",
"title": "Labels"
"noLabelsFound": "ラベルが見つかりません。",
"notebookRequired": "⚠️ ラベルはノートブック内でのみ使用できます。先にこのノートをノートブックに移動してください。",
"selectedLabels": "選択中のラベル",
"showLess": "折りたたむ",
"showMore": "もっと見る",
"tagAdded": "タグ「{tag}」を追加しました",
"title": "ラベル",
"confirmDeleteShort": "削除しますか?",
"labelRemoved": "ラベル「{label}」を削除しました"
},
"memoryEcho": {
"clickToView": "クリックしてノートを表示",
@@ -576,13 +662,13 @@
"edit": "編集",
"error": "ノートのマージに失敗しました",
"finishEditing": "編集を終了",
"generateError": "Failed to generate fusion",
"generateError": "融合の生成に失敗しました",
"generateFusion": "融合を生成",
"generating": "生成中...",
"keepAllTags": "すべてのタグを保持",
"mergeNotes": "{count}個のノートをマージ",
"modify": "修正",
"noContentReturned": "No fusion content returned from API",
"noContentReturned": "APIから融合コンテンツが返されませんでした",
"notesToMerge": "📝 マージするノート",
"optionalPrompt": "💬 融合プロンプト(オプション)",
"optionsTitle": "融合オプション",
@@ -590,7 +676,7 @@
"promptPlaceholder": "AIへのオプションの指示'ート1のフォーマルなスタイルを維持する'...",
"success": "ノートを正常にマージしました!",
"title": "🔗 インテリジェントな融合",
"unknownDate": "Unknown date",
"unknownDate": "日付不明",
"useLatestTitle": "最新のノートをタイトルとして使用"
},
"helpful": "役に立つ",
@@ -611,7 +697,8 @@
"thanksFeedback": "フィードバックありがとうございます!",
"thanksFeedbackImproving": "ありがとうございます!改善に役立てます。",
"title": "何か気づきました...",
"viewConnection": "つながりを表示"
"viewConnection": "つながりを表示",
"match": "{percentage}% 一致"
},
"nav": {
"accountSettings": "アカウント設定",
@@ -646,7 +733,10 @@
"supportDevelopment": "Mementoの開発をサポート ☕",
"trash": "ゴミ箱",
"userManagement": "ユーザー管理",
"workspace": "ワークスペース"
"workspace": "ワークスペース",
"chat": "AIチャット",
"lab": "ラボ",
"agents": "エージェント"
},
"notebook": {
"cancel": "キャンセル",
@@ -667,7 +757,16 @@
"selectIcon": "アイコン",
"summary": "ノートブックの概要",
"summaryDescription": "このートブックのすべてのートのAI搭載の概要を生成します。",
"summaryError": "概要の生成エラー"
"summaryError": "概要の生成エラー",
"namePlaceholder": "例Q4マーケティング戦略",
"myNotebook": "マイノートブック",
"saving": "保存中...",
"pdfTitle": "概要 — {name}",
"pdfNotesLabel": "ノート:",
"pdfGeneratedOn": "生成日:",
"confidence": "信頼度",
"savingReminder": "リマインダーの保存に失敗しました",
"removingReminder": "リマインダーの削除に失敗しました"
},
"notebookSuggestion": {
"description": "このノートはこのノートブックに属しているようです",
@@ -676,7 +775,7 @@
"generalNotes": "一般ノート",
"move": "移動",
"moveToNotebook": "ノートブックに移動",
"title": "{icon} {name}に移動しますか?"
"title": "{name}に移動しますか?"
},
"notebooks": {
"allNotebooks": "すべてのノートブック",
@@ -784,7 +883,16 @@
"unpinned": "ピン留め解除",
"untitled": "無題",
"uploadFailed": "{filename}のアップロードに失敗しました",
"view": "ノートを表示"
"view": "ノートを表示",
"emptyStateTabs": "まだートがありません。サイドバーの「新しいート」を使って追加してくださいAIタイトル提案が作成画面に表示されます。",
"viewCards": "カード表示",
"viewCardsTooltip": "ドラッグ&ドロップで並べ替え可能なカードグリッド",
"viewTabs": "リスト表示",
"viewTabsTooltip": "上部にタブ、下にノート — タブをドラッグで並べ替え",
"viewModeGroup": "ノートの表示モード",
"reorderTabs": "タブを並べ替え",
"modified": "更新日時",
"created": "作成日時"
},
"pagination": {
"next": "→",
@@ -833,12 +941,12 @@
"preferredLanguage": "優先言語",
"profileError": "プロフィールの更新エラー",
"profileUpdated": "プロフィールを更新しました",
"recentNotesUpdateFailed": "Failed to update recent notes setting",
"recentNotesUpdateSuccess": "Recent notes setting updated successfully",
"recentNotesUpdateFailed": "最近のノート設定の更新に失敗しました",
"recentNotesUpdateSuccess": "最近のノート設定を更新しました",
"selectFontSize": "フォントサイズを選択",
"selectLanguage": "言語を選択",
"showRecentNotes": "Show Recent Notes Section",
"showRecentNotesDescription": "Display recent notes (last 7 days) on the main page",
"showRecentNotes": "最近のノートセクションを表示",
"showRecentNotesDescription": "メインページに最近のート過去7日間を表示します",
"title": "プロフィール",
"updateFailed": "プロフィールの更新に失敗しました",
"updatePassword": "パスワードを更新",
@@ -887,21 +995,21 @@
"about": "について",
"account": "アカウント",
"appearance": "外観",
"cleanTags": "Clean Orphan Tags",
"cleanTagsDescription": "Remove tags that are no longer used by any notes",
"cleanTags": "孤立タグをクリーン",
"cleanTagsDescription": "どのノートでも使用されていないタグを削除します",
"description": "設定と環境設定を管理",
"language": "言語",
"languageAuto": "自動検出",
"maintenance": "Maintenance",
"maintenanceDescription": "Tools to maintain your database health",
"maintenance": "メンテナンス",
"maintenanceDescription": "データベースの健全性を維持するツール",
"notifications": "通知",
"privacy": "プライバシー",
"profile": "プロフィール",
"searchNoResults": "一致する設定が見つかりません",
"security": "セキュリティ",
"selectLanguage": "言語を選択",
"semanticIndexing": "Semantic Indexing",
"semanticIndexingDescription": "Generate vectors for all notes to enable intent-based search",
"semanticIndexing": "セマンティックインデックス",
"semanticIndexingDescription": "すべてのノートのベクトルを生成して、意図に基づく検索を有効にします",
"settingsError": "設定の保存エラー",
"settingsSaved": "設定を保存しました",
"theme": "テーマ",
@@ -909,15 +1017,29 @@
"themeLight": "ライト",
"themeSystem": "システム",
"title": "設定",
"version": "バージョン"
"version": "バージョン",
"cleanupDone": "{created}件のラベルレコードを同期し、{deleted}件の孤立レコードを削除しました",
"cleanupNothing": "実行不要 — ラベルはすでにノートと一致しています",
"cleanupWithErrors": "一部の操作に失敗しました",
"cleanupError": "ラベルのクリーンアップに失敗しました",
"indexingComplete": "インデックス完了:{count}件のノートを処理しました",
"indexingError": "インデックス作成中にエラーが発生しました",
"emailNotifications": "メール通知",
"emailNotificationsDesc": "重要な通知をメールで受け取ります",
"desktopNotifications": "デスクトップ通知",
"desktopNotificationsDesc": "ブラウザで通知を受け取ります",
"notificationsDesc": "通知設定を管理します"
},
"sidebar": {
"archive": "Archive",
"editLabels": "Edit labels",
"labels": "Labels",
"notes": "Notes",
"reminders": "Reminders",
"trash": "Trash"
"archive": "アーカイブ",
"editLabels": "ラベルを編集",
"labels": "ラベル",
"notes": "ノート",
"reminders": "リマインダー",
"trash": "ゴミ箱",
"newNoteTabs": "新しいノート",
"newNoteTabsHint": "このノートブックにノートを作成",
"noLabelsInNotebook": "このノートブックにはまだラベルがありません"
},
"support": {
"aiApiCosts": "AI APIコスト",
@@ -987,10 +1109,19 @@
"thanksFeedbackImproving": "ありがとうございます!改善に役立てます。"
},
"trash": {
"deletePermanently": "完全に削除",
"title": "ゴミ箱",
"empty": "ゴミ箱は空です",
"emptyDescription": "削除されたメモはここに表示されます",
"restore": "復元",
"title": "ゴミ箱"
"deletePermanently": "完全に削除",
"noteTrashed": "メモをゴミ箱に移動しました",
"noteRestored": "メモを復元しました",
"notePermanentlyDeleted": "メモを完全に削除しました",
"emptyTrash": "ゴミ箱を空にする",
"emptyTrashConfirm": "ゴミ箱内のすべてのメモを完全に削除しますか?",
"emptyTrashSuccess": "ゴミ箱を空にしました",
"permanentDelete": "完全に削除",
"permanentDeleteConfirm": "このメモは完全に削除されます。この操作は取り消せません。"
},
"ui": {
"close": "閉じる",
@@ -1003,7 +1134,7 @@
"description": "APIキーの管理と外部ツールの設定",
"whatIsMcp": {
"title": "MCPとは",
"description": "Model Context ProtocolMCPは、AIモデルが外部ツールやデータソースと安全にやり取りできるようにするオープンプロトコルです。MCPを使用すると、Claude Code、Cursor、N8NなどのツールをKeep Notesインスタンスに接続し、プログラムでノートの読み取り、作成、整理を行うことができます。",
"description": "Model Context ProtocolMCPは、AIモデルが外部ツールやデータソースと安全にやり取りできるようにするオープンプロトコルです。MCPを使用すると、Claude Code、Cursor、N8NなどのツールをMementoインスタンスに接続し、プログラムでノートの読み取り、作成、整理を行うことができます。",
"learnMore": "MCPについて詳しく知る"
},
"serverStatus": {
@@ -1057,5 +1188,241 @@
"description": "N8N MCPードで以下の認証情報を使用してください"
}
}
},
"agents": {
"title": "エージェント",
"subtitle": "監視・調査タスクを自動化",
"newAgent": "新しいエージェント",
"myAgents": "マイエージェント",
"noAgents": "エージェントなし",
"noAgentsDescription": "最初のエージェントを作成するか、下のテンプレートをインストールして監視タスクを自動化しましょう。",
"types": {
"scraper": "モニター",
"researcher": "リサーチャー",
"monitor": "オブザーバー",
"custom": "カスタム"
},
"typeDescriptions": {
"scraper": "複数のサイトをスクレイピングして要約を作成",
"researcher": "トピックに関する情報を検索",
"monitor": "ノートブックを監視しノートを分析",
"custom": "独自のプロンプトを持つ自由エージェント"
},
"form": {
"agentType": "エージェントタイプ",
"name": "名前",
"namePlaceholder": "例火曜日のAIウォッチ",
"description": "説明(任意)",
"descriptionPlaceholder": "週次AIニュースまとめ",
"urlsLabel": "スクレイピングするURL",
"urlsOptional": "(任意)",
"sourceNotebook": "監視するノートブック",
"selectNotebook": "ノートブックを選択...",
"targetNotebook": "対象ノートブック",
"inbox": "受信箱",
"instructions": "AIの指示",
"instructionsPlaceholder": "エージェントの動作を説明...",
"frequency": "頻度",
"cancel": "キャンセル",
"saving": "保存中...",
"save": "保存",
"create": "エージェントを作成",
"editTitle": "エージェントを編集",
"createTitle": "新しいエージェント",
"nameRequired": "名前は必須です",
"addUrl": "URLを追加",
"advancedMode": "詳細設定",
"instructionsHint": "自動プロンプトを置き換えます",
"researchTopic": "調査テーマ",
"researchTopicPlaceholder": "例: AIの最新動向",
"notifyEmail": "メール通知",
"notifyEmailHint": "実行後にエージェントの結果をメールで受け取る"
},
"frequencies": {
"manual": "手動",
"hourly": "毎時間",
"daily": "毎日",
"weekly": "毎週",
"monthly": "毎月"
},
"status": {
"success": "成功",
"failure": "失敗",
"running": "実行中",
"pending": "保留中"
},
"actions": {
"edit": "編集",
"run": "実行",
"delete": "削除",
"deleteConfirm": "エージェント「{name}」を削除しますか?",
"toggleOn": "エージェント有効",
"toggleOff": "エージェント無効"
},
"toasts": {
"created": "エージェントを作成しました",
"updated": "エージェントを更新しました",
"deleted": "「{name}」を削除しました",
"deleteError": "削除エラー",
"runSuccess": "「{name}」が正常に実行されました",
"runError": "エラー:{error}",
"runFailed": "実行に失敗しました",
"runGenericError": "実行中にエラーが発生しました",
"toggleError": "エージェントの切り替えエラー",
"installSuccess": "「{name}」をインストールしました",
"installError": "インストール中にエラーが発生しました",
"saveError": "保存エラー"
},
"templates": {
"title": "テンプレート",
"install": "インストール",
"installing": "インストール中...",
"veilleAI": {
"name": "AIウォッチ",
"description": "AI専門の5サイトをスクレイピングし、週次まとめを生成します。"
},
"veilleTech": {
"name": "Techウォッチ",
"description": "主要テックサイトをスクレイピングし、ニュースまとめを作成します。"
},
"veilleDev": {
"name": "Devウォッチ",
"description": "開発者向けサイトをスクレイピングし、新しい技術やフレームワークを要約します。"
},
"surveillant": {
"name": "ノートオブザーバー",
"description": "ノートブックの最新ノートを分析し、補足・参考文献・リンクを提案します。"
},
"chercheur": {
"name": "トピックリサーチャー",
"description": "トピックに関する詳細情報を検索し、参考文献付きの構造化ノートを作成します。"
}
},
"runLog": {
"title": "履歴",
"noHistory": "実行履歴なし",
"toolTrace": "{count}件のツール呼び出し",
"step": "ステップ {num}"
},
"tools": {
"title": "エージェントツール",
"webSearch": "ウェブ検索",
"webScrape": "ウェブスクレイプ",
"noteSearch": "ノート検索",
"noteRead": "ノート読み取り",
"noteCreate": "ノート作成",
"urlFetch": "URL取得",
"memorySearch": "メモリ",
"configNeeded": "設定",
"selected": "{count}件選択済み",
"maxSteps": "最大反復回数"
},
"metadata": {
"executions": "{count}回実行"
},
"defaultRoles": {
"scraper": "あなたは監視アシスタントです。複数のウェブサイトの記事を明確で構造化された要約にまとめてください。",
"researcher": "あなたは厳密な研究者です。要求されたトピックについて、背景、要点、議論、参考文献を含む調査ノートを作成してください。",
"monitor": "あなたは分析アシスタントです。提供されたノートを分析し、方向性、参考文献、ノート間の関連性を提案してください。",
"custom": "あなたは役立つアシスタントです。"
},
"help": {
"title": "エージェントガイド",
"btnLabel": "ヘルプ",
"close": "閉じる",
"whatIsAgent": "エージェントとは?",
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
"howToUse": "エージェントの使い方",
"howToUseContent": "1. Click **\"New Agent\"** (or start from a **Template** at the bottom of the page)\n2. Choose an **agent type** (Researcher, Monitor, Observer, Custom)\n3. Give it a **name** and fill in the type-specific fields\n4. Optionally pick a **target notebook** where results will be saved\n5. Choose a **frequency** (Manual = you trigger it yourself)\n6. Click **Create**, then hit the **Run** button on the agent card\n7. Once finished, a new note appears in your target notebook",
"types": "エージェントの種類",
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
"advanced": "詳細モードAI指示、最大反復回数",
"advancedContent": "Click **\"Advanced mode\"** at the bottom of the form to access additional settings.\n\n### AI Instructions\n\nThis field lets you **replace the default system prompt** for the agent. If left empty, the agent uses an automatic prompt adapted to its type.\n\n**Why use it?** You want to control exactly how the agent behaves. For example:\n- \"Write the summary in English, even if sources are in French\"\n- \"Structure the note with sections: Context, Key Points, Personal Opinion\"\n- \"Ignore articles older than 30 days and focus on recent news\"\n- \"For each detected theme, suggest 3 follow-up leads with links\"\n\n> **Note:** Your instructions replace the defaults, they don't add to them.\n\n### Max iterations\n\nThis is the **maximum number of cycles** the agent can perform. One cycle = the agent thinks, calls a tool, reads the result, then decides the next action.\n\n- **3-5 iterations:** for simple tasks (scraping a single page)\n- **10 iterations (default):** good balance for most cases\n- **15-25 iterations:** for deep research where the agent needs to explore multiple leads\n\n> **Warning:** More iterations = more time and potentially higher API costs.",
"tools": "利用可能なツール(詳細)",
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
"frequency": "頻度とスケジュール",
"frequencyContent": "| Frequency | Behavior\n|-----------|----------\n| **Manual** | You click \"Run\" yourself — no automatic scheduling\n| **Hourly** | Runs every hour\n| **Daily** | Runs once per day\n| **Weekly** | Runs once per week\n| **Monthly** | Runs once per month\n\n> **Tip:** Start with \"Manual\" to test your agent, then switch to an automatic frequency once you're satisfied with the results.",
"targetNotebook": "保存先ノートブック",
"targetNotebookContent": "When an agent finishes its task, it **creates a note**. The **target notebook** determines where that note goes:\n\n- **Inbox** (default) — the note goes to your general notes\n- **Specific notebook** — choose a notebook to keep agent results organized\n\n> **Tip:** Create a dedicated notebook like \"Agent Reports\" to keep all automated content in one place.",
"templates": "テンプレート",
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
"tips": "ヒントとトラブルシューティング",
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
"tooltips": {
"agentType": "エージェントが実行するタスクの種類を選択してください。各タイプには異なる機能とフィールドがあります。",
"researchTopic": "エージェントがウェブで調査するトピック。より良い結果のために具体的に指定してください。",
"description": "このエージェントが何をするかの短い説明。目的を思い出すのに役立ちます。",
"urls": "スクレイプするウェブサイトのリスト。エージェントは各URLにアクセスしてコンテンツを抽出します。",
"sourceNotebook": "エージェントが分析するノートブック。このノートブックのノートを読んで関連性やテーマを見つけます。",
"targetNotebook": "エージェントの結果ノートが保存される場所。受信トレイまたは特定のノートブックを選択してください。",
"frequency": "エージェントが自動実行される頻度。テストするには手動から始めてください。",
"instructions": "デフォルトのAIプロンプトを置き換えるカスタム指示。自動プロンプトを使用する場合は空のままにしてください。",
"tools": "エージェントが使用できるツールを選択してください。各ツールはエージェントに特定の機能を与えます。",
"maxSteps": "推論サイクルの最大数。ステップが多いほど深い分析ですが、時間がかかります。"
}
}
},
"chat": {
"title": "AIチャット",
"subtitle": "ートやAIエージェントとチャット",
"newConversation": "新しい会話",
"noHistory": "履歴なし",
"untitled": "無題の会話",
"deleteConfirm": "この会話を削除しますか?",
"yes": "はい",
"placeholder": "アシスタントにメッセージを送信...",
"allNotebooks": "すべてのノートブック",
"inAllNotebooks": "すべてのノートブック内",
"active": "アクティブ",
"disclaimer": "AIは間違えることがあります。重要な情報は確認してください。",
"assistantError": "アシスタントエラー",
"loadError": "会話の読み込みエラー",
"createError": "会話の作成エラー",
"deleteError": "削除エラー",
"renamed": "会話名を変更しました",
"renameError": "名前変更エラー",
"welcome": "ノートの要約、新しいアイデアの生成、ノートブックについてのディスカッションなどをお手伝いします。",
"searching": "検索中...",
"noNotesFoundForContext": "この質問に関連するノートが見つかりませんでした。一般的な知識でお答えください。"
},
"labHeader": {
"title": "ラボ",
"live": "ライブ",
"currentProject": "現在のプロジェクト",
"choose": "選択...",
"yourSpaces": "あなたのスペース",
"updated": "更新済み",
"newSpace": "新しい思考スペース",
"new": "新規",
"renamed": "スペース名を変更しました",
"renameError": "名前変更エラー",
"created": "新しいスペースを作成しました",
"createFailed": "作成に失敗しました",
"deleteSpace": "スペースを削除",
"deleted": "スペースを削除しました",
"deleteError": "削除エラー"
},
"notification": {
"shared": "「{title}」を共有しました",
"untitled": "無題",
"notifications": "通知",
"accept": "Accept",
"accepted": "Share accepted",
"decline": "Decline",
"declined": "共有を拒否しました",
"noNotifications": "No new notifications",
"removed": "リストからノートを削除しました"
},
"reminders": {
"title": "リマインダー",
"empty": "リマインダーなし",
"emptyDescription": "ノートにリマインダーを追加すると、ここに表示されます。",
"upcoming": "予定",
"overdue": "期限切れ",
"done": "完了",
"markDone": "完了にする",
"markUndone": "未完了にする",
"todayAt": "今日 {time}",
"tomorrowAt": "明日 {time}"
}
}