diff --git a/static/i18n.js b/static/i18n.js index c8f160fe..6101c1f6 100644 --- a/static/i18n.js +++ b/static/i18n.js @@ -1085,24 +1085,24 @@ const LOCALES = { mcp_deleted: 'MCPサーバーを削除しました。', mcp_delete_failed: 'MCPサーバーの削除に失敗しました。', mcp_load_failed: 'MCPサーバーの読み込みに失敗しました。', - mcp_restart_hint: 'Server changes are read-only here for now. Edit config.yaml and restart Hermes for changes to take effect.', - mcp_toggle_followup: 'Enable/disable controls are intentionally deferred until MCP reload semantics are explicit.', - mcp_status_active: 'Active', - mcp_status_configured: 'Configured', - mcp_status_disabled: 'Disabled', - mcp_status_invalid_config: 'Invalid config', - mcp_status_unknown: 'Unknown', - mcp_tool_count: '{0} tools', - mcp_enabled_yes: 'Enabled', - mcp_enabled_no: 'Disabled', - mcp_tools_title: 'MCP Tools', - mcp_tools_desc: 'Search known tools across active MCP servers.', - mcp_tools_search_placeholder: 'Search tools by name, server, or description…', - mcp_tools_no_tools: 'No MCP tools are available from the active runtime inventory.', - mcp_tools_no_matches: 'No MCP tools match your search.', - mcp_tools_load_failed: 'Failed to load MCP tools.', - mcp_tools_schema_empty: 'No schema parameters.', - mcp_tools_runtime_note: 'Tool inventory only uses already-known active MCP runtime data; the WebUI does not start or probe servers.', + mcp_restart_hint: 'ここでのサーバー変更は現状読み取り専用です。反映するには config.yaml を編集して Hermes を再起動してください。', + mcp_toggle_followup: '有効/無効の切り替えは、MCP のリロード仕様が明確になるまで意図的に保留しています。', + mcp_status_active: 'アクティブ', + mcp_status_configured: '設定済み', + mcp_status_disabled: '無効', + mcp_status_invalid_config: '不正な設定', + mcp_status_unknown: '不明', + mcp_tool_count: '{0} 個のツール', + mcp_enabled_yes: '有効', + mcp_enabled_no: '無効', + mcp_tools_title: 'MCP ツール', + mcp_tools_desc: 'アクティブな MCP サーバー全体から既知のツールを検索します。', + mcp_tools_search_placeholder: '名前、サーバー、説明でツールを検索…', + mcp_tools_no_tools: 'アクティブなランタイムに利用可能な MCP ツールがありません。', + mcp_tools_no_matches: '一致する MCP ツールはありません。', + mcp_tools_load_failed: 'MCP ツールの読み込みに失敗しました。', + mcp_tools_schema_empty: 'スキーマパラメータはありません。', + mcp_tools_runtime_note: 'ツール一覧は既知の MCP ランタイム情報のみを使用します。WebUI はサーバーの起動や探索を行いません。', // PDF preview (#480) pdf_loading: 'PDF {0} を読み込み中…', pdf_too_large: 'PDF が大きすぎてインラインプレビューできません', @@ -1404,8 +1404,8 @@ const LOCALES = { session_duplicate_desc: '同じワークスペースとモデルでコピーを作成', session_duplicated: 'セッションを複製しました', session_duplicate_failed: '複製失敗: ', - session_stop_response: 'Stop response', - session_stop_response_desc: 'Cancel the running response for this conversation', + session_stop_response: '応答を停止', + session_stop_response_desc: 'この会話の実行中の応答をキャンセルします', session_delete: '会話を削除', session_delete_desc: 'この会話を完全に削除', session_select_mode: '選択', @@ -1498,69 +1498,69 @@ const LOCALES = { tab_memory: 'メモリ', tab_workspaces: 'スペース', tab_profiles: 'プロファイル', - tab_kanban: 'Kanban', - kanban_board: 'Board', - kanban_visible_tasks: '{0} visible tasks', - kanban_search_tasks: 'Search tasks', - kanban_all_assignees: 'All assignees', - kanban_all_tenants: 'All tenants', - kanban_include_archived: 'Include archived', - kanban_no_matching_tasks: 'No matching tasks', - kanban_no_data: 'No Kanban data', - kanban_unavailable: 'Kanban unavailable', - kanban_read_only: 'Read-only view', - kanban_empty: 'Empty', - kanban_task: 'Task', - kanban_no_description: 'No description', - kanban_refresh: 'Refresh', - kanban_status_triage: 'Triage', - kanban_status_todo: 'Todo', - kanban_status_ready: 'Ready', - kanban_status_running: 'Running', - kanban_status_blocked: 'Blocked', - kanban_status_done: 'Done', - kanban_comments_count: 'Comments ({0})', - kanban_events_count: 'Events ({0})', - kanban_links: 'Links', - kanban_parents: 'Parents', - kanban_children: 'Children', - kanban_runs_count: 'Runs ({0})', - kanban_no_comments: 'No comments', - kanban_no_events: 'No events', - kanban_no_runs: 'No runs', - kanban_new_task: 'New task', - kanban_add_comment: 'Add comment', - kanban_only_mine: 'Only mine', - kanban_bulk_action: 'Bulk action', - kanban_nudge_dispatcher: 'Nudge dispatcher', - kanban_stats: 'Stats', - kanban_worker_log: 'Worker log', - kanban_block: 'Block', - kanban_unblock: 'Unblock', - kanban_back_to_board: 'Back to board', - kanban_lanes_by_profile: 'Lanes by profile', - kanban_new_board: 'New board…', - kanban_rename_board: 'Rename current board…', - kanban_archive_board: 'Archive current board…', - kanban_archive_board_confirm: 'Archive board "{name}"? Tasks remain on disk and the board can be restored from kanban/boards/_archived/.', - kanban_board_archived: 'Board archived', - kanban_board_name: 'Name', - kanban_board_slug: 'Slug (lowercase, hyphens)', - kanban_board_description: 'Description (optional)', - kanban_board_icon: 'Icon (emoji, optional)', - kanban_board_color: 'Color (optional)', - kanban_board_name_required: 'Name is required', - kanban_board_slug_required: 'Slug is required', - kanban_card_start: 'start', - kanban_card_complete: 'complete', - kanban_card_archive: 'archive', - kanban_unassigned: 'unassigned', - kanban_status_archived: 'Archived', + tab_kanban: 'カンバン', + kanban_board: 'ボード', + kanban_visible_tasks: '表示中のタスク: {0}', + kanban_search_tasks: 'タスクを検索', + kanban_all_assignees: '担当者: すべて', + kanban_all_tenants: 'テナント: すべて', + kanban_include_archived: 'アーカイブを含める', + kanban_no_matching_tasks: '一致するタスクがありません', + kanban_no_data: 'カンバンデータがありません', + kanban_unavailable: 'カンバンを利用できません', + kanban_read_only: '読み取り専用', + kanban_empty: '空', + kanban_task: 'タスク', + kanban_no_description: '説明なし', + kanban_refresh: '更新', + kanban_status_triage: 'トリアージ', + kanban_status_todo: 'ToDo', + kanban_status_ready: '準備完了', + kanban_status_running: '実行中', + kanban_status_blocked: 'ブロック中', + kanban_status_done: '完了', + kanban_comments_count: 'コメント ({0})', + kanban_events_count: 'イベント ({0})', + kanban_links: 'リンク', + kanban_parents: '親', + kanban_children: '子', + kanban_runs_count: '実行 ({0})', + kanban_no_comments: 'コメントなし', + kanban_no_events: 'イベントなし', + kanban_no_runs: '実行なし', + kanban_new_task: '新規タスク', + kanban_add_comment: 'コメント追加', + kanban_only_mine: '自分のみ', + kanban_bulk_action: '一括操作', + kanban_nudge_dispatcher: 'ディスパッチャーに催促', + kanban_stats: '統計', + kanban_worker_log: 'ワーカーログ', + kanban_block: 'ブロック', + kanban_unblock: 'ブロック解除', + kanban_back_to_board: 'ボードに戻る', + kanban_lanes_by_profile: 'プロファイル別レーン', + kanban_new_board: '新規ボード…', + kanban_rename_board: '現在のボード名を変更…', + kanban_archive_board: '現在のボードをアーカイブ…', + kanban_archive_board_confirm: 'ボード "{name}" をアーカイブしますか? タスクはディスク上に残り、kanban/boards/_archived/ から復元できます。', + kanban_board_archived: 'ボードをアーカイブしました', + kanban_board_name: '名前', + kanban_board_slug: 'スラッグ (小文字・ハイフン)', + kanban_board_description: '説明 (任意)', + kanban_board_icon: 'アイコン (絵文字、任意)', + kanban_board_color: '色 (任意)', + kanban_board_name_required: '名前は必須です', + kanban_board_slug_required: 'スラッグは必須です', + kanban_card_start: '開始', + kanban_card_complete: '完了', + kanban_card_archive: 'アーカイブ', + kanban_unassigned: '未割り当て', + kanban_status_archived: 'アーカイブ済み', tab_todos: 'ToDo', tab_insights: 'インサイト', tab_dashboard: 'Hermes ダッシュボード', dashboard_loopback_warning: 'ダッシュボードはサーバー上のループバック専用です。サーバー上で閲覧するか、--host 0.0.0.0(安全ではありません)で再起動してください。', - tab_logs: 'Logs', + tab_logs: 'ログ', tab_settings: '設定', new_conversation: '新しい会話', filter_conversations: '会話を絞り込み...', @@ -1582,19 +1582,19 @@ const LOCALES = { personal_memory: '個人メモリ', current_task_list: '現在のタスクリスト', // Logs - logs_title: 'Logs', // TODO: translate - logs_file: 'File', // TODO: translate - logs_tail: 'Tail', // TODO: translate - logs_auto_refresh: 'Auto-refresh (5s)', // TODO: translate - logs_wrap: 'Wrap lines', // TODO: translate - logs_copy_all: 'Copy all', // TODO: translate - logs_empty: 'No log lines yet.', // TODO: translate - logs_loading: 'Loading logs…', // TODO: translate - logs_load_failed: 'Logs failed to load', // TODO: translate - logs_status_idle: 'Choose a log file to view recent lines.', // TODO: translate - logs_no_mtime: 'not written yet', // TODO: translate - logs_truncated_hint: 'Showing the tail of a large log file; older bytes were skipped to keep memory bounded.', // TODO: translate - logs_copied: 'Logs copied', // TODO: translate + logs_title: 'ログ', + logs_file: 'ファイル', + logs_tail: '末尾', + logs_auto_refresh: '自動更新 (5秒)', + logs_wrap: '行を折り返す', + logs_copy_all: 'すべてコピー', + logs_empty: 'ログはまだありません。', + logs_loading: 'ログを読み込み中…', + logs_load_failed: 'ログの読み込みに失敗しました', + logs_status_idle: 'ログファイルを選択すると最近の行を表示します。', + logs_no_mtime: '未書き込み', + logs_truncated_hint: '大きなログファイルの末尾を表示しています。メモリ使用量を抑えるため、古いデータは省略されました。', + logs_copied: 'ログをコピーしました', // Insights insights_title: '使用状況分析', @@ -1760,9 +1760,9 @@ const LOCALES = { provider_category_specialized: '専門用途', onboarding_api_key_label: 'APIキー', onboarding_api_key_placeholder: '空欄で既存の保存済みキーを維持', - onboarding_api_key_label_optional: 'API key (optional)', // TODO: translate - onboarding_api_key_placeholder_optional: 'Leave blank for keyless servers', // TODO: translate - onboarding_api_key_help_keyless: 'Most LM Studio / Ollama / vLLM installs run keyless — leave this blank if your server doesn\'t require authentication. Use the Test connection button to verify.', // TODO: translate + onboarding_api_key_label_optional: 'APIキー (任意)', + onboarding_api_key_placeholder_optional: 'キー不要のサーバーの場合は空欄にしてください', + onboarding_api_key_help_keyless: 'LM Studio / Ollama / vLLM の多くはキーなしで動作します。認証が不要なサーバーの場合は空欄にしてください。『接続テスト』で確認できます。', onboarding_api_key_help_prefix: 'Hermes の .env ファイルにシークレットとして保存されます — 使用変数:', onboarding_base_url_label: 'ベース URL', onboarding_base_url_placeholder: 'https://your-endpoint.example/v1', @@ -1788,19 +1788,19 @@ const LOCALES = { onboarding_error_choose_model: '続行する前にモデルを選択してください。', onboarding_error_provider_required: '続行する前にセットアップモードを選択してください。', onboarding_error_base_url_required: 'カスタムエンドポイントにはベース URL が必要です。', - onboarding_probe_test_button: 'Test connection', // TODO: translate - onboarding_probe_probing: 'Testing connection…', // TODO: translate - onboarding_probe_ok: 'Connected. {n} model(s) available.', // TODO: translate - onboarding_probe_error_generic: 'Could not reach the configured base URL.', // TODO: translate - onboarding_probe_error_invalid_url: 'Base URL must start with http:// or https://.', // TODO: translate - onboarding_probe_error_dns: 'Could not resolve the host. Check the URL or use the host\'s IP address.', // TODO: translate - onboarding_probe_error_connect_refused: 'Connection refused — the server may not be running on that address. From inside Docker, try the host IP instead of localhost.', // TODO: translate - onboarding_probe_error_timeout: 'The endpoint did not respond in time. Check that the server is running and the URL is correct.', // TODO: translate - onboarding_probe_error_http_4xx: 'The endpoint returned a client error. Check authentication and the URL path (typically ends in /v1).', // TODO: translate - onboarding_probe_error_http_5xx: 'The endpoint returned a server error. Check the LM Studio / Ollama server logs.', // TODO: translate - onboarding_probe_error_parse: 'The endpoint did not return a model list in the expected shape. Verify the URL points to the OpenAI-compatible API root.', // TODO: translate - onboarding_probe_error_unreachable: 'Could not reach the configured base URL.', // TODO: translate - onboarding_error_probe_failed: 'Could not validate the configured base URL.', // TODO: translate + onboarding_probe_test_button: '接続テスト', + onboarding_probe_probing: '接続をテスト中…', + onboarding_probe_ok: '接続成功。{n} 個のモデルが利用可能です。', + onboarding_probe_error_generic: '設定されたベース URL に到達できません。', + onboarding_probe_error_invalid_url: 'ベース URL は http:// または https:// で始まる必要があります。', + onboarding_probe_error_dns: 'ホストを名前解決できませんでした。URL を確認するか、ホストの IP アドレスを使用してください。', + onboarding_probe_error_connect_refused: '接続が拒否されました。サーバーが起動していない可能性があります。Docker 内からは localhost ではなくホスト IP を試してください。', + onboarding_probe_error_timeout: '時間内に応答がありません。サーバーが起動しているか、URL が正しいか確認してください。', + onboarding_probe_error_http_4xx: 'クライアントエラーが返されました。認証設定と URL パス (通常は /v1) を確認してください。', + onboarding_probe_error_http_5xx: 'サーバーエラーが返されました。LM Studio / Ollama のログを確認してください。', + onboarding_probe_error_parse: 'モデル一覧が期待する形式で返されませんでした。URL が OpenAI 互換 API のルートを指しているか確認してください。', + onboarding_probe_error_unreachable: '設定されたベース URL に到達できません。', + onboarding_error_probe_failed: 'ベース URL を検証できませんでした。', onboarding_error_workspace_required: 'ワークスペースは必須です。', onboarding_error_model_required: 'モデルは必須です。', onboarding_complete: 'オンボーディング完了',